VictorNeves Posted January 4, 2019 at 04:30 PM Share Posted January 4, 2019 at 04:30 PM Fala pessoal! Eu estou tentando analisar um malware (.dll) que sempre termina a execução do debugger, não identifiquei técnicas ant-debbug (acredito que o xdbg me informaria se tem um isDebugPresent, por exemplo). Na tentativa de obter os IoCs antes do malware parar sua execução, eu pesquisei pelas Strings ofuscadas, peguei o offset delas, e alterei na mão o EIP. A dúvida é se isso deveria funcionar, por que após ele passar pelo o que parece ser o método de desofuscação, o xdbg não me mostra o valor da String Link to comment Share on other sites More sharing options...
Fernando Mercês Posted January 8, 2019 at 12:27 PM Share Posted January 8, 2019 at 12:27 PM Fala Victor! Isso depende muito. Normalmente alterar o EIP "pra muito longe" do EIP atual não é uma boa ideia. Além disso, você deveria alterar o EIP para o momento em que o endereço da string ofuscada é passado para a função que desofusca e depois executar a CALL. Algo como: push <string_offset> call <função que desofusca> A IsDebuggerPresent() é só a mais básica das muitas técnicas anti-debug e o x64dbg consegue inutilizar essa função nativamente, mas não é automático: você tem que clicar lá em Debug -> Advanced -> Hide debugger (PEB) ou usar um plugin tipo o ScyllaHide. A gente explica como essa técnica funciona na aula 24 do CERO. ? Pelo próprio ScyllaHide você pode aprender sobre outras técnicas e ir testando opções pra ver se ele consegue dar cabo nas proteções que este binário tem. Não é perfeito, mas ajuda pra caramba! Abraço! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.