🏛️Enterprise Hacking Checklist
En esta sección recogeré un checklist rápido de técnicas y comandos para auditar entornos Enterprise que puedan involucrar Active Directory en redes internas.
Scope
Pruebas externas
Pruebas internas
10.129.10.10 - Host externo
172.16.8.0/23 - Subred interna 1
10.129.10.0/24 - Red externa
172.16.9.0/23 - Subred interna 2
*.inlanefreight.local - Todos los subdominios
INLANEFREIGHT.LOCAL (dominio de Active Directory)
Enumeración externa
etc/hosts
sudo gedit /etc/hosts
10.129.10.10 inlanefreight.localEscaneo simple
sudo nmap -v --open -oA inlanefreight_scan -iL scopesudo
Nmap requiere privilegios para ciertos tipos de escaneo (como SYN scan).
--open
Filtra solo hosts con puertos abiertos, omitiendo los que no responden.
-oA inlanefreight_tcp_1k
Guarda los resultados en 3 formatos (normal, XML y grepable) con prefijo inlanefreight_scan.
-iL scope
Lee la lista de objetivos desde un archivo llamado scope. Cada línea del archivo contiene una IP o rango.
Escaneo completo
Extraer servicios en ejecución
Escaneo SYN de red externa
Escaneo de servicios de red externa
Enumeración de subdominios
Con DIG
Con dnsenum
Con subfinder
Con subbrute (sin conexión)
Enumeración de Vhosts
Primero debemos detectar el Content-Length enviando una petición a un vhost que no existe:
Después enumeramos los vhosts con ffuf filtrando por el Content-Length con -fs:
Esto posiblemente encuentre otros subdominios que no encuentren otras técnicas como transferencia de zona, subfinder, etc...
También podemos crear un archivo con multitud de IPs y usar un bucle for con ffuf para enumerar vhosts en múltiples IPs:
EyeWitness para vision global
-f ilfreight_subdomains
Le indica que lea un archivo con URLs o IPs objetivo línea por línea.
-d ILFREIGHT_subdomain_EyeWitness
Define el nombre de la carpeta de salida donde se almacenarán los resultados.
Enumeración y explotación web
Acceder a cada host encontrado y ver posibles formas de explotación:
Búsqueda de versiones y exploits públicos
Ver funcionalidades explotables
Analizar envío de formularios con Burp Suite
Prueba de XSS
Probaremos el siguiente script en los campos del formulario para ver si es vulnerable a Cross Site Scipting (XSS):
Cambiamos la IP por la nuestra y iniciamos un listener con Netcat en el puerto 9000. Hacemos clic en el botón Send y comprobamos si el listener recibe una llamada para confirmar la vulnerabilidad.
Persistencia Post Explotación
Una vez que hemos conseguido acceso a un objetivo, por ejemplo por SSH nuestro objetivo es crear persistencia para acceder en cualquier momento. Para ello:
Accedemos por SSH al objetivo
Elevamos privilegios a root en el host (para acceder siempre como root)
En el directorio
/rootaccedemos a.sshy copiamos elid_rsaen nuestro equipo atacante
Si el objetivo tiene permisos openssl (bastante común)
Si no hay id_rsa en el objetivo
Crear par de claves SSH en el host remoto con ssh-keygen:
Este comando:
Crea un par de claves (
id_rsayid_rsa.pub)Sin passphrase (
-N "")En
/root/.ssh/(usa-fpara la ruta)
✅ Ahora tienes un id_rsa privado que puedes copiar a tu Kali para tener acceso persistente como root sin especificar una contraseña.
Acceso a redes internas
Localizar redes internas
Una vez que hemos accedido a un host podemos usar ifconfig en linux o ipconfig en windows para ver las redes disponibles. Las redes internas siempre suelen tener el formato 172.16.8.x o similar:
Configurar Pivoting SSH
1. Habilitar Port Forwarding SSH con -D 8081
-D 80812. Añadir proxy Socks4 a proxychains4.conf
proxychains4.conf3. Utilizar proxychains para hacer pivoting a red interna, p.e. 172.16.8.120
172.16.8.120Configurar Pivoting RDP
1. Habilitar port forwarding con -L 13389 apuntando al host interno 172.16.8.20 que tiene RDP habilitado
-L 13389 apuntando al host interno 172.16.8.20 que tiene RDP habilitado2. Conexión con xfreerdp a 127.0.0.1:13389 que redirige a 172.16.8.20:3389
127.0.0.1:13389 que redirige a 172.16.8.20:3389Enumeración interna
Descubrimiento de hosts internos
Ping Sweep con Metasploit
Ahora configuramos
autoroutecon Metasploit, indicándole lasessiony la subnet a la que queremos acceder, p.e.172.16.8.0:
Una vez configurado el autoroute llevamos la session al background de nuevo y usamos el módulo de ping_sweep contra la subred interna:
Ping Sweep con bucle for
Cuando hemos accedido por SSH a un host o tenemos una reverse shell en el objetivo podemos ejecutar la siguiente línea para buscar hosts internos en la subred que le indiquemos, en este caso 172.16.8.x
Ping Sweep con Powershell
Si estamos dentro de un host Windows podemos hacer un ping sweep con Powershell. Esta técnica nos mostrará un True en los host activos dentro de la subred que le indiquemos, en este caso la segunda subred 172.16.9.x
Guardar resultados
Estos hosts los guardamos en un archivo live_hosts:
Enumeración de hosts con Nmap
Vamos a enviar a la máquina un binario de Nmap para ejecutarlo desde la red interna:
Enumerar Controlador de Dominio
Si encontramos un DC, como en este caso el 172.16.8.3 podemos enumerarlo con enum4linux-ng para intentar obtener usuarios o información del dominio:
Acceso a webs internas
Si hay algún servicio web expuesto en la red interna, como en este caso la 172.16.8.20:80 podemos acceder configurando el proxy en el navegador de la siguiente manera:


Listar y montar NFS (si está expuesto)
Encontramos DEV01.
Montar NFS
No podemos montar el recurso compartido NFS mediante Proxychains, pero tenemos acceso root al host dmz01 para ello. En este caso el directorio DNN contiene un archivo web.config que contiene credenciales para acceder al host que hemos encontrado: 172.16.8.20:80
Enumeración con Powershell
Última actualización

