Network & Port Fowading 개념
☀️공지 사항☀️ 해당 페이지는 Red Raccoon - PNT 학습 후 추가적인 개인 공부를 통해 재구성 및 실습한 내용입니다. 필자의 환경에 맞게 공부 및 실습을 진행하여 이 점 참고 바랍니다.
네트워킹 기초 개념
Network Interface Controller(NIC)
NIC는 네트워크 어탭터로도 불리는 컴퓨터와 네트워크 간 통신을 담당하는 하드웨어 장치이다.
피버팅과 망분리의 개념에서 NIC의 중요성은 바로 1개의 NIC 당 현재 침투/장악한 호스트가 1개의 네트워크에 연결되어 있다.이다. 따라서 초기 침투 이후 호스트를 장학했다면, 해당 호스트가 어떤 네트워크들과 연결되어 있는지 파악하기 위해 NIC 관련 정보를 확인해야한다.
NIC 확인 명령어
# Windows
ipconfig /all
# Linux
ip a
ifconfig
하나의 호스트에 다수의 NIC이 장착되어 있다면 Multi-Homed 호스트라고 부른다. 가장 흔한 형태는 2개의 NIC을 사용해 2개의 네트워크에서 동시 접근이 가능한 Dual-Homed 호스트이다.
여러개의 네트워크에 접근 가능한 호스트를 점프 호스트(Jump Host)라고도 부른다.
포트 포워딩
배경지식
- 피버팅(Pivoting): 시스템들을 이용해 네트워크 경계를 넘어 현재 위치에서 접근이 불가능한 네트워크 및 호스트에 접근하는 행위
- 포트 포워딩에 필요한 네트워킹 개념
- IP: 네트워크 상에서 컴퓨터나 장치를 식별하는 고유 주소 체계
- Port: 한 장치 내에서 특정 서비스를 식별하는 숫자. 여러 애플리케이션이 동시에 네트워크를 사용할 때, 각 서비스별로 포트 번호가 할당되어 통신 경로가 구분됨
- Network Socket: 네트워크 통신의 끝점 역할을 하는 소프트웨어 구조체이며, IP 주소와 포트 번호의 조합으로 특정 통신 세션을 구분함
- Network Packit/Trafic: 패킷은 네트워크를 통해 전송되는 데이터의 작은 단위이며, 트래픽은 네트워크 상에서 전송되는 모든 패킷의 흐름을 의미한다. 패킷 내부에는 데이터와 함께 라우팅에 필요한 정보가 포함됨
포트 포워딩 - 종류
- 로컬 포트 포워딩(Local Port Forwarding)
- 로컬 호스트의 포트에 트래픽을 전송하면, 원격 호스트의 포트에 트래픽을 전달
- 리버스 포트 포워딩(Reverse Port Forwarding)
- 원격 호스트의 포트에 전송된 트래픽을 로컬 호스트의 포트로 전달
- 다이나믹 포트 포워딩(Dynamic Port Forwarding)
- 원격 호스트를 프록시(Proxy) 삼아 로컬 호스트의 특정 포트에 트래픽을 전송하면, 동적으로(Dynamic) 목적지 호스트(들) + 포트(들)에 트래픽을 전달.
- 리버스 다이나믹 포트 포워딩(Reverse Dynamic Port Forwarding)
Local vs Remote
- 기준 - Local : Remote
- 클라이언트(시작 호스트)
- 서버(경유지/피벗 호스트)
- 클라이언트 기준
- 기준 - Forward : Reverse
- Forward: 시작 호스트 -> 경유지/피벗
- Reverse: 경유지/피벗 -> 시작 호스트
- 방향 기준
포트 포워딩 툴
- C2 프레임워크, SSH 등
- Metasploit + Meterpreter
- Cobalt Strike, Sliver …
- Chisel, Ligolo-ng 등
댓글 남기기