725. 스캐닝 (Port Scanning) 공격 - Full Open vs Stealth 스캔
핵심 인사이트: 도둑이 빈집을 털기 전 가장 먼저 하는 일은? 101호부터 105호까지 복도를 걸어가며 문고리를 철컥철컥 다 돌려보는 것이다. 열린 문이 있으면 그 집이 타겟이 된다. 사이버 세계의 도둑(해커)도 서버를 털기 전, 1번부터 65535번까지의 포트(문고리)를 일일이 찔러보며 "어디 열린 구멍 없나?" 확인한다. 이것이 스캐닝이다. 들키지 않고 문고리를 돌리는 은밀한 수법(Stealth)이 진화의 핵심이다.
Ⅰ. 포트 스캐닝 (Port Scanning)의 개념
- 해커가 본격적인 해킹 공격을 감행하기 전, 타겟 서버(컴퓨터)에 어떤 포트(Port, 서비스 입구)가 열려있고 어떤 프로그램이 돌아가고 있는지 탐색(정찰)하는 정보 수집 행위입니다.
- 유명한 해킹 툴인 Nmap, nmap, masscan 등이 쓰입니다. 80번이 열려있으면 웹 해킹을 시도하고, 22번이 열려있으면 비밀번호 무차별 대입 공격을 시도할 계획을 세웁니다.
Ⅱ. 스캐닝 공격의 2가지 양대 산맥 🌟
서버와 어떻게 통신을 시도하느냐에 따라 멍청한 스캔과 교묘한 스캔으로 나뉩니다.
1. Full Open 스캔 (TCP Connect 스캔) - "무식하고 시끄러운 문 따기"
- 원리: TCP 3-Way Handshake를 끝까지 100% 정상적으로 맺어봅니다.
- 해커가 서버 80번 포트에
[SYN]을 던집니다. - 서버가 포트가 열려있으면
[SYN+ACK]로 화답합니다. - 해커가 쿨하게
[ACK]로 화답하며 연결을 완벽하게 맺어버립니다. "아, 80번 열려있네!" 확인 완료.
- 해커가 서버 80번 포트에
- 치명적 단점 (기록이 다 남음): 통신이 100% 정상적으로 완성되었으므로, 타겟 서버의 보안 로그(장부)에 해커의 IP 주소와 방문 기록이 뚜렷하게 도장처럼 꽝 박혀버립니다. 방화벽 관리자가 아침에 출근해 로그를 보고 "이놈이 밤새 내 서버 포트를 털어보려고 쑤셨구나!"라며 해커 IP를 경찰에 넘길 수 있습니다.
2. Stealth 스캔 (Half Open / TCP SYN 스캔) - "흔적 없는 닌자 문고리 돌리기" 🌟
해커가 로그 장부에 자기 흔적을 남기지 않기 위해 발명한 꼼수 스캔입니다. 보안 전문가들이 가장 애용하는 스캔(nmap의 -sS 옵션)입니다.
- 원리: TCP 3-Way Handshake를 일부러 끝까지 안 맺고 중간에 끊어버립니다 (Half-Open).
- 해커가 서버에
[SYN]을 던집니다. - 서버가
[SYN+ACK]로 화답합니다. (여기까지 보면 "오 80번 열려있군!" 정보 획득 끝) - 닌자 회피술: 해커는
[ACK]를 보내는 대신, 돌연[RST](리셋, 강제 종료) 패킷을 냅다 던져버리며 싹 도망쳐버립니다.
- 해커가 서버에
- 효과 (스텔스 마법): 서버의 OS는 최종
[ACK]를 못 받았기 때문에 "아, 연결이 실패했네. 그냥 지나가던 쓰레기 패킷인가 보네"라고 착각하고, 서버의 시스템 로그(방문자 장부)에 이 연결 시도 자체를 아예 적지 않습니다. 해커는 포트가 열려있다는 정보만 쏙 빼먹고 로그 흔적 없이 유유히 사라지는 완벽한 스텔스 정찰을 완성합니다.
Ⅲ. 다양한 Stealth 스캔의 꼼수들 (FIN, X-MAS, NULL)
방화벽을 속이기 위해 692번, 716번 문서에서 배운 비정상 플래그 조합을 씁니다.
- FIN 스캔: 연결을 끊자는
[FIN]깃발만 띡 던져봅니다. 포트가 닫혀있으면 "너 나랑 연결된 적 없는데 웬 헛소리야!"라며[RST]를 뱉어내고, 열려있으면 그냥 무시(아무 반응 없음)하는 특징을 이용해 포트 오픈 여부를 짐작합니다. - X-MAS 스캔: 앞서 배운 크리스마스 공격처럼 모든 플래그를 비정상적으로 켜서 방화벽 혼란을 유도하며 반응을 봅니다.
📢 섹션 요약 비유: Full Open 스캔은 밤중에 남의 집 초인종을 딩동 누르는 짓입니다. 주인이 문을 열면 "아, 문 열려 있네요! 안녕히 계세요!" 하고 도망갑니다. 당연히 주인의 블랙박스(서버 로그)에 도둑의 얼굴이 100% 찍힙니다. Stealth(Half-Open) 스캔은 주인이 문을 1cm쯤 여는 찰나의 순간에, 문을 쾅 닫아버리고 도망가는 짓입니다. 주인은 문이 바람에 흔들렸나 착각하고 방문자 장부에 아무것도 안 적고 돌아섭니다. 해커는 "안에서 사람이 문을 열려고 하는 거 보니 빈집이 아니군!"이라는 꿀 정보만 얻고 지문 하나 안 남기는 완벽한 닌자 정찰기법입니다.