Python Forensics - Dshell y Scapy

DShell

Dshelles un kit de herramientas de análisis forense de redes basado en Python. Este conjunto de herramientas fue desarrollado por el Laboratorio de Investigación del Ejército de EE. UU. El lanzamiento de este kit de herramientas de código abierto fue en el año 2014. El objetivo principal de este kit de herramientas es realizar investigaciones forenses con facilidad.

El kit de herramientas consta de una gran cantidad de decodificadores que se enumeran en la siguiente tabla.

No Señor. Nombre y descripción del decodificador
1

dns

Esto se usa para extraer consultas relacionadas con DNS

2

reservedips

Identifica las soluciones para los problemas de DNS

3

large-flows

Listado de los netflows

4

rip-http

Se utiliza para extraer los archivos del tráfico HTTP.

5

Protocols

Se utiliza para la identificación de protocolos no estándar.

El Laboratorio del Ejército de EE. UU. Ha mantenido el repositorio de clones en GitHub en el siguiente enlace:

https://github.com/USArmyResearchLab/Dshell

El clon consta de un script install-ubuntu.py () utilizado para la instalación de este kit de herramientas.

Una vez que la instalación sea exitosa, construirá automáticamente los ejecutables y las dependencias que se utilizarán más adelante.

Las dependencias son las siguientes:

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

Este conjunto de herramientas se puede utilizar contra los archivos pcap (captura de paquetes), que generalmente se registra durante los incidentes o durante la alerta. Estos archivos pcap son creados por libpcap en la plataforma Linux o WinPcap en la plataforma Windows.

Scapy

Scapy es una herramienta basada en Python que se utiliza para analizar y manipular el tráfico de la red. A continuación se muestra el enlace del kit de herramientas Scapy:

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

Este kit de herramientas se utiliza para analizar la manipulación de paquetes. Es muy capaz de decodificar paquetes de una gran cantidad de protocolos y capturarlos. Scapy se diferencia del kit de herramientas de Dshell al proporcionar una descripción detallada al investigador sobre el tráfico de la red. Estas descripciones se han registrado en tiempo real.

Scapy tiene la capacidad de trazar utilizando herramientas de terceros o huellas dactilares del sistema operativo.

Considere el siguiente ejemplo.

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 ofrece una descripción detallada de los detalles del país en el paquete de red, que se están comunicando entre sí.

El script anterior producirá la siguiente salida.