SlideShare uma empresa Scribd logo
1 de 93
Baixar para ler offline
Projeto MUFFIN de Resposta a Incidentes
  Uma receita para causar indigestão nos
                               malwares

             Tony Rodrigues, CISSP, CFCP
     inv.forense arroba gmail ponto com
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
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
  – Toolkits
 • Projeto MUFFIN: Causando Indigestão
   nos malwares
 • Conclusão




         Projeto MUFFIN
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
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
Na Teoria

                  Preparação


                             Identificação




                                                       Restauração
                Contenção

                                                                 Acompanhamento
                                         Erradicação




            Projeto MUFFIN
Na Prática

                            Maior
                          Window Of
                          Exposure




 Despreparo


                                           Maior
                                          Impacto
               Correria

                                                     Vestígios
                                Maior               destruídos
                               Downtime



         Projeto MUFFIN
Verizon Report confirma
                          Problemas na Identificação,
                          falta de foco na preparação !




        Projeto MUFFIN
Nosso Foco hoje é ...




                          Preparação:
                          Ferramentas




         Projeto MUFFIN
Ferramentas Disponíveis

 • Importantes na coleta de dados
   voláteis
    • Utilitários
    • Coletores
    • Toolkits de Incident Response




         Projeto MUFFIN
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
Coletores

 • Automatizam a coleta de
   informações
    • WFT
    • IRCR2
    • FRUC/FPSC
    • COFEE (*não é FOSS)




            Projeto MUFFIN
Toolkits de Resposta a Incidentes

 • Trazem pacotes e ferramentas em
   um mesmo módulo
    • WinTaylor (CAINE)
    • DEFT Extra
    • HELIX IR
    • COFEE




         Projeto MUFFIN
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
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
   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
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
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
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
Toolkit de IR dos Sonhos
Nã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
Muffin ao invés de Sonho !

Projeto Muffin: Indigesto para os malwares
Master
Unit
For
Forensics
INvestigation

                Objetivo: Criar uma toolkit de Resposta a Incidentes
                que não possua as vulnerabilidades ou fraquezas
                mapeadas nas toolkits atuais



         Projeto MUFFIN
Aprovado até na TV !

            Hummmmm !




        Projeto MUFFIN
Aprovado até na TV !




                                            Vencedor da melhor
                                             sobremesa para
                                                malwares !




                         Gustavo Robertux


        Projeto MUFFIN
A Receita de MUFFIN vencedora




        Projeto MUFFIN
Eis então ...




         Receita de MUFFIN
         Chef Tony Rodrigues
                           E Gustavo Robertux !




          Projeto MUFFIN
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
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 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
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
Objetivos atingidos

Resolvemos 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
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 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
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:MUFFIN
C:MUFFINWinXP
C:MUFFINWinXPcmd
C:MUFFINWinXPutilxx
C:MUFFINVista32cmd
C:MUFFINVista32utilyyy
C:MUFFINVista64cmd
C:MUFFINVista64utilzzz
C:MUFFINWinXPVistautilaaa
C:MUFFINTodosutilkkk




              Projeto MUFFIN
Preparando a estrutura e automatizando a coleta
• Automatizando a coleta
   • WFT
   • Batch
   • Melhor dos dois mundos




        Projeto MUFFIN
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
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
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
Objetivos atingidos

Resolvemos 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
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)
   • 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
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
Objetivos atingidos

Resolvemos 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
Obfuscando o trabalho




Junte 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 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
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
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
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
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
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
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
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
Objetivos atingidos

Resolvemos 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
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 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
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
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
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
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
   • 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
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
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
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
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
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
Objetivos atingidos

Resolvemos 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
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
     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
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
   • 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
Objetivos atingidos ao final

Resolvemos 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
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
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
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
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
Projeto MUFFIN –Screen Shot beta – Menu Receita




        Projeto MUFFIN
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
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
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
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
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
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
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
Sugestões de Leitura




   http://forcomp.blogspot.com


                                 http://www.e-evidence.info



         Projeto MUFFIN
Octane Labs




      Projeto MUFFIN
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
OctaneLabs
• Projetos em andamento
   • MUFFIN
   • Byte Investigator
   • Data Juicer
• Projetos esperando por você
   • Jardineiro
   • Slacker++
   • FSJuicer




        Projeto MUFFIN
Octane Labs




We Want YOU !            www.octanelabs.net
                           @octanelabs




        Projeto MUFFIN
Perguntas !




       Projeto MUFFIN
Obrigado !




     inv.forense arroba gmail
             ponto com
         (Tony Rodrigues)



        Projeto MUFFIN

Mais conteúdo relacionado

Destaque (20)

KH3 Pilihan2 - Kaedah Biskut & kek
KH3 Pilihan2 - Kaedah Biskut & kekKH3 Pilihan2 - Kaedah Biskut & kek
KH3 Pilihan2 - Kaedah Biskut & kek
 
Lembaran kerja - Peralatan Dapur
Lembaran kerja - Peralatan DapurLembaran kerja - Peralatan Dapur
Lembaran kerja - Peralatan Dapur
 
Alatan untuk minum
Alatan untuk minumAlatan untuk minum
Alatan untuk minum
 
Kp komp 3
Kp komp 3Kp komp 3
Kp komp 3
 
Nota rujukan ert
Nota rujukan ertNota rujukan ert
Nota rujukan ert
 
Peralatan makanan
Peralatan makananPeralatan makanan
Peralatan makanan
 
Seminar ert t5 k2 c
Seminar ert t5 k2 cSeminar ert t5 k2 c
Seminar ert t5 k2 c
 
B3 d1e3
B3 d1e3B3 d1e3
B3 d1e3
 
Alatan Untuk Makan
Alatan Untuk MakanAlatan Untuk Makan
Alatan Untuk Makan
 
Kp pastri rapuh komp 4
Kp pastri rapuh komp 4Kp pastri rapuh komp 4
Kp pastri rapuh komp 4
 
Teknik menjawab bahagian a k2
Teknik menjawab bahagian a k2Teknik menjawab bahagian a k2
Teknik menjawab bahagian a k2
 
pastry and bakery
pastry and bakerypastry and bakery
pastry and bakery
 
Ekonomi Rumah Tangga Tingkatan 4 Pemilihan Makanan Segar
Ekonomi Rumah Tangga Tingkatan 4 Pemilihan Makanan Segar Ekonomi Rumah Tangga Tingkatan 4 Pemilihan Makanan Segar
Ekonomi Rumah Tangga Tingkatan 4 Pemilihan Makanan Segar
 
Peralatan dapur
Peralatan dapurPeralatan dapur
Peralatan dapur
 
Collect ordered food item..
Collect ordered food item..Collect ordered food item..
Collect ordered food item..
 
Baking & Pastry - Bread Making Process
Baking & Pastry -  Bread Making ProcessBaking & Pastry -  Bread Making Process
Baking & Pastry - Bread Making Process
 
Klasifikasi Peralatan Pastry and Bakery
Klasifikasi Peralatan Pastry and BakeryKlasifikasi Peralatan Pastry and Bakery
Klasifikasi Peralatan Pastry and Bakery
 
Kitchen function area
Kitchen function areaKitchen function area
Kitchen function area
 
Kitchen equipment1
Kitchen equipment1Kitchen equipment1
Kitchen equipment1
 
ekonomi rumah tangga (ting 4 & 5) -tahap-1
ekonomi rumah tangga (ting 4 & 5) -tahap-1ekonomi rumah tangga (ting 4 & 5) -tahap-1
ekonomi rumah tangga (ting 4 & 5) -tahap-1
 

Mais de Vale Security Conference

Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)Vale Security Conference
 
Vale Security Conference - 2011 - 13 - Nelson Brito
Vale Security Conference - 2011 - 13 - Nelson BritoVale Security Conference - 2011 - 13 - Nelson Brito
Vale Security Conference - 2011 - 13 - Nelson BritoVale Security Conference
 
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...Vale Security Conference
 
Vale Security Conference - 2011 - 5 - Luiz Eduardo
Vale Security Conference - 2011 - 5 - Luiz EduardoVale Security Conference - 2011 - 5 - Luiz Eduardo
Vale Security Conference - 2011 - 5 - Luiz EduardoVale Security Conference
 
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]Vale Security Conference
 
Vale Security Conference - 2011 - 2 - Dr. Emerson Wendt
Vale Security Conference - 2011 - 2 - Dr. Emerson WendtVale Security Conference - 2011 - 2 - Dr. Emerson Wendt
Vale Security Conference - 2011 - 2 - Dr. Emerson WendtVale Security Conference
 
Vale Security Conference - 2011 - 12 - Rafael Soares Ferreira
Vale Security Conference - 2011 - 12 - Rafael Soares FerreiraVale Security Conference - 2011 - 12 - Rafael Soares Ferreira
Vale Security Conference - 2011 - 12 - Rafael Soares FerreiraVale Security Conference
 
Vale Security Conference - 2011 - 6 - Thiago Bordini
Vale Security Conference - 2011 - 6 - Thiago BordiniVale Security Conference - 2011 - 6 - Thiago Bordini
Vale Security Conference - 2011 - 6 - Thiago BordiniVale Security Conference
 
Vale Security Conference - 2011 - 15 - Anchises de Paula
Vale Security Conference - 2011 - 15 - Anchises de PaulaVale Security Conference - 2011 - 15 - Anchises de Paula
Vale Security Conference - 2011 - 15 - Anchises de PaulaVale Security Conference
 
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]Vale Security Conference
 

Mais de Vale Security Conference (10)

Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
Vale Security Conference - 2011 - 17 - Rodrigo Rubira Branco (BSDaemon)
 
Vale Security Conference - 2011 - 13 - Nelson Brito
Vale Security Conference - 2011 - 13 - Nelson BritoVale Security Conference - 2011 - 13 - Nelson Brito
Vale Security Conference - 2011 - 13 - Nelson Brito
 
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
Vale Security Conference - 2011 - 11 - Fernando Mercês [Octane Labs] [Coding ...
 
Vale Security Conference - 2011 - 5 - Luiz Eduardo
Vale Security Conference - 2011 - 5 - Luiz EduardoVale Security Conference - 2011 - 5 - Luiz Eduardo
Vale Security Conference - 2011 - 5 - Luiz Eduardo
 
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
 
Vale Security Conference - 2011 - 2 - Dr. Emerson Wendt
Vale Security Conference - 2011 - 2 - Dr. Emerson WendtVale Security Conference - 2011 - 2 - Dr. Emerson Wendt
Vale Security Conference - 2011 - 2 - Dr. Emerson Wendt
 
Vale Security Conference - 2011 - 12 - Rafael Soares Ferreira
Vale Security Conference - 2011 - 12 - Rafael Soares FerreiraVale Security Conference - 2011 - 12 - Rafael Soares Ferreira
Vale Security Conference - 2011 - 12 - Rafael Soares Ferreira
 
Vale Security Conference - 2011 - 6 - Thiago Bordini
Vale Security Conference - 2011 - 6 - Thiago BordiniVale Security Conference - 2011 - 6 - Thiago Bordini
Vale Security Conference - 2011 - 6 - Thiago Bordini
 
Vale Security Conference - 2011 - 15 - Anchises de Paula
Vale Security Conference - 2011 - 15 - Anchises de PaulaVale Security Conference - 2011 - 15 - Anchises de Paula
Vale Security Conference - 2011 - 15 - Anchises de Paula
 
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]
Vale Security Conference - 2011 - 14 - Alexandro Silva (Alexos) [DC Labs]
 

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

  • 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. 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. Um talento na culinária ! Ainda assim ... Projeto MUFFIN
  • 4. Vamos assar um MUFFIN ! Projeto MUFFIN
  • 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. 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. 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. Na Teoria Preparação Identificação Restauração Contenção Acompanhamento Erradicação Projeto MUFFIN
  • 9. Na Prática Maior Window Of Exposure Despreparo Maior Impacto Correria Vestígios Maior destruídos Downtime Projeto MUFFIN
  • 10. Verizon Report confirma Problemas na Identificação, falta de foco na preparação ! Projeto MUFFIN
  • 11. Nosso Foco hoje é ... Preparação: Ferramentas Projeto MUFFIN
  • 12. Ferramentas Disponíveis • Importantes na coleta de dados voláteis • Utilitários • Coletores • Toolkits de Incident Response Projeto MUFFIN
  • 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. Coletores • Automatizam a coleta de informações • WFT • IRCR2 • FRUC/FPSC • COFEE (*não é FOSS) Projeto MUFFIN
  • 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. 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. COFEE Projeto MUFFIN
  • 18. COFEE Projeto MUFFIN
  • 19. COFEE Projeto MUFFIN
  • 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. 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. 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. 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. Toolkit de IR dos Sonhos Nã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. Muffin ao invés de Sonho ! Projeto Muffin: Indigesto para os malwares Master Unit For Forensics INvestigation Objetivo: Criar uma toolkit de Resposta a Incidentes que não possua as vulnerabilidades ou fraquezas mapeadas nas toolkits atuais Projeto MUFFIN
  • 26. Aprovado até na TV ! Hummmmm ! Projeto MUFFIN
  • 27. Aprovado até na TV ! Vencedor da melhor sobremesa para malwares ! Gustavo Robertux Projeto MUFFIN
  • 28. A Receita de MUFFIN vencedora Projeto MUFFIN
  • 29. Eis então ... Receita de MUFFIN Chef Tony Rodrigues E Gustavo Robertux ! Projeto MUFFIN
  • 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. Escolhendo os utilitários Escolha o sabor e separe os ingredientes Projeto MUFFIN
  • 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. 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. Objetivos atingidos Resolvemos 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. Preparando a estrutura e automatizando a coleta Unte a forma Projeto MUFFIN
  • 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. 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:MUFFIN C:MUFFINWinXP C:MUFFINWinXPcmd C:MUFFINWinXPutilxx C:MUFFINVista32cmd C:MUFFINVista32utilyyy C:MUFFINVista64cmd C:MUFFINVista64utilzzz C:MUFFINWinXPVistautilaaa C:MUFFINTodosutilkkk Projeto MUFFIN
  • 38. Preparando a estrutura e automatizando a coleta • Automatizando a coleta • WFT • Batch • Melhor dos dois mundos Projeto MUFFIN
  • 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. 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. 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. Objetivos atingidos Resolvemos 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. Evitando alterações nos dados colhidos Prepare as forminhas Projeto MUFFIN
  • 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. 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. Objetivos atingidos Resolvemos 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. Obfuscando o trabalho Junte os ingredientes em um grande pote e misture bem Projeto MUFFIN
  • 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. 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. 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. 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. 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. 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. 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. 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. Objetivos atingidos Resolvemos 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. Gerando o .iso e copiando para o pendrive Leve ao forno brando Projeto MUFFIN
  • 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. 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. 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. 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. Gravando o .iso • Algumas maneiras: • LPInstaller.exe • U3_tool.exe • Estamos sem sorte ... Projeto MUFFIN
  • 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. 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. 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. 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. 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. 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. Objetivos atingidos Resolvemos 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. Usando o MUFFIN Sirva depois de esfriar Projeto MUFFIN
  • 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. Usando o MUFFIN II Sirva também aos vizinhos Projeto MUFFIN
  • 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. Objetivos atingidos ao final Resolvemos 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. 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. 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. 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. 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. Projeto MUFFIN –Screen Shot beta – Menu Receita Projeto MUFFIN
  • 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. 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. 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. 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. 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. 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. 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. Sugestões de Leitura http://forcomp.blogspot.com http://www.e-evidence.info Projeto MUFFIN
  • 88. Octane Labs Projeto MUFFIN
  • 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. OctaneLabs • Projetos em andamento • MUFFIN • Byte Investigator • Data Juicer • Projetos esperando por você • Jardineiro • Slacker++ • FSJuicer Projeto MUFFIN
  • 91. Octane Labs We Want YOU ! www.octanelabs.net @octanelabs Projeto MUFFIN
  • 92. Perguntas ! Projeto MUFFIN
  • 93. Obrigado ! inv.forense arroba gmail ponto com (Tony Rodrigues) Projeto MUFFIN