- Katılım
- 21 Ocak 2024
- Mesajlar
- 59
- Tepkime puanı
- 32
- Puanları
- 18
Merhaba, VulnHub’ta yer alan “JANGOW: 1.0.1” açıklı makinesinin çözümünü anlatacağım.
“Difficulty: easy” birr makine, ekserinde web bazlı ama aşamalara bakıldığında sıradan bir açıklı makine çözümünün birebir aynısı desek yanlış olmaz. Öncelikle makineyi VulnHub‘tan indiriyoruz. VM Workstation Pro ile Virtual Box kullanıyorum, yerel ağda iletişimi kurmak için bridged “host only net adaptor” seçeneğiyle makineleri ayaklandırabilirsiniz, bağlantı aşamasında bir sorun yaşamayacaksınız bu şekilde.
Pasif bilgi toplama yöntemlerinden biri olan NMAP’le başlıyorum, netdiscover kullanarak makinenin IPV4 adresini öğrenebilirdim ama sağ olsun aracı yazan arkadaş bunu giriş ekranında vermiş.
ile açık servis var mı, varsa neler diye bir tarama atıyorum. 80 (http), 21 (ftp) portlarının açık olduğunu görüyorum ve işletim sistemi hakkında da bilgi almış oluyoruz. İleride olası bir durumda yetki yükseltmesi yapacaksak, linux için bir exploit arayacağım, esasen -O ile OS bilgisini öğrenmemin nedeni bu tam olarak.
adresine gidiyorum ve bir sitenin olduğunu görüyorum. Template kurulmuş, burada dikkatimi “Buscar” sekmesi çekiyor.
sekmeye tıklayınca bu url’e atıyor. Bu linkte Local File Inclusion açığı olduğunu anlamam uzun sürmüyor, LFI; bize uzaktan dosya yüklememize yarıyor yani makine şu an local’de çalıştığı için local elbette, eğer uzak sunucuya yüklenebiliyorsa da RFI oluyor. Ben Local’de makine çalıştırıdığım için LFI sömüreceğim.
ile dosyaları ve yetkilerini kontrol ediyorum, ilgimi çeken bir şey yok.
Bir alt dizine gidiyorum ve orada da ls -all çekiyorum. Bingo! .backup isimli dosya okuma ve yazma yetkisine sahip.
.backup’ı cat ile okuyorum ve karşıma mysql giriş bilgileri geliyor, FTP portunun açık olduğu aklıma geliyor ve giriş yapmayı deniyorum.
Artık içeriye dosya koyabildiğimizi öğrendik. Farklı farklı dizinlere girip “put” komutuyla dosya koymayı deneyeceğiz, buradaki amacımız koyduğumuz exploiti çalıştırıp root olmak. Bunun için Local Privilege Escalation‘ı kullanacağız. Deneye deneye home dizinine kadar geliyorum ve burada “jangow01” isimli dizine giriyorum, put ile denemelik bir şey koyduğumda dosyanın karşı tarafa gittiğini görüyoruz.
“pwnlab.c” isimli dosyayı karşı tarafa yolluyorum, bunun içine yukarıdaki exploiti yerleştirdim. Şimdi sırada makineye girip exploiti çalıştırmak kaldı.
bilgileriyle giriş yapıyorum.
“gcc pwnlab.c -o exploit” ardından ./exploit”
komutlarıyla bypass işlemini gerçekleştiriyorum.
whoami çekiyoruz ve artık root yetkilerine sahibiz!
root dizinine giriyorum, proof.txt’yi okutuyorum ve bingo!
Ön Tanıtım
“Difficulty: easy” birr makine, ekserinde web bazlı ama aşamalara bakıldığında sıradan bir açıklı makine çözümünün birebir aynısı desek yanlış olmaz. Öncelikle makineyi VulnHub‘tan indiriyoruz. VM Workstation Pro ile Virtual Box kullanıyorum, yerel ağda iletişimi kurmak için bridged “host only net adaptor” seçeneğiyle makineleri ayaklandırabilirsiniz, bağlantı aşamasında bir sorun yaşamayacaksınız bu şekilde.
Pasif bilgi toplama yöntemlerinden biri olan NMAP’le başlıyorum, netdiscover kullanarak makinenin IPV4 adresini öğrenebilirdim ama sağ olsun aracı yazan arkadaş bunu giriş ekranında vermiş.
Bilgi Toplama
nmap -T4 -O -A 192.168.56.118
ile açık servis var mı, varsa neler diye bir tarama atıyorum. 80 (http), 21 (ftp) portlarının açık olduğunu görüyorum ve işletim sistemi hakkında da bilgi almış oluyoruz. İleride olası bir durumda yetki yükseltmesi yapacaksak, linux için bir exploit arayacağım, esasen -O ile OS bilgisini öğrenmemin nedeni bu tam olarak.
192.168.56.118
adresine gidiyorum ve bir sitenin olduğunu görüyorum. Template kurulmuş, burada dikkatimi “Buscar” sekmesi çekiyor.
Açığın Tespit & İstismar Edilmesi
sekmeye tıklayınca bu url’e atıyor. Bu linkte Local File Inclusion açığı olduğunu anlamam uzun sürmüyor, LFI; bize uzaktan dosya yüklememize yarıyor yani makine şu an local’de çalıştığı için local elbette, eğer uzak sunucuya yüklenebiliyorsa da RFI oluyor. Ben Local’de makine çalıştırıdığım için LFI sömüreceğim.
İlk işim “pwd” komutun çalıştırmak oluyor, neredeyiz onu görelim. “/var/www/html/site” dizinindeyiz.
ls -all
ile dosyaları ve yetkilerini kontrol ediyorum, ilgimi çeken bir şey yok.
Bir alt dizine gidiyorum ve orada da ls -all çekiyorum. Bingo! .backup isimli dosya okuma ve yazma yetkisine sahip.
“ls -all var/www/html/”
.backup’ı cat ile okuyorum ve karşıma mysql giriş bilgileri geliyor, FTP portunun açık olduğu aklıma geliyor ve giriş yapmayı deniyorum.
Bypass
Artık içeriye dosya koyabildiğimizi öğrendik. Farklı farklı dizinlere girip “put” komutuyla dosya koymayı deneyeceğiz, buradaki amacımız koyduğumuz exploiti çalıştırıp root olmak. Bunun için Local Privilege Escalation‘ı kullanacağız. Deneye deneye home dizinine kadar geliyorum ve burada “jangow01” isimli dizine giriyorum, put ile denemelik bir şey koyduğumda dosyanın karşı tarafa gittiğini görüyoruz.
“pwnlab.c” isimli dosyayı karşı tarafa yolluyorum, bunun içine yukarıdaki exploiti yerleştirdim. Şimdi sırada makineye girip exploiti çalıştırmak kaldı.
$username = “jangow01”; |
$password = “abygurl69”; |
bilgileriyle giriş yapıyorum.
“gcc pwnlab.c -o exploit” ardından ./exploit”
komutlarıyla bypass işlemini gerçekleştiriyorum.
whoami çekiyoruz ve artık root yetkilerine sahibiz!
root dizinine giriyorum, proof.txt’yi okutuyorum ve bingo!
Moderatör tarafında düzenlendi: