Por Viridiana Balanzar, Penetration Testing Specialist
El cliente quería evaluar la seguridad de su red y servicios críticos como su ERP donde vive su operación. Por ello nos contrató un pentest interno de caja gris, el cual se arranca con información limitada del entorno. Solo un punto de conexión a un segmento de red.
Paso 1. Reconocimiento
Al llegar a sitio, nos conectamos a su red e iniciamos con lo básico: reconocimiento de servidores y estaciones de trabajo. Posteriormente identificamos qué servicios estaban disponibles: bases de datos, carpetas compartidas y aplicaciones.
Paso 2. Escaneo de vulnerabilidades de severidad crítica
Después realizamos un escaneo de vulnerabilidades, que detecto varias de severidad crítica. Pero al revisar cada una de ellas, ninguna tenía un exploit público. En la práctica no había una forma de aprovecharlas, algo muy común que ocurre en los pentest.
Paso 3. Análisis del tráfico de red
El siguiente paso fue analizar el tráfico de la red para identificar información confidencial. No tardó en aparecer: después de 5 minutos interceptamos credenciales en texto claro de una base de datos SQL Server.
Paso 4. Acceso a la base de datos
Accedimos a SQL Server con esas credenciales y ejecutamos el comando xp_cmdshell whoami, para ejecutar comandos de sistema operativo desde la base de datos. El resultado confirmó que la cuenta bajo la que corría el servicio tenía privilegios de administrador sobre el servidor. Con esos privilegios, creamos una cuenta de usuario en el sistema operativo y la agregamos al grupo de Administradores locales. Esto nos sirvió para mantener la persistencia en el servidor y como evidencia de compromiso.
Paso 5. Acceso al ERP y a la información de negocio
Con acceso de administrador, iniciamos una sesión RDP y exploramos el servidor a fondo. Encontramos más credenciales en texto claro, esta vez del ERP. Al validarlas, obtuvimos permisos de administrador sobre el sistema.
Paso 6. Reutilización de contraseñas y control del dominio
Como último paso, hicimos un dump de la SAM del servidor, que es la base de datos local de cuentas de Windows, para obtener los hashes de las contraseñas. Con esos hashes aplicamos la técnica pass-the-hash, la cual permite autenticarse en otros sistemas usando directamente el hash, sin conocer la contraseña. Al probar el hash del Administrador local en toda la red, obtuvimos una autenticación válida en un servidor, el controlador de dominio, es decir, el que ejecuta Active Directory. Esto nos indicó que reutilizaban credenciales: la contraseña del Administrador local del servidor comprometido era la misma que la del Administrador de dominio. Esto significa que obtuvimos control total del dominio, sin exploits y sin aprovechar ninguna de las vulnerabilidades arrojadas por el escáner. Es importante resaltar que este caso fue una cadena de configuraciones inseguras y por defecto que nunca se habían revisado. Por separado, parecen detalles inofensivos, pero juntas, bastaron para comprometer el dominio completo
¿Cuántas de estas configuraciones existen hoy en su red?
La mayoría de las organizaciones no lo sabe hasta que alguien lo intenta. Un pentest interno no se limita a listar vulnerabilidades: reconstruye la cadena que un atacante recorrería de verdad, con las credenciales, permisos y configuraciones que ya están ahí.
En OCD Tech México ejecutamos pruebas de penetración internas con ese enfoque y entregamos hallazgos priorizados por impacto en su operación, no por severidad teórica.

Leave a Reply
Your email is safe with us.