Page cover

🏛️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.local

Escaneo simple

sudo nmap -v --open -oA inlanefreight_scan -iL scope
Opción
Descripción

sudo

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:

circle-check

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

Parte
Significado

-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

🏛️Enumeración y explotación webchevron-right

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:

  1. Accedemos por SSH al objetivo

  2. Elevamos privilegios a root en el host (para acceder siempre como root)

  3. En el directorio /root accedemos a .ssh y copiamos el id_rsa en 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_rsa y id_rsa.pub)

  • Sin passphrase (-N "")

  • En /root/.ssh/ (usa -f para 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

2. Añadir proxy Socks4 a proxychains4.conf

3. Utilizar proxychains para hacer pivoting a red interna, p.e. 172.16.8.120

Configurar Pivoting RDP

1. Habilitar port forwarding con -L 13389 apuntando al host interno 172.16.8.20 que tiene RDP habilitado

2. Conexión con xfreerdp a 127.0.0.1:13389 que redirige a 172.16.8.20:3389


Enumeración interna

Descubrimiento de hosts internos

Ping Sweep con Metasploit

circle-info

Debemos tener una sesión de Meterpreter abierta y llevarla al background

  • Ahora configuramos autoroute con Metasploit, indicándole la session y 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:

circle-info

Si es un host interno debemos configurar el pivoting SSH

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:

circle-info

Debemos configurar el pivoting SSH para acceder correctamente

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