BLOG
Tracefield · 02
Tracefield · 01
블로그 · 14
Vibe Audit · 04
Vibe Audit · 03
Vibe Audit · 02
Vibe Audit · 01
출판편집자 · 01
StudyTree · 01
SecurityOps · 02
SecurityOps · 01
AI챗봇 · 04
AI챗봇 · 03
AI챗봇 · 02
AI챗봇 · 01
퍼플심 · 04
퍼플심 · 03
퍼플심 · 02
퍼플심 · 01
블로그 · 13
rootscan · 07
rootscan · 06
블로그 · 12
블로그 · 11
블로그 · 10
블로그 · 09
블로그 · 08
블로그 · 07
블로그 · 06
블로그 · 05
블로그 · 04
블로그 · 03
블로그 · 02
블로그 · 01
rootscan · 05
rootscan · 04
rootscan · 03
asmspeak · 03
asmspeak · 02
rootscan · 02
asmspeak · 01
rootscan · 01
웹보안도구 · 02
웹보안도구 · 01
루트캠프 · 02
루트캠프 · 01
All notes 167
ICMP 터널링
1. 개요
ICMP 터널링(ICMP Tunneling)은 네트워크 진단에 쓰이는 ICMP(Internet Control Message Protocol) 패킷 구조를 데이터 전달 경로로 활용하는 방식이다.
TCP/UDP 포트는 엄격하게 막아도, ping 같은 점검용 트래픽 때문에 ICMP를 일부 허용하는 환경이 있다. 이 문서는 그런 예외 경로를 데이터 전달에 쓰는 구조를 설명한다.
2. 동작 원리
RFC 792에 정의된 ICMP 패킷 구조, 특히 **Echo Request (Type 8)**와 Echo Reply (Type 0) 메시지에는 가변 길이의 Data 필드가 존재한다.
- 캡슐화: 공격자는 전송하고자 하는 데이터(예: HTTP 요청, SSH 트래픽 등)를 잘게 쪼개어 ICMP 패킷의 Data 필드에 채워 넣는다.
- 전송: 조작된 ICMP Echo Request를 피벗 호스트(또는 공격자 서버)로 전송한다.
- 복호화 및 전달: 수신 측의 터널링 데몬은 ICMP 패킷을 받아 Data 필드에서 원본 데이터를 추출하고, 이를 실제 목적지(예: 웹 서버)로 전달한다.
- 응답: 목적지로부터 온 응답 데이터 역시 ICMP Echo Reply 패킷의 Data 필드에 담겨 공격자에게 돌아온다.
3. 대표 도구 예시: ptunnel-ng
ptunnel-ng는 ICMP 터널링을 구현한 대표적인 도구이다.
3.1 서버 설정 (공격자/중계지)
# ICMP 패킷을 수신하고 처리할 서버 데몬 실행
sudo ./ptunnel-ng
3.2 클라이언트 실행 (피벗 호스트)
피벗 호스트(10.1.10.10)의 로컬 포트(2222)와 외부의 ICMP 터널 서버(10.8.0.2)를 연결해, 최종 목적지(google.com:80)로 중계하는 구조 예시다.
# 구문: ptunnel-ng -p [ProxyAddress] -l [LocalPort] -R [RemoteDestIP] -r [RemoteDestPort]
sudo ./ptunnel-ng -p 10.8.0.2 -l 2222 -R 142.250.207.100 -r 80
-p: ICMP 터널 서버(Proxy) 주소.-l: 로컬 리스닝 포트.-R: 최종 목적지 IP.-r: 최종 목적지 포트.
이후 curl localhost:2222를 실행하면, 트래픽은 ICMP 패킷에 실려 10.8.0.2로 가고, 거기서 구글로 접속된다.
4. 한계 및 OpsSec
- 성능 저하: ICMP는 비연결형 프로토콜이며, 패킷 손실 시 재전송 메커니즘을 터널링 툴이 직접 구현해야 하므로 TCP 터널링 대비 속도가 매우 느리고 불안정하다.
- 탐지 용이성 (High Risk):
- 비정상적인 페이로드 크기: 일반적인
ping패킷은 데이터 크기가 작고 일정하지만, 터널링 패킷은 MTU에 가깝게 꽉 채워져 전송된다. - 높은 빈도: 데이터 전송을 위해 단시간에 수천 개의 ICMP 패킷이 발생하므로, 트래픽 볼륨 기반 탐지에 매우 취약하다.
- 내용 검사: Data 필드를 평문으로 전송할 경우 HTTP 헤더 등의 문자열이 그대로 노출된다.
- 비정상적인 페이로드 크기: 일반적인
실무에서는 ICMP 터널링을 일반적인 우선순위로 보기보다, 다른 경로가 모두 막힌 상황에서만 신중하게 검토하는 편이 맞다.

