AnALise Forense - Portal Seguranca de Redes
Transcrição
AnALise Forense - Portal Seguranca de Redes
AnALise Forense em Memoria Ricardo Kléber Martins Galvão www.ricardokleber.com [email protected] SecurityDay :: 23/11/2013 Análise Forense Definindo e Contextualizando... “A aplicação de princípios das ciências físicas ao direito na busca da verdade em questões cíveis, criminais e de comportamento social para que não se cometam injustiças contra qualquer membro da sociedade” (Manual de Patologia Forense do Colégio de Patologistas Americanos, 1990). – Levantar evidências que contam a história do fato: • • • • Quando? Como? Porque? Onde? – Normas e Procedimentos Computação Forense Definindo e Contextualizando... • Supre as necessidades das instituições legais para manipulação de evidências eletrônicas; • Estuda a aquisição, preservação, identificação, extração, recuperação e análise de dados em formato eletrônico; • Produz informações diretas e não interpretativas. Auxilia em investigações que apuram desde violações de normas internas a crimes eletrônicos Computação Forense Use com moderação e responsabilidade... Lei 12.737/2012 Art. 154-A Invadir dispositivo informático alheio, conectado ou não à rede de computadores, mediante violação indevida de mecanismo de segurança e com o fim de obter, adulterar ou destruir dados ou informações sem autorização expressa ou tácita do titular do dispositivo ou instalar vulnerabilidades para obter vantagem ilícita: Pena – detenção, de 03 (três) meses a 01 (um) ano, e multa. § 1o Na mesma pena incorre quem produz, oferece, distribui, vende ou difunde dispositivo ou programa de computador com o intuito de permitir a prática da conduta definida no caput. § 2o Aumenta-se a pena de um sexto a um terço se da invasão resulta prejuízo econômico. Computação Forense É necessário se especializar... A contestação de técnicas periciais utilizadas (quando provada tecnicamente) pode inviabilizar todo o esforço pericial... ● Na maioria das vezes é mais fácil provar que as técnicas utilizadas foram inadequadas que provar que o acusado é inocente... ● Boaz Guttman (www.4law.co.il) Não basta formação/conhecimento na área... Perícia em Informática é coisa séria !!! Computação Forense Contextualizando... Conceitos Importantes • Evidências • Não-Voláteis x Voláteis • Tipos de Análise: • In Loco • Post mortem • Recuperação • Extração Computação Forense Contextualizando... O que Coletar/Analisar ? • Mídias • Hds, pendrives, cds, dvds... • Dispositivos não convencionais • Câmeras digitais, óculos/relógios/pulseiras... (com dispositivos de armazenamento). • Dados trafegando na rede • “Grampos” digitais para interceptar dados trafegando entre equipamentos • Dados em memória • O que está (ou estava) na memória volátil Computação Forense em... Mídias Captura, recuperação, extração e análise (com ferramentas apropriadas) Computação Forense em... Redes Captura de tráfego e realização da Extração (com ferramentas apropriadas) Computação Forense em... Memória Análise “a quente” dos dados da memória Dump (cópia de conteúdo de memória) e análise (com ferramentas apropriadas) Análise Forense em Memória Definição e Pontos Relevantes Manipulação e/ou captura e análise de dados armazenados na memória volátil (passível de perda no desligamento ou sobrescrita no funcionamento normal) do equipamento O que buscar? ● Arquivos abertos, bibliotecas em execução, módulos ativos ● Processos em execução e conexões estabelecidas ● Senhas (sem criptografia) armazenadas temporariamente ● Informações de controle do Sistema Operacional ● ● Dados do registro (Windows) por exemplo... Malwares !!! Análise Forense em Memória Análise “a quente” ● Abordagem que deve ser planejada com cuidado !!! ● Acesso ao sistema ligado ● Possibilidade de: ● ● “Contaminação” de dados ● Destruição de evidências ● Contestação judicial (quando for o caso) Provável impossibilidade de repetição de atividades de análise Análise Forense em Memória Análise “a quente” ● Comandos "básicos" do Windows ● ● ipconfig, arp, nbtstat, netstat, net, ... Ferramentas complementares (avançadas): ● Sysinternals ● http://technet.microsoft.com/en-us/sysinternals/default.aspx ● ● ● ● ● ● ● ● ● Process Explorer Autoruns DiskMon NTFSInfo PortMon PsExec PsFile PsInfo PsList ● ● ● ● ● ● ● ● ● PsLogList PsService PsSuspend RAMMap Registry Usage RootKitRevealer Strings TCPView (...) Outros Desenvolvedores: ● ● NirSoft Foundstone Análise Forense em Memória Análise “a quente” COFEE (Computer Online Forensic Evidence Extractor) ● Ferramenta “Law Enforcement” da Microsoft ● https://cofee.nw3c.org/ ● ● http://www.microsoft.com/enus/news/press/2009/oct09/10-13cofeepr.aspx https://wikileaks.org/wiki/Microsoft_COFEE_(Com puter_Online_Forensics_Evidence_Extractor)_tool _and_documentation,_Sep_2009 Análise Forense em Memória Análise “a quente” COFEE (Computer Online Forensic Evidence Extractor) ● Conjunto de comandos do próprio Windows e da Sysinternals arp.exe ‐a at.exe autorunsc.exe getmac.exe handle.exe ‐a hostname.exe ipconfig.exe /all msinfo32.exe /report %OUTFILE% nbtstat.exe ‐n nbtstat.exe ‐A 127.0.0.1 nbtstat.exe ‐S nbtstat.exe ‐c net.exe share net.exe use net.exe file net.exe user net.exe accounts net.exe view net.exe start net.exe Session net.exe localgroup administrators /domain net.exe localgroup net.exe localgroup administrators net.exe group netdom.exe query DC netstat.exe ‐ao netstat.exe ‐no openfiles.exe /query/v psfile.exe pslist.exe pslist.exe ‐t psloggedon.exe psservice.exe pstat.exe psuptime.exe quser.exe route.exe print sc.exe query sc.exe queryex sclist.exe showgrps.exe srvcheck \127.0.0.1 tasklist.exe /svc whoami.exeFEE Análise Forense em Memória Análise “a quente” COFEE (Computer Online Forensic Evidence Extractor) ● DECAF = Ferramenta para detecção e subversão de dados enviados para o COFEE ● http://decafme.org ● ● ● ● ● ● Spoof de MAC Address Kill em processos ativos Shutdown na máquina Desabilita adaptadores de rede Desabilita portas USB Desabilita Floppy Drive (!!??) ● ● ● ● ● ● Desabilita CD/DVD-ROM Desabilita portas Seriais e Paralelas Apaga arquivos e pastas Apaga logs do Event Viewer Remove clientes torrent Apaga cache, cookies e histórico do browser Análise Forense em Memória Dump + Análise “post mortem” ● Desafio inicial: Estrutura (não é um sistema de arquivos estruturado) ● Busca por expressões regulares (comando strings) = padrões/evidências ● ● Método “manual” Uso de ferramentas específicas para manipular imagens de memória ● Encontrar offsets das principais estruturas ● Extrair estruturas da memória/dump ● Recuperar evidências Análise Independe do sistema de arquivos analisado Análise Forense em Memória A Captura (Dump) ● Captura (dump) pode ser realizada via hardware ou software Captura via Hardware (especializado) ● Suspensão do processador ● Captura da imagem via DMA (Direct Memory Access) ● Ex: Tribble Card Placa que deve ser instalada ANTES do comprometimento do sistema Vídeo de exemplo (Youtube): http://www.youtube.com/watch?v=vJszLtaIyIk Análise Forense em Memória A Captura (Dump) Captura (dump) via software ● Linux: Ferramentas para Aquisição (dump): ● ● dd/dcfldd (/dev/fmem) Windows: Ferramentas para Aquisição (dump): ● ● ● dd para Windows (dd.exe) ● http://gmgsystemsinc.com/fau/ Memparser (Chris Betz) ● http://sourceforge.net/projects/memparser/ Win32dd Win64dd → DumpIt (Moonsols) ● http://www.moonsols.com/windows-memory-toolkit/ Análise Forense em Memória A Captura (Dump) Captura (dump) via software :: Outras Ferramentas: ● Mandiant Memoryze ● ● Mantech Memory DD ● ● http://www.mantech.com/msma/MDD.asp Winen32/64 (Guidance) ● ● http://www.mandiant.com/software/memoryze.htm http://www.guidancesoftware.com FastDump (HBGary) ● http://www.hbgary.com/download_fastdump.html http://www.forensicswiki.org/ wiki/Tools:Memory_Imaging Análise Forense em Memória Análise “post mortem” ● Após aquisição de imagem de memória (dump) ● Uso de strings/grep e “buscas específicas” ● Carving Manual ● Exemplo (Sistemas Windows) ● ● Qual a Versão do Windows? ● Dump de memória + strings = arquivo_strings ● cat arquivo_strings |egrep '(KB[0-9]{6})'| grep -i windows Busca por expressões regulares: ● Nomes de pessoas/usuários ● E-mails eventualmente disponíveis na memória ● Nomes de documentos, programas, senhas... Análise Forense em Memória Análise “post mortem” Outras ferramentas para análise de imagens (dumps): ● FATKit ● EnCase (Guidance) ● WMFT ● FTK (Access Data) ● Procenum ● F-Response ● Idetect ● HBGary Responder ● VAD Tools ● KnTTools ● FlyPaper ● WinDbg ● Memoryze (Mandiant) ● PTK (Framework) Análise Forense em Memória Framework Específico para Análise (múltiplos S.O.) Volatility (+plugins) ● http://code.google.com/p/volatility ● Versão Atual: 2.3.1 ● Linguagem de Desenvolvimento: Python ● Blog (alternativo): http://www.forensicswiki.org/wiki/Volatility_Framework ● Plugins: http://www.forensicswiki.org/wiki/List_of_Volatility_Plugins Análise Forense em Memória Framework Específico para Análise (múltiplos S.O.) Volatility (+plugins) ● Versão estável (pacote) de sua distribuição (Linux/Debian): ● ● apt-get install volatility Versão estável atualizada = Subversion (SVN): ● svn checkout http://volatility.googlecode.com/svn/trunk Análise Forense em Memória Framework Específico para Análise (múltiplos S.O.) # python vol.py -h Volatility Foundation Volatility Framework 2.3.1 Usage: Volatility - A memory forensics analysis platform. Principais opções/parâmetros: -h --conf-file=/root/.volatilityrc -d --plugins=PLUGINS --info help da ferramenta arquivo de configuração (default) modo de depuração (debug) diretório para plugins extras informações sobre todos os objetos Análise Forense em Memória Framework Específico para Análise (múltiplos S.O.) # python vol.py --info Volatility Foundation Volatility Framework 2.3.1 Profiles -------VistaSP0x64 VistaSP0x86 (...) Plugins ------apihooks atoms (...) - A Profile for Windows Vista SP0 x64 - A Profile for Windows Vista SP0 x86 - Detect API hooks in process and kernel memory - Print session and window station atom tables Análise Forense em Memória com Volatility Uso em Dumps de Memória de Sistemas Windows Exemplos de uso de plugins no Volatility: python vol.py {plugin} -f {arquivo_dump} Informações sobre o sistema da imagem analisada: $ python vol.py imageinfo -f {arquivo_dump} Módulos/bibliotecas carregados: $ python vol.py modules -f {arquivo_dump} Sockets (Ips e portas com data/hora: $ python vol.py sockets -f {arquivo_dump} Processos ativos c/data/hora: $ python vol.py pslist -f {arquivo_dump} Análise Forense em Memória com Volatility Exemplos de Uso :: Sistemas Windows ● Saída do parâmetro imageinfo: # python vol.py imageinfo -f imagem_windows.raw Volatility Foundation Volatility Framework 2.3.1 Determining profile based on KDBG search... Suggested Profile(s) Number of Processors Image Type (Service Pack) Image date and time Image local date and time : : : : : WinXPSP2x86, WinXPSP3x86 1 3 2011-04-10 21:29:25 UTC+0000 2011-04-10 14:29:25 -0700 Análise Forense em Memória com Volatility Exemplos de Uso :: Sistemas Windows ● Saída do parâmetro pslist: # python vol.py pslist -f imagem_windows.raw Volatility Foundation Volatility Framework 2.3.1 Determining profile based on KDBG search... Offset(V) --------0x823c8830 0x82156a18 0x81e42020 0x81f1a978 0x81ead620 0x82145020 0x82328020 0x81d82158 0x81f1f228 0x8227bb28 0x81d5ada0 0x82088a78 0x820d3c10 0x81f6d228 (...) Name PID PPID Thds Hnds Sess Wow64 -------------------- ----- ----- ------ ------ ------ -----System 4 0 55 246 -0 SMSS.EXE 368 4 3 19 -0 CSRSS.EXE 600 368 10 362 0 0 WINLOGON.EXE 624 368 23 522 0 0 SERVICES.EXE 668 624 16 252 0 0 LSASS.EXE 680 624 22 331 0 0 SVCHOST.EXE 844 668 18 164 0 0 SVCHOST.EXE 1056 668 6 76 0 0 SVCHOST.EXE 1104 668 14 194 0 0 EXPLORER.EXE 1956 1932 16 427 0 0 ALG.EXE 840 668 6 101 0 0 WORDPAD.EXE 320 1204 2 98 0 0 cmd.exe 972 1956 1 33 0 0 win32dd.exe 1120 972 1 22 0 0 Start Exit ------------ -----------------------------2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 2011-04-10 21:05:13 21:05:16 21:05:16 21:05:16 21:05:16 21:05:16 21:05:17 21:05:18 21:05:29 21:05:33 21:08:40 21:28:24 21:29:24 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 UTC+0000 Análise Forense em Memória com Volatility Exemplos de Uso :: Sistemas Windows ● Saída do parâmetro connscan: # python vol.py connscan -f imagem_windows.raw Volatility Foundation Volatility Framework 2.3.1 Offset(P) ---------0x02350cd8 0x024b8838 Local Address ---------------------192.168.1.32:1044 192.168.1.32:1047 Remote Address ------------------------91.199.75.77:80 192.168.1.150:139 Pid --1204 4 Análise Forense em Memória com Volatility Windows 8 :: O que há de novo !!?? Suporte do Volatility para Windows8: - Versão 3.0 (em desenvolvimento) ● Addition of Windows 8 / Server 2012 Support/Testing Novos Profiles para Windows 8 = Win8SP0x86 | Win8SP0x64 - Tutorial da nova versão: https://volatility.googlecode.com/svn/branches/scudette/docs/index.html - Versão Atual (desenvolvimento) [24/02/2013] Preview Release 0.2: https://volatility.googlecode.com/files/volatility-tp2.zip - Instalação via SVN: svn checkout http://volatility.googlecode.com/svn/branches/scudette/ volatility # ./vol.py --help The Volatility Memory Forensic Framework technology preview (3.0_tp2) Análise Forense em Memória com Volatility Windows 8 :: O que há de novo !!?? Plugins Disponíveis (versão 3.0_tp2): ● ● ● ● ● ● ● ● ● ● ● ● ● ● kdbgscan pslist pstree psscan dlllist dlldump pedump handles getsids cmdscan consoles procinfo memmap procexedump ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● vadinfo vadwalk vadtree vaddump evtlogs modules modscan moddump driverscan filescan mutantscan symlinkscan thrdscan connections connscan sockets ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● sockscan netscan hivescan hivelist printkey hivedump hashdump lsadump userassist shimcache getservicesids crashinfo hibinfo imagecopy raw2dmp malfind ● ● ● ● ● ● ● ● ● ● ● ● ● yarascan svcscan ldrmodules impscan apihooks idt gdt threads callbacks driverirp devicetree psxview timers Análise Forense em Memória com Volatility Windows 8 :: O que há de novo !!?? Última Dica sobre o Volatility: - Versão 3.0 (em desenvolvimento) ● Traz, adicionalmente, ferramenta de Dump de Memória: WinPMEM ● /usr/share/volatility-3.0-tp2/tools/windows/winpmem ● Versão 1.1 ● Copyright 2012 Michael Cohen <[email protected]> ● Licença: Apache 2.0 Análise Forense em Memória com Volatility Imagens para Praticar NIST Computer Forensic Reference Data Sets (CFReDS Project): - http://www.cfreds.nist.gov/mem/ Arquivo com várias amostras de imagens de memória: ● http://www.cfreds.nist.gov/mem/memory-images.rar ● Imagens de Memórias disponibilizadas pelo Volatility (para testes): http://code.google.com/p/volatility/wiki/SampleMemoryImages Distribuições Específicas Facilitando a vida do Perito :) www.deftlinux.net ● Distribuição Específica para Computação Forense ● Versão Atual: 8.0 ● Versão LiveCD e LiveUSB Distribuições Específicas Facilitando a vida do Perito :) www.kali.org ● Nova Geração das distribuições para pentesting ● Sucessor do Backtrack Linux (7 anos de desenvolvimento) ● Desenvolvido pela Offensive Security ● Baseado no Debian 7.0 (Wheezy) ● Disponível desde 11/03/2013 ● ISO (Live / Instalador) e Máquina Virtual (Vmware) Quer saber mais sobre Segurança da Informação? www.ricardokleber.com Palestras: www.ricardokleber.com/palestras Vídeos: www.ricardokleber.com/videos Twitter: www.twitter.com/ricardokleber
Documentos relacionados
Extração e Análise de Dados em Memória na Perícia Forense
existe no XP e o Volatility ainda não analisa dumps de memória do Vista, esta alternativa pode não oferecer resultados imediatos, mas poderá ser útil quando o Volatility passar a suportar os novos ...
Leia maisForense em memória com volatility, LiME e outras
Estrutura básica de memória • Similarmente aos filesystems, memórias trabalham com blocos, conhecidos como páginas. • O tamanho de cada página será determinado pela arquitetura de processador. • ...
Leia mais