Você está na página 1de 110

Its specialization in FOSS solutions

"Free and Open Source Software"


1

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -1

Aviso
Este material foi desenvolvido como o objetivo de ser um apoio no estudo da disciplina de Segurana de Redes Linux/Unix utilizando ferramentas FOSS (Free and Open Source Software), mas em momento algum uma referncia definitiva, dessa forma as bibliografias indicadas so base para uma formao solida e coesa. Sendo relevante destacar que o Modelo Software Livre tem como princpio a segurana fundamentada na transparncia do cdigo aberto que pode ser auditado e questionado a qualquer momento. Cdigos fruto de pesquisa que na sua maioria so oriundos em

centros de pesquisas de Universidade dos quatro cantos do planeta.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -2

Prof. Sandro Melo


sandro@4nix.com.br

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -3

(Escovando bits, garimpando bytes em busca de evidncias e Artefatos em um Sistema GNU-Linux)


verso Tutorial
4

FORENSE ANALYSIS

PORT MORTEM

HAND ON

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -4

Conceitos Iniciais

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -5

de o tes C en cid a In na sta ura com po eg es se S R ren Fo o vre Li t a pu are m otw Co S

s: ito ce n

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -6

Prevenir o melhor remdio. Resposta a Incidentes Quando o pior j aconteceu o que resta mitigar. Computao Forense
7

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -7

INVESTIGAO DIGITAL

Procedimento em que se desenvolvem e se testam hipteses para comprovar se elas suportam ou desmentem os indcios que se materializam no meio digital.

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -8

FORENSE DIGITAL
Vincula cincia investigao. e/ou tecnologia de computao

Apropriao da INVESTIGAO DIGITAL para confirmar fatos ou evidncias capazes de apoiar decises judiciais.

FORENSE DIGITAL

INVESTIGA O DIGITAL

APARATO LEGAL

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -9

COMPUTAO FORENSE
Ramo relativamente novo da Cincia da Computao no campo da segurana digital, destinada a apoiar julgamentos de crimes. Regula a investigao metodologia cientfica. digital por meio da

Cuida da consistncia da apurao, visando promover suas evidncias provas legais, passveis
de aceitao pelo jri.

10

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -10

PERCIA FORENSE DIGITAL


Percia: investigao, pesquisa, exame atento; coleta de vestgios, anlise de evidncias. Forense: relativo ao foro, tribunal, local onde se processam as aes do poder judicirio. Digital: mtodo de codificao de informaes baseado em nmeros ou dgitos

11

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -11

ASSIMILAO DO PROCESSO
Ao tomar conhecimento dos procedimentos de uma anlise forense, o administrador tende a adotar todo o ritual da Percia Forense para responder a qualquer incidente, mesmo que seu desdobramento, a princpio, no demande a formalizao de provas visando a uma ao legal.

12

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -12

ONDE SE APLICA?
Em ocorrncias do meio eletrnico, em sua maioria via Internet, para: Provar fatos; Combater pedofilia; Combater fraudes financeiras; Identificar espionagem industrial; Sustentar atos de demisso ou quebra de contrato; Comprovar violao de polticas da corporao; Comprovar autoria de invaso de privacidade; Ajudar na recuperao dos dados;
13

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -13

PRINCPIO DE LOCARD

Qualquer indivduo ou coisa que entra no cenrio de um crime, ao sair do mesmo, leva e deixa alguma coisa no local.

14

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -14

LINUX E FOSS
Os Sistemas Operacionais LINUX e FreeBSD so as plataformas mais utilizadas por Peritos Forenses, por: Suportar vrios sistemas de arquivos; No contaminar as evidncias; Criar ambiente para anlise dinamica de artefados Proporcionar total controle sobre a investigao Disponibilizar ferramentas FOSS (Free and Open Source Software);
15

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -15

PRINCPIOS FORENSES

Registrar tudo Analisar todas as evidncias coletadas Relatar tudo o que encontrar Minimizar perda de dados

16

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -16

PRINCPIOS FORENSES

Registrar tudo Analisar todas as evidncias coletadas Relatar tudo o que encontrar Minimizar perda de dados

17

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -17

PROCESSO DE RESPOSTA A INCIDENTE

Implementao de medidas de segurana; estratgias de resoluo e recuperao

Preparao pr-incidente

Deteco

Resposta

Reconstruo

Relatrio Final

Percia Computacional Forense Coleta de Artefatos Anlise de Artefatos

18

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -18

1a Camada - Fisica

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -19

Relao dos Dados Percias Coletados

Post Mortem Anlise Live Anlise Network Anlise

20

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -20

Mdias

Volatilidade vs Tempo de Vida


NETWORK FORENSE Disco Rgido nos ativos de Rede Anlise Post Mortem Estado do S.O. Anlise In Vivo Memria RAM Trfego da Rede NETWORK FORENSE

Tempo de Vida

Memria de perifricos Registradores Cache

Nvel Volatilidade

Volatilidade vs Tempo de Vida


Tempo de Vida
Forense Post Mortem Mdias Disco Rgido Estado do S.O. Memria RAM Forense In Vivo Trfego da Rede Memria de perifricos Registradores Cache Forense de Rede

Nvel Volatilidade

Network Forensic
Coleta da Evidncias Network Forensic Analysis Informaes de atividade de rede levantadas na Live Forensic Levantamento de informaes de outros ativos de rede

Anlise de Logs e correlao. Encaminhamento dos Artefatos e informaes para Post Mortem Forensic Anlise de arquivos PCAP (IDS / HoneyPot) Recuperao de Artefatos

Post Mortem Anlise


Coleta da Evidncias Live Forensic Analysis Network Forensic Analysis Anlise do Disco Rgido (Atuando nas 5 camdas) Criao da Timeline

Anlise do Sistema de Arquivos

Elaborao do Laudo Pericial

Anlise de Artefatos Anlise Esttica Anlise Dinmica

Identificao de Potencias Artefatos

Anlise Inicial do Sistema


possvel realizar vrios tipos de testes com o objetivo buscar evidncias e artefatos relacionado ao Incidente de Segurana que est sendo Investigado. Ter o conhecimento do Modus Operandi do invasor auxilia ao Perito Forense Computacional em sua atividade, formas diferentes e furtivas de agir sempre sero um desafio.

25

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -25

Anlise Inicial do Sistema Pesando o Modus Operandi tradicional de invasores com conhecimento tcnico no to arrojados aps ganhar acesso, normalmente consiste em aes que motivam a gerao de evidncias.

26

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -26

Post Mortem Correlacionamento

Correlao Live Forensic

Correlao Net Forensic

Anlise em 5 camadas

Anlise de Strings do HD
27

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -27

Mapa de Bytes
A gerao de um arquivo de strings da imagem como passo inicial pode permitir identificar informaes relevantes.

# strings -a imagem.img | tee imagem.img.strings


O uso de Regex ser um mecanismo fundamental para o tratamento do arquivo de strings, dessa forma o uso de ferramentas como GREP, EGREP, GLARK
28

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -28

Strings vs Regex grep -itar\.gz$ imagem.string egrep --regexp=\.tgz|\.zip|\.bz2|\.rar|\.c imagem.string

29

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -29

Strings vs Regex grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9] {1,3}" imagem.string grep -i "\/exploit\/" imagem.string grep -i "\/exploits\/" imagem.string grep -i "rootkit\/" imagem.string grep -i "\/\.\.\ " imagem.string

30

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -30

Strings vs Regex grep -i "\/bk\/" imagem.string grep -i "xpl" imagem.string grep -i "force" imagem.string grep "\/\.\.\.\/" imagem.string grep "SSH_CLIENT=" imagem.string

31

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -31

Strings em lote
Uma forma prtica seria a gerao de um arquivo com todas a expresses regulares e palavras chaves para automitizar a pesquisa.
# cat imagem.img.strings | grep -i -f arq.txt # cat imagem.img.strings | egrep -i color -f arq.txt # cat imagem.img.strings | grark -N -i -f arq.txt

32

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -32

Informaes uteis da Live Forensic

Informaes teis que na maioria das situaes j foram coletadas durante a Forense in Vivo (Live Forensic). # cat /proc/partitions # cat /proc/meminfo # cat /proc/cpuinfo # hdparm -i /dev/hda # hdparm -I /dev/hda

33

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -33

(Anlise de informaes do Disco e/ou Imagem)


34

em Camadas

Anlise

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -34

As 5 camadas
Camada dos Arquivos Camada de Metadados Camada do Sistema de Arquivos Camada de Dados Camada Fsica

Anlise da informaes Arquivo (identificao Artefatos)

de de

Informaes extrada da tabela de INODE Informaes especficas de arquivos e diretrios Informaes da estrutura de setor de boot, particionamento, tipo sistema de arquivos, Disco Rgido (idenficao do Hardware)
35

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -35

(Anlise de nformaes do Disco e/ou Imagem)

Camada Fsica

1a Camada - Fisica

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -36

Camada Fsica Momento onde o Perito deve reunir e documentar informaes sobre os dispositivos de armazenamento de dados relacionados, como: Disco rgido (modelo / fabricante / Serial) Mdia removiveis (floppy, Pen, Zip).

1a Camada - Fisica

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -37

(Anlise de informaes do setor de Boot e de Particionamento)

Camada de Dados

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -38

Camada de Dados No momento que feita a coleta bit a bit dos dispositivos de armazenamento dado o primeiro passo para esta fase da anlise. Consiste na verificao integridade das imanges geradas, verificando informaes de particionamento e estruturas de Sistema de arquivos.
2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -39

Ferramentas teis
disk_stat informaes bsicas do disco fdisk - informaes de particionamento sfdisk - informaes de particionamento testdisk possibilita alm de consultar, recuperar estrutura de particionamento de um disco ou imagem img_stat possibilita visualizar informaes do tamanho da imagem mmstat informaes bsicas de uma imagem mmls informaes da estrutura da imagem

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -40

Ferramentas teis
scsiinfo informaes de dispositivos scsi disktype informaes genricas de um disco rigido file possibilita tambm estrutura do disco rigido extrair informaes da

Mount e losetup possibilitam manipulao de imagens de mdias.

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -41

Exemplo de Uso do FILE

file -s /dev/sda /dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 address 0x2000, stage2 segment 0x200; partition 1: ID=0x83, active, starthead 1, startsector 63, 8384512 sectors; partition 2: ID=0x8e, starthead 0, startsector 8385930, 147910455 sectors, code offset 0x48

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -42

#lshw c4ri0c4.locaweb.com.br description: Desktop Computer product: System Product Name vendor: System manufacturer version: System Version serial: System Serial Number width: 32 bits capabilities: smbios-2.3 dmi-2.3 smp-1.4 smp configuration: boot=normal chassis=desktop cpus=2 uuid=18F67DE5-B7FED511-A9F8-E16BAE8F0FD3 *-core description: Motherboard product: P5PE-VM vendor: ASUSTeK Computer Inc. physical id: 0 version: Rev 1.00 serial: MB-1234567890
2a Camada - DADOS

Exemplo de Uso do LSHW

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -43

Exemplo de Uso do DISK_STAT

disk_stat /dev/sda Maximum Disk Sector: 156301487 Maximum User Sector: 156301487 0 0 0 Empty

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -44

Exemplo de Disco SCSI

# cat /proc/scsi/scsi Attached devices: Host: scsi0 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST380013AS Rev: 3.18 Type: Direct-Access ANSI SCSI revision: 05 Host: scsi1 Channel: 00 Id: 00 Lun: 00 Vendor: ATA Model: ST380013AS Rev: 3.18 Type: Direct-Access ANSI SCSI revision: 05

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -45

Exemplo de Uso do SCSIINFO


scsiinfo -a /dev/sda Scsiinfo version 1.7(eowmob) Inquiry command --------------Relative Address Wide bus 32 Wide bus 16 Synchronous neg. ................... .................... Vendor: Product: Revision level:

0 0 0 0 ATA ST380211AS 3.AA

Serial Number ' 5PS0GVN0' Unable to read Rigid Disk Geometry Page 04h Data from Caching Page

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -46

Informaes de Particionamento
Em primeiro lugar deve se fazer uma anlise de como est a estrutura de parties da imagem que ser investigada no que tange as informaes de particionamento utilizando o comando fdisk. # fdisk -lu image.img # sfdisk -luS image.img
2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -47

Exemplo de Uso do FDISK


fdisk -lu /dev/sda Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0xcb0acb0a Device Boot Start End Blocks Id System /dev/sda1 * 63 8384574 4192256 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 8385930 156296384 73955227+ 8e Linux LVM

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -48

Exemplo de Uso do FDISK


fdisk -lu HD_coleta.img read failed: Inappropriate ioctl for device You must set cylinders. You can do this from the extra functions menu. Disk HD_coleta.img: 0 MB, 0 bytes 16 heads, 63 sectors/track, 0 cylinders, total 0 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System HD_coleta.img1 * 63 72575 36256+ 83 Linux HD_coleta.img2 72576 2116799 1022112 5 Extended Partition 2 has different physical/logical endings: phys=(1023, 15, 63) logical=(2099, 15, 63) HD_coleta.img5 72639 278207 102784+ 83 Linux HD_coleta.img6 278271 410255 65992+ 82 Linux swap / Solaris HD_coleta.img7 410319 513071 51376+ 83 Linux HD_coleta.img8 513135 2116799 801832+ 83 Linux
2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -49

Exemplo de Uso do FDISK


fdisk -lu /dev/sda Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors Units = sectors of 1 * 512 = 512 bytes Disk identifier: 0xcb0acb0a Device Boot Start End Blocks Id System /dev/sda1 * 63 8384574 4192256 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 8385930 156296384 73955227+ 8e Linux LVM

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -50

Exemplo de Uso do SFDISK

# sfdisk -luS /dev/sda Disk /dev/sda: 9729 cylinders, 255 heads, 63 sectors/track Units = sectors of 512 bytes, counting from 0 Device Boot Start End #sectors Id System /dev/sda1 * 63 8384574 8384512 83 Linux /dev/sda2 8385930 156296384 147910455 8e Linux LVM /dev/sda3 0 0 0 Empty /dev/sda4 0 0 0 Empty

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -51

Exemplo de Uso do MMLS


# mmls /dev/sda DOS Partition Table Offset Sector: 0 Units are in 512-byte sectors Slot Start End Length Description 00: Meta 0000000000 0000000000 0000000001 Primary Table (#0) 01: ----- 0000000000 0000000062 0000000063 Unallocated 02: 00:00 0000000063 0008384574 0008384512 Linux (0x83) 03: ----- 0008384575 0008385929 0000001355 Unallocated 04: 00:01 0008385930 0156296384 0147910455 Linux Logical Volume Manager (0x8e) 05: ----- 0156296385 0156301487 0000005103 Unallocated
2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -52

mmls HD_coleta.img DOS Partition Table Offset Sector: 0 Units are in 512-byte sectors

Exemplo de Uso do MMLS

Slot Start End Length Description 00: Meta 0000000000 0000000000 0000000001 Primary Table (#0) 01: ----- 0000000000 0000000062 0000000063 Unallocated 02: 00:00 0000000063 0000072575 0000072513 Linux (0x83) 03: Meta 0000072576 0002116799 0002044224 DOS Extended (0x05) 04: Meta 0000072576 0000072576 0000000001 Extended Table (#1) 05: ----- 0000072576 0000072638 0000000063 Unallocated 06: 01:00 0000072639 0000278207 0000205569 Linux (0x83) 07: 01:01 0000278208 0000410255 0000132048 DOS Extended (0x05) 08: Meta 0000278208 0000278208 0000000001 Extended Table (#2) 09: 02:00 0000278271 0000410255 0000131985 Linux Swap / Solaris x86 (0x82) 10: 02:01 0000410256 0000513071 0000102816 DOS Extended (0x05) 11: Meta 0000410256 0000410256 0000000001 Extended Table (#3) 12: 03:00 0000410319 0000513071 0000102753 Linux (0x83) 13: 03:01 0000513072 0002116799 0001603728 DOS Extended (0x05) 14: Meta 0000513072 0000513072 0000000001 Extended Table (#4) 15: 04:00 0000513135 0002116799 0001603665 Linux (0x83) 16: ----- 0002116800 0002748977 0000632178 Unallocated 2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -53

Exemplo de Uso do MMLS


# mmls /dev/sda DOS Partition Table Offset Sector: 0 Units are in 512-byte sectors Slot Start End Length Description 00: Meta 0000000000 0000000000 0000000001 Primary Table (#0) 01: ----- 0000000000 0000000062 0000000063 Unallocated 02: 00:00 0000000063 0008384574 0008384512 Linux (0x83) 03: ----- 0008384575 0008385929 0000001355 Unallocated 04: 00:01 0008385930 0156296384 0147910455 Linux Logical Volume Manager (0x8e) 05: ----- 0156296385 0156301487 0000005103 Unallocated
2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -54

Exemplo de Uso do DISKTYPE


# disktype /dev/sda --- /dev/sda Block device, size 74.53 GiB (80026361856 bytes) GRUB boot loader, compat version 3.2, boot drive 0xff DOS/MBR partition map Partition 1: 3.998 GiB (4292870144 bytes, 8384512 sectors from 63, bootable) Type 0x83 (Linux) Ext3 file system UUID 0A40FE81-CD61-452B-91F5-0FDA1F2EAB50 (DCE, v4) Volume size 3.998 GiB (4292870144 bytes, 1048064 blocks of 4 KiB) Partition 2: 70.53 GiB (75730152960 bytes, 147910455 sectors from 8385930) Type 0x8E (Linux LVM) Linux LVM2 volume, version 001 LABELONE label at sector 1 PV UUID 0BV3m3-qoZM-Zgrb-gw38-Mdbr-QcMX-x32Q6U Volume size 70.53 GiB (75730152960 bytes) Meta-data version 1
2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -55

Exemplo de Uso do FILE

file -s /dev/sda /dev/sda: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, stage2 address 0x2000, stage2 segment 0x200; partition 1: ID=0x83, active, starthead 1, startsector 63, 8384512 sectors; partition 2: ID=0x8e, starthead 0, startsector 8385930, 147910455 sectors, code offset 0x48

2a Camada - DADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -56

Camada de

(Anlise de nformaes a estrutura de arquivos utilizada)


3a Camada SISTEMA DE ARQUIVOS

Sistema de Arquivos

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -57

Ferramentas para Sistema de Arquivo fsstat informaes estatticas organizada a partio de como est

jcat - informaes de um sistema de arquivo journaling jls - lista informaes da estrutura do journaling.

3a Camada SISTEMA DE ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -58

Exemplo de Uso do FSSTAT


# fsstat imagem.img FILE SYSTEM INFORMATION -------------------------------------------File System Type: Ext3 Volume Name: / Volume ID: ef3c387a7bc4ac9fdb1140dcec080dae Last Written at: Wed Mar 28 11:37:26 2007 Last Checked at: Tue Mar 27 05:53:49 2007 Last Mounted at: Wed Mar 28 11:37:26 2007 Unmounted properly Last mounted on: Source OS: Linux Dynamic Structure Compat Features: Journal, InCompat Features: Filetype, Needs Recovery, Read Only Compat Features: Sparse Super,
3a Camada SISTEMA DE ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -59

Exemplo de Uso do JCAT

# jcat -f ext tambaquicorp.img 3001 = .?? ..?? km3xsadan.sh> sadan.sh.1?


-----

3a Camada SISTEMA DE ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -60

Exemplo de Uso do JLS


# jls -f ext tambaquicorp.img | tail -n 10 4086:Allocated FS Block 164013 4087:Allocated FS Block 163957 4088:Allocated FS Block 163962 4089:Allocated FS Block 105 4090:Allocated FS Block 131115 4091:Allocated FS Block 163860 4092:Allocated FS Block 65572 4093:Allocated FS Block 65576 4094:Allocated FS Block 65584 4095:Allocated FS Block 65589
3a Camada SISTEMA DE ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -61

(Anlise de nformaes extradas da Tabela de Inode Metadados do Sistema de Arquivos)


4a Camada - METADADOS

Camada de Metadados

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -62

dqcd

Camada Metadados Um vez que tenhamos acesso ao sistema de arquivos, inicia a busca por informaes de arquivos j acessados ou mesmo inseridos no sistema. Buscando evidncias relacionadas ao incidente. Tratar informaes de metadados uma ao importante para buscar estas informaes
4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -63

dqcd

Ferramentas para Metadados ils informaes gerais de Inode. icat - permite a cpia de arquivos a partir de endereamento de Inode. istat possibilita estruturais de Inode. ifind Inode mostrar informaes

busca informaes de estruturas de

mactime permite gerar timeline a partir da informaes de Metadados (inode).


4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -64

dqcd

Metadados e Dados dstat Mostra informaes estticas de bloco de dados. dls - Permite listar informaes alocadas, no alocadas e slackspace. de reas

dcat Lista informaes de blocos de dados. dcalc trata informaes de rea no alocadas.

4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -65

dqcd

Timeline Linha do tempo do Imagem


Realizar uma anlise dos horrios dos arquivos: MAC time (Modified, Accessed, Created/changed) Quando o sistema operacional foi instalado Quando a maioria das atualizaes foram realizadas Quando o sistema foi utilizado pela ltima vez Incluir qualquer outro detalhe que possa estar relacionado com a utilizao do sistema

4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -66

dqcd

Gerando Timeline com Sleuthkit


Criando uma linha do tempo da imagem # fls -alrpm / imagem.img | tee body # mactime -b body Criando uma timeline de um perodo definido # fls -alrpm / imagem.img | mactime -z GMT-3 01/01/2000 01/01/2009 | tee timeline.txt

4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -67

dqcd

Gerando Timeline com Sleuthkit


Criando uma linha do tempo da imagem montada # mount imagem /media/imagem loop,noexec,nodev,noatime,ro -o

# fls -alrpm /media/imagem /dev/loop0 | mactime -z GMT-3 01/01/1970 09/08/2007 | tee timeline.txt

4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -68

dqcd

Gerando Timeline com Sleuthkit


Criando uma linha do tempo da imagem de um intervalo de tempo definido: # fls -alrpm imagem.img | mactime -z GMT-3 01/01/2006 09/08/2007 | tee timeline.txt

4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -69

dqcd

Pesquisando Metadados
Exemplificando a anlise, a imagem em busca de informaes sobre as reas alocadas e na sequncia a criao um arquivo de strings: # dls -a -f ext imagem.img > imagem.img.dls # strings -a imagem.img.dls > imagem.img.dls.alocadas.strings # less imagem.img.dls.alocadas.strings

4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -70

dqcd

Pesquisando Metadados
Exemplificando a anlise, a imagem em busca de informaes sobre as reas no alocadas e na sequncia a criao um arquivo de strings: # dls -A -f ext imagem.img > imagem.img.dls # strings -a imagem.img.dls > imagem.img.dls.naoalocadas.strings # less imagem.img.dls.naoalocadas.strings

4a Camada - METADADOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -71

dqcd

(Anlise de nformaes dos arquivos em busca de identificao de potenciais artefatos)


5a Camada - ARQUIVOS

Camada de Arquivos

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -72

Ferramentas para Percia na Camada de Arquivos fls possibilita consultar informaes de arquivos e diretrios em uma imagem. ffind possibilita consultar informaes de arquivos e diretrios em uma imagem a partir de endereo de Inode. soter possibilita ordenar arquivos de acordo do tipo.
5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -73

Montagem de Imagem

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -74

Montando a Imagem
recomendvel que a anlise da imagem forense do disco rgido seja um processo executado com cautela, iniciando com a preparao do acesso a mdia denominado montagem. A montagem da imagem de uma partio para fins de anlise deve ser efetuada de forma que o sistema de arquivos seja para somente leitura, no tenha suporte a arquivos de dispositivos e tambm no tenha suporte a executvel
5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -75

Montando a Imagem de uma unica partio


# mount /pericia/imagem.img /img/ -t ext3 -o loop,ro,noatime,nodev,noexec # mount | tail -1 /pericia/imagem.img on /img/ type ext3 (rw,noexec,nodev,loop=/dev/loop1)

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -76

Montando a Imagem de um disco com multiplas parties


Mas para anlise de uma imagem de todo um disco rgido necessrio a utilizao do comando losetup: # losetup /dev/loop0 /imagem_hd.img

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -77

Montando um partio a partir de uma Imagem


Considero o cenario, onde deseja-se montar a 2 partio listada, considerando que o setor inicial da partio 73. Dessa forma demandado que este valro seja multiplicado por 512 para calcular o valor de offset. Expr 73 \* 51 O que resulta como valor de offset 37376

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -78

Montando um partio a partir de uma Imagem de todo um Disco


Mas para anlise de uma imagem de todo um disco rgido necessrio a utilizao do comando losetup:
# sfdisk -luS HD_coleta.img read failed: Inappropriate ioctl for device Disk HD_coleta.img: cannot get geometry Disk HD_coleta.img: 171 cylinders, 255 heads, 63 sectors/track Warning: extended partition does not start at a cylinder boundary. DOS and Linux will interpret the contents differently. Warning: The partition table looks like it was made for C/H/S=*/16/63 (instead of 171/255/63). For this listing I'll assume that geometry. Units = sectors of 512 bytes, counting from 0

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -79

Montando um partio a partir de uma Imagem


Device Boot HD.img1 * HD.img2 HD.img3 HD.img4 HD.img5 HD.img6 swap / Solaris HD.img7 HD.img8 Start 63 72576 0 0 72639 278271 410319 513135 End 72575 2116799 278207 410255 513071 2116799 #sectors Id System 72513 83 Linux 2044224 5 Extended 0 0 Empty 0 0 Empty 205569 83 Linux 131985 82 Linux 102753 1603665 83 83 Linux Linux

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -80

Montando um partio a partir de uma Imagem


# losetup -a # expr 410319 \* 512 210083328 # losetup -o 210083328 /dev/loop2 HD_coleta.img

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -81

Montando um partio a partir de uma Imagem


# df Filesystem /dev/sda2 1K-blocks Used Available Use% Mounted on

41294860 4924120 34273056 13% /

/dev/mapper/vg_ichegeki-LV_home 146166336 7445736 131295784 6% /home tmpfs 1026832 1020 1025812 1% /dev/shm

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -82

Montando um partio a partir de uma Imagem


# losetup -a /dev/loop2: [fd01]:131073 (/home/c4/DIGITAL_FORENSIC/forensic_duplic*), offset 210083328 # mount -t ext2 /dev/loop2 /media/loop0p2 -o loop # cd /media/loop0p2 # ls arpwatch cache db ftp lib local lock log lost+found mail nis opt preserve run spool tmp www yp

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -83

Montando a Imagem
Mas para anlise de uma imagem de todo um disco rgido necessrio a utilizao do comando losetup: # losetup /dev/loop0 /imagem_hd.img

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -84

O uso do comando sorter

Outra forma de recuperar arquivos seria o foremost, que faz de forma automtica uma anlise completa no Sistema de Arquivo. # losetup /dev/loop0 imagem.img sorter -f ext -l /dev/loop0

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -85

Relacionando Arquivos por TIPO Uma ao importante levantar a lista de todos os arquivos que existem na mdia analisada, tipificando-os quanto ao formato. Para essa tarefa o comando SORTER a ferramenta recomendada

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -86

Relacionando Arquivos por TIPO Uma ao importante levantar a lista de todos os arquivos que existem na mdia analisada, tipificando-os quanto ao formato. Para essa tarefa o comando SORTER a ferramenta recomendada

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -87

Busca de artefatos com FIND Buscar informaes sobre arquivos com direitos especiais de SUID e SGID que podem ser usados em malware com backdoors: # find /img/ -type f \(-perm -04000 -o -perm -02000 \) -exec ls -lg {} \;

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -88

Busca de artefatos com FIND Buscar por arquivos e diretrios que tenham nome utilizando espao em branco: # find /img/ -name "*[ ]*" ;

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -89

Busca de artefatos com FIND Identificar arquivos sem dono ou grupo definido, que podero ser arquivos instalados no sistema de forma arbitrria: # find /img/ -type f \(-nouser -nogroup \) -exec ls -ldg {} \; -o

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -90

Busca de artefatos com FIND


Buscar por arquivos e diretrios ocultos, ou seja, que iniciam com ., que em sistema Like Unix caractiza um arquivo ou diretrios como oculto. Recurso muito utilizado para buscar esconder informaes e ferramentas utilizadas por um invasor: # find /img/ -type f \( -name '.??*' -o -name '. [^.]' \) -exec ls -lg {} \;

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -91

Busca de artefatos com FIND


Muitos invasores buscam esconder informaes em diretrios do sistema destinados para dados especficos e que no so constamente acessados, um exemplo disto so diretrios como /dev e /lib: # find /img/dev/ -not -type c -not -type b ls -l

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -92

Busca de artefatos com FIND


Identificar arquivos que estejam com seu tempo de acesso ou metadados modificados aps um determinado arquivo, outro tipo de busca que deve ser realizada, pois pode possibilitar a identificao de outros potenciais artefatos: # find /img/ -anewer /img/etc/shadow ls -lha # find /img/ -cnewer /img/etc/shadow ls -lha

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -93

Busca de artefatos com FIND


Identificar arquivos que estejam com seu tempo de acesso dentro de uma determinada janela de tempo tambm um tipo de pesquisa til para identificao de artefatos, neste caso interessante pesquisa por atime e mtime: # find /img/ -atime 3 ls -lha # find /img/ -ctime 3 ls -lha # find /img/ -mtime 3 ls -lha # find /img/ -mtime 3 -or -atime 3 ls -lha
5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -94

Busca de artefatos com FIND


Identificar arquivos que estejam com seu tempo de acesso aps um determinado arquivo, outro tipo de busca que deve ser realizada, pois pode possibilitar a identificao de outros potenciais artefatos:

# find /img/ -anewer /img/etc/shadow ls -lha

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -95

Gerando Strings da Imagem


Gerandor um arquivo de strings da imagem # strings -a imagem.img | tee imagem.img.strings

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -96

Buscando Malware
Utilizar ferramentas que buscam por arquivos que identifique a instalao de rootkits no sistema. uma ferramenta interessante para esta tarefa utilizar ferramentas com chkrootkit e rkhunter para identificar sinais de comprometimento da mquina # chkrootkit -r /img/

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -97

Buscando Malware
Buscando informaes sobre Malware com rkhunter: # rkhunter check sk --rwo --rootdir img/ --createlogfile rkhunter_forensic.log Utilize o comando find na imagem montada para identificar informaes interessantes que podem ter sido criadas pelo invasor

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -98

Buscando Malware Buscando informaes sobre Malware com Clamav: # clamascan -i -r -d /resultado img/

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -99

nos Slackspaces
buscando provas nas sobras
5a Camada - ARQUIVOS

Evidncias

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -100

Periciando Slackspace
A recuperao de Slackspace simples e na prtica j ocorre quando o Perito extrai todas as strings da imagem. Mas recomendvel que seja feita uma extrao exclusiva, lembrando que uma evidncia computacional pode ser to pequena e ao mesmo tempo to significativa como os 4 bytes de um endereamento IP.

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -101

Periciando Slackspace
Organizando informao dos Slackspaces. # dls -s imagem.img | slackspace.dls # strings -a slackspace > slackspace.dls.strings

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -102

rescuperando arquivos que possam ser artefatos


5a Camada - ARQUIVOS

Percia em reas No Alocadas

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -103

Recuperao
A recuperao de arquivos uma atividade necessria em praticamente toda Post Mortem, todavia uma tarefa que demanda ferramental destinado para mesma. Felizmente no so poucas as opes para um Perito quando se trata de ferramentas livres

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -104

Ferramentas teis magicrescue em conjunto com DLS permite a recuperao de arquivos foremost - recuperao de arquivos a partir de a assinaturas. ddrescue - recuperao de arquivos a partir de uma imagem.

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -105

Recuperao
Tentando recuperar um arquivo a partir de uma imagem: a) identifique os endereos (inodes) # fls -t ext imagem.img > lista.imagem.txt # cat lista.imagem.txt b) recuperando usando icat indicado o INODE # icat imagem.img 4157 > arquivo.ppt

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -106

Recuperao com Foremost


Outra forma de recuperar arquivos seria o foremost, que faz de forma automtica uma anlise completa no Sistema de Arquivo. # foremost -c foremost.conf -i imagem.img /recovery -T -o

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -107

Recuperao com Foremost


Outra forma de recuperar arquivos seria o foremost, que faz de forma automtica uma anlise completa no Sistema de Arquivo. # foremost -c foremost.conf -i imagem.img /recovery -T -o

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -108

Recuperao com Foremost


Outra forma de recuperar arquivos seria o foremost, que faz de forma automtica uma anlise completa no Sistema de Arquivo. # foremost -c foremost.conf -i imagem.img /recovery -T -o

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -109

Recuperao com Foremost


Outra forma de recuperar arquivos seria o foremost, que faz de forma automtica uma anlise completa no Sistema de Arquivo. # foremost -c foremost.conf -i imagem.img /recovery -T -o

5a Camada - ARQUIVOS

Prof. Sandro Melo sandro@4nix.com.br -- www.4nix.com.br -110