프로젝트 소개

WPScan은 WordPress 웹사이트를 위해 설계된 오픈소스 명령줄 보안 스캐너입니다. Ruby로 작성되었으며, WordPress 설치의 보안 상태를 평가해야 하는 보안 전문가, 침투 테스터, 블로그 관리자를 대상으로 합니다. 설치는 여러 플랫폼에서 지원됩니다. macOS에서는 Homebrew를 통해 `brew install wpscanteam/tap/wpscan`으로 설치할 수 있습니다. Linux 배포판에서는 패키지 관리자(예: Kali Linux의 apt) 또는 RubyGems를 통해 `gem install wpscan`으로 설치할 수 있습니다. 컨테이너 배포를 위한 Docker 이미지도 제공됩니다. 이 도구는 Ruby 3.3 이상, Curl 7.72 이상, RubyGems가 필요합니다. Nokogiri와 같은 네이티브 확장 종속성은 추가 시스템 패키지가 필요할 수 있습니다. 핵심 기능에는 WordPress 코어 버전 탐지, 테마 탐지, 플러그인 열거, 사용자 이름 열거, 백업 폴더 발견이 포함됩니다. `--enumerate` 플래그는 다양한 대상을 지원합니다: `u`는 사용자 이름, `ap`는 모든 플러그인, `vp`는 취약한 플러그인, `bf`는 백업 폴더 등을 나타냅니다. 낮은 프로파일 스캔을 위한 `--stealthy` 모드도 있습니다. 플러그인 탐지는 `--plugins-detection`을 통해 수동 또는 적극적 옵션으로 구성할 수 있습니다. WPScan은 WPScan 취약점 데이터베이스 API와 통합하여 실시간 취약점 데이터를 검색합니다. API 토큰이 필요하며, wpscan.com에서 등록하여 얻을 수 있습니다. 무료 계정은 하루 최대 25회의 API 요청을 받으며, 이는 대부분의 WordPress 사이트를 하루 한 번 스캔하기에 충분합니다. 일일 할당량이 소진되면 WPScan은 계속 작동하지만 취약점 데이터는 제공되지 않습니다. 엔터프라이즈 고객은 `--enterprise-db-token` 옵션을 통해 로컬 데이터베이스 덤프를 사용할 수 있으며, 이는 API 요청 제한 없이 플러그인, 테마, WordPress 취약점 데이터를 로컬에 다운로드합니다. 구성은 XDG 호환 디렉토리 또는 레거시 경로에 배치된 YAML 또는 JSON 파일에서 로드할 수 있습니다. 옵션에는 프록시 설정, 사용자 에이전트, 스레드 수, 사용자 정의 헤더, API 토큰이 포함됩니다. API 토큰은 `WPSCAN_API_TOKEN` 환경 변수에서도 로드할 수 있습니다. 로컬 취약점 데이터베이스는 XDG Base Directory Specification을 따르며, 새 설치의 경우 `~/.cache/wpscan/db`, 레거시 설정의 경우 `~/.wpscan/db`에 저장됩니다. 데이터베이스 업데이트는 `wpscan --update`로 수행되며, 체크섬이 변경된 파일만 다시 다운로드합니다. Docker 사용자는 `/wpscan/.cache/wpscan/db`에 명명된 볼륨을 마운트하여 실행 간 데이터베이스를 유지할 수 있습니다. WPScan은 WPScan Public Source License에 따라 배포되며, 침투 테스트, 개인 시스템 테스트, 침투 테스트 배포판 포함을 포함한 비상업적 목적의 무료 사용을 허용합니다. 상업적 사용은 별도 라이선스가 필요합니다. 이 도구는 보증이나 지원 없이 있는 그대로 제공됩니다.