SlideShare a Scribd company logo
1 of 16
Download to read offline
Análise estática de
malware com o pev




     www.4linux.com.br   2 / 16
Agenda
   Análise estática x dinâmica

   O projeto pev

   Demonstração

   Planos futuros

   Contribuição




                         www.4linux.com.br   3 / 16
Análise estática x dinâmica
   Estática
     Primeira análise

     Não roda o binário

     Útil para relatórios

     Fácil de ser automatizada

     Rápida

     Baseada em interpretação do PE



   Dinâmica
     Forte interação humana

     Analisa todo o binário

     Automatização mais complexa

     Baseada em engenharia reversa




                        www.4linux.com.br   4 / 16
Análise estática x dinâmica
   Para uma análise estática é preciso:
     Conhecer a arquitetura do PE

     Interpretar os cabeçalhos do PE

     Tratar informações e exibir



 Na API do Windows há várias funções para obter
informações de um PE.

Vários analisadores estáticos foram construídos com
base na API do Windows.




                         www.4linux.com.br         5 / 16
Análise estática x dinâmica
   Analisador PEInfo (proprietário, somente Windows GUI)




                          www.4linux.com.br                 6 / 16
O projeto pev
   Um kit de ferramentas para trabalhar com PE

   Escrito em C, sem uso de API do Windows

   Multiplataforma (testado em Windows, Linux e Mac OS)

   100% Software Livre, GPLv3

   Ferramentas de linha de comando, facilmente scriptáveis

   Baseado em uma biblioteca própria batizada de libpe



                         www.4linux.com.br            7 / 16
O projeto pev


      Programa 1   Porgrama 2    Programa 3   Programa 4




                            libpe


                            glibc


                      www.4linux.com.br                    8 / 16
O projeto pev
   readpe
     leitor de cabeçalhos, seções e informações básicas do

      PE.

   packid
     detector de packers genérico e EP fake



   pedis
     disassembler de funções e seções



   pesec
     detector de features de segurança (ASLR, DEP, Stack

      Cookies)

                         www.4linux.com.br             9 / 16
O projeto pev
   petls
     busca funções TLS callback em binários PE



   rva2ofs
     converte um RVA (Relative Virtual Address) em raw file

      offset.

   ofs2rva




                         www.4linux.com.br             10 / 16
Demonstração
   Análise básica com readpe

   Busca de entrypoint falso com packid

   Detecção de TLS callbacks com petls

   Stack cookies com pesec

   ASLR e DEP com pesec




                         www.4linux.com.br   11 / 16
Planos futuros
   pesteg
     esteganografia em PE



   pestr
     uso de biblioteca de emulação de código x86 para

      decodificar strings em malwares

   pecarve
     extração de PE em dumps e dispostivos



   pedec
     descompilador C




                         www.4linux.com.br               12 / 16
Planos futuros
   peres
     extrator de resources



   pehash
     hash de seções e funções inteiras



   pesniff
     captura de PE em tráfego de rede



   petutorial
     tutorial interativo sobre as estruturas do PE




                           www.4linux.com.br          13 / 16
Contribuição
   Software livre não vive sozinho!

   Testes de compilação e uso

   Documentação em português e inglês

   Programação em C básico

   Conhecimento do PE

   Idéias, críticas, sugestões...



                           www.4linux.com.br   14 / 16
Contribuição
Repositório de desenvolvimento:
http://github.com/merces/pev

Versão estável:
http://pev.sf.net

Lista de discussão:
https://lists.sourceforge.net/lists/listinfo/pev-devel

   Canal no IRC
    #MenteBinaria em irc.freenode.net



                         www.4linux.com.br               15 / 16
Obrigado



              Fernando Mercês
      fernando.merces@4linux.com.br
             www.4linux.com.br
            www.hackerteen.com
            twitter.com/4LinuxBR
          twitter.com/MenteBinaria

           Tel: 55-11-2125-4747

               www.4linux.com.br      16 / 16

More Related Content

Similar to Análise estática de malware com o pev

PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7Silvano Oliveira
 
Desenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyDesenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyRelsi Maron
 
BeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOpsBeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOps4LinuxCursos
 
PHP e componentes reutilizáveis
PHP e componentes reutilizáveisPHP e componentes reutilizáveis
PHP e componentes reutilizáveiselliando dias
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Felipe Queiroz
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPRamon Ribeiro Rabello
 
Apostila php
Apostila phpApostila php
Apostila phpfelgamer
 
Apostila básica de PHP
Apostila básica de PHPApostila básica de PHP
Apostila básica de PHPKratos879
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com JenkinsAécio Pires
 
TDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceTDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceRicardo Rufino
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonIP10
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Como contribuir-com-open-source-php conference-2016
Como contribuir-com-open-source-php conference-2016Como contribuir-com-open-source-php conference-2016
Como contribuir-com-open-source-php conference-2016Marcos Paulo
 

Similar to Análise estática de malware com o pev (20)

PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7PW01 - Introdução a programação em PHPv7
PW01 - Introdução a programação em PHPv7
 
Raspberry Pi: o hardware para Python
Raspberry Pi: o hardware para PythonRaspberry Pi: o hardware para Python
Raspberry Pi: o hardware para Python
 
Raspberry Pi + Python
Raspberry Pi + PythonRaspberry Pi + Python
Raspberry Pi + Python
 
Desenvolvimento web com python e web2py
Desenvolvimento web com python e web2pyDesenvolvimento web com python e web2py
Desenvolvimento web com python e web2py
 
BeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOpsBeavOps : Como o Python ajudou a integrar o mundo DevOps
BeavOps : Como o Python ajudou a integrar o mundo DevOps
 
PHP e componentes reutilizáveis
PHP e componentes reutilizáveisPHP e componentes reutilizáveis
PHP e componentes reutilizáveis
 
Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!Django: desenvolvendo aplicações web de maneira simples e rápida!
Django: desenvolvendo aplicações web de maneira simples e rápida!
 
php4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHPphp4android: desenvolva aplicações android em PHP
php4android: desenvolva aplicações android em PHP
 
Apostila php
Apostila phpApostila php
Apostila php
 
Apostila básica de PHP
Apostila básica de PHPApostila básica de PHP
Apostila básica de PHP
 
.NET Open Source
.NET Open Source.NET Open Source
.NET Open Source
 
Integração contínua com Jenkins
Integração contínua com JenkinsIntegração contínua com Jenkins
Integração contínua com Jenkins
 
TDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDeviceTDC2015 - Internet das Coisas - OpenDevice
TDC2015 - Internet das Coisas - OpenDevice
 
Python e suas aplicações
Python e suas aplicaçõesPython e suas aplicações
Python e suas aplicações
 
Asp
AspAsp
Asp
 
Forense Computacional com Software Livre
Forense Computacional com Software LivreForense Computacional com Software Livre
Forense Computacional com Software Livre
 
Começando no Pentaho
Começando no PentahoComeçando no Pentaho
Começando no Pentaho
 
Ampliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do PythonAmpliando os Horizontes dos Profissionais de Redes através do Python
Ampliando os Horizontes dos Profissionais de Redes através do Python
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Como contribuir-com-open-source-php conference-2016
Como contribuir-com-open-source-php conference-2016Como contribuir-com-open-source-php conference-2016
Como contribuir-com-open-source-php conference-2016
 

More from Diego Santos

Práticas DevOps com Zend Server
Práticas DevOps com Zend ServerPráticas DevOps com Zend Server
Práticas DevOps com Zend ServerDiego Santos
 
HTML5 – O que tem de novo?
HTML5 – O que tem de novo?HTML5 – O que tem de novo?
HTML5 – O que tem de novo?Diego Santos
 
Criando Mapas de rede para monitoramento com Zabbix
Criando Mapas de rede para monitoramento com ZabbixCriando Mapas de rede para monitoramento com Zabbix
Criando Mapas de rede para monitoramento com ZabbixDiego Santos
 
Como lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLComo lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLDiego Santos
 
OpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlayOpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlayDiego Santos
 
KDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITKDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITDiego Santos
 
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Diego Santos
 
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando... IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...Diego Santos
 
Tenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaTenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaDiego Santos
 
Socialize os sites da sua empresa com eXo Platform
Socialize os sites da sua empresa com eXo PlatformSocialize os sites da sua empresa com eXo Platform
Socialize os sites da sua empresa com eXo PlatformDiego Santos
 
Programando Software Livre em C
Programando Software Livre em CProgramando Software Livre em C
Programando Software Livre em CDiego Santos
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosDiego Santos
 
Formando Desenvolvedores Efetivos
Formando Desenvolvedores EfetivosFormando Desenvolvedores Efetivos
Formando Desenvolvedores EfetivosDiego Santos
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!Diego Santos
 
Webcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxWebcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxDiego Santos
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livreDiego Santos
 

More from Diego Santos (17)

Práticas DevOps com Zend Server
Práticas DevOps com Zend ServerPráticas DevOps com Zend Server
Práticas DevOps com Zend Server
 
HTML5 – O que tem de novo?
HTML5 – O que tem de novo?HTML5 – O que tem de novo?
HTML5 – O que tem de novo?
 
Criando Mapas de rede para monitoramento com Zabbix
Criando Mapas de rede para monitoramento com ZabbixCriando Mapas de rede para monitoramento com Zabbix
Criando Mapas de rede para monitoramento com Zabbix
 
Como lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQLComo lidar com cargas de trabalho mistas - PostgreSQL
Como lidar com cargas de trabalho mistas - PostgreSQL
 
Cloud é Linux
Cloud é LinuxCloud é Linux
Cloud é Linux
 
OpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlayOpenLDAP, criando e explorando um overlay
OpenLDAP, criando e explorando um overlay
 
KDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MITKDC Spoofing com Kerberos MIT
KDC Spoofing com Kerberos MIT
 
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
Arquiteturas híbridas de atendimento em Cloud Computing para otimizar o uso d...
 
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando... IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
IaaS: Implantação e gerenciamento de configurações de ambientes Cloud usando...
 
Tenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a BonitaTenha mais tempo e gerencie seus processos com a Bonita
Tenha mais tempo e gerencie seus processos com a Bonita
 
Socialize os sites da sua empresa com eXo Platform
Socialize os sites da sua empresa com eXo PlatformSocialize os sites da sua empresa com eXo Platform
Socialize os sites da sua empresa com eXo Platform
 
Programando Software Livre em C
Programando Software Livre em CProgramando Software Livre em C
Programando Software Livre em C
 
Testes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizadosTestes em aplicações JEE: Montando sua infra de testes automatizados
Testes em aplicações JEE: Montando sua infra de testes automatizados
 
Formando Desenvolvedores Efetivos
Formando Desenvolvedores EfetivosFormando Desenvolvedores Efetivos
Formando Desenvolvedores Efetivos
 
As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!As grandes novidades do JSF 2.0!
As grandes novidades do JSF 2.0!
 
Webcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/LinuxWebcast Tutorial: Análise de dumps de memória no GNU/Linux
Webcast Tutorial: Análise de dumps de memória no GNU/Linux
 
Análise de malware com software livre
Análise de malware com software livreAnálise de malware com software livre
Análise de malware com software livre
 

Análise estática de malware com o pev

  • 1.
  • 2. Análise estática de malware com o pev www.4linux.com.br 2 / 16
  • 3. Agenda  Análise estática x dinâmica  O projeto pev  Demonstração  Planos futuros  Contribuição www.4linux.com.br 3 / 16
  • 4. Análise estática x dinâmica  Estática  Primeira análise  Não roda o binário  Útil para relatórios  Fácil de ser automatizada  Rápida  Baseada em interpretação do PE  Dinâmica  Forte interação humana  Analisa todo o binário  Automatização mais complexa  Baseada em engenharia reversa www.4linux.com.br 4 / 16
  • 5. Análise estática x dinâmica  Para uma análise estática é preciso:  Conhecer a arquitetura do PE  Interpretar os cabeçalhos do PE  Tratar informações e exibir  Na API do Windows há várias funções para obter informações de um PE. Vários analisadores estáticos foram construídos com base na API do Windows. www.4linux.com.br 5 / 16
  • 6. Análise estática x dinâmica  Analisador PEInfo (proprietário, somente Windows GUI) www.4linux.com.br 6 / 16
  • 7. O projeto pev  Um kit de ferramentas para trabalhar com PE  Escrito em C, sem uso de API do Windows  Multiplataforma (testado em Windows, Linux e Mac OS)  100% Software Livre, GPLv3  Ferramentas de linha de comando, facilmente scriptáveis  Baseado em uma biblioteca própria batizada de libpe www.4linux.com.br 7 / 16
  • 8. O projeto pev Programa 1 Porgrama 2 Programa 3 Programa 4 libpe glibc www.4linux.com.br 8 / 16
  • 9. O projeto pev  readpe  leitor de cabeçalhos, seções e informações básicas do PE.  packid  detector de packers genérico e EP fake  pedis  disassembler de funções e seções  pesec  detector de features de segurança (ASLR, DEP, Stack Cookies) www.4linux.com.br 9 / 16
  • 10. O projeto pev  petls  busca funções TLS callback em binários PE  rva2ofs  converte um RVA (Relative Virtual Address) em raw file offset.  ofs2rva www.4linux.com.br 10 / 16
  • 11. Demonstração  Análise básica com readpe  Busca de entrypoint falso com packid  Detecção de TLS callbacks com petls  Stack cookies com pesec  ASLR e DEP com pesec www.4linux.com.br 11 / 16
  • 12. Planos futuros  pesteg  esteganografia em PE  pestr  uso de biblioteca de emulação de código x86 para decodificar strings em malwares  pecarve  extração de PE em dumps e dispostivos  pedec  descompilador C www.4linux.com.br 12 / 16
  • 13. Planos futuros  peres  extrator de resources  pehash  hash de seções e funções inteiras  pesniff  captura de PE em tráfego de rede  petutorial  tutorial interativo sobre as estruturas do PE www.4linux.com.br 13 / 16
  • 14. Contribuição  Software livre não vive sozinho!  Testes de compilação e uso  Documentação em português e inglês  Programação em C básico  Conhecimento do PE  Idéias, críticas, sugestões... www.4linux.com.br 14 / 16
  • 15. Contribuição Repositório de desenvolvimento: http://github.com/merces/pev Versão estável: http://pev.sf.net Lista de discussão: https://lists.sourceforge.net/lists/listinfo/pev-devel  Canal no IRC #MenteBinaria em irc.freenode.net www.4linux.com.br 15 / 16
  • 16. Obrigado Fernando Mercês fernando.merces@4linux.com.br www.4linux.com.br www.hackerteen.com twitter.com/4LinuxBR twitter.com/MenteBinaria Tel: 55-11-2125-4747 www.4linux.com.br 16 / 16