Ronaldo P. Limawww.crimesciberneticos.com
agenda introdução identificação       do arquivo  md5sum, hexdump, file, extract, strings dissecando         o formato ...
introdução   cenário – incidente de segurança   descobrir:       qual o tipo do arquivo?       quais suas funcionalida...
identificação do arquivomd5sumassinatura do arquivo (file signature)- sequência única de bytes localizada no   início do a...
ELF: 7F 45 4C 46EXE: 4D 5AJPG: FF D8 FF E0 xx xx 4A 46 49 46 00http://www.garykessler.net/library/file_sigs.htmlhexdump -C
file- Executable and Linking Format (ELF)- bibliotecas dinâmicas (dependências)- símbolos presentesextract
strings -a
dissecando o formato ELF - como um executável é montado?     Código-fonte          Compilador   Object File  Alto-nível (h...
linking dinâmico X estáticodinâmico- depende de bibliotecas compartilhadas- requisitadas na execução (SO)- binário menor e...
lddsímbolos- criados na compilação (compiler e linker)- nomes, endereços e data types de  funções e variáveis- informações...
nm
nm –D (símbolos das libs dinâmicas)strip
estrutura do ELF
readelf –h (Elf32_ehdr)
readelf –S (sections headers)Algumas sections interessantes >>>
.symtab:     tabela de símbolos.dynsym:     símbolos de linking dinâmico.comment:    controle de versão.text:       instru...
Recapitulando...- ELF Executável Linux 32 bits Intel 386- Kernel 2.6.15- Compilado com GCC 4.3.2 Ubuntu- Usa somente o for...
analisando o código executávelobjdump –M intel -d
execução   running...   killed!
conclusões- qual o tipo do arquivo?R: ELF Executável Linux 32 bits x86- quais suas funcionalidades?R: Realiza um loop infi...
obrigado!             Perguntas?Contato:Ronaldo P. Limacrimesciberneticos@ymail.comtwitter.com/crimescibernetwww.crimescib...
Próximos SlideShares
Carregando em…5
×

Análise de Código Malicioso no Linux

14.112 visualizações

Publicada em

Publicada em: Estilo de vida
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
14.112
No SlideShare
0
A partir de incorporações
0
Número de incorporações
12.701
Ações
Compartilhamentos
0
Downloads
48
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Análise de Código Malicioso no Linux

  1. 1. Ronaldo P. Limawww.crimesciberneticos.com
  2. 2. agenda introdução identificação do arquivo md5sum, hexdump, file, extract, strings dissecando o formato ELF readelf, ldd, nm, strip analisando o código executável objdump execução conclusões
  3. 3. introdução cenário – incidente de segurança descobrir:  qual o tipo do arquivo?  quais suas funcionalidades?  quais efeitos no sistema e na rede?  ambiente onde foi criado? análise estática distro utilizada: BackTrack Linux
  4. 4. identificação do arquivomd5sumassinatura do arquivo (file signature)- sequência única de bytes localizada no início do arquivo- não confiar na extensão
  5. 5. ELF: 7F 45 4C 46EXE: 4D 5AJPG: FF D8 FF E0 xx xx 4A 46 49 46 00http://www.garykessler.net/library/file_sigs.htmlhexdump -C
  6. 6. file- Executable and Linking Format (ELF)- bibliotecas dinâmicas (dependências)- símbolos presentesextract
  7. 7. strings -a
  8. 8. dissecando o formato ELF - como um executável é montado? Código-fonte Compilador Object File Alto-nível (humano)p/ baixo-nível (máquina) Executável Linkergcc (compiler e linker)gcc –c (compiler)ld (linker) Libs
  9. 9. linking dinâmico X estáticodinâmico- depende de bibliotecas compartilhadas- requisitadas na execução (SO)- binário menor e menos memóriaestático- todo o código para rodar o executável está dentro do binário- binário maior e mais memória
  10. 10. lddsímbolos- criados na compilação (compiler e linker)- nomes, endereços e data types de funções e variáveis- informações para debug- podem ser retirados (stripped)
  11. 11. nm
  12. 12. nm –D (símbolos das libs dinâmicas)strip
  13. 13. estrutura do ELF
  14. 14. readelf –h (Elf32_ehdr)
  15. 15. readelf –S (sections headers)Algumas sections interessantes >>>
  16. 16. .symtab: tabela de símbolos.dynsym: símbolos de linking dinâmico.comment: controle de versão.text: instruções executáveis.strtab: strings associadas com a tabela de símbolosreadelf –p <section nr> (.comment)
  17. 17. Recapitulando...- ELF Executável Linux 32 bits Intel 386- Kernel 2.6.15- Compilado com GCC 4.3.2 Ubuntu- Usa somente o fork() da LibcA função fork() cria um processo filho que diferedo processo pai apenas pelo seu PID. É duplicadatoda a estrutura de memória do processo pai.fork() != clone()
  18. 18. analisando o código executávelobjdump –M intel -d
  19. 19. execução running... killed!
  20. 20. conclusões- qual o tipo do arquivo?R: ELF Executável Linux 32 bits x86- quais suas funcionalidades?R: Realiza um loop infinito da função fork() da libc.- quais efeitos no sistema e na rede?R: Sobrecarrega o sistema esgotando seus recursos impedindo-o de atender as demais requisições. Ataque DoS. Não afeta a rede diretamente.- ambiente onde foi criado?R: Ubuntu based Kernel 2.6.15 GCC 4.3.2
  21. 21. obrigado! Perguntas?Contato:Ronaldo P. Limacrimesciberneticos@ymail.comtwitter.com/crimescibernetwww.crimesciberneticos.com

×