← Back to list

VulnHub Loly: 1 Makinesinin Çözümü

Merhabalar, bu yazımda VulnHub üzerindeki Loly 1 makinesini çözeceğim. Makineyi indirmek için aşağıdaki bağlantıyı kullanabilirsiniz.

Azat Dicle · 2025-02-17 22:29 · 0 claps · 5.3 min read
#loly #vulnhub #ctf #hacking
Open on Medium ↗
Wiki topics: 🔒 · Cybersecurity

VulnHub Loly: 1 Makinesinin Çözümü

Merhabalar, bu yazımda VulnHub üzerindeki Loly 1 makinesini çözeceğim. Makineyi indirmek için aşağıdaki bağlantıyı kullanabilirsiniz.

[embed]Loly: 1 Loly: 1, made by SunCSR Team. Download & walkthrough links are available.www.vulnhub.com

Makinemizi indirip kurduktan sonra, Kali Linux’ta bulunan netdiscover aracıyla IP adresini tespit etmeye çalışıyorum. Burada önemli bir noktaya değinmek istiyorum: Makineyi VirtualBox üzerinde çalıştırdığımda internete bağlanamadım. Ancak VMware üzerinde çalıştırınca bu sorun çözüldü. Zaten makinenin geliştiricisi de “Bu, VirtualBox yerine VMware ile daha iyi çalışır.” şeklinde bir not düşmüş.

netdiscover -r 192.168.1.1

Makinemizin IP adresi 192.168.1.111 olarak görünüyor. IP adresini belirledikten sonra, nmap aracıyla detaylı bir tarama yapıyorum.

nmap -p- -sV -sC -oN lola_nmap 192.168.1.111

Burada yalnızca 80 numaralı portun açık olduğunu ve Nginx 1.10.3 sunucusunun çalıştığını görüyorum. Bunu doğrulamak için tarayıcıyı açıp ilgili IP adresine gidiyorum.

**http://192.168.1.111:80**

Tarayıcıda Nginx’in varsayılan sayfası karşımıza çıkıyor. Farklı dizinleri keşfetmek için Gobuster aracını kullanıyorum.

gobuster dir -u http://192.168.1.111/ -w /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt -x .txt,.php,.pdf,.xml,.xlsx,.html

Tarama sonucunda yalnızca /wordpress dizini bulunuyor. Hemen tarayıcıya giderek bu dizini kontrol ediyorum.

http://192.168.1.111/wordpress/

WordPress sayfası düzgün yüklenmiyor. Bunun üzerine sayfanın kaynak kodlarını inceleyerek bir DNS adresi buluyorum.

loly.lc bunu /etc/hosts dosyasına kayıt ediyorum.

Eğer tekrar girersek wordpress sayfası düzeliyor

Tekrar bir dizin taramsı yapıyorum

gobuster dir -u http://loly.lc/wordpress/ -w /usr/share/wordlists/seclists/Discovery/Web-Content/big.txt -x .txt,.php,.pdf,.xml,.xlsx,.html

Burada /wp-admin’e gidiyorum

http://loly.lc/wordpress/wp-login.php

Burada bir kullanıcı bulmamız gerektiğini fark ediyorum. Login sayfalarında kullanıcı adını tespit etmek için hatalardan yararlanabiliriz. Bu amaçla azat, dicle ve loly kullanıcı adlarını deneyerek test edeceğim.

Üç kullanıcıyı da denedik ve şu şekilde bir sonuç elde ettik: Azat ve Dicle’de böyle bir kullanıcı yokken, Loly kullanıcı adı girildiğinde “parola yanlış” hatası alıyoruz. Bu da Loly kullanıcısının mevcut olduğunu gösteriyor. Peki, başka olası kullanıcı isimleri de olabilir mi? Bunu araştırmak için Fuff aracını kullanarak daha fazla kullanıcı adı deniyorum.

Loly dışında başka bir kullanıcı adı bulunmadı. Bu durumda kaba kuvvet (brute force) saldırısı yaparak şifresini kırmayı hedefliyorum. Bunun için wpscan aracını kullanıyorum.

wpscan — usernames loly -P /usr/share/wordlists/rockyou.txt — login-uri /wp-login.php — url http://loly.lc/wordpress

Burada kullanıcı adı ve şifreyi buluyoruz loly:fernando wordpresse gidip giriş yapıyoruz

Paneli başarıyla giriş yaptıktan sonra, bir PHP payload hazırlamamız gerekiyor. Bu payload, hedef sistemde çalıştırılabiliriz.

Burada shell alacağımız yer AdRotate eklentisi oluyor. bende bozuk gözüktüğü için garip bir şekilde duruyor alta daha anlaşılır bir şekilde duruyor.

Görsel bana ait değildir

Görsel bana ait değildir

AdRotate eklentisi yüklediğimiz .zip dosyasının içindeki dosyalar banners klasörü altında çıkarılıyor. Bu durumda, oluşturacağımız payload’ı sıkıştırıp makineye göndereceğiz. Makine, dosyayı banners altında çıkaracak ve payload çalıştırılabiliriz.

php kabuğu için pentest monkey’e gidiyoruz aşağıda linki var dosyası makinemize indiriyoruz .

[embed]GitHub - pentestmonkey/php-reverse-shell Contribute to pentestmonkey/php-reverse-shell development by creating an account on GitHub.github.com

php-reverse-shell.php dosyasındaki iki önemli yeri değiştirmemiz gerekiyor:

  1. Port: Saldırgan makinenin dinlediği portu burada belirtmelisiniz.
  2. IP Adresi: Saldırgan makinenizin IP adresi burada yer almalı.

Bu değişiklikleri yaptıktan sonra, dosyayı hedef makineye gönderip çalıştırarak ters bağlantıyı alabiliriz.

Kayıt işlemini tamamladıktan sonra, reverse shell dosyamızı .zip formatında sıkıştırıyoruz. Bu şekilde, dosya hedef makineye yüklenebilir ve çalıştırılabilir hale gelir.

Tarayıcıya giderek zip dosyamı yüklüyorum.

Browse yerinden dosyamızı seçiyoruz

Browse yerinden dosyamızı seçiyoruz

Upload file buttouna tıklayarak zip dosyamızı yüklüyoruz

Upload file buttouna tıklayarak zip dosyamızı yüklüyoruz

“Banner image saved” mesajını gördükten sonra, dosyamızın başarılı bir şekilde yüklendiğini anlıyoruz. Şimdi, Netcat kullanarak makineyi dinlemeye alıyorum. Bu, payload’ın hedef makineye bağlanmasını ve ters bağlantıyı alabilmemizi sağlar.

Payload’ı çalıştırmak için banners klasörüne gidip, payload dosyamızın ismini yazıyoruz. Bu, dosyanın çalışmasını sağlayacak ve ters bağlantı kurabileceğiz. http://loly.lc/wordpress/wp-content/banners/azatdicle.php

Başarılı bir şekilde giriş yaptıktan sonra, makineyi araştırmaya başlıyoruz. Sistem üzerinde daha fazla bilgi toplamak, varsa güvenlik açıklarını keşfetmek ve daha ileri adımlar atmak için keşif yapıyoruz.

Makinede Loly kullanıcısını buluyoruz ve bu kullanıcının içinde cleanup.py adlı bir Python dosyası keşfediyoruz. Python dosyası küçük bir script içeriyor. Ardından, ilerleyerek gizli dizinleri de kontrol ediyorum ve daha fazla bilgi arıyorum.

Evet, gizli dizinlerde .mysql_history dosyasını buluyorum, ancak bu dosyayı okuyamıyorum. Bir süre sonra, bir yeri atladığımı fark ediyorum. /var/www/html/wordpress dizininde wp-config.php dosyasını buluyorum ve burada MySQL şifresi görüyorum. Bu, ilerlemek için önemli bir bilgi olabilir.

Bu MySQL şifresini Loly kullanıcısına giriş yapmak için kullanıyorum. Yani, reverse shell üzerinden değil, doğrudan makineden Loly kullanıcısına giriş yaparak erişim sağlıyorum. Bu, daha fazla yetki elde etmemi ve sistemi keşfetmemi sağlıyor.

Şimdi, yetki yükseltmek için gerekli adımları atmamız gerekiyor. Biraz araştırdıktan sonra, kernel exploit açığını keşfediyorum. Bu açık, sistemdeki yetkileri yükseltmek ve tam kontrol sağlamak için kullanılabilir.

Açığı, LinkedIn üzerinden ana makinanıza indirebilirsiniz. Buradan doğru dosyayı indirebilirsiniz.

[embed]OffSec's Exploit Database Archive Linux Kernel < 4.13.9 (Ubuntu 16.04 / Fedora 27) - Local Privilege Escalation. CVE-2017-16995 . local exploit for Linux…www.exploit-db.com

Ana makinaya indirdiken sonra hedef makineye gönderiyorum

Hedef makinede, exploit’i derleyip çalıştırıyorum. Bu adım, yetki yükseltmeyi başarmak için kritik bir aşama.

gcc 45010.c -o exploit

chmod +x exploit

./exploit

Root yetkilerini elde ettikten sonra, /root/root.txt dosyasını okuyarak makineyi tamamlıyoruz. Bu, başarıyla tamamladığımız bir adım.

Umarım yazınız size faydalı olmuştur! Yardımcı olabildiysem ne mutlu bana. Okuduğunuz ve paylaştığınız için ben teşekkür ederim.


메타데이터
post_id
0f9faef6483d
slug
vulnhub-loly-1-makinesinin-çözümü-0f9faef6483d
url
https://medium.com/@azatdicle/vulnhub-loly-1-makinesinin-%C3%A7%C3%B6z%C3%BCm%C3%BC-0f9faef6483d
canonical_url
https://medium.com/@azatdicle/vulnhub-loly-1-makinesinin-%C3%A7%C3%B6z%C3%BCm%C3%BC-0f9faef6483d
author_url
https://medium.com/@azatdicle
status
ok
fetched_at
2026-06-20 20:29:01