오늘 끝나면
정찰
- ✓정찰의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 정찰이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
공격은 정보 수집부터 — OSINT·포트 스캔 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
화이트해킹 · 03
정찰
먼저 본다
공격은 익스플로잇이 아니라 정보 수집부터 시작함.
상대가 뭘 가졌는지 모르면 어디도 못 침.
방어자는 같은 시야를 먼저 가져 — 줄일 수 있음.
공격은 정보 수집부터
영화는 해커가 키 몇 번 두드려 뚫음. 현실은 정찰이 9할임.
정찰은 표적의 지도를 그리는 일임. 어떤 서버가 살아있나 · 어떤 서비스가 도나 · 어떤 버전을 쓰나 · 누가 관리하나.
이 지도가 없으면 어떤 공격도 헛손질임.
크게 둘로 나뉨.
공개정보를 줍는 OSINT / 직접 두드려 보는 능동 스캔.
앞은 흔적이 안 남고 뒤는 남음 — 순서가 그래서 중요함.
영화는 침투부터 — 현실은 정찰이 9할임
OSINT — 공개된 단서
OSINT는 공개된 정보만으로 표적을 조립하는 것임. 침입 아님 — 줍는 것임.
회사 홈페이지 · 채용공고 · 깃허브 · 도메인 등록정보 · 검색엔진 캐시에 이미 단서가 흩어져 있음.
채용공고의 “AWS · Spring · MySQL 경험자” 한 줄이 곧 기술 스택 지도임.
서브도메인 하나, 유출된 이메일 형식 하나가 진입의 실마리가 됨.
방어 관점에선 — 우리가 무심코 공개한 것이 공격자의 첫 장임. 채용공고 · 깃 커밋 · 에러 페이지에서 내부 정보가 새는지 점검해야 함.
포트 스캔 — 어디가 열렸나
능동 스캔의 핵심은 포트 스캔임. 호스트의 문(포트)을 하나씩 두드려 응답을 봄.
오른쪽에서 직접 해봄. 스캔을 돌리면 포트마다 셋 중 하나로 응답함.
열림 서비스가 살아 응답함 · 닫힘 문은 있지만 안 받음 · 필터됨 방화벽이 응답 자체를 삼킴.
열린 포트가 공격자가 가장 반기는 칸임 — 살아있는 서비스 = 진입점 후보.
방화벽 토글을 켜 보셈. 본래 열림·닫힘이 전부 필터됨으로 가려져 — 표적의 윤곽이 흐려짐. 이게 방어의 첫 수임.
아직 안 두드림. 스캔하면 어떤 포트가 응답하는지 드러남.
공격 표면이 넓을수록 위험
공격 표면은 외부에서 닿을 수 있는 모든 진입점의 합임. 넓을수록 위험함.
포트 하나하나, 서비스 하나하나, 안 쓰는 옛 페이지 하나하나가 다 표면임.
공격자는 가장 약한 한 점만 찾으면 됨. 방어자는 모든 점을 다 지켜야 함 — 애초에 불공평한 싸움임.
그래서 방어의 정석은 단순함 — 표면을 줄이는 것.
안 쓰는 포트는 닫고 · 불필요한 서비스는 끄고 · 공개정보는 최소화함.
가장 안전한 포트는 처음부터 열려있지 않은 포트임.
노릴 점 11개
노릴 점 2개
줄이기 — 방어자의 정찰
정찰은 공격자만의 도구가 아님. 방어자가 먼저 자기 자신을 스캔해야 함.
공격자가 보는 지도를 내가 먼저 그리면 — 내가 모르던 열린 포트, 잊고 방치한 서버, 새는 정보가 드러남.
이게 자산 인벤토리이자 표면 관리임.
핵심은 하나임 — 공격은 보이는 것부터 시작하니, 안 보이게 만들면 시작 자체가 막힘.
줄이고 · 닫고 · 가린 만큼 안전해짐.
Q. 포트 스캔으로 알 수 있는 것은? (관리자 비밀번호 · 열린 서비스 · 내부 직원 수 · 데이터 내용)
정답은 열린 서비스임.포트 스캔은 어떤 포트가 응답하는지 — 즉 어떤 서비스가 살아 열려 있는지를 알려줌.
그게 곧 진입점 후보의 목록임.
비밀번호·데이터 내용은 그다음 단계의 일임. 정찰은 어디를 노릴지 고르는 단계임.
| 줄이는 수 | 효과 |
|---|---|
| 안 쓰는 포트 닫기 | 응답 사라짐 |
| 옛 서비스 끄기 | 표면 한 칸 줄음 |
| 공개정보 최소화 | OSINT 단서 차단 |
| 방화벽으로 가리기 | 필터됨 처리 |