Cristian Liotto Posted September 23, 2024 at 02:00 PM Share Posted September 23, 2024 at 02:00 PM (edited) Bom dia pessoal, tudo bem? Sou iniciante e decidi tentar realizar a engenharia reversa de alguns malwares, o primeiro foi um pouco mais antigo para ganhar confiança e este é o segundo que estou fazendo. Se trata de um log stealer feito em.NET e pelo que vi até o momento o fluxo é: .NET (packed e obfuscated) vai colocar no AppData\Roaming uma DLL chamada d3d9.dll, modificar seus atributos para ficar oculta e carregar ela. Essa DLL vai criar um processo em estado suspenso utilizando, o executável do MSBuild.exe e injetar nele um novo executável e após isso fazer o Thread Hijacking. Este terceiro executável por sua vez vai descriptografar e descomprimir uma DLL que será a responsável por fazer as comunicações via rede. Meu problema é que essa ultima DLL, pelo jeito, está utilizando algum packer e não ha nenhuma função de export. Tentei debugar utilizando o rundll32 e passando ela como argumento, mas o processo simplesmente morre, tentei diretamente pelo x64dbg mas também não vai e o Ghidra não reconhece muita coisa. Mesmo considerando o DLL_PROCESS_ATTACH ou DLL_THREAD_ATTACH, acredito que executando o rundll32 funcionaria. Se alguém tiver alguma dica ou ideia do que eu posso tentar agradeço imensamente. File Hashes SHA256: 131e2baac32f898ab2d7da10d8c79f546977bc1d1d585ba687387101610ed3b9 Link para o malware https://bazaar.abuse.ch/sample/131e2baac32f898ab2d7da10d8c79f546977bc1d1d585ba687387101610ed3b9 A parte do malware que vai descomprimir e descriptografar a última parte: A DLL após o processo: Novamente não tenho muita experiencia e qualquer ajuda será bem-vinda. Desde já agradeço a todos! Edited September 25, 2024 at 09:12 AM by Cristian Liotto Quote Link to comment Share on other sites More sharing options...
Administrators Fernando Mercês Posted September 25, 2024 at 05:45 PM Administrators Share Posted September 25, 2024 at 05:45 PM Olá! Em 23/09/2024 em 14:00, Cristian Liotto disse: Tentei debugar utilizando o rundll32 e passando ela como argumento, mas o processo simplesmente morre, tentei diretamente pelo x64dbg mas também não vai Se o código malicioso dela tá na DllMain(), você precisa parar lá. Tem duas alternativas simples: por um breakpoint na LoadLibrary() ao debugar o rundll32.exe (passando sua DLL como argumento) ou setando o EIP na mão para a DllMain() ao abrir a DLL direto no x64dbg. Também acho importante ver como o processo chama a DLL. Aï você pode imitar e fazer igual para ver o comportamento malicioso. 🙂 Vê se a aula 21 do AMO te ajuda. 😉 Abraço e boa sorte! Quote Link to comment Share on other sites More sharing options...
Cristian Liotto Posted October 3, 2024 at 08:22 AM Author Share Posted October 3, 2024 at 08:22 AM Em 25/09/2024 em 17:45, Fernando Mercês disse: Olá! Se o código malicioso dela tá na DllMain(), você precisa parar lá. Tem duas alternativas simples: por um breakpoint na LoadLibrary() ao debugar o rundll32.exe (passando sua DLL como argumento) ou setando o EIP na mão para a DllMain() ao abrir a DLL direto no x64dbg. Também acho importante ver como o processo chama a DLL. Aï você pode imitar e fazer igual para ver o comportamento malicioso. 🙂 Vê se a aula 21 do AMO te ajuda. 😉 Abraço e boa sorte! Agradeço muito o seu comentário e peco desculpas pela demora. Fiz o curso de CERO e parte do AMO antes de me desafiar a pôr em prática os conhecimentos ensinados e confesso que acabei não terminando de assistir todo o curso. Novamente muito obrigado! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.