Debugging Windows Programs
Last updated
Last updated
Para identificar e explorar com êxito buffer overflows em programas do Windows, precisamos depurar o programa para seguir seu fluxo de execução e seus dados na memória. Existem muitas ferramentas que podemos usar para depuração, como , , ou . No entanto, esses depuradores estão desatualizados (Immunity/OllyDBG) ou precisam de uma licença profissional para uso (WinGDB/IDA).
Para esses exercícios usaremos , que é um excelente depurador do Windows voltado especificamente para exploração binária e engenharia reversa. x64dbg
é uma ferramenta de código aberto desenvolvida e mantida pela comunidade e também suporta depuração x64 (ao contrário do Immunity), para que possamos continuar a usá-la quando quisermos migrar para buffer overflows x64 do Windows.
Para instalar o ERC
plugin, podemos ir até a e baixar o zip
arquivo que corresponde à nossa VM ( x64
ou x32
), que no nosso caso é ERC.Xdbg_32-<SNIP>.zip
. Depois de baixá-lo para nossa VM do Windows, podemos extrair seu conteúdo para x32dbg
a pasta de plug-ins localizada em C:\Program Files\x64dbg\x32\plugins
.
Quando isso for concluído, o plugin deverá estar pronto para uso. Assim, uma vez executado x32dbg
, podemos digitar ERC --help
na barra de comando na parte inferior para visualizar ERC
o menu de ajuda.
Para visualizar a ERC
saída do ' , devemos mudar para a Log
aba clicando nela ou clicando em Alt+L
, como podemos ver abaixo:
Também podemos definir um diretório de trabalho padrão para salvar todos os arquivos de saída, usando o seguinte comando:
Feito isso, podemos encontrar o x32dbg
ícone em nossa área de trabalho e clicar duas vezes nele para iniciar nosso depurador:
Dica: Para usar o tema escuro como a imagem acima, basta acessar Options > Theme
e selecionar dark.
Sempre que quisermos depurar um programa, podemos executá-lo por meio de x32dbg
, ou executá-lo separadamente e depois anexar ao seu processo por meio de x32dbg
.
Para abrir um programa com x32dbg
, podemos selecionar File>Open
ou pressionar F3
, o que nos solicitará que selecionemos o programa a ser depurado. Se quiséssemos anexar a um processo/programa que já está em execução, poderíamos selecionar File>Attach
ou pressionar Alt+A
, e ele nos apresentará vários processos em execução acessíveis ao nosso usuário:
Podemos selecionar o processo que queremos depurar e clicar Attach
para começar a depurá-lo.