스킬캠퍼스
4강 · 취약점 스캐닝
강의

오늘 끝나면

취약점 스캐닝

  • 취약점 스캐닝의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 취약점이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

알려진 구멍(CVE)을 자동으로 훑기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

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

화이트해킹 · 04

취약점
스캐닝

새 구멍을 발명하는 게 아님. 이미 공개된 구멍을 자동으로 훑는 것임.
버전을 알아내고 · 취약점 DB에 대조하고 · 위험도를 매김.
패치 안 한 구버전이 1순위 표적임. 그래서 방어는 단순함 — 패치.

P.01화이트해킹 · 04

스캐닝은 알려진 구멍을 훑는 일

취약점 스캐닝 하면 천재 해커가 새 구멍을 뚫는 그림을 떠올림. 현실은 반대임.

스캐너가 찾는 건 이미 알려진 취약점임.
누군가 발견해서 공개하고 · 번호(CVE)가 붙고 · DB에 등록된 구멍.
그 목록을 들고 대상 시스템을 빠르게 훑어보는 자동 도구임.

그래서 핵심은 속도임. 사람이 일일이 점검하면 며칠이 걸림.
스캐너는 수천 개 항목을 몇 분에 대조함.
공격자만 쓰는 도구 아님 — 방어팀이 자기 시스템을 먼저 훑어 구멍을 메우는 데 더 많이 씀.

모르는 구멍 X · 이미 공개된 구멍 O
스캐너의 사정거리

이미 공개된 구멍

CVE 등록됨 · 스캐너가 잡음

패치로 메운 구멍

최신 버전엔 없음

아무도 모르는 구멍

제로데이 · DB에 없어 못 잡음

스캐너 = 공개된 목록 대조기. 모르는 건 못 찾음

P.02화이트해킹 · 04

CVE — 구멍마다 붙는 주민번호

취약점은 말로 부르면 헷갈림. 그래서 전 세계가 같은 번호로 부르기로 함.

그게 CVE임 — Common Vulnerabilities and Exposures.
공개된 취약점 하나에 CVE-연도-일련번호 형태의 고유 번호가 붙음.
제품·버전·증상이 함께 DB에 기록됨.

번호가 붙었다는 건 이미 세상에 공개됐다는 뜻임.
공격자도 보고 · 방어자도 봄. 같은 목록을 양쪽이 들고 있음.
먼저 메우는 쪽이 이김 — 공개됐는데 안 막은 시스템이 표적이 됨.

구멍 하나 = CVE 번호 하나
CVE 번호 뜯어보기
CVE-2099-1042

접두어

CVE

공개 연도

2099

일련번호

1042

구멍 하나 = 전 세계 공통 번호 하나 (위 번호는 가상 예시)

P.03화이트해킹 · 04

버전을 알아내 DB에 대조한다

스캐너의 핵심 동작은 두 단계임. 버전을 알아내고 · DB에 대조함.

소프트웨어는 자기 버전을 곳곳에 흘림.
응답 헤더의 배너 · 에러 페이지 · 기본 파일 이름.
이걸 모아 제품 + 버전을 특정함. 3강에서 본 정찰의 연장임.

오른쪽에서 직접 해봄. 가상 DB라 실제 공격은 없음.
소프트웨어와 버전을 고르면 그 버전에 걸리는 CVE와 위험도가 뜸.
버전을 올려보셈 — 패치된 최신 버전을 고르면 매칭이 사라짐. 이게 핵심임.

버전 식별 → 취약점 DB 매칭
CVE 매칭 · 가상 취약점 DB
입력 — 소프트웨어
입력 — 버전 식별

배너·헤더에서 캐낸 OpenWeb 서버 v1.2 을 DB와 대조함.

출력 — 대조 결과
3건 / 최고 CVSS 9.8
9.8CVSS
CVE-2099-1001치명

인증 우회 — 원격에서 관리자 권한

→ v1.4 에서 패치됨

7.5CVSS
CVE-2099-1002높음

경로 조작으로 파일 노출

→ v1.6 에서 패치됨

5.3CVSS
CVE-2099-1003보통

에러 페이지에 내부 경로 노출

→ v2.0 에서 패치됨

전부 교육용 가상 DB임. 버전을 올려보면 매칭이 줄어듦 — 스캐너가 찾는 건 이미 공개된 구멍뿐이라 패치하면 사라짐.

P.04화이트해킹 · 04

CVSS — 위험도를 0~10으로

구멍 100개가 나와도 다 똑같이 급하지 않음. 우선순위가 필요함.

그래서 CVSS로 점수를 매김 — 0.0부터 10.0까지.
원격에서 되나 · 권한이 필요한가 · 뚫리면 피해가 얼마나 큰가를 따져 한 숫자로 압축함.
9.0 이상은 치명, 7.0대는 높음, 그 아래는 보통·낮음으로 나뉨.

방어팀은 이 점수로 일의 순서를 정함.
치명적이고 · 인터넷에 노출됐고 · 패치가 나온 것부터 막음.
숫자가 높다고 무조건 먼저가 아니라, 노출 여부까지 묶어서 봐야 진짜 위험이 보임.

구멍의 위험도를 숫자로 매김
CVSS · 위험도 0~10
9.010.0
치명
7.08.9
높음
4.06.9
보통
0.13.9
낮음

높을수록 급함 · 노출 여부까지 묶어 우선순위 정함

P.05화이트해킹 · 04

패치가 최선의 방어

스캐닝이 찾는 건 이미 공개된 구멍임. 공개됐다는 건 보통 패치도 나와 있다는 뜻임.

그래서 방어가 허무할 만큼 단순함 — 버전을 올리면 됨.
패치된 버전에는 그 CVE가 없음. 스캐너가 짚을 게 사라짐.
공격자가 노리는 건 늘 패치 안 한 구버전임.

현실에서 침해의 큰 몫이 이미 패치 나온 오래된 구멍에서 터짐.
그래서 자산 목록을 만들고 · 정기적으로 스스로 스캔하고 · 버전을 최신으로 유지하는 게 기본 방어임.
당장 못 올릴 땐 노출을 줄임 — 내부망으로 숨기거나 접근을 막아 표적 면을 좁힘.

Q. 취약점 스캐닝이 찾아내는 것은? (아무도 모르는 새 구멍 · 이미 공개된 알려진 구멍 · 사용자 비밀번호 · 네트워크 속도)정답은 이미 공개된 알려진 구멍임.
스캐너는 CVE로 등록·공개된 취약점 목록을 들고 버전을 대조함.
공개됐다는 건 보통 패치도 나와 있다는 뜻 — 그래서 패치로 막힘.
아무도 모르는 새 구멍(제로데이)은 DB에 없어서 스캐너로는 못 잡음.
공개 → 패치 나옴 → 안 올린 구버전이 표적
공개 → 패치 → 안 올리면 표적
구멍 발견 · 공개CVE 번호 붙음
패치 버전 배포벤더가 고친 버전 냄
안 올린 구버전여기가 표적이 됨

방어 = 버전 올리기. 패치된 버전엔 그 구멍이 없음

3줄 요약

  1. 1알려진 구멍(CVE)을 자동으로 훑기
  2. 2취약점 스캐닝은 기초·정찰 → 웹 취약점 → 시스템 침투 → 네트워크·IoT → 레드팀·AI 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

취약점

알려진 구멍(CVE)을 자동으로 훑기

익스플로잇

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

페이로드

공격이 실행할 실제 코드나 데이터