sexta-feira, 10 de dezembro de 2010

Privacidade ?

Uma decisão muito importante foi anunciada no meio do ano e não comentei por aqui, por grande descuido mesmo.

A Suprema Corte de New Jersey enfim estabeleceu regras para determinar o direito à privacidade nos emails pessoais. Esse assunto já é bastante controverso em relação aos emails corporativos. Pelo que bem entendi das explicações dos colegas advogados, esse tema é polêmico porque o direito à privacidade bate de frente com o direito à propriedade. Ou seja, o funcionário teria direito à privacidade em relação aos seus emails, mas ao mesmo tempo a empresa tem direito de monitorar o email, visto que é usado no trabalho.

Essa questão rodou muito até aparecerem as primeiras decisões do nosso Supremo, favorecendo às organizações. Alguns cuidados foram estabelecidos, e dentre eles o claro aviso ao colaborador de que o email corporativo é monitorado e deve ser usado para fins de trabalho.

Ainda assim, a questão continua delicada quando envolve o famoso webmail pessoal, que todo mundo tem. A empresa pode monitorar o seu webmail particular ??

De acordo com a Suprema Corte de New Jersey, não. Se o email não é fornecido pelo seu empregador e é protegido por senha, então não pode ser monitorado porque, segundo essa decisão, há expectativa de privacidade.

Se faz sentido por um lado, por outro isso pode aumentar os casos de vazamento de informações através do webmail. Como estão as decisões sobre esse ponto em particular, aqui no Brasil ? Você acredita que a implantação de soluções DLP iriam ferir essa decisão ? Como você acha que as corporações devem lidar com esse ponto ? Comente !

Até o próximo post !

terça-feira, 7 de dezembro de 2010

TSK novo na área

A notícia nem é tão nova (ando perdendo o timing de algumas novidades) mas é bastante interessante. O The Sleuth Kit, um dos utilitários open source mais utilizados em Computação Forense, lançou no final de outubro a sua mais nova versão (3.2.0).

Com versões para Linux e binários para Win32, o TSK novo vem com algumas novidades, além do tradicional conserto dos bugs reportados:

- Flag de case-sensitive para o fsstat no HFS+

- Nome default do atributo $Data do NTFS tem nova regra de formação

- Adicionaram os parâmetros -e e -s no img_cat, dessa forma permitindo recuperar apenas uma faixa de setores

- Uma nova classe foi criada para tornar mais fácil a criação de ferramentas que analisam todos os arquivos da imagem

- Criou-se uma nova camada de abstração (camada de automação). A idéia dessa camada é conter ferramentas que realizam operações mais complexas, correlações, etc. Dentre elas:

* tsk_recover localiza e extrai arquivos diretamente de uma imagem. Muito bom para extrair/recuperar arquivos não-alocados;

* tsk_loaddb analisa a imagem forense, baixando todas as informações da imagem para um arquivo de banco de dados sqlite. Muito útil para que outras análises possam ser feitas na imagem sem que os utilitários do TSK sejam chamados. Logicamente, gasta-se um tempo na geração desse banco de dados mas depois as operações a partir dele se tornam mais rápidas;

* tsk_getimes varre todos os volumes em uma imagem forense e coleta as MAC times disponíveis no estilo do bodyfile (fls);

* tsk_comparedir compara um diretório montado com uma imagem, procurando detectar rootkits. A idéia é que rootkits conseguem inibir a aparição de alguns arquivos no disco, mas normalmente não tem nenhum mecanismo de ocultamento para quando o disco é acessado em modo raw. Por isso, o programa compara as saídas em modo raw com a obtida pelos comandos do SO. As discrepâncias são alertadas;

Alguém já está usando a nova versão (principalmente as novas ferramentas) e gostaria de compartilhar ?

Até o próximo post !

segunda-feira, 6 de dezembro de 2010

Novidades para Memory Forensics

Embora não seja uma notícia tão nova assim, a área de Memory Forensics ganhou um bom upgrade: A Mandiant liberou em setembro a nova versão do seu utilitário free Memoryze.

As seguintes melhorias estão listadas no site do produto:

- O produto ganhou uma GUI chamada Audit Viewer. Essa interface mostra os resultados apurados pela ferramenta e tem uma funcionalidade bem interessante: A Malware Rating Index, que emite um score sobre os arquivos extraídos da memória (imagens de executáveis) e analisados pela ferramenta. Mais alto o score, mais o arquivo se parece com malware.

- Agora a ferramenta suporta Win7 e Win2008 64-bit

- O algoritmo de detecção de processos foi alterado para perceber o uso de rootkits e algumas técnicas de anti-forense.

- Performance melhorada em até 40%

- Havia um bug na instalação do Memoryze em pen drives. Foi corrigido.

Alguém já está usando a nova versão e gostaria de compartilhar ?

Até o próximo post !

domingo, 5 de dezembro de 2010

Prevenir é melhor do que remediar

Dizem que prevenção e canja de galinha não fazem mal a ninguém. A canja eu não posso passar pelo blog, mas na questão de prevenção posso dar uma mãozinha.

A essa altura do campeonato, você já deve ter escutado algumas milhares de vezes que não se pode modificar um arquivo de imagem forense, que isso pode ser confirmado calculando o hash do arquivo antes e depois de se trabalhar com ele, etc, etc e etc. Ao trabalhar com uma imagem forense, você já deve ter visto também uma série de options para o -o do mount de forma a se proteger que qualquer alteração indesejada.

Porém, como em um adesivo muito comum em carros americanos, "shit happens" e você pode acabar executando algo fora do esquema, alterando ou até mesmo apagando o arquivo. Lembre-se que pode haver apenas uma maneira de fazer a coisa certa, mas certamente haverá muitas de se fazer trapalhadas. E, em muitas dessas, estaremos como "root".

Antes que alguma coisa aconteça, vale adicionar um pequeno e salvador comando à sua prática forense: chattr.

Esse exemplo, indicado em um dos artigos da SANS, fala de um bit/atributo chamado immutable que, se estiver ligado, nem o root consegue fazer nada no arquivo. Ele não apaga nem altera. Ou seja, perfeito para nós, peritos.

# chattr +i imagem.dd

Depois desse comando, para alterar qualquer coisa no arquivo será necessário antes que o bit-atributo seja desligado (-i). Senão, nada acontece e o arquivo fica protegido contra as mãozadas que às vezes nos assombram. Sabe como é, madrugada, muitas imagens para analisar, desastres batem à porta.

Mãos a obra e mais tranquilidade no dia a dia. Deus abençoe o chattr ...

Até o próximo post !

quarta-feira, 1 de dezembro de 2010

Compartilhar ou não compartilhar, eis a questão !

Uma discussão recente foi levantada no evento de Resposta a Incidentes da Mandiant.

Thomas Dullen apresentou o que pode realmente ser um impasse em relação a IR e as tecnologias atuais aplicadas aos anti-virus. Segundo ele, as proteções e estratégias são basicamente focadas em assinaturas. No entanto, as mesmas assinaturas produzidas para proteger informam aos atacantes o que o anti-virus está checando, e daí passa a ele toda a inteligência utilizada e dá, de graça, o conhecimento que o atacante precisa para alterar a versão inicial do malware, precavendo-se de ser pego novamente. Esse modelo faz com que, no fim das contas, os atacantes sempre tenham mais informações do que os defensores. Na mesma palestra, Thomas discute alternativas possíveis a essa abordagem.

O que você, nobre leitor deste blog, acha ? A tecnologia atual de detecção e ações automáticas de contenção, todas baseadas em assinaturas, deve evoluir ? A submissão de novos malwares detectados aos fabricantes é beneficial ou prejudica ?

Comentem !

Até o próximo post !

segunda-feira, 29 de novembro de 2010

H2HC 7a Edição

Pela segundo ano consecutivo tive a honra de palestrar nesse que é um dos maiores eventos de Segurança de Informação do mundo. Dessa vez, aqueci as turbinas um pouco mais cedo, pois também ministrei um treinamento especial de dois dias sobre Advanced Disk Forensics, onde entupi a turma com clusters, tabelas de diretórios, milhares de atributos e inodes.

Como fiz no relato sobre o OWASP AppSec, não vou comentar sobre todas as palestras porque ando muito indisciplinado e não anotei os detalhes. Repito também que provavelmente farei injustiça a alguns, podendo deixar de comentar alguma coisa que com certeza foi bacana, mas como dizia um antigo chefe, quando reclamávamos de algo: "Quem foi que disse que a vida é justa ????"

Primeiro dia, Luiz Eduardo começou impressionando por levar um assunto bastante maduro. Comentou uma série de pontos que estão ocupando recorrentemente as listas de discussão brasileiras. Logo também pela manhã, recebi a missão de falar após o break. Precisei dar alguns golpes no datashow, que não se entendia de jeito nenhum com meu notebook, mas no fim, mostrei quem mandava ali: ele. Tive de trocar para o cabo HDMI e ficamos em paz. Minha palestra teve por base uma frase muito comum e bem conhecida por muitos peritos e investigadores em Computação Forense: "Sinto muito, não temos nenhum log disso aqui". Meu foco foi mostrar vários vestígios comuns, seja ao Sistema Operacional, ao sistema de arquivos ou mesmo a aplicações, que podem nos orientar e até mesmo servir como logs do que aconteceu na máquina. Acontece que me empolguei quando estava criando os slides e ao invés de uma apresentação, ao final eu estava quase que com um livro em PPT. Temendo que todos dormissem copiosamente durante a palestra, usei toda a psicologia aprendida na caserna e me apresentei como um irado Capitão do Bope, pronto para ensacar quem cochilasse (a manipulação da foto que fiz estava tão tosca que fiquei feliz por não ter de ganhar a vida com o Photoshop). No fim, acho que deu certo e fiquei com uma platéia de corujas. :D

Quem me sucedeu foi meu camarada Anchises, que fez a palestra mais divertida do evento, sobre SCADA, FUD e o vulcão cujo nome ninguém soube pronunciar. Nem mesmo o próprio Anchises, que acabou se esparramando ao chão quando tentou.
Também no primeiro dia tivemos a presença do meu camarada multimídia Nelson Brito. Mantendo o padrão das músicas maneiras e da apresentação do ano passado, Nelson mostrou os resultados de sua nova pesquisa (como é que esse cara consegue ser bom de design e bom de assembler ao mesmo tempo ??? :O). Nelson apresentou como conseguiu otimizar absurdamente a performance de algumas operações simples a tal ponto de dar uma nova cara ao que já estava batido Denial of Service. Quem não viu, perdeu.

Almoço, restaurantes no entorno completamente lotados e lá estou eu retornando muito atrasado para o auditório, descobrindo que perdi a palestra do Fernando Fonseca, que muito me interessava, e a do Anderson, que sempre dá show e conduz muito bem suas palestras (há quem diga que ele começou a palestrar na maternidade :D).

Segundo dia começou bem, Wagner Elias falando sobre o HTML5, Spooker sobre PDFs maliciosos, Matthieu Suiche sobre as ferramentas da MoonSols (que ele criou) para captura de RAM (incluindo formatos de dump do BSOD e mesmo arquivos de hibernação), Jeremy Brown mostrou alguns detalhes muito interessantes sobre SCADA e um dos franceses mais carioca que eu já vi, Jonathan Brossard, mostrou uns truques sujos atacando a memória.
No fim das contas, o evento arrebentou, a organização dos meus amigos Balestra e BSDaemon contou bastante para o sucesso dessa edição, que tirando eu, só tinha gente fera. Como sempre acontece, saio do evento achando que cada vez preciso estudar mais para entender onde estão os vestígios dessas técnicas. O que é bom, claro.

Alguém gostaria de acrescentar algo, ou mesmo comentar as palestras que eu perdi ?

Até o próximo post !

sábado, 20 de novembro de 2010

OWASP AppSec Brazil 2010

A conferencia mais importante sobre Segurança de Aplicações Web chega na sua segunda edição no Brasil. Dessa vez, Campinas foi o palco para grandes feras do assunto falarem sobre vulnerabilidades, ataques, defesas e investigações no mundo de aplicações Web.

Não vou colocar detalhes de cada palestra, até porque não consegui estar presente em todas elas. Ainda assim, correndo o risco de cometer injustiças e deixar de comentar alguma, vou falar das que pude estar presente e foram bem marcantes.

Robert "RSnake" Hansen falou sobre cookies e como esses pequenos e aparentemente ingênuos arquivos podem ser usados como vetor de ataque. Chris Hofmann falou sobre browsers e o que pode ser feito (ou, de certa forma, já está sendo feito) para torná-los mais seguros. Mano Paul fechou a primeira parte da tarde com uma excelente palestra sobre o mundo virtual e o mundo animal, com várias analogias muito interessantes entre o nosso dia a dia em InfoSec e outra parte onde ele é também especializado. Não, não tem nada a ver com tecnologia, o cara saca tudo de tubarões ...
Findo o break, este quem vos "fala", Tony "LTigre" Rodrigues falou sobre Computação Forense. Sim, de acordo com o Mano Paul, palestrante de InfoSec tem que ter um nome cool como o RSnake. Ele cunhou para si o Manu Shark Paul e eu vou na onda do Tony "LTigre" Rodrigues, esperando que a Kellogs não me processe ;)
Meu ponto de vista para a palestra foi o seguinte: Temos uma compilação dos maiores riscos para a segurança de aplicações Web, que é o OWASP Top Ten. Minha proposta foi comentar sobre os dez maiores vestígios normalmente localizados e procurados em casos de Forense de Aplicações. Criei o Tony's Computer Forensics Top Ten Artifacts.

O segundo dia foi bem interessante, e gostaria de destacar a excelente e divertida palestra do Samy Kamkar. Dotado de um enorme bom humor, Samy conseguiu juntar conhecimento técnico avançado em boas e divertidas doses na sua forma de apresentar. O conteúdo todo é uma grande mostra de como e onde se consegue chegar hoje em dia, explorando o client-side, cookies e companhia.

Para quem quiser acompanhar, os slides que usei na palestra estão disponíveis no meu SlideShare.

Alguém esteve por lá e gostaria de comentar ?

Até o próximo post !

quinta-feira, 4 de novembro de 2010

Computação Forense e Virtualização

O vídeo e o PDF da minha palestra no YSTS 4th Edition, em 2010, está liberado.

O objetivo dessa palestra foi abordar como a Computação Forense se relaciona com o conceito de Virtualização. Procurei abordar o tema em 3 visões distintas: A visão de um Perito que encontra um ambiente virtualizado para periciar, a visão de um Investigador Digital que usa ambiente virtualizado a seu favor, implementando técnicas e métodos baseados em máquinas virtuais, e também a visão do atacante, que usa máquinas virtuais para ações maliciosas, esperando diminuir os vestígios das suas atividades.

Comente suas opiniões sobre a palestra !

Até o próximo post !

sexta-feira, 15 de outubro de 2010

Anti Anti Forensics

O vídeo e o PDF da minha palestra no H2HC 6th Edition, em 2009, está liberado.

O objetivo dessa palestra foi abordar os principais conceitos e técnicas ligados à Anti-Forense, além de mostrar os vestígios que essas técnicas deixam. Outro ponto importante da palestra foi abordar que Anti-Forense não produz um crime perfeito, ao passo que Peritos também não possuem técnicas perfeitas. Essa "guerra" produz crescimento e amadurecimento das técnicas, no fim das contas.

Até o próximo post !

quinta-feira, 7 de outubro de 2010

Palestra confirmada no H2HC

Estarei presente no próximo H2HC, em Novembro. Além de ministrar um treinamento sobre Advanced Disk Forensics, vou palestrar sobre uma situação bastante comum no dia a dia dos "Forensicators", como temos sido chamado nos EUA e Europa. Será uma grande satisfação palestrar no mesmo evento que uma turma da pesada, assim como foi na edição do evento do ano passado.

A ideia da palestra é mostrar onde olhar e procurar por vestígios naquelas situações desesperadoras onde quem demandou a investigação digital te olha e diz: "Sinto muito mas não temos nada". Além de sentar e chorar, há algumas coisas que podemos fazer nesses casos e, em muitas vezes, podemos chegar plenamente a uma conclusão satisfatória.

Happy hours são bem-vindos !

Até o próximo post !

quarta-feira, 6 de outubro de 2010

Curso no H2HC confirmado !

No final do ano teremos novamente a já tradicional conferência hacker H2HC, considerada por muitos a melhor conferencia hacker brasileira, junto com a YSTS. Ainda no ano passado, após a minha palestra, recebi um convite do meu amigo Felipe Balestra para pensar em um treinamento no estilo do H2HC, voltado para Computação Forense, logicamente.

Muito bem, as ideias foram chegando e finalmente chegamos em algo bem bacana. O curso foi confirmado, e vamos tratar sobre Análise Avançada de Discos e Sistemas de Arquivos.

Minha abordagem será em torno do Sleuth Kit, partindo desde seu uso mais elementar até chegar a alguns truques bem interessantes. Vamos ter uma parte teórica baseada nas estruturas de alguns FSs mais conhecidos e utilizados, e vou ensinar a automatizar o trabalho usando Perl, a linguagem-mãe para todos os peritos e investigadores. O objetivo não é ensinar a programar perl para uso genérico, sites web, etc, mas voltar seu uso para scripts uteis em Forense Computacional, principalmente a criação de parsers.

Haverá uma série de benefícios em atender a esse treinamento/seminário:

- Vai ser intensivo, com 16h/aula.
- Vai ser baseado em software livre
- Vai ter um custo bastante acessível
- Vai ser nos dois dias que antecedem a H2HC.

O último bullet é uma vantagem a mais. Para quem ainda não sabe, um dos Mega-Master-Plus-Super-Feras da Memory Forensics, Matthieu Suiche, simplesmente o cara que criou o Win32dd, o SandMan e outros, estará palestrando no evento e ministrará um treinamento sobre o assunto nos dois dias depois do evento. Ou seja, meu treinamento não passará por essa concorrência desleal ... ;D

E eu te aconselho a se inscrever nesse treinamento também.

Agora pode parar de ler o post e ir lá no site do evento fazer sua matrícula.

Até o próximo post !

terça-feira, 28 de setembro de 2010

Computação Forense no AppSec Brazil 2010

O que segurança de aplicações e Computação Forense tem em comum ?

Muitas coisas, e em novembro próximo haverá mais uma: Este investigador que vos escreve teve a felicidade de ver seu trabalho como um dos selecionados para serem expostos no OWASP AppSec Brazil 2010.

O OWASP dispensa apresentações. Ouviu Segurança em Aplicações, ouviu OWASP. Quase sinônimos hoje em dia. Pois bem, essa organização promove uma conferência anual de nível internacional em alguns países cujo capítulo da OWASP já esteja bem estruturado e atuante. No nosso caso, a conferência já vai para sua segunda edição, capitaneada pelo meu camarada Wagner Elias e outros pesos-pesados desse que é um dos principais domínios da Segurança de Informações.

Está dado o recado. Dias 18 e 19 de novembro, estarei por lá aprendendo muito e aproveitando a oportunidade para apresentar um estudo sobre Computação Forense e Segurança de Aplicações, dando uma abordagem bem no estilo do famoso OWASP Top 10 aos vestígios mais importantes em investigações envolvendo aplicações.

Deixe um comentário se você for aparecer por lá. Quem sabe não conseguimos juntar uma turma para um bom bate papo sobre Forense durante o almoço ?

Até o próximo post !

sábado, 25 de setembro de 2010

Quebrando o silêncio no rádio

Depois de ficar de molho na publicação de artigos para o blog, finalmente posso respirar um pouco melhor e voltar à ativa. Apesar da temporada de zero artigos durante um bom tempo, estou voltando com bastante disposição e anunciarei em breve algumas novidades bem legais.

Fiquem ligados e obrigado por ainda estarem por aí depois de tanto tempo só com estática no canal ... ;)

Até o próximo post !

quinta-feira, 8 de julho de 2010

Dois em um - WinTaylor 2.0 e Remnux


Vou aproveitar um post só para falar de duas novidades boas que acabaram de sair do forno.

A primeira delas serve como um petisco para o lançamento do CAINE 2.0. Trata-se da mais nova versão do WinTaylor, a interface montada pelo CAINE para resposta a incidentes. O novo WinTaylor não é apenas um conjunto com novas versões dos utilitários, ele foi totalmente renovado na interface (que está mais fácil de usar do que a anterior, segundo o site) , funcionalidades e conjunto de ferramentas.

A outra novidade apareceu documentada ainda hoje no blog do Sandro Suffert. Trata-se da primeira distribuição Linux no estilo máquina virtual dedicada especificamente à Forense de Malware, chamada de Remnux. Segundo o site do autor, a distribuição contém:
  • Analise de malware em Flash: swftools, flasm, flare
  • Analise de bots IRC: IRC server (Inspire IRCd) e client (Irssi).
  • Monitoramento de rede: Wireshark, Honeyd, INetSim, fakedns e fakesmtp scripts, NetCat
  • Desobfuscação de JavaScript: Firefox com Firebug, NoScript e JavaScript Deobfuscator extensions, Rhino debugger, 2 versões do patched SpiderMonkey, Windows Script Decoder, Jsunpack-n
  • Tratamento de malware de web no laboratório: TinyHTTPd, Paros proxy
  • Analisando shellcode: gdb, objdump, Radare (hex editor+disassembler), shellcode2exe
  • Tratando com executáveis protegidos: upx, packerid, bytehist, xorsearch, TRiD
  • Análise de PDF malicioso: Dider’s PDF tools, Origami framework, Jsunpack-n, pdftk
  • Memory forensics: Volatility Framework e plugins de malwares.
  • Outros utilitários: unzip, strings, ssdeep, feh image viewer, SciTE text editor, OpenSSH server
Alguém já baixou e testou ? Comentários ?

Até o próximo post !

quarta-feira, 7 de julho de 2010

Podcast StaySafe no ar

O podcast que gravamos recentemente, onde fui convidado pelos produtores Jordan Bonagura e Thiago Bordini, está no ar.

São cerca de duas horas de um bom bate papo sobre Computação Forense. O site do StaySafe também disponibiliza, além do MP3 do podcast para baixar, alguns links sobre assuntos que foram comentados no decorrer do episódio.

Deixo novamente o meu agradecimento por esse convite. Espero que vocês gostem de ouvir o podcast tanto quanto eu gostei de participar. Foi uma experiência muito bacana.

O "icing on the cake" do podcast foi a versão mixada da Carmina Burana. Nota 10 !!

Comentários ?

Até o próximo post !

terça-feira, 6 de julho de 2010

Virtualização e CAINE 2.0 - Parte 5

O título desse post poderia muito bem se chamar "Felipe Melo me deve um feriado". Eu deveria estar agora à beira de uma piscina, curtindo um churrasquinho enquanto Brasil x Uruguai não começa. Isso não vai acontecer por conta de alguns pisões e letargia em campo, e cá estou escrevendo esse bem humorado artigo.

A idéia, na verdade, é comentar que já saiu do forno o vdimount.pl, o script que criei para calcular os dados necessários para montar um arquivo vdi (disco virtual) tanto no Windows como no Linux. Vale lembrar que o funcionamento só é garantido para discos fixos, ou seja, aqueles que já tem seu tamanho final definido e criado desde o início. São a minoria, mas já é alguma coisa. Resta agora que a equipe do VirtualBox libere um utilitário como a VMWare fez em relação ao DiskMount.

O script está disponível no Byte Investigator, cujo link está aqui no blog, na seção de links.

Comentários ??

Até a próxima copa, ops, digo, próximo post ! :O

sexta-feira, 2 de julho de 2010

Virtualizacão e CAINE 2.0 - Parte 4

Estamos na quarta parte do nosso conjunto de artigos sobre Virtualização em Computação Forense. No último artigo, mostrei uma técnica que permite montar o arquivo .vdi, que é o disco virtual para Virtual Box, através de uma série de etapas que tem por objetivo localizar dentro do arquivo .vdi o offset da partição a ser montada.

Reconheço que cada uma das etapas vai dar um certo trabalho e, obviamente, poupa-se um pouco de trabalho comprando o WinMount. Porém, criei uma rotina para poupar nosso tempo e fazer o trabalho sujo daqueles cálculos todos. Em breve darei mais notícias dessa rotina.

Seguindo em frente na série de arquivos, imagino que já estejam se pergunto o que afinal faz o CAINE 2.0 no título. Hoje você saberá.

Segunda Técnica: Usando o Sleuth Kit com arquivos virtuais

O Sleuth Kit (TSK) é uma ferramenta que suporta vários tipos de arquivos de imagens forenses. Em cada utilitário do TSK, é possível usar a option -i list para determinar qual tipo ele foi compilado para aceitar. As versões mais novas estão compiladas com a AFFLib que já suporta trabalhar com arquivos vmdk. Com isso, implementações TSK que tenham como resposta AFFLib ao usar o -i list permitem trabalhar diretamente com um arquivo vmdk, como se fosse um AFF, EWF ou mesmo dd. O único segredo nesse caso é colocar -i afflib e o restante fica da mesma forma como em qualquer outro formato.

Por exemplo:

# mmls -i afflib discovirtual.vmdk
# fls -o 63 -i afflib discovirtual.vmdk

Onde o CAINE 2.0 entra nisso ??

É que, dentro das diversas distros de Computação Forense em Live CDs, a única que já vem com os pré-requisitos necessários e já consegue manipular .vmdk sem problemas é a nova versão do CAINE, a versão 2.0. É só esperar para ver.

E o disco virtual .vdi, da Virtual Box ??

Não consegui, até agora, verificar nenhuma opção para o TSK que permita acesso direto para o .vdi. Caso o uso do TSK seja imperativo, pode-se usar as técnicas comentadas na parte 3 desse artigo para extrair uma imagem .dd de dentro do arquivo/disco virtual.

Comentários ?

Até o próximo post !

terça-feira, 29 de junho de 2010

StaySafe Podcast

O primeiro podcast a gente nunca esquece !

Eu tinha sido convidado para a gravação de um podcast com uma turma muito bacana. Jordan Bonagura e Thiago Bordini criaram um podcast bem bacana e tem feito usado esse instrumento ser útil na divulgação da Segurança de Informações. Nessa terça, foi a minha vez.

Gravamos de forma bem descontraída e aproveitamos para falar de uns assuntos muito interessantes, além de responder a perguntas que os ouvintes do StaySafe mandaram via Twitter. Tudo isso acompanhado de Carmina Burana !

Vamos aguardar a publicação. Assim que eu souber, aviso aqui no blog também.

Só depois pude perceber que esqueci, no final, de mandar um beijo para minha mãe, pro meu pai e para a Xuxa. Uma pena, não devo ganhar sobremesa por isso ... :PP

É, e você achando que todos os peritos eram normais, né ? Pois é ... :D

Até o próximo post !

segunda-feira, 28 de junho de 2010

Virtualizacão e CAINE 2.0 - Parte 3

Ainda na técnica do artigo anterior, queremos montar no Windows um disco virtual que é, na verdade, um arquivo colhido em uma aquisição forense. Como nossa máquina a ser investigada era uma máquina virtual, o que temos não é um arquivo no formato dd, EWF ou ainda AFF. Temos um arquivo que é o próprio disco virtual. No entanto, a técnica passada no artigo anterior (Parte 2), mamão com açúcar, acabou indo por água abaixo agora porque dessa vez o que temos é um arquivo .vdi.

VDI é a extensão do arquivo que constitui o disco virtual do VirtualBox, e nesse caso não tem um utilitário free no Windows que faça o que o DiskMount da VMWare faz. Vamos ter que quebrar pedra ...

Antes de sair na briga com o arquivo e ver quem vence, vou logo avisando que a técnica abaixo só funciona em arquivos .vdi fixos, ou seja, o tamanho atual é o pré-estabelecido desde sua criação. Todos os tipos de máquinas virtuais (VMWare, VirtualBox, VirtualPC, etc) fornecem a capacidade de criação de discos virtuais do tipo fixo, onde o arquivo assumirá o tamanho final já no momento de sua criação, ou então discos dinâmicos, onde o arquivo começa com um tamanho pequeno e vai crescendo conforme for recebendo conteúdo, até que finalmente atinja o tamanho final especificado. A bem da verdade, os discos (arquivos .vdi) mais comuns são criados no formato dinâmico, o que nos deixa na mão na técnica abaixo. O DiskMount, como foi desenvolvido diretamente pela VMWare, não enfrenta nenhuma dificuldade com o vmdk, mas a Sun não proveu nada parecido com o DiskMount para o VirtualBox, e acabamos com essa dificuldade a mais. Sem desesperos ! Ao final vou mostrar que nem tudo está perdido se o disco for dinâmico.

A técnica para montar arquivos .vdi fixos para Windows passa pelos seguintes passos:

1) Abra o .vdi em um editor Hexa. Recupere uma DWORD (4 bytes) a partir do offset 76 (em decimal). Esse valor informa o tipo de disco virtual, se dinâmico (1) ou fixo (2). Portanto, para essa técnica funcionar você deverá achar 00000001. Lembre-se que a informação estará em Little Endian, ficando invertido. Na prática, no editor hexa você verá 01000000.

2) Ainda no mesmo editor hexa, vá para o offset 344 (em decimal). Recupere uma DWORD (4 bytes) que refere-se ao offset de onde a tabela de partições do disco efetivamente começa. Lembre-se que o valor vai estar invertido (little endian) e em hexadecimal. Por exemplo, em um dos meus arquivos .vdi o valor no editor hexa é 00C80100, o que equivale à 0001C800 em hexa, ou a 116736 em decimal.

3) Vá até esse offset no editor hexa e visualize o início da MBR. Daqui em diante, pode-se fazer alguma técnica de extração que crie um novo arquivo a partir desse ponto até o final, gerando um arquivo .dd que pode ser pesquisado no TSK (SleuthKit) e montado por outras ferramentas, como o ImDisk. Uma maneira de extrair pode ser usando o próprio editor hexa. Outra prática é usando um utilitário dd para Windows como no ex:

c:/>dd if=arquivo.vdi of=minhaimagem.dd offset=116736

4) O exemplo acima funciona, mas vai tomar muito tempo e espaço, já que estamos extraindo todo o disco, praticamente, jogando para um novo arquivo. Para evitar isso, podemos fazer o seguinte: Extraia uma porção bem menor, 1Mb, por exemplo. Novamente, isso pode ser feito tanto do editor hexa quanto do utilitário dd.

c:/>dd if=arquivo.vdi of=pedaco.dd offset=116736 count=1M

5) Esse pequeno pedaço da nossa imagem contém a tabela de partições, que pode ser consultada pelo utilitário mmls do TSK para se determinar onde cada partição está e qual o offset (em setores) de cada uma. No meu exemplo:

c:/>mmls pedaco.dd

6) Localize o offset da partição desejada e o tamanho de cada setor. Em geral, cada setor tem 512 bytes e as partições costumam ter offset 63, o que faz offset da minha partição a ser montada (em relação ao início da MBR) ser 63 x 512 = 32256. Com esse valor calculado, o pedaco.dd pode ser apagado.

7) Agora temos onde a MBR começa dentro do arquivo (116736, no meu exemplo) e onde, a partir daí, está a minha partição a ser montada. Com isso, o offset dessa partição é, a partir do início do arquivo .vdi, igual a 116736+32256= 148992

8) Com esse número, podemos finalmente usar o ImDisk para montar a partição. Verifique que o ImDisk pede o offset da partição em bytes. Nesse campo, informamos o valor calculado acima. Logicamente, o arquivo usado é o .vdi. Prontinho, a partição desejada estará disponível com a letra escolhida no ImDisk.

9) Se você quiser pular toda a trabalheira e ciência acima, há um atalho. Basta buscar pela string NTFS a partir do início do arquivo .vdi (logicamente, se a partição a ser montada for NTFS). O primeiro a ser achado deverá ser um conjunto de bytes EB 52 90 4E 54 46 53. Esse é o offset da partição a ser montada. Lembre-se de pegar o offset em decimal. Outro detalhe: Essa dica rápida só funciona em NTFS. FAT, ext2, ext3, etc tem assinaturas diferentes.

Bem, fechando o artigo, eu diria que além do problema de só funcionar para arquivos .vdi fixos, essa técnica é por demais trabalhosa. Quer um atalho ??? O WinMount faz tudo isso automaticamente, só com um clique, e custa apenas U$ 40 doletas. Monta .vdi dinâmico e estático. Além disso, monta vmdk e VHD também. Uma pechicha e ainda vem com um trial de 15 dias.

Comentários ?

Para o próximo artigo, vamos explorar outras possibilidades de trabalho com arquivos de discos virtuais.

Até o próximo post !

domingo, 27 de junho de 2010

Virtualizacão e CAINE 2.0 - Parte 2

Agora vamos ver como se usa o resultado de uma aquisição forense em máquinas virtuais. Se você já leu o artigo anterior, sabe que estamos falando especificamente em como usar em nossa investigação um arquivo que é um disco virtual (vmdk, vdi, etc).

Primeira técnica: Montando um disco virtual no Windows

É muito comum termos ferramentas de investigação que só funcionem em Windows. Uma das opções quando queremos usar tais ferramentas é montar a imagem no Windows e usar nela os utilitários. Para montar um arquivo .vmdk usamos um utilitário chamado VM DiskMount. Esse utilitário pode ser encontrado disponível no site da VMWare e possui uma interface bem simples que permite que um arquivo vmdk ser montado, inclusive como read-only. Após ser montado, o conteúdo fica acessível em uma letra como um drive local. Para desmontar o disco virtual, há também uma aba com essa opção no VMWare DiskMount.

O ponto negativo é que essa técnica é dependente do utilitário da VMWare. Por conta disso, só funciona com arquivos vmdk. Para trabalhar com ela em arquivos .vdi, vamos tratar no próximo artigo.

Até o próximo post !

sábado, 26 de junho de 2010

Virtualizacão e CAINE 2.0

Vamos matar dois coelhos com uma só paulada.

Quem teve a oportunidade de participar do YSTS4 deve ter assistido a minha palestra sobre Virtualizacão. Vamos conversar neste post sobre dois pontos que citei na palestra.

O primeiro deles é sobre a facilidade que as máquinas virtual trazem no contexto da Computação Forense. É muito mais fácil criar uma duplicação forense de um disco virtual do que de um disco real.

Tomando por referencia uma duplicação post-mortem, a duplicação de um HD real pode ser tão simples quanto usar um software de aquisição forense diretamente na mídia desligada, ou então tão complicado quanto encarar um monte de discos em um RAID xxx. Dessa forma, mesmo o caso mais simples dá um certo trabalho. Porém, quando se trata de duplicar um disco virtual, todo o trabalho se reduz em realizar a cópia e o hash do arquivo que representa o tal disco (um .vmdk para VMWare ou .vdi para VirtualBox).

Outro ponto que citei na palestra é uma nova possibilidade de aquisição. Colocando de maneira bem simplificada, podemos fazer a aquisição post mortem e ter uma visão estática dos dados do HD, ou então podemos fazer uma aquisição conhecida como Live, onde o computador continua ligado. Essa segunda modalidade é mais rápida e tem o benefício de não precisar desligar a máquina, mas a visão dos dados é dinâmica. Isso traz imediatas consequencias, pois antes da aquisição chegar ao final, o conteúdo capturado do início da mídia já pode ter sido alterado. Com isso, o hash não será capaz de comprovar integridade com a mídia, por exemplo.

Nesse caso, a captura de uma imagem forense de uma máquina virtual oferece uma terceira opção. Ela funciona como uma semi-live. A idéia é bem simples, no fim das contas. Basta ir no gerenciador da máquina virtual e interromper a execução dela temporariamente. Em geral, o comando que realiza essa tarefa é semelhante a uma pausa. Pode-se interromper e retornar a execução de uma máquina virtual a qualquer momento. Ao interromper, o arquivo de disco virtual pode ser copiado normalmente. Ao fim da cópia, retorna-se a máquina ao estado de execução sem mais demoras. O maior benefício dessa técnica pode ser a possibilidade de ter novamente uma visão estática da mídia, além de permitir retornar a máquina bem mais rápido que no caso de uma aquisição post-mortem.

Falarei em breve de como utilizar arquivos capturados segundo as técnicas acima. Com o aumento no uso de servidores virtuais, essas técnicas serão cada vez mais úteis.

Comentários ?

Até o próximo post !

quarta-feira, 16 de junho de 2010

LiveView ganha irmão mais novo ...

... e talvez tão útil quanto.

Eu já comentei aqui no blog sobre um utilitário que é capaz de criar, a partir de uma imagem raw (dd), um disco virtual para ser usado em qualquer máquina VMware. Na verdade, o LiveView cria toda a configuração de uma nova máquina que possa ser inicializada a partir da imagem. Além disso, essa máquina já vem criada com algumas facilidades voltadas para Forense Computacional. Por exemplo, a rede da máquina virtual fica desabilitada, de forma a impedir eventual propagação de malware. Além disso, ela já sobe com o snapshot ligado. Com isso, todas as modificações que podem acontecer serão descartadas e a imagem estará intacta ao final.

Até então, o LiveView era o único que oferecia funcionalidades com esse objetivo. Até então.

Um anuncio recentemente postado por Tasos Laskos avisa que há um novo software para esse mesmo fim (na verdade, semelhante). O raw2vmdk é um programa java que consegue converter um arquivo em formato raw para o formato vmdk, que é o disco virtual da VMWare. A bem da verdade, ele não converte de raw para vmdk, mas cria uma estrutura que permite o uso do arquivo .dd em uma vmware como um disco virtual que é baseado nela. Repare que o raw2vmdk não cria uma VM, nem suas estruturas. Apenas o disco virtual é criado. No entanto, o LiveView tem algumas exigências que o raw2vmdk não tem:

- O LiveView requer que o VMWare Server 1.x ou o VMWorkstation 5.xx estejam instalados; O raw2vmdk não depende deles;
- O LiveView não suporta VMWare 2.x; O raw2vmdk não tem problemas quanto a isso;
- O LiveView monta a máquina inteira, mas essa máquina virtual só roda no VMWare; O raw2vmdk cria o disco virtual apenas, mas que pode ser usado tanto em VMWare quanto em Virtual Box;

É possível partir do disco virtual criado pelo raw2vmdk e chegar no que seria o resultado final do LiveView. Entre outras coisas, será necessário verificar uma configuração de máquina virtual que consiga ser usada sem causar conflito no momento do boot. O snapshot precisa ser configurado na máquina virtual antes de ela ser usada pela primeira vez. Além disso, a interface de rede precisa ser desabilitada. Vai dar um pouco mais de trabalho do que os simples cliques do LiveView, mas pelo menos já se torna possível usar a estratégia com o Virtual Box.

Eu ainda não testei o produto, portanto ainda não consegui detectar se ele também faz a criação da tabela de partições, caso o arquivo .dd seja uma imagem lógica. O LiveView tem essa preocupação. Alguém já testou e viu se ele faz isso ? Comentem.

Até o próximo post !

quarta-feira, 9 de junho de 2010

Um pouco de filosofia

Estava lendo a notícia da prisão do cracker que tentou extorquir dinheiro de um banco. Há algumas lições aprendidas nesse assunto e algumas delas batem com o que conversei com uma animada turma durante o almoço no YSTS. Estávamos exatamente falando de crime perfeito e a falsa idéia de que é possível dominar técnicas avançadas de anti-forense de tal forma que se consiga eliminar todos os rastros. Algumas coisas que penso sobre isso:

- O Princípio de Locard é uma grande verdade. Você pode apagar todos os vestígios, mas haverá vestígios dessa sua ação de anti-forense, e isso por si só já pode ser usado;

- O atacante não está, em geral, com domínio total do ambiente atacado. Ele pode estar há anos trabalhando no local e desconhecer algum detalhe que vai deixar rastros na sua tentativa de explorar uma falha ou invadir algo. Em geral, o atacante domina um servidor ou grupos, mas pode não conseguir determinar o grau de monitoramento que há no ambiente, e isso acabar colhendo vestígios que levarão até ele;

- No fim das contas, não há crime perfeito (felizmente) porque as pessoas que o cometem ou o planejam são imperfeitas. Sempre pode acontecer um imprevisto que deixe o vestígio (ou grupo deles) e os rastros do que foi feito;

- Há, além disso, o questão do elo mais fraco. Sempre se falou no elo mais fraco da segurança ser pessoas, inclusive isso é a frase de entrada em muitos artigos e apresentações sobre Engenharia Social. Muito bem, felizmente o elo mais fraco também está presente no atacante. Esse acontecimento mostra como um tecnicamente muito bom e preparado cracker caiu depois de uma atitude bem estúpida, impensável para muitos. Além disso, crime é crime. Se começou no âmbito virtual, não quer dizer que só vamos dispor de técnicas de Forense Computacional para pegar o suspeito. Como nesse caso, em algum momento o atacante vai deixar um rastro que o ligue à ação.


Além dessas reflexões interessantes, vou ampliar o nosso "momento filosofia" do blog para comentar alguns outros pontos.

Será que já não era hora de colocarmos nos currículos escolares assuntos sobre ética na informática ? Esse rapaz acusado de extorsão tem apenas 24 anos e é a segunda passagem pela polícia. Pelo que consta, aos 21 ele já esteve em outro incidente parecido, onde fez um acordo com um banco e respondeu o processo em liberdade.

A sede de conhecimento da adolescencia, aliada ao acesso à tecnologia que temos hoje, pode criar um ambiente sem controle que produza jovens altamente qualificados tecnicamente, mas que não transferiram os bons conselhos dos pais e avós para os meios digitais. Jovens que seriam incapazes de morder uma fruta em um supermercado, mas que entram em bancos e desviam fundos como se fosse brincadeira sem nenhuma consequencia.

Outro ponto importante é sobre a formação e produção nacional na área de Perícia Forense. Continuo insistindo nisso porque dizem que o Brasil possui os melhores hackers (entenda-se crackers) do mundo. Se isso é assim mesmo, precisamos urgentemente de também formar os melhores peritos do mundo. Caso contrário, não haverá equilíbrio nessa balança, e todo mundo vai sair perdendo.

Perguntas para se refletir: Como Forense Computacional está sendo ensinado nas nossas academias de formação de policiais ? E de Peritos ? E de oficiais das Forças Armadas ? E da área de Inteligencia ? Isso me lembra que perito não se forma rápido. Não dá para sair da faculdade e ser perito, pois na maioria das vezes, o conhecimento adquirido nas áreas de TI é fundamental. Vale o mesmo para os especialistas em Segurança de Informações, os white hackers.

Precisamos formar agora aqueles que vão defender digitalmente a nossa nação nas próximas décadas.

Comentários ?

Até o próximo post !

terça-feira, 8 de junho de 2010

Novo CAINE vem aí

Essa é uma notícia das boas. O melhor Live CD de Forense Computacional de todos os tempos está com sua nova versão no forno. Acabei de receber o aviso de que a versão beta do CAINE 2.0 está disponível para meu download e dissecação.

Ainda não me inteirei das novidades. Sei que estaremos com a versão mais nova do Sleuth Kit e também do Byte Investigator (que estou portando para inglês, a pedido da turma). Há também um novo manual disponível no desktop e um grupo de scripts, o Nautilus.

Vou baixar hoje e começar a brincadeira. Em breve, teremos esse campeão disponível.

Quem já usa a versão atual ? O que você mais gostaria de ver no CAINE ?

Até o próximo post !

quinta-feira, 3 de junho de 2010

Histograma

O uso da linha do tempo para auxílio nas investigações de malware e invasões já está bastante disseminado e conhecido. Em resumo, nessa técnica pegamos os MAC timestamps (atributos de data/hora que indicam quando o arquivo foi criado, modificado pela última vez ou acessado pela última vez) e os ordenamos. Em geral, dado que temos uma idéia de quando aconteceu o incidente, podemos filtrar o conteúdo da linha do tempo de examinar a sequência de passos que pode ter sido usada na invasão ou infecção pelo malware.

Tudo bem até aqui ?

Acredito que sim, a menos que o investigador não tenha a menor idéia de quando pode ter sido o início do ataque/incidente. Analisar uma linha do tempo sem limitar as informações pode ser um processo penoso e até improdutivo. Outro ponto que complica, nesse sentido da quantidade de dados, é que a tendência atual é utilizar várias fontes de dados que contém data/hora e alinhar em uma única linha do tempo. Isso é ainda mais útil porque ajuda a perceber claramente a relação entre as ações do atacante (ou do malware), correlacionando melhor os vestígios encontrados. Nesse caso, logicamente temos muito mais informações para lidar e, sem a idéia de quando pode ter sido o início (chamamos de T-0 ou Time-0), a análise pode ficar comprometida.

É aí que entra uma outra técnica de análise: o histograma.

Um histograma é um gráfico que ilustra a quantidade de ocorrências em uma determinada série, ou unidade de tempo. Não faço a menor idéia se a definição correta e formal de histograma é exatamente essa, e que me perdoem os estatísticos se os deixei irado com essa explicação simplória, mas no fim das contas um histograma é exatamente isso.

No nosso caso, se fizermos um histograma das distribuições das MAC times, certamente haverá uma concentração maior de registros nas imediações do ataque, ou então notaremos um salto na quantidade quando a infecção estava no seu início. Isso porque temos, na prática, um certo padrão de uso nos computadores e servidores no que diz respeito aos arquivos, mas quando passamos por um ataque bem sucedido ou por uma infecção por malware, invarialvelmente esse padrão de uso vai se modificar. Vários arquivos serão atualizados ou acessados em um curto período de tempo, e isso salta aos olhos na análise via histograma.

Na prática, o histograma fica parecido com isso:
| #
| #
| #
| # #
| # # # # #
| # # # # # # #
-------------------------------------------------------------

Ou então, em um histograma vertical:

|
|##
|
|#
|
|###
|
|######
|
|##
|
|##
|
|#

Não importa se vertical ou horizontal, ambos demonstram visivelmente que há um período onde o uso dos arquivos (seja na criação, modificação ou acesso) foi muito maior. Nesse período devemos concentrar os esforços e avaliações mais detalhadas na linha do tempo.

A fim de facilitar a criação do histograma, eu criei uma rotina em Perl que dá conta do recado. O script fshistog2.pl recebe como parâmetro de entrada um arquivo que é a saída do utilitário fls, do The Sleuth Kit, chamado normalmente de bodyfile. Esse arquivo é a primeira etapa da criação de uma linha do tempo usando o TSK. Logicamente, deve-se gerar o bodyfile para todo o sistema de arquivo da mídia sendo investigada.

Além desse parâmetro, o script tem a possibilidade de usar apenas uma das MAC times (apenas a data de criação, ou ultima modificação, etc), permite agregar (contar) as MAC times por ano, mês, dia, hora e minuto e, por fim, também pode-se usar todo o arquivo de bodyfile ou filtrar por datas. Ao final, o script gera em modo texto um histograma vertical.

Inseri esse script no meu projeto Byte Investigator, que está disponível para download no SourceForge. O link está aqui mesmo no blog, na seção de links interessantes.

Aguardo feedback nos comentários.

Até o próximo post !

quinta-feira, 20 de maio de 2010

YSTS4 - Revendo

Descrever o YSTS não é tarefa fácil. Pense em uma combinação de boas palestras com bom público, e adicione uma organização impecável. Acabou ? Não ! O evento vai além, com um modelo inovador em um local bem escolhido, aliando networking e conhecimento técnico de ponta.

O evento começou com as palavras dos organizadores e, sem mais delongas, prosseguiu na palestra do Andrew Cushman, diretor da Microsoft. Andrew falou sobre o EMET e mitigação sobre alguns exploits usando esse toolkit. Mal a palestra dele terminou, entra em cena um tal de Tony Rodrigues, falando sobre Virtualização e Computação Forense. De olho no maldito cronometro (rs), eu falei sobre máquinas virtuais, seu crescente uso corporativo e como um perito/investigador digital pode ver essa tecnologia. Tratei de alguns aspectos em realização de Forense em máquinas virtuais, no uso de máquinas virtuais como ferramentas de trabalho, auxiliando o perito montando ambientes ou fornecendo praticidade à técnicas que já existiam, e por fim, comentei sobre como a praticidade de criação e destruição de máquinas virtuais pode ser usada por atacantes como anti-forense, além de algumas possibilidades de detecção dessas técnicas.

Nicholas Percocco, da SpiderLabs, mostrou logo em seguida o resultado do Global Security Report. Esse report seguiu a disponibilização de um paper sobre a pesquisa feita pelo grupo, após ter realizado em 2009 um considerável número de pen testes e investigações em incidentes. Foi um verdadeiro mapa de como anda a situação, nesse aspecto.

Breve intervalo para o bate papo e Alex Kirk, da SourceFire, vem falar sobre os novos avanços que a engine do Snort fez em detecção em client-side exploits, desde javascripts até os mais recentes PDFs mal formados. Logo depois, Luiz Firmino, do HSBC, fez uma das palestras que achei mais interessantes, comentando aspectos de rastreabilidade e resposta a incidentes em grandes corporações. Fiquei meditando em algo que Firmino comentou durante sua palestra, sobre ser importante que o líder do time de resposta a incidentes, que em geral é multidisciplinar e originário de várias áreas, receber a autoridade sobre a equipe no momento da crise. Já vi e também tomei conhecimento de crises que se alongaram por choques de poder entre o líder do CSIRT e o chefe de fato do membro da equipe. A bem da verdade, isso é mais um problema que aponta para a necessidade do comprometimento da alta gestão, deixando tudo devidamente apontado antes que um incidente aconteça.

Hora do almoço, open bar rolando e vamos para mais uma etapa. Chris Hoff (CISCO) falou sobre Cloud Computing, detalhando alguns aspectos ligados à segurança. Ryan Jones, também do SpiderLabs, fez uma palestra bem interessante sobre vulnerabilidades bem comuns na segurança física de datacenters. Cada coisa horripilante de ser encontrada, e com direito a fotos !

Joaquim Espinhara, pesquisador lá do Nordeste, veio com sua Pitu e seu framework sobre pen test para SAP. Mostrou algumas coisas bem interessantes, principalmente porque algumas empresas não investem tempo necessário para hardenizar adequadamente suas instalações ERP.

Antes que todos começassem a ver 3 palestrantes no palco ao mesmo tempo e falar "zuzzu bem", mais um intervalo e sobe o "mestre de cerimonias" Anchises (iDefense) para comandar o InfoSec Arena, uma inovação do YSTS4 que colocou a turma para debater temas escolhidos pelos próprios participantes, tudo com muito bom humor e algumas doses a mais de álcool :)

Fim do evento com chave de ouro promovido pela HCF (Hackers construindo futuros) e o tradicional leilão para levantar fundos.

That's it ! Se eu esqueci de algo, comentem !!

Até o próximo post !

quarta-feira, 5 de maio de 2010

Novo DEFT no ar

A turma do DEFT trabalhou rápido e já está no ar a mais nova versão desse aclamado live CD de Computação Forense.

O site deixa especificado poucas mudanças. Na prática, a próxima versão, esperada para o final do ano, prevê algumas modificações significativas, incluindo a base do SO.

Por enquanto, as novas alterações são:

- Novas versões do SleuthKit e Autopsy;
- Correções de bugs no Dhash e DEFT Extra (a parte Windows voltada para IR);
- Nova versão (a mais atual) do Xplico;

Como eu já disse algumas vezes, essa distrô vale, sozinha, pelo Xplico. Nessa nova versão, há o suporte atualizado aos protocolos VOIP, permitindo a decodificação completa dos pacotes capturados em um pcap. Ou seja, com essa versão, o Investigador Digital captura pacotes em uma rede onde trafega VOIP e depois, com alguns simples cliques, consegue ouvir a conversa que rolou, completamente. Sim, com o Xplico você não vai precisar ficar perseguindo pacotes, o Xplico e seus Decoders fazem tudo para você.

Planejo fazer em breve um artigo mais completo sobre essa nova versão e também sobre o Xplico. Enquanto isso, alguém já baixou o novo DEFT 5.1 e quer comentar ?

Até o próximo post !

sábado, 1 de maio de 2010

VIII GAMACOMP

O VIII GAMACOMP vai estar acontecendo nos dias 3 e 4 de maio de 2010.

O Gamacomp é um fórum anual organizado pelos cursos de Ciência da Computação, Redes de Computadores e Tecnologia da Informação da Universidade Gama Filho.

Segundo o site, o evento tem como objetivo, o intercâmbio, aprimoramento, troca de experiências e divulgação de pesquisas na área de Computação e Informática, objetivando aproximar alunos, professores e profissionais de novas tecnologias, mostrando as tendências e o estado da arte neste campo. São realizadas palestras e minicursos com profissionais, especialistas e pesquisadores da área tecnológica.

Estarei por lá no dia 4, às 19h30, falando sobre Computação Forense usando software livre. A grade do evento, com as outras palestras e atividades, local e horários, pode ser vista aqui.

Até lá, ou até o próximo post !

quinta-feira, 15 de abril de 2010

Bulk Extractor

Simson Garfinkel, pesquisador em Computação Forense e idealizador do formato AFF, acaba de lançar mais um excelente utilitário: Bulk Extractor. Na verdade, o utilitário já existia, mas foi completamente re-escrito.

Liberado para Windows e Linux, o Bulk Extractor tem a finalidade de varrer uma imagem forense em formato raw, AFF ou EWF (Encase) e extrair/localizar vários artefatos bastante importantes em investigações:
- Cartões de Crédito;
- Domínios;
- Endereços de email;
- Dados no formato da RFC 822;
- Pacotes TCP/IP em dumps de memória, pagefile.sys e hyperfil.sys;
- Números de Telefone;
- URLs;
- URLs de Busca (Google, Yahoo, etc);
- URL de serviços Web (Google, Webmails, Tradutores, etc);

Além desses dados, o Bulk Extractor monta uma wordlist com todas as palavras encontradas na imagem forense. Essa wordlist pode ser muito útil para ser usada como dicionário de dados no John The Ripper, para quebra de senhas, por exemplo.

O utilitário é bastante simples. Ele aceita um diretório de saída como parâmetro, bem como o nome do arquivo de imagem. Na verdade, o Bulk Extractor nem depende exatamente que o arquivo seja uma imagem forense. Ele opera em qualquer tipo de arquivo, extraindo as informações listadas acima.

Para facilitar a recuperação em caso de falhas no meio da operação, o Bulk Extractor trabalha em duas fases, de forma que se houver qualquer problema na segunda fase, o trabalho realizado na primeira (que é demorado, por natureza) não se perde.

Comentários ?

Até o próximo post !

quinta-feira, 8 de abril de 2010

Win32dd agora é MoonSols

Já conversamos aqui no blog sobre alguns avanços em memory forensics, e como as pesquisas de Matthieu Suiche promoveram esse avanço. Dentre os produtos criados está um dos melhores utilitários para dump de memória que existem, o Win32dd.

Matthieu preparou algumas novidades. Através da marca MoonSols, um grupo de ferramentas voltadas para Windows Memory Forensics foi montado em duas versões: O Windows Memory Toolkit Community Version e a Professional Version. A boa notícia é que a Community Version é de graça. A Professional vai custar 500 Euros.

O Windows Memory Toolkit compreende um grupo de ferramentas de peso:
- Win32dd e Win34dd: São os utilitários que outrora já eram disponibilizados pelo Matthieu Suiche, e fazem dump de memória em alguns formatos além do raw;
- hibr2dmp e hibr2bin: Utilitários de conversão entre formatos de hibernação e raw ou o formato utilizável pelo Windbg (arquivos de dump de memória por crash);
- dmp2bin: Utilitário de conversão entre formatos (de crash dump para raw);

A versão professional possui algumas caracteristicas a mais:
- Conversão de dumps de memória 64 bit;
- Conversão de arquivos de hibernação do Windows 7;
- Conversão de dumps de memória do Windows 7;
- Usar o win32dd e win64dd em batchs/scripts;
- Uso do win32dd e win64dd em modo interativo;
- Conformidade com o UAC do Vista e Win7 para Win32dd e Win64dd;

Alguém já está usando e gostaria de comentar ?

Até o próximo post !

sábado, 27 de março de 2010

Novo SIFT também é Live CD

A bem da verdade, virou um Live DVD. Essa é apenas uma das novidades trazidas na versão 2.0 do appliance virtual da SANS voltado para Forense Computacional.

Além dessa novidade, de termos disponíveis um Live DVD e um appliance virtual, a turma da SANS avisa que a VM foi completamente refeita, desta vez baseada em Ubuntu. Abaixo, uma lista de algumas funcionalidades e ferramentas disponíveis:

Suporta os seguintes sistemas de arquivos:
  • Windows (MSDOS, FAT, VFAT, NTFS)
  • MAC (HFS)
  • Solaris (UFS)
  • Linux (EXT2/3)
Tipos de imagens suportados:
  • Expert Witness (E01 - formato do Encase)
  • RAW (dd)
  • Advanced Forensic Format (AFF)
Ferramentas:
  • The Sleuth Kit
Simplesmente o melhor para análise de sistema de arquivos
  • log2timeline
Gerador de linha de tempo que expande as funcionalidades além dos MAC times
  • Regripper
Usado para resgatar valores do Registry
  • ssdeep & md5deep
Hash e fuzzy hash
  • Foremost/Scalpel
Carving de arquivos
  • WireShark
Network Forensics
  • Vinetto
Examina e lista conteúdo de arquivos thumbs.db
  • Pasco
Examina o history do IE
  • Rifiuti
Verifica arquivos INFO2 do Recycle Bin
  • Volatility Framework
Análise de artefatos em Memoria
  • DFLabs PTK
Interface para o Sleuth-Kit
  • Autopsy
Interface para o Sleuth-Kit
  • PyFLAG
Interface com várias funções de investigação


A turma vem reportando uma grande lentidão no download, então prepare-se e tenha bastante paciência. Alguém já baixou e tem algum comentário ??

Até o próximo post !

domingo, 21 de março de 2010

You Shot The Sheriff 4

Um dos eventos mais comentados da comunidade de Segurança de Informações do Brasil vai ter sua nova edição. O YSTS 4 já tem data marcada e eu estarei lá para conferir. Aliás, não somente isso, porque estarei palestrando também !

O tema sobre o qual vou falar é Virtualização e Computação Forense. Minha idéia é falar sobre a reviravolta, no sentido mais positivo da palavra, que a virtualização trouxe para TI. Logicamente, onde há tecnologia, há formas de exploração e também benefícios. Vamos discutir sobre esse assunto por lá, em meio a altas concentrações etílicas e a possibilidade de virtualização da platéia também hehehe.

A agenda do evento está muito boa. Acompanhe maiores detalhes aqui. Além de Forense, vamos ter Cloud Computing, Segurança Física, Pen Test de SAP, Exploits avançados e outras coisas mais.

Vejo vocês lá, no dia 17 de maio. Quem vai ?

Até o próximo post !


sábado, 6 de março de 2010

Web Page Saver

Quantas vezes, durante um processo investigativo, não precisamos obter uma "foto" de um grupo de sites, exatamente como eles estão naquele momento ? É muito comum.

A tarefa pode ser executada de maneira até muito simples. Basta digitar o endereço no seu browser, esperar para carregar a página, usar um capturador de tela ou mesmo o famigerado Print Screen, colar em algum software que manipule imagens e, finalmente, salvar no local escolhido e no formato escolhido. Nada mal, se não fossem os excessos de cliques e a espera por cada operação. Quando isso deve ser feito em conjunto com várias URLs, pode ser bem desagradável.

Para contornar isso, a JAD Software, mesma criadora do IEF, apresentou recentemente o WPS. O Web Page Server aceita uma lista de URLs digitada manualmente ou carregada a partir de um .txt, e executa todos os passos necessários para carregar cada página e registrar um snapshot dela. O arquivo originário pode ser gravado em local e formato escolhidos previamente.

A idéia pode parecer simples, mas vai poupar um trabalhão na hora da necessidade. Pena que o software, assim como a maioria na JAD, não é free ou open source. Ainda assim, faço questão de registrá-lo aqui porque os valores cobrados são bem acessíveis e convidativos. Em geral, são utilitários bem simples e muito eficientes.

Alguém já usa esse software ou conhece outro utilitário da JAD e gostaria de comentar ?

Até o próximo post !



quinta-feira, 25 de fevereiro de 2010

Turma do dia 8 de Março confirmada

A próxima turma começa em 8 de março, no Rio de Janeiro, com aulas no período integral. O curso tem duração de 40h com teoria e muita, muita prática, e ainda há algumas vagas disponíveis.

O conteúdo abrange Resposta a Incidentes na parte de captura e análise, e obviamente, Computação Forense em seus diversos aspectos. Neste ponto, o foco será na aquisição e na análise forense, com muitos exercícios práticos e estudos de caso. As práticas serão baseadas em software livre, principalmente em live CDs.

Para montar a ementa e o material, procurei aliar minha experiência como perito/investigador com minha experiência com ensino (já fui instrutor de cursos MOC, os cursos oficiais da Microsoft, já dei aula de banco de dados e, num passado distante, já montei um treinamento completo de Visual Basic, que na época ainda não era muito conhecido), e o resultado foi um material que está focado nas principais teorias e técnicas, tratando os assuntos com a profundidade na medida mais adequada à didática, e está recheado de exemplos e aplicações.

A TISafe, tradicional consultoria de Segurança de Informações do Rio de Janeiro com expertise diferenciado em criptografia e PKI, é minha parceira nesse treinamento. Ela também já oferece um treinamento de sucesso na área de formação de analistas de Segurança de Informações, o CFAS, do qual também sou instrutor, de forma que essa experiência será benéfica para o CFPF.

Se tiverem alguma dúvida, entrem em contato por email ou mesmo deixe um comentário aqui no blog.

Até o próximo post !

segunda-feira, 22 de fevereiro de 2010

Brazuca no blog de forensics do SANS

Minha falta de criatividade em títulos continua e agora eu "roubei" o título do micro-post do meu camarada Alexandre Teixeira, que viu a novidade antes mesmo de mim :) .

Há algum tempo recebi um convite para escrever para o blog de Forense Computacional que eu considero o mais conceituado do mundo no momento. Há diversos blogs muito bons por aí, mas o da SANS se destaca, principalmente porque é escrito por uma comunidade de peritos e investigadores digitais ao invés de apenas um escritor, como na maioria.

Ao receber o convite, além de ficar bastante lisonjeado, ocorreu-me que eu não tenho o certificado GCFA, da SANS, mas a turma que dirige o blog me deixou bem à vontade quanto a isso.

Hoje o meu primeiro artigo foi para o ar.

Para nós, o assunto não é tanta novidade, já que eu publiquei recentemente o texto antes aqui (Hashset de malware). Ainda assim, foi um grande motivo de orgulho estar publicando no mesmo veículo que alguns monstros da Forense Computacional mundial, como Rob Lee, Scott Moulton, Eoghan Casey e Craig Wright, entre outros.

Vamos ver os próximos artigos em breve ! Conto com o suporte de todos os amigos que me acompanham aqui no blog.

Até o próximo post, agora também em versão internacional :D !

** Alteração em 20/3 **

E não é que o artigo deu ibope ??

Agradeço todos os hits e espero continuar postando um conteúdo de qualidade por lá também.


sexta-feira, 19 de fevereiro de 2010

Novo AIR no ar

Minha criatividade para títulos está em baixa nesta semana, como todos puderam notar ... Ainda assim, Nanni Bassetti, meu camarada de equipe do CAINE acaba de anunciar a novíssima versão do AIR, um GUI para aquisição de imagens forenses.

Criado pelo Steve Gibson há algum tempo, o AIR sempre foi uma espécie de patinho feio das interfaces para aquisição de imagens. No Helix, sempre ficou à sombra do ADEPTO, e mais recentemente, foi um mero coadjuvante no CAINE, escondido pelo GuyMager. Não que a interface não cumprisse o seu papel, mas porque os irmãos de função acabavam por o ofuscar, oferecendo algum diferencial que levava a preferência da maioria. Na versão 2.0.0, no entanto, isso pode mudar.

A grande novidade dessa versão está por conta do uso do DC3DD. Embora eu não tenha verificado, acredito que o AIR 2.0.0 seja o primeiro GUI a abrir mão do DCFLDD e utilizar o novíssimo (e muito melhor) DC3DD como base de linha de comando. Isso quer dizer que tudo que o usuário escolhe e indica na interface gráfica vira uma enorme linha de comando, fora de questão o entendimento para a grande maioria dos mortais. Essa é a beleza dos GUIs, pois transformam a linha-mostro em algo factível e com menor possibilidade de erros. Até então, os GUIs existentes (Adepto, Air, Guymager) estavam focados no dd e no dcfldd para a tarefa. Agora, o Air-patinho feio vai reagir. Os benefícios ? Procure aqui no blog mesmo pelo artigo que já escrevi sobre o dc3dd. Ele é muito mais otimizado, possui código renovado e várias opções que facilitam a vida na hora de duplicar uma mídia de maneira forense.

O uso do dc3dd não é a única melhoria dessa nova versão. O AIR traz ainda o cálculo de hash da mídia por dois algoritmos distintos. Apesar de já termos fechado a questão sobre a polêmica de MD5 servir ou não para confirmar a integridade de uma imagem forense, a tendência vai ser mesmo a de usar dois hashs distintos e tirar qualquer sombra de possibilidade de, em um futuro próximo, criarem um algoritmo para atacar esse modelo e forjar imagens adulteradas como se estivessem integras.

Além dessas novidades, o AIR conta com a possibilidade de quebrar imagens em pedaços (split image), enviá-la pela rede enquanto faz a aquisição (usando netcat) e até mesmo compactá-la usando gzip. Não é a mesma compactação que o formato EWF ou o AFF possuem, mas já é alguma coisa no sentido de gastar menos espaço. Nesse caso, para ser manipulada, a imagem precisará ser descompactada. Já ia me esquecendo: o log dele é bem detalhado e contém detalhes sobre a sessão de aquisição, muito importante para copiarmos para o relatório final, laudo ou parecer técnico.

Abaixo, algumas telas do novo AIR:



Compartilhe conosco suas experiências com o AIR. Comente !

Até o próximo post !

quarta-feira, 10 de fevereiro de 2010

Hashset de Malware

Uma tecnica muito útil para um investigador ganhar tempo ou para ser alertado quanto a presença de arquivos maliciosos na máquina investigada é a filtragem por hashset.

De maneira muito resumida (já falamos nesse tópico aqui no blog), a filtragem por hashset permite, durante uma varredura pelos arquivos da imagem sendo periciada, eliminar do foco da investigação aqueles arquivos que são conhecidos e não poderiam ser relacionados com nenhum ponto ou problema da nossa investigação. Esses arquivos, conhecidos como known good, são os arquivos originais do sistema operacional, utilitários, programas e até mesmo imagens que fazem parte de pacotes comerciais ou não. Os arquivos known good podem ser reconhecidos através de um hashset, uma relação deles univocamente identificada pelo seu hash, em MD5 ou SHA-1. Durante a varredura, os arquivos cujo hash se encontram na base known good podem ser tranquilamente ignorados.

Por outro lado, seria interessante que durante essa mesma varredura pudéssemos ser alertados da presença inequívoca de um arquivo malicioso. Podemos atingir esse objetivo através de um hashset que reúna somente arquivos com reputação duvidosa, com malware, ferramentas hacker e códigos destrutíveis. Esse conjunto de hashs é comumente conhecido como known bad hashset, e a identificação também ocorre pelo hash do arquivo, em MD5 ou SHA-1.

Na verdade, o algoritmo nem precisa ser um desses dois. O que precisamos é ter a base de hashs (hashset) usando um determinado algoritmo de hash e varrer a imagem calculando o hash de cada arquivo neste mesmo algoritmo.

O problema surge exatamente aqui. A maior base pública de hashsets disponível é a NSRL, e curiosamente ela oferece, na mesma base, as duas classes: known good e known bad. Tomando como exemplo o sorter, se usarmos a base NSRL como known good, os arquivos maliciosos que porventura existirem na imagem serão ignorados. Por outro lado, se usarmos a base como known bad, seríamos alertados erroneamente em milhares de arquivos.

A solução desse impasse, enviada pelo colega Doug White do NIST, está em separar a base (que na verdade é composta por um conjunto de arquivos) em known good e known bad. Isso pode ser feito porque um dos arquivos que compoe a base possui um campo de classificação, e os arquivos known bad tem a classificação "Hacker Tool". Basta filtrarmos todos esses "Hacker Tool", jogando-os para um arquivo a parte, e teremos o Known Bad extraído da NSRL. Quem não tem essa classificação pode ser jogado em outro arquivo e será o Known Good.

Abaixo segue um código perl que fará a extração, conforme comentado:

#!/usr/bin/perl -w
# Extracts known good and known bad hashsets from NSRL
# uso: nsrlext.pl -n -p -g -b [-h]
#
# -n :nsrl files comma separated. Ex: -n c:\nsrl\RDA_225_A\NSRLFile.txt,c:\nsrl\RDA_225_B\NSRLFile.txt
# -p :nsrl prod files comma separated. Ex: -p c:\nsrl\RDA_225_A\NSRLProd.txt,c:\nsrl\RDA_225_B\NSRLProd.txt
# -g :known good txt filename. Ex: -g good.txt
# -b :known bad txt filename. Ex: -b bad.txt
# -h :help
#
#
use Getopt::Std;

my $ver="0.1";

#opcoes
%args = ( );
getopts("hn:p:g:b:", \%args);

#help
if ($args{h}) {
&cabecalho;
print << DETALHE ;
uso: nsrlext.pl -n nsrl_files_comma_separated -p nsrl_prod_files_comma_separated [-g known_good_txt] [-b known_bad_txt] [-h]

-n :nsrl files comma separated. Ex: -n c:\\nsrl\\RDA_225_A\\NSRLFile.txt,c:\\nsrl\\RDA_225_B\\NSRLFile.txt
-p :nsrl prod files comma separated. Ex: -p c:\\nsrl\\RDA_225_A\\NSRLProd.txt,c:\\nsrl\\RDA_225_B\\NSRLProd.txt
-g :known good txt filename. Ex: -g good.txt
-b :known bad txt filename. Ex: -b bad.txt
-h :help

DETALHE
exit;
}

die "Enter the NSRL hashset file list (comma delimited)\n" unless ($args{n});
die "Enter the NSRL product file list (comma delimited)\n" unless ($args{p});

die "Enter known good and/or known bad output filenames\n" unless (($args{g}) || ($args{b}));

my %hack;

&cabecalho;

#Prod files
my @prod = split(/,/, $args{p});

foreach $item (@prod) {
open(PRODUCT, "< $item");

while (< PRODUCT >) {
chomp;
my @line = split(/,/, $_);

#create a hash of hacker tool codes
$hack{$line[0]} = $item if ($line[6] =~ /Hacker Tool/);
}

close(PRODUCT);
}

#hashset files
my @hset = split(/,/, $args{n});

open(BAD, "> $args{b}") if ($args{b});

open(GOOD, "> $args{g}") if ($args{g});

my $i=0;

foreach $item (@hset) {
open(NSRL, "< $item");

while () {

#stdout feedback
print ">" if (($i % 10000) == 0);

my @line = split(/,/, $_);

if ($hack{$line[5]}) {
#is a hacker tool
print BAD $_ if ($args{b});
}
else {
print GOOD $_ if ($args{g});
}

$i++;
}

close(NSRL);
}

print "\nDone !\n";

close(BAD) if ($args{b});
close(GOOD) if ($args{g});

### Sub rotinas ####

sub cabecalho {
print << CABEC;

nsrlext.pl v$ver
Extracts known good and known bad hashsets from NSRL
Tony Rodrigues
dartagnham at gmail dot com
--------------------------------------------------------------------------

CABEC
}

#-----EOF-------


Comentários ?

Até o próximo post !

sexta-feira, 5 de fevereiro de 2010

SQLJuicer

Finalmente, o projeto sobre Forense de SQL Server andou e já tem até nome: SQLJuicer. No contra-exemplo do irmão SAMJuicer, que é uma ferramenta hacker que implementa técnicas anti-forenses, o SQLJuicer nasceu para ajudar a turma que topa com banco de dados em suas investigações e perícias.

O projeto está hospedado no Google Code e já tem uma equipe trabalhando nele. Apesar de estarmos nos primeiros passos, e ainda não estarmos com a ferramenta disponibilizada para todos, a ideia é lançar uma versão aberta tão logo façamos alguns testes com o time.

A título de refresh, já que eu comentei sobre esse projeto em um post recente, a idéia dele é obter informações sobre as operações CRUD (insert, delete e update) em um banco de dados a partir do Transaction Log. Em um primeiro momento, deixamos de fora as operações DDL, mas elas serão incluidas em breve.

Assim que estivermos prontos para publicar a primeira release, avisarei aqui. Se você quiser nos ajudar e contribuir com o trabalho, há espaço para todos. Precisamos de programadores Perl e Testers que conheçam SQL Server. Ainda que você não tenha um desses conhecimentos, pode ser útil no projeto, principalmente na organização e documentação.

Entre em contato comigo para maiores detalhes.

Até o próximo post !

quinta-feira, 4 de fevereiro de 2010

Guymager

Até bem pouco tempo, poderíamos dizer que havia duas ferramentas liderando o ranking das mais usadas na hora H da Forense Computacional, o momento da duplicação forense do HD (ou de outra mídia). Sem levar em consideração os softwares comerciais, onde o FTK e o EnCase vão liderar com vantagem, podemos dizer que há:

- DCFLDD na categoria CLI;
- ADEPTO na categoria GUI.

O dcfldd é uma variante turbinada do dd, e está aos poucos perdendo o seu trono para o novíssimo dc3dd, de Jesse Kornblum. Além das mesmas funcionalidades do dcfldd, o dc3dd permite algumas outras e já foi alvo de discussões anteriores aqui no blog, quando do seu lançamento. Entretanto, quero manter o foco dessa discussão na área gráfica: Para quem curte a facilidade de um ambiente GUI à linha de comandos, o Adepto do Helix é a pedida perfeita. Permite fazer a duplicação tanto usando o formato raw (sem formatação, para ser mais correto) ou o formato AFF. Através de algumas perguntas no início do processo, monta ao final da duplicação uma ficha de cadeia de custódia onde constam dados do investigador/perito, do caso e também da aquisição, inclusive indicando o hash calculado.

O grande problema é que o Helix não está mais tão confiável como Live CD como era antes. Depois da grande reviravolta no início de 2008, quando o mais famoso Live CD de Forense Computacional passou a ser software comercial, a estratégia da turma da e-fense passou a ser discutível. Provavelmente por conta de feedback recebido da comunidade que usava o produto, o Helix voltou a ser disponibilizado, mas a desconfiança está no ar desde então. Como diz um amigo meu "A natureza odeia vácuos", meio que de repente passamos a contar com várias opções ao que era oferecido no Helix. O Adepto agora tem um "concorrente" a altura, que atende pelo nome de Guymager.

Este novo utilitário GUI de captura de imagens forenses está muito bem bolado. Faz uso de multi-threading, o que coloca o produto com alguma vantagem sobre os demais quanto a velocidade de operação. Permite obter informações sobre os dispositivos conectados ao computador, e faz tanto a duplicação em formato EWF (EnCase) quanto AFF, além de raw, é claro. Há um extenso log da operação de captura, inclusive contendo alguns campos informados no início da operação. Esses campos também serão gravados como metadados (menos para raw).

Como nem tudo é notícia boa, o Guymager ainda precisa de algumas implementações. Peguei o endereço do criador do produto e mandei para ele algumas sugestões. Veja:

- Criar imagem forense de partições. Atualmente, o utilitário só cria imagens físicas;
- Montar uma ficha de cadeia de custódia, como no Adepto;
- Permitir enviar o conteúdo da imagem capturada via rede, mesmo que seja usando o netcat.

As duas primeiras, segundo Guy, já estavam sendo estudadas e ele me enviou uma versão beta que já contém a solução para a primeira sugestão. A última pode demorar um pouco mais, porém o autor me garantiu que vai implementar.

O Guymager está disponível tanto no CAINE quanto no DEFT, e também no FCCU. Há também pacotes .Deb para implementação dele fora dos Live CDs.

O que acham do produto ? Alguém que já o tenha utilizado gostaria de compartilhar comentários ?

Até o próximo post !

sábado, 30 de janeiro de 2010

Fuzzy Hashset

Notícia curta mas muito boa.

Já conversamos algumas vezes aqui no blog sobre fuzzy hash. Uma das capacidades dessa implementação hash é a possibilidade de indicar conteúdos "parecidos", ou seja, podemos indicar quanto um arquivo é próximo de outro usando-os em um algoritmo de hash fuzzy. O utilitário que calcula esse hash é o já conhecido ssdeep, que está na versão 2.3, novinha em folha.

Apesar desse software ter grande utilidade para a Forense Computacional, havia algo que há muito sentíamos falta: Um conjunto de hashs de referencia, usando o algoritmo fuzzy. Pois bem, depois de muitos pedidos da comunidade e pesquisadores, o NIST ouviu as nossas preces e lançou uma variação da já conhecida biblioteca/hashset NSRL contendo milhares de hashs pré-calculados usando o ssdeep. Eu ainda recebi a notícia em primeira mão pelo Doug White, um dos especialistas responsáveis pela NSRL.

Entre outras coisas, esse novo hashset vai permitir a aplicação de comparações e filtragem por hashset, mas usando uma técnica ligeiramente diferente da que já existe, para fugir dos casos onde houver anti-forense sendo aplicada.

Planejo um artigo mais detalhado sobre o uso dessa biblioteca/hashset em breve.

Baixe aqui o conteúdo.

Comentários ??

Até o próximo post !

quarta-feira, 20 de janeiro de 2010

O XML nosso de cada dia

A tecnologia volta e meia aparece com modismos. O da vez pode ser considerado o Cloud Computing. Já perdi a conta de quantas vezes ouvi falar em palestras desse tema. Eu procurei, inclusive, ir à uma delas, e foi muito recompensadora, ministrada pelo guru do assunto, Cézar Taurion, da IBM.

O fato é que o modismo de hoje pode representar o nada de amanhã. Ou não ...
Algo que era um grande modismo há alguns anos hoje está plenamente estabelecido: XML. Havia um tempo que tínhamos XML no café da manhã, almoço e jantar. Colocava-se XML em tudo que se fazia, e houve de fato grandes evoluções nos sistemas de informação. Porém, como tudo na vida tende ou a amadurecer ou a desaparecer, o XML seguiu o caminho do bem e hoje quero falar de mais uma grande sacada dos pesquisadores: XML em Forense Computacional.

O autor dessa façanha já é um velho conhecido nosso. Simson Gafinkel já foi citado nesse blog várias vezes, principalmente pelo seu trabalho no poderoso formato AFF. Pois bem, não satisfeito com o bom trabalho de pesquisa que ele vem fazendo pela comunidade de Forense Computacional, Simson está lançando uma nova proposta de trabalho baseada em XML que pode trazer inúmeros benefícios.

A idéia é até muito simples: Ao invés de se constantemente operar com o Sleuth Kit sobre uma imagem, fazendo o parsing de seus outputs, ele propõe usar um programa que "passeia" pela imagem e a mapeia totalmente em um XML. A partir daí, ao invés de se gastar tempo em cada execução de utilitários do Sleuth Kit, você simplesmente percorre o XML gerado, buscando a informação desejada.

Entre vários pontos positivos da nova técnica, Simson destaca:

- Os outputs do TSK variam bastante, principalmente com a versão. Usando o XML, o seu programa fica menos vulnerável a essas mudanças;

- O XML facilita a transferencia de informações on-line, e por conta disso pode-se rodar o programa de mapeamento sobre uma imagem (ou mesmo live) remotamente, enviando o XML resultante pela internet. É a Forense Computacional Remota batendo à sua porta !

- É possível realizar redaction de uma imagem usando esse XML como base. Redaction é a técnica de eliminar informações sensíveis ou indesejáveis em um documento, deixando o restante dele disponível. Lembra daquelas famosas tarjas pretas em documentos oficiais liberados para o público ? Aquilo é redaction. Quando precisamos montar uma imagem para testes ou para fornecer a alunos, não é raro termos que apagar algumas informações importantes que não podem ir junto com a imagem. Para esse fim, há um programa/utilitário desenvolvido pela equipe do Simson que faz o redaction baseado em regras que lhe são passadas. Por exemplo, uma regra poderia ser "sobreescreva com 00h todos os setores onde for encontrado números na forma de cartão de crédito ou emails do domínio xxx.com.br";

- Criar um programa de análise a partir do XML, segundo Simson, é bem mais rápido do que criar chamadas aos utilitários do TSK e fazer o parse do output. Há algumas bibliotecas em python já prontinhas para uso;

- Há uma linha de pesquisa que vai produzir um programa de carving que se beneficia de análises realizadas a partir do XML da imagem forense;

- Há a possibilidade de criar pluging, que executarão durante a varredura que é feita na imagem, montando o XML. Um bom exemplo desses plugins são rotinas (sempre python) para extrair metadados específicos dos arquivos da imagem;

Veja um exemplo de nó XML para um arquivo da imagem forense:




O programa e a library que executam a varredura na imagem é o fiwalk, e pode ser encontrado no site da AFFLIB. Infelizmente, só tem versão para Linux até agora.

Alguém já usa o fiwalk e outros módulos ? Comente !

Até o próximo post !

sábado, 16 de janeiro de 2010

TSK Novo

Brian Carrier, o criador do SleuthKit, acabou de anunciar a mais nova versão do produto: 3.1.0.
Acompanhado de seu inseparável browser Autopsy 2.22, o open source mais famoso de Forense Computacional chega com algumas novidades":

• Suporte ao HFS+ (sistema de arquivos comum nos MAC)
• Suporte a mídias com tamanho de setor diferente de 512 bytes
• Informações sobre o SID de NTFS disponibilizadas (isso já era esperado há algum tempo)
• O conjunto de executáveis para Windows agora também vem com o mactimes
• Partições GPT e DOS são melhor detectadas
• Mais formatos da AFFLIB e suporte melhorado aos arquivos criptografados
• Sigfind consegue processar imagens fora do formato raw
• Suporte a blocos indiretos
• Muitos bugs corrigidos.

Essa deverá ser a versão que virá nos próximos Live CDs. Para quem precisa de alguma dessas novas funcionalidades e não pode esperar novas versões do seu live cd predileto, há algumas opções:

- Instalar o live cd e usar os comandos de atualização apt-get para gerar novos executáveis;
- Utilizar as novas versões para Windows, já compiladas e disponibilizadas.

Alguém gostaria de comentar sobre a novidade ?

Até o próximo post !

sexta-feira, 15 de janeiro de 2010

Turma do dia 25 de Janeiro confirmada

A próxima turma começa em 25 de janeiro, no Rio de Janeiro, com aulas no período integral. O curso tem duração de 40h com teoria e muita, muita prática, e ainda há algumas vagas disponíveis.

O conteúdo abrange Resposta a Incidentes na parte de captura e análise, e obviamente, Computação Forense em seus diversos aspectos. Neste ponto, o foco será na aquisição e na análise forense, com muitos exercícios práticos e estudos de caso. As práticas serão baseadas em software livre, principalmente em live CDs.

Para montar a ementa e o material, procurei aliar minha experiência como perito/investigador com minha experiência com ensino (já fui instrutor de cursos MOC, os cursos oficiais da Microsoft, já dei aula de banco de dados e, num passado distante, já montei um treinamento completo de Visual Basic, que na época ainda não era muito conhecido), e o resultado foi um material que está focado nas principais teorias e técnicas, tratando os assuntos com a profundidade na medida mais adequada à didática, e está recheado de exemplos e aplicações.

A TISafe, tradicional consultoria de Segurança de Informações do Rio de Janeiro com expertise diferenciado em criptografia e PKI, é minha parceira nesse treinamento. Ela também já oferece um treinamento de sucesso na área de formação de analistas de Segurança de Informações, o CFAS, do qual também sou instrutor, de forma que essa experiência será benéfica para o CFPF.

Se tiverem alguma dúvida, entrem em contato por email ou mesmo deixe um comentário aqui no blog.

Até o próximo post !

domingo, 10 de janeiro de 2010

Forense em SQL Server

Com o amadurecimento da Forense Computacional como ciência e disciplina, era de se esperar que cada vez mais surgissem especializações em alguns assuntos específicos.

Um dos assuntos que recebem grande importância atualmente é a Forense de Banco de Dados. Qualquer sistema de informação atual usa um banco de dados para armazenar e tratar suas informações, e está em todos os esquemas atuais de arquitetura de SI. Como parte fundamental dessa arquitetura, nada mais natural que estudos apareçam para desvendar os vestígios das ações realizadas em um banco de dados. Não é incomum, por exemplo, que tenhamos esse componente em investigações de invasão e roubo de informações, pois em última instância, é lá que as informações ficam. Poucos são os que já militam nessa área, mas já despontam algumas pesquisas interessantes.

No final de novembro de 2009, li um artigo excelente sobre artefatos e vestígios em bancos de dados SQL Server. Na verdade, inicialmente eu li uma apresentação em PPT feita na Black Hat, e depois acabei descobrindo que o autor, Kevvie Fowler, adaptou a apresentação de um paper que ele mesmo produziu como resultado do trabalho da certificação GCFA Gold, da SANS.

O artigo detalha muito bem como é possível, apenas de posse do Transaction Log do Banco e sem nenhum outro log ativado, descrever as operações CRUD que foram realizadas nas bases de dados. Na verdade, existem vários produtos no mercado que permitem logar todas as operações em um banco de dados. Porém, o mais comum é chegarmos em um caso e não termos essa facilidade. No entanto, o Transaction Log estará sempre lá, pois faz parte da arquitetura do banco e por isso nem precisa de algum tipo de iniciativa por parte de nenhuma equipe. Logicamente, nem tudo estará lá. As operações de Select, por exemplo, não fazem parte do Transaction Log.

Como não estamos na País das Maravilhas, tinha de existir um "entretanto". Neste caso, o entretanto é que o Transaction Log não é publicamente mapeado. Há alguns softwares que fazem recuperação de dados através do transaction, e o que dizem é que essas empresas licenciaram as informações diretamente da Microsoft.

O artigo não aborda todas as opções possíveis de serem encontradas em um Transaction, mas dá um bom pontapé para um estudo no sentido de automatizar as operações de levantamento dos vestígios. Com isso em mente, iniciei uma linha de pesquisa para criar um script que pudesse automatizar os passos indicados no artigo do Kevvie. Troquei alguns emails com ele, e por fim o script está no que posso chamar de versão alfa. Ainda há algumas coisas a implementar e vários testes, já que são tantas possibilidades que não há como tratar tudo de uma vez só. É aí que entra a comunidade de Computação Forense, pois há poucos dias eu postei algo sobre esse assunto em uma lista de discussões internacional e vários profissionais se colocaram a disposição para ajudar. Em breve vou iniciar a discussão dos detalhes do grupo e ver como faremos para desenvolver novas funcionalidades e testar o script. Provavelmente, o script ficará instalado no SourceForge, mas ainda discutiremos isso com o grupo de trabalho.

Você gostaria de participar ? O perfil é de alguém que conheça SQL Server, para participar dos testes. Se conhecer Perl e SQL Server, poderá participar programando também. O resultado do trabalho será sempre distribuído como open source.

Entre em contato, aqui pelo blog ou pelo meu email, indicando que deseja trabalhar no projeto de Forense em SQL Server. Quanto mais interessados, melhor.

Até o próximo post !