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.