Python Forensics-Dshell 및 Scapy

DShell

DshellPython 기반 네트워크 포렌식 분석 툴킷입니다. 이 툴킷은 미 육군 연구소에서 개발했습니다. 이 오픈 소스 툴킷은 2014 년에 출시되었습니다.이 툴킷의 주요 초점은 포렌식 조사를 쉽게 수행하는 것입니다.

이 툴킷은 다음 표에 나열된 수많은 디코더로 구성됩니다.

Sr. 아니. 디코더 이름 및 설명
1

dns

DNS 관련 쿼리를 추출하는 데 사용됩니다.

2

reservedips

DNS 문제에 대한 솔루션 식별

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 파일은 Linux 플랫폼의 libpcap 또는 Windows 플랫폼의 WinPcap에 의해 생성됩니다.

Scapy

Scapy는 네트워크 트래픽을 분석하고 조작하는 데 사용되는 Python 기반 도구입니다. 다음은 Scapy 툴킷에 대한 링크입니다.

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

이 툴킷은 패킷 조작을 분석하는 데 사용됩니다. 다양한 프로토콜의 패킷을 디코딩하고 캡처 할 수 있습니다. Scapy는 네트워크 트래픽에 대한 자세한 설명을 조사자에게 제공한다는 점에서 Dshell 툴킷과 다릅니다. 이러한 설명은 실시간으로 기록되었습니다.

Scapy는 타사 도구 또는 OS 지문을 사용하여 플롯 할 수 있습니다.

다음 예를 고려하십시오.

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"

이 스크립트는 서로 통신하는 네트워크 패킷의 국가 세부 정보에 대한 자세한 설명을 제공합니다.

위의 스크립트는 다음 출력을 생성합니다.