Hacking y ciberseguridad con impacket-scripts
Hacking y ciberseguridad con impacket-scripts
Este paquete contiene enlaces a scripts útiles de impacket. Es un paquete independiente para conservar el paquete impacket de Debian y tener los scripts útiles en la ruta de Kali.
Como instalar: sudo apt install impacket-scripts
Kali Linux utiliza los impacket-scripts para una variedad de tareas de seguridad, principalmente enfocadas en la manipulación y explotación del protocolo de autenticación Kerberos y el protocolo de intercambio de archivos SMB/CIFS, que son comunes en redes Windows. Estas herramientas son esenciales para el movimiento lateral, la obtención de credenciales y la enumeración de redes.
¿Qué es Impacket?
Impacket es una colección de clases y scripts de Python diseñados para programadores de redes que necesitan acceder a paquetes de red de bajo nivel. Proporciona implementaciones de protocolo para SMB1/2/3 y MS-RPC, permitiendo la comunicación con servicios de red de Windows. Los impacket-scripts son un subconjunto de esta biblioteca, que son scripts de línea de comandos listos para usar, que facilitan tareas de ciberseguridad sin necesidad de escribir código.
Scripts comunes y sus usos
1. psexec.py
Este script te permite ejecutar comandos remotos en un sistema Windows a través del protocolo SMB. Funciona de manera similar a la herramienta Sysinternals PsExec. Es muy útil para el movimiento lateral en una red.
Sintaxis:
psexec.py <dominio>/<usuario>:<contraseña>@<ip_destino>
Ejemplo de uso:
psexec.py corporacion/administrador:P@ssw0rd123@192.168.1.100
2. secretsdump.py
Este script se utiliza para volcar los hashes de contraseñas de las bases de datos de seguridad de Windows, como el SAM (Security Account Manager) y la memoria del proceso lsass.exe. Es una herramienta fundamental para la post-explotación.
Sintaxis:
secretsdump.py <dominio>/<usuario>:<contraseña>@<ip_destino>
Ejemplo de uso:
secretsdump.py -just-dc-user 'administrador' corporacion/administrador:P@ssw0rd123@192.168.1.100
3. smbclient.py
Funciona como un cliente SMB para listar y descargar archivos de un servidor de forma remota. Es útil para la enumeración de shares compartidos.
Sintaxis:
smbclient.py <dominio>/<usuario>:<contraseña>@<ip_destino>
Ejemplo de uso:
smbclient.py 'usuario':''@192.168.1.50
(para un usuario sin contraseña)
4. getnpusers.py
Este script te permite solicitar tickets Kerberos para usuarios que no requieren preautenticación. Esta es una técnica común para obtener credenciales sin necesidad de conocer la contraseña del usuario.
Sintaxis:
getnpusers.py <dominio>/
Ejemplo de uso:
getnpusers.py corporacion.local/ -dc-ip 192.168.1.10
5. getTGT.py
Utilizado para obtener un Ticket Granting Ticket (TGT) de Kerberos, que luego puede ser usado para la autenticación en otros servicios.
Sintaxis:
getTGT.py <dominio>/<usuario>:<contraseña>
Ejemplo de uso:
getTGT.py 'corporacion.local/administrador:P@ssw0rd123' -dc-ip 192.168.1.10
Instalación y uso
Impacket viene preinstalado en muchas versiones de Kali Linux. Si por alguna razón no lo está, puedes instalarlo fácilmente.
1. Instalación
En Kali Linux:
sudo apt install python3-impacket
Usando pip:
pip install impacket
2. Uso
Para usar un script, simplemente necesitas llamar al script de Python y pasarle los parámetros necesarios, como se ve en los ejemplos anteriores. Es importante tener los permisos adecuados y la información de la red de destino (IP, dominio, nombre de usuario, etc.) para que los scripts funcionen correctamente.
⚠️ Advertencia: El uso de estas herramientas está destinado a fines educativos y de seguridad ofensiva ética (pen-testing). Su uso sin la autorización explícita del propietario del sistema es ilegal.