Forense em Rede com ferramentas FOSS Ramilton Costa Gomes Júnior Mestrando Pela UFES em Ontologias e Modelagens Gilberto Sudré Professor e Pesquisador do IFES. Coordenador do Laboratório de Segurança Digital e Perícia Computacional Forense http://academiaforenselivre.com.br Latinoware 2014 – Foz do Iguaçu Agenda » Forense Computacional » Forense Computacional em Redes » Ferramentas para Forense em Redes » Mão na massa 2 Introdução Perícia Computacional Forense » A Forense de Rede pode ser compreendida como a ação do Perito em coletar dados dos demais ativos de redes envolvidos como um incidente de Segurança para que, durante a Post Mortem Análise, esses dados correlacionados com demais evidências coletadas na Live Análise, sejam argumentos de apoio a conclusão quanto à ação do invasor”. (Melo, 2009, P.49). 4 Perícia Computacional Forense Perícia Forense aplicada a Tecnologia da Informação é a ciência que visa a proteção, investigação, recuperação, coleta, identificação e análise de evidências aplicadas dentro de um processo legal. Estes procedimentos visam, dentro do possível, determinar o curso das ações executadas pelo Agente, recriando assim, o cenário completo acerca dos fatos ocorridos no mundo digital. Gilberto Sudre 5 Perícia Computacional Forense » Em breve a maioria dos casos de justiça irão envolver meios digitais » Toda investigação de um crime virtual tem como base as evidências e informações coletadas » Só que estas evidências e informações estão em um disco rígido, em um celular, em um código malicioso, na rede de computadores, etc 6 Perícia Computacional Forense » Incidente já ocorreu ! » Busca descobrir • • • • • • • Quem ? O quê? Quando ? Como ? Onde? Por quê? Alcance ? 7 Evidência Digital Qualquer tipo de dado digital que possa ajudar a demonstrar que uma fraude ou irregularidade foi cometida, ou que possa estabelecer um vinculo entre a fraude ou irregularidade e a vitima ou entre a vitima e o agente 8 Forense em Redes de Computadores Forense em Redes » Caso o computador esteja ligado e em rede pode ser necessário fazer uma coleta de tráfego da rede para posterior análise » O monitoramento pode revelar muitas informações importantes como conexões ativas, sites abertos, programas em execução, etc. 10 Ferramentas FOSS para Forense em Rede » » » » » » » » » wireshark tcpdump xplico tcpflow tcptrace tcpxtract chaosread ngrep nmap 11 WIRESHARK » Coloca a interface de rede em modo promíscuo e captura tráfego de rede • Salva em um arquivo em disco os pacotes capturados • Interpreta o formato dos pacotes permitindo a análise do seu conteúdo » Site • http://www.wireshark.org 12 WIRESHARK » Como usar: • • • • Examinar problemas de segurança Aprender protocolos Solucionar problemas de rede Depurar implementações de protocolos 13 WIRESHARK 14 WIRESHARK 15 TCPDUMP » Útil para captura de dados durante a resposta a incidentes de segurança » Site: • http://www.tcpdump.org » Como usar? • Captura de pacotes • Análise de rede em tempo real • Análise de protocolos 16 TCPDUMP » Opções utilizadas X Imprime os cabeçalhos em ASCII vvv Verbose i Interface s Tamanho capturado do pacote n Não converte endereços para nomes w não exibe a capturana tela. Grava em um arquivo 17 TCPDUMP » Exemplo tcpdump X vvv i wlan0 s 1518 n port 80 w coleta.cap tcpdump: listening on wlan0, linktype EN10MB (Ethernet), capture size 1518 bytes 23 packets captured 23 packets received by filter 0 packets dropped by kernel 18 XPLICO » Ferramenta que extrai informações de um tráfego capturado de uma rede de rede de computadores • Remonta o fluxo de dados de uma sessão » Site: • http://www.xplico.org » Características: • Suporta protocolos: HTTP, SIP, IMAP, POP, SMTP; • Suporta Ipv4 e IPv6 • Multithreading 19 XPLICO 20 XPLICO 21 XPLICO 22 TCPFLOW » Capturar e reconstruir as ações realizadas através de uma rede TCP » Site: • http://sourceforge.net/projects/tcpflow/ » Como usar? • Analisar pacotes IP capturado por sniffers; • Analisar protocolos HTTP. 23 TCPFLOW » Exemplo tcpflow r evidence02.pcap 064.012.102.142.00587192.168.001.159.01036 064.012.102.142.00587192.168.001.159.01038 192.168.001.159.01036064.012.102.142.00587 192.168.001.159.01038064.012.102.142.00587 24 TCPTRACE » Faz a análise de arquivos produzidos por vários programas populares de captura de pacotes » Site: • http://www.tcptrace.org » Como usar? • Cria seis tipos de gráficos que ilustram vários parâmetros de uma conexão TCP • Produz estatísticas detalhadas de conexões TCP de arquivos dump quando dada a opção -l • Conexões filtradas 25 TCPTRACE » Opções utilizadas q sem saída na tela xcollie Módulo collie para sumarização de conexões 26 TCPTRACE » Exemplo: tcptrace q xcollie estudo.pcap > inicio_sessao.txt 1 arg remaining, starting with 'attacktrace.pcap' Ostermann's tcptrace version 6.6.7 Thu Nov 4, 2004 348 packets seen, 348 TCP packets traced, 0 UDP packets traced elapsed wallclock time: 0:00:01.961238, 177 pkts/sec analyzed trace file elapsed time: 0:00:16.219218 Source file: attacktrace.pcap File modification timestamp: Wed Oct 8 11:46:12 2014 First packet: Mon Apr 20 00:28:28.374595 2009 Last packet: Mon Apr 20 00:28:44.593813 2009 TCP Connections Session Start: Mon Apr 20 00:28:34.516921 2009 Session End: Mon Apr 20 00:28:44.588809 2009 Source IP address: 98.114.205.102 27 TCPXTRACT » Faz a reconstrução de arquivos em conexões TCP a partir de um arquivo pcap » Site: • http://tcpxtract.sourceforge.net/ » Como usar: • Extração de arquivos com base em cabeçalhos e rodapés de tipo de arquivos 28 TCPXTRACT » Exemplo tcpxtract f evidence02.pcap Found file of type "png" in session [192.168.1.159:3588 > 64.12.102.142:19202], exporting to 000000.png Found file of type "png" in session [192.168.1.159:3588 > 64.12.102.142:19202], exporting to 000001.png Found file of type "png" in session [192.168.1.159:3588 > 64.12.102.142:19202], exporting to 000002.png 29 CHAOSREAD » Script Perl que processa informações de arquivos PCAP, faz a reconstrução de sessões TCP e recupera arquivos de imagem » Site: • http://chaosreader.sourceforge.net/ » Como usar: • Busca sessões telnet, arquivos FTP, HTTP transferências (HTML, GIF, JPEG, e-mails SMTP) • Relatórios imagem conteúdo de HTTP GET/POST 30 CHAOSREAD » Exemplo ./chaosreader0.94 evidence02.pcap $* is no longer supported at ./chaosreader0.94 line 265. Chaosreader ver 0.94 Opening, evidence02.pcap Reading file contents, 100% (335144/335144) Reassembling packets, 100% (539/542) Creating files... Num Session (host:port <=> host:port) Service 0007 192.168.1.159:1036,64.12.102.142:587 submission 0008 192.168.1.159:1038,64.12.102.142:587 submission 0002 192.168.1.10:123,192.168.1.255:123 ntp 0009 192.168.1.159:1025,192.168.1.30:514 syslog index.html created. 31 CHAOSREAD 32 CHAOSREAD 33 CHAOSREAD 34 NGREP » Ferramenta pcap-aware que permite busca de informações em arquivos de captura através de expressões regulares estendidas ou hexadecimal » Site: • http://ngrep.sourceforge.net/ » Como usar? • Depura protocolos (http, smtp, ftp) • Identificar e analisar as comunicações de redes anômalas • Armazena, lê e processa arquivos PCAP 35 NGREP » Opções utilizadas w Expressão buscada I Arquivo de entrada 36 NGREP » Exemplo EXPLICAR AS OPÇÕES ngrep w 'smtp' I evidence02.pcap input: evidence02.pcap match: ((^smtp\W)|(\Wsmtp$)| \Wsmtp\W)) ######################### U 192.168.1.159:1026 > 10.1.1.20:53 .............smtp.aol.com..... # U 10.1.1.20:53 > 192.168.1.159:1026 .............smtp.aol.com..................smtp.cs...*......... .@f..*[email protected].*...............*...............*......... ..N..*..........@....*.............2.*.............../......... ..dns02.ns././...........dns01. 37 NMAP / ZENMAP » Scanner de portas TCP e UDP • Encontra portas abertas em computadores e faz um “discover” na rede • Versão para GNU/Linux: zenmap » Site: • http://nmap.com 38 NMAP / ZENMAP 39 Mão na massa Mão na massa » Verificação do tipo de arquivo que iremos analisar 41 Mão na massa » Fazer a duplicação pericial do arquivo, o cálculo e a comparação do HASH dos arquivos 42 Mão na massa » Identificar intervalos de tempo para ver se é necessário dividir o arquivo em partes menores 43 Mão na massa 44 Mão na massa » Agora utilizaremos o ngrep para filtrar informações do pacote 45 Mão na massa 46 Mão na massa » Utilizaremos a ferramenta tcpflow para analisar as sessões 47 Mão na massa » Para visualizar os arquivos criados usamos a ferramenta tcpflow 48 Mão na massa » Analisando a mesma sessão no wireshark 49 Mão na massa » Analisando a mesma sessão no xplico 50 Mão na massa » Analisando a mesma sessão no xplico 51 Conclusão Mais Informações http://academiaforenselivre.com.br 54