Postmortem_Forense_TUTORIAL_PTBR_2011_V1

Share Embed Donate


Short Description

Download Postmortem_Forense_TUTORIAL_PTBR_2011_V1...

Description

Análise Inicial do Sistema

É possível realizar vários tipos de testes com o objetivo buscar evidências e artefatos relacionado ao Incidente de Segurança 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 serão um desafio.

27

Análise Inicial do Sistema

Pesando o Modus Operandi tradicional de invasores com conhecimento técnico não tão arrojados após ganhar acesso, normalmente consiste em ações que motivam a geração de evidências.

28

Aviso Este material foi desenvolvido como o objetivo de ser um apoio no  estudo da disciplina de Segurança de Redes Linux/Unix utilizando  ferramentas FOSS (Free and Open Source Software), mas em  momento algum é uma referência definitiva, dessa forma as  bibliografias indicadas são base base para uma uma formação formação solida solida e coesa. Sendo relevante destacar que o Modelo Software Livre tem como    princípio a segurança fundamentada na transparência do código  aberto que pode ser auditado e questionado a qualquer momento. Códigos fruto de pesquisa

que na sua maioria são oriundos em 

centros de pesquisas de Universidade dos quatro cantos do planeta.

2

Mapa de Bytes

A geração de um arquivo de strings da imagem como passo inicial pode permitir identificar informações 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 30

Strings vs Regex

grep -i“tar\.gz$” imagem.string egrep --regexp=“\.tgz|\.zip|\.bz2|\.rar|\.c” imagem.string

31

onceitos Iniciais ” “Conceitos

5

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 32

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

33

Strings em lote

Uma forma prática seria a geração de um arquivo com todas a expressões 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

34

Informações uteis da Live Forensic

Informações úteis que na maioria das situações 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

35

nálise “Análise

em amadas ” Camadas Análise de informações do Disco (Análise /ou Imagem) e/ou 36

As 5 camadas Arquivos

Metadado Sistema de Arquivos

Análise da informações Arquivo (identificação Artefatos)

de de

Informações extraída da tabela de INODE Informações específicas de arquivos e diretórios

Dados

Informações da estrutura de setor de boot, particionamento, tipo sistema de arquivos,

Fisica

Disco Rígido (idenficação do Hardware) 37

“Camada Física ” Análise de nformações do Disco (Análise /ou Imagem) e/ou

1a Camada - Fisica

Camada Física

Momento onde o Perito deve reunir e documentar informações sobre os dispositivos de armazenamento de dados relacionados, como: Disco rígido (modelo / fabricante / Serial) Mídia removiveis (floppy, Pen, Zip).

1a Camada - Fisica

“Camada de Dados ” Análise de informações do setor (Análise setor  e Boot e de de de Particionamento)

2a Camada - DADOS

Camada de Dados

No momento que é feita a coleta bit a bit dos dispositivos de armazenamento é dado o primeiro passo para esta fase da análise. Consiste na verificação integridade das imanges geradas, verificando informações de particionamento e estruturas de Sistema de arquivos. 2a Camada - DADOS

Ferramentas Úteis

disk_stat – informações básicas do disco fdisk - informações de particionamento sfdisk - informações de particionamento testdisk – possibilita além de consultar, recuperar estrutura de particionamento de um disco ou imagem img_stat - possibilita visualizar informações do tamanho da imagem mmstat – informações básicas de uma imagem mmls – informações da estrutura da imagem 2a Camada - DADOS

Ferramentas Úteis

scsiinfo – informações de dispositivos scsi disktype – informações genéricas de um disco rigido file – possibilita também extrair informações da estrutura do disco rigido Mount e losetup – possibilitam manipulação de imagens de mídias.

2a Camada - DADOS

Attack Sophistication vs. Intruder Technical Knowledge Cross site scripting

Tools

“stealth” / advanced scanning techniques

High packet spoofing

denial of service distributed attack tools www attacks

sniffers Intruder  Knowledge

sweepers GUI

automated probes/scans

back doors network mgmt. diagnostics

disabling audits

hijacking burglaries sessions Attack Sophistication

exploiting known vulnerabilities password cracking self-replicating code

Attackers

password guessing

Low 1980

1985

 © 2001 by Carnegie Mellon University

1990

1995

2000 Intelligence - page 8

18

19

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

Exemplo de Uso do LSHW

#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 DISK_STAT

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

2a Camada - DADOS

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

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

Informações de Particionamento

Em primeiro lugar deve se fazer uma análise de como está a estrutura de partições da imagem que será investigada no que tange as informações de particionamento utilizando o comando fdisk.  # fdisk -lu image.img  # sfdisk -luS image.img 2a Camada - DADOS

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

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

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

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

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

Exemplo de Uso do MMLS

mmls HD_coleta.img 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 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

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

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

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

“Camada de

Sistema de Arquivos ” Análise de nformações a (Análise strutura de arquivos utilizada) estrutura utilizada) 3a Camada – SISTEMA DE ARQUIVOS

Ferramentas para Sistema de Arquivo

fsstat – informações estatíticas de como está organizada a partição   jcat - informações de um sistema de arquivo  journaling  jls - lista informações da estrutura do journaling.

3a Camada – SISTEMA DE ARQUIVOS

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

Exemplo de Uso do JCAT

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

3a Camada – SISTEMA DE ARQUIVOS

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

“Camada de Metadados ” Análise de nformações extraídas (Análise a Tabela de Inode da Metadados do Sistema de rquivos) Arquivos) 4a Camada - METADADOS

dqcd

Camada Metadados

Um vez que tenhamos acesso ao sistema de arquivos, inicia a busca por informações de arquivos já acessados ou mesmo inseridos no sistema. Buscando evidências relacionadas ao incidente. Tratar informações de metadados é uma ação importante para buscar estas informações 4a Camada - METADADOS

dqcd

Ferramentas para Metadados

ils – informações gerais de Inode. icat - permite a cópia de arquivos a partir de endereçamento de Inode. istat - possibilita mostrar informações estruturais de Inode. ifind – busca informações de estruturas de Inode mactime – permite gerar timeline a partir da informações de Metadados (inode). 4a Camada - METADADOS

dqcd

Metadados e Dados

dstat – Mostra informações estáticas de bloco de dados. dls - Permite listar informações de áreas alocadas, não alocadas e slackspace. dcat – Lista informações de blocos de dados. dcalc– trata informações de área não alocadas. 4a Camada - METADADOS

dqcd

Timeline – Linha do tempo do Imagem

Realizar uma análise dos horários dos arquivos: MAC time (Modified, Accessed, Created/changed) Quando o sistema operacional foi instalado Quando a maioria das atualizações foram realizadas Quando o sistema foi utilizado pela última vez Incluir qualquer outro detalhe que possa estar relacionado com a utilização do sistema 4a Camada - METADADOS

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 período definido # fls -alrpm / imagem.img | mactime -z GMT-3 01/01/2000 01/01/2009 | tee timeline.txt 4a Camada - METADADOS

dqcd

Gerando Timeline com Sleuthkit

Criando uma linha do tempo da imagem montada  

# mount imagem loop,noexec,nodev,noatime,ro

/media/imagem

-o

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

4a Camada - METADADOS

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

dqcd

Pesquisando Metadados

Exemplificando a análise, a imagem em busca de informações sobre as áreas alocadas e na sequência a criação 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

dqcd

Pesquisando Metadados

Exemplificando a análise, a imagem em busca de informações sobre as áreas “não” alocadas e na sequência a criação 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

dqcd

“Camada de Arquivos ” Análise de nformações dos (Análise rquivos em busca de arquivos dentificação de potenciais identificação rtefatos) artefatos) 5a Camada - ARQUIVOS

Ferramentas para Perícia na Camada de Arquivos

fls – possibilita consultar informações de arquivos e diretórios em uma imagem. ffind - possibilita consultar informações de arquivos e diretórios em uma imagem a partir de endereço de Inode. soter – possibilita ordenar arquivos de acordo do tipo. 5a Camada - ARQUIVOS

ontagem de Imagem ” “Montagem

5a Camada - ARQUIVOS

Montando a Imagem

É recomendável que a análise da imagem forense do disco rígido seja um processo executado com cautela, iniciando com a preparação do acesso a mídia denominado “montagem”. A montagem da imagem de uma partição para fins de análise deve ser efetuada de forma que o sistema de arquivos seja para somente leitura, não tenha suporte a arquivos de dispositivos e também não tenha suporte a executável 5a Camada - ARQUIVOS

Montando a Imagem de uma unica partição # 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

Exemplo de Uso do MMLS

mmls HD_coleta.img 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 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

Montando a Imagem de um disco com multiplas partições Mas para análise de uma imagem de todo um disco rígido é necessário a utilização do comando losetup: # losetup /dev/loop0 /imagem_hd.img

5a Camada - ARQUIVOS

Montando um partição a partir de uma Imagem Considero o cenario, onde deseja-se montar a 2 partição listada, considerando que o setor inicial da partição é 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

Montando um partição a partir de uma Imagem de todo um Disco

Mas para análise de uma imagem de todo um disco rígido é necessário a utilização 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

Montando um partição 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

End 72575 2116799 278207 410255

410319 513135

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

5a Camada - ARQUIVOS

83 83

Linux Linux

Montando um partição a partir de uma Imagem

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

5a Camada - ARQUIVOS

Montando um partição a partir de uma Imagem # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 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

Montando um partição 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

Montando a Imagem Mas para análise de uma imagem de todo um disco rígido é necessário a utilização do comando losetup: # losetup /dev/loop0 /imagem_hd.img

5a Camada - ARQUIVOS

O uso do comando sorter 

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

5a Camada - ARQUIVOS

Relacionando Arquivos por TIPO

Uma ação importante é levantar a lista de todos os arquivos que existem na mídia analisada, tipificando-os quanto ao formato. Para essa tarefa o comando SORTER é a ferramenta recomendada

5a Camada - ARQUIVOS

Relacionando Arquivos por TIPO

Uma ação importante é levantar a lista de todos os arquivos que existem na mídia analisada, tipificando-os quanto ao formato. Para essa tarefa o comando SORTER é a ferramenta recomendada

5a Camada - ARQUIVOS

Busca de artefatos com FIND

Buscar informações 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

Busca de artefatos com FIND

Buscar por arquivos e diretórios que tenham nome utilizando espaço em branco:  # find /img/ -name "*[ ]*" ;

5a Camada - ARQUIVOS

Busca de artefatos com FIND

Identificar arquivos sem dono ou grupo definido, que poderão ser arquivos instalados no sistema de forma arbitrária:   # find /img/ -type f \(-nouser -o -nogroup \) -exec ls -ldg {} \; 5a Camada - ARQUIVOS

Busca de artefatos com FIND

Buscar por arquivos e diretórios ocultos, ou seja, que iniciam com “.”, que em sistema Like Unix caractiza um arquivo ou diretórios como oculto. Recurso muito utilizado para buscar esconder informações e ferramentas utilizadas por um invasor:   # find /img/ -type f \( -name '.??*' -o -name '. [^.]' \) -exec ls -lg {} \; 5a Camada - ARQUIVOS

Busca de artefatos com FIND

Muitos invasores buscam esconder informações em diretórios do sistema destinados para dados específicos e que não são constamente acessados, um exemplo disto são diretórios como /dev e /lib:  # find /img/dev/ -not -type c -not -type b ls -l

5a Camada - ARQUIVOS

Busca de artefatos com FIND

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

5a Camada - ARQUIVOS

Busca de artefatos com FIND

Identificar arquivos que estejam com seu tempo de acesso dentro de uma determinada janela de tempo também é um tipo de pesquisa útil para identificação 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

Busca de artefatos com FIND

Identificar arquivos que estejam com seu tempo de acesso após um determinado arquivo, é outro tipo de busca que deve ser realizada, pois pode possibilitar a identificação de outros potenciais artefatos:  # find /img/ -anewer /img/etc/shadow ls -lha

5a Camada - ARQUIVOS

Gerando Strings da Imagem

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

5a Camada - ARQUIVOS

Buscando Malware

Utilizar ferramentas que buscam por arquivos que identifique a instalação de rootkits no sistema. uma ferramenta interessante para esta tarefa utilizar ferramentas com chkrootkit e rkhunter para identificar sinais de comprometimento da máquina  # chkrootkit -r /img/

5a Camada - ARQUIVOS

Buscando Malware

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

5a Camada - ARQUIVOS

Buscando Malware

Buscando informações sobre Malware com Clamav:  # clamascan -i -r -d /resultado img/

5a Camada - ARQUIVOS

“ Evidências

nos Slackspaces ” uscando provas buscando as sobras nas 5a Camada - ARQUIVOS

Periciando Slackspace A recuperação de Slackspace é simples e na prática já ocorre quando o Perito extrai todas as strings da imagem. Mas é recomendável que seja feita uma extração exclusiva, lembrando que uma evidência computacional pode ser tão pequena e ao mesmo tempo tão significativa como os 4 bytes de um endereçamento IP.

5a Camada - ARQUIVOS

Periciando Slackspace Organizando informação dos Slackspaces.

# dls -s imagem.img | slackspace.dls # strings -a slackspace > slackspace.dls.strings

5a Camada - ARQUIVOS

“Perícia em áreas Não Alocadas ” escuperando arquivos rescuperando ue possam ser artefatos que 5a Camada - ARQUIVOS

Recuperação A recuperação de arquivos é uma atividade necessária em praticamente toda Post Mortem, todavia é uma tarefa que demanda ferramental destinado para mesma. Felizmente não são poucas as opções para um Perito quando se trata de ferramentas livres

5a Camada - ARQUIVOS

Ferramentas Úteis

magicrescue – em conjunto com DLS permite a recuperação de arquivos foremost - recuperação de arquivos a partir de a assinaturas. ddrescue - recuperação de arquivos a partir de uma imagem.

5a Camada - ARQUIVOS

Recuperação Tentando recuperar um arquivo a partir de uma imagem: a) identifique os endereços (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

Recuperação com Foremost Outra forma de recuperar arquivos seria o foremost, que faz de forma automática uma análise completa no Sistema de Arquivo. # foremost -c foremost.conf -i imagem.img  /recovery -T

5a Camada - ARQUIVOS

-o

Recuperação com Foremost Outra forma de recuperar arquivos seria o foremost, que faz de forma automática uma análise completa no Sistema de Arquivo. # foremost -c foremost.conf -i imagem.img  /recovery -T

5a Camada - ARQUIVOS

-o

Recuperação com Foremost Outra forma de recuperar arquivos seria o foremost, que faz de forma automática uma análise completa no Sistema de Arquivo. # foremost -c foremost.conf -i imagem.img  /recovery -T

5a Camada - ARQUIVOS

-o

Recuperação com Foremost Outra forma de recuperar arquivos seria o foremost, que faz de forma automática uma análise completa no Sistema de Arquivo. # foremost -c foremost.conf -i imagem.img  /recovery -T

5a Camada - ARQUIVOS

-o

Conclusion Existem muitas ferrametnas FOSS interessantes para realizar um Post Mortem Forensic, sendo muitas delas também ferramentas automatizadas, tendo o ponto de vista das 5 camadas, que permite a um Perito realizar um processo detalhado e também que possibilitam realizar testes específicos em um processo Hand On.

113

Camada Fisica Informacões da Mídia e imagem, para fins Documentais e validacão da cadeia de Custódia

Camada de Dados Idenfificacão de Informacões sobre a Estrutura de Particionamento E ID dos tipos De Particões da Midia

Camada de Meta Dados: Identificacão de Levantamento Camada de Artefatos, De informacoes Sistema de Recuperacão de Das tabelas Arquivos: Arquivos Alocacao E dentificacão Analise de arquivos, Do Sistema de Hash Informacoes, de Arquivos Identificacao TimeLine Utilizados Malware Informacões das Areas naoA Alococadas

Gerando Timeline com Sleuthkit

Criando uma linha do tempo da imagem montada  

# mount imagem loop,noexec,nodev,noatime,ro

/media/imagem

-o

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

4a Camada - METADADOS

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

dqcd

Pesquisando Metadados

Exemplificando a análise, a imagem em busca de informações sobre as áreas alocadas e na sequência a criação 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

dqcd

Pesquisando Metadados

Exemplificando a análise, a imagem em busca de informações sobre as áreas “não” alocadas e na sequência a criação 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

dqcd

“Camada de Arquivos ” Análise de nformações dos (Análise rquivos em busca de arquivos dentificação de potenciais identificação rtefatos) artefatos) 5a Camada - ARQUIVOS

Ferramentas para Perícia na Camada de Arquivos

fls – possibilita consultar informações de arquivos e diretórios em uma imagem. ffind - possibilita consultar informações de arquivos e diretórios em uma imagem a partir de endereço de Inode. soter – possibilita ordenar arquivos de acordo do tipo. 5a Camada - ARQUIVOS

ontagem de Imagem ” “Montagem

5a Camada - ARQUIVOS

Montando a Imagem

É recomendável que a análise da imagem forense do disco rígido seja um processo executado com cautela, iniciando com a preparação do acesso a mídia denominado “montagem”. A montagem da imagem de uma partição para fins de análise deve ser efetuada de forma que o sistema de arquivos seja para somente leitura, não tenha suporte a arquivos de dispositivos e também não tenha suporte a executável 5a Camada - ARQUIVOS

Montando a Imagem de uma unica partição # 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

Montando a Imagem de um disco com multiplas partições Mas para análise de uma imagem de todo um disco rígido é necessário a utilização do comando losetup: # losetup /dev/loop0 /imagem_hd.img

5a Camada - ARQUIVOS

Montando um partição a partir de uma Imagem Considero o cenario, onde deseja-se montar a 2 partição listada, considerando que o setor inicial da partição é 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

Montando um partição a partir de uma Imagem de todo um Disco

Mas para análise de uma imagem de todo um disco rígido é necessário a utilização 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

Montando um partição 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

End 72575 2116799 278207 410255

410319 513135

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

5a Camada - ARQUIVOS

83 83

Linux Linux

Montando um partição a partir de uma Imagem

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

5a Camada - ARQUIVOS

Montando um partição a partir de uma Imagem # df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 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

Montando um partição 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

Montando a Imagem Mas para análise de uma imagem de todo um disco rígido é necessário a utilização do comando losetup: # losetup /dev/loop0 /imagem_hd.img

5a Camada - ARQUIVOS

O uso do comando sorter 

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

5a Camada - ARQUIVOS

Relacionando Arquivos por TIPO

Uma ação importante é levantar a lista de todos os arquivos que existem na mídia analisada, tipificando-os quanto ao formato. Para essa tarefa o comando SORTER é a ferramenta recomendada

5a Camada - ARQUIVOS

Relacionando Arquivos por TIPO

Uma ação importante é levantar a lista de todos os arquivos que existem na mídia analisada, tipificando-os quanto ao formato. Para essa tarefa o comando SORTER é a ferramenta recomendada

5a Camada - ARQUIVOS

Busca de artefatos com FIND

Buscar informações 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

Busca de artefatos com FIND

Buscar por arquivos e diretórios que tenham nome utilizando espaço em branco:  # find /img/ -name "*[ ]*" ;

5a Camada - ARQUIVOS

Busca de artefatos com FIND

Identificar arquivos sem dono ou grupo definido, que poderão ser arquivos instalados no sistema de forma arbitrária:   # find /img/ -type f \(-nouser -o -nogroup \) -exec ls -ldg {} \; 5a Camada - ARQUIVOS

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF