Algumas coisas sobre o GEF

Posted on Mon, Jan 4, 2021 binary-exploitation debug osce

Um pequeno apanhado de algumas coisas que achei legais e úteis no GEF ? Não conhecem o GEF ? O GEF é um projeto que adciona uma série de comandos e melhorias adicionais ao GDB e facilita demais a vida de quem está debugando binários no linux.

hugsy/gef

GEF (pronounced ʤɛf - "Jeff") is a set of commands for x86/64, ARM, MIPS, PowerPC and SPARC to assist exploit developers and reverse-engineers when using old school GDB. It provides additional features to GDB using the Python API to assist during the process of dynamic analysis and exploit development.

Sem mais delongas.

context → mostra várias informações (stack, registradores, commandos, etc.) no momento atual
entry-break → executa até o entry point do processo
gef config → mostra ou altera várias configurações do GEF
gef config context.redirect <terminal> → envia as informações mostradas no centexto para outro terminal

gef> context

Exibe uma série de informações do que está conetcendo no momento, como estado da pilha, valores dos registradores, código que vai ser executado, etc.

É possível ainda ver de forma organizada apenas o conteúdo dos registradores, da stack, etc.

gef> context regs

gef> context stack

gef> entry-break

Procura o entry point de um processo e executa-o até este ponto.

gef> gef config

Mostra ou altera as configurações do GEF como por exemplo, o que ele exibe no contexto. Vale a pena dar uma personalizada.

Enviando a saída do comando Context para outro Terminal!

Uma das coisas que achei interessante é poder enviar a saída do contexto para um outro terminal. Para quem tem dois monitores ou mesmo um monitor grande acho que fica legal para ajudar no debug. Dá uma olhada:

gef> gef config context.redirect <terminal>