Mostrando postagens com marcador Autopsy. Mostrar todas as postagens
Mostrando postagens com marcador Autopsy. Mostrar todas as postagens

quarta-feira, 8 de fevereiro de 2012

Automatizando a execução do Autopsy com o chkconfig

O Autopsy é uma interface gráfica para as ferramentas do The Sleuth Kit. Para ter acesso à interface é preciso iniciar o Autopsy, assim seus scripts geram as páginas da interface, que serão acessadas através de um navegador Web.

A linha de comando para iniciar o Autopsy é simples, pelo prompt do terminal podemos executar:

# autopsy -d /evidencia &

Entretanto, cada vez que o sistema for reiniciado, é preciso executar novamente este comando. Claro que é possível adicionar esta linha de comando no arquivo "/etc/rc.d/rc.local", contudo, esta não é a forma mais elegante para automatizar a execução do Autopsy, principalmente em uma distribuição Fedora.

O Fedora utiliza o comando "chkconfig" para automatizar a execução dos serviços. O chkconfig trabalha com scripts para controlar os serviços. O chkconfig controla quais serviços serão iniciados durante a inicialização da máquina. Cada serviço possui um script e para adequar o Autopsy ao comando chkconfig, é preciso criar o script. A seguir o conteúdo do script para o Autopsy (salve-o com o nome "autopsy"):

-----------------------corte aqui-----------------------
#!/bin/sh
#
# chkconfig: 2345 90 10
# description: Autopsy is a web interface for The Sleuth Kit
#

# Source function library.
. /etc/init.d/functions

[ -x /usr/bin/autopsy ]  || exit 1

RETVAL=0

start(){
    if [ ! -f /var/lock/subsys/autopsy ]; then
    echo -n $"Starting autopsy daemon: "
    daemon autopsy -d /evidencia &
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/autopsy
    return $RETVAL
    else
        echo $"Autopsy is already running."
    fi

}

stop(){
    if [ -f /var/lock/subsys/autopsy ]; then
    echo -n $"Stopping autopsy daemon: "
    killproc autopsy
    RETVAL=$?
    rm -f /var/lock/subsys/autopsy
    return $RETVAL
    else
        echo $"Autopsy is not running."
    fi
}

restart(){
    if [ -f /var/lock/subsys/autopsy ]; then
    stop
    start
    else
        echo $"Autopsy is not running."
    fi
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    status)
        status autopsy
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart}"
        RETVAL=1
esac

exit $RETVAL
--------------------------------------------------------

Para adicionar o script e ativar o controle do serviço pelo gerenciamento do chkconfig, primeiro é preciso colocar o script no diretório "/etc/rc.d/init.d/" e então executar no prompt do terminal o comando "chkconfig --add nome_do_serviço":

# chkconfig --add autopsy

A partir deste ponto basta executar o comando "chkconfig nome_do_serviço on" para que a devida ligação simbólica seja criada nos diretórios "/etc/rc.d/rcN.d/", especificados no cabeçalho do script:

# chkconfig autopsy on

Com a execução do comando "chkconfig nome_do_serviço off" estas ligações são removidas. Do mesmo modo, pode-se remover o controle do serviço pelo gerenciamento do chkconfig executando o comando "chkconfig --del nome_do_serviço":

# chkconfig autopsy off
# chkconfig --del autopsy

Com a execução do comando "chkconfig autopsy on", o serviço do Autopsy será executado automaticamente na próxima inicialização do sistema. A execução imediata do serviço pode ser feita com a chamada do próprio script pela linha de comando, em algo como "/etc/rc.d/init.d/nome_do_serviço start":

# /etc/rc.d/init.d/autopsy start

Ou também utilizando o comando "service", em algo como "service nome_do_serviço start":

# service autopsy start

Lembrando que estas formas só funcionam para a seção atual, não mantendo para a próxima inicialização da máquina.

Estes scripts usualmente atendem aos argumentos "start", "stop", "status" e "restart", do mesmo modo os comandos que controlam os serviços. O argumento "stop" para o serviço, o argumento "status" mostra a situação atual do serviço e o argumento "restart" reinicia o serviço.

Mesmo para a execução manual do Autopsy, é muito mais elegante realizar através do script em "/etc/rc.d/init.d/". Saiba mais sobre "Configurando Serviços no Linux" em http://dan-scientia.blogspot.com/2009/09/configurando-servicos-no-linux.html e sobre "Computação forense com o Sleuth Kit e Autopsy" em http://dan-scientia.blogspot.com/2010/10/computacao-forense-com-o-sleuth-kit-e.html

segunda-feira, 18 de outubro de 2010

Computação forense com o Sleuth Kit e Autopsy

O The Sleuth Kit (TSK) e o Autopsy são ferramentas livres para investigação digital, isto é, forense digital, que podem ser executadas em sistemas Windows, Linux, BSD, OS X e Solaris. São ferramentas para serem usadas em análise de sistemas de arquivos NTFS, FAT, HFS+, Ext2, Ext3 e outros.

O The Sleuth Kit é um conjunto de ferramentas forenses para linha de comando e o Autopsy é uma interface gráfica para estas ferramentas do TSK. O acesso à interface do Autopsy se dá por um navegador Web, o Autopsy cria um servidor Web e seus scripts geram as páginas da interface.

A instalação em um sistema Linux é bastante simples. Algumas distros disponibilizam os pacotes compilados, em outras podemos instalar a partir dos pacotes fontes disponíveis em http://www.sleuthkit.org/. Os arquivos para baixar são sleuthkit-x.y.z.tar.gz e autopsy-x.yz.tar.gz.

Na instalação a partir dos pacotes fontes, o conteúdo do Sleuth Kit deve ser extraído para um diretório qualquer e dentro dele executar os comando padrões de compilação: ./configure, make, make install. Dependências extras poderão ser requeridas e se tudo der certo, já está pronto. O conteúdo do Autopsy deve ser extraído para um diretório definitivo e basta executar os comandos ./configure e make. Durante sua instalação o Autopsy pede que se determine um diretório base para onde serão armazenados os casos. Após a conclusão da instalação, o servidor Web do Autopsy precisa ser iniciado e no navegador digita-se o endereço "http://localhost:9999/autopsy".

A interface do Autopsy é composta por várias páginas, por estas páginas o investigador vai criar um caso, adicionar as peças que serão examinadas e por fim realizar os diversos exames disponíveis. A seguir um pequeno passo a passo de como inserir uma unidade de armazenamento para a análise forense:

Na página inicial, crie um novo caso e dê um nome à ele. Opcionalmente pode-se preencher com a descrição, nome dos investigadores etc.

Em seguida, adicione um computador ao caso. Opcionalmente preencha a descrição e outras informações que julgar necessárias.

Por fim, adicione uma imagem da unidade de armazenamento deste computador que será investigado. A imagem não é necessariamente um arquivo imagem criado com um disk dump, pode ser também o caminho para o dispositivo físico, caso a unidade esteja conectada diretamente na controladora de disco ou via adaptador USB.

Adicionando uma imagem no Autopsy

Com estes três passos concluídos podemos realizar a investigação forense na unidade de armazenamento. Basicamente temos a análise da unidade e a linha do tempo das atividades dos arquivos.

Página de análise de imagens adicionadas

As partições reconhecidas recebem as identificações com letras de unidade, como no Sistema Windows. Selecionando a letra da unidade de armazenamento e clicando no botão "Analyze" vamos para uma página onde temos diversas opções de análise:

O botão "File Analysis" abre um conjunto de páginas onde podemos navegar pelo sistema de arquivos, possibilitando ver o conteúdo dos arquivos alocados e não alocados.

Página de análise de arquivos

O botão "Keyword Search" abre a página com um mecanismo de busca de palavra chave para o espaço alocado e não alocado.

O botão "File Type" abre um conjunto de páginas que fornecem uma ferramenta de separação dos arquivos pelo tipo e com a possibilidade de extração e recuperação de todos os arquivos, alocados e não alocados, para o diretório base onde os casos são armazenados.

Retornando à página inicial de análise das imagens, temos o botão "File Activity Time Lines". Clicando neste botão, abre-se um conjunto de páginas que fornecem ferramentas para a criação e visualização de uma linha do tempo das atividades de acesso dos arquivos. A linha do tempo é criada a partir das informações dos metadados dos arquivos e pode conter inclusive arquivos não alocados que foram recuperados.

Página de visualização da linha do tempo

Esta é uma pequena descrição de algumas das ferramentas contidas na dupla Sleuth Kit e Autopsy. Tratam-se de dois excelentes conjuntos de softwares que atendem em quase todas as necessidades do investigador forense e pode-se considerar indispensável em um laboratório forense computacional.