
Algumas das minhas análises de malware e engenharia reversa publicamente disponíveis.
Rastreando a função fopen da linguagem C [Parte 1] - Passo a passo em modo usuário com IDA Free, rastreando até NTApi
Rastreando a função fopen da linguagem C [Parte 2] - Depuração de kernel com Windbg - Passo a passo do modo usuário ao Subsistema Executivo do Kernel
Abusando de Referências de Recursos Externos do MSOffice [parte 1] - TEMPLATE_INJECTION
Abusando de Referências de Recursos Externos do MSOffice [parte 2] - OLEOBJECT_INJECTION
[1] Analisando o Lokibot - derrotando o GuLoader com Windbg (Depuração de kernel) e C2 ao vivo
[2] Analisando o Lokibot - falsificando (spoofing) o GULoader e o C2 do LokiBot [parte 1] - Implementação própria em Python
[2] Analisando o Lokibot - falsificando (spoofing) o GULoader e o C2 do LokiBot [parte 2] - INetSim + BurpSuite
[3] Analisando o Lokibot - Engenharia reversa, API Hashing, decodificação
O que é COM e sua funcionalidade, COM no Registro (Ferramentas - visualizadores de COM), Cliente-Servidor COM (Usando cliente COM Powershell/.NET), Engenharia reversa de instâncias e métodos COM no IDA (Estruturas, Tipos, plugin ComIDA), Maneira interessante de usar o Método COM na amostra de malware LokiBot
Algumas anotações, dicas e truques ao lidar com engenharia reversa de amostra de malware que usa biblioteca OpenSource importada estaticamente
Este vídeo aborda um guia durante a engenharia reversa e a criação de um decriptador de PoC em Python. Na última parte do vídeo, abordarei outro truque de como invocar dinamicamente apenas a rotina de descriptografia deste Ransomware diretamente do Powershell e obter todos os arquivos descriptografados.
Código gerenciado vs código não gerenciado. Dificuldades durante a engenharia reversa e a depuração.
Um ótimo exemplo é o próprio Powershell.
O vídeo aborda a desofuscação do mais recente SmartAssembly 8+ (ofuscador comercial para .NET) usando SAE (Simple-Assembly-Explorer)
e a recriação do módulo original usando DnSpy. [Download das Amostras]
Amostra, meu IDB do IDA anotado e preparado, imagem Bochs: [Download-Pass:infected]
Vídeo sobre engenharia reversa de .NET de implementações P/Invoke, D/Invoke e Dynamic P/Invoke, que servem para chamar código não gerenciado a partir de código gerenciado. Abordando a ferramenta Get-PDInvokeImports [Get-PDInvokeImports]
Mergulho profundo na engenharia reversa do APT29 C2-Client Dropbox Loader.
Para mais informações - confira a descrição abaixo do vídeo.
Depurando o processo do Powershell ao depurar scripts Powershell - capture o carregamento de módulos (dnSpy)
Depuração multiprocesso com DnSpy
Lidando com a otimização de código durante a depuração de .NET (quando e por que você NÃO consegue ver Locals e definir breakpoints)
Janelas Watch vs. Locals no dnSpy - aproveite as duas (veja campos, invoque expressões etc.)
Minhas primeiras dicas e truques publicados sob a CPR @CPResearch - mostrando o uso prático de IDA-Appcall, Dumpulator e Unicorn Engine puro.
Aproveitando ao máximo trechos de código anotados e completos.
Muito obrigado aos meus colegas de equipe @BenHerzog11235 e @a14xt que ajudaram a tornar isso incrível.
Neste vídeo, irei guiá-lo pelas desofuscações de .NET, abordando alguns truques e dicas interessantes.
Usaremos o PowerShell e a biblioteca dnlib.
Criaremos um desofuscador universal de strings para o Malware Eternity, que usa algum tipo de ofuscação personalizada que não é tão trivial à primeira vista.
Mergulho profundo na engenharia reversa do Azov Ransomware - Wiper polimórfico, publicado sob a CPR @CPResearch - mostrando não apenas os principais pontos técnicos, mas também muitas técnicas interessantes de anti-análise e ofuscação de código.
Muito obrigado aos meus colegas de equipe @BenHerzog11235 e @megabeets_ que ajudaram a tornar isso incrível.
Neste vídeo, irei guiá-lo pela engenharia reversa de Assemblies de Modo Misto.
Exemplo de amostra de Assembly de Modo Misto: [Source/binary]
Derrotando o dotRunpeX — Novo injetor virtualizado de .NET que abusa de técnicas avançadas para entregar inúmeras famílias de malware.
Publicado sob a CPR @CPResearch
Revelando o Ransomware Rorschach altamente avançado, velocíssimo e muito personalizável. Por causa da ofuscação e da proteção (empacotador personalizado estilo UPX, VMProtect, etc.) e da forma como é implantado, o processo de engenharia reversa foi um verdadeiro quebra-cabeça.
Publicado sob a CPR @CPResearch
Neste vídeo, explicarei como funciona o recurso do IDA - Memory Snapshot, quais são as opções atualmente disponíveis e os benefícios de usá-las. Usaremos o Memory Snapshotting do IDA em um exemplo prático de desempacotamento do Malware Amadey com todos os pré-estágios de shellcode.
Na última seção, abordarei o que é a função interna _Initterm do C++, como ela é usada na amostra Amadey e como o malware pode abusar disso para executar código antes de chegar ao método "main". Em alguns casos (quando sequestramos o fluxo de execução), podemos nos referir a essa técnica como envenenamento da tabela de funções _Initterm.
Análise aprofundada da nova cepa de malware apelidada de BundleBot, que se espalha sob o radar. O BundleBot abusa do formato dotnet bundle (arquivo único) autocontido, o que resulta em detecção estática muito baixa ou nenhuma.
Revelando diversas técnicas que se mostraram eficazes para a engenharia reversa do formato dotnet bundle (arquivo único) autocontido.
Publicado sob a CPR @CPResearch
Apresentando um novo método para executar código oculto implantado em binários .NET compilados com ReadyToRun (R2R), o R2R stomping.
Publicado sob a CPR @CPResearch
Introdução ao hooking gerenciado de .NET usando a biblioteca Harmony.
Um exemplo prático do uso de hooking com Harmony para derrotar o notório ofuscador “ConfuserEx2” resulta na ferramenta “ConfuserEx2_String_Decryptor”. Revelando um truque interessante sobre como combinar depuração e hooking usando a biblioteca Harmony (hooking com Harmony a partir do contexto de depuração do dnSpyEx).
Publicado sob a CPR @CPResearch
Ferramentas usadas no vídeo: [GitHub - ConfuserEx2_String_Decryptor]
Revelando o crescente abuso dos produtos BoxedApp para empacotar e implantar ameaças conhecidas.
Análise aprofundada do interior do BoxedApp, com foco nas estruturas binárias empacotadas resultantes, com assinaturas Yara que podem ser usadas para detectar estaticamente o empacotador em uso, distinguindo o próprio produto.
Publicado sob a CPR @CPResearch