Ir para conteúdo

Alterar EIP para decodificar Strings


VictorNeves

Posts Recomendados

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 para o comentário
Compartilhar em outros sites

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>

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 para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...