1 분 소요

☀️공지 사항☀️ 해당 페이지는 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 등

댓글 남기기