Escolar Documentos
Profissional Documentos
Cultura Documentos
ESPECIALIZAÇÃO
Brasília
2004
SUMÁRIO
SUMÁRIO.................................................................................................................................. 5
Capítulo I - INTRODUÇÃO E CONCEITOS ............................................................................. 7
1.1 Aplicação de técnicas de forense computacional e respostas a incidentes na Internet ......... 7
1.2 Introdução ......................................................................................................................... 8
1.3 Observações iniciais ........................................................................................................ 12
1.4 A evolução da criminalidade a evolução tecnológica ....................................................... 13
1.5 Forense Computacional ................................................................................................... 14
Capítulo II - INVESTIGANDO ................................................................................................ 16
2.1 O profissional.................................................................................................................. 16
2.2 Uso de metodologias em forense computacional.............................................................. 18
2.3 Scientific Working Group on Digital Evidence (SWGDE) - Grupo de Trabalho Científico
em Evidência Digital............................................................................................................. 21
2.4 Sistema operacional não mais confiável........................................................................... 34
2.5 Proteção da evidência ...................................................................................................... 36
2.6 Cadeia de custódia........................................................................................................... 37
2.7 Obtenção e Coleta de dados............................................................................................. 38
2.8 A decisão de desligar ou não, eis a questão...................................................................... 39
2.9 Duplicação pericial.......................................................................................................... 40
2.10 Examinando a Rede....................................................................................................... 41
2.11 Cavalos de Tróia e Backdoors ....................................................................................... 45
2.11.1 Definição de Cavalo de Tróia.................................................................................. 46
2.11.2 BACKDOORs ........................................................................................................ 46
2.12 Investigando Ferramentas .............................................................................................. 49
2.12.1 Investigando software de código malicioso ............................................................. 49
2.13 Procurando dados .......................................................................................................... 52
2.14 Obtendo informações em discos .................................................................................... 54
2.14.1 Arquivos deletados ................................................................................................. 56
2.15 Sistemas de arquivos NTFS ........................................................................................... 57
2.15.1 Sistemas de arquivos NTFS ........................................................................................ 57
2.15.2 O NTFS...................................................................................................................... 57
2.15.2.1 Versões do NTFS................................................................................................. 59
2.15.2.2 NTFS 1.1 / 4.0 ..................................................................................................... 59
2.15.2.3 NTFS 5.0 parte do Windows 2000 ....................................................................... 59
2.15.2.4 Explanando sobre o NTFS ................................................................................... 60
2.15.2.5 Lista de controle de acesso (Access Control Lists - ACLs) e entradas controle de
acesso (Access Control Entries - ACEs) ............................................................................ 61
2.15.2.6 NTFS - Permissões .............................................................................................. 63
2.15.2.7 Auditoria no NTFS .............................................................................................. 64
2.15.2.8 Master File Table (MFT) ..................................................................................... 64
2.15.2.9 Zona MFT ........................................................................................................... 66
2.15.2.10 NTFS - Nomenclatura de arquivos ..................................................................... 68
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 5/166
2.15.2.11 NTFS - Atributos de arquivos ........................................................................... 69
2.15.2.12 NTFS - Arquivos e armazenamento de dados..................................................... 71
Capítulo III - FERRAMENTAS ................................................................................................ 74
3.1 F.I.R.E. Linux ................................................................................................................. 74
3.1.1 F.I.R.E. Linux (Forensic and Incident Response Environment) ................................. 74
3.1.2 Comparando o F.I.R.E. com algumas outras distruições baseadas em CD ou em
disquete............................................................................................................................. 75
3.1.3 Plataforma necessária ............................................................................................... 76
3.1.4 F.I.R.E. Linux Pacotes disponíveis ........................................................................... 77
3.1.4.1 Ferramentas incluídas no F.I.R.E ........................................................................... 77
Ferramentas Windows........................................................................................................... 90
Knoppix-STD ....................................................................................................................... 92
Versão: Knoppix STD 0.1 ................................................................................................. 92
Knoppix-STD - Pacotes..................................................................................................... 94
AIDE ...................................................................................................................................104
Capítulo V - CASOS E EXEMPLOS .......................................................................................105
Casos estudados de exemplo ................................................................................................105
CONCLUSÃO.........................................................................................................................132
Glossário de siglas e termos .................................................................................................136
Bibliografia ..........................................................................................................................146
ANEXOS.................................................................................................................................151
Roteiro de apresentação: forense computacional e uso de cópia pericial. ..............................151
Manual do AIDE (Tradução livre por Daniel Lim-Apo) .......................................................153
internet. Serão apresentados estudos de casos reais onde a investigação tem por finalidade traçar a
comunicação e integração de computadores que há uma década seria difícil de se prever. Tudo
isso, num crescimento tão acelerado que chega a ser assustador. Inúmeras relações humanas são
espelhadas na internet, a ponto de se dizer que se trata de um mundo virtual. Mas, não existe
mundo virtual e sim o mesmo mundo real só que com diferentes ferramentas e novos paradigmas
falsidade ideológica, brigas pessoais, guerras internacionais e praticamente qualquer outra prática
indevida, inadequada e muitas vezes criminosa. É o mundo real e sujeito às leis reais já existentes
e às novas leis que vêem sendo criadas. Mesmo crimes que não sejam cometidos via internet,
como terrorismo em massa, um estupro ou homicídio, podem ser cometidos deixando evidências
evidências digitais.
com os conceitos e objetivos desta prática. A analogia com a prática forense e pericial de uma
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 8/166
forma geral é comum e bastante esclarecedora. Por exemplo, o ambiente computacional é tratado
como uma cena de crime, um host pode ser tratado como um cadáver sendo dissecado em
autópsia. Em outros casos pode-se ter um ativo de rede sendo analisado como um paciente que
ouve do médico que não é nada, pois o sintoma está dentro de padrões normais. Claro que a
necessidade de legalidade jurídica e a ética são partes da prática de forense computacional, pois
de que valem as ações de um perito investigador se as suas ações apagam ou invalidam provas
cruciais desnecessariamente.
redes de computadores, tanto no que diz respeito ao escopo de abrangência de tempo quanto no
que diz respeito a itens de segurança física e segurança lógica. No quesito tempo, a necessidade
de providências abrange desde muito antes até muito depois de um incidente de segurança.
Quanto à proximidade física é preciso saber que há o macro e o micro, afinal às vezes é
necessário preocupar-se com um eventual atacante que está no outro lado do planeta ou com
umas poucas linhas de código malicioso implantadas apenas na memória volátil de um host
estão diretamente relacionadas aos interesses finais que se quer obter. As diretivas de
regulamentos internos e objetivos das partes envolvidas e à legislação pertinente ao caso devem
ser consideradas de forma especial. Uma empresa comercial pode priorizar a restauração de um
sistema sem tirá-lo de funcionamento e com total sigilo. A empresa investigadora particular pode
ter limitações legais principalmente ao envolver ambientes de rede de terceiros. Uma instituição
ao lidar com países estrangeiros. O administrador de rede do sistema atacado pode ser bem
O uso de uma metodologia para uma investigação possibilita obter resultados melhores e
mais eficientes com um custo menor de tempo e trabalho. No pré, pós e durante o incidente sente-
metodologia é uma necessidade para tornar claro o que se quer e tornar possível conseguir isto.
guerra. Quer seja física ou lógica, estamos todos num território de guerra. Numa guerra usam-se
armas. Como em qualquer guerra, as armas de defesa servem para ataque e vice-versa. As
ferramentas na forma de softwares individuais ou como kits completos e robustos são as armas
dos atacantes e a dos seus oponentes. É preciso conhecer as armas para poder usá-las, no ataque
ou defesa. Mas para trabalhar com forense computacional é bom ter uma visão superficial e
profunda das armas reais e das armas hipotéticas possíveis, para poder supor o que pode ter
acontecido, estar acontecendo ou vir a acontecer. Pode-se ter um melhor entendimento do poder
do agressor se puder comparar e entender o que ele fez com uma determinada arma e o que ele
poderia ter feito, principalmente se for necessário saber como ele age, pode agir, como ele é,
procedimentos. Pense na situação análoga do tipo "não toquem em nada até que os peritos
propositalmente ou não pelas partes envolvidas, por terceiros, por programas de computador e,
Os estudos de casos reais dão uma visão real do lado prático e excitante da ação em si. É
na internet.
qualquer porte independentemente de seu uso como servidor, máquina individual ou outra
funcionalidade.
É a velha história, coloca-se uma cerca de arame e o ladrão usa um alicate. Então, coloca-
Veja como funcionou com a criptografia. Ao longo da história a criptografia foi uma das
sempre que foi criado um método de cifragem mais moderno ele foi mais cedo ou mais tarde
quebrado, em seguida surgia um novo método mais seguro e uma estratégia de quebrar mais
eficiente e assim continua a acontecer. A criptografia quântica existe em teoria e os estudos para
de evidências computacionais.
analisar de forma minuciosa tudo o que encontram na cena do crime, desde um cadáver até um
minúsculo fio de cabelo ou pequena mancha de tinta e com um isolamento adequado da área,
das metodologias pode invalidar as provas para um tribunal. A mesma analogia pode ser dada à
forense computacional.
sempre foram suscetíveis aos ataques e intrusões, mas assim como cresce a sofisticação da
metodologia que permita determinar o que aconteceu, quem foi responsável e, a investigação
deve ser executada de uma forma que os resultados sejam úteis em um processo criminal.
arquivos que foram deletados, cifrados ou danificados, em algumas vezes, há anos atrás.
2.1 O profissional
O profissional que atua na área de forense computacional pode ser chamado de perito ou
investigador.
computacional:
computadores;
conhecidos, inclusive as que não se tem registro de ter ocorrido, mas que já são vistas como uma
- Faro investigativo para perceber rastros sutis de ações maliciosas - Esmero pela
perfeição e detalhes. Sempre deve haver rastros, mesmo que muito sutis.
num sistema para construir a história lógica formada por ações maliciosas ou normais que já
investigativo, com especial atenção às limitações como diretivas de privacidade, sigilo e escopo
ou jurisdição de atuação;
uma metodologia de cadeia de custódia. O que não é visto como prova hoje pode vir a ser uma
prova e então é bom ter sido preservada o suficiente para ser aceita em um tribunal.
comportamento e motivações.
parecer menos capaz, como deixar rastros óbvios e parecer um ataque simples para ocultar ações
computacional.
existentes. A cada dia surgem novas versões de sistemas operacionais, novos ativos de rede e
novas mídias portáteis ou não. Isto aumenta a necessidade e ao mesmo tempo torna mais difícil a
Computer Evidence - IOCE) foi estabelecida em 1995 para prover às agências internacionais da
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 18/166
lei um fórum para troca de informação a respeito de investigações de crimes de computadores e
trabalho.
Plans") de 1997 a IOCE recebeu a tarefa de desenvolver padrões internacionais para a troca e
recuperação de evidência eletrônica. Grupos de trabalho no Canadá, Europa, Reino Unido e nos
Estados Unidos foram formados para sediar estes padrões de evidência computacional.
("International Hi-Tech Crime and Forensics Conference - IHCFC") de Outubro de 1999, a IOCE
realizou reuniões e "workshops" nos quais revisaram o Guia de Boas Práticas do Reino Unido
("United Kingdom Good Practice Guide") e o Rascunho de Padrões do SWGDE ("SWGDE Draft
unânime:
- Durabilidade;
- Ao se apreender uma evidência digital, as ações não devem mudar aquela evidência;
- Quando for necessário para uma pessoa acessar a evidência digital original aquela
- Qualquer agência que é responsável por obter, acessar, armazenar ou transferir uma
Outros itens recomendados pela IOCE para debate futuro e/ou facilitação incluem:
2.3 Scientific Working Group on Digital Evidence (SWGDE) - Grupo de Trabalho Científico
em Evidência Digital
Criminalística Federais) formou o SWGDE in 1998 com objetivo de explorar evidências digitais
como uma disciplina forense. Os membros iniciais foram os laboratórios de forense do ATF,
DEA, FBI, IRS-CID, US Customs, US Postal Inspection Service e o US Secret Service. A NASA
outros membros foram integrando o grupo, sendo que os membros individualmente tinham
muitos anos de experiência em forense digital. Muitos dos membros do SWGDE são membros de
proeminentes organizações, tais como American Academy of Forensic Science, IACIS, HTCIA,
e IOCE.
Logo as discussões revelaram que de fato existiam muitas semelhanças, sobreposição nas
disciplinas de análise de áudio, vídeo, imagem e que era desejável desenvolver padrões e
Digital Evidence (SWGDE) foi criado sob o guarda chuva que cobria os outros "Scientific
(imagem) (SWGIT).
laboratório. Entretanto, os documentos gerados por ele são úteis para executar procedimentos em
definições que o grupo sentiu que eram tão universais o quanto possível. Estes princípios foram
conexão com uma conferência maior, a “International High Tech Crime and Computer Forensics
contido no "United Kingdom's Association of Chief Police Officers (ACPO) Best Practice
Guide" (Guia de Boas Práticas da Associação de Chefes de Polícia do Reino Unido) para formar
evidência digital como uma disciplina amplamente aceita. Foi gerado um documento, o
ASCLD/LAB Manual , importante para reconhecer que evidência digital inclui exame de
diretrizes para laboratórios os quais tenham ou visam ter unidades de evidência digital
(computador, áudio, vídeo ou imagem digital) aceitas como confiáveis. Este documento pode e
deve ser usado de forma personalizada, sendo que certos itens podem ser documentados como
especificidades.
Deve ser observado que o SWGDE não determina credibilidade, certificação, aprovação ou
qualificação a indivíduos ou laboratórios. Para evitar este tipo de confusão o nome do documento
foi dado como "Best Practices for Digital Evidence Laboratory Programs" (Boas Práticas para
http://www.fbi.gov/hq/lab/fsc/backissu/july2000/swgroups.htm
http://www.fbi.gov/hq/lab/fsc/backissu/april2000/swgde.htm
http://www.ioce.org/2002/G8%20Proposed%20principles%20for%20forensic%20evidenc
e.pdf
http://www.ascld.org/accreditation.html
http://www.ASCLD-LAB.org/pdf/aslabrevisions.pdf
evidências digitais.
digital no esforço de legislação das agências ("Law Enforcement Agencies" – Agências da Lei)
evidência digital no esforço de legislação das agências ("Law Enforcement Agencies" – Agências
da Lei);
5- Servir como um mecanismo para rever e revisar diretrizes para a análise de evidências
digitais;
recomendações e outros produtos de trabalhos para benefício dos membros da "Law Enforcement
Agencies".
dos métodos e práticas entre nações e garantir a habilidade de usar uma evidência digital coletada
outubro de 1999.
feitas:
procedimentos para coleta, preservação e uso de evidência digital, de acordo com sua legislação
nacional, padrões institucionais e para estar ciente das potenciais diferenças ao coletar evidências
2. Estes princípios devem ser submetidos a IOCE ou outro padrão nacional, regional ou
de boas práticas genérico para coleta, preservação e uso de evidência digital, abrangendo a
IOCE.
- Ao apreender uma evidência digital as ações tomadas não devem modificar a evidência;
- Quando é necessário para uma pessoa acessar a evidência digital original, tal pessoa
evidência digital deve ser completamente documentada, preservada e disponível para revisão;
- Um indivíduo é responsável por todas as ações tomadas com respeito à evidência digital
Evidência digital
Informação armazenada ou transmitida em uma forma binária que pode ser fidedigna
(confiável) em um tribunal.
item físico.
Cópia
organizações que lidam com a investigação forense devem manter um alto nível de qualidade a
fim de assegurar a confiabilidade e a precisão das evidências. Esse nível de qualidade pode ser
Padronizados de Operação), que devem conter os procedimentos para todo tipo de análise
levar a uma discussão construtiva a respeito de evidência digital. Este documento foi adotado
A última parte do século vinte foi marcada pelos transistores eletrônicos e as máquinas e
idéias fizeram isso possível. Como resultado, o mundo mudou de analógico para digital. Embora
o computador reine absoluto no reino digital, ele não é o único equipamento digital. Uma
próximos a um computador. Na perspectiva das leis mais informações que podem ser usadas em
evidências digitais necessárias para o processo judicial de acusação ocorrer com sucesso podem
estar em outras jurisdições. Esta situação requer que todas as nações tenham a habilidade de
coletar evidências digitais para suas próprias necessidades e para outras nações. Cada jurisdição
tem seu próprio sistema de governo e administração e sua própria justiça, mas para um país
Pensando assim, não é razoável esperar que todas as nações conheçam e concordem com
as leis e regras das outras nações, mas é possível encontrar um meio de permitir a troca de
evidências. Este documento apresentado foi uma primeira tentativa de definir os aspectos
Definições
Aquisição de evidência digital: Inicia quando a informação e/ou itens físicos são
coletados ou guardados para finalidade de análise. O temo "evidência" implica em que o coletor
processo legal e apropriado para as regras de evidência naquela localidade. Um objeto de dados
ou um item físico torna-se evidência quando assim o for julgado por um oficial da lei ou
designado.
Objeto de dados: Objetos ou informação com valor de prova em potencial que são
associados com itens físicos. Objetos de dados podem ocorrer em diferentes formatos sem alterar
a informação original.
digital.
Evidência digital original: itens físicos e objetos de dados associados a estes itens no
momento da apreensão.
item físico.
Cópia
Padrões
Princípio 1
SOPs”) definem uma diretriz de controle de qualidade documentada que deve ser
evidência digital devem ser claramente determinados neste documento SOP, o qual deve ser
Diretrizes que são consistentes com os princípios científicos e legais são essenciais para a
implementação destas SOPs devem ser sob os poderes de uma autoridade competente da
gerência da agência.
A gerência da agência deve rever as SOPs numa freqüência anual para certificar-se
de que continuam apropriadas e efetivas em vista das mudanças tecnológicas que envolvem
digitais revisões de SOPs em conjunto com outras agências podem ser úteis.
necessários e exigidos tais como hardware e software devem ser listados e os passos
resultados devem estar estabelecidas. O pessoal que usa estes procedimentos deve estar
considerar a variação entre casos requer que o pessoal tenha a flexibilidade de exercitar o
O hardware usado na obtenção e/ou análise da evidência digital deve estar em boas
condições operacionais e ser testado para ter certeza de que opera corretamente. O
software deve ser testado para ter certeza de que produz resultados confiáveis para uso com
uma evidência digital deve ser guardada por escrito e deve estar disponível para revisão e
testemunho.
ausência de quem a originou, outra pessoa competente possa avaliar o que foi feito,
para todos os itens da evidência. A documentação da cadeia de custódia deve ser mantida
permanente. Anotações de próprio punho (à mão) devem ser feitas à tinta, não usando
lápis, embora a caneta (inclusive colorida) deve ser apropriada para diagramas ou para
fazer traços. Quaisquer correções às notas devem ser feitas por um traço único rubricado,
anotações e registros devem ser autenticados por assinaturas à mão, iniciais, assinaturas
aspecto de uma evidência original deve ser feita por pessoal qualificado do ponto de vista
forense.
Como esboçado nos padrões e critérios anteriores, a evidência digital tem valor
binários confiáveis.
alterados.
No pré-incidente pode ser calculado o "hash" dos arquivos a serem protegidos, isto pode
ser feito utilizando uma ferramenta de cálculo de verificação com por exemplo o MD5sum e com
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 34/166
ferramentas como o Tripwire. Feito isso, pode-se ter uma verificação periódica com vistas a
detectar alterações dos mesmos arquivos fazendo o cálculo de hash dos arquivos atuais com o
hash que foi anteriormente guardado e, se estiver diferente, o arquivo foi necessariamente
sistema não foi formatado ou instalado em um novo HD e, então, não foi instalado a partir do
zero, o cálculo de hash pode ajudar a saber se os arquivos cruciais do sistema estão com um
cálculo de verificação hash correto o que quer dizer que tem o conteúdo original inalterado.
tendendo a zero de repetir um mesmo resultado de cálculo de hash, mesmo que a diferença seja
de um único bit, ao mesmo tempo, dois arquivos com conteúdos iguais dão o mesmo resultado de
cálculo de hash.
Em alguns ataques até o próprio kernel pode ser alterado e, então, todo o sistema passa a
resposta que deveria ser dada para, por exemplo, filtrar uma resposta e dar outra no lugar e então
ocultar conexões de redes, alterações, processos maliciosos em execução e tudo o mais que a
Exemplos:
Se é sabido que é utilizado o netstat para verificar conexões de rede ativas e recentes, o
atacante pode colocar uma versão alterada do netstat onde todas as outras conexões são
mostradas e todas as conexões espúrias que ele desejar podem ser ocultadas por uma resposta
irreal. Se não se sabe que o arquivo binário do nestat está alterado, então se acredita que está tudo
O comando ls pode ser alterado para não mostrar arquivos espúrios deixados pelo
atacante.
investigado, pode-se acionar uma armadilha deixada por um atacante e se o usuário ativo estiver
com poderes de super usuário (root ou administrador) talvez venha a disparar uma arma deixada
pelo atacante com a sua própria mão e contra a sua própria máquina ou contra sistemas de
terceiros.
Para usar arquivos binários confiáveis pode ser interessante você tê-los em uma mídia
que não possa ser alterada, como um CD-R, que com o espaço restante queimado é gravável
apenas uma vez. E, deixar esta mídia guardada em um local seguro como em um cofre.
análise forense.
elétricos ou eletromagnéticos.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 36/166
- Uma cadeia de custódia seja estabelecida e mantida;
- Qualquer informação sigilosa e privativa que seja inadvertidamente obtida durante uma
análise forense e que não fizer parte do objetivo da investigação será eticamente e legalmente
Na forense computacional é uma arte obter, guardar e analisar dados a respeito de uma
possível atividade criminal de forma a poder usar as provas obtidas em um tribunal com aceitação
jurídica.
Todas as precauções devem ser consideradas e implementadas para se ter a certeza de que
os dados coletados são precisos, verdadeiros, confiáveis e que não foram modificados desde a sua
obtenção e coleta.
A coleta de dados eletrônicos que possam ser usados como provas em atividades ilegais
ou inaceitáveis deve ser feita com grande atenção. Devem ser registradas as informações a fim de
identificar cada pessoa que lidar com as provas, assim como, cada pessoa que tiver acesso às
Documentar cada passo dado na coleta e processamento dos dados e seguir seus
movimentos, ou seja, identificar cada vez que a mídia de prova mudar de um responsável para
outro, com nome, data, hora, local, motivo e observações. Isto é a cadeia de custódia.
garantir que estes dados possam ser autenticados desde a sua obtenção e coleta, com métodos de
procedimentos adotados na coleta de dados devem ser formais e seguindo uma metodologia como
se as provas obtidas fossem para serem usadas em um tribunal. Durante o andamento do caso
ocasiões as informações obtidas levarão à descoberta de novas provas e até de novos crimes e
- A Memória RAM
- O tráfego de rede
de rede abertas)
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 38/166
- dispositivos de armazenagem (Disquetes, HDs, ZIP Drives e outras mídias)
Quando se começa a análise forense em um host, não se pode confiar em nada no host.
examinado. Uma das primeiras decisões importantes é determinar se o sistema será desligado e
avaliação a respeito dos dados voláteis que serão perdidos ao se desligar o sistema, a questão de
que o atacante vai perceber imediatamente que a invasão foi detectada e não será mais possível
Pode-se obter e guardar os dados voláteis, desligar o sistema e partir para uma duplicação
pericial.
Pode-se manter o sistema ligado, isolar logicamente na rede o sistema, colocar uma
monitoração em nível de rede e guardar mais dados e provas sobre as ações do atacante. Assim,
pode-se conhecer mais o atacante determinando melhor suas habilidades, perfil, técnicas de
A decisão sobre fazer ou não uma duplicação pericial é de extrema importância e deve ser
- Ter mais de uma cópia para poder entregar usando o conceito de "melhor prova" *
- Poder usar todo o sistema a ser investigado, inclusive inicializando um sistema idêntico
mídia original;
*Melhor prova: às vezes você não vai poder levar a mídia original a um tribunal, mas
você pode ter uma "melhor prova" como uma cópia de dados em outra mídia ou até impresso em
papel, por exemplo, desde que sejam seguidos procedimentos operacionais de investigação que
montem uma cadeia de custódia que possibilite ao judiciário a garantia suficiente sobre a
guardado em um único arquivo. Isto pode ser útil para guardar o conteúdo de todo um drive para
recuperar depois.
Um dos principais sintomas para determinar com precisão que um incidente de segurança
Para verificar o que está acontecendo e separar o tráfego normal do tráfego suspeito,
talvez tudo o que se precise seja de um notebook com alguma distribuição de Linux e examinar a
rede com atenção aos detalhes fazendo uso de algumas ferramentas como as seguintes:
de pacotes de rede, base para inúmeros outros programas de captura de pacotes de rede. O
tcpdump obtém e guarda ou imprime em tela os cabeçalhos dos pacotes de uma rede que
Hosts e links mudam de tamanho conforme o tráfego. Os protocolos são identificados por cores.
que de fato acontece para questões cíveis, criminais e administrativas no intuito de proteger
usuários, ativos de rede e/ou recursos de exploração, invasão e qualquer outro crime ou ato
- Identificar se a rede ou máquina comprometida está sendo ponto de partida para novos
ataques;
- Determinar quais senhas e contas de usuários estão sendo usadas pelo atacante;
-Guardar dados e logs de eventos de forma mais segura fora da máquina comprometida;
É crescente o número de protocolos em uso nas redes tornando o trabalho pericial mais
difícil. Para fazer frente ao trabalho duro o investigador deve ter um bom kit de ferramentas. É
grande o valor de se usar a ferramenta certa. Em algumas vezes, torna-se necessário um completo
e complexo programa de segurança com inúmeras funções e em outra ocasião pode ser
interessante ter um kit de centenas de programas, que tem funcionamento leve, bem controlado e
servem exatamente para obter aquilo que se necessita, nem mais nem menos.
A monitoração de rede, assim como todo o trabalho de forense computacional deve ter o
seu objetivo muito bem definido, por exemplo, o que se quer monitorar é:
- um usuário específico?
- tentativas de invasão?
- um protocolo específico?
incidente de segurança. Por exemplo, um acusado pode ter um programa cavalo-de-tróia em sua
máquina que dá controle total de sua máquina a um atacante qualquer a partir da internet. Assim
o acusado pode fazer uso da "negativa plausível" dizendo que não sabe nada sobre as atividades
pode ser que o próprio acusado tenha deixado instalado este cavalo-de-tróia para ter uma
Ter um monitor na rede guardando informações do tráfego de redes e que também guarde
cópias dos logs locais das máquinas é uma opção que aumenta a segurança e confiabilidade
destes logs.
levar em conta o objetivo deste monitor, pois conforme o objetivo será determinada a sua posição
na topologia de rede. Às vezes pode ser necessário usar a função de análise comutada de portas
(espelhamento de portas) (SPAN) que permite que uma única porta do switch receba cópias de
têm o interesse de não ter sua ação percebida procurando limitar suas atividades àquelas que são:
25(smtp), etc...
- passíveis de evadir a monitoração, se houver. Por exemplo, podendo ser feito o uso por
- difíceis de detectar ao usar um tráfego de forma a parecer com o tráfego normal ou com
A porta da frente pode não ter sido a entrada e tem possibilidade de não ser a única
Depois de entrar um atacante pode providenciar novos meios de entrar, normalmente com
o objetivo de facilitar e ocultar ainda mais as ações futuras. Estas entradas implantadas no
aplicação benigna.
Diferentemente dos vírus um cavalo de tróia não se replica por si só, mas pode ser tão
É comum um programa prometer remover vírus e cavalos de tróia e ao ser executado pode
fazer exatamente o contrário colocando códigos maliciosos como vírus e cavalos de tróia no
computador. Alguns cavalos de tróia podem vir em forma de proteção de tela, por exemplo, um
protetor de tela de um simples gatinho lindo e delicado que fica andando pela sua tela por ter em
seu interior códigos maliciosos de captura de teclas pressionadas em seu teclado (keylogger) ou
que captura a área da tela de cada clique dado por seu mouse (mouselogger), então há sim o
benefício de ter o gatinho divertindo o usuário, mas talvez a partir da próxima vez que for
utilizado um internet banking alguma quadrilha passará a se divertir com os dados de uma conta
bancária, senha, frase secreta e até as imagens com os números na seqüência que foram clicados
tróia.
2.11.2 BACKDOORs
computador para facilitar o acesso não autorizado a este sistema. As "backdoors" podem ser
instaladas para acessar uma variedade de serviços, sendo particularmente interessante as que
oferecem acesso interativo. Estas são as mais freqüentemente instaladas pelos atacantes que
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 46/166
tenham comprometido um sistema para tornar mais fácil o seu retorno ao sistema,
como Telnet [PR83a], Rlogin [Ka91] ou SSH [YKSRL99] Um exemplo de uma backdoor não
interativa pode ser um servidor SMTP não autorizado para facilitar o envio de e-mails por um
porta não autorizada para disponibilização de material ilegal como pirataria ou pornografia
infantil.
Na pesquisa para determinar quais portas TCP estão abertas ou oferecendo serviços pode
Uma atenção especial deve ser dada se for encontrado algum serviço ilícito ou não
autorizado sendo oferecido em porta baixa, ou seja, inferior a 1024. Se isso acontece é porque o
atividade de rede suspeita, como acesso interativo, tráfego criptografado ou uso de um protocolo
A detecção se torna mais difícil com os atacantes que ativamente procuram se evadir de
A detecção de "backdoors" pode ser com monitoração de rede ativa, injetando pacotes,
Alguns dos tipos comuns de backdoors tem propósito de disponibilizar serviços tais
como:
Rlogin
Telnet
FTP
Root prompt
Napster
Gnutella
filtragem para obter apenas os pacotes pequenos tende a reduzir significativamente a carga de
* Direção. A não ser que o atacante use algum tipo de serviço abrindo no estilo "callback"
normalmente se pode criar critérios de filtragem para procurar por tráfego que é anormal por sua
direção, por exemplo, para detectar o uso de um programa servidor ftp instalado em uma
* Conteúdo dos pacotes. Procurando por palavras ou "strings" que denunciem um tráfego
suspeito, por exemplo, sinais de "prompt" e comandos de linha em uma conexão na porta 80.
http://www.icir.org/vern/papers/backdoor/ "
software;
Há dois tipos básicos de análise para entender um software de código malicioso, tratam-se
Obtém-se a resposta:
/bin/chmod: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux
# file *
arquivo_teste_vazio: empty
extensão inócua como .txt, mas se for usado o comando file vai entender que há algo estranho,
por exemplo:
# file nome_inocente*
nome_inocente2.txt: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
Nota-se que o único arquivo que tem conteúdo realmente de texto ASCII é o primeiro.
O comando file, com baseado no arquivo /usr/share/magic reconhece cerca de 5.000 tipos
diferentes de arquivos
Kit.
A procura por evidências pode ter motivos específicos, como encontrar e-mails (ex.
(browser) (histórico, cookies) para investigação sobre mau uso da internet por funcionários,
Dados específicos;
- Frases;
- Arquivos;
- Números;
- Palavras chave;
- Outros.
pesquisar ou recuperar dados pode variar muito, então é bom ter um ferramental e experiência
profissional diversificado para poder agir rápido mesmo quando for necessário lidar com uma
quantidade de informações pode ser muito extensa levando um exame de disco a levar até muitos
dias.
especificidades de:
- Arquivos excluídos
Há duas abordagens principais num exame de disco que são examinar os dados acessíveis
normalmente via sistema de arquivos e obter dados que possam estar inacessíveis ao sistema de
- Alterar a tabela de partições de forma a não mostrar determinadas partições que de fato
existam;
- Espaços não ocupados pelas partições lógicas na partição extendida, restando uma área
- É comum haver um espaço de setores não gravados entre o setor da tabela de partições e
- O início do setor que contém o MBR com a tabela de partições tem espaços vazios antes
- Conforme o tamanho dos blocos o sistema de arquivos pode não usar os últimos setores,
- Algumas partições podem ser deixadas sem um sistema de arquivos, mas conter dados;
- A área de SWAP pode ser usada para guardar dados quaisquer que tipicamente não
- Os dados vistos via sistema de arquivos como um todo podem ser, em alguns casos, um
mero engodo, para atrair a atenção do investigador, quando na verdade os dados importantes
- Os espaços alocados para um arquivo podem não estar sendo usados pelo arquivo por
causa da divisão inexata do tamanho dos arquivos em relação ao tamanho dos blocos alocados.
Se um arquivo tem 4352 bytes em um sistema de arquivos com tamanho de bloco de 1024 bytes
ele vai ter alocado cinco blocos (1024+1024+1024+1024+1024), mas vai usar efetivamente
arquivos, mas os dados referentes a este arquivo continuam no disco por anos até serem
Para fazer uma análise forense uma duplicação pericial buscando arquivos ou fragmentos
de arquivos apagados e também examinar o uso indevido de áreas com informações ocultas é
necessário que esta duplicação pericial ter sido feita em forma de imagem bit a bit do disco
original.
O comando unrm no Linux traz as informações contidas em espaços não alocados, mas é
necessária a atenção em considerar que o uso de espaço daquele alocado mas não usado não será
dados a partir de um grupo de dados obtidos. Usualmente estes dados obtidos são fornecidos pelo
"unrm". O "Lazarus" pode ser usado para reconstruir objetos oriundos de outras fontes como da
memória do sistema e da memória swap. Esta ferramenta pode ser usada com dados vindos de
tipo de sistema de arquivos. O Lazarus pode ser usado para analisar dados obtidos em discos, em
dumps da memória, em áreas de swap e em arquivos core e tentar reconstruir dados agrupando-os
em dados coerentes.
2.15.2 O NTFS
A família FAT de sistemas de arquivos, incluindo FAT12, FAT16 e FAT32 têm sido
utilizada em sistemas operacionais da Microsoft deste a década de 80. Praticamente todos aqueles
que utilizaram um PC são familiarizados com pelo menos o básico destes sistemas de arquivos. O
sistema de arquivos FAT é bom o suficiente para uso doméstico, mas é muito antigo e limitado.
sistema de arquivos utilizado pelo Windows 2000 de forma nativa. O Windows 2000 suporta
O NTFS foi criado para ser totalmente novo e não baseado em sistemas FAT, mas ele não
é inteiramente novo, porque sua concepção foi baseada no HPFS ("High Performance File
- Confiabilidade: Para poder ser recuperado em caso de problemas, sem perda de dados o
forma integral para evitar perda de dados e para melhorar a tolerância a falhas;
- Segurança e controle de acesso: A maior fraqueza dos sistemas de arquivos FAT é não
ter controle de acesso nativo a arquivos e diretórios para gerenciar quem pode ler, escrever ou
partições até 4 GB. O NTFS foi projetado para trabalhar com unidades grandes, já prevendo o
- Eficiência na guarda de dados: Método novo de alocação de espaço para arquivos para
- Nomes longos para arquivos: O NTFS permite até 255 caracteres, ao invés dos 8+3 do
FAT convencional;
O investigador deve ter em mente que o sistema de arquivos que está sendo o mais usado,
adicionadas. O NTFS 5.0 foi introduzido como parte do Windows 2000. Ele é similar em muitos
aspectos ao NTFS usado no Windows NT, mas adiciona várias novas características e
capacidades. Foram corrigidos problemas do NTFS para ajudar e ficar mais estável e mais
Seu nome oficial é NTFS versão 1.1, mas é também chamado de NTFS 4.0, por ter sido
As características mais importantes que foram acrescentadas ao NTFS com a versão 5.0
são as seguintes:
- "Reparse Points": Arquivos e diretórios dentro do sistema de arquivos podem ter ações
associadas, então quando o objeto é acessado de uma forma em particular a ação ocorre;
- "Change Journals": Os volumes de disco podem ser configurados para registrar todas as
- Cotas de disco: OS administradores podem detectar quando espaço em disco está sendo
- Suporte a arquivos "sparse": Para economizar espaço em disco foi adicionado suporte
para uma armazenagem mais eficiente de arquivos "sparse", os quais são arquivos grandes que
disco e o Windows NT não incluía. Isto diz respeito à mudança no sistema operacional, mas está
Tudo no NTFS é um arquivo. O índice para estes arquivos é a MFT (Master File Table).
A MFT lista o setor de boot ($Boot) localizado no início do disco. O boot ($boot) também lista
interessantes são $MFTMirr e $LogFile. O espelho do MFT ($MFTMirr) é uma cópia exata dos
primeiros 4 registros da MFT. Se a MFT foi danificada é possível recuperar a partir da cópia
espelho. O arquivo de log é o "journal" de todos os eventos aguardando para ser escritos no disco.
Escondido no final do volume há uma cópia do setor de boot (cluster 0). O único arquivo
de metadados que faz referência a este é o $Bitmap e apenas diz que o cluster está em uso.
2.15.2.5 Lista de controle de acesso (Access Control Lists - ACLs) e entradas controle de
O gerenciamento de segurança e acesso aos objetos no NTFS inicia no mesmo lugar onde
tudo começa no NTFS, na "Master File Table" (MFT). O registro MFT para cada arquivo e
diretório em um volume NTFS contém um atributo chamado "security descriptor (SD)" que
Um dos mais importantes elementos dentro do "security descriptor" para qualquer objeto
é a configuração de listas dentro dele, às quais determinam que usuários podem acessar o objeto e
de que maneira. Elas são chamadas de listas de controle de acesso (Access Control Lists - ACLs).
Cada objeto em uma partição NTFS tem dois diferentes tipos de ACLs:
- "System Access Control List" (SACL): Esta ACL é gerenciada pelo sistema e é usada
- "Discretionary Access Control List" (DACL): Esta é a ACL usada de fato. Aqui são
guardadas as permissões que controlam que usuários e grupos de usuários têm direitos a que tipos
de acesso ao objeto.
Entries). Cada entrada contém um "ID code" que é o que identifica o usuário ou grupo ao qual a
contidas em diferentes ACEs. Um objeto típico deve ter diferentes conjuntos de permissões
determinadas para vários usuários ou grupos. De fato, alguns conjuntos de permissões podem
conflitar entre si, uma vez que os usuários podem ser membros de mais que um grupo e os grupos
As ACLs são altamente afetadas pelo modelo de herança particular usado pelo sistema
ACL de um novo objeto a partir da ACL da pasta pai. O Windows 2000 usa um esquema de
herança dinâmica mais avançado que provê um melhor controle sobre como as ACLs para um
objeto funcionam, deixa sub pastas e arquivos ter suas ACLs modificadas automaticamente
quando os ACLs de suas pastas pai mudam e permitem um controle mais fino sobre a herança em
geral. Esta funcionalidade mais avançada pode ser aplicada no Windows NT 4.0 usando o
As listas de controle de acesso Access control lists (ACLs) são usadas para gerenciar
quais usuários e grupos tem acesso permitido a diferentes objetos, arquivos e pastas, dentro de
um volume NTFS. Estas ACLs contêm entradas que especificam que direitos cada usuário ou
grupo tem no acesso ao objeto em questão. Estes direitos de acesso são chamados de permissões.
Quando o Windows NT foi criado, seis diferentes tipos de permissões foram criados para
os objetos NTFS. A interface de usuário do NT foi projetada para permitir associar estas
permissões a objetos. Cada tipo de permissão controla um tipo diferente de acesso a um objeto e
cada uma tem uma letra de abreviação. Estes tipos de permissões são chamados de permissões
especiais, para diferencia-las dos grupos de permissões padrões que são aplicadas em um nível
mais alto.Em alguns casos o significado de uma permissão é o mesmo tanto para arquivos, quanto
Há um outro tipo fundamental de permissão, que é "Delete Subfolders and Files". Esta
permissão se aplicada em uma pasta pai dá direito a um usuário de apagar arquivos e pastas
dentro da mesma, ainda que não tenha permissão de apagar nos atributos específicos dos arquivos
e pastas em questão..
Até que o Windows 2000 fosse lançado, as seis permissões básicas eram o mais baixo
nível que o NTFS podia acessar. O Windows 2000 introduziu novas permissões, totalizando
treze: "Traverse Folder / Execute File, List Folder / Read Data, Read Attributes, Read
Append Data, Write Attributes, Write Extended Attributes, Delete Subfolders and Files,
O NTFS permite aos administradores logar de tudo, desde logins, o uso de impressoras a
erros de sistemas. A auditoria pode ser selecionada para arquivos ou pastas e pode ser para
objetos individuais ou hierarquia de pastas, da mesma forma que as permissões são. Isto pode ser
A formatação de uma partição NTFS resulta na criação da MFT (Master File Table) e de
arquivos de sistema. A MFT contém informações sobre todos os arquivos e diretórios de uma
partição NTFS.
MFT é provavelmente o mais importante dos arquivos chave do sistema (metadados) que
definem um volume NTFS. A tabela de arquivos mestra (Master File Table - MFT) é o lugar
onde ficam as informações sobre todo arquivo ou pasta em um volume NTFS. A MFT é em
essência uma tabela de banco de dados relacional, contendo vários atributos de diferentes
arquivos.
banco de dados a MFT é uma coleção de registros. Cada registro contém informação sobre como
NTFS, como um índice do conteúdo do volume. É como a tabela de alocação do sistema FAT,
mas tem mais informações que apenas uma lista de clusters usados e disponíveis.
dentro da MFT. O tamanho de cada registro na MFT é igual tamanho de cluster do volume, mas
com um mínimo de 1024 bytes e um máximo de 4096 bytes. Mas, algumas fontes dizem que o
O sistema usa estes registros MFT para guardar informações a respeito do arquivo ou
pasta. Esta informação tem a forma de atributos. Uma vez que o tamanho de cada registro na
atributos residentes que são armazenados no registro MFT ou atributos não residentes são
registro:
- Número do registro em relação ao registro base da MFT, caso não seja o primeiro.
Registro da MFT:
um cabeçalho que guarda o tipo do atributo, nome, flags e a localização da parte de dados
Para evitar que a MFT seja fragmentada, o Windows mantém um "buffer" ao redor dela.
O NTFS reserva um percentual do volume para uso exclusivo da MFT. Nenhum arquivo pode ser
criado nesta região de "buffer". O tamanho deste "buffer" vai sendo modificado conforme a
do arquivo junto com todos os dados do sistema relacionados ao arquivo. Os dados guardados na
MFT são chamados de dados residentes. Isto tem um significado especial ao se considerar a
segurança a respeito do eventual vazamento de dados sensíveis. É também interessante notar que
não há "file slack" (espaço desperdiçado de armazenamento de dados que existe do final do
arquivo ao final do cluster marcado como sendo alocado para este arquivo que poderia ser usado
por um atacante para guardar dados ou analisado por investigador para obter dados antigos), mas
pode haver outro tipo de folga (slack) chamada de "MFT slack". O conhecimento da existência
computacional que capturam "file slacks", mas que ignoram os "MFT slacks". Existem
arquivo MFT. Isto é abordado no curso e ferramentas da empresa New Technologies Armor
http://www.forensics-intl.com/intro.html
O investigador deve saber que ao apagar um arquivo apenas o primeiro bit do registro
MFT é apagado.
Além da MFT, o processo de formatação ainda cria um conjunto de arquivos que contém
meta dados usados para implementar a estrutura do sistema de arquivos. Tais arquivos são
Arquivos de Metadados:
volume
ordenar arquivos
são as seguintes:
espaços, exceto os seguintes, que são geralmente usados pelo sistema operacional para
"Unicode".
relativamente pequeno são armazenados diretamente dentro do registro MFT primário. Muitos
dos atributos mais simples e comuns são arquivados dentro do arquivo MFT. De fato, o NTFS
requer que sejam residentes no registro MFT para funcionamento adequado. Por exemplo, o
arquivo.
- Atributos não residentes - Se um atributo requer mais espaço do que é disponível dentro
do registro MFT ele não obviamente é guardado naquele registro. Ao invés disto, o atributo é
atributo.
Na prática, apenas os menores atributos podem caber nos registros MFT. Muitos outros
attributes" (atributos definidos pelo sistema). Alguns são associados com um ou mais tipos de
estrutura.
necessário para um atributo ser feito como não residente. Este atributo é colocado no registro
MFT original para agir como apontador para o atributo não residente;
$Bitmap
Data: Contém os dados do arquivo. Por padrão, todos os dados em um arquivo são
armazenados em um único atributo de dados, mesmo se este atributo for quebrado em muitos
pedaços devido ao seu tamanho, este ainda continua sendo um único atributo, mas podem ser
Extended Attribute (EA) and Extended Attribute Information: Estes são atributos
que um arquivo ou pasta pode ter múltiplos atributos de nome de arquivo para permitir armazenar
o nome "regular" do arquivo junto com um nome no formato curto MS-DOS e também hard links
Index Root Attribute: Este atributo contém o índice de arquivos contidos em uma pasta
ou parte de um índice se for muito grande. Se a pasta é pequena o índice inteiro vai caber no
registro MFT, mas se for muito grande alguma informação fica aqui e o restante é armazenado
em atributos externos.
Index Allocation Attribute: Se uma pasta é muito grande para caber no atributo "index
root attribute" o registro MFT para a pasta vai conter este atributo com apontadores para as
Security Descriptor (SD): Este atributo contém informação de segurança que controla o
acesso a um arquivo ou pasta. Listas de controle de acesso (Access Control Lists - ACLs) e dados
diretórios. Isto inclui propriedades fundamentais tais como "date/time-stamps" para quando o
arquivo foi criado, modificado e acessado. Também contém os atributos padrão do tipo FAT
Volume Name, Volume Information, and Volume Version: Estes três atributos
guardam o nome, versão e outras informações sobre o volume NTFS. É usado pelo arquivo de
metadados $Volume.
NTFS pela perspectiva do usuário é o arquivo. O arquivo é apenas uma coleção de dados e pode
conter de tudo: programas, arquivos de texto, clipes de áudio e/ou vídeo, registros de banco de
dados e centenas de outros tipos de conteúdo. O sistema operacional não distingue entre tipos de
descrevem o arquivo e todos os arquivos são guardados da mesma forma, como uma coleção de
atributos. Isto inclui os dados por si, que é tratado como um outro atributo (data attribute). Para
entender o funcionamento do NTFS a ponto de se trabalhar com uma análise forense consciente é
Table), juntamente com o conhecimento a respeito dos atributos residente e não residentes do
NTFS.
estrutura básica de cada arquivo está de acordo com as seguintes informações que são
nível usados pelo NTFS para gerenciar a pasta. Ele inclui números de seqüência usados
internamente pelo NTFS e apontadores para os outros atributos e espaço livre dentro do registro
Se um arquivo é pequeno o suficiente para que todos os seus atributos caibam dentro do
registro MFT para o arquivo, então o arquivo é armazenado integralmente dentro da MFT.
Quando isto ocorre depende completamente do tamanho dos registros MFT usados no volume. Se
o arquivo é muito grande para todos os atributos caberem no registro MFT, o NTFS inicia uma
série de expansões que movem os atributos para fora da MFT e faz deles atributos não residentes.
A seqüência de passos é mais ou menos assim: O NTFS tenta guardar integralmente o arquivo na
entrada na MFT, isso só vai acontecer com sucesso com arquivos extremamente pequenos. Se o
arquivo é muito grande para caber na MFT, o atributo de dados (data attribute) torna-se não
residente. A entrada para o "data attribute" na MFT contém apontadores para "data runs",
também chamados de "extends", que são blocos de dados armazenados em seções contínuas no
O arquivo pode tornar-se tão grande que não haja espaço no registro MFT nem mesmo
atributo de dados é tornada ela mesma não residente. Assim como um arquivo que não tem
atributo de dados em seu registro MFT principal, ao invés disso, um apontador é colocado no
registro MFT principal para um segundo registro MFT que contém a lista de apontadores para os
O NTFS continua expandindo sua estrutura flexível para arquivos grandes que são
criados. Ele pode multiplicar registros MFT se necessário para guardar um grande número de
apontadores para diferentes dados "data runs". Quanto maior o arquivo, a estrutura de
atributo de dados para o arquivo contém uma referência do início e o número de clusters no "data
run". O ponto de partida de cada "data run" é identificado usando um número de cluster virtual
NTFS não é necessário ler cada "cluster" do arquivo na ordem para determinar onde o próximo
no arquivo está localizado. Este método reduz a fragmentação de arquivos se comparado com o
sistema FAT.
O nome completo é "Forensic and Incident Response Environment Bootable CD" que
URL: http://biatchux.dmzs.com/
http://biatchux.dmzs.com/
O F.I.R.E. é software livre podendo ser copiado, modificado e distribuído sob os termos
sistema feito para tornar fácil o seu uso. Para usá-lo não é necessário mudar nada no computador,
- Efetuar uma checagem procurando por vírus em discos rígidos em um ambiente limpo
de vírus;
disquete
Knoppix
muito antigos, mas o F.I.R.E. inclui mais ferramentas por padrão e um servidor X opcional que
permite rodar softwares disponíveis apenas em versões GUI ("Graphical User Interface" -
PLAC
tem um menu de sistema que torna muito fácil o uso e é especializado em recuperanção de dados
48MB de RAM.
Licença do F.I.R.E
Basicamente, pode ser usado e copiado como se quiser, mas deixando os créditos onde
estão.
É importante ter muita atenção ao verificar a integridade do arquivo recebido. Para este
trabalho, devido ao cuidado com a confiabilidade e integridade dos dados do arquivo de imagem,
foi obtido o arquivo de diferentes fontes ("mirrors" - sites espelho) oficiais checadas com hash
MD5. As imagens não eram cópias fiéis, pois a resposta de MD5SUM era diferente. Para uma
verificação mais aprofundada foram obtidas diferentes imagens do arquivo para máquinas e redes
diferentes servidores "mirrors". Isto pode ser causado por problemas na transmissão (download)
do arquivo ou o arquivo no servidor "mirror" pode não estar íntegro. Como um servidor e uma
muitas vezes inteligentes e complexos há que se cuidar. Ao se lidar com uma ferramenta de
segurança como esta e principalmente levando-se em conta o uso importante que se fará dela é
crítico e necessário fazer uma verificação simples como esta ou pode-se ter uma ferramenta
* chkrootkit, F-Prot
Sistema operacional base Base OS (38 pacotes). Abaixo seguem nomes, descrições e tipo de
licença:
bsed - Editor de "binary stream" - GNU Licença Pública Geral General Public License
(GPL)
burneye v1.0 - Programa de criptografia "burneye ELF", x86-linux binary - GNU General
Cgrep provê todas as características de grep, egrep e fgrep - GNU General Public License (GPL)
cpio - GNU cpio copia arquivos para dentro ou para fora de um arquivo cpio ou tar. O
arquivo pode estar em outro arquivo no disco, numa fita magnética ou num "pipe". - GNU
curl v7.10.4 - Curl é uma ferramenta para transferir arquivos com sintaxe URL,
suportando FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE e LDAP. Curl suporta
certificados HTTPS, HTTP POST, HTTP PUT, upload via FT, kerberos, formulário HTTP de
arquivo, tunelamento http proxy e vários outros truques úteis. - GNU General Public License
(GPL)
di v3.8 (disk info) - 'di' é um utilitário de informação de disco, mostrando tudo (e mais)
que o seu comando 'df' mostra. Ele tem a característica de mostrar o uso de disco em qualquer
performances de um host remoto enviando a ele pacotes TCP echo (ou outros protocolos). - GNU
expect v5.32.2 - Expect é uma ferramenta para automatizar aplicações interativas como
telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect é também útil para testes destas mesmas
(GPL)
configurável gerenciados de arquivos para sistemas UNIX, escrito usando o GTK+ toolkit. De
acordo com os autores o gentoo é 100% configurável graficamente não sendo necesário editar
seu visual e usabilidade no clássico programa DirectoryOpus 4 da Amiga, mas não é um clone. -
gpg v.1.2.1 - GnuPG ou GNU Privacy Guard é uma ferramenta GNU para comunicação
segura e guarda de dados. Pode ser usado para cifrar dados e criar assinaturas digitais. Inclui um
como descrito na RFC 2440. Assim como, é apontado como sendo compatível com o PGP da
Java JRE v1.4 - Ambiente run time do Java da Sun - GNU General Public License (GPL)
links v0.9x - Links é um browser baseado em ambiente texto com suporte a tabelas
lsof v4.66 - Lsof lista arquivos abertos - GNU General Public License (GPL)
lufs v0.8.3 - Suporte a sistemas de arquivos de usuários linux: sshfs, localefs, gvfs, ftpfs,
macchanger v1.3.0 - Muda o seu "mac address" (endereço de mac). - GNU General Public
License (GPL)
minicom v2.00 - Programa de comunicação Unix. - GNU General Public License (GPL)
muitos formatos para um arquivo de imagem. (Não parece ser forense, mas bom para o trabalho
perl 5.8.0 - Compilado com o suporte para arquivos maiores que 2G, incluindo um
including a grupo de módulos perl úteis para o boot. - GNU General Public License (GPL)
secure-delete v2.3 - Utilitários de deleção segura - sswap, srm. - GNU General Public
License (GPL)
buscas a partir de plugins. Os plugins atualmente suportados são ICMP scan e um ACK scan o
qual pode ver se hosts que não respondem a ICMP estão online. Mudanças: Esta versão conserta
alguns bugs. O scan de ICMP foi tornado mais versatile, permitindo a escolha do tipo e código
sshd v3.1p1 - Esta é a versão com patch aplicado do RedHat's. Sim... Isto está atualizado e
não é vulnerável atualmente (03/06/2004) a exploits. baseados em RedHat's rpm. (até que o
próximo exploit de ssh for encontrado é claro!) - GNU General Public License (GPL)
para imprimir os cabeçalhos dos pacotes em uma interface de rede que combine com uma
determinada expressão. Esta ferramenta pode ser usada para investigar problemas de rede,
TestDisk v4.4 - Ferramenta para checar e recuperar (undelete) partições. Funciona com as
seguintes partições: - FAT12 FAT16 FAT32 - Linux - Linux SWAP (versão 1 e 2) - NTFS
(Windows NT) - BeFS (BeOS) - UFS (BSD) - Netware - ReiserFS - GNU General Public
License (GPL)
upx v1.24 - "the Ultimate Packer for eXecutables" - GNU General Public License (GPL)
webfsd v1.19 - Daemon de servidor web bom e enxuto. - GNU General Public License
(GPL)
wipe v2.0 - Wipe é um utilitário seguro de limpeza de arquivo. - GNU General Public
License (GPL)
de intrusão avançado) é um substituto livre para o Tripwire. Faz o mesmo e algo mais que a
interface HTML para o The Sleuth Kit e utilitários padrão do UNI. Autopsy automatiza muitas
das tarefas necessárias durante um análise forense digita usando a coleção TASK de poderosas
ferramentas de comando de linha como base. Uma vez que esta interface gráfica é separada das
Um investigador pode ainda usar uma interface de commando de linha se o Autopsy não
editor interno para modos binário, hexadecimal e disassembler. - GNU General Public License
(GPL)
bwplot - Plota informação sobre pacotes capturados. - GNU General Public License
(GPL)
chkrootkit v0.40 - Chkrootkit é uma ferramenta para localmente checar sobre sinais de um
CmosPwd v4.2 - Recuperador de senhas de CMOS que trabalha com as seguintes BIOS -
ACER/IBM BIOS - AMI BIOS - AMI WinBIOS 2.5 - Award 4.5x/4.6x - Compaq (1992) -
Compaq (New version) - IBM (PS/2, Activa, Thinkpad) - Packard Bell - Phoenix 1.00.09.AC0
(1994), a486 1.03, 1.04, 1.10 A03, 4.05 rev 1.02.943, 4.06 rev 1.13.1107 - Phoenix 4 release 6
(User) - Gateway Solo - Phoenix 4.0 release 6 - Toshiba - Zenith AMI - GNU General Public
License (GPL)
dcfldd - (or edd, enhanced dd) - Ferramenta com o comando dd original acrescido de
calculador de hash MD5 interno. Trabalho de desenvolvimmento concluído pelo DoD Computer
Disk Investigator (win32) - Visualizador de disco. - GNU General Public License (GPL)
dsniff tools v2.3 - Dsniff é uma coleção de ferramentas para auditoria de rede e testes de
uma rede procurando por dados interessantes (senhas, e-mail, arquivos, etc.). Arpspoof, dnsspoof,
e macof facilitam a interceptação do tráfego de uma rede normalmente não disponível para um
atacante (ex, devido a switch de camada 2). Sshmitm e webmitm implementam um ataque
editreg - Comando de linha Linux para examinar registros de windows. - GNU General
fatback v1.3 - Ferramenta desenvolvida pelo DoD Computer Forensics Lab para
recuperar (undelete) arquivos de sistemas de arquivos FAT. - GNU General Public License
(GPL)
foremost v0.64 - Pesquisa por um arquivo de imagem para encontrar arquivos usando
diretórios especificados de forma a conduzir uma análise de intrusão. - GNU General Public
License (GPL)
gpart 0.1h - Gpart é uma ferramenta que tenta obter a primeira partição da tabela do disco
rígido do PC no caso deste estar danificado, incorreto ou apagado. A tabela achada pode ser
hexedit v1.2.1 - Editor hex baseado em "ncurses" - GNU General Public License (GPL)
LDE - Linux Disk Editor v2.5 - LDE permite ver e editar blocos de discos como
hexadecimal e/ou ASCII, ver/navegar entradas de diretórios e ver e editar inodes formatados.
Muitas das funções podem ser acessadas usando cursos de interfaces de programas ou por linhas
de comando, tornando possível automatizar itens com seus próprios scripts. - GNU General
ferramenta é uma versão modificada dos dois programas "tree.pl" e "mactime" do kit "the
Coroner's Toolkit" de Dan Farmer e Venema Weiste. - GNU General Public License (GPL)
tempo de Modificações, Acessos e Mudanças (MAC) de arquivos. Sua saída pode ser usada
como entrada para a ferramenta "mactime" do "The Coroner's Toolkit (TCT)" para fazer uma
Perl. Este trabalho foi feito por @stake - GNU General Public License (GPL)
memfetch v0.04b - Processador para fazer imagens conforme demanda "dump on-
esforça-se em prover a maioria das características da ferramenta "GNU grep", aplicando-as a todo
vários formatos de arquivos de imagem. (Não parece forense, mas é bom para o trabalho de
módulos perl úteis para inicialização ("boot"). - GNU General Public License (GPL)
usuário ver senhas contidas em seu banco de dados pwl do Windows. É possível checar a
segurança desse arquivo tentando recuperar a senha principal usando força bruta. - GNU
rda v0.2.1 - RDA é uma ferramenta de computação forense para obter dados
rec (reverse engineering compiler) - Compilador para engenharia reversa. - Outra licença
ree v1.3 - ree significa ROM extension extractor - procura em sua memória em /dev/mem
por extensões "ROM" e as escreve em arquivos de saída. Extensões ROM são "BIOSes" as quais
conexões TCP na interface de rede escolhida e tenta interpretá-los. Quando identifica o tipo
são "jsteg", "jphide" (Unix e Windows), "invisible secrets", e "outguess 01.3bis". - BSD License
número de pacotes, a taxa média e o desvio padrão, o número de origens únicas e o endereço de
destino dos pares e a quebra dos protocolos. - GNU General Public License (GPL)
tcpdump v3.7.1 - O Tcpdump permite que você obtenha e guarde em formato "dump" o
tráfego em uma rede. Pode ser usado para imprimir os cabeçalhos dos pacotes de uma interface
de rede que combinem com uma dada expressão. Pode-se utilizar essa ferramenta para detectar
problemas da rede, para detectar ataques de "ping" ou para monitorar as atividades da rede. -
BSD License
tcpflow v0.20 - tcpflow é um programa que captura os dados transmitidos como parte das
conexões do TCP (fluxos), e aloja esses dados de uma maneira que seja conveniente para a
análise do protocolo ou para eliminar erros. Um programa como o "tcpdump" mostra um sumário
dos pacotes vistos no cabo de rede, mas geralmente não armazena os dados que estão sendo
cada fluxo em um arquivo separado, para uma análise posterior. - GNU General Public License
(GPL)
Intrusion Detection System - Sistema de Detecção de Intrusão de Rede) repetindo o tráfego real
por trás da rede os quais escondem ataques. O Tcpreplay permite controla a velocidade em que o
incomum gerado por via de programação o qual não aciona a inspeção de aplicação ou protocolo
que um "NIDS" faz e não reproduz anomalias do mundo real que aparecem em ambientes de
"tcpreplay" permite a replicação exata do tráfego real visto em redes reais. - GNU General
tcpslice v1.2a1 - uma ferramenta para extrair partes de uma trilha de pacotes gerada
Universidade de Ohio, para analisar os arquivos TCP carregados, pegando a entrada de arquivos
"etherpeek", o "HP Net Metrix" e o "WinDump". O Tcptrace pode produzir diferentes tipos de
saída, contendo informações de cada conexão vista, assim como o tempo decorrido, bytes e
TCT v1.11 - TCT ("The Coroner's Toolkit" - O kit do agente funerário) é uma coleção de
programas, por Dan Farmer e Wietse Venema, para uma análise pós-morte de um sistema UNIX
TestDisk v4.4 - Ferramenta para checar e recuperar partições apagadas dos seguintes
tipos: FAT12 FAT16 FAT32 - Linux - Linux SWAP (version 1 and 2) - NTFS (Windows NT) -
BeFS (BeOS) - UFS (BSD) - Netware - ReiserFS - GNU General Public License (GPL)
UNIX que permite ao investigador examinar sistemas de arquivos NTFS, FAT, FFS, EXT2FS e
arquivos. Uma vez que as ferramentas não confiam no sistema operacional para processsar ao
sistema de arquivos, o conteúdo escondido e apagado é mostrado. - GNU General Public License
(GPL)
TNEF v1.2.0 - TNEF fornece uma maneira para desempacotar aqueles anexos do tipo
Microsoft MS-TNEF MIME. Opera como o "tar" para descompactar qualquer arquivo o qual
tenha sido colocado em anexo "MS-TNEF" ao invés de ser anexado separadamente. - GNU
VNC - tightvnc - VNC (uma abreviatura para computação virtual da rede - "Virtual
remoto de rede a desktops gráficos. Usado no "biatchux" para emitir consoles remotos! - GNU
wipe v2.0 - Wipe é uma ferramenta segura de remoção de arquivo. - GNU General Public
License (GPL)
Ferramentas Windows
net.exe
DNS reverso
CygWin Tools: Versão para Windows de diversas ferramentas GNU, inclusive o dd.
Possível, graças às bibliotecas cygwin que simulam as chamadas de sistema e geram o ambiente
Aparentemente era uma ferramenta de depuração interna, usada pelos desenvolvedores do NTFS.
O importante é que ela pode acessar o disco em baixo nível (hexadecimal); e entende a estrutura
service/sp4en-ex/i386/diskedit.exe
assinaturas digitais. Uma das suas vantagens é a compatibilidade com o md5sum do Linux, em
http://homepages.ihug.co.nz/~floydian/md5/md5v11.zip
NetCat: Versão para NT do netcat original do UNIX. Muito usado, como backdoor, pelos
Endereço: http://www.sysinternals.com/files/streams.zip
Strings: Recupera todas as strings contidas em um arquivo executável. Muito útil durante
http://www.sysinternals.com/files/strings.zip
Knoppix-STD
MD5: de03204ea5777d0e5fd6eb97b43034cb
customizado (2.4.21 com os patches ntfs rw, openmosix e superfreeswan). Gerenciador de janelas
energia e alguma RAM o Knoppix-STD não toca no computador que o serve de host.
de rede. Isto significa que pode ser usado por um novato para aprender mais sobre segurança da
* autenticação
* criptografia
* forense
* firewall
* honeypot
* sistemas ids
* utilitários de rede
* ferramentas de senhas
* servidores
* packet sniffers
* ferramentas tcp
* tunelamento
* analizadores de vulnerabilidades
std.org/
Knoppix-STD - Pacotes
"Authentication" (Autenticação)
/usr/bin/auth/
/usr/bin/crypto/
* openssl 0.9.7c
"Forensics" (Forense)
/usr/bin/forensics/
* sleuthkit 1.66 : extensões para o kit de ferramentas forense "The Coroner's Toolkit"
* autopsy 1.75 : Interface Web para o "TASK". Padrão de evidências indo para
/mnt/evidence
reversa
* wipe : apaga uma partição seguramente e é bom para preparar uma partição para usar
"dd"
* e outras ferramentas de sistema típicas para uso em forense (dd, lsof, strings, grep, etc.)
"Firewall"
/usr/bin/fw/
/usr/bin/honeypot/
* honeyd 0.7
/usr/bin/ids/
* WIDZ : IDS para interfaces de redes sem fio e ap ("access point" - pontos de acesso de
* md5sum
* syslogd
/usr/bin/net-utils/
/usr/bin/pwd-tools/
Servers (Servidores)
/usr/bin/servers
* apache
* ircd-hybrid
* samba
* smail
* sshd
* vnc
* net-snmp
* tftpd
* xinetd
/usr/bin/sniff/
filtragem do "grep"
* webspy : faz cópias espelho de todas as "URLs" visitadas por uma máquina em um
browser local
/usr/bin/tcp-tools/
"tunnels" (túneis)
/usr/bin/tunnels/
/usr/bin/vuln-test/
* curl : utilitário de comando de linha para transferir qualquer coisa com uma URL
* nessus 2.0.9 : detector de vulnerabilidades que atualiza seus "plugins" em tempo real
com o "nessus-update-Plugins"
* snot : repete regras do snort de volta para o cabo de rede para testar a resposta de um
"IDS"
* thcrut : THC's "r you there?" (THC você está aqui?) mapeador de rede
sistema)
/usr/bin/wireless/
acesso)
AIDE
de detecção de intrusões)
AIDE é um substituto de software livre para o Tripwire. AIDE faz o mesmo que o
URL: http://sourceforge.net/projects/aide
Linguagem: Inglês
Linguagem de programação: C
Estudo de Casos
policiais e indivíduos envolvidos e por questões de segurança os casos reais abaixo relatados
estão mesclados a casos hipotéticos, que tiveram ou não a participação direta do autor.
Informado por:
A vítima recebeu um e-mail em inglês de uma empresa que monitora site listados como
pichados em sites internacionais de arquivo on-line de cópias de pichações, informando que seu
Observações: A pichação foi assinada por um grupo de pichadores que possui em seu
web no IIS.
web nos sistemas de detecção de intrusão a nível de rede e nem nos logs dos sistemas de firewall.
Fazia uso de Extensões do Front Page 98 e desatualizadas, quando já deveria estar usando
O site não tinha necessidade de usar Front Page, nem asp, nem de estar em Windows pois
Suspeita: O atacante possivelmente usou o acesso via Front Page para acessar e alterar a
página principal (home page) do site da vítima. Mas isto não pode ser confirmado, pois a vítima
preferiu que o trabalho fosse focado apenas na recuperação e não na investigação e nem em
outras etapas.
Resultado: A vítima não tinha interesse em tomar mais providências, pois desejava apenas
o site no ar. Devido a recomendação do investigador o site foi totamente removido, mudado de
servidor inclusive para uma outra plataforma, no caso a plataforma escolhida foi a plataforma
Linux. O site foi monitorado e não teve mais ocorrências de incidentes de segurança detectadas.
alterado.
Tipo de alvo: A vítima era um site em construção, ou seja que ainda não havia sido
conjunto com a investigação. Não foram detectadas vulnerabilidades conhecidas, nem logs
suspeitos em rede e nem no acesso via web. Não foram detectados potenciais problemas na
máquina servidora, nem presença de root kits e também o tráfego de rede foi analisado
períodos e analisados. Nos logs de acesso via FTP, foi observada a exata ocorrência dos passos
do atacante.
O atacante acessou com uso da conta válida da vítima e senha normal, sem errar nenhuma
vez e alterou a página principal. Foi perfeitamente identificado a data, hora e o IP do atacante,
assim como suas ações. Em seguida, no minuto seguinte, o mesmo IP foi registrado acessando o
site via web. Os sistemas de IDS (detecção de intrusão) que estavam logando inclusive este tipo
de atividade, mesmo quando devidamente autorizada (senha e usuário corretos) que estavam com
Resultado: A vítima preferiu adiar a decisão de punir ou não o atacante, então, todos os
testemunhas assinaram as etiquetas e ficaram com cópias em CDs dos arquivos, dados e todos os
cópia pericial completa do disco principal do servidor que continha o site, por conter dados de
outros clientes, ficou apenas em posse do provedor em envelope lacrado e assinado por todos
acima citados, sendo que a empresa vítima e os investigadores também ficaram com uma cópia
do hash do conteúdo deste disco. A vítima não tinha interesse em tomar mais providências e
solicitou que o provedor de acesso usado pela vítima não fosse informado, pois não quis arcar
com o ônus de um processo judicial e, então ficou com medo de provocar a ira do atacante e seu
Quem informou: Gráficos de análises de uso de rede levaram a vítima a estranhar o uso
meses, a rede da vítima foi analisada e não foram detectadas anormalidades. Tudo parecia normal
e sem suspeitas nem a nível de host (nas máquinas) nem a nível de rede. Foi instalado um sniffer
de rede para poder ser estudado o comportamento da rede e se percebeu que o tráfego excessivo
inclusive em horários estranhos correspondia a um servidor web, onde a empresa vítima tinha
disponibilizado alguns sites à internet. O tráfego deste host específico foi estudado e só se
encontrava tráfego normal e excessivo apenas na porta 80, que é tipicamente usada pelo servidor
web (como o robô do Google e robô do Altavista) e alguns outros Ips não determinados. Foram
conexões foram sendo estudadas e foi percebido um padrão de acesso ocorrendo milhares de
vezes por dia e tratava-se de um único IP. A origem do IP foi investigada a partir de serviços de
"whois" e após algum tempo procurando determinar a identidade do suposto atacante a equipe de
investigação chegou a conclusão de que se tratava de um robô da web de uma rede específica. Na
verdade trata-se do robô de um site de serviço de notícias que indexa sites de notícias de todo o
reclamando do mesmo robô deste site de notícias. A vítima fez inúmeros contatos e por se tratar
de caso internacional não tinha como iniciar um processo judicial contra o site proprietário do
robô, e mesmo se o fizesse, talvez não pudesse fazer nada contra judicialmente, afinal trata-se de
foram detectadas portas abertas em estado de escuta ("listen"). As portas tratavam-se de portas
típicas de vírus que abrem o computador para novas invasões em vírus. O anti-vírus do Cliente
Foram feitas duas imagens idênticas do disco, utilizando o F.I.R.E Linux. Uma das
imagens foi devidamente etiquetada, documentada e guardada. A outra imagem serviu de bas
para investigações. Foi feita uma rede local restrita laboratorial para testes e colocado o host
(máquina) a partir da imagem com IP restrito à esta rede de testes para exame pericial dinâmico,
em especial foram consideradas em especial as portas 25, 69, 80, 137, 138, 139 e 445 utilizadas
tipicamente pelo W32.Nimda. Para detectar como foi a infecção os investigadores foram mais em
frente e perceberam que o "worm" "Code Red II" havia anteriormente comprometido esta
IDS de rede guardados foi possível confirmar a data e hora da infecção pela típica entrada: "GET
/default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u
9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%
serviço de indexação do IIS no Windows pelo CODE RED, que é possível em sistemas cujo o
comprometimento de sistema, onde atacantes podem utilizar a infecção como via de aplicação de
partir do zero. O novo sistema teve todos os antivírus atualizados e "patchs" já existentes
Observações: No mesmo caso anterior, uma outra questão relevante foi detectada.
de comunidade padrão ("default") foi observado que um atacante externo às rede poderia listar
Solução: Os usuários tiveram seus nomes de acesso (usernames) alterados para novos
adequadamente os necessários.
trabalhar com sistema de código livre Linux, com Sendmail, para o sistema de e-mails de um
Windows. Devido à falta de experiência a equipe fez uso de uma distribuição de Linux antiga e
local já havia descartado a hipótese de falha de hardware para paradas inexplicáveis do servido de
capturando e examinando os pacotes que tinham a máquina suspeita como origem ou destino. Foi
observado um tráfego ftp, onde pequenos arquivos criptografados estavam sendo enviados para
em que se encontrava a máquina vítima estava sendo utilizado um "hub" ao invés de um "switch"
de rede, então era possível capturar o tráfego de todos as máquinas naquele segmento com
facilidade. O conteúdo do tráfego FTP suspeito oriundo da máquina vítima não pode ser
identificado por estar criptografado. Após monitorar, capturar e guardar uma boa amostragem do
tráfego de rede a equipe de investigadores resolveu parar a máquina para fazer duas imagens
periciais do disco rígido do sistema vítima, com o utilitário "dd", identificou e preservou uma das
cópias e passou a investigar em uma cópia da imagem. Numa investigação dinâmica, no sistema
vítima, inclusive com os códigos maliciosos em execução, foi bastante fácil perceber com a
questão da queda de serviço de rede, pois, como o tráfego da rede era elevado e a captura de
pacotes deixada pelo atacante não foi planejada para alta capacidade, pois tratava-se de um
"rootkit" padrão com poucas alterações do script original, então ocorria sobrecarga na captura e
guarda de pacotes pelo sistema do atacante e isso provocava a queda do serviço de rede. O
tráfego era composto inclusive de documentos importantes trafegando pela rede via web numa
intranet do departamento e mais o tráfego elevado de e-mails passando por esta máquina vítima e
por um sistema de e-mails ainda mais crítico e de uso muito mais demandado que o sistema de e-
mails na máquina vítima. Foi observado que o atacante criou diversos diretórios e arquivos com
nomes "..." (três pontos), isso certamente para enganar um investigador em uma possível
investigação usando o comando "ls", onde o investigador se confundiria com o diretório de "."
(um ponto) que representa o diretório atual ou ".." que representa o diretório superior. Além
disso, o arquivo ou diretório com nome iniciado com um ponto será oculto da visualização via ftp
estática examinando com "cat", "more", "vi", "grep" e "strings" os arquivos encontrados deixados
pelo atacante. Não foi muita surpresa para a equipe de investigadores descobrir que se tratava de
enviadas por ftp. O destino de FTP por ser automatizado pode ser identificado e examinado pela
equipe de investigação. No destino de FTP não havia nada, apenas diretórios vazios. Mas bastou
procurar por arquivos ocultados com técnicas simples para perceber que haviam diretórios e
resultados de invasões deste sistema vítima e de outros sistemas. E, mais ainda, haviam diversos
universidade no México.
comprometimento de rede, foi necessário, durante duas semanas, proceder a uma avaliação
minuciosa para determinar o escopo de comprometimento das máquinas locais e remotas que se
apenas a quatro meses, o sistema foi considerado como sendo comprometido desde a sua
instalação inicial. Todas as informações, dos últimos quatro meses, foram tidas como quebrada
ao serem capturados, foram trocados os usernames e senhas e se partiu para uma reinstalação
metódica de todos os sistemas cujo dados de acesso possam ter sido comprometidos. As
reavaliados do ponto de vista de análise de risco para a instituição do governo por uma equipe
formada por 18 pessoas chefiadas pelo chefe do departamento. A investigação foi feita com
formalidades de procedimentos para coleta, preservação e uso das evidência digitais de forma a
investigação serviu para alimentar de dados e provas equipes policiais de investigação de outros
países que já estavam na com uma avançada investigação em busca do atacante que agia em
provedor de acesso e de serviços de hospedagem de sites observou que seu site havia sido
O atacante tinha uma conta de usuário ftp válida e direitos a executar scripts ASP e
ASP.NET
da ação dos atacantes. A nível de máquina também não haviam indícios de ações externas em
massa.
máquina.
comum um único usuário da web para visitantes de seu sites, com permissões para "Everyone"
(todos). Assim, fazendo uso de instância do FileSystemObjects o atacante que tinha permissão
para colocar e executar scripts ASP em seu site foi capaz de executar um código para alterar a
página inicial de todos os sites de outros usuários. Somente foi possível identificar o usuário que
novo, e implementou novos sitemas com usuários diferenciados, permissões mais examinadas e
mais seguras e aumentou o rigor na aceitação de novos usuários e na monitoração das atividades
dos usuários.
empresa.
sites do grupo empresarial, todos os serviços internet relacionados aos sites da empresa
semana, fora de expediente e à noite despertou a atenção do administrador da rede que logo
juntamente com o administrador da rede observaram que o serviços de resolução dos servidores
de nomes (DNS - Domain Name Server) não estava respondendo a contento e que os serviços
estavam funcionais se acessados via número de I.P. Foi identificado que o problema era apenas
no servidor DNS principal e não nos secundários. Como não haviam indícios de ataques logados
no IDS de rede e nem nos logs do servidor de DNS principal, os investigadores partiram para
observado que um determinado usuário com poderes de administrador fez logon no sistema,
depois mudou para root "usando" e naquela hora foram logados os seguintes comandos deste
# cd /etc/domain/zonefiles/
# vi sitefilial01.com.br.zonefile
# date
# df -h
# du -sh var/log/
# du -sh var/log/
# du -sh /var/log/logsdeintranet/
# rm -rf var/log/logsdeintranet/arquivoantigo1.log
# rm -rf var/log/logsdeintranet/arquivoantigo1.*
# rm -rf *
# df -h
# cd /var/log/logsdeintranet
# ls -la
# rm -rf *
# df -h
# exit
Examinando os comandos acima fiou óbvio o que aconteceu. Foi descartada pela equipe
de investigadores a hipótese de incidente de segurança. O que aconteceu foi uma falha provocada
por negligência deste usuário com poderes de administrador. Por preguiça ou falta de malícia o
usuário incidiu em erro e as conseqüências de seu erro foram desastrosas por ter a resolução de
nomes (DNS) importância crítica para o funcionamento de inúmeros serviços de rede. Ficou claro
nos logs a inabilidade do usuário tentando executar comandos, que pode falta de uma "/" (barra)
traziam resultados indesejados para ele. A grande questão foi que ele estava aparentemente dento
do diretório que contém todos os arquivos ZONE que são imprescindíveis para o funcionamento
do servidor de nomes (DNS) para os sites locais, para os quais o servidor de nomes responde com
autoridade. Naquele diretório o usuário esteve porque foi para editar um arquivo zone da filial 01
(sitefilial01.com.br.zonefile) e por algum motivo depois partiu para examinar o espaço em disco
e foi apagar arquivos de logs antigos de um sistema de intranet. Por imperícia este usuário usou
tornando um erro de diretório potencialmente muito mais perigoso, pois a opção "r" torna o
chave de pesquisa do comando e a opção "f" faz o comando "rm" não fazer perguntas de
confirmação do tipo "Tem certeza que quer apagar .... (y/n)?". Para piorar o "*" asterisco é
curinga e faz com que todos os arquivos combinem com a chave de pesquisa do comando. Ou
seja, o usuário por azar de seu destino estava no diretório doa arquivos ZONE e usou um
comando "rm -rf", que siginifica grosseiramente: "Apague todos arquivos, diretórios e sub-
diretórios e seus conteúdos, sem me perguntar nada, apenas faça." A questão de os serviços só
terem apresentado mau funcionamento no dia seguinte e a noite é que os serviços de resolução de
nomes (DNS) usados no acesso das máquinas clientes guardavam em "cache" as informações
consultadas por até 36 horas, então os problemas foram aparecendo quando os "caches" foram
sendo expirados. A boa fé do usuário pareceu certa, o que foi considerado pela administração da
companhia, mas ainda assim o usuário apresentou ficou extremamente constrangido e apresentou
administrador da rede, que sua máquina estava conectando sozinha e apresentando na tela vários
sites de cassinos, jogos e pornografia e que acreditava que sa máquina estava dominada e que
estes sites eram abertos por um invasor. Ao investigar, pode-se perceber que o usuário tinha o
hábito de acreditar em conteúdos de e-mails que solicitavam ao mesmo clicar para fazer
colocava em risco a rede do gabinete do deputado. Por isso, foi feita investigação mais a fundo
trabalho no gabinete. A máquina estava infectada com o "Cytron" que é um objeto componente
de browser ("Browser Helper Object: (BHO)") instalado poar activeX quando o usuário clica em
e-mail com cartão virtual falso. Ele fica instalado no browser e apresenta publicidade em janelas
problemas.
revisão completa quinzenal. O usuário assinou um termo de boas práticas onde se comprometeu
que o fórum em .ASP de seu site estava com um texto na mensagem principal dizendo "Birald
Hacked Here"
determinar o perfil de atividades do atacante que se intitulava como Birald (ps.: Este codinome
não é o codinome real do caso.). Notou-se logo que se tratava de um codinome presente em
partiram para analisar a segurança do aplicativo e logo se percebeu que o mesmo tinha uma falha
de segurança séria e de simples exploração. O sistema de fórum tinha administração via web e
um usuário administrador, com plenos poderes de administração do fórum e dos conteúdos das
mensagens. Havia um sistema de logins e senha para acessar a administração do sistema, mas por
completo da URL da página de alteração de senha do administrador, bastava ele não acessar a
sair da mesma e entrar de novo, e por uma falha de controle de sessão ele agora poderia mudar a
web da universidade acrescentou umas poucas linhas de código para corrigir a falha de controle
de sessão, mensagem "Birald Hacked Here" foi removida e não foi dado mais andamento ao caso.
Certo dia um funcionário que estava de plantão à noite recebeu um telefonema. O sujeito
do outro lado da linha dizia que tinha encontrado uma séria falha de segurança e que poderia
provar isso. O funcionário perguntou como ele poderia provar e ele disse que queria falar com o
diretor ou dono da empresa. O funcionário informou que isso não seria possível e o sujeito
enfatizou que era muito sério, perguntou para qual e-mail ele poderia mandar prova de que estava
exame de vulnerabilidades da rede, foi possível observar que os administradores da rede haviam
Assim que se fez uma análise ao vivo do sistema da intranet, observou-se em logs exatamente
quando e como o atacante havia obtido os dados. Havia entradas em log com IP exatamente igual
ao IP que estava no e-mail enviado pelo atacante à empresa. Examinando as entradas em logs foi
ataque de "SQL Injection". O atacante explorou a falha colocando entradas do tipo "' Or 1=1 --"
nos campos de logon da intranet e assim, conseguia passar o sistema de logon da intranet e
obtendo dados internos da empresa. Desta forma a empresa estava com sua intranet
inadvertidamente acessível via internet a ainda por cima com o acesso restrito por senha
vulnerável ao ataque de "SQL injection". O atacante não tinha conhecimento de que sua ação já
fazer contatos via e-mail e telefone exigindo uma elevada quantia em dinheiro para não "fazer
nada pior", para "não divulgar as informações obtidas" e para mostrar como corrigir a falha. A
diretoria da empresa foi orientada pelos policiais e pela equipe de investigadores a não reagir
grosseiramente e a não mostrar que já tinha os passos e as ações do atacante, que agia de uma
atacante começou a ser mais ameaçador e com atitude de extorsão, que após documentados seus
rastros em computador, em rede, seus e-mails, com telefonemas gravados e com filmagem em
Em apenas um dia cerca de 235000 (duzentos e trinta e cinco mil) e-mails foram
Devido à política de segurança da empresa, que prevê punições para uso indevido de e-
mails, inclusive o envio de e-mails em série. O caso do usuário Alan foi levado à equipe de
O caso foi bastante simples de ser resolvido, bastando analisar o conteúdo interno das
O conteúdo típico das mensagens era como o seguinte, que indicava ser uma típica
************************************************************************
**
Return-Path: <>
Delivered-To: alan@tl7.mailserver.com.br
Received: (ludmail 29466 invoked from network); 23 Sep 2004 21:00:58 -0000
Delivered-To: alan@sitecliente.com.br
Received: (ludmail 14845 invoked for bounce); 23 Sep 2004 21:01:00 -0000
From: MAILER-DAEMON@l6.mailserver.com.br
To: alan@sitecliente.com.br
************************************************************************
**
E trazia o cabeçalho da mensagem original em seu conteúdo, que foi o mais importante
************************************************************************
**
Return-Path: <alan@sitecliente.com.br>
Delivered-To: alanis@mailserver.com.br
Delivered-To: alias-sitecliente_com_br-climail@sitecliente.com.br
Delivered-To: alias-sitecliente_com_br-climailredir@sitecliente.com.br
Delivered-To: alias-sitecliente_com_br-sitecliente@sitecliente.com.br
Received: (ludmail 6835 invoked from network); 24 Sep 2004 01:17:00 -0000
Delivered-To: alias-sisisi_com_br-alesi@sisisi.com.br
Received: (ludmail 11990 invoked by uid 504); 24 Sep 2004 01:17:03 -0000
ludmail-scanner-1.22st
X-Spam-Level: +++++++++++++
To: marketing@sitecliente.com.br
X-MSMail-Priority: Low
X-ludmail-Scanner-Message-ID: <109598862281311981@e10.mailserver.com.br>
************************************************************************
**
investigação.
empresa de advocacia, estava tendo lentidão por longos períodos e com uma freqüência cada vez
administrador relatórios gráficos de acesso a sua rede (MRTG) onde se podia observar que os
administrador de redes acionou a equipe de investigadores suspeitando que a rede pudesse estar
sendo utilizada para atacar redes de terceiros ou que dados internos da empresa pudessem estar
com a captura de pacotes para examinar o tráfego suspeito. Foi percebido o fato de que a
quantidade de tráfego era principalmente na porta 25, que é tipicamente utilizada no envio de e-
mails. Foi possível determinar que a máquina responsável por todo o tráfego não era o servidor
configuração de um IDS (sistema de detecção de intrusão) de rede para determinar o que estava
havendo. Foi possível determinar exatamente o que estava acontecendo. Havia um formulário
para contato dos internautas com os advogados a empresa que era processado via um "script"
(programa) chamado "Formmail". O "script" na versão que estava sendo utilizada permitia que
"bug" do programa para enviar milhares de e-mails. O exame de logs mostrou que a falha estava
sendo explorada por dezenas e dezenas de "spammers" com IPs originados em todo o mundo.
Alguns dos IPs foram analisados e levavam a conexões discadas com ip variável e locais públicos
jurisdições a opção final foi de eliminar o bug (a falha) instalando uma nova versão do programa.
de pornografia infantil via internet. A investigação durou meses e foi feita em conjunto com a
participação da polícia com a equipe de investigadores. Depois de muita pesquisa via internet
forma discreta colaborou com a investigação de forma que foi possível identificar a conta do
usuário a partir das datas no exame de tráfego cruzadas com os horários de conexões do usuário.
O envio de imagens era feito utilizando esteganografia (técnica usada para esconder informações
e como estava sendo utilizado um software convencional de esteganografia de fácil detecção foi
possível juntar provas do ilícito. A autorização judicial para grampo telefônico para investigar a
residência de onde partiam as conexões foi essencial para identificar quem dentre os moradores
da residência era o criminoso ou criminosa, pois apesar do ilícito estar claro e já haver provas a
identidade do indivíduo precisava ser também incontestável, afinal qualquer um dentro daquela
casa poderia ser o criminoso. O estudo das ligações telefônicas e do tráfego de rede entrada e
saída, juntamente com um flagrante em delito, foram fundamentais para que o criminoso não
pudesse se eximir das culpas. Em defesa posterior ao flagrante, o criminoso alegou ser inocente e
que alguém deveria ter invadido e estar usando seu computador para o ilícito. Realmente o
computador dele tinha um software cavalo de tróia em execução, mas a equipe de investigadores
documentando formalmente todo o conteúdo e assim foi possível provar que não havia tráfego
nas portas utilizadas pelo cavalo de tróia na maioria das conexões com ações ilícitas e que o
cavalo de tróia foi plantado pelo próprio acusado para servir de álibi.
cliente que havia instalado um novo servidor de e-mails e resolveu instalar um programa de
*********************************************
*********************************************
checar que o servidor não se encontrava comprometido e determinar o alarme como falso
O falso positivo se deu porque devido a um novo sistema implementado neste servidor de
e-mails, o mesmo passou a ter suporte a "secure SMTP" (SMTP seguro) que funciona na porta
em indústria
Uma determinada indústria estava com suspeita de que um de seus funcionários estivesse
Depois de muitas horas de investigação chegou-se a uma prova que demonstrava a ação
não foi muita surpresa identificar que o usuário que além de enviar os arquivos de imagens via
FTP, tinha conhecimento dos logs de FTP do servidor e os apagava, assim como editava os
conteúdos de seu arquivo .bash.history, que é o arquivo que guarda os comandos digitados do
usuário. Foi observado que o usuário se conectava via FTP partir de um provedor externo
chamado hackprovider.net fora de seu horário de trabalho, cerca de 22:24hrs. Sendo que na
mesma conexão foi identificada atividade normal do usuário enviando um e-mail à sua equipe de
trabalho e acessando uma extranet da empresa, para atividades normais que somente ele poderia
fazer e que eram atividades em que ele se identificava e se autenticava normalmente, sem
logs apagados, o seguinte comando pesquisou na partição /var (/dev/hda7) que guarda os logs e
Comando:
Parte da resposta:
O comando "unrm" procura por conteúdos em arquivos apagados, o pipeline "|" passa o
que for encontrado para o próximo comando "strings -a" para obter as strings encontradas e o
comando "grep" filtra o resultado mostrando como resultado apenas o que já estavam procurando
que era uma entrada do usuário usersusp, colocando exatamente como é gravada uma ação de ftp
nos logs daquele tipo de servidor FTP. A indústria em questão solicitou que a equipe continuasse
de forma discreta, inclusive com monitoração de rede e muito mais foi sendo descoberto a
internet foram de grande valia para o entendimento da forense computacional. Foi uma
busca exaustiva por informações que se mostrou tão frutífera que tornou a tarefa de síntese
merece especial notação no que diz respeito a sistemas em plataforma Windows devido à
especial, do NTFS.
Aplicação de Técnicas de Forense Computacional e Respostas a Incidentes na Internet
Daniel Linhares Lim-Apo
Pág. 132/166
A compreensão de cada camada de observação em um caso de investigação de
forense computacional ficou mais clara conforme se deu o desenvolvimento teórico e prático
nível de investigação. Por exemplo, num caso de investigação de e-mail, pode-se procurar
local bem mais secreto, numa camada ainda mais interna, como diretamente nos mais
baixos níveis do sistema de arquivo ou ainda num ativo de rede ou sistema servidor por
onde o e-mail tenha sido armazenado ao passar. Este exemplo serve para complementar o
entendimento que todo este trabalho procurou demonstrar a respeito dos diferentes níveis,
forense computacional. A forense computacional está se fazendo cada vez mais presente e
cada vez menos dispensável pelos motivos apresentados neste trabalho sobre o histórico
dados que deve recuperar e analisar, maximizando sua eficiência e eficácia. Isso pôde ser
suas características devem estar acrescidas de boas ferramentas e com uma metodologia
excelente. Para isso, todo o trabalho em forense computacional começa muito antes de se
Os procedimentos tem que ser tecnologicamente robustos para garantir que toda a
informação útil como prova seja obtida e também de uma forma a ser legalmente aceita de
forma a garantir que nada na evidência original seja alterado, adicionado ou excluído.
A forense computacional lida com dados físicos, reais, mas numa realidade
metafísica digital, onde os dados físicos são informações elétricas, eletrônicas, magnéticas,
preparar cada dia mais. Afinal, sempre haverá trabalho duro a fazer, pois, não existe um
ambiente totalmente seguro e não existe um crime que não deixe rastros, mas os criminosos
intrusões
ASP: "Active Server Pages" - Tipo de página para internet dinânica com extesão .ASP
DLL: "Dynamic Link Library" - Biblioteca de funções executáveis ou dados para uso em
Respsota a Incidentes
FAT12: "12-bit FAT" - Sistema de arquivos para disquetes, que suporta até 16MB.
FBI: "Federal Bureau of Investigation" - Birô Federal de Investigação dos Estados Unidos
Fdisk: Ferramenta para preparar discos rígidos para formatação, examinando, criando ou
modificando partições.
sistema computacional
plataforma Windows
GNU: "GNU's not UNIX" - O GNU que não é Linux - Sistema de software compatível
GPG: "The GNU Privacy Guard" - Uma ferramenta livre substituta do PGP para
GPL: "General Public License" - Licença pública de uso geral que acompanha vários
modificados.
HTML: "HyperText Markup Language" - Linguagem usada para criar documentos para a
web
HTTP: "HyperText Transfer Protocol" - Protocolo usado na Internet que define como as
fundada em 1911
IIS: "Internet Information Server" - Servidor web da microsoft que roda em plataforma
Windows
da informação.
em Evidência Computacional
endereçamento de rede.
IPSEC: "IP Security" - Um conjunto de protocolos desenvolvidos pelo IETF para suportar
IrcII: Éum cliente de IRC e ICB que funciona na maioria das plataformas UNIX
IRC: "Internet Relay Chat" - Sistema de conversas informais via escrita em meio
eletrônico.
JPG: "Joint Photographic Experts Group" - Formato de imagem com compressão baseada
em cores
kerberos: Sistema de autenticação para comunicação entre dois pontos através de uma
LDE: "Linux Disk Editor" - Editor GNU de disco para Linux, originalmente escrito para
arquivos únicos
modificação e deleção
computador é inicializado, que procura pela tabela de partições para determinar que partição usar
para a inicialização.
MRTG: multi router traffic grapher - Sistema gráfico de representação de tráfego de rede.
código aberto, "server-side" para criação de scripts em conjunto com HTML usada para criação
Prompt: Símbolo para indicar queo computador está pronto aguardando uma entrada de
dados ou commandos.
periféricos e impressoras..
SMTP: Simple Mail Transfer Protocol - Protocolo para envio de mensagem de correio
SSH - "Secure Shell" - Programa cliente-servidor de shell seguro para acesso remoto.
netscape para transmissão cifrada de páginas web com criptografia assimétrica, com uso de
ssldump is an SSLv3/TLS
Evidencia Digital
Tcpdstat:
TCT: The Coroner's Toolkit - O kit do agente funerário, nas verdade um kit de programas
70.
WIDZ: Wireless IDS - Sistema de detecção de intrusão para rede sem fio.
zz: "zombie zapper kills DDoS zombies" - Programa que elimina zumbis de ataque
distribuído
http://www.ascld.org/accreditation.html
http://www.ultrasoftware.net/viruslist/info.asp?id=trojan
http://www.auscert.org.au/
CERT® Advisory CA-2001-19 "Code Red" Worm Exploiting Buffer Overflow In IIS Indexing
http://www.cert.org/advisories/CA-2001-23.html
http://www.microsoft.com/technet/itsolutions/security/tools/iis5chk.asp
Computer Forensics and Forensic Computing - Computer Forensics Expert - Judd Robbins -
http://knock-knock.com/expert/forensic.htm
http://www.forensics.nl/filesystems
Detalhes completes a respeito do "Code Red" - ANALYSIS: .ida "Code Red" Worm -
http://www.eeye.com/html/Research/Advisories/AL20010717.html
http://www.webopedia.com/TERM/T/Trojan_horse.html
Digital Evidence: Standards and Principles - Scientific Working Group on Digital Evidence
http://www.fbi.gov/hq/lab/fsc/backissu/april2000/swgde.htm
Digital Evidence: Standards and Principles, by SWGDE and IOCE (Forensic Science
http://www.ioce.org/2002/G8%20Proposed%20principles%20for%20forensic%20evidence.pdf
http://www.windowsecurity.com/articles/Alternate_Data_Streams.html
http://www.agilerm.net/webmedia.php
http://www.pcstats.com/articleview.cfm?articleID=1139
Marcelo Abdalla dos Reis e Paulo Lúcio de Geus da Universidade Estadual de Campinas
http://www.win2000mag.com/Authors/AuthorID/76/76.html
http://www.win2000mag.com/Article/ArticleID/15720/15720.html
http://www.win2000mag.com/Article/ArticleID/15719/15719.html
http://www.win2000mag.com/Windows/Articles/ArticleID/15900/pg/1/1.html
Microsoft security bulletin for the .ida hole (Boletim da Microsoft sobre o furo de segurança do
.ida) -
http://www.microsoft.com/technet/treeview/default.asp?url=/technet/security/bulletin/MS01-
033.asp
http://www.nipc.gov/cybernotes/cyber2002.htm
http://viry.bonusweb.cz/kniha_o_virech/ntfs.html
http://www.pcguide.com/ref/hdd/file/ntfs/index.htm
http://www.pcguide.com/ref/hdd/file/ntfs/archMFT-c.html
PostgreSQL - http://www.postgresql.org/
Recovering and Examining Computer Forensic Evidence - October 2000 Volume 2 Number 4
http://www.fbi.gov/hq/lab/fsc/backissu/oct2000/computer.htm
undelete.com/
http://www.securityfocus.com/infocus/1653
TCPDump - http://www.tcpdump.org/
US CERT - http://www.us-cert.gov/
What Forensic Analysts should know about NT ALTERNATE DATA STREAMS (ADS) -
http://www.dmares.com/maresware/articles/ads.htm
Who is SWGDE and what is the history? - SWGDE_History.pdf, Mark M. Pollitt, 22/01/2003
http://search.winnetmag.com/query.html?col=windows&ht=0&qp=windows%3A1&qs=&qc=&p
w=100%25&ws=0&la=en&st=1&nh=10&lk=1&rf=0&rq=1&fs=&si=1&oq=&qt=forensics
improvement/implementations/i046.03.html
Caso de exemplo com linhas gerais dos passos aplicados em apresentação deste trabalho.
O ambiente de "shell forense" foi escolhido, para permitir a guarda do histórico dos comandos e
respostas dos comandos utilizadas.
Para usar este ambiente de shell forense no "KNOPPIX Linux", foi utilizado:
### Botão direito > forensics > forensics shell
Foi utilizado o utilitário kbdconfig que possui uma interface simples para configurar o teclado do
sistema conforme o teclado utilizado:
# kbdconfig
> portuguese
> pt-latin1
Foi criado o diretório de nome "el" na partição em memória /ramdisk para ser usado pelo
"Evidence Locker" do Autopsy.
# mkdir /ramdisk/el
A prova agora já devidamente identificada e copiada, foi lacrada e guardada em local seguro
iniciando uma cadeia de custódia para a mesma.
A URL apresentada na inicialização, foi selcionada para copiar para a área de transferência;
No navegador Mozilla foi acesada a URL para fazer uso do Autopsy via navegador.
A partir daí, houveram demonstrações de como o programa Autopsy funciona de diversas formas
para investigação dos dados encontrados, inclusive arquivos já anteriormente apagados e os
conteúdos de dados de arquivos apagados contidos na imagem examinada, a qual corresponde a
uma cópia fidedigna da prova original.
aide-0.10\doc\manual.html
O que é o AIDE?
arquivo, incluindo: permissões, número de inode, usuário, grupo, tamanho do arquivo, mtime
(alteração), ctime (criação) e atime (acesso), "growing size" e número de links. O AIDE também
combinação de um ou mais dos seguintes algorítimos: sha1, md5, rmd160, tiger (crc32, haval e
sistema novo antes de colocá-lo em rede. Este primeiro banco de dados do AIDE é uma
subseqüentes e mudanças serão medidas. O banco de dados deve conter informação sobre os
arquivos binários chave do sistema, bibliotecas, arquivos "headers" e todos os arquivos que são
precisa conter informações sobre arquivos que freqüentemente alterados como arquivos de log,
temporários.
examinar o sistema através de ferramentas como "ls", "ps", "netstast" e "who", que são as
ferramentas mais comumente substituídas por cavalos de tróia. Suponha-se que o "ls" alterado
pelo atacante tenha um filtro para não exibir nenhum arquivo chamado "sniffedpackets.log", que
seria o nome que o atacante escolheu para um arquivo onde guarda o conteúdo dos pacotes
capturador por seu "sniffer", e que o "ps" e o "netstat" tenham sido re-escritos para não mostrar
tamanhos dos arquivos de sistemas não terá certeza de que os arquivos chave do sistema não
foram modificados de alguma forma ao efetuar uma comparação. As datas e tamanhos dos
arquivos podem ser manipulados, inclusive alguns "root-kits" melhores tornam isso trivial.
identificar mudanças em arquivos chave e ter um nível altíssimo de confiança quanto à precisão
dos resultados.
Infelizmente o AIDE não pode prover certeza absoluta a respeito de mudança nos
arquivos. Assim como os arquivos do sistema, os binários do AIDE podem ser alterados.
Compilando o AIDE
# ./configure
# make
# make install
http://www.gnu.org/sofware/gcc/gcc.html
http://www.postgresql.org/
Uma vez que se tenha o código fonte do AIDE deve-se descompatá-lo. Tendo o "GNU
Configuração da compilação
Em seguida, você deve configurar o "script" encontrado no código fonte do AIDE para
disponíveis com o comando "# ./configure --help". A maioria das vezes não é necessário dar
regexp". Em sistemas operacionais nos quais há um implementação com bug do regexp deve ser
Se for alterado o diretório onde o AIDE está instalado, deve-se usar a opção --prefix. Por
Compilação e instalação
"make install" para instalar os binários e as páginas de manual. Os binários devem ser instalados
dados também devem ser guardados em algum lugar onde um possível invasor não possa alterá-
los.
Configuração
na página de manual do "aide.conf". Aqui estão alguns poucos indicadores para o que se procura.
- Linhas de seleção - indicam que arquivos vão ser adicionados ao banco de dados
configuração;
- Linhas iniciadas com # (buffer - jogo da velha) são ignoradas como sendo comentários.
#*****
#AIDE conf
# Here are all the things we can check - these are the default rules
#p: permissions
#i: inode
#u: user
#g: group
#s: size
#m: mtime
#a: atime
#c: ctime
#R: p+i+n+u+g+s+m+c+md5
#L: p+i+n+u+g
# You can alse create custom rules - my home made rule definition goes like this
MyRule = p+i+n+u+g+s+b+m+c+md5+sha1
/etc p+i+u+g #check only permissions, inode, user and group for etc
/sbin MyRule # apply the same custom rule to the files in sbin
/var MyRule
Aqui foram incluídos os arquivos em /etc, /bin e /sbin. E também foi incluído o /var, mas
idéia ignorar diretórios que mudam freqüentemente, ao menos que você queira ler longos
relatórios. É uma boa prática excluir diretórios de arquivos temporários, mail spools, diretórios de
log, sistemas de arquivos "proc", diretórios de usuários, diretórios com conteúdo par aa web, tudo
o que muda regularmente. É uma boa prática incluir todos os binários de sistema, bibliotecas,
arquivos "include" e arquivos de códigos fonte de sistema. Também será uma boa idéia incluir
diretórios que você normalmente não monitora como /dev /usr/man/.*usr/. Claro que você não vai
querer incluir muitos arquivos por questão de praticidade, mas pense a respeito do que você deve
incluir. Por exemplo, se você tem um bloco do dispositivo (block device) o qual o proprietário
sempre altera você pode apenas gravar os atributos que normalmente não mudar (inode,número
de links,ctime). Note que se você está se referindo a um arquivo específico, você deve adicionar
um $ (cifrão) ao final da expressão regular (regexp). Assim, a expressão regular vai checar o
nome do arquivo exatamente e não vai incluir quaisquer outros arquivos que tem o mesmo início.
Por exemplo, se não houvesse um sinal de cifrão no final da linha, significaria que todos os
arquivos com nome começando com /var/adm/utmp seriam ignorados. Assim, um atacante
Fazer um arquivo de configuração é bastante trabalhoso e deve ser feito caso a caso. Esta
seção mostra algumas dicas sobre como depurar o seu arquivo de configuração.
Pode-se usar "aide --verbose=255" para gerar um monte de saídas de depuração para
ajudar você a ver que arquivos serão adicionados e quais serão descartados. Para realmente
entender as regras do AIDE uma sugestão é ler um bom livro sobre expressões regulares
Antes de ler esta parte, deve-se ter um conhecimento básico sobre como expressões
regulares funcionam. Há diversos bons livros sobre isto. Diversos livros de Perl tem boas
explanações sobre este assunto. É bom lembrar que o Perl tem algumas extensões para as
expressões regulares comuns. As expressões regulares são trabalhadas da mesma forma sem
Cada tipo de regra é colocado em uma lista separada de cada nó na árvore. Então nós temos um
lista de regras iguais, uma lista de seleções e uma seleção negativa de todos os nós. Estas listas
devem estar vazias. O nó no qual uma regra é colocada é determinado pela primeiro caracter
Quando o AIDE faz uma checa se uma regra combina (rule matching) ele usa o seguinte
check_node_for_match(node,filename)
check_node_for_match(nodes parent,filename)
return (info about whether this file should be added or not and how)
Armadilhas
/R
=/etc R+a
!/etc/ppp/logs
O resultado poderia ser que /etc e todos os arquivos dentro dele e dentro de /etc/ppp
exceto /etc/ppp/logs seriam adicionados ao banco de dados. Isto é perfeitamente normal. Isto
acontece porque o =/etc combina não apenas com /etc, mas também com todos os arquivos dentro
dele. Lembre-se que expressões regulares combinam exatamente com a parte à que elas se
referenciam. O resto da linha é incluída por padrão. Então, =/etc$ R+a pode ser a forma correta.
Se você não quer ter o !/etc/ppp/logs você deve obter os resultados pelos quais você está
procurando. Não há nó /etc na árvore de expressões regulares e por isso ele não é checado quando
o AIDE constrói a lista de arquivos a adcionar ao banco de dados. Mas quando você tem as regras
negativas /etc e /etc/ppp são criados e eles tem são checados quando a lsita de arquivos é gerada.
Então, o =/etc é usado para encontrar uma combinação naqueles nós e isso é bem sucedido.
/R
=/var/log/messages$ R+a
!/var/log/messages.*
não é adicionado ao banco de dados. A seguir uma forma mais correta para fazer isto:
/R
=/var/log/messages$ R+a
!/var/log/messages\.[0-9]$
incluídos ao banco de dados. Nota-se que um atacante pode camuflar um "rootkit" criando um
Uso
Primeiro deve-se criar um banco de dados diante do qual futuras checagens serão
executadas. Isto é feito imediatamente depois do sistema operacional e aplicativos terem sido
instalados e antes de a máquina ser colocada em rede. Pode-se fazer isso dando o comando "aide
--init". Isto cria um banco de dados que contém todos os arquivos que foram selecionados em seu
arquivo de configuração. O novo banco de dados criado deve ser movido para um local seguro tal
como uma mídia apenas para leitura (read-only). Deve-se também colocar o arquivo de
naquela mídia também. Por favor, lembre-se de editar o arquivo de configuração para que o
banco de dados de entrada (input) seja lido a partir daquela mídia apenas para leitura (read-only).
O arquivo de configuração não deve ser guardado na máquina alvo. O atacante pode ler o arquivo
de configuração e alterá-lo ou mesmo sem altera-lo poderá colocar o seu "rootkit" em um lugar
Pode-se agora checar a integridade dos arquivos. Isto pode ser feito dando o comando
"aide --check". O AIDE agora lê o banco de dados e compara-o aos arquivos encontrados no
disco. O AIDE poderá encontrar mudanças em lugares inesperados. Por exemplo, os dispositivos
configuração podem ser gerados longos relatórios, o que pode ser uma opção pessoal, mas
certamente não será a escolha para maioria que não tem tempo ou a inclinação para ler toneladas
de lixo todo dia. Então, deve-se refinar o arquivo de configuração para incluir apenas os arquivos
e atributos de certos arquivos que não devem mudar. Mas tenha em mente que não se pode
ignorar tanto que deixe abertura para um ataque. Um atacante pode colocar um "rootkit" em um
diretório que você ignorou completamente. Um bom exemplo é o /var/spool/lp ou algum outro
similar. Este é o lugar que o "lp daemon" guarda o seus arquivos temporários. Ele não deve ser
ignorado totalmente, entretanto, deve-se ignorar os formatos de arquivos que o seu "lp daemon"
cria. Usa-se o símbolo $ no final das expressões regulares. Isto impede alguém de criar um
Agora foi refinado o arquivo de configuração deve-se atualizar o banco de dados e isto
pode ser feito pelo comando "aide --update". O comando de atualização (update) faz a mesma
coisa da checagem, mas também cria um novo banco de dados. Este banco de dados deve agora
ser colocado naquela mídia apenas para leitura (read-only) juntamente com o novo arquivo de
que devem fazer isso diariamente após cada checagem. Outros podem achar que devem fazer isso
semanalmente.
Há usualmente alguns desvios nos bancos de dados, que significa que novos arquivos são
até que os relatórios tornam-se impraticáveis de serem lidos. Isto pode ser evitado atualizando o
banco de dados de vez em quando. Mas, o banco de dados de entrada(input) não precisa ser
alterado com tanta freqüência. A substituição do dados de entrada(input) deve ser feita sempre de
Há também um caminho alternativo de fazer isso. Este método pode ser preferido pelas
pessoas que tem várias máquinas que rodam AIDE. Pode-se executar "aide --init" em todas as
máquinas e mover os bancos de dados gerados para um host central onde comparam-se diferentes
versões dos bancos de dados com "aide --compare". Esta forma tem o benefício de liberar
Miscelânea
O banco de dados AIDE pode ser usado para encontrar os nomes reais e localização de
3. Nada é seguro
# fim