Proteções e Bypasses Comuns de Exploração Binária

Reading time: 3 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Habilitar arquivos de Core

Arquivos de Core são um tipo de arquivo gerado por um sistema operacional quando um processo falha. Esses arquivos capturam a imagem de memória do processo que falhou no momento de sua terminação, incluindo a memória do processo, registradores e o estado do contador de programa, entre outros detalhes. Essa captura pode ser extremamente valiosa para depuração e compreensão do motivo da falha.

Habilitando a Geração de Core Dumps

Por padrão, muitos sistemas limitam o tamanho dos arquivos de core a 0 (ou seja, não geram arquivos de core) para economizar espaço em disco. Para habilitar a geração de arquivos de core, você pode usar o comando ulimit (no bash ou shells semelhantes) ou configurar as definições em todo o sistema.

  • Usando ulimit: O comando ulimit -c unlimited permite que a sessão de shell atual crie arquivos de core de tamanho ilimitado. Isso é útil para sessões de depuração, mas não é persistente entre reinicializações ou novas sessões.
bash
ulimit -c unlimited
  • Configuração Persistente: Para uma solução mais permanente, você pode editar o arquivo /etc/security/limits.conf para incluir uma linha como * soft core unlimited, que permite que todos os usuários gerem arquivos de core de tamanho ilimitado sem precisar definir ulimit manualmente em suas sessões.
markdown
- soft core unlimited

Analisando Arquivos de Core com GDB

Para analisar um arquivo de core, você pode usar ferramentas de depuração como o GDB (GNU Debugger). Supondo que você tenha um executável que produziu um despejo de core e o arquivo de core é nomeado core_file, você pode iniciar a análise com:

bash
gdb /path/to/executable /path/to/core_file

Este comando carrega o executável e o arquivo de core no GDB, permitindo que você inspecione o estado do programa no momento da falha. Você pode usar comandos do GDB para explorar a pilha, examinar variáveis e entender a causa da falha.

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks