¿Qué es un pentester? - Parte 2
En la primera parte aprendimos qué es un pentester, qué hace, los niveles de acceso a la información con la que trabaja, las tecnologías asociadas y los pentests que se realizan con redes internas y externas, entre otros detalles interesantes de esta labor.
Ok, pero ¿cómo ejecutar un Pentest?
Este tema trata sobre cómo se lleva a cabo un análisis de seguridad y es importante tener en cuenta que, la mayoría de las veces, solo se consideran unos pocos pasos, según cómo se llevó a cabo el contrato de Pentest y el tipo de análisis. Un ejemplo es cuando se tiene un alcance muy pequeño, que no se ajusta al reconocimiento, otro es el fracaso de una exploración, impidiendo la Post-Exploración y el Movimiento Lateral.
Reconocimiento
La primera etapa de un Pentest consiste en enumerar el entorno, con el objetivo de obtener la mayor cantidad de información que pueda servir de entrada para el análisis de vulnerabilidades, incluyendo solicitudes realizadas por aplicaciones, envío de datos a servidores, versiones de aplicaciones y sistemas, y otra información que se puede obtener utilizando diversas herramientas o técnicas manuales.
Este paso se divide en dos partes:
Reconocimiento activo
Consiste en identificar las tecnologías y versiones de los servicios y software utilizados en el sistema a través de la interacción directa con ellos y verificar si dichas tecnologías tienen o no vulnerabilidades conocidas. Las principales herramientas utilizadas son:
● Wafw00f: Herramienta que permite identificar un WAF (Web Application Firewall) que pueda estar protegiendo un sitio web;
● Nmap: herramienta principal de escaneo de puertos y servicios, con múltiples funciones;
● BurpSuite: Una de las herramientas más populares en el campo de la seguridad en general, al ser un proxy extremadamente robusto, cuenta con varias extensiones con las más variadas funcionalidades.
Esta imagen que muestra algunas vulnerabilidades identificadas por BurpSuite Pro:
Reconocimiento Pasivo
Consiste en la búsqueda de información confidencial, como nombres de usuario, claves privadas, credenciales, archivos de configuración y otros datos que se pueden encontrar a través de búsquedas en el sitio web de la organización o en sitios web de terceros, como la filtración de código o la búsqueda de información, como éstos:
● censys.io: recopila información sobre infraestructura, ASN, hosts, puertos y servicios;
● securitytrails.com: busca información sobre los registros históricos de un dominio;
● Amass: herramienta de enumeración de puntos finales y subdominios;
● Trello: herramienta de organización de tareas;
● Pastebin: herramienta para compartir código y texto en general;
● GitHub: plataforma de alojamiento de código fuente con control de versiones mediante Git. Ejemplo:
Análisis de vulnerabilidad
Luego de obtener información en la etapa de reconocimiento, se realiza una búsqueda a lo largo de la cobertura del sistema mapeado para encontrar posibles puntos de exploración. En este proceso, la prueba se realiza tanto de forma manual como con herramientas automatizadas, siendo las principales:
● Nessus: el escáner de vulnerabilidades más famoso y completo del mundo, puede automatizar un proceso de pentest, desde el reconocimiento hasta la generación de informes;
● Nikto: Escáner de vulnerabilidades utilizado en aplicaciones web en busca de archivos comunes, aplicaciones desactualizadas y otras fallas de seguridad comunes;
● Nuclei: Uno de los escáneres más populares, siendo muy flexible y basado en plantillas;
● Nmap+scanner: Nmap también dispone de scripts de exploración de vulnerabilidades para algunos casos que acaban siendo bastante útiles, como la función --script vuln, que identifica si los servicios expuestos son vulnerables, o la función --script http, que captura las versiones del servicio, se filtra a través de los encabezados y también identifica posibles vulnerabilidades.
Exploración
Una vez que se identifica una vulnerabilidad, el objetivo se convierte en explotar las fallas identificadas, en las que se dirigen varios ataques a todas las clases de vulnerabilidad posibles, en un esfuerzo por obtener acceso no autorizado.
Para cada tipo de fallo existe un medio de explotación diferente, la mayoría de los cuales se realizan de forma manual. Sin embargo, existen herramientas automatizadas que ayudan en el proceso, tales como:
● metasploit-framework: El Pentest Framework más utilizado y completo, que contiene numerosos exploits CVE;
● aircrack-ng: un conjunto de herramientas destinadas a ataques Wi-Fi;
● Ettercap: Software para ataques Man-In-The-Middle en LAN;
● Payloads All The Things: El repositorio más completo de payloads y tutoriales para las principales vulnerabilidades Web;
● sqlmap: la herramienta más popular para explotar SQL Injection. Imagen de ejecución en ambiente controlado:
Post-Exploración
Si luego de explotar una vulnerabilidad se obtiene algún acceso especial al sistema, se realiza un mapeo de la red interna buscando la posibilidad de acceder a otras partes del sistema, escalamiento de privilegios y movimiento lateral, que se verá más adelante.
Escalada de privilegios
En todos los escenarios que involucren credenciales, luego de obtener algún tipo de acceso al sistema, la persona Pentester puede explotar fallas o realizar ataques de escalada de privilegios para obtener usuarios con mayores privilegios, como acceso administrativo a un dominio. Para los pentests de Red, existen dos guías de suma importancia:
● Escalada de privilegios en Windows (HackTricks);
● Escalada de privilegios en Linux (HackTricks).
Otro consejo es que, en determinados momentos, este paso puede acabar facilitándose mucho con la ayuda de algunos exploits CVE publicados, como estos famosos exploits Linux Kernel Exploitation:
- Dirty COW (CVE-2016-5195);
- Dirty Pipe (CVE-2022-0847). Ejecución de Dirty Pipe:
Accionamiento o movimiento lateral
El movimiento lateral consiste, como su nombre lo indica, en moverse “lateralmente” entre usuarios o máquinas en un mismo sistema mediante la obtención de credenciales. Gracias a esta técnica, es posible explotar otras máquinas y obtener una mayor cobertura de información para aumentar las posibilidades de obtener una vulnerabilidad de mayor criticidad, como una escalada de privilegios a un usuario administrativo, por ejemplo. El escenario de ejemplo es más común en Network Pentests que contienen AD.
Exfiltración
Con el dominio de la red y acceso administrativo, el foco de la etapa de exfiltración tiene como objetivo la visualización de documentos personales y restringidos de la red interna, los cuales se encuentran ubicados en: Base de Datos, Archivos Compartidos, E-mails, etc.
Informe
Se elabora un informe con una descripción, clasificación y recomendaciones para la mitigación y corrección de cada vulnerabilidad identificada, todo esto con la conclusión del Pentester sobre la madurez de seguridad del sistema probado.
Continuación
El éxito en Pentester Career depende en gran medida de la conexión entre el estudio constante de las nuevas tecnologías de seguridad de la información y el desempeño creativo durante el análisis.
La persona Pentester se encarga tanto de probar y calibrar las condiciones de seguridad como de señalar posibles fallos y puntos mejorables en un determinado entorno de una organización, siendo actividades de enorme relevancia que tienen como objetivo garantizar el pleno y seguro funcionamiento de todos los sistemas. .
Pronto se publicarán más artículos sobre temas como Qué se necesita para comenzar una carrera en Pentester, Certificaciones y Plataformas de estudio.
¡Hasta luego!
Revelo Content Network da la bienvenida a todas las razas, etnias, nacionalidades, credos, géneros, orientaciones, puntos de vista e ideologías, siempre y cuando promuevan la diversidad, la equidad, la inclusión y el crecimiento profesional de los profesionales en tecnología.