Python Forensics - Dshell et Scapy

DShell

Dshellest une boîte à outils d'analyse légale de réseau basée sur Python. Cette boîte à outils a été développée par le US Army Research Laboratory. La sortie de cette boîte à outils open source a eu lieu en 2014. Le principal objectif de cette boîte à outils est de faire des enquêtes médico-légales avec facilité.

La boîte à outils comprend un grand nombre de décodeurs répertoriés dans le tableau suivant.

N ° Sr. Nom et description du décodeur
1

dns

Ceci est utilisé pour extraire les requêtes liées au DNS

2

reservedips

Identifie les solutions aux problèmes DNS

3

large-flows

Liste des flux nets

4

rip-http

Il est utilisé pour extraire les fichiers du trafic HTTP

5

Protocols

Utilisé pour l'identification des protocoles non standard

Le laboratoire de l'armée américaine a maintenu le référentiel de clones dans GitHub dans le lien suivant -

https://github.com/USArmyResearchLab/Dshell

Le clone consiste en un script install-ubuntu.py () utilisé pour l'installation de cette boîte à outils.

Une fois l'installation réussie, il construira automatiquement les exécutables et les dépendances qui seront utilisés plus tard.

Les dépendances sont les suivantes -

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

Cette boîte à outils peut être utilisée contre les fichiers pcap (capture de paquets), qui sont généralement enregistrés lors des incidents ou pendant l'alerte. Ces fichiers pcap sont soit créés par libpcap sur la plate-forme Linux ou WinPcap sur la plate-forme Windows.

Scapy

Scapy est un outil basé sur Python utilisé pour analyser et manipuler le trafic réseau. Voici le lien pour la boîte à outils Scapy -

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

Cette boîte à outils est utilisée pour analyser la manipulation des paquets. Il est très capable de décoder des paquets d'un grand nombre de protocoles et de les capturer. Scapy diffère de la boîte à outils Dshell en fournissant une description détaillée à l'enquêteur du trafic réseau. Ces descriptions ont été enregistrées en temps réel.

Scapy a la capacité de tracer à l'aide d'outils tiers ou d'empreintes digitales du système d'exploitation.

Prenons l'exemple suivant.

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"

Ce script donne la description détaillée des détails du pays dans le paquet réseau, qui communiquent entre eux.

Le script ci-dessus produira la sortie suivante.