Merhabalar herkese. Bu hafta Hack The Box’ta emekli olan makine 20 puanlık Windows işletim sistemine sahip Bastion makinesi. Biraz araştırmayla rahatça çözülebilecek ve gerçek hayatta karşılaşabileceğimiz bir senaryosu var.
Linux sistem bağımlıları kenara çekilsin de nmap üstlerine sıçramasın.
sudo nmap -sS -sV -sC 10.10.10.134 -T5

Nmap bile atmayıp makine IP’sini direkt tarayıcıya yazan kardeşlerim için tatlı bir sürprizle karşılaştık. Makinede web servisi yok, demek ki çok eğlenicez.
Neyse nmap çıktısına baktığımızda klasik windows servislerini ve OpenSSH servisini görüyoruz. SMB için guest user erişiminin açık bırakıldığı bilgisi de dönmüş, hemen bi göz atalım.

smbclient -U guest -L 10.10.10.134

Backups isimli bir paylaşım var, onun üzerinden ilerlemeye devam edelim.

smbclient -U guest \\\\10.10.10.134\\Backups

İçeride bir note.txt dosyası var. Onu get note.txt  ile kendi makinemize çekip içinde ne yazıyor bakalım.

Sysadmin’den bize bir mesaj var; Tüm dosyaları kendi makinemize çekmeye VPN’in hızının yetmeyeceğini, çok yavaş olacağını söylüyor. Peki, kendisine teşekkürlerimizi ileterek diğer dosyalar neymiş diye bakıyoruz.

Evet görüyoruz ki dosyalar bir bilgisayarın yedekleriymiş. Doğru diyor, şimdi biz bu dosyaları çekmeye kalksak saatler sürecek. Bu dosyaları canlı olarak görüntüleyip içerisinde gezebilmemiz lazım. Evet herkesin aklında geldiği şekilde Windows makineme geçip SMB üzerinden dosyaları çok rahat görüntüleyebilirim fakat şovmen olduğum için linux’ta SMB üzerinden dosyaları alıp mount edeceğim.
Bunun için önce cifs-utils paketini kuruyoruz.

apt-get install cifs-utils

Şimdi de bir klasör oluşturup elimizdeki paylaşımı o klasöre SMB üzerinden mount edeceğiz.

mount -t cifs //10.10.10.134/ Backups /mnt/local_share/

Artık /mnt/local_share/WindowsImageBackup/ dizinine gidip dosya içeriğini indirmeden görüntüleyebiliriz.

İşler pisleşmeye başladı, SMB içerisinden vhd sanal disk imajı geldi. Yedek dosyaları bu 2 vhd imaj içerisinde bulunuyor.
Tamam biliyorum kardeşim bunu da windows makine üzerinde 10 saniyede açarsın ama biz şovmenler bunu da linux üzerinde mount edeceğiz.

Linux’ta vhd dosyası mount edebilmek için guestmount aracını kullanacağız. Bunun için önce libguestfs-tools paketini yükleyeceğiz.

apt-get install libguestfs-tools

Şimdi de /mnt/vhd_share/ isimli bir klasör oluşturup devamında guestmount ile 9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd dosyasını read-only olarak bu klasörde ayaklandırıyorum.

guestmount --add 9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd --ro /mnt/vhd_share -m /dev/sda1

Dizine gidip listelediğimde ise mis gibi bir full backup dosyası önümdeydi.

Diğer vhd imajında ne vardı diyenler için, Windows Boot Manager dosyaları bulunuyordu. Onu saldık.

Neyse işte önümüzde mis gibi bir disk yedeği var. Buradan yedeği bulunan L4mpje kullanıcısının NTLM hash bilgisini çekebiliriz.
SAM ve SYSTEM dosyaları varsayılan olarak /Windows/System32/config altında bulunmaktadır. SAM ve SYSTEM dosyalarını bulduktan sonra kendi makinemize kopyalıyoruz.

 

samdump2 aracını kullanarak SAM ve SYSTEM dosyaları içerisinden NTLM hash’lerini çıkarıyoruz.

samdump2 SYSTEM SAM


Önümüze gelen sonuç biraz yamuk bir NTLM hash oldu. Bunu düzeltmek için küçük harfleri büyük harfe çevirmemiz gerekiyor, hemen ufak bir komutla halledelim.

echo "26112010952d963c8dc4217daec986d9" | tr a-z A-Z

Şimdi elimizde L4mpje kullanıcısına ait parolanın NTLM hash’i var ve bunu kırmamız gerekiyor. Pata küte dalmadan önce crackstation.net üzerinde daha önceden kırılmış bir hash olabilir mi diye kontrol edelim.

Muazzam.
Artık elimizde credential var. L4mpje:bureaulampje  bilgilerini kullanarak ssh ile makineye girebiliriz.

ssh L4mpje@10.10.10.134


Oturum açtıktan sonra Desktop dizinine ilerleyip type user.txt  komutu ile user txt dosyasını okuyabiliriz.

Şimdi elde bir ipucu da olmadığı için yetki yükseltebileceğimiz bir program var mıdır diye kontrol edelim.
C:\Program Files (x86) altında mRemoteNG isminde bir program ile karşılaşıyoruz.

Google’dan bu arkadaş kimdir, neyin nesidir, zafiyeti var mıdır falan diye bi baktığımızda oturum parolalarını saklayan bir program olduğunu ve user yetkisi ile alınan konfigürasyon dosyasından admin parolası eldesinin mümkün olduğunu öğrendik.

Zafiyet basitçe şu şekilde gerçekleşiyor. confCons.xml dosyası içerisinde oturum açmış tüm kullanıcıların parolası şifreli halde tutuluyor. Bu parolaların şifrelendiği şifreleme anahtarı da kullanılarak yazılmış bir metasploit modülü mevcut. Bir süre öncesine kadar bu metasploit modülü ile kolayca şifreleme çözülebilirken bir süredir şifreleme anahtarı ve algoritması değiştiği için metasploit modülü geçersiz kalmıştır. Bunu da aşmanın kolay yolu mRemoteNG programı çalışırken cmd başlatıp parolayı decrypt ettirerek konsola bu parolayı clear text olarak bastırabiliyoruz.

Neyse öncelikle C:\Users\L4mpje\AppData\Roaming\mRemoteNG dizininden confCons.xml dosyasını alalım.

SAATLERCE UĞRAŞTIM ARKADAŞLAR FAKAT BURADAN SONRASINI LİNUX ÜZERİNDE ÇÖZEMEDİM, MAALESEF ŞOV BURAYA KADARMIŞ

Önce üzülerek confCons.xml dosyasını Windows makinemize alalım

Daha sonra mRemoteNG programını kurup Import an Existing File seçeneğiyle confCons.xml dosyasını import ediyoruz.

Dosyayı import ettiğimizde iki farklı oturum görüntüledik. Birincisi zaten elimizde olan user yetkisinde L4mpje kullanıcısıydı.

İkincisi ise DC isimli Administrator yetkisine sahip kullanıcıydı.

Zafiyetin asıl çıktığı yer için uygulama üzerinde harici araç ekleyip çalıştıracağız. Bunun için üst menüde yeni araç seçeneğini seçip bir araç oluşturalım. Aracı istediğimiz gibi isimlendirip dosya adı kısmına çağırmak istediğimiz program olduğu için cmd yazıyoruz. Devamında zafiyeti tetikletmek için cmd.exe için verilen argümanlara /k echo %password% yazarak kaydediyoruz.

Aracı kaydettiğimizde menüye aşağıdaki gibi bir araç eklenmiş oldu.

 

Şimdi artık parolayı elde etmek için DC üzerinde sağ tıklayıp harici araçlar menüsünden oluşturduğumuz aracın ismine tıklıyoruz.

Aracı çalıştırdığımızda bir cmd çalıştırıp Administrator parolasını clear text olarak terminale basmış oldu.

Artık bu işi nihayete erdirmenin vakti geldi. Administrator:thXLHM96BeKL0ER2   bilgileriyle ssh üzerinden makineye bağlanıyoruz.

ssh Administrator@10.10.10.134

Giriş başarılı oldu artık Desktop dizininden root.txt dosyasını okuyup makineyi nihayete erdirebiliriz.

Okuduğunuz için teşekkürler. Sorularınız için bilalkan.com/contact

https://www.linkedin.com/posts/muhammed-bilal-kan_bastion-writeup-hack-the-box-activity-6576197347607367681-wivC

Tags: