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 WS01

Esto 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 seconds

Y 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