728x90
학습 목표
- 원격 네트워크의 다른 시스템 접근을 위한 포트 포워딩 환경 구성 능력 습득
주요 내용
- 메타스플로잇 프레임워크의 미터프리터 쉘을 이용한 피버팅 환경 구성
- 공격자의 웹 브라우저, SSH 클라이언트 프로그램을 이용한 표적 네트워크 내 서버 접근
실습 내용
- 미터프리터 쉘의 명령어를 이용한 공격자 및 거점시스템간 패킷 릴레이 환경 설정
- 공격자 시스템의 웹 브라이저를 이용한 표적 네트워크 내 웹 서버 접근
- 거점 시스템에서 패킷을 분석하여 포워딩이 제대로 이루어지지고 있음을 확인
- 공격자 시스템의 SSH 클라이언트 프로그램을 이용한 표적 네트워크 내 SSH 서버 접근
- 거점 시스템에서 패킷을 분석하여 포워딩이 제대로 이루어지고 있음을 확인
실습을 통해 구현될 포트 포워딩 환경 요약
- 공격자시스템(Attacker)은 미터프리터의 포트 포워딩 기능을 이용하여 표적 네트워크에 있는 각 시스템에 다음과 같이 접근이 가능하도록 조치합니다.
- 패킷에 대한 릴레이는 원격 통제중인 거점시스템(Victim)이 수행합니다.
| 공격자 수신 포트 | 프록시(릴레이) 시스템 | 표적 시스템 IP | 표적시스템 포트 |
| 8001 | 192.168.10.50 | 192.168.10.20 | 80 |
| 2001 | 192.168.10.50 | 192.168.10.30 | 22 |

메타스플로잇의 TCP 기반 포트 스캐닝 모듈 로딩
- 현재 원격 동제 가능한(세션 연결이 되어있는) 거점 시스템의 목록을 확인합니다.
- 메타스플로잇에서 제공하는 TCP기반 포트 스캐닝 모듈을 로딩합니다.
STEP1. 미터프리터 쉘을 이용한 포트 포워딩 설정
실습용 가상머신:Attacker_Kali
- 현재 통제중인 원격시스템(Victim)을 통해 포트 포워딩을 수행할 대상 아이피 주소 및 포트 정보를 설정합니다.
- 포트 포워딩을 설정할 대 포워딩할 페킷을 수신할 포트도 지정해야 합니다.(예에서는 -l 옵션 사용)
실습용 가상머신 Attacker_Kali
msf exploit(handler) > session -l
//현재 세션 연결이 되어 있는 공격대상 시스템들을 나열함
msf exploit(handler) > session -i 1
//1번 세션과 연결된 원격단말(Victim)의 미터프리터 쉘과 대화모드로 진입
meterpreter > protfwd add -1 8001 -r 192.168.10.20 -p 80
//공격자 시스템의 8001 포트로 연결시 192.168.10.20 시스템의 80번 포트로 포워딩
meterpreter> portewd list
//앞서 추가된 포트 포워딩 목록 확인
msfconsole -r meterpreter_reverse_https_handler.rc(PnC 서버 구동)


STEP2. 분석을 위한 패킷 모니터링 도구 실행
실습용 가상머신:Victim_Window10
- 포트 포워딩이 제대로 실행되었는지 여부를 확인하기 위해 표적시스템(Victim) 내에서 패킷 모니터링 프로그램(Wireshark)를 실행합니다. (본 실습 환경에서는 "Ethernet0 3" 인터페이스 모니터링)
- 거점시스템에서 패킷 분석을 수행하는 이유는 피버팅 환경이 조성되지 않으면 거점시스템통해 접속 패킷이 발생되지 않는다는 것을 확인하기 위해서입니다.

STEP3. 공격자 시스템에서 포워딩 채널을 이용하여 원격 접속
실습용 가상머신:Attacker_Kali
- 공격자 시스템에서 브라우저를 실행한 후 수신 대기 중인 포트(본 실습에서는 8001번 포트)로 접속을 시도해봅니다.
- 브라우저로 접속하기 전에 연결에 사용할 포트가 제대로 수신대기 상태인지 여부를 확인합니다.(본 실습 예제에서는 "lsof" 명령을 사용하여 확인)
- 접속은 http://localhost:8001 주소로 시도합니다. 표적 네트워크에 존재하는 원격 서버(192.168.10.20)에 접속이 잘 되는 것을 볼 수 있습니다.
- 접속이 원활히 수행되는 것을 확인하였다면 이후 실습의 안정성을 위해 포트 포워딩 설정을 초기화합니다.(본 실습 예제에서는 미터프리터 쉘의 "portwd flush" 명령어 사용)

⬇

⬇

STEP4. 거점 시스템에서 수집된 패킷 분석
실습용 가상머신:Victim_Window10
- 거점 시스템(Victim)에서 수집된 패킷을 분석해 보면 HTTP패킷이 거점 시스템(192.168.10.50)을 통해서 동일네트워크에 있는 웹 서버(192.168.10.20)에 세션 연결이 발생했음을 알 수 있습니다.
- 물론 해당 웹 서버에서도 웹 로그를 살펴보면 거점시스템이 접속한 것으로 확인될 것입니다.



STEP5.미터프리터 쉘을 이용한 포트 포워딩 설정
실습용 가상머신:Attacker_Kali
- 현재 통제중인 원격시스템(Victim)을 통해 포트 포워딩을 수행할 대상 아이피 주소 및 포트 정보를 설정합니다.
- 포트 포워딩을 설정할 대 포워딩할 패킷을 수신할 포트도 지정해야 합니다.(예에서는 -l 옵션 사용)
- 이번에는 SSH연결을 위한 포트 포워딩을 합니다.

STEP6.공격자 시스템에서 포워딩 채널을 이용하여 원격 접속
실습용 가상머신:Attacker_Kali
- 공격자 시스테멩서 SSH 클라이언트 프로그램을 이용하여 대기중인 포트(본 실습에서는 2001번 포트)로 접속을 시도해 봅니다.
- 브라우저로 접속을 하기 전에 연결에 사용할 포트가 제대로 수신대기 상태인지 여부를 확인합니다.(본 실습 예제에서는 "lsof" 명령어를 사용하여 확인)
- 표적 네트워크에 존재하는 원격 서버(192.168.10.30)에 접속이 잘 되는 것을 볼 수 있습니다.
- 접속이 원활히 수행되는 것을 확인하였다면 이후 실습의 안정성을 위해 포트 포워딩 설정을 초기화합니다. (본 실습 예제에서는 미터프리터 쉘의 "portwd flush" 명령어 사용)

⬇

STEP7.거점 시스템에서 수집된 패킷 분석
실습용 가상머신:Victim_Window10
- 거점 시스템(Victim)에서 수집된 패킷을 분석해 보면 SSH 패킷이 거점 시스템(192.168.10.50)을 통해서 동일 네트워크에 있는 SSH 서버(192.168.10.30)에 세션 연결이 발생했음을 알 수 있습니다.

강의 요약
- 포스트 익스플로잇 단계에서 표적 네트워크에 존재하는 시스템에 접근하기 위해서는 피버팅(Pivoting) 환경이 조성되어 있어야 합니다.
- 피버팅(Pivoting) 환경 조성을 위해 대표적으로 수행하는 일 중 하나가 포트 포워딩을 통한 패킷 릴레이며, 말 그대로 포트로 수신되는 메시지(응영계층의 헤더와 페이로드)를 원격 네트워크의 호스트 및 포트로 포워딩하는 기술입니다.
- 거점 시스템을 프록시(Proxy)로 활용하여 패킷을 릴레이하는 방식은 포트 포워딩 외에도 "SOCKS 프록시" 등을 활용할 수 있습니다. SOCKS 프록시는 IP 및 포트 수준의 릴레이를 할 수 있기 때문에 설정만 잘 된다면 원격 네트워크에 VPN연결을 수행한 것과 같이 자유롭게 시스템을 접근할 수 있습니다.
출처: KISA 정보보호제품군 실습 훈련 기초2
728x90
반응형
'cs > sec' 카테고리의 다른 글
| 웹 서비스 해킹을 위한 버프스위트 활용 가이드 (1) | 2025.12.19 |
|---|---|
| [인프라와 웹의 위협기술]7. 윈도우의 권한상승 케이스 분석 - Fodhelper UAC Bypass (0) | 2025.12.18 |
| [인프라와 웹의 위협기술]5. 전송계층 프로토콜 기반 포트 스캐닝 실습 - 메타스플로잇 모듈 활용 (0) | 2025.12.16 |
| [인프라와 웹의 위협기술]4. ARP 기반 라이브 호스트 스캐닝 실습 - 파워쉘 스크립트 활용 (1) | 2025.12.11 |
| [인프라와 웹의 위협기술]3. ARP 기반 라이브 호스트 스캐닝의 개념 (1) | 2025.12.10 |