Impacket y Rpcclient
Imaginemos que hemos obtenido unas credenciales de algun usuario de dominio de Windows por ejemplo el de empleado1 y sabemos que su contraseña es Passw0rd2, pero no podemos acceder a la maquina en modo escritorio viendo el Windows, pues podremos enumerar o hacer cualquier otra cosa de forma remota desde kali de la siguiente forma:
Pero antes vamos a configurar nuestra red en kali para que los servidores DNS apuntes al DC de la siguiente forma:
Buscamos Settings -> Advanced Network Configuration -> IPv4 Settings -> seleccionamos Automatic (DHCP) addresses only -> en DNS Servers ponemos la IP del DC que en mi caso sera 192.168.5.5 -> Save.
Y ya lo tendremos listo, ahora si lo probamos de la siguiente forma:
ping WS01Esto os deberia de dar ping.
Para poder identificar que IP tiene nuestro Controlador de dominio si estuvieramos sin ningun tipo de informacion, seria de la siguiente forma:
sudo nmap -sS -n 192.168.5.0-7 Info:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-01-09 04:00 EST
Nmap scan report for 192.168.5.1
Host is up (0.00092s latency).
Not shown: 997 filtered tcp ports (no-response)
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.5.2
Host is up (0.00027s latency).
Not shown: 999 closed tcp ports (reset)
PORT STATE SERVICE
53/tcp open domain
MAC Address: 00:50:56:F5:72:77 (VMware)
Nmap scan report for 192.168.5.5
Host is up (0.00048s latency).
Not shown: 988 filtered tcp ports (no-response)
PORT STATE SERVICE
53/tcp open domain
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPssl
5357/tcp open wsdapi
MAC Address: 00:0C:29:B0:CB:01 (VMware)
Nmap done: 8 IP addresses (3 hosts up) scanned in 7.62 secondsY por lo que vemos podemos identificar que la 192.168.5.5 es claramente el DC por los puertos que tiene abiertos ya que son super comunes en servidores DC.
Herramienta Rpcclient
Para poder enumerar la SAM de forma remota desde kali podremos hacerlo de la siguiente forma:
Info:
Esta herramienta necesita unas credenciales y como las obtuvimos anteriormente, pues las utilizaremos con esta herramienta, como veremos funciona y estaremos dentro de un interpreter conectados a dicho equipo por terminal.
Por ejemplo si queremos enumerar los privilegios que hay en el sistema:
Info:
Pero si nosotros queremos enumerar los usuarios de forma remota, tendremos que tener privilegios de administrador y si no los tenemos veremos lo siguiente:
Info:
Esto significa que nos tenemos los permisos suficientes como para realizar esa accion.
Si por ejemplo nos conectaramos como el administrador con un usuario que si tiene privilegios, si podremos hacerlo, por lo que vamos a realizarlo de la siguiente forma para que se vea bien.
Info:
O si queremos enumerar los grupos:
Info:
Si queremos ver que usuario pertenece a que grupo, podremos hacerlo asi:
En mi caso utilizare el identificado RID = 0x220 que es el de Administrador
Info:
Pero nos lo muestra con el SID (Security ID) que es un sistema de seguridad que esta dentro de los dispositivos Windows.
Por lo que tendremos que utilizar otra funcion para poderlo ver en texto plano:
En mi caso escogere el primero S-1-5-21-1345059704-770646112-4146140408-500:
Info:
Por lo que vemos pertenece a usuario WS01\Administardor local del equipo WS01.
Pero la desventaja de todo esto es que se requiere privilegios de administrador para realizar este tipo de cosas.
Herramienta Impacket
Esta herramienta es mucho mas estable y mejor, mucho mas uitilizada que la de rpcclient ya que tiene muchas mas funcionalidades.
Encontraremos la informacion de la herramienta en el siguiente link:
URL = Impacket GitHub
En lo ejemplos del repositorio encontraremos varios scripts los cuales hacer diversas cosas, esta herramienta ya viene implementada en kali por lo que no tendremos que descargar nada.
Si por ejemplo queremos dumpear la informacion del SAM mediante el protocolo SAMR, podremos hacerlo con el siguiente comando de impacket:
Info:
Utilizamos el del administrador ya que se requieren privilegios para volcar la informacion del SAM.
Lo que podemos hacer tambien es con este comando capturar sesiones en las que se conecte un usuario a un recurso compartido, pero si lo hacemos con un usuario normal...
Info:
Esto lo que va hacer es estar escuchando sesiones de red en las cuales cuando detecte que se conecto un usuario o se intento conectar un usuario a dicho equipo, nos aparecera por aqui la informacion de dicho usuario.
Por ejemplo si ahora nosotros vamos a neustro DC y abrimos una carpeta, en la barra de busqueda ponemos \\WS01\C$
O si mejor lo hacemos desde PowerShell:
Y ahora nos vamos a donde tenemos la escucha, veremos lo siguiente:
No veremos absolutamente nada, ya que tambien requiere privilegios de administrador, si nosotros cerramos la escucha y la ejecutamos con unas credenciales de administrador y hacemos todo el proceso anterior de la misma forma:
En la maquina DC pondremos en un PwerShell:
Y si nos volvemos a donde tenemos la escucha veremos lo siguiente:
Vemos que la capturo perfectamente.
Last updated