Ir para conteúdo

LockBit anti-debug


Fernando Mercês

Posts Recomendados

Hoje eu tava lendo um blogpost da Sophos, LockBit ransomware borrows tricks to keep up with REvil and Maze, quando esse trecho me chamou a atenção:

Citar

From a first glance at the recent LockBit sample with a reverse-engineering tool, we can tell that the program was written primarily in C++ with some additions made using Assembler. For example, a few anti-debug techniques employ the fs:30h function call to manually check the PEB (Process Environment Block) for the BeingDebugged flag, instead of using IsDebuggerPresent().

Pelo que entendi os autores basicamente implementaram o que a IsDebuggerPresent() já faz. Dá pra ver o código dela por qualquer disassembler. No caso usei a linha de comando do x64dbg (pode carregar qualquer binário, mesmo que ele não importe a IsDebuggerPresent):

d IsDebuggerPresent

Vai cair em algo como:

7524A480 | FF25 680E2B75       | jmp dword ptr ds:[<&IsDebuggerPresent>]  |

Aí é só dar [ENTER] que o x64dbg segue o salto e mostra o dissasembly da IsDebuggerPresent:

769A4940 | 64:A1 30000000      | mov eax,dword ptr fs:[30]                |
769A4946 | 0FB640 02           | movzx eax,byte ptr ds:[eax+2]            |
769A494A | C3                  | ret                                      |

Já que é na KERNELBASE.DLL que a implementação da função realmente está, poderia ter digitado direto no x64dbg também:

d kernelbase.IsDebuggerPresent

Tem mais detalhes sobre essa BeingDebugged flag na aula 24 do CERO. ?

Fiz tópico só pra dar um exemplo de que mesmo coisas básicas vistas no CERO estão por aí nos blogs das principais empresas de segurança do planeta, ou seja, o conhecimento que trabalhamos aqui é útil profissionalmente. Podem ter certeza. Por mais iniciante que seja, a gente busca entregar coisas sólidas, que certamente são usadas no mercado.

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...