Криминалистика Python - Dshell и Scapy

DShell

Dshellпредставляет собой набор инструментов для сетевого криминалистического анализа на основе Python. Этот инструментарий был разработан Исследовательской лабораторией армии США. Этот набор инструментов с открытым исходным кодом был выпущен в 2014 году. Основная цель этого набора инструментов - облегчить проведение судебных расследований.

Инструментарий состоит из большого количества декодеров, которые перечислены в следующей таблице.

Sr.No. Название и описание декодера
1

dns

Это используется для извлечения запросов, связанных с DNS.

2

reservedips

Определяет решения проблем DNS

3

large-flows

Листинг чистых потоков

4

rip-http

Используется для извлечения файлов из HTTP-трафика.

5

Protocols

Используется для идентификации нестандартных протоколов

Лаборатория армии США поддерживает репозиторий клонов на GitHub по следующей ссылке -

https://github.com/USArmyResearchLab/Dshell

Клон состоит из скрипта install-ubuntu.py () используется для установки этого инструментария.

После успешной установки будут автоматически созданы исполняемые файлы и зависимости, которые будут использоваться позже.

Зависимости следующие -

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

Этот инструментарий можно использовать против файлов pcap (захвата пакетов), которые обычно записываются во время инцидентов или во время предупреждения. Эти файлы pcap создаются либо libpcap на платформе Linux, либо WinPcap на платформе Windows.

Scapy

Scapy - это инструмент на основе Python, используемый для анализа и управления сетевым трафиком. Ниже приведена ссылка на набор инструментов Scapy -

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

Этот инструментарий используется для анализа обработки пакетов. Он очень способен декодировать пакеты большого количества протоколов и захватывать их. Scapy отличается от набора инструментов Dshell тем, что предоставляет исследователю подробное описание сетевого трафика. Эти описания были записаны в реальном времени.

Scapy имеет возможность строить графики с помощью сторонних инструментов или снятия отпечатков пальцев ОС.

Рассмотрим следующий пример.

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"

Этот сценарий дает подробное описание деталей страны в сетевом пакете, которые связываются друг с другом.

Приведенный выше сценарий выдаст следующий результат.