Nuclei - 템플릿 기반 취약점 스캐너

2026. 5. 18. 14:47·모의해킹

1.Nuclei 란?

ProjectDiscovery에서 만든 템플릿 기반 취약점 스캐너이다.

 

일반적은 웹 취약점 스캐너처럼 모든 로직이 도구 내부에 고정되어 있는 방식이 아니고

템플릿 기반으로 특정 취약점, 설정 오류, 노출 정보, 패널, CVE 등을 탐지한다.

 

쉽게 설명하면 이미 정의된 점검 항목을 빠르게 스캔하는 도구에 가깝다.

2. 설치방법

2-2. go install을 이용한 설치

go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest

 

2-3. 설치 후 버전확인

 

가끔 go를 이용한 설치를 해도 최신버전을 안 가져올 때가 있다.

install 했을 때는 3.8.0 버전인데 실제로 버전을 출력해 보면 3.7.1로 표시되어 있다.

 

2-4. Nuclei 자체 업데이트

sudo nuclei -update

 

자체 업데이트를 시키면 최신 업데이트를 해준다.

 

2-5. 템플릿 업데이트

sudo nuclei -update-templates

 

Nuclei는 템플릿 기반 스캐너이기 때문에 엔진만 설치해서는 의미가 없다.

실제로 취약점 탐지에 사용되는 템플릿도 함께 받아야 한다.

3. 사용

3-2. 옵션 없이 사용

nuclei -u https://테스트대상

 

먼저 옵션을 아무것도 주지 않고 기본 값으로 실행해 본 결과 Nuclei가 한꺼번에 너무 많은 패킷을 보내자 타깃 서버 WAF나 보안 시스템이 이를 공격으로 인지하고 차단을 한 거 같다.

 

3-2. 속도 제한 설정 스캔

nuclei -u https://[타겟주소] -rate-limit 1 -bulk-size 1 -timeout 10

 

속도를 초당 1건( -rate-limit 1)으로 낮추어 방화벽을 우회해 보려고 시도한 단계이다.

옵션 없이 실행했을 때보다는 오래 걸렸지만 파일 시스템 접근 과정에서 타임아웃 당해 끝까지 스캔을 못했다.

 

3-3. 정찰용(Recon) 스캔

nuclei -u https://[타겟주소] -s info,low -tags tech,panel,exposure,misconfig -etags fuzz,brute,dos -ept headless,code,javascript -rl 3 -c 3 -bs 2 -timeout 5 -retries 0 -ni -o recon-scan-result.txt

 

  • -s info, low: 서버를 타격하는 공격 코드 대신 안전한 정보성 체크만 수행
  • -tags tech, panel, exposure, misconfig: 웹 기술, 관리자 페이지 노출, 설정 오류 등 정찰에 꼭 필요한 데이터만 수집
  • -rl 3 -c 3 -bs 2: 초당 요청 수를 3회 이하로 제어하여 방화벽의 탐지 임계치를 넘지 않게 설정
  • -ni: 외부 OAST 서버와의 임의 통신을 차단하여 불필요한 아웃바운드 흔적을 남기지 않음
  • -o recon-scan-result.txt: 스캔이 끝나면 발견된 12개의 결과가 현재 폴더에 텍스트 파일로 자동 저장

 

 

속도를 늦추고 공격성 페이로드를 완전히 제외시킨 설정이다.

위험도가 낮은 정보성 (info, low) 템플릿과 기술 탐지 태그만 사용했기 때문에 WAF가 악성 공격이 아닌 일반적인 사용자의 웹 서핑 트래픽으로 판단하게끔 유도하여 스캔을 진행한다.

 

총 12개 (낮은 위험) 취약점을 발견했다. [보안 헤더 설정 누락]

 

3-4. 스텔스 스캔

nuclei -u https://[타겟 이름] -s medium,high,critical -tags cve,rce,sqli,ssrf,lfi,misconfig -etags fuzz,brute,dos,xss -rl 1 -c 1 -bs 1 -timeout 10 -retries 0 -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" -ni -o stealth-strong-scan.txt

 

  • -s medium, high, critical: 단순 정보 수집을 제외하고, 시스템 권한 탈취나 데이터 유출이 가능한 고위험군 취약점만 조준
  • -tags cve, rce, sqli, ssrf, lfi, misconfig: 원격 코드 실행(RCE), 데이터베이스 변조(SQLi), 파일 유출(LFI) 등 치명적인 침투 공격 패턴만 선택
  • -etags fuzz, brute, dos, xss: 트래픽 낭비가 심하고 방화벽에 100% 걸리는 무작위 대입, 서비스 거부, XSS 패턴을 강제 제외
  • -rl 1 -c 1 -bs 1: 모든 요청 및 동시성을 최소치(1)로 제한하여, 일반 사용자가 천천히 클릭하는 속도로 위장
  • -timeout 10 -retries 0: 응답 지연 시 10초간 조용히 대기하며, 실패해도 재시도하지 않아 동일 공격이 반복되는 흔적을 차단
  • -H "User-Agent: Mozilla/5.0...": Nuclei 도구 이름표를 숨기고 실제 최신 구글 크롬 브라우저를 쓰는 것처럼 서버를 기만
  • -ni: 외부 검증 서버와의 통신을 차단하여 보안 모니터링 시스템에 의심스러운 아웃바운드 흔적을 남기지 않음
  • -o stealth-strong-scan.txt: 스캔이 끝난 후 탐지된 고위험군 취약점 결과를 지정한 텍스트 파일에 실시간으로 기록

 

테스트 서버라 그런지 잘 못 찾긴 하지만 실제 쓰이는 사이트 같은 경우에는 잘 작동된다. 

4. 마치며

 

옵션을 어떻게 사용하냐에 따라 다른 결과를 보여주듯이 활용을 잘하면 될 거 같다.

 

허락된 대상에게만 사용해야 한다.

'모의해킹' 카테고리의 다른 글

ALR(Availability Low Reconnaissance) - OSINT  (0) 2026.05.20
httpx - HTTP tool kit  (0) 2026.03.06
Subfinder - OSINT  (0) 2026.03.06
HashTab - (파일 무결성 확인)  (0) 2026.01.08
SSL Labs - 웹 서버 SSL/TLS 구성 진단 플랫폼  (0) 2025.11.21
'모의해킹' 카테고리의 다른 글
  • ALR(Availability Low Reconnaissance) - OSINT
  • httpx - HTTP tool kit
  • Subfinder - OSINT
  • HashTab - (파일 무결성 확인)
G_OM
G_OM
최대한 설명 열심히 하려고 합니다. 궁금한 거 있으면 언제든지 물어보셔도 좋습니다.
  • G_OM
    끄적끄적
    G_OM
  • 전체
    오늘
    어제
    • 분류 전체보기 (163)
      • 모의해킹 (22)
      • CTF (22)
      • Wargame (69)
        • Linux_bandit (33)
        • Webhacking.kr (36)
      • DreamHack (52)
        • WEB (14)
        • Reverising (9)
        • System (0)
      • Mobile_security (14)
        • Drozer_Android (4)
        • Frida_Android (1)
        • IOS (2)
        • tool (1)
      • 정보보안기사 (2)
      • IT? (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.0
G_OM
Nuclei - 템플릿 기반 취약점 스캐너
상단으로

티스토리툴바