웹 취약점 평가에 사용되는 자동화 DAST(Dynamic Application Security Testing) 스캐너들 정리입니다.
◎ 상용 무료 버전 및 상용 도구
- Burp Suite Community Edition (무료 버전)
- 포트스위거에서 제공하는 무료 버전으로 Professional 버전이 연 $475인 반면 완전히 무료입니다.
- 인터셉터, 크롤러, 기본 스캐너 기능을 제공하지만, 자동 스캔 기능이 제한적이고 Brute Force 시 요청 속도 제한이 적용됩니다.
- 기본 웹 애플리케이션 보안 테스팅에는 충분하며, 패킷 인터셉트, 조회, 수정, 다양한 주입 기법 테스트 등이 가능합니다.
- Caido (부분 무료 버전)
- Burp Suite의 경량 오픈소스 대안으로 보안 연구자와 버그 바운티 헌터를 위해 설계되었습니다.
- HTTP/HTTPS 인터셉팅 프록시, 실시간 요청/응답 편집, 호스트 및 요청 구조의 트리 기반 보기, 스코프 및 규칙 기반 필터링, 패시브 엔드포인트 발견, HTTPQL을 통한 트래픽 필터링을 지원합니다.
- Rust(백엔드)와 TypeScript(프론트엔드)로 구축되어 뛰어난 성능과 낮은 학습 곡선을 특징으로 하며, CTF, 수동 테스팅, 경량 정찰에 이상적입니다.
- Nessus Essentials (무료 버전)
- Tenable의 Nessus Essentials는 30일 무료 라이선스를 제공하며 최대 16개 IP 주소를 스캔할 수 있습니다.
- 기본 취약점 스캔, 취약점 점수 매김, 기본 스캔 템플릿, 수정 지침을 포함하며, Professional 에디션은 무제한 IP 스캔과 커스터마이저블 보고서를 제공합니다.
◎ 오픈소스 DAST 스캐너
- OWASP ZAP (Zed Attack Proxy)
- 가장 인기 있는 오픈소스 DAST 도구로 세계에서 가장 널리 사용되는 웹 애플리케이션 스캐너이며, GitHub Top 1000 프로젝트입니다.
> 핵심 기능
- 패시브 스캔은 추가 요청을 전송하지 않고 HTTP 요청 및 응답을 분석하여 설정 오류, 보안 헤더 누락 등을 식별하며, 액티브 스캔은 특정 프로브를 전송하여 XSS, SQL Injection, 약한 세션 관리 등의 취약점을 탐지합니다.
- 기타 기능으로는 사전 기반 파일/폴더 검색, 크롤러를 통한 사이트 구조 파악, HTTP 요청/응답 인터셉트 및 수정, 스캔 정책 커스터마이제이션, 플러그인 확장 지원, REST API를 통한 CI/CD 통합이 있습니다.
- 연구에 따르면 테스트된 도구 중 가장 효과적인 DAST 도구로 평가되었으며, 특히 깨진 접근 제어, 안전하지 않은 설계, 보안 구성 오류 탐지에서 뛰어났습니다.
- w3af (Web Application Attack and Audit Framework)
- 웹 애플리케이션 테스트를 위해 특별히 설계된 DAST 프레임워크로, Discovery, Audit, Grep, Attack, Output, Mangle, Evasion, Bruteforce 플러그인을 통해 200가지 이상의 위협을 탐지합니다.
- GUI와 명령줄 인터페이스(w3afconsole)를 모두 제공하며 Linux, Mac, BSD에서 사용 가능합니다.
- Arachni
- 강력한 모듈식 아키텍처를 갖춘 웹 애플리케이션 보안 스캐너로, SQL Injection, XSS, CSRF, RFI, 디렉토리 순회, SSRF, NoSQL Injection, LDAP Injection 등을 감지합니다.
- CLI와 웹 기반 인터페이스 모두를 지원하며, 복잡한 웹 애플리케이션의 고급 크롤링 기능을 제공합니다.
- Wapiti
- Python으로 작성된 블랙박스 웹 취약점 스캐너로, 배포된 웹 애플리케이션의 페이지를 크롤링하여 스크립트와 폼을 찾은 후 데이터를 주입합니다.
- HTTP, HTTPS, SOCKS5 프록시 지원, Basic, Digest, NTLM, POST 인증 방식, 스캔 범위 제어, 무한 루프 방지 기능, 세션 관리 등을 제공합니다.
- Nikto
- 웹 서버 취약점 스캔에 특화된 오픈소스 도구로 6,700개 이상의 테스트를 수행합니다.
- 위험한 파일 및 프로그램, 오래된 소프트웨어, 기본 파일, 설정 오류, 누락된 보안 헤더를 탐지하며, SSL/TLS 지원으로 HTTPS 서비스를 스캔하고, 인증이 필요한 웹 서버도 테스트할 수 있습니다.
- sqlmap
- SQL Injection 취약점 탐지 및 데이터베이스 권한 탈취에 특화된 도구입니다.
- Boolean 기반 블라인드, 시간 기반 블라인드, 에러 기반, UNION 쿼리 기반, Out-of-Band 등 여러 유형의 SQL Injection을 감지하며, MySQL, PostgreSQL, Oracle, MSSQL, SQLite 등 다수의 데이터베이스를 지원합니다.
- OpenVAS
- 오픈소스 취약점 평가 시스템으로 포괄적인 취약점 스캔, 웹 애플리케이션 및 API 스캔, 사용자 정의 스캔 프로필, 상세한 보고 및 분석, 기타 보안 도구와의 통합을 제공합니다.
- 알려진 취약점 및 익스플로잇의 광범위한 데이터베이스를 활용합니다.
◎ 템플릿 기반 전문화 스캐너
- Nuclei (Project Discovery)
- 오픈소스 템플릿 기반 취약점 스캐너로, YAML 파일로 작성된 사용자 정의 템플릿을 통해 특정 취약점, 오구성, 문제를 자동으로 탐지합니다.
> 주요 특징
- 템플릿은 SSRF, XSS, CVE, 인증 우회, 설정 오류 등의 취약점을 대상으로 하는 상세한 지시를 포함합니다.
- 커뮤니티 제공 템플릿과 Nuclei AI를 통해 빠르게 템플릿을 생성할 수 있으며, 1,496개 이상의 CISA/VulnCheck KEV(Known Exploited Vulnerabilities) 템플릿으로 실제 공격당하는 취약점을 커버합니다.
- 태그, 심각도, 작성자, 워크플로우 기반 필터링이 가능하며, 대규모 자동화 보안 평가에 이상적입니다.
◎ 디렉토리/서브도메인 열거 전문 도구
- gobuster
- 오픈소스 디렉토리/파일 열거 도구로 Go 언어로 작성되어 빠른 성능을 제공합니다.
> 주요 모드 및 기능
>> DIR 모드
- URL에서 디렉토리 및 파일을 열거합니다.
- -u는 대상 URL, -w는 워드리스트, -x는 파일 확장자를 지정합니다.
- 기본 구문은 gobuster dir -u http://target.com -w wordlist.txt입니다.
>> DNS 모드
- 서브도메인을 열거합니다.
- -d는 대상 도메인, -w는 워드리스트, -i는 IP 주소 표시, --wildcard는 와일드카드 DNS 필터링을 제공합니다.
> 추가 기능
- 다중 파일 확장자 검색(-x php,html,txt), 인증(-U username -P password), 커스텀 헤더(-H), 패턴 매칭(-p), 프록시 지원(-p), SSL 검증 스킵(-k), 스레드 제어(-t), 리다이렉션 따라가기(-r), 타임아웃 설정(--timeout) 등이 있습니다.
- 권장 워드리스트로는 /usr/share/wordlists/dirb/common.txt(기본 디렉토리), /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt(포괄적), SecLists 리포지토리(고급 시나리오) 등이 있습니다.
◎ 포괄적 재정찰 및 취약점 평가 도구
- SpyHunt v4.0
- 포괄적 네트워크 스캔 및 취약점 평가 도구로 보안 전문가와 침투 테스터용으로 설계되었습니다.
> 고급 취약점 스캐너 기능 (v4.0)
- XXE(XML External Entity) Injection 감지 - 파일 공개, XXE를 통한 SSRF, AWS 메타데이터 노출 감지
- SSRF(Server-Side Request Forgery) 감지 - 내부 네트워크 프로빙, 클라우드 메타데이터 엔드포인트, 바이패스 기법 탐지
- SSTI(Server-Side Template Injection) 스캐너 - Jinja2, Twig, Freemarker, Velocity, ERB, Smarty 템플릿 엔진 취약점 탐지
- NoSQL Injection 스캐너 - MongoDB 및 CouchDB 인젝션 감지
- CRLF 스캐너 - HTTP 헤더 인젝션 감지
> 보안 강화 기능
- 명령 인젝션 방지를 위한 보안 명령 실행, 기본적으로 활성화된 SSL 인증서 검증, 구조화된 로깅(spyhunt.log), 포괄적인 입력 유효성 검사, HTTP 세션 관리 및 자동 재시도가 포함됩니다.
◎ 네트워크 기반 취약점 스캐너
- Nmap (Network Mapper)
- 강력한 오픈소스 네트워크 매퍼로 포트 스캔, 서비스 발견, OS 감지, 취약점 탐지 등을 수행합니다.
- DAST의 네트워크 계층 보완 도구로 인정받고 있습니다.
> 핵심 기능
- 네트워크 발견: 활성 호스트 및 장비 식별
- 포트 스캔: 개방 포트, 닫힌 포트, 필터링된 포트 확인
- 서비스 및 버전 탐지: 실행 중인 서비스 식별 및 소프트웨어 버전 파악
- OS 감지: 대상 장치의 운영체제 식별
- NSE 스크립트 지원: 네트워크 스크립트 엔진(NSE)을 통한 고급 기능
> Nmap Scripting Engine (NSE)
- Nmap의 가장 강력한 기능으로, Lua로 작성된 스크립트를 통해 미구성 감지, 약한 자격증명, 알려진 취약점 탐지가 가능합니다.
> 주요 NSE 카테고리
- vuln 카테고리: 104개 스크립트로 알려진 취약점, 오구성, CVE를 확인합니다. 명령어: nmap --script vuln target.com
- exploit 카테고리: 안전한 방식의 익스플로잇 시도를 통해 취약점 검증
- auth 카테고리: 약한 인증 메커니즘 식별
- brute 카테고리: 기본 Brute-force 테스트 수행
- version 카테고리: 47개 스크립트로 버전 탐지 보강
> 취약점 스캔 예시
| nmap --script vuln target.com # 모든 취약점 스크립트 실행 nmap --script exploit target.com # 익스플로잇 스크립트 실행 nmap --script auth target.com # 인증 문제 확인 nmap -p- --script "vuln,exploit,auth,brute" target.com # 포괄적 스캔 |
> Vulners NSE 스크립트
- 소프트웨어 버전을 식별하고 Vulners.com 데이터베이스와 매칭하여 관련 CVE, 권고, 알려진 익스플로잇을 수집합니다.
- 비침습적 패시브 탐지로 의심 활동을 최소화합니다.
> SSL/TLS 취약점 스캔
- SSL Heartbleed, POODLE, FREAK, LOGJAM 같은 TLS 취약점을 탐지하며, ssl-enum-ciphers 스크립트로 TLS 배포 문제를 신속하게 분석합니다.
> 커스텀 NSE 스크립트 개발
- 조직의 특정 요구사항에 맞는 Lua 기반 커스텀 스크립트를 작성하여 새로운 취약점이나 프로토콜을 대응할 수 있습니다.
> CI/CD 통합
- GitLab 파이프라인에서 Nmap을 활용하여 자동화된 DAST를 수행하며, XML 형식 출력으로 결과 파싱이 용이합니다.
◎ 비교 분석 및 선택 가이드
| 도구 | 유형 | 특징 | 강점 |
| Burp Suite Community | 상용 무료 | 기본 기능, 제한된 자동 스캔 | 강력한 기능, 풍부한 학습 자료 |
| Caido | 오픈소스 | 경량 프록시 | 낮은 학습 곡선, 우수한 성능 |
| OWASP ZAP | 오픈소스 | 포괄적 DAST | 가장 효과적 DAST, 커뮤니티 지원 |
| w3af | 오픈소스 | 플러그인 기반 | 200+ 위협 탐지, GUI/CLI |
| Arachni | 오픈소스 | 모듈식 아키텍처 | 고급 크롤링, CLI/웹 UI |
| Wapiti | 오픈소스 | 블랙박스 스캔 | 프록시 지원, 세션 관리 |
| Nikto | 오픈소스 | 웹 서버 전문 | 6,700+ 테스트, 빠른 스캔 |
| sqlmap | 오픈소스 | SQL Injection 전문 | 다양한 주입 기법 지원 |
| OpenVAS | 오픈소스 | 포괄적 취약점 평가 | 광범위한 취약점 DB |
| Nuclei | 오픈소스 | 템플릿 기반 | 1,496+ KEV 템플릿, 빠른 발견 |
| gobuster | 오픈소스 | 디렉토리 열거 | 고속 성능, DIR/DNS 모드 |
| SpyHunt | 오픈소스 | 포괄적 재정찰 | 5개 고급 스캐너, 보안 강화 |
| Nmap | 오픈소스 | 네트워크 기반 | 104+ 취약점 스크립트, NSE 확장성 |
◎ 추천 조합 전략
- 초보자: Burp Suite Community Edition + OWASP ZAP - 무료이고 풍부한 학습 자료 제공
- 자동화 중심: Nuclei + OWASP ZAP CLI 모드 + CI/CD 통합
- 네트워크 기반 취약점: Nmap(NSE vuln 스크립트) + Nikto + OpenVAS
- 재정찰 집중: gobuster(디렉토리) + SpyHunt(취약점) 조합
- 특정 취약점 타겟: sqlmap(SQL Injection), Nikto(웹 서버), Nuclei(템플릿 기반 CVE)
- 엔터프라이즈급: 상용 도구(Qualys, Veracode) + 오픈소스 보안 DAST 도구 조합
- 버그 바운티 헌팅: Caido(수동 분석) + Nuclei(자동화) + gobuster(정찰) + Nmap(재정찰)
- 침투 테스팅: OWASP ZAP(웹) + Nmap(네트워크) + Nuclei(CVE) + SpyHunt(포괄적 평가)
