PEASS-ng
Last updated
Last updated
Peass (Privilege Escalation Awesome Scripts SUITE - new generation), Windows ve Linux/Unix* ve MacOS için ayrıcalık yükseltme araçlarıdır. Bu araçlar, yararlanabileceğiniz olası yerel ayrıcalık yükseltme yollarını arar ve bunları size güzel renklerle yazdırır, böylece yanlış yapılandırmaları kolayca fark edebilirsiniz. Nmap, dirb gibi makine hakkında bilgi toplamak için kullanılır. Genellikle netcat ile reverse shell aldıktan sonra bilgisayarımızdan bir python http.server başlatarak saldırdığımız makinedeki işletim sistemine göre uygun peas'i atarız. Peas'imizi "chmod +x linpeas.sh" komutundaki gibi yetkilendirir ve çalıştırırız. Sonrasında, çıktıdaki yazıların renklerine göre nerede zafiyet olabileceğini ve peass'in bize önerdiği muhtemel exploitleri görürüz.
Kırmızı/Sarı rengi %99 ihtimalle bir PE (Privilege Escalation) yani yetki yükseltme vektörü olduğunu belirtir. Kırmızı renkler, en az bir kez bakmamız gereken zafiyet çıkabilecek yerleri gösterir. Açık mavi, mavi ve yeşil renkleri genellikle işimize yaramayan sıradan şeyleri gösterir. "LightMagenta" yazan eflatuna yakın beyaz renk ise bizim, yani saldırganın bilgilerini içerir.
Peass, çözüme giden yolda işlerimizi kolaylaştıran ve bizi bir adım ileriye götüren bir araç olduğu için kullanımını TryHackMe'de bulunan "Anonymous" isimli makineyi çözerek anlatmak istiyorum. Bu makineyi çözerken ayrıca nmap ve wget araçlarını, dosya gönderim protokolünü (FTP) ve SUID PE komutlarını kullanacağız.
Nmap ile port taraması yaptığımızda 21, 22, 139 ve 445 portlarının açık olduğunu gördük. Özellikle bu portlarda bir zafiyetin olup olmadığını öğrenmek için aşağıdaki aramayı yapalım.
İkinci nmap taramasında anonymous:anonymous bilgileri ile FTP'ye bağlanabileceğimizi gördük.
FTP'ye başarılı bir şekilde bağlandıktan sonra, tüm kullanıcılar için okuma, yazma ve çalıştırma yetkilerine sahip bir "scripts" dosyasının olduğunu gördük. İçine girdiğimizde bizi üç yeni dosya karşılıyor. Haydi, bunları indirelim ve ne olduklarına bakalım.
"to_do.txt" dosyası bilgisayar sahibinin kendine aldığı notları içeriyor gibi görünüyor. Araştırmaya devam edelim.
"removed_files.log" dosyası, bir Cronjob'unun loglarını tutuyormuş gibi görünüyor. Cronjob'unun çalıştırdığı dosyanın "clean.sh" olabileceğini düşünüyorum. Hadi doğrulamak için dosyanın içine göz atalım.
Bingo! "removed_files.log" dosyasının içindeki bildirimler bu dosya ile bağlantılı olduğunu gösteriyor. Cronjob'unun belirli bir zaman geçtikten sonra bu dosyayı çalıştıracağını biliyoruz. FTP içerisinde "clean.sh" dosyasının tüm kullanıcılar için yazma ve çalıştırma yetkisine sahip olduğunu öğrenmiştik. Bu dosya içerisine eğer reverse shell kodu yüklersek, Cronjob dosyayı çalıştırdığında sistemi netcat ile dinleyebiliriz.
TryHackMe'nin bana verdiği IP adresini girerek, kurbanın benim bilgisayarımındaki 6060 portuna bağlanmasını sağlayacak kodu 'clean.sh' dosyası içine yazdım.
Yeni oluşturduğum dosyayı FTP ile yüklemeden önce 6060 portunu dinliyorum.
Dinleme işlemi sürerken başka bir terminal açarak FTP'ye bağlanıyorum ve yeni 'clean.sh' dosyasını yüklüyorum.
Aradan bir süre geçtikten sonra dinlediğim 6060 portu üzerinden makineye bağlanıyorum.
Şimdi yeni bir terminal açarak Linpeas'in bulunduğu dizine gittim. Bu sırada bir HTTP serverı ayağa kaldırarak netcat ile dinlediğim makineye 'linpeas.sh' dosyasını yükleyeceğim.
wget yardımı ile IP adresimi ve açtığım 9000 portu üzerinden 'linpeas.sh' dosyasını makineye yükledim.
"chmod +x linpeas.sh" komutu ile scriptimi yetkilendirdim ve çalıştırdım. Şimdi gelen sayfalarca çıktının birazını inceleyelim.
Sistem hakkında bazı bilgileri elde ettik. Sudo versiyonunda bir zafiyet olabileceği için kırmızı ile yazılmış. İncelemeye devam edelim.
Bize muhtemel zafiyetlerin CVE numaralarını verdi. İncelemeye devam edelim.
Bize "/env" dizininde %99 ihtimalle bir SUID yetki yükseltme açığı olabileceğini belirtti. Bunun için GTFOBins sitesinden yararlanabiliriz.
Uygun kodu GTFOBins'de bulduk.
Kodu ilk denediğimde "./env bulunamadı" hatası aldım. "whereis env" yazarak "/env" dosyasının yolunu öğrendim ve SUID kodunu düzelterek tekrar yazdım. İkinci denememde başarılı bir şekilde root yetkilerine eriştim.
Root yetkileri ile TryHackMe'nin bizden istediği iki flag'i buldum. "/home/namelessone" dizini altında başka bir sorunun cevabı bulunuyor. Yazımda anlattığım adımları uygulayarak sorunun cevabına ulaşabilirsiniz.