Selam arkadaşlar, Vulnhub’tan indirdiğim Raven: 1 adlı sanal makinasının çözümünü paylaşacağım.
Aşağıdaki adresten sanal makinayı indirebilirsiniz.
https://www.vulnhub.com/entry/raven-1,256/
Hedef sistemimiz IP adresini bulmakla işe koyulalım. Bunun için Nmap’i kullanacağız. “nmap -sn 10.0.2.0/24” komutu ile bulunduğumuz subnet üzerinde host keşfi yapalım.
Hedefimiz üzerinde çalışan servislerin durumunu görmek açısından yine Nmap’ı kullanarak port taraması yapalım.
“nmap -A 10.0.2.10 -Pn -n” komutu ile taramamızı başlatalım.
Starting Nmap 7.70 ( https://nmap.org ) at 2018-11-16 16:15 EST
Nmap scan report for 10.0.2.10
Host is up (0.00078s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
| ssh-hostkey:
| 1024 26:81:c1:f3:5e:01:ef:93:49:3d:91:1e:ae:8b:3c:fc (DSA)
| 2048 31:58:01:19:4d:a2:80:a6:b9:0d:40:98:1c:97:aa:53 (RSA)
| 256 1f:77:31:19:de:b0:e1:6d:ca:77:07:76:84:d3:a9:a0 (ECDSA)
|_ 256 0e:85:71:a8:a2:c3:08:69:9c:91:c0:3f:84:18:df:ae (ED25519)
80/tcp open http Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
|_http-title: Raven Security
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100024 1 33501/udp status
|_ 100024 1 40888/tcp status
MAC Address: 08:00:27:82:B1:58 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 – 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelTRACEROUTE
HOP RTT ADDRESS
1 0.78 ms 10.0.2.10
10.0.2.10 IP no’lu hedefimiz üzerinde 22, 80 ve 111. portların açık durumda olduğunu görüyoruz. 80. portta web server olduğunu görüyoruz. Tarayıcıdan sayfaya gittiğimizde resimdeki gibi bir ekran ile karşılaşıyoruz.
Dirb kullanarak dizin taraması yaptığımızda sayfanın wordpress olduğunu görüyoruz.
Hızlıca wpscan kullanarak sistem hakkında bilgi toplayalım.
“wpscan -u “http://10.0.2.10/wordpress” –enumerate upt” komutu ile taramayı başlatalım.
michael ve steven adlarında kullanıcıların olduğunu bilgisini ediniyoruz. /wp-admin dizini altında başta michael ve steven kullanıcıları ile giriş yapmayı denesem de başarılı olamadım.
Burada /wordpress/wp-admin dizinine gidildiğinde raven.local domain’i tanımlanmadığı için bu adrese gidilemiyordu. bunu için /etc/hosts dosyasında IP adresine karşılık raven.local adresinin tanımlanması gerekiyor.
Ardından Nmap taraması sonucunda 21. portta SSH servisin çalıştığını biliyoruz. wpscan ile elde ettiğimiz kullanıcı adları ile SSH bağlantısı yapmayı denediğimizde ise michael:michael giriş bilgileri ile bağlantı kurabildiğimizi görüyoruz.
WordPress sistemlerde veritabanı bağlantısı için gerekli bilgiler wp-config.php dosyası altında tanımlanmaktadır. Hemen bu dosyası okuyalım 🙂
Edindiğimiz bilgiler ile MySQL’e bağlantı sağlayalım. “mysql -u root -h localhost -p” komutunun ardından config dosyasından edindiğimiz parola ile veritabanına giriş yapıyoruz. “show databases;” ile veritabanlarını listeleyelim.
WordPress veritabanını seçip tabloları görüntüleyelim. wp_users tablosu altındaki kayıtları listelediğimiz de steven adlı kullanın parolasını hash’li halini görüyoruz.
john yardımıyla hash’ı hızlıca kıralım.
Bu kezde SSH ile steven:pink84 bilgileri ile bağlantı kuralım.
“sudo -l” komutu ile kullanıcımızın python’ı sudo ile çalıştırabilir olduğunu görüyoruz.
“sudo python -c ‘import pty; pty.spawn(“/bin/sh”)'” komutu ile de root haklarına erişmiş oluyoruz.
Vulnhub’ta, sanal makina için yapılan açıklamada 4 flag olduğu belirtilmişti. 4. flag değeri root dizi altında idi.
Resimde görüldüğü üzere 1. flag /var/www/html altında flag1 geçen recursive sorgu ile grep komutu yardımı ile bulunabiliyordu.
/var/www dizini altında find komutu yardımı ile 2. flag bulunabiliyordu.
/var dizini altında da 3.flag değeri lib/mysql/ib_logfile0 dosyası içerisinde grep komutu aracılı ile bulunmuştur.
Bir başka yazıda görüşmek üzere…