Криминалистика 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"
Этот сценарий дает подробное описание деталей страны в сетевом пакете, которые связываются друг с другом.
Приведенный выше сценарий выдаст следующий результат.