0
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
Eis então ...         Receita de MUFFIN        Cheff Tony Rodrigues          Projeto MUFFIN
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...
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• É hora de enganar o Updater   • Localize o autorun.inf   • Capture a URL na seção UPDA...
Gravando o .iso – Quebrando pedras II• Instale um webserver e recrie a path do  passo anterior• Coloque o .iso com o MUFFI...
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 disponível   • Formato de procedimento, documentan...
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...
Perguntas !       Projeto MUFFIN
Obrigado !     inv.forense arroba gmail             ponto com         (Tony Rodrigues)        Projeto MUFFIN
Upcoming SlideShare
Loading in...5
×

"Projeto MUFFIN de Resposta a Incidentes – Uma receita para causar indigestão nos malwares" por Tony Rodrigues

1,232

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,232
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
81
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of ""Projeto MUFFIN de Resposta a Incidentes – Uma receita para causar indigestão nos malwares" por Tony Rodrigues"

  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. Eis então ... Receita de MUFFIN Cheff Tony Rodrigues Projeto MUFFIN
  28. 28. 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
  29. 29. Escolhendo os utilitários Escolha o sabor e separe os ingredientes Projeto MUFFIN
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. Preparando a estrutura e automatizando a coleta Unte a forma Projeto MUFFIN
  34. 34. 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
  35. 35. 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
  36. 36. Preparando a estrutura e automatizando a coleta• Automatizando a coleta • WFT • Batch • Melhor dos dois mundos Projeto MUFFIN
  37. 37. 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
  38. 38. 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
  39. 39. 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
  40. 40. 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
  41. 41. Evitando alterações nos dados colhidos Prepare as forminhas Projeto MUFFIN
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. Obfuscando o trabalhoJunte os ingredientes em um grande pote e misture bem Projeto MUFFIN
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 50. 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 com mesmo número de bytes • Inserir NOPs aleatórios • Inserir bytes aleatórios como código nunca executado • Trabalhar códigos 64-bit• Não é sensível à análise de freqüência• Não é detectado por assinatura por hash Projeto MUFFIN
  51. 51. 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• O conjunto será • Indetectável por hash do arquivo • Praticamente indetectável por hash de parte do arquivo Projeto MUFFIN
  52. 52. 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 provavelmente não vai mais ocorrer • Nem bloqueio de ferramentas por Antivirus Projeto MUFFIN
  53. 53. 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
  54. 54. Gerando o .iso e copiando para o pendrive Leve ao forno brando Projeto MUFFIN
  55. 55. 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
  56. 56. 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
  57. 57. 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
  58. 58. 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
  59. 59. Gravando o .iso• Algumas maneiras: • LPInstaller.exe • U3_tool.exe • Estamos sem sorte ... Projeto MUFFIN
  60. 60. 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
  61. 61. 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
  62. 62. 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
  63. 63. Gravando o .iso – Quebrando pedras• É hora de enganar o Updater • 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
  64. 64. 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
  65. 65. 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
  66. 66. Usando o MUFFIN Sirva depois de esfriar Projeto MUFFIN
  67. 67. 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
  68. 68. Usando o MUFFIN II Sirva também aos vizinhos Projeto MUFFIN
  69. 69. 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
  70. 70. 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
  71. 71. 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
  72. 72. Status do Projeto MUFFIN• Lançado no You Shot The Sheriff V• Versão 0.1 disponível • 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
  73. 73. 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
  74. 74. 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
  75. 75. Projeto MUFFIN –Screen Shot beta – Menu Receita Projeto MUFFIN
  76. 76. 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
  77. 77. 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
  78. 78. 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
  79. 79. 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
  80. 80. 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
  81. 81. 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
  82. 82. 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
  83. 83. Sugestões de Leitura http://forcomp.blogspot.com http://www.e-evidence.info Projeto MUFFIN
  84. 84. Perguntas ! Projeto MUFFIN
  85. 85. Obrigado ! inv.forense arroba gmail ponto com (Tony Rodrigues) Projeto MUFFIN
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×