Fernando Mercês Análise de binários ELF
 
No final da minha palestra Sortearei o curso “Segurança em Servidores Linux: Norma ISO 27002” Preencham o cupom que está no folheto da 4Linux dentro da bolsa do fisl11
Se você já preencheu, ele já está aqui na urna
O ganhador deve estar presente até o quinto sorteio. Se não estiver presente ganhará o sexto sorteado
Engenharia Reversa Arte de analisar um artefato a fim de entender seu funcionamento.
Em nosso foco, analisar um binário para estudar seu comportamento.
Aspectos legais É preciso conhecer a licença empregada pelo desenvolvedor do binário a ser analisado, a fim de não ferir nenhuma licença de software.
Por que reverter em GNU/Linux? Aprendizado de como os programas se comportam no sistema
Troubleshooting
Adaptação de drivers de dispositivos
Análise de programas desconhecidos
Criar outro programa compatível com o formato ou protocolo utilizado pelo que sofrerá a ER
O binário Conjunto de bits.
Formato e arquitetura conhecidos.
Instruções ASM conhecidas.
Editável.
Compactável e criptografável.
ELF (Executable and Linkable Format)
Assembly Linguagem de máquina
Dependente de fabricante
Simplesmente necessária
Existem softwares que tentam gerar código C a partir de ASM
Intel: mov eax, 0
AT&T: movl $0, %eax
Análise de um “Hello World” void main() { printf("FISL 11\n"); } $ gcc -o hello hello.c $ file hello ELF 64-bit LSB executable, x86-64, version 1 (SYSV)...
Análise de um “Hello World” $ strings -t x hello 200 /lib64/ld-linux-x86-64.so.2 309 __gmon_start__ 318 libc.so.6 322 puts 327 __libc_start_main 339 GLIBC_2.2.5 5ec FISL 11
Análise de um “Hello World” $ hte hello
Análise de um “Hello World” Demonstração
Projeto EDB Debuga binários ELF x86 e x86-64

FISL11: Análise de binários ELF