
이 Python 스크립트는 네트워크 패킷의 패딩 데이터를 분석하여 대상 호스트의 Etherleak(CVE-2003-0001) 취약점을 탐지하는 데 도움을 줍니다. 이 스크립트는 Scapy를 사용하여 다양한 유형의 요청(ICMP, ARP 또는 TCP)을 전송하고, 응답에 민감한 메모리 내용을 잠재적으로 유출할 수 있는 패딩 데이터가 포함되어 있는지 확인합니다.
이 Python 스크립트는 네트워크 패킷의 패딩 데이터를 분석하여 대상 호스트에서 Etherleak(CVE-2003-0001) 취약점을 탐지하는 데 도움을 줍니다. 이 스크립트는 Scapy를 사용하여 다양한 유형의 요청(ICMP, ARP 또는 TCP)을 보내고, 응답에 중요한 메모리 내용을 유출할 수 있는 패딩 데이터가 포함되어 있는지 확인합니다.
Etherleak은 네트워크 드라이버가 이더넷 프레임을 남은 메모리로 부적절하게 패딩하는 취약점입니다. 공격자는 특정 요청(ICMP, ARP 또는 TCP)을 보내고 응답 패킷을 분석하여 시스템 메모리의 민감한 데이터가 유출되는지 확인함으로써 이를 악용할 수 있습니다.
pip install scapy
이 스크립트는 대상을 프로빙하기 위해 ARP, ICMP 또는 TCP의 세 가지 프로토콜을 지원합니다. TCP를 사용하는 경우 포트를 지정할 수 있으며, 기본값은 445(SMB에서 일반적으로 사용)입니다.
명령줄 사용법
sudo python etherleak_checker.py <target_ip> <arp|icmp|tcp> <count> [tcp_port]
<target_ip>: The IP address of the target host.
<arp|icmp|tcp>: The type of request to send (ARP, ICMP, or TCP).
<count>: The number of packets to send and analyze.
[tcp_port]: (Optional) The TCP port to target if using tcp (default: 445).
sudo python etherleak_checker.py 192.168.1.1 icmp 10
이 명령은 대상 IP 192.168.1.1로 ICMP 에코 요청(핑) 10개를 보내고 응답의 패딩 데이터를 분석합니다.
sudo python etherleak_checker.py 192.168.1.1 arp 10
이 명령은 대상 IP 192.168.1.1로 ARP 요청 10개를 보내고 ARP 응답의 패딩 데이터를 분석합니다.
sudo python etherleak_checker.py 192.168.1.1 tcp 10
이 명령은 대상 IP 192.168.1.1의 포트 445(SMB)로 TCP SYN 패킷 10개를 보내고 TCP 응답의 패딩 데이터를 분석합니다.
sudo python etherleak_checker.py 192.168.1.1 tcp 10 80
이 명령은 대상 IP 192.168.1.1의 포트 80으로 TCP SYN 패킷 10개를 보내고 응답의 패딩 데이터를 분석합니다.
[ Targeting 192.168.1.1 using ICMP for 10 requests... ]
Padding captured: 00 00 00 01 02 03 ...
Padding captured: 00 00 00 01 02 03 ...
...
Variation in padding data detected across packets, indicating a potential Etherleak vulnerability.
Padding analysis complete.
이 스크립트는 교육 목적과 통제된 환경에서 자신의 시스템을 테스트하기 위한 것입니다. 허가 없이 다른 시스템에 이 스크립트를 무단 사용하는 것은 불법이며 비윤리적입니다. 어떤 시스템에 대해 테스트를 실행하기 전에 항상 적절한 권한이 있는지 확인하십시오.