93
Projeto MUFFIN de Resposta a Incidentes Uma receita para causar indigestão nos malwares Tony Rodrigues, CISSP, CFCP inv.forense arroba gmail ponto com

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Projeto MUFFIN de Resposta a Incidentes

Uma receita para causar indigestão nos

malwares

Tony Rodrigues, CISSP, CFCP

inv.forense arroba gmail ponto com

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

Projeto MUFFIN

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

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

Projeto MUFFIN

Um talento na culinária !

Ainda assim ...

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

Projeto MUFFIN

Vamos assar um MUFFIN !

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

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

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

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

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

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

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

Projeto MUFFIN

Na Teoria

Preparação

Identificação

Contenção

Erradicação

Restauração

Acompanhamento

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

Projeto MUFFIN

Na Prática

Despreparo

Maior

Window Of

Exposure

Correria

Maior

Downtime

Maior

Impacto

Vestígios

destruídos

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

Projeto MUFFIN

Verizon Report confirma

Problemas na Identificação,

falta de foco na preparação !

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

Projeto MUFFIN

Nosso Foco hoje é ...

Preparação:

Ferramentas

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

Projeto MUFFIN

Ferramentas Disponíveis

• Importantes na coleta de dados

voláteis

• Utilitários

• Coletores

• Toolkits de Incident Response

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

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

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

Projeto MUFFIN

Coletores

• Automatizam a coleta de

informações

• WFT

• IRCR2

• FRUC/FPSC

• COFEE (*não é FOSS)

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

Projeto MUFFIN

Toolkits de Resposta a Incidentes

• Trazem pacotes e ferramentas em

um mesmo módulo

• WinTaylor (CAINE)

• DEFT Extra

• HELIX IR

• COFEE

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

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

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

Projeto MUFFIN

COFEE

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

Projeto MUFFIN

COFEE

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

Projeto MUFFIN

COFEE

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

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

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

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

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

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

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

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

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

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

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

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

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

Projeto MUFFIN

Aprovado até na TV !

Hummmmm !

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

Projeto MUFFIN

Aprovado até na TV !

Vencedor da melhor

sobremesa para

malwares !

Gustavo Robertux

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

Projeto MUFFIN

A Receita de MUFFIN vencedora

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

Projeto MUFFIN

Eis então ...

Receita de MUFFIN Chef Tony Rodrigues

E Gustavo Robertux !

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

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

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

Projeto MUFFIN

Escolhendo os utilitários

Escolha o sabor e separe os ingredientes

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

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”

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

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

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

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

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

Projeto MUFFIN

Preparando a estrutura e automatizando a coleta

Unte a forma

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

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

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

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:\MUFFIN\WinXP

C:\MUFFIN\WinXP\cmd

C:\MUFFIN\WinXP\utilxx

C:\MUFFIN\Vista32\cmd

C:\MUFFIN\Vista32\utilyyy

C:\MUFFIN\Vista64\cmd

C:\MUFFIN\Vista64\utilzzz

C:\MUFFIN\WinXPVista\utilaaa

C:\MUFFIN\Todos\utilkkk

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

Projeto MUFFIN

Preparando a estrutura e automatizando a coleta

• Automatizando a coleta

• WFT

• Batch

• Melhor dos dois mundos

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

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~\WinXP\sr.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

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

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

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

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

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

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

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

Projeto MUFFIN

Evitando alterações nos dados colhidos

Prepare as forminhas

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

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 ...

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

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

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

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

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

Projeto MUFFIN

Obfuscando o trabalho

Junte os ingredientes em um grande pote e misture bem

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

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

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

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

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

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

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

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

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

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

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

Difícil

implementação

devido à

modificação dos

offsets

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

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

• O conjunto será

• Indetectável por hash do arquivo

• Praticamente indetectável por hash de parte

do arquivo

E o problema dos

offsets ???

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

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

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

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

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

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

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

Projeto MUFFIN

Gerando o .iso e copiando para o pendrive

Leve ao forno brando

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

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

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

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

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

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

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

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

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

Projeto MUFFIN

Gravando o .iso

• Algumas maneiras:

• LPInstaller.exe

• U3_tool.exe

• Estamos sem sorte ...

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

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

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

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

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

Projeto MUFFIN

Gravando o .iso – Quebrando pedras

• LPInstall e U3_Tool não funcionaram

• Como eles trabalham ?

Web

get Updater.exe

Manda o Updater.exe !

Execute-o depois do

download

get novo .iso

Tá na mão !

O novo .iso, por favor

Aqui. Não me aborreça mais ...

Grave o .iso no dir /xxx/yyy

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

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

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

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

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

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

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

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

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

Projeto MUFFIN

Usando o MUFFIN

Sirva depois de esfriar

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

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

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

Projeto MUFFIN

Usando o MUFFIN II

Sirva também aos vizinhos

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

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

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

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”

Não coletar automaticamente os dados voláteis

Ser vulnerável à ataque por assinatura

Esse não deu ainda

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

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 !

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

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

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

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

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

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

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

Projeto MUFFIN

Projeto MUFFIN –Screen Shot beta – Menu Receita

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

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)

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

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

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

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

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

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

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

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 !

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

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

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

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

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

Projeto MUFFIN

Sugestões de Leitura

http://forcomp.blogspot.com

http://www.e-evidence.info

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

Projeto MUFFIN

Octane Labs

Page 89: Vale Security Conference - 2011 - 7 - Tony Rodrigues [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

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

Projeto MUFFIN

OctaneLabs

• Projetos em andamento

• MUFFIN

• Byte Investigator

• Data Juicer

• Projetos esperando por você

• Jardineiro

• Slacker++

• FSJuicer

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

Projeto MUFFIN

Octane Labs

We Want YOU ! www.octanelabs.net

@octanelabs

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

Projeto MUFFIN

Perguntas !

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

Projeto MUFFIN

Obrigado !

inv.forense arroba gmail

ponto com

(Tony Rodrigues)