
네트워크 피보팅 툴킷
PivotSuite는 휴대 가능하고 플랫폼에 독립적이며 강력한 네트워크 피보팅 툴킷으로, 레드팀/침투 테스터가 손상된 시스템을 사용하여 네트워크 내부를 이동할 수 있도록 도와줍니다. 서버 또는 클라이언트로 사용할 수 있는 독립 실행형 유틸리티입니다.
손상된 호스트가 침투 테스트 머신에서 직접 접근 가능한 경우(정방향 연결), 손상된 머신에서 pivotsuite를 서버로 실행하고 침투 테스트 머신에서 다른 서브넷 호스트에 접근할 수 있습니다. 이는 손상된 머신에서만 접근 가능했던 호스트들입니다.
손상된 호스트가 방화벽/NAT 뒤에 있어 침투 테스트 머신에서 직접 접근할 수 없는 경우, 침투 테스트 머신에서 pivotsuite를 서버로, 손상된 머신에서 pivotsuite를 클라이언트로 실행하여 역방향 터널(리버스 연결)을 생성합니다. 이를 통해 침투 테스트 머신에서 다른 서브넷 호스트에 도달할 수 있으며, 이는 손상된 머신에서만 접근 가능했던 호스트들입니다.
Git 저장소를 클론하거나 PyPI 패키지를 통해 pivotsuite 최신 버전을 다운로드할 수 있습니다.
git clone https://github.com/RedTeamOperations/PivotSuite.git
또는
pip install PivotSuite
PivotSuite는 Python 2.7.x 및 3.6.x 버전에서 모든 플랫폼에서 즉시 작동합니다.
Github 릴리스 섹션에서 PivotSuite 독립 실행형 실행 파일 다운로드
https://github.com/RedTeamOperations/PivotSuite/releases
설치 불필요, Python 인터프리터 불필요
a. Python 표준 라이브러리만 필요
b. Python 2.7.x 및 Python 3.6.x 모두 호환
c. Windows 및 Linux에서 테스트 완료
$ pivotsuite.py [옵션] SERVER-IP SERVER-PORT
옵션:
--version 프로그램 버전 번호 표시 후 종료
-h, --help 이 도움말 메시지 표시 후 종료
-S, --server PivotSuite를 서버로 실행
-C, --client PivotSuite를 클라이언트로 실행
- -server-ip=SERVER_IP
서버 수신/연결 IP 주소, 기본값 0.0.0.0
--server-port=SERVER_PORT
서버 수신/연결 포트, 기본값 7777
PivotSuite 서버 옵션:
-F, --forward-connection
네트워크 트래픽 정방향
--server-option=SP/PF
서버를 Socks_Proxy(SP)/Port_Forward(PF)로 사용, 기본값 SP
--network-protocol=T/U
포트 포워딩 프로토콜 선택 TCP(T)/UDP(U), 기본값 T
--forward-ip=Remote-Host-IP
포트 포워딩을 위한 원격 호스트 IP
--forward-port=Remote-Host-Port
포트 포워딩을 위한 원격 호스트 포트
-W, --reverse-connection
네트워크 트래픽 역방향
PivotSuite 클라이언트 옵션:
-O SP/PF/NE, --option=SP/PF/NE
클라이언트를 Socks_Proxy(SP)/Port_Forwarding(PF)/Network_Enumeration(NE)로 사용, 기본값 SP
-L, --local-forward
로컬 포트 포워딩 사용
-R, --remote-forward
원격 포트 포워딩 사용
-P T/U, --protocol=T/U
포트 포워딩 프로토콜 선택 TCP(T)/UDP(U), 기본값 T
--local-ip=LOCAL_IP
포트 포워딩을 위한 로컬 IP
--local-port=LOCAL_PORT
포트 포워딩을 위한 로컬 포트
--remote-ip=REMOTE_IP
포트 포워딩을 위한 원격 IP
--remote-port=REMOTE_PORT
포트 포워딩을 위한 원격 포트
NTLM 프록시 인증 옵션:
--ntlm-proxy-ip=NTLM_PROXY_IP
NTLM 프록시의 IP 주소
--ntlm-proxy-port=NTLM_PROXY_PORT
NTLM 프록시의 포트
--username=USERNAME
NTLM 프록시 인증을 위한 사용자 이름
--domain=DOMAIN NTLM 프록시 인증을 위한 도메인
--password=PASSWORD
NTLM 프록시 인증을 위한 비밀번호
--hashes=HASHES 비밀번호 대신 인증에 사용할 해시. 형식 - LMHASH:NTHASH
손상된 호스트가 침투 테스트 머신에서 직접 접근 가능한 경우.
필요에 따라 손상된 머신에서 PivotSuite를 서버로 실행:
a. 손상된 머신에서 동적 포트 포워딩 (Socks5 프록시 서버):
$ python pivotsuite.py -S -F --server-option SP --server-ip IP --server-port PORT
b. 손상된 머신에서 단일 포트 포워딩 (TCP/UDP 릴레이):
$ python pivotsuite.py -S -F --server-option PF --network-protocol T/U --remote-ip IP --remote-port PORT
--server-ip IP (local-ip) --server-port PORT (local-port)
손상된 호스트가 방화벽/NAT 뒤에 있어 침투 테스트 머신에서 직접 접근할 수 없는 경우.
침투 테스트 머신에서 PivotSuite를 서버로, 손상된 머신에서 PivotSuite를 클라이언트로 실행.
i. 침투 테스트 머신에서 PivotSuite를 서버로 실행:
$ python pivotsute.py -S -W
ii. 필요에 따라 손상된 머신에서 PivotSuite를 클라이언트로 실행:
a. 침투 테스트 머신에서 동적 포트 포워딩 (Socks5 프록시 서버):
$ python pivotsuite.py -C -O SP --server-ip IP --server-port PORT
b. 침투 테스트 머신에서 로컬/원격 포트 포워딩:
$ python pivotsuite.py -C -O PF - L / -R (로컬 또는 원격 포트 포워딩) -P T/U --local-ip IP
--local-port PORT --remote-ip IP --remote-port PORT --server-ip IP --server-port PORT
c. 손상된 머신의 네트워크 열거:
$ python pivotsuite.py -C -O NE --server-ip IP --server-port PORT
손상된 호스트에서 역방향 연결을 위해 기업 프록시 인증(NTLM)이 필요한 경우:
$ python pivotsuite.py -C -O SP --ntlm-proxy-ip IP --ntlm-proxy-port PORT --username USERNAME --password PASSWORD
--server-ip IP --server-port PORT
PivotSuite 툴킷에 대한 피드백이나 제안을 주시면 크게 감사하겠습니다.
이메일: [email protected]
LinkedIn: https://www.linkedin.com/in/0hack/