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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-48908-joomla-sp-page-builder-detection — Joomla SP Page Builder의 CVE-2026-48908을 검증하며, 무단 아이콘 업로드를 통해 PHP 코드 실행으로 이어집니다. 방어 연구를 위한 auditd/PCAP 증거, 이벤트 타임라인 및 SOC 탐지 권장 사항을 포함합니다. | Kitploit
도구/GitHubGitHub/g0thamrabb1t/cve-2026-48908-joomla-sp-page-builder-detection
Vulnerability AnalysisExploitationWeb Application ExploitationForensicsWeb SecurityPenetration TestingPapers & ResearchLearning & EducationIncident Response
GitHubg0thamrabb1t/cve-2026-48908-joomla-sp-page-builder-detection

CVE-2026-48908-joomla-sp-page-builder-detection

Joomla SP Page Builder의 CVE-2026-48908을 검증하며, 무단 아이콘 업로드를 통해 PHP 코드 실행으로 이어집니다. 방어 연구를 위한 auditd/PCAP 증거, 이벤트 타임라인 및 SOC 탐지 권장 사항을 포함합니다.

저장소 보기
12개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-48908 — Joomla SP Page Builder 검증 및 탐지

Joomla SP Page Builder 구성 요소의 CVE-2026-48908에 대한 실험실 검증으로, 기술적 증거, 이벤트 재구성 및 방어적 탐지 기회에 중점을 둡니다.

이 저장소는 SP Page Builder의 asset.uploadCustomIcon 엔드포인트가 업로드된 아이콘 아카이브를 수락하여 Joomla 미디어 디렉터리 아래에 PHP 아티팩트가 기록되도록 한 통제된 테스트를 문서화합니다. 업로드된 PHP 파일을 HTTP를 통해 호출하면 웹 서버 프로세스 사용자로 명령이 실행되었습니다. 결과적인 HTTP, 파일, 프로세스, 인증 및 네트워크 활동은 Apache 컨테이너 로그, Linux auditd, tcpdump, Docker 원격 측정, 파일 변경 폴링 및 Windows 호스트의 스크린샷을 사용하여 캡처되었습니다.

[!IMPORTANT] 이 저장소에는 보고서와 스크린샷만 포함되어 있습니다. 공격적인 익스플로잇 코드, 페이로드 소스, 원시 PCAP 파일 및 원시 호스트 증거 패키지는 의도적으로 포함되지 않았습니다. 이 자료는 취약점 검증, SOC 엔지니어링, 탐지 개발, 사고 대응 준비 및 승인된 연구를 위한 것입니다.

보고서

  • 영문 검증 보고서
  • 폴란드어 검증 보고서

두 보고서 모두 전체 테스트 방법론, 증거 발췌문, 이벤트 타임라인, 파일 변경 증거, 네트워크 지표, 완화 지침, 감사 권장 사항 및 예시 SIEM 로직을 포함합니다.

저장소 구조

root@kitploit:~
.
├── README.md
├── SHA256SUMS.txt
├── reports/
│   ├── CVE-2026-48908_SP_Page_Builder_detection_EN.pdf
│   └── CVE-2026-48908_SP_Page_Builder_detection_PL.pdf
└── screenshots/
    ├── 01_poc_upload_and_code_execution.png
    ├── 02_http_whoami_www_data.png
    ├── 03_tcp_callback_ncat.png
    ├── 04_reverse_shell_session.png
    └── 05_root_access_and_su_failure_redacted.png

익스플로잇 소스, 페이로드 소스, 원시 PCAP, 원시 Docker 증거 패키지 또는 DOCX 소스 파일은 포함되어 있지 않습니다.

테스트 환경

역할시스템
피해자 호스트Ubuntu 24.04.4 LTS, kernel 6.17.0-35-generic, Docker Engine 29.5.3
대상 애플리케이션Joomla 5.4.7, PHP 8.3.32, Apache HTTP Server, image joomla:5-php8.3-apache
구성 요소JoomShaper SP Page Builder
컨테이너joomla5-builders
공격자 워크스테이션Microsoft Windows 11 Home 10.0.26200
Joomla 서비스http://172.20.10.3:8080
Windows 테스트 주소172.20.10.2
컨테이너 주소172.21.0.3
테스트 날짜2026년 7월 9일

Joomla 웹루트 /var/www/html은 Docker 볼륨 joomla5-builders_joomla_data에 의해 백업되었습니다. 이는 탐지에 중요합니다. docker diff는 볼륨 내부의 파일 변경에 대한 상세한 가시성을 제공하지 않았으므로, 파일 모니터링은 볼륨 인식 파일 목록과 호스트 측 모니터링 지침에 의존해야 했습니다.

검증된 내용

테스트는 격리되고 승인된 실험실 환경에서 수행되었습니다. 검증은 다음 순서를 포함했습니다:

  1. Joomla 5가 SP Page Builder가 설치된 Docker에 배포되었습니다.
  2. 참조에 나열된 공개 프로젝트가 초기 검증 참조로 사용되었습니다.
  3. SP Page Builder의 asset.uploadCustomIcon 엔드포인트가 실험실 환경에서 업로드된 아이콘 아카이브를 수락했습니다.
  4. /media/com_sppagebuilder/assets/iconfont/ 아래에 새 디렉터리와 파일이 생성되었습니다.
  5. 업로드된 콘텐츠에는 대소문자 혼합 PHP 확장자와 .PHP 확장자에 대한 PHP 처리를 변경하는 .htaccess 파일이 포함되었습니다.
  6. 업로드된 PHP 아티팩트가 HTTP를 통해 호출되어 통제된 명령을 실행했습니다.
  7. Windows 호스트에 대한 일회성 TCP 콜백이 아웃바운드 연결을 확인했습니다.
  8. 통제된 리버스 셸 테스트가 웹 서버 사용자로의 대화형 명령 실행을 확인했습니다.
  9. /root에 접근하고 su -로 사용자를 전환하려는 시도가 실패했습니다.
  10. 피해자 측 원격 측정 및 Windows 스크린샷의 증거가 단일 UTC 타임라인으로 상관 분석되었습니다.

보고서는 재사용 가능한 익스플로잇 또는 페이로드 구현을 배포하지 않고 증거와 탐지 로직을 의도적으로 문서화합니다.

확인된 결과

실험실 테스트는 다음을 확인했습니다:

  • SP Page Builder의 asset.uploadCustomIcon 엔드포인트를 통한 무단 업로드;
  • Joomla 미디어 디렉터리 아래 PHP 및 .htaccess 아티팩트 생성;
  • HTTP 요청 후 업로드된 PHP 아티팩트의 서버 측 실행;
  • Apache/PHP 프로세스 사용자 컨텍스트에서 실행;
  • Joomla 컨테이너에서 Windows 호스트로의 아웃바운드 TCP 연결;
  • www-data로서의 대화형 리버스 셸 세션;
  • 루트로의 권한 상승이 확인되지 않음.

컨테이너 내부의 유효 ID는 다음과 같습니다:

root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)

실패한 권한 상승 시도는 다음과 같이 나타났습니다:

root@kitploit:~
cd root
bash: cd: root: Permission denied
su -
Password:
su: Authentication failure

주요 증거

공개 PoC 검증 및 업로드 동작

공개 PoC는 여러 확장자 변형을 테스트했으며, 대소문자 혼합 PHP 확장자와 .htaccess를 포함한 조합이 실험실 설정에서 실행으로 이어질 수 있음을 확인했습니다.

PoC upload and code execution

웹 서버 사용자로의 코드 실행

통제된 HTTP 요청이 whoami를 실행했으며, 브라우저에 유효 프로세스 사용자가 표시되었습니다.

HTTP whoami result

일회성 TCP 콜백

대화형 테스트 전에, 대상 환경에서 Windows 호스트로의 TCP 포트 4444에 대한 아웃바운드 연결을 확인하기 위해 더 안전한 단일 메시지 콜백이 사용되었습니다.

One-time TCP callback

리버스 셸 세션

대화형 세션은 www-data로의 실행, 운영 체제로 Linux, 그리고 Joomla SP Page Builder 미디어 경로 아래의 작업 디렉터리를 확인했습니다.

Reverse shell session

실패한 루트 접근 시도

/root에 접근하고 su -로 인증하려는 시도가 실패했습니다. 스크린샷은 테스트 비밀번호가 공개되는 것을 방지하기 위해 편집되었습니다.

Failed root access and su attempt

재구성된 타임라인

전체 타임라인은 두 PDF 보고서에서 확인할 수 있습니다. 가장 중요한 이벤트는 다음과 같습니다:

UTC이벤트
19:33:56Linux 감사, tcpdump, Docker 이벤트 및 파일 변경 폴링 시작됨
19:34:23/index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon에 대한 일련의 POST 요청
19:34:23.291업로드된 .PHP 파일에 대한 GET (통제된 산술 명령 포함)
19:34:23.329업로드된 .pHp 파일에 대한 GET (통제된 산술 명령 포함)
19:34:23.361업로드된 .Php 파일에 대한 GET (통제된 산술 명령 포함)
19:34:23.398최종 .PHP 아티팩트에 대한 GET (통제된 산술 명령 포함)
19:34:23.411공개 PoC가 업로드된 PHP 아티팩트를 통해 id를 실행하고 HTTP 200 수신
19:35:05수동 whoami 요청이 www-data 반환
19:35:27172.20.10.2:4444로의 일회성 TCP 콜백 성공
19:35:59HTTP 요청이 172.20.10.2:4444로의 역방향 TCP 연결 시작
19:36:22-19:36:31whoami, uname, id, pwd가 실행 컨텍스트 확인
19:37:13cd root가 Permission denied 반환
19:37:21-19:37:28su - 시도가 Authentication failure로 실패
19:39:25감사 수집 중단 및 아티팩트 패키징됨

증거 수집 방법론

Linux 및 Docker

피해자 호스트는 다음을 수집했습니다:

  • execve에 대한 auditd 이벤트;
  • tcpdump를 사용한 패킷 캡처;
  • Docker 컨테이너 메타데이터, 로그, 이벤트, 프로세스 목록 및 파일 시스템 차이;
  • 컨테이너 내부의 주기적인 파일 변경 폴링;
  • Joomla 웹루트, 임시 디렉터리 및 관련 미디어 경로의 파일 목록;
  • 테스트 전후의 선택된 컨테이너 상태.

테스트는 또한 모니터링 제한 사항을 식별했습니다. /var/www/html이 Docker 볼륨에 의해 백업되었기 때문에 docker diff는 /var/www/html/media/com_sppagebuilder/assets/iconfont/ 아래의 상세한 파일 생성을 보여주지 않았습니다. 따라서 파일 무결성 모니터링은 볼륨을 지원하는 실제 호스트 경로를 포함해야 합니다.

Windows

Windows 호스트 증거는 의도적으로 보고서 관련 스크린샷으로 제한되었습니다:

  • 공개 PoC 출력;
  • whoami에 대한 브라우저 출력;
  • 일회성 콜백에 대한 Ncat 출력;
  • 리버스 셸 세션에 대한 Ncat 출력;
  • 비밀번호가 편집된 실패한 /root 및 su - 시도.

가장 중요한 탐지 기회

1. SP Page Builder를 통한 업로드

다음 조합에 대해 HTTP, 리버스 프록시, WAF 또는 네트워크 원격 측정을 모니터링하십시오:

root@kitploit:~
POST /index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
User-Agent contains: sppb-rce-poc
Status: 200, 201, or 204

프로덕션에서는 공개 PoC User-Agent에만 의존하지 마십시오. 엔드포인트와 예상치 못한 업로드 패턴이 User-Agent 값보다 더 안정적인 지표입니다.

2. SP Page Builder 아이콘 경로 아래의 실행 파일 또는 .htaccess

다음과 일치하는 새 파일 또는 수정된 파일에 대한 파일 원격 측정 모니터링:

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/*/fonts/*.php
/media/com_sppagebuilder/assets/iconfont/*/fonts/*.PHP
/media/com_sppagebuilder/assets/iconfont/*/fonts/*.pHp
/media/com_sppagebuilder/assets/iconfont/*/fonts/*.Php
/media/com_sppagebuilder/assets/iconfont/*/fonts/.htaccess

미디어 업로드 디렉터리에 AddType application/x-httpd-php .PHP를 포함하는 .htaccess가 존재하는 것은 높은 가치의 지표입니다.

3. 명령 매개변수가 있는 업로드된 PHP 파일에 대한 GET 요청

업로드 활동과 다음과 같은 경로에 대한 후속 HTTP 요청을 상관 분석하십시오:

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/*/fonts/*

요청이 PHP와 유사한 확장자를 대상으로 하고 t= 및 c=와 같은 매개변수를 포함할 때 더 높은 신뢰도에 도달합니다.

4. 웹 서비스 계정에서의 셸 또는 인터프리터 활동

높은 가치의 프로세스 지표는 다음과 같습니다:

root@kitploit:~
user: www-data, apache, or nginx
process: bash, sh, dash, or php
command line contains: /dev/tcp, bash -i, redirection operators, or unusual interpreter execution

5. 웹 컨테이너에서의 아웃바운드 연결

웹 서버 프로세스에 의해 실행된 셸 또는 인터프리터가 워크스테이션 또는 비정상적인 대상 포트로 아웃바운드 연결을 시작할 때 경고합니다. 실험실 이벤트는 TCP 포트 4444를 사용했지만, 프로덕션 탐지는 단일 포트에 의존해서는 안 됩니다.

6. 웹 실행 후 실패한 권한 상승 시도

테스트는 실패한 su - 시도를 생성했습니다. unix_chkpwd와 같은 인증 도우미, /var/log/btmp에 대한 쓰기 및 웹 서비스 계정 손상 후 대화형 명령을 모니터링하십시오.

SOC 분류 지침

HTTP 업로드 지표가 탐지되면 SOC는 이를 즉시 다음 항목과 상관 분석해야 합니다:

  • 소스 IP, 사용자 에이전트 및 HTTP 상태;
  • 대상 Joomla 인스턴스에 SP Page Builder가 설치되어 있는지와 버전이 취약한지 여부;
  • /media/com_sppagebuilder/assets/iconfont/ 아래의 새 디렉터리;
  • Joomla 미디어 디렉터리 아래의 새 PHP 유사 파일 또는 .htaccess 파일;
  • 업로드 직후 새로 생성된 파일에 대한 HTTP GET 요청;
  • t= 및 c=와 같은 명령형 쿼리 매개변수;
  • 웹 서버 사용자에 의한 프로세스 생성, 특히 셸 또는 인터프리터 프로세스;
  • 웹 컨테이너 또는 웹 서비스 계정에서의 아웃바운드 연결;
  • whoami, id, uname, hostname, pwd, ip, ifconfig, netstat, ss와 같은 탐색 명령;
  • 초기 실행 후 인증 실패, 자격 증명 접근 시도, 지속성 또는 측면 이동.

단일 업로드 이벤트만으로는 항상 충분하지 않습니다. 가장 강력한 경고는 동일한 짧은 시간 창 내에서 업로드, 파일 생성, 파일 접근, 프로세스 실행 및 아웃바운드 네트워크 원격 측정을 결합합니다.

권장 완화 조치

  1. SP Page Builder를 버전 6.6.2 이상으로 업데이트하십시오.
  2. /media/com_sppagebuilder/assets/iconfont/ 및 더 넓은 Joomla 미디어 디렉터리에서 PHP 유사 파일 및 .htaccess 아티팩트를 검토하십시오.
  3. 업로드 디렉터리에서 예상치 못한 PHP, .htaccess, .phtml, .phar, 아카이브 또는 실행 가능한 아티팩트를 제거하십시오.
  4. Apache, Nginx 및 PHP-FPM 계층에서 업로드 및 미디어 디렉터리에서 PHP 실행을 비활성화하십시오.
  5. 신뢰할 수 없는 네트워크에서 asset.uploadCustomIcon 엔드포인트에 대한 접근을 제한하거나 경고하십시오.
  6. 웹 서비스 자식 프로세스 및 웹 컨테이너에서의 아웃바운드 연결을 모니터링하십시오.
  7. 애플리케이션 웹루트를 포함하는 Docker 볼륨에 대해 FIM, eBPF, auditd 또는 EDR 범위를 배포하십시오.
  8. 애플리케이션 데이터가 Docker 볼륨 또는 바인드 마운트에 저장된 경우 웹루트 모니터링에 docker diff만 의존하지 마십시오.

범위 및 제한 사항

  • 검증은 SP Page Builder가 설치된 하나의 Joomla 5 Docker 인스턴스에 대해 수행되었습니다.
  • 관찰된 영향은 웹 서버 프로세스 사용자 www-data로의 코드 실행이었으며, 루트로의 권한 상승은 확인되지 않았습니다.
  • 결과는 테스트된 경로 및 구성을 확인합니다. 모든 배포, 리버스 프록시, 웹 서버, PHP 핸들러 또는 운영 체제가 동일하게 동작한다는 것을 증명하지는 않습니다.
  • 공격적인 익스플로잇 코드, 페이로드 소스, 원시 PCAP 파일, 원시 Docker 증거 패키지 및 DOCX 소스 파일은 이 저장소에 배포되지 않습니다.
  • 보고서는 자료를 읽기 쉽고 탐지에 초점을 맞추기 위해 전체 원시 로그 대신 선택된 증거 발췌문을 포함합니다.

참조

  • NVD - CVE-2026-48908
  • CVE.org - CVE-2026-48908
  • CISA 알려진 악용 취약점 카탈로그
  • 초기 검증 참조로 사용된 공개 프로젝트
  • JoomShaper SP Page Builder

책임 있는 사용 고지

이 자료는 방어적 보안 연구, 취약점 관리, 탐지 엔지니어링, 사고 대응 준비 및 승인된 테스트를 위해 제공됩니다. 명시적 허가 없이 시스템에 대해 사용하지 마십시오.

도구 다운로드