Python Forensics - Dshell dan Scapy
DShell
Dshelladalah toolkit analisis forensik jaringan berbasis Python. Perangkat ini dikembangkan oleh Laboratorium Riset Angkatan Darat AS. Toolkit open source ini dirilis pada tahun 2014. Fokus utama toolkit ini adalah membuat investigasi forensik dengan mudah.
Toolkit ini terdiri dari sejumlah besar decoder yang didaftar di dalam tabel berikut.
Sr.No. | Nama & Deskripsi Dekoder |
---|---|
1 | dns Ini digunakan untuk mengekstrak kueri terkait DNS |
2 | reservedips Mengidentifikasi solusi untuk masalah DNS |
3 | large-flows Daftar netflow |
4 | rip-http Ini digunakan untuk mengekstrak file dari lalu lintas HTTP |
5 | Protocols Digunakan untuk identifikasi protokol non-standar |
Laboratorium Angkatan Darat AS telah mempertahankan repositori klon di GitHub di tautan berikut -
https://github.com/USArmyResearchLab/Dshell
Klon terdiri dari skrip install-ubuntu.py () digunakan untuk instalasi toolkit ini.
Setelah penginstalan berhasil, secara otomatis akan membangun executable dan dependensi yang akan digunakan nanti.
Dependensinya adalah sebagai berikut -
dependencies = {
"Crypto": "crypto",
"dpkt": "dpkt",
"IPy": "ipy",
"pcap": "pypcap"
}
Toolkit ini dapat digunakan untuk melawan file pcap (pengambilan paket), yang biasanya direkam selama insiden atau selama peringatan. File pcap ini dibuat oleh libpcap di platform Linux atau WinPcap di platform Windows.
Scapy
Scapy adalah alat berbasis Python yang digunakan untuk menganalisis dan memanipulasi lalu lintas jaringan. Berikut ini adalah tautan untuk Scapy toolkit -
http://www.secdev.org/projects/scapy/
Toolkit ini digunakan untuk menganalisis manipulasi paket. Ia sangat mampu untuk memecahkan kode paket dari banyak protokol dan menangkapnya. Scapy berbeda dari toolkit Dshell dengan memberikan penjelasan rinci kepada penyelidik tentang lalu lintas jaringan. Deskripsi ini telah direkam secara real time.
Scapy memiliki kemampuan untuk membuat plot menggunakan alat pihak ketiga atau sidik jari OS.
Perhatikan contoh berikut.
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"
Skrip ini memberikan penjelasan rinci tentang detail negara dalam paket jaringan, yang berkomunikasi satu sama lain.
Skrip di atas akan menghasilkan keluaran sebagai berikut.