hhkb.dev

BLOG

2025-11-13 / 호스트기반모의해킹 · 02

공격 관점의 네트워킹과 OSI

1. 개요

이 문서는 일반적인 네트워크 이론을 그대로 반복하기보다, 공격 관점에서 자주 다시 보게 되는 네트워킹 개념과 OSI 계층별 위험 포인트를 정리한다.

2. 모의해킹 필수 네트워킹 개념

2.1 포트(Port): "아파트의 창문"

일반 이론에서 포트는 프로세스 식별자로 설명되지만, 모의해킹 쪽에서는 외부에서 닿을 수 있는 통로라는 감각으로 보는 편이 더 직관적이다.

호스트를 아파트라고 보면 포트는 현관문이나 창문에 가깝다.

  • Open(열림): 바깥에서 닿을 수 있는 상태다. 예를 들면 80, 22 같은 포트가 여기에 해당할 수 있다.
  • Closed(닫힘): 외부에서 바로 접근할 수 없는 상태다.
  • 핵심: 보통은 잠긴 문을 억지로 여는 것보다, 이미 열려 있는 통로를 먼저 찾는 데 집중하게 된다.

2.2 로컬 호스트(Localhost): "나만의 테스트 공간"

로컬 호스트는 현재 사용하는 자기 자신을 가리키는 특수 호스트 이름이고, 보통 127.0.0.1에 매핑된다.

공격 관점에서는 이 차이를 꼭 이해해야 한다.

  • 서비스가 0.0.0.0이 아니라 127.0.0.1에만 바인딩되어 있으면 외부에서는 직접 접근할 수 없다.
  • 취약한 서비스가 127.0.0.1:8080처럼 내부에서만 열려 있으면, 외부 스캔으로는 바로 드러나지 않는다.

3. OSI 7계층 모델과 계층별 공격 벡터(Attack Vectors)

각 계층은 역할과 프로토콜이 다르기 때문에, 문제가 발생하는 지점도 계층마다 다르게 나타난다. 그래서 어떤 위험이 어느 계층과 맞닿아 있는지 구분해 보는 습관이 중요하다.

L1 - 물리 계층(Physical Layer)

주요 요소는 광섬유, 케이블, 실제 물리 연결이다.

  • Bad USB: USB 장치 자체가 위험 요소가 되는 경우다.
  • Sniffing(도청): 물리 구간에서 데이터를 가로보는 유형이 여기에 걸친다.

주요 프로토콜은 MAC, ARP, PPP다.

  • MAC/ARP Spoofing: 식별 정보를 속여 네트워크 흐름에 끼어드는 유형이다.
  • VLAN Hopping: 분리된 네트워크 경계를 잘못 탄 경우를 말한다.

L3 - 네트워크 계층(Network Layer)

주요 프로토콜은 IP, ICMP다.

  • MITM(Man-In-The-Middle): 통신 경로 중간에 끼어드는 형태다.
  • Ping of Death: 과거형 사례로 자주 언급되는 ICMP 기반 문제다.

L4 - 전송 계층(Transport Layer)

주요 프로토콜은 TCP, UDP, SSL/TLS다.

  • Port Scanning: 열려 있는 포트를 확인하는 활동이 여기에 걸친다.
  • SYN Flood: 연결 요청을 과도하게 보내 자원을 소모시키는 유형이다.

L5 - 세션 계층(Session Layer)

주요 요소는 세션 관리(Session Management), SIP, RTP 같은 흐름이다.

  • Session Hijacking: 정당한 사용자 세션을 탈취하는 유형이다.
  • Brute Force: 인증 구간을 반복 대입으로 흔드는 방식이 여기에 걸친다.

L6 - 표현 계층(Presentation Layer)

주요 요소는 데이터 포맷(JPG, DOCX, XML), 인코딩, 암호화다.

  • Malicious Embedding: 정상 파일처럼 보이는 형식 안에 다른 내용을 숨기는 유형이다.
  • Phishing Payload: 문서나 첨부파일 형태로 전달되는 위험이 대표적이다.

L7 - 응용 계층(Application Layer)

주요 프로토콜은 HTTP, FTP, SMTP다.

  • Web Attacks: SQL Injection, XSS처럼 애플리케이션 로직과 맞닿은 문제가 많다.
  • Malware Injection: 파일 처리 기능과 연결되어 문제가 커질 수 있다.
  • DDoS(L7): 웹 요청 자체를 과도하게 보내는 유형이 여기에 포함된다.

결국 먼저 봐야 하는 건 타겟이 어떤 프로토콜을 쓰는지다. 그다음 그 프로토콜이 걸린 계층에 맞춰 어떤 위험이 현실적인지 판단하는 흐름으로 가면 된다.