Sploitus

CVE-2022-0847-DirtyPipe-Exploits

kitploit Β· 2026-08-25

Exploit Code

MARKDOWN113 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-MUHAMMAD1596-CVE-2022-0847-DIRTYPIPE-EXPLOITS
![Dirty Pipe](https://assets.kitploit.com/production/public/readmes/29633/2f41883dfe09bfa02ef03f05ec16e7c51115693094942337ca50807c07ae070c.png)

# CVE-2022-0847-DirtyPipe-Exploits

Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΎΠ±ΡˆΠΈΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ эксплойтов ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для спСциалистов ΠΏΠΎ пСнтСсту ΠΈ профСссионалов red team. Он слуТит Ρ†Π΅Π½Π½Ρ‹ΠΌ рСсурсом для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ стрСмится эффСктивно ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Dirty Pipe Π² Linux.

# Об уязвимости

  * Dirty Pipe (CVE-2022-0847) β€” это ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ локального ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, обнаруТСнная Π² ядрС Linux. Π­Ρ‚Π° ошибка бСзопасности позволяСт Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ нСсколько критичСски Π²Π°ΠΆΠ½Ρ‹Ρ… дСйствий, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ:

    * ИзмСнСниС ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², доступных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ /etc/passwd, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для манипуляции ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
    * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ привилСгиями, Ρ‡Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ нСсанкционированный административный доступ ΠΊ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ΠΎΠΉ систСмС.

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




## Π—Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ вСрсии

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ вСрсии ядра Linux Π½ΠΎΠ²Π΅Π΅ 5.8. ΠŸΠ°Ρ‚Ρ‡ΠΈ Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Ρ‹ для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… вСрсий ядра Linux:

  * 5.16.11
  * 5.15.25
  * 5.10.102



Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± уязвимости см. Π² CVE-2022-0847.

# Π‘ΠΊΠ°Π½Π΅Ρ€ уязвимости DirtyPipe

  * Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, уязвима Π»ΠΈ цСлСвая систСма, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эффСктивный ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ Bash-скрипт, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ @muhammad1596.
  * Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ доступа ΠΊ скрипту посСтитС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ DirtyPipe Checker Π½Π° GitHub: DirtyPipe Checker.



## ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ эксплойта

  * Для упрощСния процСсса компиляции ΠΎΠ±ΠΎΠΈΡ… эксплойтов доступСн Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Bash-скрипт компилятора.

  * ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ трСбования Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² вашСй систСмС установлСн GCC. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:




root@kitploit:~
    
    
    sudo apt-get install gcc
    

Π¨Π°Π³ΠΈ компиляции

  1. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ скрипт compile.sh исполняСмым:



root@kitploit:~
    
    
    chmod +x compile.sh
    

  2. ЗапуститС скрипт compile.sh для компиляции эксплойтов:



root@kitploit:~
    
    
    ./compile.sh
    

# Эксплойт-1 - ИзмСнСниС/ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ², доступных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния

  * Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ содСрТит Π΄Π²Π° эксплойта. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ, 'exploit-1.py', позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.



## Запуск Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° эксплойта

  * Код эксплойта ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π·Π°ΠΌΠ΅Π½Ρ‹ пароля root Π½Π° "piped" ΠΈ создаСт Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Ρ„Π°ΠΉΠ»Π° `/etc/passwd` Π² `/tmp/passwd.bak`. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, эксплойт прСдоставляСт root-ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ с ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ привилСгиями ΠΈ восстанавливаСт исходный Ρ„Π°ΠΉΠ» `passwd` послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ.



root@kitploit:~
    
    
    ./exploit-1
    

# Эксплойт-2 - ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ SUID-Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

  * Π­Ρ‚ΠΎΡ‚ эксплойт ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для внСдрСния ΠΈ пСрСзаписи Π΄Π°Π½Π½Ρ‹Ρ… Π² доступной Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния памяти SUID-процСссов, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ root.



## Поиск SUID-Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

root@kitploit:~
    
    
    find / -perm -4000 2>/dev/null
    

## Запуск Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° эксплойта

root@kitploit:~
    
    
    ./exploit-2 /usr/bin/sudo