domingo, 30 de julio de 2017

Fases de un Test de Intrusión




Buenas! Hoy recojo en esta entrada un resumen de algunas partes de unos libros de 0xWord (que pondré al final de la entrada como referencias) que he leído y de un curso de Introducción al Pentesting en DaragonJar que he realizado. Como disclaimer decir que esta entrada sólo pretende ofrecer información y no pretende favorecer la intrusión sin permiso en sistemas ajenos.
A continuación se expondrán las fases de las que consta un Test de Intrusión o Pentesting (Penetration Testing), es importante hacer constar que el orden importa. De lo contrario, se podría poner en riesgo la propiedad intelectual y privada y/ o el entorno de producción del cliente o incluso producir un incumplimiento del contrato con las correspondientes consecuencias que podrían derivarse de estos hechos.


1. Alcance y términos del Test de Intrusión

Esta es la fase en la que se lleva a cabo la redacción del contrato firmado por las partes que recogerá los objetivos que la Organización pretende alcanzar, así como los límites de dicho Test. De esta forma queda legalmente registrado y se proporcionan las coberturas legales necesarias a las partes. También es común firmar un NDA (documento de confidencialidad) por el que se prohíbe la utlización y divulgación de cualquier información a la que se tenga acceso durante el proceso más allá de lo estrictamente necesario para llevarlo a cabo. Las limitaciones se establecen en función de diferentes criterios como preservar la estabilidad del entorno de producción para no afectar a la actividad productiva de la empresa, preservar información confidencial, etc. Es una fase formal pero muy importante para el proceso, porque en caso de problemas habrá que dirimir responsabilidades y recurrir al contrato firmado.


2. Obtención y recogida de Información

Esta fase está enmarcada en la obtención de la mayor cantidad de información posible de la Organización haciendo uso de entre otras técnicas:

Footprinting: Tiene como fuente de información Internet, de la que se extraerán los futuros objetivos de la Organización. Para ello:

  • Visitar pagina/s de la Compañía, servicio y aplicaciones

  • Búsqueda de enlaces por la utilización de motores de búsqueda,, como Google, Bing, Ficheros robots.txt

  • Listar Dominios y subdominios

  • Descargar los sitios webs de la Organización para poder buscar en ellos enlaces y anotaciones que se hayan podido quedar olvidadas en ellos.

  • Utilizar Dorks (preguntas más concretas a los buscadores utilizando etiquetas y opciones). Mediante el uso de FOCA se pueden automatizar.

  • Buscar versiones anteriores de las páginas web de la Organización mediante el uso de servicios de “archiving”.

  • Estudiar las DNS de la Compañía para obtener información acerca de su navegación, etc. Podríamos intentar llevar a cabo una transferencia de zona, hacer uso de técnicas de Evilgrade.

  • Comprobación de la existencia de lo denominado como Hosting Compartido. Servicios como ServerSniff facilitan esta tarea.

  • Obtener emails de la Organización, en futuras fases podrían servir para llevar a cabo ataques de Phising o una APT. Maltego es de gran ayuda para esta tarea.

  • Llevar a cabo el estudio de metadatos  para intentar obtener nombres de empleados, versiones de software embebidos en archivos, etc. FOCA nos puede ayudar en este menester.

  • Puertos abiertos en las máquinas de la organización mediante el truco de la barra con la intención e intentar descubrir los servicios que se encuentran tras dichos puertos, versiones de so o software, etc.

  • Búsqueda inversa de imágenes

Fingerprinting: es el proceso mediante el cual se recolecta información mediante la interacción directa con los sistemas/ dispositivos de comunicaciones para conocer su configuración y comportamiento. Estas técnicas llevarán a cabo escaneos de puertos para el estudio de puertos abiertos y determinar con qué servicios, versiones etc están relacionados. NMAP es una de las posibles herramientas que podemos usar para estas tareas.


3. Análisis de vulnerabilidades

Tras recolectar la toda la información a la que se haya podido tener acceso mediante la utilización de diferentes técnicas hay que analizar y organizar los resultados. Como resultado de este análisis se obtendrá un listado de objetivos con su información relacionada, co laque se planificará el siguiente paso.
De la información relacionada con los sistemas, servicios y versiones de los mismos se identificarán los métodos de acción con más posibilidades de éxito, creando el mejor el mejor plan de acción para intentar acceder a la información de los sistemas. Para este paso se harán uso de herramientas de escaneado de puertos como por ejemplo NMAP y escaneadores de vulnerabilidades como OPENVAS o NESSUS.


4. Explotación de las vulnerabilidades

Fase en laque en función de la información recabada y disponible, junto con la experiencia del auditor se intenta comprometer la seguridad de la Organización. Para ello se intentan aprovechar las vulnerabilidades descubiertas con anterioridad, haciendo uso de diversas técnicas entre ellas el Exploiting.
El auditor de seguridad debe preservar la estabilidad de los sistemas de información de la Compañía sin comprometer su normal funcionamiento por lo que debe seleccionar muy bien los ataques que va a llevar a cabo así como valorar sus posibles consecuencias. Una de las herramientas más utilizadas a la hora de utilizar exploits es el framework Metasploit.


5. Postexplotación del sistema

Aunque esta etapa no suele formar parte de un proceso de auditoría ya que se supone que los accesos a la Organización no se deben hacer persistentes, en el proceso de Hackig Ético y no tan ético es una fase importante. Suponiendo que se hace persistente el acceso a la Organización mediante una máquina controlada, a partir de él se pueden estudiar las posibilidades de pivotar hacia objetivos más importantes dentro de la Organización.


6. Generación de Informes

La última fase y no por ello menos importante, al contrario entre otras cosas porque por los resultados obtenidos es por lo que se paga. Debe recoger la documentación de las acciones y pruebas realizadas así como los resultados y evidencias obtenidos.
El documento final debe contener la descripción de las tareas realizadas, las técnicas y herramientas junto con la valoración de las vulnerabilidades descubiertas y explotadas por las herramientas.
Suele contener dos tipos de informes:
  • Informe Técnico: para los empleados de perfil técnico en el que se expondrán con gran detalle técnico las vulnerabilidades y posibles soluciones.
  • Informe Ejecutivo: se harán referencias a las vulnerabilidades descubiertas sin detalles técnicos y se expondrán los riesgos para la Organización derivados de dichas vulnerabilidades. Debe contener algunas recomendaciones de bajo nivel técnico para intentar solucionarlas.
En ocasiones los clientes solicitan además de los anteriores el documento en un formato que permita una gestión más fácil y eficiente de las vulnerabilidades reportadas.

Como siempre te invito a que comentes la entrada y la mejoremos juntos. ¡Nos leemos en la próxima!


Referencias
-Ethical Hacking, Teoría y práctica para la realización de un pentesting, 0xWord de Pablo González Pérez
-Pentesting con Kali, 0xWord de Pablo González Pérez, Germán Sánchez Garcés, José Miguel Soriano de la Cámara

No hay comentarios:

Publicar un comentario

Radar COVID

Tras largo tiempo sin publicar una entrada en el Blog, me he animado a escribir acerca de una App que podría llegar a ser muy útil en el con...