
Phantom Tap (PhanTap) - an ‘invisible’ network tap aimed at red teams

PhanTap은 레드팀을 위한 '보이지 않는' 네트워크 탭입니다. 대상 건물에 제한된 물리적 접근만으로도 이 탭을 네트워크 장치와 사내 네트워크 사이에 인라인으로 설치할 수 있습니다. PhanTap은 네트워크에서 조용히 동작하며, NAC(Network Access Control 802.1X - 2004)가 있는 네트워크에서도 피해자의 트래픽에 영향을 주지 않습니다. PhanTap은 네트워크의 트래픽을 분석하고 자신의 트래픽을 피해자 장치로 위장합니다. 원격 서버로 터널을 구축하여 사용자에게 네트워크 내 발판을 제공하며, 추가 분석 및 피벗(pivoting)을 가능하게 합니다. PhanTap은 OpenWrt 패키지이며 모든 장치와 호환되어야 합니다. 현재 테스트에 사용된 물리적 장치는 작고 저렴한 라우터인 GL.iNet GL-AR150입니다. PhanTap을 설명하는 자세한 블로그 게시물은 여기에서 확인할 수 있습니다.
PhanTap은 GL.iNet GL-AR150로 테스트되었습니다. 이 장치는 OpenWrt에서 두 개의 분리된 네트워크 인터페이스(eth0, eth1)를 가지고 있습니다. 장치가 eth0.1, eth0.2 같은 인터페이스를 가진 내부 스위치(swconfig 기반)를 사용하는 경우, 802.1Q(태그된 VLAN) 같은 일부 특수 트래픽은 차단될 수 있지만 PhanTap은 작동해야 합니다.
opkg update
opkg install phantap
/etc/init.d/phantap setup을 실행합니다.# uci show network | grep -E 'device=|ports='
network.loopback.device='lo'
network.@device[0].ports='eth0'
network.lan.device='br-lan'
network.wan.device='eth1'
network.wan6.device='eth1'
network.phantap.device='br-phantap'
이 예시에서는 인터페이스가 2개뿐인 GL-AR150을 사용하고 있습니다.
uci delete network.@device[0].ports
uci delete network.wan.device
uci delete network.wan6.device
uci add_list network.br_phantap.ports='eth0'
uci add_list network.br_phantap.ports='eth1'
uci commit network
/etc/init.d/network reload
이제 Phantap이 구성되었습니다. 피해자와 스위치 사이에 연결하면 자동으로 라우터를 구성하고 인터넷에 접속할 수 있게 합니다.
원격 연결을 위해 원하는 VPN을 추가할 수 있습니다. 일부 탐지 방법을 피하기 위해 OpenVpn을 TCP 443 포트와 함께 사용하여 PhanTap을 테스트했습니다.
또한 /etc/config/phantap에서 새 IP 또는 DNS가 구성될 때 실행할 명령을 추가할 수 있습니다(예: /etc/init.d/openvpn restart(OpenVpn 서비스 재시작)).
기본적으로 Wi-Fi를 비활성화하고 하드웨어 버튼을 사용하여 시작하는 방법도 살펴볼 수 있습니다 (https://openwrt.org/docs/guide-user/hardware/hardware.button).