Supertimelines com log2timeline

De Peotta-Wiki
Ir para: navegação, pesquisa

log2timeline é uma ferramenta desenvolvida para extrair logs de modo que seja possível a correlação das informações.

Conteúdo

Instalação Linux

Para instalar usando Debian. Primeiro deve-se configurar o repositório para o log2timeline.

  • Adicionar em /etc/apt/sources.list

Ubuntu 9.10 (karmic)

echo "deb http://log2timeline.net/pub/ karmic main" >>/etc/apt/sources.list

Ubuntu 10.04 (lucid)

echo "deb http://log2timeline.net/pub/ lucid main" >>/etc/apt/sources.list

Configurar um proxy no linux

export http_proxy=http://proxy_host:proxy_port
export https_proxy=http://proxy_host:proxy_port

É preciso adicionar a chave PGP do log2timeline

wget http://log2timeline.net/gpg.asc
apt-key add gpg.asc

Atualize a base e instale o log2timeline

apt-get update
apt-get install log2timeline-perl

Note Nota: As seguintes dependências serão instaladas.

libdatetime-perl
libnet-pcap-perl
libarchive-any-perl
libxml-libxml-perl
libdbi-perl
libhtml-scrubber-perl
libimage-exiftool-perl
libgtk2-perl
libglib-perl
libcarp-assert-perl
libdbd-sqlite3-perl
libdigest-crc-perl
libversion-perl
libdate-manip-perl
perl-modules

Instalação Windows

Faça o download e instale a última versão do ActiveState Perl

Caso seja necessário é possível configurar um proxy.

#proxy sem autenticação
set http_proxy=http://proxy_host:proxy_port set https_proxy=http://proxy_host:proxy_port

#proxy com autenticação
set http_proxy=http://user:password@servidor:porta

exemplo:

set http_proxy=http://peotta:123456@192.168.1.1:8080

Utilizando linha de comando (cmd.exe), instale as seguintes dependências executando:

cd c:\perl\bin\

ppm install datetime
ppm install win32::api
ppm install date::manip
ppm install xml::libxml
ppm install carp::assert
ppm install digest::crc
ppm install data::hexify
ppm install image::exiftool
ppm install file::mork
ppm install datetime::format::strptime
ppm install parse::win32registry
ppm install html::scrubber

Faça o download da última versão do log2timeline

Baixe as seguintes bibliotecas perl: Mac-PropertyList-1.33.tar.gz XML-Entities-1.0000.tar.gz

Descompacte log2timeline, Mac-PropertyList-1.33.tar.gz e XML-Entities-1.0000.tar.gz

Dentro de XML-Entities:

copy lib/XML c:/perl/lib/XML/

Dentro de Mac-Propertylist:

mkdir c:/perl/lib/Mac
copy lib/* c:/perl/lib/Mac

Dentro do diretório log2timeline

del lib/Log2t/input/pcap.pm
copy lib/Parse/* c:/perl/lib/Parse/
copy lib/Log2t c:/perl/lib/Log2t/*
copy lib/Log2Timeline.pm c:/perl/lib/
copy log2timeline c:/perl/bin/log2timeline.pl
copy l2t_process c:/perl/bin/l2t_process.pl
copy timescanner c:/perl/bin/timescanner.pl

Usando o log2timeline

Primeiro é preciso entender a estrutura de trabalho do log2timeline. A figura a seguir apresenta todos os módulos de operação e análise da ferramenta.

Log2timeline.jpg


Módulos disponíveis

Módulo Descrição
apache2_access Parse the content of a Apache2 access log file
apache2_error Parse the content of a Apache2 error log file
chrome Parse the content of a Chrome history file
encase_dirlisting Parse the content of a CSV file that is exported from FTK Imager (dirlisting)
evt Parse the content of a Windows 2k/XP/2k3 Event Log
evtx Parse the content of a Windows Event Log File (EVTX)
exif Extract metadata information from files using ExifTool
ff_bookmark Parse the content of a Firefox bookmark file
firefox2 Parse the content of a Firefox 2 browser history
firefox3 Parse the content of a Firefox 3 history file
ftk_dirlisting Parse the content of a CSV file that is exported from FTK Imager (dirlisting)
generic_linux Parse content of Generic Linux logs that start with MMM DD HH:MM:SS
iehistory Parse the content of an index.dat file containg IE history
iis Parse the content of a IIS W3C log file
isatxt Parse the content of a ISA text export log file
jp_ntfs_change Parse the content of a CSV output file from JP (NTFS Change log)
mactime Parse the content of a body file in the mactime format
mcafee Parse the content of a log file
mft Parse the content of a NTFS MFT file
mssql_errlog Parse the content of an ERRORLOG file produced by MS SQL server
ntuser Parses the NTUSER.DAT registry file
opera Parse the content of an Opera's global history file
oxml Parse the content of an OpenXML document (Office 2007 documents)
pcap Parse the content of a PCAP file
pdf Parse some of the available PDF document metadata
prefetch Parse the content of the Prefetch directory
recycler Parse the content of the recycle bin directory
restore Parse the content of the restore point directory
safari Parse the contents of a Safari History.plist file
sam Parses the SAM registry file
security Parses the SECURITY registry file
setupapi Parse the content of the SetupAPI log file in Windows XP
skype_sql Parse the content of a Skype database
software Parses the SOFTWARE registry file
sol Parse the content of a .sol (LSO) or a Flash cookie file
squid Parse the content of a Squid access log (http_emulate off)
syslog Parse the content of a Linux Syslog log file
system Parses the SYSTEM registry file
tln Parse the content of a body file in the TLN format
volatility Parse the content of a Volatility output files (psscan2, sockscan2, ...)
win_link Parse the content of a Windows shortcut file (or a link file)
wmiprov Parse the content of the wmiprov log file
xpfirewall Parse the content of a XP Firewall log


Lista de Módulos disponíveis

Log2timeline está preparado para analisar uma estrutura completa. Nesse caso o trabalho torna-se mais demorado, entretanto, mais completo.

Utilizando o seguinte comando:

log2timeline.pl -f FORMAT

Onde os formatos são:

* linux
apache2_access, apache2_error, pcap, syslog, generic_linux.

* webhist
chrome, firefox3, firefox2, ff_bookmark, opera, iehistory, iis, safari, sol.

* win7
chrome, evt, exif, ff_bookmark, firefox3, iehistory, iis, mcafee, opera, oxml, pdf, prefetch, recycler, restore, sol, win_link, xpfirewall, wmiprov, ntuser, software, system.

* win7_no_reg
chrome, evt, exif, ff_bookmark, firefox3, iehistory, iis, mcafee, opera, oxml, pdf, prefetch, recycler, restore, sol, ntuser, win_link, xpfirewall, wmiprov.

* winxp
chrome, evt, exif, ff_bookmark, firefox3, iehistory, iis, mcafee, opera, oxml, pdf, prefetch, recycler, restore, setupapi, sol, win_link, xpfirewall, wmiprov, ntuser, software, system.

* winxp_no_reg
chrome, evt, exif, ff_bookmark, firefox3, iehistory, iis, mcafee, opera, oxml, pdf, prefetch, recycler, restore, setupapi, sol, ntuser, win_link, xpfirewall, wmiprov.

Montar a imagem a ser analisada

Antes de definir a estratégia de montagem, é preciso identificar o modo em que a imagem foi gerada. Nesse caso é importante conhecer se o disco foi copiado totalmente ou por partição.

Executando a ferramenta mmls, que faz parte do sleuthkit, podemos identificar informações do disco. Portanto nessa situação a cópia foi total.

mmls imagem.dd
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   0009510479   0009510417   NTFS (0x07)
03:  -----   0009510480   0009514259   0000003780   Unallocated

Com o resultado do comando mmls, é possível calcular o offset utilizado pelo mount. A multiplicação de bytes por setor (Units are in 512-byte sectors) e o setor inicial da primeira partição (0000000063) 512*63 = 32256.

  • Linux

Para montar cópias de uma partição o comando é o seguinte:

mkdir /mnt/forense
mount imagem.dd -o ro,loop,noatime,nodev,noexec /mnt/forense

Para montar um disco que foi copiado inteiro, ou seja sem escolher uma partição o comando a seguir é ideal.

mkdir /mnt/forense
mount imagem.dd -o ro,loop,noatime,nodev,noexec,offset=32256 /mnt/forense

Note Nota:

  • Windows

OSFMount permite montar arquivos de imagem de disco (cópias bit-a-bit de uma partição de disco) no Windows com uma letra de unidade. Você pode, então, analisar o arquivo de imagem de disco. Por padrão, os arquivos de imagem são montadas como somente leitura, desse modo os arquivos originais não são alterados.

Osfmount.png

Analisando um caso

  • Como exemplo vamos analisar uma máquina windows XP. Existem vários métodos para se identificar um sistema operacional. Neste caso pode-se usar a ferramenta regripper. Veja mais em Analisando registros com regripper.
rip.pl -r  /mnt/forense/windows/system32/config/software -p winver
log2timeline.pl -f winxp -z local -m C: -r -p /mnt/forense/

log2timeline.pl -f mft -z gmt -m C: -r -p imagem.dd -w /cases/bodyfile.txt

# -p  Preprocesso
# -r  Recursivo
# -f  Formato
# -z  Timezone
# -w  Saída

Extraindo informações MFT

# Para partições
icat -i raw -f ntfs imagem.dd 0 > /pericia/imagem.mft

# Para discos inteiros

icat -i raw -f ntfs -o 63 imagem.dd 0 > /pericia/imagem.mft

# -i   Tipo de imagem
# -f   Tipo do sistema de arquivos
# -o   Inicia no setor 63

Convertendo MFT para CSV

log2timeline.pl -f mft -z GMT -m C: imagem.mft -w timeline.csv

# -f  Formato do log
# -z  Timezone
# -m  Path
# -w  Saída do processo

Filtrando uma data específica

É possível analizar um dia ou uma janela de tempo. Isso é interessante quando se tem informações sobre a data de comprometimento.

l2t_process –e -b timeline.csv -k keywords.txt MM-DD-YYYY..MM-DD-YYYY

# -e Exclui paradas de tempo
# -b Arquivo csv
# -k Termos/palavras a ser procuradas (uma por linha)
# MM-DD-YYYY Data ou intervalo de datas

# Exemplos

l2t_process.pl -b bodyfile.txt 01-01-2007..01-02-2007

log2timeline.pl -f winxp -z EST5EDT -m C: -r -p /mnt/forense -w /cases/bodyfile.txt

l2t_process.pl -b /cases/bodyfile.txt 01-15-2010..01-25-2010 > /cases/timeline.txt

Resolvendo problemas

Caso encontre algum erro em instalar alguma biblioteca, talvez seja necessário configurar outro repositório.

Configurando repositório Perl

  • Perl 5.6
cd c:\perl\bin\
set repository BdP http://www.bribes.org/perl/ppm
set save
  • Perl 5.8
cd c:\perl\bin\
repository add BdP http://www.bribes.org/perl/ppm
  • Perl 5.10
cd c:\perl\bin\
ppm.bat

Vá em edit-preferences-repositories. Adicione o seguinte repositório:

http://www.bribes.org/perl/ppm/package.xml

Ppm4.gif

Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas