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