
TCP 포트 리디렉션 유틸리티
PortBender는 TCP 포트 리디렉션 유틸리티로서, 레드팀 운영자가 하나의 TCP 포트(예: 445/TCP)로 들어오는 트래픽을 다른 TCP 포트(예: 8445/TCP)로 리디렉션할 수 있도록 해줍니다. PortBender는 운영자가 Cobalt Strike와 도구를 통합할 수 있도록 하는 어그레서 스크립트를 포함합니다. 그러나 이 도구는 리플렉티브 DLL로 구현되어 있기 때문에 "ReflectiveLoader" 인터페이스[1]를 통해 모듈을 로드하는 모든 C2 프레임워크와 통합될 수 있습니다. 또한 이 도구는 운영자가 Duqu 2.0 위협 행위자가 사용한 "PortServ.sys" 기능 내의 백도어/지속성 메커니즘을 시뮬레이션할 수 있게 해줍니다.
PortBender는 WinDivert 라이브러리를 활용하여 Windows 필터링 플랫폼(WFP)을 통해 네트워크 트래픽을 가로챕니다. PortBender의 설계는 동일하게 WinDivert 라이브러리를 사용하는 DivertTCPConn 유틸리티[1]의 영향을 크게 받았습니다.
PortBender에는 두 가지 작동 모드가 있습니다. 첫 번째는 "리디렉터 모드"이고, 두 번째는 "백도어 모드"입니다. "리디렉터 모드"에서는 대상 지정 포트(예: 445/TCP)로의 모든 연결이 대체 포트(예: 8445/TCP)로 리디렉션됩니다. "백도어 모드"에서는 공격자가 특수하게 포맷된 TCP 패킷을 대상 포트(예: 443/TCP)로 전송하는 경우에만 트래픽을 리디렉션합니다. 그러면 PortBender는 해당 클라이언트 IP 주소를 백도어 클라이언트 목록에 추가하고, 대상 포트로의 모든 트래픽을 대체 포트(예: 3389/TCP)로 리디렉션합니다. 운영자는 이 메커니즘을 활용하여 Duqu 2.0 위협 행위자가 Kaspersky를 침해할 때 사용한 지속성 기술을 에뮬레이션할 수 있습니다.
PortBender를 실행하려면 먼저 "PortBender.cna" 스크립트를 Cobalt Strike로 가져오고, 운영 체제 아키텍처에 따라 "PortBender.zip"에 포함된 WinDivert32.sys 또는 WinDivert64.sys 바이너리를 대상 호스트에 업로드해야 합니다. 예제 사용법과 함께 PortBender의 도움말 메뉴는 아래와 같습니다.
beacon> help PortBender
Redirect Usage: PortBender redirect FakeDstPort RedirectedPort
Backdoor Usage: PortBender backdoor FakeDstPort RedirectedPort Password
Examples:
PortBender redirect 445 8445
PortBender backdoor 443 3389 praetorian.antihacker
예를 들어, 손상된 Windows 시스템에서 SMB 릴레이 공격을 수행하기 위해 PortBender를 리디렉터 모드로 실행하려고 할 수 있습니다. 이를 위해 PortBender에게 445/TCP로 향하는 모든 트래픽을 공격자 SMB 서비스가 실행 중인 대체 포트 8445/TCP로 리디렉션하도록 지시할 수 있습니다. 이 예제에서는 "PortBender redirect 445 8445" 명령을 실행하여 이를 수행합니다. 예상 출력은 아래와 같습니다.
이 예제에서는 손상된 인터넷 연결 IIS 웹 서버에 은밀한 지속성 메커니즘을 배포하려고 합니다. 여기서는 "PortBender backdoor 443 3389 praetorian.antihacker"를 실행하여 백도어 서비스에 지정된 "praetorian.antihacker" 키워드를 제공하는 IP 주소로부터 오는 모든 연결을 손상된 호스트의 443/TCP에서 3389/TCP로 리디렉션하도록 지시합니다. 예상 출력은 아래와 같습니다.
[1] https://github.com/Arno0x/DivertTCPconn
[2] https://github.com/stephenfewer/ReflectiveDLLInjection
[3] https://github.com/basil00/Divert
[4] https://diablohorn.com/2018/08/25/remote-ntlm-relaying-through-meterpreter-on-windows-port-445