Başqalarının terminallarında qaçış ardıcıllığını əvəz etməyə imkan verən zəiflik

Divar yardım proqramında util-linux paketində təchiz edilmiş və terminallara mesaj göndərmək üçün nəzərdə tutulmuş boşluq (CVE-2024-28085) müəyyən edilmişdir ki, bu da xilasetmə ardıcıllığı ilə manipulyasiya yolu ilə digər istifadəçilərin terminallarına hücum etməyə imkan verir. Problem, divar yardım proqramının giriş axınındakı qaçış ardıcıllığını bloklaması, lakin bunu əmr xətti arqumentlərində etməməsi və təcavüzkarın digər istifadəçilərin terminallarında qaçış ardıcıllığından qaçmasına imkan verməsi ilə əlaqədardır.

Məsələn, "wall $(printf "\033[33mHI")" əmrini yerinə yetirməklə siz "HI" hərfini sarı rəngdə çap edə bilərsiniz. Göstəricini hərəkət etdirməyə, ekranda məzmunu təmizləməyə və dəyişdirməyə imkan verən qaçış ardıcıllığından istifadə etməklə siz başqa istifadəçinin terminalında sudo parol sorğusunun göstərilməsini simulyasiya edə bilərsiniz. Əgər istifadəçi hiyləni görməzsə və parolunu daxil edərsə, parol daxiletmə tarixçəsində mövcud olmayan bir əmr kimi görünəcək (əslində istifadəçi əmr əvəzinə əmr satırına öz parolunu daxil edəcək). “\033[3A” // kursoru 3 sətir yuxarı aparın “\033[K” // əvvəlki çıxışı silin “a_user üçün [sudo] parol:” // saxta sudo sorğusunu göstərin “\033[?25l” / / "\033[38;2;48;10;36m" girişini gizlətmək üçün fon rəngini təyin edin

Daxil edilmiş əmrin tapılmaması barədə xəbərdarlıq verildikdə, bir çox paylamalar /usr/lib/command-not-found idarəedicisini işə salır, o, çatışmayan əmri ehtiva edən paketi müəyyən etməyə və onun quraşdırılıb-qurulamayacağına dair ipucu verməyə çalışır. . Problem ondadır ki, tapılmayan əmr işləyicisi işə salındıqda, sistemdə proseslərə baxarkən (məsələn, silinmiş yardım proqramını işə salmağa çalışarkən) görünən bir komanda xətti parametri kimi ona mövcud olmayan bir əmr verilir. "xsnow", "/usr" proseslər siyahısında görünəcək /lib/command-not-found - xsnow"). Müvafiq olaraq, təcavüzkar işləyən prosesləri izləyə bilər (məsələn, proqnozlaşdırılan PID nömrəsi üçün “/proc/$pid/cmdline” baş verməsini təhlil etməklə) və əmr satırında qurbanın daxil etdiyi parolu müəyyən edə bilər.

İstifadəçinin uydurma sudo sorğusuna cavab olaraq parol daxil etməsi üçün mahiyyəti proseslər siyahısında sudo yardım proqramının faktiki işə salınmasını izləmək, onun tamamlanmasını gözləmək və bir hiylə təklif edilmişdir. bundan dərhal sonra "divar" vasitəsilə hücum edin. Qaçış ardıcıllığı ilə manipulyasiya etməklə, təcavüzkar sudo-nun faktiki icrasından sonra mesajı saxta parolun yenidən daxil edilməsi sorğusu ilə əvəz edə bilər. Zərərçəkmiş parolu daxil edərkən səhv etdiyini düşünə bilər və şifrəni ikinci dəfə daxil edərək, parolu "komanda tapılmadı" işləyicisinin arqumentlərində aşkar edə bilər.

Uğurlu hücum Ubuntu, Debian və CentOS/RHEL-də defolt olaraq təyin olunan "mesg" rejimini "y" olaraq təyin etməyi tələb edir. Hücum Ubuntu 22.04-də gnome-terminaldan istifadə edərək standart konfiqurasiyada nümayiş etdirilib. Debian-da hücum çətindir, çünki "əmr tapılmadı" idarəedicisi paylamada defolt olaraq işə salınmayıb və CentOS/RHEL-də hücum işləməyəcək, çünki divar yardım proqramı setgid bayrağı olmadan quraşdırılıb və bunu edir. digər insanların terminallarına çıxışı yoxdur. Windows-terminaldan istifadə edərkən, hücum panonun məzmununu dəyişdirmək üçün dəyişdirilə bilər.

Zəiflik util-linux paketində 2013-cü ildən, 2.24 buraxılışı divar əmr satırında mesaj təyin etmək imkanı əlavə etdikdən sonra mövcuddur, lakin qaçış ardıcıllığını təmizləməyi unutmuşdu. Zəiflik üçün düzəliş util-linux 2.40-ın dünənki buraxılışına daxil edilmişdir. Maraqlıdır ki, util-linux 2.39-un buraxılışında zəifliyi aradan qaldırmağa çalışarkən, yerli dillərin manipulyasiyası yolu ilə idarəetmə simvollarını əvəz etməyə imkan verən daha bir oxşar boşluq aşkar edilmişdir.

Mənbə: opennet.ru

Добавить комментарий