Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
php2shell-scanner — CVE-2026-109618 / CVE-2026-109619(PHP 코어 RCE)용 비파괴 스캐너입니다. crt.sh + subfinder를 통한 서브도메인 정찰, 강력한 배너 그래빙, 버전 기반 탐지를 제공합니다. | Kitploit
도구/GitHubGitHub/joasasantos/php2shell-scanner
OSINT (Open Source Intelligence)ReconnaissanceVulnerability ScannersWeb Vulnerability ScannersNetwork MappingVulnerability AnalysisInformation GatheringWeb SecurityPenetration TestingSubdomain Enumeration
GitHub
6923191일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
joasasantos/php2shell-scanner

php2shell-scanner

CVE-2026-109618 / CVE-2026-109619(PHP 코어 RCE)용 비파괴 스캐너입니다. crt.sh + subfinder를 통한 서브도메인 정찰, 강력한 배너 그래빙, 버전 기반 탐지를 제공합니다.

저장소 보기

php2shell-scanner

CVE-2026-109618(OOM 손상으로 인한 RCE) 및 CVE-2026-109619(오래된 전역 상태로 인한 RCE)를 위한 비파괴 스캐너(옵트인 프로브 포함) — 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12에서 수정된 PHP 코어 버그입니다.

✅ 공식 php-src 보안 권고(2026-10-21, 심각)에 대해 검증되었습니다. 아래의 CVE ID와 수정 버전 표는 업스트림과 정확히 일치합니다.

  • CVE-2026-109618 — GHSA-w8hw-w9fx-j79w
  • CVE-2026-109619 — GHSA-6wmf-4rv5-p3rp

영향받는 버전 / 수정된 버전

브랜치영향받는 버전수정된 버전
8.2< 8.2.358.2.35
8.3< 8.3.368.3.36
8.4< 8.4.278.4.27
8.5< 8.5.128.5.12
< 8.2EOL — 업스트림 패치 없음배포판/OSV 백포트 확인

전략

모드수행 작업
LOCALphp -r을 통해 정확한 런타임 버전, SAPI, memory_limit, post_max_size 확인
REMOTEX-Powered-By / Server 헤더 및 노출된 phpinfo()를 통한 버전 핑거프린팅
PRESENCE버전 없이 PHP 탐지 (PHPSESSID, .php 참조, 리다이렉트)
BANNER견고한 원시 소켓 배너 수집 — HEAD/GET/OPTIONS + 변조된 프로브, http/https, 오류 페이지 노출
RECONcrt.sh(인증서 투명성)를 통한 서브도메인 열거, subfinder 폴백/병합 후 해석된 호스트에 대한 팬아웃 스캔
PROBE(옵트인) 워커 불안정성을 관찰하기 위한 대용량 멀티파트 요청 — DoS를 유발할 수 있음

설치

git clone https://github.com/JoasASantos/php2shell-scanner.git
cd php2shell-scanner
# stdlib only — no pip deps.
# Optional recon fallback: ProjectDiscovery subfinder
#   brew install subfinder   (or: go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest)

사용법

# Local runtime check
python3 php2shell_scan.py --local

# Single remote target, look for exposed phpinfo()
python3 php2shell_scan.py https://example.com --phpinfo-paths

# Subdomain recon (crt.sh + subfinder) then scan, 10 threads, JSON out
python3 php2shell_scan.py example.com --recon --threads 10 -o out.json

# Recon only, no scanning
python3 php2shell_scan.py example.com --recon-only

# Target list + forced robust banner grab
python3 php2shell_scan.py -f targets.txt --banner

# OPT-IN load probe (authorized use only — DoS risk)
python3 php2shell_scan.py https://example.com --probe --probe-count 5

플래그

플래그의미
--localphp 바이너리를 통한 로컬 스캔
--recon각 도메인을 서브도메인으로 확장한 뒤(crt.sh + subfinder), 확인된 호스트를 스캔
--recon-only서브도메인만 열거하고 스캔은 하지 않음
--banner모든 대상에 대해 강력한 원시 소켓 배너 수집을 강제
--phpinfo-paths흔히 노출되는 phpinfo() 경로를 탐색
--deep-version추가 버전 탐지 기법: PHP 이스터 에그 + 버전 유출 파일(composer.json, .env, …)
--origin-scanCloudflare/WAF 뒤의 PHP 오리진에 도달 — 실제 Host 헤더로 IP에 직접 요청
--shodan-key오리진 정보 수집용 Shodan API 키(또는 환경 변수 SHODAN_API_KEY); --origin-scan을 암시함
--censys-id / --censys-secretCensys API 자격 증명(또는 환경 변수 CENSYS_API_ID / CENSYS_API_SECRET); --origin-scan을 암시함
--probe멀티파트 부하 프로브 — DoS 위험, 승인된 경우에만
--probe-count N프로브 요청 수(기본값 5)
--threads N / --timeout N동시성 / 요청당 타임아웃
--insecureTLS를 검증하지 않음
-o FILE / --csv FILEJSON / CSV 보고서 저장

수동적 보강

버전 확인 외에도, 각 대상은 판정을 정교하게 하고 오탐을 줄이는 수동적 신호(일반 응답에서 얻음)로 보강됩니다:

  • SAPI / 워커 모델 — 영속 워커(fpm, mod_php)는 요청 상태를 재사용 → CVE-2026-109619에 노출됨; 일반 cgi는 훨씬 덜함.
  • CDN / WAF / 프록시(Cloudflare, Akamai, Fastly, Sucuri…) — 배너가 오리진이 아닌 엣지일 수 있음 → 신뢰도 하향.
  • 배포판 빌드(ubuntu, +deb, .el8…) — 버전 범프 없이 백포트로 수정되었을 수 있음 → 신뢰도 하향, "changelog 확인" 참고 사항.
  • 심층 phpinfo(노출된 경우) — Server API, post_max_size / max_input_vars(CVE-2026-109618의 OOM 표면), disable_functions.

추가 버전 탐지 기법 (--deep-version)

배너 버전이 없을 때: PHP 이스터 에그(?=PHPE9568F34-... → expose_php=On일 때 GIF/크레딧)와 버전 유출 파일(composer.json, .env, …; .env의 PHP_VERSION = 정확한 버전, "php": ">=8.2" 제약은 브랜치만 좁힘).

오리진 / WAF 우회 (--origin-scan)

CDN은 오리진을 숨기므로, 헤더를 읽어도 엣지만 보입니다. --origin-scan:

  1. apex, www, 프록시되지 않은 접두사(origin.*, cpanel.*, mail.*…) 및 정찰 서브도메인을 확인;
  2. Cloudflare / Imperva / Sucuri 엣지 대역(IPv4 + IPv6)의 IP를 제외;
  3. 남은 각 오리진 IP에 직접 실제 Host + SNI로 요청하여, Server / X-Powered-By / 오류 페이지를 오리진에서 직접 읽음.

이미 노출된 IP에 대한 직접 요청입니다. 승인된 대상에만 사용하세요.

자격 증명 기반 정보 수집은 DNS가 절대 노출하지 않는 IP와, 색인된 배너에서 얻은 PHP 버전(정보 표시됨 — 오래되었을 수 있음)을 추가합니다:

  • --shodan-key / 환경 변수 SHODAN_API_KEY — hostname:<domain>으로 호스트 검색.
  • --censys-id + --censys-secret / 환경 변수 CENSYS_API_ID + CENSYS_API_SECRET — TLS 인증서 / DNS 이름으로 호스트 검색.
  • 자격 증명이 있으면 --origin-scan이 자동으로 활성화됩니다.
export SHODAN_API_KEY=xxx CENSYS_API_ID=xxx CENSYS_API_SECRET=xxx
python3 php2shell_scan.py hackersec.com --origin-scan

신뢰도 등급

신뢰도의미
HIGH노출된 phpinfo() 또는 PHP 오류 페이지에서 확인된 버전
MEDIUMHTTP 배너(expose_php=On)에서 확인된 버전
LOW추론에 불과하거나, 프록시 뒤에 있거나, 배포판 백포트가 적용될 수 있는 경우

통합 출력은 대상을 심각도별로 그룹화하고, VULNERABLE을 신뢰도순(HIGH 우선)으로 정렬하며, LOW/MEDIUM 결과는 보고 전에 재확인하도록 표시합니다.

탐지 로직

FIXED 테이블과 비교한 브랜치별 버전 비교:

  • 지원되는 브랜치에서 < fixed → VULNERABLE
  • >= fixed → PATCHED
  • < 8.2 (EOL) → VULNERABLE_EOL (업스트림 패치 없음; 배포판/OSV 백포트 확인)
  • 권고 범위를 초과하는 브랜치 또는 버전 없음 → UNKNOWN / SUSPECTED

권한 부여

소유하거나 테스트가 명시적으로 허용된 자산에 대해서만 실행하십시오. --probe 모드는 취약한 워커를 중단시킬 수 있습니다. 사용에 대한 책임은 사용자에게 있습니다.

라이선스

MIT

도구 다운로드