Projeto MUFFIN de Resposta a Incidentes  Uma receita para causar indigestão nos                               malwares    ...
Quem sou ? • Tony Rodrigues, CISSP, CFCP, Security+ • Gestor/TI e Consultor em Segurança de Informações • Perito/Investiga...
Um talento na culinária !        Ainda assim ...       Projeto MUFFIN
Vamos assar um MUFFIN !       Projeto MUFFIN
Agenda • Introdução  – Resposta a Incidentes em 2 minutos • Ferramentas disponíveis para IR  – Utilitários  – Coletores  –...
Resposta a Incidentes • Usa técnicas semelhantes à   Computação Forense • Objetivo de conter e minimizar   impactos ao neg...
CSIRT • Time de Resposta a Incidentes em   Segurança de Informações • Equipes fixas ou acionadas no evento • Na maioria da...
Na Teoria                  Preparação                             Identificação                                           ...
Na Prática                            Maior                          Window Of                          Exposure Desprepar...
Verizon Report confirma                          Problemas na Identificação,                          falta de foco na pre...
Nosso Foco hoje é ...                          Preparação:                          Ferramentas         Projeto MUFFIN
Ferramentas Disponíveis • Importantes na coleta de dados   voláteis    • Utilitários    • Coletores    • Toolkits de Incid...
Utilitários  • Comandos do Shell     • Netstat, Nbtstat, Dir  • Nirsoft     • Cports, Myeventviewer,       IPNetInfo,MyLas...
Coletores • Automatizam a coleta de   informações    • WFT    • IRCR2    • FRUC/FPSC    • COFEE (*não é FOSS)            P...
Toolkits de Resposta a Incidentes • Trazem pacotes e ferramentas em   um mesmo módulo    • WinTaylor (CAINE)    • DEFT Ext...
COFEE• Criado pela Microsoft para Agentes da Lei  (Polícias, Agencias do Gov, etc)• Automatiza a execução de ferramentas  ...
COFEE        Projeto MUFFIN
COFEE        Projeto MUFFIN
COFEE        Projeto MUFFIN
DECAF • Surgiu inicialmente para ataque   direto ao COFEE • Baseado em assinaturas • Foi estendido para atacar outras   to...
Helix IR • Traz os principais utilitários para   Resposta a Incidentes em Windows • Foi o pioneiro e o mais utilizado até ...
DEFT EXTRA• Criado por um grupo italiano• Interface gráfica para várias ferramentas e  utilitários de captura de dados vol...
CAINE WinTaylor• Também foi criado por um grupo italiano• Interface gráfica para várias ferramentas e  utilitários de capt...
Toolkit de IR dos SonhosNão deve ter os pontos fracos: Requerer leitor de CD Ferramentas e utilitários que não podem ser...
Muffin ao invés de Sonho !Projeto Muffin: Indigesto para os malwaresMasterUnitForForensicsINvestigation                Obj...
Aprovado até na TV !            Hummmmm !        Projeto MUFFIN
Aprovado até na TV !                                            Vencedor da melhor                                        ...
A Receita de MUFFIN vencedora        Projeto MUFFIN
Eis então ...         Receita de MUFFIN         Chef Tony Rodrigues                           E Gustavo Robertux !        ...
Ingredientes • Um pendrive U3 com boa capacidade • Utilitários 32-bit e 64-bit    • Nirsoft    • SysInternals    • Dumpers...
Escolhendo os utilitários        Escolha o sabor e      separe os ingredientes          Projeto MUFFIN
Escolhendo os utilitários• Utilitários 32-bit e 64-bit   • Nirsoft, SysInternals, MiTeC   • Dumpers de Memória• Commands e...
Escolhendo os utilitários • Todos os commands e utilitários devem   ser homologados em cada SO/Service   Pack existente na...
Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser  atualizad...
Preparando a estrutura e automatizando a coleta                   Unte a forma        Projeto MUFFIN
Preparando a estrutura e automatizando a coleta• Preparando a estrutura da toolkit   • Crie um diretório no HD   • Crie su...
Preparando a estrutura e automatizando a coleta• Combinações de SO   • São os diretórios que conterão ferramentas      e u...
Preparando a estrutura e automatizando a coleta• Automatizando a coleta   • WFT   • Batch   • Melhor dos dois mundos      ...
Automatizando a coleta - WFT• A ordem e os utilitários podem ser configurados no arquivo  wft.cfg• Outros parâmetros podem...
Automatizando a coleta - Batch• Um grande arquivo batch (coletor) que trate a  ordem e os utilitários• Essa opção tem meno...
Automatizando a coleta – Melhor dos Mundos• Um utilitário de preparação prévia   • Semelhante ao oferecido pelo COFEE   • ...
Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser  atualizad...
Evitando alterações nos dados colhidos       Prepare as forminhas         Projeto MUFFIN
Evitando alterações nos dados colhidos• Saídas das ferramentas devem ser redirecionadas   • Para um drive local (pendrive)...
Evitando alterações nos dados colhidos• Hash detecta alterações, mas não as evita !• O rootkit TDL3 tem algo interessante ...
Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser  atualizad...
Obfuscando o trabalhoJunte os ingredientes em um grande pote e misture bem        Projeto MUFFIN
Obfuscando o trabalho• Ferramentas de Antivírus costumam atrapalhar  operações de IR   • Bloqueiam a execução de alguns ut...
Algumas estratégias• Packers   • Evita detecção por hash do arquivo completo   • Não é garantido contra hash de parte do  ...
Algumas estratégias• Crypters   • Evita detecção por hash do arquivo     completo e por partes   • Um código stub fica adi...
Hydan• Apresentado inicialmente na BlackHat 2004 por  Crazydog• Engenhoso projeto de esteganografia   • Esconde conteúdo e...
Modificando Hydan• Conteúdo de entrada (estego) => string aleatória   • Objetivo não é esconder a string, mas gerar     um...
FUD (Fully Undetectable) ?• Ainda não   • Strings aleatórias com seqüência de bits     semelhantes podem geram longos trec...
Sonhando com a resposta• O código stub será um decrypter implementado  em RC4   • O código base será distribuído como códi...
Aplicando ao Muffin• Um dos utilitários do Muffin fará a preparação:   • A rotina descrita será aplicada sobre cada     ex...
Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser  atualizad...
Gerando o .iso e copiando para o pendrive       Leve ao forno brando        Projeto MUFFIN
Gerando o .iso• É preciso empacotar o grupo de utilitários   • Um arquivo autorun.inf deve ser colocado na     raiz do MUF...
Levando para um pendrive• O arquivo .iso precisa ser colocado em um  pendrive• Problema: Pendrives são read-write   • Ferr...
Pendrive U3• Modelos específicos de pendrive  • Vários fabricantes possuem linha    U3  • Logicamente divididos em 2    pa...
Pendrive U3• USB Hacksaw/Switchblade   • Projeto da hak5.org   • Executa um arquivo pelo autorun     que vasculha a máquin...
Gravando o .iso• Algumas maneiras:   • LPInstaller.exe   • U3_tool.exe   • Estamos sem sorte ...         Projeto MUFFIN
Gravando o .iso - LPInstaller• Utilitário que atualiza pendrives U3 com  um .iso   • Específico para U3 Sandisk   • Carreg...
Gravando o .iso – U3 Tool• Utilitário free que atualiza pendrives U3  com um .iso   • Homologado para U3 Sandisk e      Ve...
Gravando o .iso – Quebrando pedras• LPInstall e U3_Tool não funcionaram • Como eles trabalham ?                          ...
Gravando o .iso – Quebrando pedras• E se o pendrive U3 não der suporte  LPInstall ou U3_Tool ?   • Localize o autorun.inf ...
Gravando o .iso – Quebrando pedras II• Instale um webserver e recrie a path do  passo anterior• Coloque o .iso com o MUFFI...
Problema: Disponibilidade dos U3• Pendrives U3 podem não ser tão comuns   • Maior custo   • Não são tão facilmente encontr...
Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser  atualizad...
Usando o MUFFIN      Sirva depois de esfriar        Projeto MUFFIN
Usando o MUFFIN• Ao plugar o pendrive, o Windows montará  as duas partições   • O autorun.inf vai executar o .bat     prin...
Usando o MUFFIN II  Sirva também aos vizinhos         Projeto MUFFIN
Usando o MUFFIN II• Uma forma de usar o MUFFIN remotamente   • Coloque o pendrive com o MUFFIN na      estação de controle...
Objetivos atingidos ao finalResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser  ...
Um objetivo mal atingido• É possível filtrar ferramentas que alterem  substancialmente os dados voláteis   • Principalment...
Status do Projeto MUFFIN• Lançado no You Shot The Sheriff V• Versão 0.1 disponibilizada no SegInfo VI Edição   • Formato d...
Projeto MUFFIN - Escopo• Escopo inicial até versão 1.0   • MUFFIN Baker for Windows   • Pendrive MUFFIN somente com utilit...
Projeto MUFFIN - Detalhes• Desenvolvimento: Lazarus• Banco de Dados: SQLite• Google Code: https://code.google.com/p/muffin...
Projeto MUFFIN –Screen Shot beta – Menu Receita        Projeto MUFFIN
Projeto MUFFIN - Roadmap• Version 0.1   • Documento com procedimento• Version 0.2   • MUFFIN Baker       • Despensa       ...
Projeto MUFFIN - Roadmap II•Version 0.3   • MUFFIN Baker      • Despensa         • GUI      • Receita         • O script d...
Projeto MUFFIN - Roadmap II• Version 0.4   • MUFFIN Baker       • Despensa          • Atualização automática e manual das ...
Projeto MUFFIN - Roadmap III• Version 1.0   • MUFFIN Baker       • Forno          • Obfuscação com técnicas avançadas   • ...
Conclusão Resposta a Incidentes depende muito de  uma boa preparação para ser eficiente Ter ferramentas adequadas é reflex...
Referências•    Verizon Report    – http://newscenter.verizon.com/press-releases/verizon/2010/2010-data-breach-      repor...
Referências II •    COFEE     – http://www.microsoft.com/industry/government/solutions/cofee/default.aspx •    Cryptcat   ...
Sugestões de Leitura   http://forcomp.blogspot.com                                 http://www.e-evidence.info         Proj...
Octane Labs      Projeto MUFFIN
OctaneLabs• O que é OctaneLabs ???  • Grupo de Pesquisa Open Source em     Computação Forense e Resposta a     Incidentes•...
OctaneLabs• Projetos em andamento   • MUFFIN   • Byte Investigator   • Data Juicer• Projetos esperando por você   • Jardin...
Octane LabsWe Want YOU !            www.octanelabs.net                           @octanelabs        Projeto MUFFIN
Perguntas !       Projeto MUFFIN
Obrigado !     inv.forense arroba gmail             ponto com         (Tony Rodrigues)        Projeto MUFFIN
Upcoming SlideShare
Loading in …5
×

Vale Security Conference - 2011 - 7 - Tony Rodrigues [Octane Labs]

762 views

Published on

Vale Security Conference - 2011
Sábado - 7ª Palestra
Palestrante : Tony Rodrigues [Octane Labs]
Palestra : Projeto MUFFIN de resposta a incidentes : Uma receita para causar indigestão nos malwares
Twitter (Tony Rodrigues) : https://twitter.com/#!/OctaneLabs
Vídeo da palestra (YouTube) : http://www.youtube.com/watch?v=7z-1nXwxoDQ
Slide (SlideShare) : http://www.slideshare.net/valesecconf/tony-9665562

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
762
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Vale Security Conference - 2011 - 7 - Tony Rodrigues [Octane Labs]

  1. 1. Projeto MUFFIN de Resposta a Incidentes Uma receita para causar indigestão nos malwares Tony Rodrigues, CISSP, CFCP inv.forense arroba gmail ponto com
  2. 2. Quem sou ? • Tony Rodrigues, CISSP, CFCP, Security+ • Gestor/TI e Consultor em Segurança de Informações • Perito/Investigador/Pesquisador em Computação Forense • Blog: http://forcomp.blogspot.com Projeto MUFFIN
  3. 3. Um talento na culinária ! Ainda assim ... Projeto MUFFIN
  4. 4. Vamos assar um MUFFIN ! Projeto MUFFIN
  5. 5. Agenda • Introdução – Resposta a Incidentes em 2 minutos • Ferramentas disponíveis para IR – Utilitários – Coletores – Toolkits • Projeto MUFFIN: Causando Indigestão nos malwares • Conclusão Projeto MUFFIN
  6. 6. Resposta a Incidentes • Usa técnicas semelhantes à Computação Forense • Objetivo de conter e minimizar impactos ao negócio • Foco no efeito x foco na causa Projeto MUFFIN
  7. 7. CSIRT • Time de Resposta a Incidentes em Segurança de Informações • Equipes fixas ou acionadas no evento • Na maioria das vezes monitora, coleta, analisa e responde aos eventos • Necessita de treinamento e ferramentas adequadas Projeto MUFFIN
  8. 8. Na Teoria Preparação Identificação Restauração Contenção Acompanhamento Erradicação Projeto MUFFIN
  9. 9. Na Prática Maior Window Of Exposure Despreparo Maior Impacto Correria Vestígios Maior destruídos Downtime Projeto MUFFIN
  10. 10. Verizon Report confirma Problemas na Identificação, falta de foco na preparação ! Projeto MUFFIN
  11. 11. Nosso Foco hoje é ... Preparação: Ferramentas Projeto MUFFIN
  12. 12. Ferramentas Disponíveis • Importantes na coleta de dados voláteis • Utilitários • Coletores • Toolkits de Incident Response Projeto MUFFIN
  13. 13. Utilitários • Comandos do Shell • Netstat, Nbtstat, Dir • Nirsoft • Cports, Myeventviewer, IPNetInfo,MyLastSearch, IECacheView • SysInternals • Autorunsc, ShareEnum, Streams, Utilitários PS* • MiTec • WFA, WRR, MailViewer Projeto MUFFIN
  14. 14. Coletores • Automatizam a coleta de informações • WFT • IRCR2 • FRUC/FPSC • COFEE (*não é FOSS) Projeto MUFFIN
  15. 15. Toolkits de Resposta a Incidentes • Trazem pacotes e ferramentas em um mesmo módulo • WinTaylor (CAINE) • DEFT Extra • HELIX IR • COFEE Projeto MUFFIN
  16. 16. COFEE• Criado pela Microsoft para Agentes da Lei (Polícias, Agencias do Gov, etc)• Automatiza a execução de ferramentas preparadas previamente• Pontos fracos • Não está disponível para corporações • Dados no pendrive podem ser atacados • Ferramentas podem ser comprometidas ou bloqueadas por AV • Várias ferramentas alteram o estado dos dados voláteis • Foi alvo de ataque do DECAF Projeto MUFFIN
  17. 17. COFEE Projeto MUFFIN
  18. 18. COFEE Projeto MUFFIN
  19. 19. COFEE Projeto MUFFIN
  20. 20. DECAF • Surgiu inicialmente para ataque direto ao COFEE • Baseado em assinaturas • Foi estendido para atacar outras toolkits • Caine • DEFT • Helix • Usuário pode fazer suas próprias assinaturas • O autor desativou o código • Terceiros liberaram nova versão Projeto MUFFIN
  21. 21. Helix IR • Traz os principais utilitários para Resposta a Incidentes em Windows • Foi o pioneiro e o mais utilizado até por volta de meados de 2009 • Pontos fracos • Não teve atualizações desde junho/2009 • Só funciona em CD • Menu gráfico tem grande “footprint” • Várias ferramentas alteram o estado dos dados voláteis • Foi alvo de ataque do DECAF Projeto MUFFIN
  22. 22. DEFT EXTRA• Criado por um grupo italiano• Interface gráfica para várias ferramentas e utilitários de captura de dados voláteis• Pontos fracos • Versão em CD não é prática • Dados no pendrive podem ser atacados • Ferramentas podem ser comprometidas ou bloqueadas por AV(versão pendrive) • Várias ferramentas alteram o estado dos dados voláteis • Menu gráfico tem grande “footprint” • Foi alvo de ataque do DECAF Projeto MUFFIN
  23. 23. CAINE WinTaylor• Também foi criado por um grupo italiano• Interface gráfica para várias ferramentas e utilitários de captura de dados voláteis• Pontos fracos • Versão em CD não é prática • Dados no pendrive podem ser atacados • Ferramentas podem ser comprometidas ou bloqueadas por AV (versão pendrive) • Várias ferramentas alteram o estado dos dados voláteis • Menu gráfico tem grande “footprint” • Foi alvo de ataque do DECAF Projeto MUFFIN
  24. 24. Toolkit de IR dos SonhosNão deve ter os pontos fracos: Requerer leitor de CD Ferramentas e utilitários que não podem ser atualizadas com facilidade Manter dados coletados que podem ser atacados e/ou modificados Permitir o comprometimento ou o bloqueio (AV) das ferramentas e utilitários Utilizar ferramentas que alteram o estado dos dados voláteis Uso de menu gráfico com grande “footprint” Não coletar automaticamente os dados voláteis Ser vulnerável à ataque por assinatura Projeto MUFFIN
  25. 25. Muffin ao invés de Sonho !Projeto Muffin: Indigesto para os malwaresMasterUnitForForensicsINvestigation Objetivo: Criar uma toolkit de Resposta a Incidentes que não possua as vulnerabilidades ou fraquezas mapeadas nas toolkits atuais Projeto MUFFIN
  26. 26. Aprovado até na TV ! Hummmmm ! Projeto MUFFIN
  27. 27. Aprovado até na TV ! Vencedor da melhor sobremesa para malwares ! Gustavo Robertux Projeto MUFFIN
  28. 28. A Receita de MUFFIN vencedora Projeto MUFFIN
  29. 29. Eis então ... Receita de MUFFIN Chef Tony Rodrigues E Gustavo Robertux ! Projeto MUFFIN
  30. 30. Ingredientes • Um pendrive U3 com boa capacidade • Utilitários 32-bit e 64-bit • Nirsoft • SysInternals • Dumpers de Memória • MiTeC • Commands e utilitários CLI dos SOs usados na sua empresa • Forno Indicado: CD Burner • Linux e Windows • Cryptcat • Hydan • USB Hacksaw/Switchblade Projeto MUFFIN
  31. 31. Escolhendo os utilitários Escolha o sabor e separe os ingredientes Projeto MUFFIN
  32. 32. Escolhendo os utilitários• Utilitários 32-bit e 64-bit • Nirsoft, SysInternals, MiTeC • Dumpers de Memória• Commands e utilitários CLI• WinTaylor, Cofee e DEFT Extra são bons pontos de partida para ajudar na seleção dos utilitários• Confira o hash com o original do site !• Preferência para CLI • A maioria da Nirsoft possui GUI e CLI • Menor “footprint” Projeto MUFFIN
  33. 33. Escolhendo os utilitários • Todos os commands e utilitários devem ser homologados em cada SO/Service Pack existente na empresa • Confira os que alteram timestamps ou criam temporários • Desejável é não usá-los • Pode-se documentar as alterações introduzidas Projeto MUFFIN
  34. 34. Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser atualizadas com facilidade Manter dados coletados que podem ser atacados e/ou modificados Permitir o comprometimento ou o bloqueio (AV) das ferramentas e utilitários Utilizar ferramentas que alteram o estado dos dados voláteis Uso de menu gráfico com grande “footprint” Não coletar automaticamente os dados voláteis Ser vulnerável à ataque por assinatura Projeto MUFFIN
  35. 35. Preparando a estrutura e automatizando a coleta Unte a forma Projeto MUFFIN
  36. 36. Preparando a estrutura e automatizando a coleta• Preparando a estrutura da toolkit • Crie um diretório no HD • Crie subdiretórios de acordo com: • SO • 32/64bit • Combinações de SO (ex: Todos, WinVistaWin7, etc) • Colocar apenas os SOs presentes na empresa • Dentro de cada diretório de SO devem estar, em seus respectivos subdiretórios: • As ferramentas e suas dependências • O command e seus utilitários de apoio • Cada um devidamente homologado Projeto MUFFIN
  37. 37. Preparando a estrutura e automatizando a coleta• Combinações de SO • São os diretórios que conterão ferramentas e utilitários homologados para mais de um SO/Service Pack• Ex:C:MUFFINC:MUFFINWinXPC:MUFFINWinXPcmdC:MUFFINWinXPutilxxC:MUFFINVista32cmdC:MUFFINVista32utilyyyC:MUFFINVista64cmdC:MUFFINVista64utilzzzC:MUFFINWinXPVistautilaaaC:MUFFINTodosutilkkk Projeto MUFFIN
  38. 38. Preparando a estrutura e automatizando a coleta• Automatizando a coleta • WFT • Batch • Melhor dos dois mundos Projeto MUFFIN
  39. 39. Automatizando a coleta - WFT• A ordem e os utilitários podem ser configurados no arquivo wft.cfg• Outros parâmetros podem ser passados pela linha de comando• Exemplo de Formato do .cfg (~ seria o TAB): EHWP~WinXPsr.exe~NA~<%toolpath%><%executable%> > <%dst%><%output%>~restorepoints~Restore Points~<FONT face=Tahoma size=4><B>Restore Points</B></FONT> &nbsp; <P><B>Restore Points</B> -- Exibe os Restore Points da máquina<P>• Um .bat pode ser criado para capturar o SO e chamar o WFT com os parâmetros e .cfg específicos Projeto MUFFIN
  40. 40. Automatizando a coleta - Batch• Um grande arquivo batch (coletor) que trate a ordem e os utilitários• Essa opção tem menor “footprint” que o WFT• O IRCR2 pode ser usado como modelo• Parâmetros podem ser passados pela linha de comando• Um outro .bat pode ser criado para capturar o SO e chamar o coletor com os parâmetros específicos• Resultados dos comandos preferencialmente em .csv ou xml• Antes de executar um utilitário, o hash dele pode ser calculado/validado para garantir a integridade Projeto MUFFIN
  41. 41. Automatizando a coleta – Melhor dos Mundos• Um utilitário de preparação prévia • Semelhante ao oferecido pelo COFEE • Tem relacionado todos os comandos, options, ferramentas e utilitários disponíveis na estrutura • Usuário indica a ordem e os parâmetros a serem executados • Pode criar perfis diferentes, dependendo do tipo de incidente • A saída pode ser • Um arquivo cfg do WFT • Um batch customizado só com as chamadas Projeto MUFFIN
  42. 42. Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser atualizadas com facilidade Manter dados coletados que podem ser atacados e/ou modificados Permitir o comprometimento ou o bloqueio (AV) das ferramentas e utilitários Utilizar ferramentas que alteram o estado dos dados voláteis Uso de menu gráfico com grande “footprint” Não coletar automaticamente os dados voláteis Ser vulnerável à ataque por assinatura Projeto MUFFIN
  43. 43. Evitando alterações nos dados colhidos Prepare as forminhas Projeto MUFFIN
  44. 44. Evitando alterações nos dados colhidos• Saídas das ferramentas devem ser redirecionadas • Para um drive local (pendrive) • Para um endereço de rede (via cryptcat). • Sempre por um utilitário de cálculo de hash • Redirecione os erros também !• O hash vai permitir verificar a integridade dos resultados• O cryptcat possibilitará comunicação segura dos dados para um servidor de coleta • Deve ser implementado na automação da coleta, no batch • O servidor deverá estar em modo Listening ... Projeto MUFFIN
  45. 45. Evitando alterações nos dados colhidos• Hash detecta alterações, mas não as evita !• O rootkit TDL3 tem algo interessante a nos favorecer • Implementa um Sistema de Arquivos próprio • Dados são criptografados no interior• O MUFFIN poderá fazer exatamente igual ? • Não, não temos como usar Kernel Mode • A técnica pode ser adaptada• Todas as saídas podem ser armazenadas juntas • Criptografadas • Em um arquivo único ou espalhadas pelo disco • Ataques precisariam ser direcionados Projeto MUFFIN
  46. 46. Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser atualizadas com facilidade Manter dados coletados que podem ser atacados e/ou modificados Permitir o comprometimento ou o bloqueio (AV) das ferramentas e utilitários Utilizar ferramentas que alteram o estado dos dados voláteis Uso de menu gráfico com grande “footprint” Não coletar automaticamente os dados voláteis Ser vulnerável à ataque por assinatura Projeto MUFFIN
  47. 47. Obfuscando o trabalhoJunte os ingredientes em um grande pote e misture bem Projeto MUFFIN
  48. 48. Obfuscando o trabalho• Ferramentas de Antivírus costumam atrapalhar operações de IR • Bloqueiam a execução de alguns utilitários • Removem o utilitário ou o põem em quarentena• Ferramentas de anti-forense ou anti- investigação podem detectar utilitários de IR e os atacar • Como o DECAF • Detecção baseada em assinaturas • Por hash do arquivo • Por hash de um trecho Projeto MUFFIN
  49. 49. Algumas estratégias• Packers • Evita detecção por hash do arquivo completo • Não é garantido contra hash de parte do arquivo • Antivirus conseguem detectar (fazem o unpack)• Multi-packing • Várias passadas com Packers diferentes • Perdem funcionalidade • Nem sempre o programa continua funcional • Não garantido contra todos os AVs Projeto MUFFIN
  50. 50. Algumas estratégias• Crypters • Evita detecção por hash do arquivo completo e por partes • Um código stub fica adicionado ao código real criptografado • AV e assinaturas detectam pelo código stub, que é conhecido Projeto MUFFIN
  51. 51. Hydan• Apresentado inicialmente na BlackHat 2004 por Crazydog• Engenhoso projeto de esteganografia • Esconde conteúdo em arquivos executáveis • Não altera o tamanho do arquivo • O executável continua 100% funcional • Troca operações funcionalmente idênticas • Ex: add eax, 50 trocada por sub eax, -50 • Vulnerável a análise de freqüência • Muitas operações “sub” com operandos negativos são naturalmente incomuns Projeto MUFFIN
  52. 52. Modificando Hydan• Conteúdo de entrada (estego) => string aleatória • Objetivo não é esconder a string, mas gerar um executável aleatoriamente diferente com mesmas funcionalidades• Ampliar número de instruções semelhantes • Não estamos presos a troca de instruções Difícil com mesmo número de bytes implementação • Inserir NOPs aleatórios devido à modificação dos • Inserir bytes aleatórios como código nunca offsets executado • Trabalhar códigos 64-bit• Não é sensível à análise de freqüência• Não é detectado por assinatura por hash Projeto MUFFIN
  53. 53. FUD (Fully Undetectable) ?• Ainda não • Strings aleatórias com seqüência de bits semelhantes podem geram longos trechos não alterados• Mesclando Hydan e Crypters • Um Crypter criptografa o executável • O código stub é alterado pelo Hydan Modificado E o problema dos• O conjunto será offsets ??? • Indetectável por hash do arquivo • Praticamente indetectável por hash de parte do arquivo Projeto MUFFIN
  54. 54. Sonhando com a resposta• O código stub será um decrypter implementado em RC4 • O código base será distribuído como código fonte em Assembly • A string aleatória vai determinar o grupo de transformações a ser aplicado no stub • labels resolvem o problema dos offsets • O stub é compilado e fica disponível para uso Projeto MUFFIN
  55. 55. Aplicando ao Muffin• Um dos utilitários do Muffin fará a preparação: • A rotina descrita será aplicada sobre cada executável das ferramentas • Novos hash devem ser calculados para os arquivos• Como resultado, as ferramentas da toolkit terão hash único literalmente em qualquer ponto• Detecção por assinatura não vai mais ocorrer • Nem bloqueio de ferramentas por Antivirus Projeto MUFFIN
  56. 56. Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser atualizadas com facilidade Manter dados coletados que podem ser atacados e/ou modificados Permitir o comprometimento ou o bloqueio (AV) das ferramentas e utilitários Utilizar ferramentas que alteram o estado dos dados voláteis Uso de menu gráfico com grande “footprint” Não coletar automaticamente os dados voláteis Ser vulnerável à ataque por assinatura Projeto MUFFIN
  57. 57. Gerando o .iso e copiando para o pendrive Leve ao forno brando Projeto MUFFIN
  58. 58. Gerando o .iso• É preciso empacotar o grupo de utilitários • Um arquivo autorun.inf deve ser colocado na raiz do MUFFIN • Esse arquivo aponta para executar o .bat que aciona a coleta automatizada (ou que aciona o WFT)• O conteúdo deve ser preparado em um CD burner • Criar um arquivo no formato .iso Projeto MUFFIN
  59. 59. Levando para um pendrive• O arquivo .iso precisa ser colocado em um pendrive• Problema: Pendrives são read-write • Ferramentas ainda podem ser comprometidas (infectadas) • Autorun pode ser trocado por malicioso • Ainda precisamos colocar os resultados no pendrive Projeto MUFFIN
  60. 60. Pendrive U3• Modelos específicos de pendrive • Vários fabricantes possuem linha U3 • Logicamente divididos em 2 partições • Uma read-only que funciona como um CD (CDFS) • Uma read-write “normal” • Muito utilizados para aplicações portable • A partição CDFS só pode ser escrita por programas específicos Projeto MUFFIN
  61. 61. Pendrive U3• USB Hacksaw/Switchblade • Projeto da hak5.org • Executa um arquivo pelo autorun que vasculha a máquina procurando por PDFs, DOCs, etc. • Um .iso crackeado sobrescreve a partição normal do pendrive U3 através de um software específico Projeto MUFFIN
  62. 62. Gravando o .iso• Algumas maneiras: • LPInstaller.exe • U3_tool.exe • Estamos sem sorte ... Projeto MUFFIN
  63. 63. Gravando o .iso - LPInstaller• Utilitário que atualiza pendrives U3 com um .iso • Específico para U3 Sandisk • Carrega o .iso e gera a partição CDFS no pendrive • Originalmente, carrega o novo .iso a partir do site da SanDisk • Pode carregar a partir de um arquivo .iso local Projeto MUFFIN
  64. 64. Gravando o .iso – U3 Tool• Utilitário free que atualiza pendrives U3 com um .iso • Homologado para U3 Sandisk e Verbatim • Hospedado no SourceForge • Disponível para Windows e Linux • Carrega o .iso e gera a partição CDFS no pendrive • Pode carregar a partir de um arquivo .iso local Projeto MUFFIN
  65. 65. Gravando o .iso – Quebrando pedras• LPInstall e U3_Tool não funcionaram • Como eles trabalham ? Manda o Updater.exe ! Tá na mão ! Web O novo .iso, por favor get Updater.exe Execute-o depois do download Aqui. Não me aborreça mais ... get novo .iso Grave o .iso no dir /xxx/yyy Projeto MUFFIN
  66. 66. Gravando o .iso – Quebrando pedras• E se o pendrive U3 não der suporte LPInstall ou U3_Tool ? • Localize o autorun.inf • Capture a URL na seção UPDATE do arquivo • Essa URL permite chegar ao programa de update do pendrive • Ative um sniffer e execute o programa • Analise o tráfego e tome nota da path de onde o executável está baixando o .iso de atualização Projeto MUFFIN
  67. 67. Gravando o .iso – Quebrando pedras II• Instale um webserver e recrie a path do passo anterior• Coloque o .iso com o MUFFIN nessa path local com o mesmo nome do passo anterior• Crie uma entrada no arquivo hosts para o domínio da URL capturada • Essa entrada deve apontar para localhost• Execute o programa de atualização • A partição CDFS será atualizada com o .iso do MUFFIN Projeto MUFFIN
  68. 68. Problema: Disponibilidade dos U3• Pendrives U3 podem não ser tão comuns • Maior custo • Não são tão facilmente encontrados• Alternativa: Pendrive comum • Variação do file system sobre file system implementado no TDL-3 • Utilitários criptografados serão armazenados pelos setores do pendrive, fora de arquivos regulares Projeto MUFFIN
  69. 69. Objetivos atingidosResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser atualizadas com facilidade Manter dados coletados que podem ser atacados e/ou modificados Permitir o comprometimento ou o bloqueio (AV) das ferramentas e utilitários Utilizar ferramentas que alteram o estado dos dados voláteis Uso de menu gráfico com grande “footprint” Não coletar automaticamente os dados voláteis Ser vulnerável à ataque por assinatura Projeto MUFFIN
  70. 70. Usando o MUFFIN Sirva depois de esfriar Projeto MUFFIN
  71. 71. Usando o MUFFIN• Ao plugar o pendrive, o Windows montará as duas partições • O autorun.inf vai executar o .bat principal • A partição read-write do pendrive deve ser usada para armazenar os resultados • Ou ainda, os resultados podem ser enviados via rede • O Cryptcat precisa estar esperando os dados no servidor Projeto MUFFIN
  72. 72. Usando o MUFFIN II Sirva também aos vizinhos Projeto MUFFIN
  73. 73. Usando o MUFFIN II• Uma forma de usar o MUFFIN remotamente • Coloque o pendrive com o MUFFIN na estação de controle • Use o SysInternals Psexec para mapear (Net Use), na máquina remota investigada, a partição CDFS • Use Psexec para executar o .bat principal • Os resultados devem ser enviados para a estação de controle via rede• Pode ser feito em paralelo nas máquinas suspeitas, diminuindo o tempo de coleta de informações em uma infestação por malwares Projeto MUFFIN
  74. 74. Objetivos atingidos ao finalResolvemos as fraquezas: Requerer leitor de CD Ferramentas e utilitários que não podem ser atualizadas com facilidade Manter dados coletados que podem ser atacados e/ou modificados Permitir o comprometimento ou o bloqueio (AV) das ferramentas e utilitários Utilizar ferramentas que alteram o estado dos dados voláteis Uso de menu gráfico com grande “footprint” Esse não deu ainda Não coletar automaticamente os dados voláteis Ser vulnerável à ataque por assinatura Projeto MUFFIN
  75. 75. Um objetivo mal atingido• É possível filtrar ferramentas que alterem substancialmente os dados voláteis • Principalmente os MAC Times e o espaço não-alocado• Não é a solução final• Sugestão • Acesso direto aos arquivos requisitados por fora do sistema de arquivos. Ex: TSK • Uma camada intermediária faria um hook das requisições ao disco pelo sistema de arquivos, acessando por fora • Ainda não validado ! Projeto MUFFIN
  76. 76. Status do Projeto MUFFIN• Lançado no You Shot The Sheriff V• Versão 0.1 disponibilizada no SegInfo VI Edição • Formato de procedimento, documentando o processo de criação de um pendrive MUFFIN• Meta: automatizar esse processo de criação • MUFFIN Baker: Trabalha na criação do pendrive MUFFIN • MUFFIN Report: Trabalha nas saídas e dados coletados, criando relatórios e correlacionando informações Projeto MUFFIN
  77. 77. Projeto MUFFIN - Escopo• Escopo inicial até versão 1.0 • MUFFIN Baker for Windows • Pendrive MUFFIN somente com utilitários Windows • MUFFIN Report for Windows• Escopo Médio Prazo (até v. 2.0) • Pendrive MUFFIN com ferramentas Linux • MUFFIN Baker e Report rodando em Linux via Wine• Escopo Longo Prazo (3.0 e além) • MUFFIN Baker e Report rodando em Linux e MAC nativamente Projeto MUFFIN
  78. 78. Projeto MUFFIN - Detalhes• Desenvolvimento: Lazarus• Banco de Dados: SQLite• Google Code: https://code.google.com/p/muffin- project• Interface Gráfica: Analogia com receita de muffin • Ingredientes: Ferramentas e utilitários de coleta de dados voláteis • Despensa: Grupo de ferramentas (ingredientes) validados para uso em um pendrive MUFFIN • Receita: Lista de execução de utilitários, ordenada e com parâmetros • Forno: Menu onde gravamos uma Receita de MUFFIN no pendrive Projeto MUFFIN
  79. 79. Projeto MUFFIN –Screen Shot beta – Menu Receita Projeto MUFFIN
  80. 80. Projeto MUFFIN - Roadmap• Version 0.1 • Documento com procedimento• Version 0.2 • MUFFIN Baker • Despensa • Sem GUI, sem atualizações automaticas • Receita • Seleciona Ingredientes da Despensa • Indica parâmetros de execução para os Ingredientes • Indica ordem de execução dos Ingredientes • Forno • Grava as Receitas em pendrives comuns (sem U3 nessa versão) Projeto MUFFIN
  81. 81. Projeto MUFFIN - Roadmap II•Version 0.3 • MUFFIN Baker • Despensa • GUI • Receita • O script de automação da coleta (batch) validará os ingredientes antes da execução • Forno • Uso de modelos U3 de pendrives Projeto MUFFIN
  82. 82. Projeto MUFFIN - Roadmap II• Version 0.4 • MUFFIN Baker • Despensa • Atualização automática e manual das ferramentas (Ingredientes) • Receita • Saída das ferramentas armazenada de forma criptografada • Forno • Ingredientes 32-bit obfuscados• Version 0.5 • MUFFIN Baker • Forno => Ingredientes 64-bit obfuscados • MUFFIN Report mostrando dados coletados Projeto MUFFIN
  83. 83. Projeto MUFFIN - Roadmap III• Version 1.0 • MUFFIN Baker • Forno • Obfuscação com técnicas avançadas • MUFFIN Report correlacionando saídas e informações Projeto MUFFIN
  84. 84. Conclusão Resposta a Incidentes depende muito de uma boa preparação para ser eficiente Ter ferramentas adequadas é reflexo da boa preparação O MUFFIN foi criado para atuar na Resposta a Incidentes cobrindo as maiores vulnerabilidades das Toolkits disponíveis MUFFIN é totalmente código livre e o projeto precisa de colaboradores ! Projeto MUFFIN
  85. 85. Referências• Verizon Report – http://newscenter.verizon.com/press-releases/verizon/2010/2010-data-breach- report-from.html• Nirsoft – http://www.nirsoft.net/• MiTeC – http://www.mitec.cz/• SysInternals – http://technet.microsoft.com/pt-br/sysinternals/default• WFT – http://www.foolmoon.net/security/wft/• CAINE – http://www.caine-live.net/• DEFT – http://www.deftlinux.net/• HELIX – https://www.e-fense.com/store/index.php?_a=viewProd&productId=11 Projeto MUFFIN
  86. 86. Referências II • COFEE – http://www.microsoft.com/industry/government/solutions/cofee/default.aspx • Cryptcat – http://sourceforge.net/projects/cryptcat/ • Hydan – http://www.crazyboy.com/hydan/ • USB Hacksaw – http://dotnetwizard.net/soft-apps/hack-u3-usb-smart-drive-to-become-ultimate- hack-tool/ • U3-Tool – http://u3-tool.sourceforge.net/ • LPInstaller – http://u3.sandisk.com/download/apps/LPInstaller.exe Projeto MUFFIN
  87. 87. Sugestões de Leitura http://forcomp.blogspot.com http://www.e-evidence.info Projeto MUFFIN
  88. 88. Octane Labs Projeto MUFFIN
  89. 89. OctaneLabs• O que é OctaneLabs ??? • Grupo de Pesquisa Open Source em Computação Forense e Resposta a Incidentes• Objetivos • Fomentar a pesquisa em Computação Forense no Brasil • Promover Projetos Open Source com foco em Computação Forense e Investigação Digital • Ministrar Treinamentos em CF • Consultoria, Perícia e Investigação Digital Projeto MUFFIN
  90. 90. OctaneLabs• Projetos em andamento • MUFFIN • Byte Investigator • Data Juicer• Projetos esperando por você • Jardineiro • Slacker++ • FSJuicer Projeto MUFFIN
  91. 91. Octane LabsWe Want YOU ! www.octanelabs.net @octanelabs Projeto MUFFIN
  92. 92. Perguntas ! Projeto MUFFIN
  93. 93. Obrigado ! inv.forense arroba gmail ponto com (Tony Rodrigues) Projeto MUFFIN

×