## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-IJBAIG-CVE-2021-3156
# ΠΠ»ΡΠ±ΠΎΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΡΠΊΡΠΏΠ»ΠΎΠΉΡ-ΡΠ΅ΠΏΠΎΡΠΊΠΈ: CVE-2021-3156 (Baron Samedit)
**ΠΠ²ΡΠΎΡ:** IJ Baig
**ΠΠ°ΡΠ°:** 7 ΠΈΡΠ»Ρ 2026 Π³ΠΎΠ΄Π°
* * *
## 1\. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ CVE, Π·Π°ΡΡΠΎΠ½ΡΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ±ΠΎΡΠΊΠΈ
* **ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ CVE:** CVE-2021-3156
* **Π’ΠΈΠΏ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ:** ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΠ΅ΡΠ° Π² ΠΊΡΡΠ΅ (heap-based buffer overflow)
* **ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π°ΡΡΠΎΠ½ΡΡΡΡ
Π²Π΅ΡΡΠΈΠΉ:** Π£ΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Sudo Ρ `1.8.2` ΠΏΠΎ `1.8.31p2`, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Ρ `1.9.0` ΠΏΠΎ `1.9.5p1`.
* **Π‘ΠΎΠ±ΡΠ°Π½Π½Π°Ρ ΡΠ΅Π»Π΅Π²Π°Ρ Π²Π΅ΡΡΠΈΡ:** Sudo `1.9.5p1`
### 1.1 ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
ΠΠ»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠΎΠΉ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΡΡΠ·Π²ΠΈΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ Sudo Π±ΡΠ»Π° ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π° Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ, Π½Π΅ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΡΡΠ΅Π΄Π΅.

### 1.2 ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Sudo `1.9.5p1` Π±ΡΠ» Π·Π°Π³ΡΡΠΆΠ΅Π½ ΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΡΡΠΈΠ»ΠΈΡ `make`. ΠΡΠΎΠ±ΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π΅Π½ΠΎ ΡΠΎΠΌΡ, ΡΡΠΎΠ±Ρ ΡΠ±ΠΎΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ Π½Π΅ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π»Π° Π½Π°ΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΠΏΠ°ΡΡΠ΅Π½Π½ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» `sudo` Ρ
ΠΎΡΡ-ΡΠΈΡΡΠ΅ΠΌΡ.

**ΠΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ±ΠΎΡΠΊΠΈ:** ΠΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Π±ΡΠ»Π° ΡΠΎΠ±ΡΠ°Π½Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠ·Π²ΠΈΠΌΠ°Ρ Π²Π΅ΡΡΠΈΡ.


## 2\. ΠΠ½Π°Π»ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Ρ
### 2.1 Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°
* **Π€Π°ΠΉΠ»:** `plugins/sudoers/sudoers.c`
* **Π€ΡΠ½ΠΊΡΠΈΡ:** `set_cmnd()` (ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΡΡΠΎΠΊΠ° 864 Π² Π²Π΅ΡΡΠΈΠΈ 1.9.5p1)

### 2.2 ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊ, ΡΡΡ Π·Π°Π΄Π°ΡΠ° β ΡΠ΄Π°Π»ΡΡΡ escape-ΡΠΈΠΌΠ²ΠΎΠ»Ρ (ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ ΡΠ»Π΅ΡΠΈ) ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡ
Π² Π·Π°Π½ΠΎΠ²ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ (Π±ΡΡΠ΅Ρ Π² ΠΊΡΡΠ΅). ΠΠΎΠΌΠΎΡΠ½ΠΈΠΊ ΡΠ»Π΅ΠΏΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ Π·Π° ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ ΡΠ»Π΅ΡΠ΅ΠΌ _Π²ΡΠ΅Π³Π΄Π°_ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΡΠ° ΠΎΠ½ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π΅Π³ΠΎ ΠΈ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ».
ΠΠ΄Π½Π°ΠΊΠΎ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ `sudoedit -s`, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΈΠ·ΡΡΠ½. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»ΠΎΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ²Π½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ ΡΠ»Π΅ΡΠ΅ΠΌ (`\`), Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΠ°Π·Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡΠΉ ΠΌΠ°ΡΠΊΠ΅Ρ ΠΊΠΎΠ½ΡΠ° ΡΠ»ΠΎΠ²Π° (Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΎΡ, `\0`).
ΠΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° Π΄ΠΎΡ
ΠΎΠ΄ΠΈΡ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΡΠ°, ΠΎΠ½ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π΅Π³ΠΎ ΠΈ ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» β Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΎΡ. ΠΠΌΠ΅ΡΡΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° `if` Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠ° ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΎΡ. Π¦ΠΈΠΊΠ» ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ, ΠΊΠΎΠΏΠΈΡΡΡ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π»ΡΠ±ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΠ°ΠΌΡΡΠΈ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π’Π°ΠΊΠΎΠ΅ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΡΠ»ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ Π±ΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΡΠ΅ΡΡΡΠ·Π½ΠΎΠΌΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π² ΠΊΡΡΠ΅.
**Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:**
root@kitploit:~
/* Unescape characters, skipping over backslashes */
for (to = user_args, av = NewArgv + 1; (from = *av); av++) {
while (*from) {
// VULNERABILITY: If from[0] is '\' and from[1] is '\0',
// the loop evaluates to true, increments 'from', skipping the null terminator.
if (from[0] == '\\' && !isspace((unsigned char)from[1]))
from++;
*to++ = *from++;
}
*to++ = ' ';
}
*--to = '\0';
### 2.3 ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΡ ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Sudo ΠΈΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΎΡΠΈΠ±ΠΊΡ Π² Π²Π΅ΡΡΠΈΠΈ `1.9.5p2`, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΡΡΡΠΎΠ³ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ Π³ΡΠ°Π½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ΄ ΡΠ²Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ», ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π·Π° ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ ΡΠ»Π΅ΡΠ΅ΠΌ, Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½ΡΠ»Π΅Π²ΡΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΎΡΠΎΠΌ, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°Π·ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅.
**ΠΠΈΡΡ ΠΏΠ°ΡΡΠ°:**
root@kitploit:~
- if (from[0] == '\\' && !isspace((unsigned char)from[1]))
+ if (from[0] == '\\' && from[1] != '\0' && !isspace((unsigned char)from[1]))
**ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Ρ:** ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ `from[1] != '\0'` Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ. Π’Π΅ΠΏΠ΅ΡΡ, Π΅ΡΠ»ΠΈ ΠΊΠΎΠ΄ Π²ΡΡΡΠ΅ΡΠ°Π΅Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ ΡΠ»Π΅Ρ Π² ΡΠ°ΠΌΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ (ΡΠΎ Π΅ΡΡΡ `from[1]` β Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΎΡ), ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ `if` ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ false. Π£ΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΡΠ»Π΅Π²ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½Π°ΡΠΎΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Π΅Ρ ΡΡΡΠΎΠΊΠΈ, ΠΈ ΡΠΈΠΊΠ» Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΡΡΠΈ.
## 3\. ΠΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠ°
### 3.1 ΠΡΠ±Π»ΠΈΡΠ½ΡΠΉ Proof of Concept (PoC)
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ Python-ΡΠΊΡΠΏΠ»ΠΎΠΉΡ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ _Worawit_ (Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Π°ΡΠΈΠ°Π½Ρ `exploit_nss.py`).
### 3.2 Π Π°Π·Π±ΠΎΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ PoC
ΠΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ PoC ΠΊΡΠ°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ Π΅Π³ΠΎ ΠΌΠ΅Ρ
Π°Π½ΠΈΠΊΡ. Π‘ΠΊΡΠΈΠΏΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ; ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΠΎΠΊΠΎΡΠΎΡΠ½ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΠΎΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ PoC:
1. **ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ:** Π‘ΠΊΡΠΈΠΏΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ C-Π½Π°Π³ΡΡΠ·ΠΊΡ Π² ΡΠ°ΠΉΠ» ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (`.so`). ΠΡΠ° Π½Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ `/bin/sh` Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ root.
2. **Heap Feng Shui:** Π‘ΠΊΡΠΈΠΏΡ Π·Π°Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `LC_ALL`, `LANG` ΠΈ `TZ`). ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Sudo Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Π² ΠΊΡΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅, ΡΠΊΡΠΈΠΏΡ Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΎΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ Π²ΡΡΡΡΠ°ΠΈΠ²Π°Π½ΠΈΡ ΠΊΡΡΠΈ Π² ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
3. **ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅:** Π‘ΠΊΡΠΈΠΏΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ `sudoedit -s` ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠΉΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΌ ΡΠ»Π΅ΡΠ΅ΠΌ. ΠΡΠΎ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ off-by-one, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 2, Π²ΡΠ·ΡΠ²Π°Ρ Π·Π°ΠΏΠΈΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ.
4. **ΠΠ°ΡΠ΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΊΡΡΡΡ NSS:** ΠΠ°ΠΏΠΈΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΡ glibc Π² ΡΠΎΡΠ΅Π΄Π½Π΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΡΡΠΈ: ΡΡΡΡΠΊΡΡΡΡ `service_user`. ΠΡΠ° ΡΡΡΡΠΊΡΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Name Service Switch (NSS) Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
5. **ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°:** Π‘ΡΡΡΠΊΡΡΡΠ° `service_user` ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π°Π΅ΡΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Π½Π° Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ `.so`, ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΡΠ°Π³Π΅ 1. ΠΠΎΠ³Π΄Π° Sudo ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠΈΡΠΊ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΠ½ Π²ΡΠ»Π΅ΠΏΡΡ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ root-ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ.
### 3.3 ΠΠ°ΠΏΡΡΠΊ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ (Sudo 1.9.5p1)
Π‘Π½Π°ΡΠ°Π»Π° Π±ΡΠ» ΠΏΡΠΎΠ²Π΅Π΄ΡΠ½ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ΅ΡΡ Π½Π° ΡΠ±ΠΎΠΉ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠΊΠ°Π·Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π½Π΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Ρ Π΅Ρ Π² ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ.

ΠΠ°ΡΠ΅ΠΌ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Worawit `exploit_nss.py` Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΡΠΎΡΠΈΠ² ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.

### 3.4 ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠ°ΡΡΠ° (Sudo 1.9.5p2)
ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΡΠΈΠ³Π³Π΅Ρ PoC Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΡΠΎΡΠΈΠ² ΠΏΡΠΎΠΏΠ°ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Sudo.
root@kitploit:~
sudoedit -s '\' 2>&1 | grep -q "sudoedit:" && echo "Vulnerable" || echo "Not vulnerable"

## 4\. ΠΠ΅ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅Π·ΡΠΌΠ΅
Sudo β ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π½Π° Π½Π°ΡΠΈΡ
ΡΠ΅ΡΠ²Π΅ΡΠ°Ρ
, β ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ·ΡΡΠ½ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
Π²Ρ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ ΡΠ»Π΅ΡΠΈ. ΠΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΠ² Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Ρ Π±Π°Π·ΠΎΠ²ΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΠΌΠ°Π½ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π·Π°ΡΡΠ°Π²ΠΈΠ² Π΅Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ° ΠΎΡΠΈΠ±ΠΊΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΌΠ΅ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΡΠΉ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π½Π°Π΄ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ Π΄Π°ΠΆΠ΅ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠ°ΡΠΎΠ»Ρ.
## 5\. ΠΠΎΠ·Π½ΠΈΠΊΡΠΈΠ΅ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΡΠ½Π½ΡΠ΅ ΡΡΠΎΠΊΠΈ
**Π’ΡΡΠ΄Π½ΠΎΡΡΠΈ:** ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ Π±ΡΠ»Π° Ρ
ΡΡΠΏΠΊΠΎΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ ΠΊΡΡΠ΅ΠΉ. ΠΠΊΡΠΏΠ»ΠΎΠΉΡ-Π½Π°Π³ΡΡΠ·ΠΊΠΈ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΠ‘, ΡΠ°ΡΡΠΎ Π½Π΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π½Π° Π΄ΡΡΠ³ΠΈΡ
, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±Π°Π·ΠΎΠ²Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C (glibc) ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ. Π§ΡΠΎΠ±Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΡΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠΊΡΠΏΠ»ΠΎΠΉΡ, ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΡΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠ°ΡΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (Heap Feng Shui), Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΡ
Π΄Π»Ρ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΡΡΠ΅Π΄Ρ.
**ΠΠ·Π²Π»Π΅ΡΡΠ½Π½ΡΠ΅ ΡΡΠΎΠΊΠΈ:** Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎΡ Π³Π»ΡΠ±ΠΎΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΉ:
* **Π¦Π΅Π½Π½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΡ
Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΡ
ΡΡΠ΅Π΄:** ΠΠ΅ΡΠ΅Ρ
ΠΎΠ΄ ΠΎΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
Π²Π΅Π±-ΡΡΠ΅Π½Π°ΠΆΡΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, TryHackMe) ΠΊ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΠ³ΠΎ Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΈΡΡ
ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π΄Π°ΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΡ ΠΠ‘ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ.
* **ΠΠ½ΠΆΠ΅Π½Π΅ΡΠΈΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ²ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:** ΠΠΎΠ»Π°Π³Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΏΠ°ΡΡΠ΅ΠΉ Π΄Π»Ρ SUID-Π±ΠΈΠ½Π°ΡΠ½ΡΡ
ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΠΊΠ» ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²ΡΠ΅ΠΌΡ. ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΏΠ»ΠΎΠΉΡΠ° ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π½Π°Π΄ΡΠΆΠ½ΡΡ
ΠΏΡΠ°Π²ΠΈΠ» ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π² SIEM. ΠΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π° ΠΏΡΠ΅Π΄ΠΌΠ΅Ρ ΠΏΠΎΠ΄ΠΎΠ·ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ `sudoedit -s`, Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΡ
ΡΡ escape-ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΠΌΠΎΠ³ Π±Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ SOC ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°ΡΡ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ°ΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π·Π²ΡΡΠ½ΡΡ Π² ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅.
* **ΠΡΠ°Π½ΠΈΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ:** ΠΡΠΎ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠ½ΡΠ»ΠΎ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΉ ΡΠΈΡΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ SUID-Π±ΠΈΠ½Π°ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Sudo Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΌΠΈ root Ρ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, Π»ΡΠ±Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ°Π·Π±ΠΎΡΠ° ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ.
## 6\. ΠΠΎΠ½ΡΡ: ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² Sudo
**ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ CVE:** CVE-2019-14287 (ΠΎΠ±Ρ
ΠΎΠ΄ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Sudo) ΠΡΡ ΠΎΠ΄Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Sudo ΠΈΠΌΠ΅Π΅Ρ ΡΡ
ΠΎΠΆΠΈΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Ρ: Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°. Π CVE-2019-14287 Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ·ΡΡΠ½ Π² ΡΠΎΠΌ, ΠΊΠ°ΠΊ Sudo ΡΠ°Π·Π±ΠΈΡΠ°Π» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (UID), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ» Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ root, ΡΠΊΠ°Π·Π°Π² ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ `-1` ΠΈΠ»ΠΈ `4294967295`.
**ΠΠ°ΡΠ°Π»Π»Π΅Π»Ρ:** Π₯ΠΎΡΡ Baron Samedit (CVE-2021-3156) β ΡΡΠΎ ΠΈΠ·ΡΡΠ½ ΠΏΠΎΠ²ΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, Π° CVE-2019-14287 β ΠΎΠ±Ρ
ΠΎΠ΄ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠ΅ΡΠ²ΠΎΠΏΡΠΈΡΠΈΠ½Π° Π² ΠΎΠ±ΠΎΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
β ΡΠ±ΠΎΠΉ Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅ ΡΠ°Π·Π±ΠΎΡΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². ΠΠ±Π΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΎΠΈΡΡΠ΅ΠΊΠ°ΡΡ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ Sudo ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎ Π΄ΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΈ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠΎΠ³ΡΠ°Π½ΠΈΡΠ½ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ (Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ ΡΠ»Π΅ΡΠΈ ΠΏΡΠΎΡΠΈΠ² Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°) ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ²ΠΎΠΈΡ
ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
* * *
**ΠΠ°ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΡΠΈΠΊΠ΅:** _ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΌ ΠΎΡΡΡΡΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π² ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅. Π Ρ
ΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π»ΠΈΡΡ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½-ΡΠΈΡΡΠ΅ΠΌΡ ΠΈΠ»ΠΈ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠΈ._