Учебники

Python Forensics — Dshell и Scapy

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

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

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

DNS

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

2

reservedips

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

3

большие потоки

Распечатка сетевых потоков

4

рипы-клиент

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

5

протоколы

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

DNS

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

reservedips

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

большие потоки

Распечатка сетевых потоков

рипы-клиент

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

протоколы

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

Лаборатория армии США поддерживает хранилище клонов в 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"

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

Приведенный выше скрипт выдаст следующий вывод.