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.