
Some of my publicly available Malware analysis and Reverse engineering.
Trazado de la función C fopen [Parte 1] - Recorrido en modo usuario con IDA Free hasta NTApi
Trazado de la función C fopen [Parte 2] - Depuración de kernel con Windbg: recorrido del modo usuario al subsistema ejecutivo del kernel
Abuso de referencias a recursos externos en MS Office [parte 1] - TEMPLATE_INJECTION
Abuso de referencias a recursos externos en MS Office [parte 2] - OLEOBJECT_INJECTION
[1] Análisis de Lokibot: derrotando a GuLoader con Windbg (depuración de kernel) y C2 en vivo
[2] Análisis de Lokibot: suplantando a GULoader y al C2 de LokiBot [parte 1]: implementación propia en Python
[2] Análisis de Lokibot: suplantando a GULoader y al C2 de LokiBot [parte 2]: INetSim + BurpSuite
[3] Análisis de Lokibot: ingeniería inversa, hash de API, decodificación
Qué es COM y su funcionalidad, COM en el Registro (herramientas: visores de COM), COM cliente-servidor (usando cliente COM de PowerShell/.NET), ingeniería inversa de instancias y métodos COM en IDA (estructuras, tipos, plugin ComIDA), forma interesante de usar el método COM en una muestra del malware LokiBot
Algunas notas, consejos y trucos cuando te enfrentas a la ingeniería inversa de una muestra de malware que utiliza una librería de código abierto importada estáticamente
Este video cubre una guía durante la ingeniería inversa y la creación de un descifrador PoC en Python. En la última parte del video cubriré otro truco sobre cómo invocar dinámicamente solo la rutina de descifrado de este ransomware directamente desde PowerShell y conseguir que todos los archivos sean descifrados.
Código administrado vs código no administrado. Dificultades durante la ingeniería inversa y la depuración.
Un buen ejemplo es el propio PowerShell.
El video cubre la desofuscación del último SmartAssembly 8+ (ofuscador comercial para .NET) usando SAE (Simple-Assembly-Explorer) y la recreación del módulo original usando DnSpy. [Descargar muestras]
Muestra, mi IDB de IDA anotado y preparado, imagen de Bochs: [Descargar-Pass:infected]
Video sobre la ingeniería inversa en .NET de las implementaciones de P/Invoke, D/Invoke y P/Invoke dinámico que sirven para llamar código no administrado desde administrado. Cubre la herramienta Get-PDInvokeImports [Get-PDInvokeImports]
Inmersión profunda en la ingeniería inversa de APT29 C2-Client Dropbox Loader.
Para más información, consulta la descripción debajo del video.
Depuración del proceso de PowerShell al depurar scripts de PowerShell: detectar la carga de módulos (dnSpy)
Depuración multiproceso con dnSpy
Cómo lidiar con la optimización de código durante la depuración de .NET (cuándo y por qué NO puedes ver Locals y poner puntos de interrupción)
Ventanas Watch vs Locals en dnSpy: benefíciate de ambas (ver campos, invocar expresiones, etc.)
Mis primeros consejos y trucos publicados bajo CPR @CPResearch: mostrando el uso práctico de IDA-Appcall, Dumpulator y el motor Unicorn puro.
Obteniendo lo mejor y repleto de fragmentos de código anotados.
Muchas gracias a mis compañeros de equipo @BenHerzog11235 y @a14xt que ayudaron a hacer esto genial.
En este video, te guiaré a través de la desofuscación de .NET cubriendo algunos trucos y consejos interesantes.
Usaremos PowerShell y la librería dnlib.
Crearemos un desofuscador universal de cadenas para el malware Eternity que utiliza algún tipo de ofuscación personalizada que no es tan trivial a primera vista.
Inmersión profunda en la ingeniería inversa del ransomware Azov, un wiper polimórfico, publicado bajo CPR @CPResearch: mostrando no solo los puntos técnicos principales, sino también muchas técnicas interesantes de anti-análisis y ofuscación de código.
Muchas gracias a mis compañeros de equipo @BenHerzog11235 y @megabeets_ que ayudaron a hacer esto genial.
En este video, te guiaré a través de la ingeniería inversa de ensamblados de modo mixto.
Ejemplo de ensamblado de modo mixto: [Fuente/binario]
Derrotando a dotRunpeX: nuevo inyector .NET virtualizado que abusa de técnicas avanzadas para distribuir numerosas familias de malware.
Publicado bajo CPR @CPResearch
Revelando el ransomware Rorschach, altamente avanzado, rapidísimo y muy personalizable. Debido a la ofuscación y protección (empaquetador personalizado estilo UPX, VMProtect, etc.) y a la forma en que se despliega, el proceso de ingeniería inversa fue todo un rompecabezas.
Publicado bajo CPR @CPResearch
En este video, explicaré cómo funciona la función Instantánea de memoria de IDA, cuáles son las opciones disponibles actualmente y los beneficios de usarlas. Usaremos la instantánea de memoria de IDA en un ejemplo práctico de desempaquetado del malware Amadey con todas las etapas previas del shellcode.
En la última sección, cubriré qué es la función interna _Initterm de C++, cómo se usa en la muestra de Amadey y cómo el malware puede abusar de ella para ejecutar código antes de llegar al método "main". En algunos casos (donde secuestramos el flujo de ejecución), podemos referirnos a esta técnica como envenenamiento de la tabla de funciones _Initterm.
Análisis en profundidad de la nueva cepa de malware denominada BundleBot que se propaga de forma sigilosa. BundleBot abusa del formato dotnet bundle (archivo único) autónomo, lo que resulta en una detección estática muy baja o nula.
Revelando varias técnicas que han demostrado ser efectivas para la ingeniería inversa del formato dotnet bundle (archivo único) autónomo.
Publicado bajo CPR @CPResearch
Presentando un nuevo método para ejecutar código oculto implantado en binarios .NET compilados con ReadyToRun (R2R): R2R stomping.
Publicado bajo CPR @CPResearch
Introducción al hooking administrado en .NET usando la librería Harmony.
Un ejemplo práctico de uso del hooking de Harmony para derrotar al notorio ofuscador “ConfuserEx2” da como resultado la herramienta “ConfuserEx2_String_Decryptor”. Revelando un ingenioso truco sobre cómo combinar depuración y hooking usando la librería Harmony (hooking de Harmony desde el contexto de depuración de dnSpyEx).
Publicado bajo CPR @CPResearch
Herramientas usadas en el video: [GitHub - ConfuserEx2_String_Decryptor]
Revelando el creciente abuso de los productos BoxedApp para empaquetar y desplegar amenazas conocidas.
Análisis en profundidad de los internals de BoxedApp, centrándose en las estructuras binarias empaquetadas resultantes con firmas Yara que pueden usarse para detectar estáticamente el empaquetador en uso, distinguiendo a la vez el propio producto.
Publicado bajo CPR @CPResearch