Python Forensics - Dshell e Scapy

DShell

Dshellé um kit de ferramentas de análise forense de rede baseado em Python. Este kit de ferramentas foi desenvolvido pelo Laboratório de Pesquisa do Exército dos EUA. O lançamento deste kit de ferramentas de código aberto foi no ano de 2014. O principal foco deste kit de ferramentas é fazer investigações forenses com facilidade.

O kit de ferramentas consiste em um grande número de decodificadores listados na tabela a seguir.

Sr. Não. Nome e descrição do decodificador
1

dns

Isso é usado para extrair consultas relacionadas ao DNS

2

reservedips

Identifica as soluções para problemas de DNS

3

large-flows

Listagem dos fluxos de rede

4

rip-http

É usado para extrair os arquivos do tráfego HTTP

5

Protocols

Usado para identificação de protocolos não padronizados

O Laboratório do Exército dos EUA manteve o repositório de clones no GitHub no seguinte link -

https://github.com/USArmyResearchLab/Dshell

O clone consiste em um script install-ubuntu.py () usado para a instalação deste kit de ferramentas.

Assim que a instalação for bem-sucedida, ele criará automaticamente os executáveis ​​e dependências que serão usados ​​posteriormente.

As dependências são as seguintes -

dependencies = { 
   "Crypto": "crypto", 
   "dpkt": "dpkt", 
   "IPy": "ipy", 
   "pcap": "pypcap" 
}

Este kit de ferramentas pode ser usado contra os arquivos pcap (captura de pacotes), que geralmente são registrados durante os incidentes ou durante o alerta. Esses arquivos pcap são criados por libpcap na plataforma Linux ou WinPcap na plataforma Windows.

Scapy

Scapy é uma ferramenta baseada em Python usada para analisar e manipular o tráfego da rede. A seguir está o link para o kit de ferramentas Scapy -

http://www.secdev.org/projects/scapy/

Este kit de ferramentas é usado para analisar a manipulação de pacotes. É muito capaz de decodificar pacotes de um grande número de protocolos e capturá-los. Scapy difere do kit de ferramentas Dshell por fornecer uma descrição detalhada ao investigador sobre o tráfego de rede. Essas descrições foram registradas em tempo real.

Scapy tem a capacidade de plotar usando ferramentas de terceiros ou impressão digital do sistema operacional.

Considere o seguinte exemplo.

import scapy, GeoIP #Imports scapy and GeoIP toolkit 
from scapy import * 
geoIp = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE) #locates the Geo IP address 
def locatePackage(pkg): 
src = pkg.getlayer(IP).src #gets source IP address 
dst = pkg.getlayer(IP).dst #gets destination IP address 
srcCountry = geoIp.country_code_by_addr(src) #gets Country details of source 
dstCountry = geoIp.country_code_by_addr(dst) #gets country details of destination 
print src+"("+srcCountry+") >> "+dst+"("+dstCountry+")\n"

Este script fornece a descrição detalhada dos detalhes do país no pacote de rede, que estão se comunicando.

O script acima produzirá a seguinte saída.