Tienda Wifi

Tienda Wifi
CiudadWireless es la tienda Wifi recomendada por elhacker.NET

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET

Suscripción

¿Quieres recibir las últimas novedades del blog en tu correo?

¡Suscríbete al feed!

Entradas populares

PostHeaderIcon CrackMapExec: navaja suiza para el pentesting en Windows




 CrackMapExec o CME es una herramienta escrita en Python diseñada para la post-explotación en entornos Windows, su principal característica es que permite hacer movimientos laterales dentro una red local. Pero también tiene muchas opciones de uso, ya que usa módulos y funcionalidades externas. Permite 5 protocolos de ataque: smb, winrm, ssh, http o mssql.




  • A swiss army knife for pentesting networks

Extracción Credenciales Windows

Por ejemplo, puede que hagamos un Credential Dumping, o una reconocimiento de direcciones IP, enumeración de usuarios, recursos, grupos, búsqueda de archivos en máquinas o ejecutar un Mimikatz sobre la máquina remota, consultar su configuración de las políticas de la máquina o comprobar en qué nivel se encuentra el UAC. Como se puede ver, en un párrafo resumen, podemos hacer una gran cantidad de cosas con CrackMapExec o CME.  


CME hace uso de 5 protocolos que son: smb, winrm, ssh, http o mssql. Cada uno de estos protocolos tiene diferentes módulos de uso, para ver estos módulos se ejecuta cme con el siguiente parametro:


./cme (protocolo) -L


El protocolo SMB suele ser el más usado ya que la herramienta se desarrolló pensando en entornos Windows y por esto es el que mas módulos tiene, este además se usa para poder hacer movimientos laterales, para ello necesitas unas credenciales o un hash NTLM.

Por ejemplo, dispones de unas credenciales para el usuario administrador (qué suerte!), con CME puedes sacar la lista de usuarios de una máquina Windows con la siguiente instrucción:



./cme smb 192.168.xx.xx -u administrador -p 123456789 --users


También se pueden hacer búsquedas por ficheros dentro del sistema con los parámetros – -pattern y – -spider, por ejemplo si queremos buscar ficheros log dentro del sistema, lo haremos con la siguiente instrucción:



./cme smb 192.168.xx.xx -u administrador -p 123456789 --spider c\$ --pattern log


Otra característica de CME, es que tiene la posibilidad de hacer una consulta a las políticas de contraseña de la máquina que estamos testeando con el parámetro – -pass-pol, la instrucción sería:



./cme smb 192.168.xx.xx -u administrador -p 123456789 --pass-pol



Y no podía faltar una descarga de todas las credenciales de la máquina, ya que CrackMapExec es una herramienta para el movimiento lateral, necesitaremos estas credenciales para poder movernos por la red. Podemos usar los modificadores para descargar la SAM, LSA  o NTDS, por ejemplo para descargar la sam:



./cme smb 192.168.xx.xx -u administrador -p 123456789 --sam



Si tenemos un hash NTLM, podremos usarlo para autenticarnos con el modificador -H de esta forma:


./cme smb 192.168.xx.xx -u administrador -H aqui el hash NTLM



También
se pueden ejecutar comandos con diferentes técnicas usando el parámetro -x, por ejemplo podemos ejecutar un “whoami” de la siguiente forma:



./cme smb 192.168.xx.xx -u administrador -p 123456789 -x whoami


Credential Dumping


Cuando uno tiene privilegios en la post-explotación siempre necesitará obtener credenciales para poder volver a las máquinas comprometidas o poder moverme lateralmente a otras máquinas.  CME proporciona diferentes parámetros, incluso diferente técnicas, para llevar a cabo el volcado de credenciales. En la siguiente imagen vamos a ver cómo hacer un volcado de credenciales de la SAM, de LSA y de NTDS. Con este último, se pueden utilizar diferentes técnicas, se recomienda leer la documentación de la herramienta, ya que con detalles como estos, gana muchos puntos. 


Para ver que la autenticación con hash funciona y que podemos ejecutar acciones, módulos y comandos remotos se añade el parámetro --users, como hicimos anteriormente, para ver que el resultado es el mismo. Es decir, funciona.

Hacemos uso de WMI y la ejecución de comandos remotos
Con el parámetro -x podemos hacer invocaciones de comandos, con diferentes técnicas, una de ellas sería a través de WMI. El servicio Windows Management Instrumentation o WMI provee de un lenguaje de instrumentación del sistema operativo que, como os podéis imaginar, es muy utilizado en la fase de post-explotación, ya que permite realizar un gran número de acciones en este momento del pentesting

Es importante probar el uso del parámetro -x y el comando que se quiere ejecutar, ya que es fácil ejecutar comandos de terminal a través de este protocolo.

Módulos en CrackMapExec
Para listar los módulos, como se comentó anteriormente, se puede hacer uso del parámetro -L, indicando previamente el protocolo que queremos utilizar. Como se puede ver en la imagen, CME tiene una gran cantidad de módulos de diferente índole: enumeración, volcado de credenciales, ejecución de código, recogida de configuración, etcétera. 

crackmapexec -L
[*] empire_exec
[*] shellinject
[*] rundll32_exec
[*] com_exec
[*] tokenrider
[*] mimikatz
[*] tokens
[*] peinject
[*] powerview
[*] mimikittenz
[*] enum_chrome
[*] metinject     
[*] eventvwr_bypass


Documentación:

Herramientas extracción credenciales en Windows


Otras opciones interesantes son: 

- Módulo de Mimikatz. Opción -M mimikatz.
  
- Mimikatz y el parámetro -o con el que se indica COMMAND=’[Comando Mimikatz]’. Es decir, se ejecuta el comando Mimikatz que queramos. Por ejemplo:
Esto ejecutaría Mimikatz y éste intentaría volcar todas las credenciales de lsass.exe.  
- El módulo de Web_Delivery está presenta también para invocar un Meterpreter a través de Powershell, directamente a memoria. Aquí es posible que, previamente hubiera que hacer bypass AMSI. Pero con PowerShell decides tú el límite.

 


0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.