
ARP 요청을 분석하여 상호 통신하는 호스트와 오래된 네트워크 주소 구성(SNACs)을 식별합니다.
ARP 요청을 분석하여 서로 통신할 가능성이 있는 호스트를 식별하는 정찰 도구입니다. 이는 LLMNR/NBNS가 이름 해결에 사용되지 않는 골치 아픈 상황에서 유용합니다.
제공:

Kali 또는 기타 Debian 기반 Linux 배포판에서만 작동합니다
eavesarp는 Python3.7 및 Scapy가 필요합니다. Python을 설치한 후 다음을 실행하여 Scapy를 설치하세요: python3.7 -m pip install -r requirements.txt
참고:
eavesarp는 인터페이스에서 스니핑하고 ARP 패킷을 조작하려면 루트 권한이 필요합니다.eavesarp.db라는 이름으로 자동으로 디스크에 기록됩니다.가장 기본적인 실행 형식은 다음과 같습니다:
sudo ./eavesarp.py capture -i eth1
이렇게 하면 eavesarp가 초기화되어 ARP 요청이 캡처, 분석되고 관련 출력이 사용자에게 테이블 형태로 제공됩니다. 비표준 인수에 대한 추가 정보는 --help를 사용하세요. 이 모드에서 실행할 때 대상(송신자)에서 보낸 ARP 요청이 아직 관찰되지 않은 경우 stale 열에 [UNCONFIRMED]가 표시됩니다. -ar 플래그를 통해 ARP 해결을 활성화하여 특정 대상 주소가 더 이상 유효하지 않은지 확인할 수 있습니다.
___ ___ __ _____ ___ ___ ________
/ -_) _ `/ |/ / -_|_-</ _ `/ __/ _ \
\__/\_,_/|___/\__/___/\_,_/_/ / .__/
-----------------------------/ /---
[LISTEN CAREFULLY] /_/
Capture interface: eth1
ARP resolution: disabled
DNS resolution: disabled
Requests analyzed: 65
SNAC Sender Target ARP# Stale
------ ------------- -------------- ------ -------------
192.168.86.5 192.168.86.101 29 [UNCONFIRMED]
192.168.86.3 1
192.168.86.3 192.168.86.37 25 [UNCONFIRMED]
192.168.86.38 7 [UNCONFIRMED]
192.168.86.5 1
192.168.86.99 1
192.168.86.99 192.168.86.3 1
-ar 및 -dr 플래그를 포함하여 ARP 및 DNS 해결을 활성화합니다. 이렇게 하면 도구가 수동적이지 않게 되지만, DNS 레코드, MAC 주소 및 SNAC 상태 확인이 반환된다는 장점이 있습니다.
sudo ./eavesarp.py capture -i eth1 -ar -dr --blacklist 192.168.86.5
아래 출력에서 어떤 송신자가 하나 이상의 SNAC에 영향을 받고 있는지와 영향을 받는 주소를 명확히 볼 수 있습니다. 마지막 열은 잠재적인 MITM 기회가 있는지 여부를 나타냅니다. eavesarp는 특정 송신자에 대해 해결된 PTR의 FWD 주소가 다른지 확인합니다. 다를 경우 의도한 대상이 새로운 FWD 주소로 이동했음을 나타낼 수 있습니다. 공격 호스트의 인터페이스에 별칭을 적용하면 트래픽을 의도한 대상으로 전달하고 전송 중인 정보를 캡처할 수 있습니다.
___ ___ __ _____ ___ ___ ________
/ -_) _ `/ |/ / -_|_-</ _ `/ __/ _ \
\__/\_,_/|___/\__/___/\_,_/_/ / .__/
-----------------------------/ /---
[LISTEN CAREFULLY] /_/
Capture interface: eth1
ARP resolution: enabled
DNS resolution: enabled
Requests analyzed: 55
SNAC Sender Target ARP# Stale Sender PTR Target PTR MITM
------ ------------- -------------- ------ ------- -------------- ---------------- ---------------------------------------------
True 192.168.86.2 192.168.86.101 21 True iron.aa.local. syslog.aa.local. T-IP:192.168.86.101 != PTR-FWD:192.168.86.102
True 192.168.86.3 192.168.86.38 17 True crux.aa.local.
192.168.86.37 15 True
192.168.86.99 1 w10.aa.local.
192.168.86.99 192.168.86.3 1 w10.aa.local. crux.aa.local.
eavesarp 생성)eavesarp는 분석을 위해 SQLite 데이터베이스와 PCAP 파일을 받아들일 수 있습니다. 추출된 값은 추가 분석을 위해 새 데이터베이스 파일로 출력됩니다. 이 프로세스에 대한 자세한 내용은 --help 플래그를 참조하세요. 기본적인 실행 방법은 아래와 같습니다.
sudo ./eavesarp.py analyze -sfs eavesarp.db -cp disable --blacklist 192.168.86.5 --csv-output-file eavesarp_analysis.db
SNAC Sender Target ARP# Stale Sender PTR Target PTR MITM
------ ------------- -------------- ------ ------- -------------- ---------------- ---------------------------------------------
True 192.168.86.2 192.168.86.101 21 True iron.aa.local. syslog.aa.local. T-IP:192.168.86.101 != PTR-FWD:192.168.86.102
True 192.168.86.3 192.168.86.38 17 True crux.aa.local.
192.168.86.37 15 True
192.168.86.99 1 w10.aa.local.
192.168.86.99 192.168.86.3 1 w10.aa.local. crux.aa.local.
- Writing csv output to eavesarp_analysis.db
...CSV 출력은 다음과 같습니다...
arp_count,sender,sender_mac,target,target_mac,stale,sender_ptr,target_ptr,target_forward,mitm_op,snac
21,192.168.86.2,74:d4:35:1a:b5:fb,192.168.86.101,[STALE TARGET],True,iron.aa.local.,syslog.aa.local.,192.168.86.102,T-IP:192.168.86.101 != PTR-FWD:192.168.86.102,True
17,192.168.86.3,b8:27:eb:a9:5c:8f,192.168.86.38,[STALE TARGET],True,crux.aa.local.,,,False,True
15,192.168.86.3,b8:27:eb:a9:5c:8f,192.168.86.37,[STALE TARGET],True,crux.aa.local.,,,False,True
1,192.168.86.99,08:00:27:22:49:c5,192.168.86.3,b8:27:eb:a9:5c:8f,False,w10.aa.local.,crux.aa.local.,192.168.86.3,False,False
1,192.168.86.3,b8:27:eb:a9:5c:8f,192.168.86.99,08:00:27:22:49:c5,False,crux.aa.local.,w10.aa.local.,192.168.86.99,False,True