CTF 박스를 풀 때마다 옵션을 매번 검색해서 쓰다 보니, 자주 쓰는 조합을 여기 모아둠 초기 접근 포트별 체크리스트에서 쓰는 명령어들의 근거

기본 스캔 단계

단계명령목적
1. 빠른 포트 탐색nmap -p- --min-rate=1000 -T4 <IP>열린 포트만 최대한 빠르게 찾기
2. 상세 스캔nmap -sC -sV -p<포트들> <IP>기본 스크립트 + 버전 탐지
3. UDP 확인 (필요시)nmap -sU --top-ports 20 <IP>UDP는 느려서 상위 포트만

자주 쓰는 플래그

  • -sC: 기본 NSE 스크립트 세트 실행 (배너 정보 등 추가로 긁어옴)
  • -sV: 서비스/버전 탐지 — 취약점 검색의 출발점
  • -O: OS 탐지 (권한 필요, 100% 정확하진 않음)
  • -A: -sC -sV -O --traceroute를 한 번에 (편하지만 느림)
  • --min-rate=1000: 초당 최소 패킷 전송 속도 강제 (느린 환경에서 스캔 속도 확보)
  • -oN <file>: 결과를 사람이 읽기 좋은 형식으로 저장 (나중에 다시 참고할 때 필수)

NSE 스크립트 카테고리 감각

nmap --script=vuln -p<포트> <IP>   # 알려진 취약점 스캔
nmap --script=smb-enum-shares -p445 <IP>   # 특정 기능 타겟팅

--script=vuln은 편리하지만 오탐도 있고 스캔 시간이 길어지므로, 초기 정찰보다는 “이 서비스 좀 더 깊게 보고 싶을 때” 쓰는 편이 낫다는 걸 여러 번 겪으며 배웠음

방화벽/IDS 우회가 필요할 때 (제한적으로)

  • -T2처럼 스캔 속도를 늦추면 IDS 탐지를 줄일 수 있지만, 시간이 오래 걸린다는 트레이드오프가 있음
  • -Pn: 호스트 살아있는지 ping으로 먼저 확인하는 단계를 생략 (ICMP가 막혀 있는 환경에서 유용)

더 채워야 할 것

  • NSE 커스텀 스크립트를 직접 짜본 적이 없어서, 간단한 것부터 하나 만들어보고 싶음
  • 방화벽 우회 기법(fragmentation, decoy)은 아직 이론으로만 알고 실습이 부족함