Panel de Tecnología y soluciones informáticas
Buscar:
Preparando un entorno Pentesting

Introducción al pentesting

En este laboratorio, tenemos como objetivo explorar las herramientas que se suelen utilizar en cada una de las fases de pentesting.

Si no las recuerdas te las dejamos a continuación:

Hoy en día existen muchos kits de herramientas de pruebas de penetración de código abierto y están diseñados para reducir su trabajo. En el pasado, realizar una prueba de penetración significaba que cada pentester creaba un conjunto de herramientas que prefería usar, las mantenía actualizadas manualmente, conservaba copias maestras en caso de corrupción y tenía que investigar manualmente cómo integrar nuevas herramientas a medida que se actualizaban e integraban. Aquí era donde se gastaba una gran parte del tiempo del pentester en lugar de dedicarse al trabajo “real” de probar la seguridad de un cliente. Por lo general, esto no se consideraba tiempo facturable y era un verdadero desafío.

La primera decisión: Sistema operativo a utilizar.

La siguiente decisión que debes tomar es el tipo de sistema operativo que te gustaría usar. Hay una serie de herramientas de prueba de penetración que están diseñadas para ejecutarse en Windows, pero generalmente hay más herramientas disponibles en la plataforma GNU/Linux. El desafío aquí es determinar qué distribución de GNU/Linux para usar, ya que hay una gran variedad para elegir.

Algunos ejemplos de distribuciones populares de Linux son:

  • Ubuntu
  • Debian
  • Kali Linux
  • Parrot Linux
  • Arch Linux
  • ….

Para este curso, vamos a utilizar y recomendamos que se use el sistema operativo de Kali Linux por varias razones: está basado en Debian, hay mucha documentación y sobre todo, ya viene con todas las herramientas que abordaremos en este curso.

Pero si tienes pasión por otra distribución como Debian, Parrot, eres libre de hacerlo, mientras tenga las herramientas que utilizaremos será más que suficiente. Y no prestes mucha atención a la interfaz gráfica, en definitiva en lo menos que usarás.

Nosotros te recomendamos que utilices Kali, disponible en esta URL: https://www.kali.org/get-kali/

La segunda decisión: virtual o real

Lo siguiente que debemos tener claro, si vamos a trabajar con una máquina por ejemplo KALI de forma virtual o real, es decir instalada en nuestro ordenador. Si nos vamos a dedicar al pentesting tendremos que usar portátiles, ya que nos deberemos de mover de un sitio a otro. Por lo que debemos de ir pensando en que si no es dedicado, tendremos que compartir el disco duro con un arranque DUAL. Por lo que te guste o no en la práctica muchas veces no estarás usando el GNU/Linux, y estarás sacrificando parte de tu disco duro.

Nuestra recomendación es al menos 100 GB de disco duro, y al menos 8 GB de RAM.

Ahora tómate tu tiempo y piensa si lo vas a querer virtual o real.

Si lo quieres virtualizar puedes hacerlo con varias plataformas de virtualización. Aquí te dejamos dos opciones:

1. Instalar Oracle VM VirtualBox

Paso 1: Ve a la página de Oracle VM VirtualBox (https://www.virtualbox.org/wiki/Downloads) y haz clic en el botón ‘Descargar Oracle VM VirtualBox‘ para descargar el instalador.

Paso 2: Abre el archivo de instalación .exe de tu carpeta de descargas y haz clic en Next para iniciar la instalación.

Paso 3: Selecciona los componentes que quieres instalar y haz clic en Next para instalar el software en la ubicación predeterminada. También puedes cambiar la carpeta de destino.

Paso 4: Elige qué atajos quieres crear y haz clic en Next.

Paso 5: Haz clic en Yes para continuar.

Paso 6: Haz clic en Install para iniciar la instalación.

Paso 7: Haz clic en Install cuando se te pida. Al hacerlo, VirtualBox comenzará a instalarse en tu ordenador.

Paso 8: Una vez finalizada la instalación, marca la casilla para lanzar el programa y haz clic en Finish.

El programa está instalado y listo para usar.

2. Instalar una máquina virtual

Si prefieres instalar GNU/Linux en una máquina virtual a través de Virtualbox en lugar de VMware, puedes seguir los siguientes pasos.

Paso 1: Tener instalado Virtualbox.

Paso 2: Abre Virtualbox y haz clic en New para crear una nueva máquina virtual.

Paso 3: Da un nombre a la máquina virtual y selecciona en qué carpeta se almacenará.

Paso 4: Selecciona la cantidad de memoria RAM de la máquina virtual.

Paso 5: Elige qué disco se añadirá a la máquina virtual. Por defecto se optará por crear un nuevo disco virtual.

Paso 6: Elige el tipo de archivo del disco virtual. Por defecto se recomienda trabajar con VDI (Virtualbox Disk Image).

Paso 7: Selecciona cómo se asigna el disco virtual.

Paso 8: Determina el tamaño del disco.

Paso 9: Haz clic en Settings.

Paso 10: Haz clic en Storage > Empty disk. Haz clic en el icono del disco y luego en ‘Choose a disk file‘.

A continuación, selecciona el archivo ISO que descargaste en el primer paso.

Paso 11: Haz doble clic en la máquina virtual para iniciarla

Paso 12: Ya puedes empezar a instalar tu GNU/Linux virtual.

Cómo instalar VMware Workstation Pro

Paso 1: Ve a la Web de VMWare (https://www.vmware.com/es/products/workstation-pro/workstation-pro-evaluation.html)  y descarga un “trial” (recuerda que esta herramienta es de pago).

Paso2: Abre el archivo de instalación de VMware Workstation Pro.

Paso 3: Haz clic en Next.

Paso 4: Acepta el acuerdo de licencia.

Paso 5: Elige la ubicación deseada para la instalación y haz clic en Next.

Paso 6: Marca las opciones si lo deseas y haz clic en Next.

Paso 7: Haz clic en Next.

Paso 8: Haz clic en Install. La duración de la instalación depende de la potencia de tu ordenador.

Paso 9: Haz clic en License para añadir tu licencia.

Paso 10: Si no tienes la licencia y quieres probarlo, puedes darle a “Skip” y finalmente a “Install

El software está listo para usar.

Creando una máquina virtual en VMWare Pro.

Paso 1: Abre VMware Workstation y haz clic en File > New Virtual Machine

Paso 2: Se abre una nueva ventana. Selecciona la configuración deseada:

Elige Custom (advanced) si quieres modificar algunos aspectos.

Elige Typical (recommended) si no quieres modificar nada.

Paso 3: Selecciona el sistema operativo que se instalará en la máquina virtual. Selecciona Microsoft Windows y elige la versión correcta.

Paso 4: Elige un nombre para tu máquina virtual y la ubicación donde se almacenarán los datos.

Paso 5: Determina el tamaño de tu disco y selecciona cómo el disco virtual almacenará los archivos (en un solo archivo o en varios archivos).

Paso 6: Revisa todos los ajustes y haz clic en Finish para completar la configuración.

Paso 8: Haz clic en la máquina virtual que acabas de crear y luego haz clic en ‘Power on this virtual machine‘.

Paso 9: Ahora puedes editar la configuración e indicarle en la unidad de CDROM la que utilice la imagen ISO de Kali o del sistema qui hayas elegido para empezar la instalación.

PENTESTING

¿QUÉ ES UN PENTEST?

Introducción

Una prueba de penetración o pentest es un ataque simulado y autorizado contra un sistema informático con el objetivo de evaluar la seguridad del sistema. Durante la prueba, se identifican las vulnerabilidades presentes en el sistema y se explotan tal como haría un atacante con fines maliciosos. Esto permite al pentester realizar una evaluación de riesgos en la actividad comercial del cliente basándose en los resultados de la prueba y sugerir un plan de medidas correctivas.

TIPOS DE PENTEST. Principalmente, existen dos tipos de pentest que se clasifican según el rol que adopta el pentester durante la prueba de penetración:

  • Auditoria Externa (Covert pentest) La auditoría externa, o de caja negra, pretende valorar el grado de seguridad de la red externa de una empresa. En este enfoque el pentester asume el rol de un atacante externo, que sin ninguna información previa, puede obtener algún beneficio de la organización, o incluso, acceso a información sensible que comprometa la privacidad de la empresa. De esta manera, se pone a prueba el estado de las barreras de seguridad que dispone la empresa entre internet y su red corporativa.
  • Auditoria interna (Overt pentest) La auditoría interna pretende evaluar la seguridad del entorno privado de la empresa u organización. En esta auditoría, el pentester asume el rol de un atacante que dispone de acceso a la red interna de la empresa. La auditoría interna puede ser de caja blanca o caja gris en función de los permisos que se tengan. En una auditoría de caja blanca, el pentester recibe gran cantidad de información del sistema que va a auditar como puede ser la topología de red, rangos de IP, sistemas operativos, etc. Lo que se pretende es ahorrarle la fase de recolección de información y facilitarle en gran medida la tarea de intrusión para ver si, incluso de esta forma, es capaz de encontrar vulnerabilidades en el sistema.
    Por otra parte, en la auditoria de caja gris, se combinan los enfoques de caja blanca y caja negra. De esta forma, el pentester asume un rol de usuario sin privilegios dentro de la organización y la cantidad de información que recibe es meramente orientativa. Por último, es pertinente, establecer que existen otras clases de auditoria diferenciadas por el ámbito en el que se aplican. Por ejemplo, la auditoria Wireless (que es un tipo de auditoria interna) y la auditoria WEB tipo de auditoría externa por lo general.

CONTEXTO:

Para comprender el contexto en el que se desarrolla este tipo de actividad se debe echar un vistazo a la historia del hacking ético. La historia del hacking ético es la historia del hacking. A principios de la década de los sesenta, mayormente en el MIT (Massachusetts Institute of Technology), comenzó a desarrollarse la cultura “hacker”. Esta fue también la época donde se datan las primeras discusiones lideradas por expertos sobre penetración en computadoras y pruebas deliberadas realizadas por profesionales. En aquel entonces, el termino hacking tenía el significado de encontrar diferentes formas de optimizar sistemas y máquinas para hacerlos funcionar de manera más eficiente. La influencia de la cultura hacker comenzó un gran periodo de expansión a partir del año 1969, año de creación de ARPANET.
ARPANET fue la primera red intercontinental de alta velocidad. Fue construida por el departamento de defensa estadounidense como un experimento de comunicaciones digitales, pero creció hasta interconectar a cientos de universidades, contratistas de defensa y centros de investigación. Permitió a investigadores de todas partes intercambiar información con una rapidez y flexibilidad sin precedentes, dando un gran impulso a la colaboración y aumentando enormemente el ritmo y la intensidad de los avances tecnológicos.

Pero ARPANET hizo algo más. Sus autopistas electrónicas reunieron a hackers de todo Estados Unidos en una masa crítica: en lugar de permanecer en pequeños grupos aislados desarrollando efímeras culturas locales, se descubrieron a sí mismos como una tribu interconectada. Fue durante la década de 1970 cuando las aguas comenzaron a enturbiarse. Con la creciente popularidad de las computadoras, las personas que entendían los sistemas y los lenguajes de programación comenzaban a ver las posibilidades de probar esos sistemas para comprender sus capacidades. Este también fue el momento en que phreaking1 comenzó a ganar notoriedad. Los phreakers comenzaron a comprender la naturaleza de las redes telefónicas y comenzaron a usar dispositivos que imitaban los tonos de marcación para enrutar sus propias llamadas, lo que les permitía realizar llamadas gratuitas, específicamente, llamadas de larga distancia muy costosas. Podría decirse que esta fue una de las primeras veces que el hacking fue utilizado con fines ilegales por un gran número de personas. Simultáneamente, los gobiernos y las empresas comenzaron a ver el beneficio de contar con expertos técnicos que buscan activamente las debilidades de un sistema para ellos, lo que les permite resolver esos problemas antes de que puedan ser explotados. Estos eran conocidos como “equipos de tigres” y el gobierno estadounidense estaba especialmente interesado en usarlos para reforzar sus defensas.

Esto deriva en la formación del primer “equipo tigre” en 1971, el cual es contratado por la USAF (United States Air Force) para probar los sistemas de tiempo compartido y en 1974 lleva a cabo uno de los primeros hacks éticos para probar la seguridad del sistema operativo Multics. A principios de la década de los 80, el término hacker comenzó a asociarse casi exclusivamente con la actividad delictiva. La increíble popularidad de la computadora personal como herramienta para empresas e individuos significó que muchos datos y detalles importantes ahora se almacenan no en forma física, sino en programas de computadora. Los hackers comenzaron a ver las posibilidades de robar información que luego podría venderse o utilizarse para defraudar a las empresas.

El hacking estaba ganando un perfil negativo en los medios. Los hackers eran vistos como delincuentes, intrusos digitales, que usaban sus habilidades para acceder a computadoras privadas, robar datos e incluso chantajear a las empresas para que les entregaran grandes sumas de dinero. Este tipo de hackers son los nombrados hoy como black hat hackers, están puramente interesados en utilizar sus habilidades para fines maliciosos y, a menudo, están conectados a una variedad de actividades delictivas diferentes. Por otra parte, se distingue otro tipo de hacker: los white hat hackers que hacen práctica del hacking ético. Esto es, la aplicación de las mismas técnicas que utilizan los black hat hackers para romper las defensas cibernéticas. La diferencia es que cuando un white hat hacker ha puesto en peligro esas defensas, informan al negocio de cómo lograron hacerlo para que la vulnerabilidad pueda corregirse.

Finalmente, existe un tercer tipo de hacker denominado grey hat hack, el cual se caracteriza por violar la ley o la ética hacker algunas veces, pero siempre actuando sin un fin malicioso. En 1983 se produce el primer arresto de hackers por el FBI después de que invadieran el centro de investigación de Los Álamos. Un año después, en 1984, Fred Cohen crea el primer virus para PC y surge un nuevo término: ‘virus informático’. Ese mismo año, Steven Levy publicó el libro titulado Hackers: heroes of the computer revolution, en donde se plantea por primera vez la idea de la ética hacker, y donde se proclama y se promueve una ética de libre acceso a la información y al código fuente del software. Phreaking se refiere a la práctica de manipular sistemas de telecomunicaciones. No fue sino hasta 1986 que el gobierno de los Estados Unidos se dio cuenta del peligro que representaban los hackers para la seguridad nacional.

Como una forma de contrarrestar esta amenaza, el Congreso aprobó la Ley de Fraude y Abuso de Computadoras, convirtiendo el acceso ilícito a computadoras en un crimen en todo el país. En los años posteriores se sucedieron una serie de delitos que corroboraron la importancia de esta ley para cubrir el ordenamiento jurídico aplicable a este tipo de delitos.

En 1987 Herbert Zinn, con una edad de 17 años, es arrestado después de entrar en el sistema de AT&T. Los expertos afirman que estuvo a punto de bloquear todo el sistema telefónico norteamericano. Un año más tarde, en 1988, Robert Morris crea un gusano de Internet que infecta el 10% de los ordenadores de todo internet. Erradicarlo costó casi un millón de dólares, y produjo pérdidas estimadas las pérdidas totales en 96 millones de dólares. Ese mismo año aparece el primer software antivirus, escrito por un desarrollador de Indonesia. En 1889 Robert Morris se convierte en el primer encarcelado bajo la ley de fraude y abuso de computadoras. A continuación se deja el código del gusano Morris.

Durante la década de 1990, cuando el uso de Internet se extendió por todo el mundo, los piratas informáticos se multiplicaron, pero no fue sino hasta el final de la década que la seguridad del sistema se convirtió en la corriente principal entre el público. Uno de los delitos más importantes de la década ocurrió en 1994, cuando Vladimir Levin hackeó el Citibank y robó 10 millones de dólares. En 1995 Dan Farmer y Wietse Venema presentan SATAN, un escáner automático de vulnerabilidades, que se convierte en una popular herramienta de hacking. Ese mismo año, en 1995 el término “hacking ético” fue acuñado por el vicepresidente de IBM, John Patrick. A finales de la década de los 90, en 1999 la seguridad del software toma más importancia aún con el lanzamiento de Windows 98 de Microsoft. 1999 se convierte en un año excepcional para la seguridad (y la piratería). Los años posteriores hasta la actualidad se caracterizan por la continuidad de los ciberdelitos y un gran crecimiento en su escala, el desarrollo de la industria de las auditorias de seguridad y el desarrollo de la legislación para combatir el cibercrimen. Los delitos de cibercrimen afectan particulares y empresas de todos los tamaños. En los últimos años han ocurrido números hacks de alto perfil en enormes compañías como eBay y Sony, provocando cuantiosas pérdidas entre las empresas afectadas. El impacto económico de todos estos cibercrímenes es reflejado por informe oficial anual sobre cibercrimen de 2021, por Cybersecurity Ventures. Según el informe el cibercrimen tendrá un coste en daños de 6 trillones de dólares anuales en 2021, 3 trillones más que en 2015.

Respecto a la industria de las auditorias de seguridad, esta ha sufrido un proceso de profesionalización gracias desarrollo de estándares para realizar pruebas de penetración (con la publicación de la primera guía de pruebas OWASP en 2003 y la fundación del PTES en 2009) y el creciente número de cursos de formación en la materia. También se observa el desarrollo de la industria en términos económicos, llegando a un gasto mundial en seguridad empresarial que alcanzó los 71.1 billones de dólares en 2014.

CONCEPTOS, TÉCNICAS Y METODOLOGÍA.

FASES DE UN PENTEST. El desarrollo de este apartado se basa en las directrices, contenidos y estructuras presentes en el estándar PTES (Penetration Testing Execution Standard) ampliando sus contenidos con Pentesting con Kali 2.0. Una prueba de penetración se compone de las siguientes fases:

  • Interacciones previas al compromiso.
  • Recolección de información.
  • Modelado de amenazas.
  • Análisis de vulnerabilidades.
  • Explotación.
  • Post-explotación.
  • Reporte.

A continuación, se detalla cada una de estas fases.

INTERACIONES PREVIAS AL COMPROMISO.
Esta primera fase del pentest define la planificación y las interacciones entre el pentester y el cliente antes de realizar las pruebas. Una mala realización de las actividades previas al compromiso puede suponer problemas como scope creep2 , clientes insatisfechos o incluso problemas legales. El pentest debe estar orientado al cumplimiento de una meta. Esto quiere decir que el objetivo de la prueba es identificar las vulnerabilidades específicas que conducen al compromiso de los objetivos comerciales del cliente. Antes de comenzar una prueba de penetración es beneficioso determinar el nivel de madurez de la postura de seguridad del cliente. De esta manera, en el caso de clientes con un programa de seguridad muy inmaduro, suele ser una buena idea realizar inicialmente un análisis de vulnerabilidades. También se ha de establecer, primeramente, con el cliente, qué información sobre los sistemas proporcionará. Por ejemplo, puede ser útil solicitar información sobre vulnerabilidades que ya están documentadas. Esto ahorrará tiempo a los pentesters y ahorrará dinero al cliente al evitar la realización de algunas pruebas. De esta manera, una prueba de caja blanca o gris puede brindar al cliente más valor que una prueba de caja negra, si los requerimientos del pentest no lo exigen.

DEFINICIÓN DEL ALCANCE.
El alcance del pentest define específicamente que se probará. Para ello, se realiza la reunión de alcance (Scoping Meeting), que tiene como objetivo discutir lo que será probado con el cliente. Normalmente, la reunión tiene lugar una vez firmado el contrato, pero hay situaciones en las que muchos de los temas relacionados con el alcance pueden discutirse antes de la firma del contrato. Para esas situaciones, se recomienda que se firme un acuerdo de confidencialidad previamente. Las reglas del compromiso y costes no son tratados en esta reunión. Cada uno de estos temas debe manejarse en reuniones donde cada tema es el foco de esa reunión. Todo lo que no esté explícitamente cubierto dentro del alcance del pentest debe manejarse con mucho cuidado. La primera razón para esto es el scope creep. Cualquier solicitud fuera del alcance original debe documentarse en forma de una declaración de trabajo que identifique claramente el trabajo a realizar. Por otra parte, es recomendable claramente en el contrato que el trabajo adicional se realizará por una tarifa plana por hora y se establezca explícitamente que el 2 Scope creep: (cambios no controlados en el alcance de un proyecto) es uno de los problemas más peligrosos para una firma de pentest, llegando a provocar el cierre de la firma. Scope creep puede dar lugar a que el equipo que realiza el pentest exceda el presupuesto y cronograma del pentest aumentando el número de tareas a realizar por el mismo coste. 9 trabajo adicional no puede completarse hasta que se haya establecido un SOW (Statement Of Work) firmado. Cuestionarios. Durante las comunicaciones iniciales con el cliente, hay varias preguntas que el cliente tendrá que responder para que el alcance pueda ser bien definido. Estas preguntas están diseñadas para proporcionar una mejor comprensión de lo que el cliente busca obtener de la prueba de penetración. Dependiendo del ámbito del pentest, los cuestionarios presentados al cliente pueden variar. A modo de ejemplo se presenta un cuestionario de pentest de aplicación web:

  1. ¿Cuántas aplicaciones web se están evaluando?
  2. ¿Cuántos sistemas de inicio de sesión se están evaluando?
  3. ¿Cuántas páginas estáticas se están evaluando? (aproximado)
  4. ¿Cuántas páginas dinámicas se están evaluando? (aproximado)
  5. ¿El código fuente estará disponible?
  6. ¿Habrá algún tipo de documentación? En caso afirmativo, ¿qué tipo de documentación?
  7. ¿Se realizará el análisis estático en esta aplicación?
  8. ¿El cliente quiere que se realice un proceso de fuzzing en esta aplicación?
  9. ¿El cliente desea realizar pruebas basadas en roles contra esta aplicación?
  10. ¿El cliente desea que se realicen escaneos con credenciales? Estimación del tiempo.

En la definición del alcance es importante fijar una fecha límite para la finalización del pentest para mitigar riesgos. La capacidad de estimar, de manera precisa, el tiempo de las pruebas está directamente relacionada con la experiencia del pentester.

En caso de duda, el pentester puede acudir a los registros de pruebas similares realizadas por su firma para estimar el tiempo requerido. Una vez determinado el tiempo para la prueba, es una práctica prudente agregar un 20% al tiempo estimado previniendo posibles complicaciones. Si el 20 % extra de tiempo acaba siendo innecesario depende del pentester aportar valor añadido a la prueba durante ese tiempo. Especificar entornos dentro del alcance. Una vez establecido el orden aproximado de magnitud del proyecto, es hora de tener una reunión con el cliente para validar los supuestos. En primer lugar, se deben identificar todos los objetivos.

Los objetivos se pueden proporcionar en forma de direcciones IP específicas, rangos de red o nombres de dominio. En algunos casos, el único objetivo que brinda el cliente es el nombre de la organización y espera que los pentesters puedan identificar el resto por sí mismos, sin embargo, los posibles problemas legales deben considerarse por encima de todo. Debido a esto, es responsabilidad del pentester transmitirle al cliente estas inquietudes.

Por ejemplo, en la reunión, se debe verificar que el cliente posea todos los entornos de destino (servidor DNS, el servidor de correo electrónico, el hardware real en el que se ejecutan sus servidores web, etcétera). Además, deben identificarse los países, provincias y estados en los que operan los entornos objetivo. Esto se debe a que las leyes varían de una región a otra y las pruebas pueden verse afectadas por estas. También es importante definir si los sistemas como firewalls y IDS / IPS o equipos de red, que se encuentran entre el pentester y el objetivo final, también forman parte del alcance. Finalmente, Deben identificarse y definirse los servicios proporcionados por terceros, de manera que se verifique si se encuentran dentro del alcance o no. En caso afirmativo, deben conseguirse los permisos necesarios para actuar sobre estos servicios.

COMUNICACIÓN.
Uno de los aspectos más importantes de cualquier prueba de penetración es la comunicación con el cliente. La regularidad de los reportes y las formas de comunicarse con el cliente afecta de forma considerable a su grado de satisfacción. 10 Información de contacto de emergencia. Un aspecto vital es poder ponerse en contacto con el cliente durante una emergencia para ser capaz de gestionarla. Para ello es útil una lista de contactos de emergencia.

Esta lista debe incluir información de contacto de todas las partes implicadas en el alcance de las pruebas. Una vez creada, debe compartirse con todos los que están en la lista. Respuesta a incidentes. El National Institute of Standards and Technology (NIST) define un incidente como: “una violación o amenaza inminente de violación de las políticas de seguridad informática, políticas de uso aceptable o prácticas estándar de seguridad”. Antes de un compromiso, es importante hablar sobre las capacidades de respuesta a incidentes de la organización por varias razones.

En parte, una prueba de penetración está destinada a probar las capacidades de respuesta a incidentes de la organización. Esto quiere decir que, si se puede completar el pentest sin alertar a los equipos de seguridad interna, se ha identificado una brecha importante en la postura de seguridad del cliente. Por otra parte, es importante asegurarse, antes de comenzar las pruebas, que alguien en la organización objetivo sepa cuándo cuando van a realizarse. De esta manera, el equipo de respuesta a incidentes no empezará a llamar a todos los miembros de la alta gerencia, en mitad de la noche, pensando que la organización ha sido comprometida. Informes. Se debe determinar la frecuencia y el cronograma de informes de estado para mantener al cliente informado e involucrado. Por otra parte, debido a la naturaleza sensible del compromiso, las comunicaciones de información confidencial deben estar encriptadas, especialmente el informe final. Por tanto, antes de que comience la prueba, debe establecerse un medio de comunicación seguro con el cliente.

REGLAS DEL COMPROMISO.
Mientras alcance define lo que se probará, las reglas del compromiso definen cómo se realizará la prueba. Estos son dos aspectos diferentes que deben manejarse de manera independientemente. Cronograma. Debe establecerse un cronograma claro para el compromiso. Si bien el alcance define el inicio y el final de un compromiso, las reglas de trabajo definen todo lo que está en medio. Tener un cronograma al comienzo de una prueba permitirá a todos los involucrados identificar más claramente el trabajo que a realizar y las personas que serán responsables de dicho trabajo. Además, ver el calendario desglosado de esta manera ayuda a los involucrados a identificar dónde se deben aplicar los recursos y ayuda al cliente a identificar posibles obstáculos durante la realización de las pruebas. Por otra parte, debe entenderse que el cronograma cambiará a medida que avanza la prueba, por lo que es necesario que sea flexible.

Localizaciones. Otro parámetro importante de cualquier compromiso es establecer, antes de tiempo, con el cliente, cualquier destino al que los pentesters deberán viajar durante la prueba. Esto podría ser tan simple como identificar hoteles locales o complejo como identificar las leyes aplicables de un país específico. No es raro que una organización opere en múltiples ubicaciones y algunos sitios tendrán que ser elegidos para la prueba. En estas situaciones, se debe evitar viajar a cada ubicación del 11 cliente, en su lugar, se debe determinar si las conexiones VPN a los sitios están disponibles para pruebas remotas. Confidencialidad de información sensible. Si bien uno de los objetivos de un trabajo determinado puede ser obtener acceso a información confidencial, cierta información no debe verse ni descargarse. Esto es, hay una serie de situaciones en las que los pentesters no deberían tener los datos de destino en su poder.

Por ejemplo, los Personal Health Information (PHI), en conformidad con la ley Health Insurance Portability and Accountability Act (HIPAA), deben estar protegidos. En el caso de nuestra legislación vigente se considerará la Ley Orgánica de Protección de Datos y el nuevo marco legislativo europeo, la General Data Protection Regulation, de aplicación a partir de marzo del 2018.

Sin embargo, si los datos no pueden obtenerse física o virtualmente, ¿cómo puede probarse que los pentesters efectivamente obtuvieron acceso a la información? Este problema se ha resuelto de varias maneras. Por ejemplo, se puede tomar una captura de pantalla del esquema de la base de datos y de los permisos del archivo, o se pueden mostrar los archivos sin abrirlos para mostrar el contenido, siempre que no haya Personally Identifiable Information (PII) visible en los nombres de los archivos. Lo cautelosos que deben ser los pentesters en un compromiso dado es un parámetro que debe discutirse con el cliente, pero la empresa que realiza la prueba siempre debe asegurarse de protegerse en un sentido legal, a pesar de la opinión del cliente.

Además, Independientemente de la supuesta exposición a datos confidenciales, todas las plantillas de informes y las máquinas de prueba se deben sanear lo suficiente después de cada compromiso. Por otra parte, si los probadores descubren datos ilegales (como pornografía infantil), se debe notificar a las autoridades pertinentes y, a continuación, al cliente. Horario de las pruebas. Ciertos clientes requieren que todas las pruebas se realicen fuera del horario comercial. Esto puede significar noches tardías para la mayoría de los probadores.

Por tanto, los requisitos de la hora del día deben estar bien establecidos con el cliente antes de que comience la prueba. Evasión de ataques. Hay momentos en que la evasión es perfectamente aceptable y hay momentos en los que puede no ajustarse a las características de la prueba. Por ejemplo, si se trata de una prueba de caja negra completa donde se está probando no solo la tecnología, sino las capacidades del equipo de seguridad de la organización objetivo, la evasión sería correcta. Sin embargo, cuando se está probando una gran cantidad de sistemas en coordinación con el equipo de seguridad de la organización objetivo, puede que no sea lo mejor para la prueba evitar los ataques. Permisos. Uno de los documentos más importantes que deben obtenerse para una prueba de penetración es el documento de permiso para probar. Este documento establece el alcance y contiene una firma que reconoce el conocimiento de las actividades de los pentesters. Además, debe indicar claramente que las pruebas pueden conducir a la inestabilidad del sistema y que el pentester proporcionará todos los cuidados necesarios para no bloquear los sistemas en el proceso. Sin embargo, dado que las pruebas pueden generar inestabilidad, el cliente no deberá responsabilizar al pentester de la inestabilidad o fallos del sistema. Es fundamental que las pruebas no comiencen hasta que el cliente haya firmado este documento.

Conclusiones:

El pentesting se ha vuelto en una herramienta fundamental para comprobar la seguridad de los sistemas, tal como hemos dicho anteriormente, se ha profesionalizado con metodologías, certificaciones y estándares que garantizan de alguna manera la profundidad de las pruebas a los que someten los sistemas analizados.