
WordPress 공격 표면 매핑, 플러그인 핑거프린팅, 오프라인 CVE 상관 분석을 위한 고속 Go CLI
WordPress 공격 표면 매핑, 플러그인 핑거프린팅, 오프라인 CVE 상관 분석을 위한 고속 Go CLI.
FenrirLVX는 승인된 공격적 보안 운영, 버그 바운티 분류, 경계 감사를 위해 만들어진 집중적이고 낮은 설치 공간의 Go 보안 유틸리티입니다. WordPress 대상을 핑거프린팅하고, 플러그인과 테마를 열거하며, 탐지된 버전을 로컬 취약점 데이터베이스(vuln_db.json)와 상관 분석하고, 외부 API 의존성 없이 결정론적 분류 결과를 출력합니다.
[!IMPORTANT] FenrirLVX는 소유한 자산 또는 평가에 대한 명시적 서면 승인을 받은 자산에만 사용하십시오.
vuln_db.json)에 대한 로컬 매핑.amd64, arm64, 386)용 네이티브 단일 바이너리 빌드.brew install leviathan-offsec/tap/fenrir
fenrir --help
releases에서
사용 중인 플랫폼에 맞는 아카이브를 다운로드하세요. 각 아카이브에는
바이너리, vuln_db.json, 그리고 SHA256SUMS 파일이 포함되어 있습니다. 다음과 같이 검증하세요:
sha256sum -c SHA256SUMS --ignore-missing
./fenrir-v0.1.0-linux-amd64 --help
vuln_db.json이 포함된 디렉터리에서 실행하세요. 데이터베이스는 상대 경로로 조회되므로, 바이너리와 JSON 파일이 함께 있어야 합니다.
git clone https://github.com/leviathan-offsec/FenrirLVX.git
cd FenrirLVX
go build -o fenrir .
./fenrir --help
vuln_db.json은 커밋되어 있으므로, 소스 빌드는 추가 설정 없이 완전히 오프라인으로 수행할 수 있습니다. Go 1.27 이상이 필요합니다.
vuln_db.json은 Wordfence 내보내기 파일로부터 생성되며, 이 파일은 크기 때문에 커밋되지 않습니다. 자체 피드에서 다시 빌드하려면:
# needs the Wordfence API key and an export
cp wordfence_production.json .
go run ./tools/convertor.go
변환기는 피드를 파싱하여 vuln_db.json을 제자리에서 다시 작성합니다. 이는 유지보수 도구이며 일반 빌드의 일부가 아닙니다.
타사 서비스 없이 승인된 대상 URL을 직접 스캔합니다:
fenrir scan -t https://staging.example.com
스캔은 탐지된 CMS 기술, 활성 플러그인, 탐지된 테마, 그리고 신뢰도 점수를 기반으로 로컬 취약점 정의와의 상관관계를 출력합니다.
export SHODAN_API_KEY="your-api-key"
fenrir wordpress -t staging.example.com -k $SHODAN_API_KEY
Shodan 키는 선택 사항이며, 직접 스캔 기능은 완전히 오프라인으로 작동합니다.
fenrir mass -k $SHODAN_API_KEY -q 'http.component:"WordPress" org:"TargetOrg"' -p 1 -d 5
| 플래그 | 지원 명령 | 설명 |
|---|---|---|
-t | scan, wordpress | 대상 URL 또는 도메인 |
-k | wordpress, mass | Shodan API 키 (선택 사항) |
-q | mass | Shodan 검색 쿼리 필터 |
-p | mass | 가져올 총 결과 페이지 수 (기본값: 1) |
-d | mass | 쿼리 간 폴링 지연 시간(초) (기본값: 5) |
-P | mass | 엄격/정밀 버전 매칭 활성화 |
FenrirLVX는 터미널 출력에서 결정론적 심각도 신호를 사용합니다:
[+] Clean No matching vulnerability signature in local database
[!] Low or medium-severity signal / unverified version match
[!!] High-severity vulnerability signature detected
[!!!] Critical CVSS / exploit-confirmed vulnerability signature
[SKIP] Honeypot, WAF canary, or synthetic response filtered
깔끔한 판정은 데이터베이스 커버리지도 보고합니다:
[+] staging.example.com Clean
database coverage 3/7 plugins matched 4 with no advisory data
[!IMPORTANT]
Clean은 로컬 시그니처가 일치하지 않았다는 의미일 뿐, 대상에 알려진 문제가 없다는 뜻은 아닙니다. 이 데이터베이스에는 네 개의 플러그인에 대한 권고 데이터가 없었으며, 이러한 공백은 숨기지 않고 명시합니다. 오프라인 스캐너는 부재를 증명할 수 없습니다. 스캐너는 자신의 데이터가 다루는 범위 내에서만 보고할 수 있습니다.
[!NOTE] 버전 범위 중 하나에
*가 있는 무제한 권고를 가진 플러그인은 감지된 모든 버전과 일치합니다. 해당 일치 항목은 무시할 수 있도록 플래그가 표시됩니다.
cmd/ Cobra command wiring and CLI interface
pkg/banner/ Console branding and output telemetry
pkg/engine/ Fingerprinting, asset enumeration, and CVE correlation
pkg/shodan/ Shodan host discovery client
tools/ Database convertor and release build script
build.ps1 Cross-platform release build (Windows)
vuln_db.json Local vulnerability definitions and signatures
go build ./...
go test ./...
go vet ./...
pkg/engine 테스트는 범위 경계 처리, 버전 파싱, 커버리지 집계 및 클린 경로 공개를 다룹니다. 이 테스트들은 여기서 중요한 두 가지 실패 모드, 즉 데이터베이스에서 플러그인이 조용히 누락되는 경우와 상한이 없는 권고문에서 매칭이 발생하는 경우에 대한 회귀 방지망입니다.
MIT 라이선스. Leviathan OffSec을 위해 @cyeezy08이 개발했습니다.