스킬캠퍼스

오늘 끝나면

중간자 공격

  • 중간자 공격의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 중간자이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

ARP 스푸핑 — 둘 사이에 끼어들기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

화이트해킹 · 14

중간자
공격

둘 사이에 몰래 끼어 앉는다.
오가는 말을 다 보고 바꿔치기까지 한다.
막는 핵심은 HTTPS와 인증서 검증이다.

P.01화이트해킹 · 14

둘 사이에 끼어 가로채고 바꿈

중간자 공격(MITM)은 단순하다. 둘이 주고받는 길 한가운데에 몰래 끼어 앉는 것이다.

나와 서버는 직접 말한다고 믿지만 실은 공격자를 거쳐 간다.
내 글은 공격자 손을 한 번 거쳐 서버로 가고, 서버의 답도 공격자를 거쳐 나에게 온다.

끼어 앉으면 두 가지를 한다.
하나는 엿보기다. 오가는 내용을 그대로 읽는다.
하나는 바꿔치기다. 계좌번호와 금액, 받는 사람을 슬쩍 고쳐 보낸다.
나도 서버도 중간에 누가 있는 줄 모른다. 그게 가장 무서운 점이다.

A↔B 사이 · 공격자가 중계자가 됨
나 ↔ 서버 · 가운데 끼어든 공격자
공격자중간 중계자서버직접 말한다고 믿는 길
엿보기

내용을 읽음

바꿔치기

글자를 고침

P.02화이트해킹 · 14

ARP 스푸핑으로 길을 빼앗음

같은 와이파이에서 길 한가운데로 끼어드는 흔한 방법이 ARP 스푸핑이다.

ARP는 같은 망 안에서 “이 IP 가진 사람 누구냐, MAC 주소 알려줘”를 묻는 방송이다.
그런데 답을 검증 없이 믿는다. 먼저 큰 소리로 답한 쪽을 그냥 받아 적는다.

공격자는 여기를 노린다.
내 기기엔 “공유기는 나야”라고 거짓 답을 뿌리고, 공유기엔 “그 기기는 나야”라고 뿌린다.
양쪽 주소표가 공격자로 덮어써지고, 이제 모든 트래픽이 공격자를 거친다.
공격자는 받아서 그대로 넘겨주기만 하면 된다. 둘 다 평소처럼 보인다.

공유기 행세 · 거짓 주소표를 심음
ARP 스푸핑 · 거짓 주소표 심기
ARP의 약점

“이 IP 누구냐”에 답을 검증 없이 믿는다 · 먼저 답한 쪽을 받아 적는다

!

공격자 → 나

공유기는 나야

거짓
!

공격자 → 공유기

그 기기는 나야

거짓
양쪽 주소표가 공격자로 덮이고 모든 트래픽이 가운데를 거친다
P.03화이트해킹 · 14

ARP 스푸핑 직접 해보기

실제 공격이 아니라 길이 어떻게 휘는지 보는 개념 시뮬이다.

평소엔 내 기기에서 공유기를 거쳐 서버로 똑바로 간다.
ARP 스푸핑을 켜면 길이 공격자를 거치도록 휘어서, 패킷이 가운데를 한 번 들른다.

핵심은 마지막 스위치다.
인증서 검증 OFF면 끼어들어도 나도 서버도 모르고 그냥 통한다.
인증서 검증 ON이면 공격자가 내민 가짜 신분증이 들통나고, 연결이 끊기고 경고가 뜬다.

정상 경로 vs 끼어든 경로 · 검증 ON이면 탐지
ARP 스푸핑 시뮬 · 패킷이 지나는 길
공유기서버
상태
정상 통신

나 → 공유기 → 서버로 똑바로 간다. 가운데 끼어든 자가 없다.

안전, HTTPS + 인증서 검증이 MITM을 막음

P.04화이트해킹 · 14

HTTPS, 봉투를 봉인하기

끼어드는 걸 다 막긴 어렵다. 그래서 끼어들어도 못 읽고 못 바꾸게 만드는 것이 HTTPS다.

평문(http)은 엽서라서 거치는 사람이 다 읽고 글자도 고친다.
HTTPS는 봉인된 봉투다. 가운데서 뜯으면 표가 나고 내용도 암호라 못 읽는다.

그래서 ARP 스푸핑으로 길을 빼앗아도 손에 들어오는 건 암호 덩어리다.
읽지도 못하고, 글자를 바꾸면 봉인이 깨져 서버가 버린다.
엿보기와 바꿔치기가 동시에 막힌다.

평문 엽서 vs 봉인된 봉투
평문 엽서 vs 봉인된 봉투
http · 엽서

송금: 받는 사람 = 철수

가운데서 읽고 글자도 고친다
https · 봉투

x9$#k2..암호..7Qz%

못 읽고 · 고치면 봉인 깨진다
엿보기와 바꿔치기 둘 다 막힌다
P.05화이트해킹 · 14

방어, 인증서 검증과 HSTS

봉투만으론 부족하다. 공격자가 “내가 그 서버야” 하며 자기 봉투를 내밀 수 있다. 그래서 신분증을 본다.

서버는 인증기관(CA)이 서명한 인증서로 자기가 진짜 bank.com임을 증명한다.
공격자는 그 서명을 위조하지 못한다. 가짜 인증서를 내밀면 브라우저가 경고를 띄운다.
이 경고를 절대 무시하지 않는 게 MITM 방어의 절반이다.

남은 절반은 HSTS다.
서버가 “앞으로 이 사이트는 무조건 HTTPS로만 와”라고 못 박는 규칙이다.
공격자가 슬쩍 http로 떨어뜨리려 해도 브라우저가 거부한다. 평문으로 샐 틈을 없앤다.

Q. 중간자 공격(MITM)을 막는 것은? (와이파이 비밀번호 길게 · 서버 인증서 검증 + HTTPS · 화면 밝기 · 쿠키 삭제)정답은 서버 인증서 검증 + HTTPS다.
HTTPS가 내용을 봉인해 엿보기와 바꿔치기를 막는다.
인증서 검증이 가짜 서버를 걸러낸다. 가짜면 경고가 뜬다.
여기에 HSTS로 http 강등까지 막으면 끼어들 자리가 사라진다.
가짜 신분증 거르기 · http로 못 새게
MITM 방어 3겹
1

HTTPS

내용을 봉인해 못 읽고 못 바꾼다

2

인증서 검증

가짜 서버를 걸러내고 가짜면 경고

3

HSTS

http 강등을 차단해 평문으로 못 샌다

세 겹이 겹치면 끼어들 자리가 사라진다 · 경고는 절대 무시 금지

3줄 요약

  1. 1ARP 스푸핑 — 둘 사이에 끼어들기
  2. 2중간자 공격은 기초·정찰 → 웹 취약점 → 시스템 침투 → 네트워크·IoT → 레드팀·AI 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

중간자

ARP 스푸핑 — 둘 사이에 끼어들기

취약점

공격에 악용될 수 있는 시스템의 약점

익스플로잇

취약점을 실제로 이용하는 코드나 기법