İPUCU

Capture The Flag Vulnerable VM Walkthrough & Capture The Flag Writeup Yazabileceğiniz Bölüm

Seçenekler

hackNos: Os-hackNos-3 Zafiyetli Makinenin Çözümü //By Ghost

By Ghost - ait Kullanıcı Resmi (Avatar)
Green Team
Üyelik tarihi:
07/2013
Nereden:
C:\Linux
Yaş:
23
Mesajlar:
933
Konular:
141
Teşekkür (Etti):
364
Teşekkür (Aldı):
393
Ticaret:
(0) %
bir Hafta önce
#1
hackNos: Os-hackNos-3 Zafiyetli Makinenin Çözümü //By Ghost
Merhabalar herkese. Bu yazıda sizlerle beraber hackNos serisinin Os-hackNos-3 isimli zafiyetli makinenin çözümünü inceleyeceğiz.

https://www.vulnhub.com/entry/hacknos-os-hacknos-3,410/

Makine ismi: Os-hackNos-3

Yayınlanma Tarihi: 14 Aralık 2019

Yapan: Rahul Gehlaut

Boyut/Format: 1.8GB/OVA

Zorluk: Orta

İşletim Sistemi: Linux

Seri: hackNos

Açıklama: Makinedeki 2 flag dosyasını bul. (UserFlag-RootFlag)

Not: Başlamadan önce belirtmek isterim. Bu seriyi oluşturan kişisel VirtualBox üzerinde çalışmışlar. İndirdiğiniz zafiyetli makine VMware 'da düzgün çalışmayacaktır. VirtualBox üzerinden CTF'i çözmenizi öneririm.


İlk olarak makinemizin ip adresini öğrenmek için terminale arp-scan -l yazalım.



IP adresimizi öğrendikten sonra nmap taraması ile makinemizde hangi portlar açıkmış bakalım.
Kod:
nmap -A -p- 192.168.1.41

-A ALL demek detaylı arama için kullanılır
-p- tüm portları tarar. (1-65536)



Zafiyetli makinemizde 22 (ssh) ve 80 (http) portları açık. WebSec başlığına sahip web sitesinde bakmak için tarayıcımıza ip adresini yazalım.




Bir resim ve en alttada 2 satır yazı olduğunu görüyoruz. Normal ip adresine dizin taraması (dirb taraması) yaptığımda bişi bulamadım. O yüzden onu burada göstermiyorum. WebSec ile alakalı internette bakınsamda oradan da bişi çıkmadı. Bi yarım saatlik uğraşın ardından dizin olduğunu fark ettim. URL sonuna /websec yazıp enterlayalım
Kod:
http://192.168.1.41/websec



Daha düzenli bir websitesi bulabildik. Şimdi bu dizinle alakalı bi dirb taraması yapalım neler bulucaz bakalım.
Kod:
dirb http://192.168.1.41/websec



Düzenli bir dosya yapısı olduğunu görüyoruz. Hazır bi sistem olabileceğini düşünüyorum. Kontrol etmek için /admin dizinine gidip bakalım.



Gila CMS hazır sistemin login sayfası karşımıza geldi. İlk olarak admin:admin tarzı basit login bilgilerini denemek istiyorum ama e-mail input kısmı .. @... tarzı gerçek bi mail adresi istiyor. Düz metin kabul etmiyor. websec sayfasını incelediğimde One Page bi tema olduğunu fark ediyorum ve contact kısmında gözüme bi email takılıyor. contact@hacknos.com bu bilgi ile bi giriş denemesi yapalım.
Login: contact@hacknos.com
Pass: test





Bunu yapmamızın sebebi login sayfası bulduğumuz zaman brute force atak yapmak mantıklı oluyor. Bunun için bi hata mesajı alıp almadığımızı öğrenmek bize fayda sağlayacak. Gördüğünüz gibi "Wrong email or password" hatası geri döndü bize. Şimdi elimde bi wordlist eksik. Onu da tamamlamak için cewl aracından yararlanacağız. cewl aracı kısaca websitesi üzerinde bulduğu kelimelerden bir wordlist oluşturmaya yarıyor. Bizde terminale zafiyetli makinemizin web sayfası üzerinden bir wordlist oluşturalım. Aşağıdaki komutu terminale yazalım.
Kod:
cewl http://192.168.1.41/websec/ -d 2 -w wordlist.txt



Elimde bir adet email adresi ve site ile alakalı oluşturduğum wordlist var. Şimdi brute force atak yapabilirim. Bunun için login sayfamızda post isteğinin nasıl gönderildiğini öğrenmek için tarayıcımızdan yardım almalıyız. Bunun için F12 Öğeyi incele kısmını açalım. Network sekmesine gelip giriş bilgilerini dolduralım. Login butonuna bastığımda Network sekmemize istekler düşecek. Bu istekler arasından POST methodlu index.php dosyası ile alakalı pakete tıklayınız. Sağ tarafta paket ile alakalı bilgileri göreceksiniz. Headers kısmında ilk kutuda Edit and Resend butonu var ona tıklayıp Request Body kısmında post isteğimizin nasıl gönderildiğini öğreniyoruz. [Bu kısmı biraz karmaşık anlattığım için kusura bakmayın :/]




Şimdi elimde bir tane email bir tane wordlist ve post işlemi için gerekli bilgileri biliyorum. Brute force atak yapmak için hydra aracını kullanacağız burada. Terminale aşağıdaki komutu girdiğimizde hydra bizim için login sayfasına brute force atak yapmaya başlayacak.
Kod:
##
##
hydra -l contact@hacknos.com -P wordlist.txt 192.168.1.41 http-post-form "/websec/admin/:username=^USER^&password=^PASS^:F=Wrong email or password"
##
##

-l --> kullanıcı adı bilgisi(-L kullanıcı adı wordlist dosyası)
-P --> password için wordlist
http-post-form --> login sayfası için kullanması gereken method parametresi
:F --> Failed/ Bize geri dönen hata mesajı




Burada hydra ":F=Wrong..." hata mesajı döndürmeyen bişi bulursa bize şifreyi bulduğunu söylüyor. hydra doğru ve detaylı parametreler kullanıldığı zaman çok iyi bruteforce atak yapmamızı sağlıyor. Giriş bilgilerimizi bulduğumuza göre login sayfasına geri dönüp bilgileri girelim.


Panele giriş sağladık. Paneli biraz incelediğimiz zaman Content kısmında File Manager kısmı bulunmakta.



Buraya baktığımız zaman sistemde bulunan dosyaların kodları ile alakalı işlemler yapılabileceğini görebiliyorum.



Sisteme sızabilmem için zafiyetli makineden bana shell dönmesi gerekiyor. Dosyalarda düzenleme de yapabildiğime göre reverse shell kodlarımızı burada çalıştırabilir ve sistemden bize shell döndürebiliriz. Reverse Shell için me-ta-sploit de kullanabilirsiniz ama ben size elle de nasıl yapıldığını göstermek için manuel yolu anlatacağım. Bunun için bize reverse shell yapan php kodu lazım. Bunu temin etmek için pentestmonkey sitesinden yararlanacağız.
Kod:
http://pentestmonkey.net/tools/web-shells/php-reverse-shell



Sıkıştırılmış dosyamızı indirdikten sonra yeni bir terminal açıp aşağıdaki komutları sırasıyla girip kodları alalım.
Kod:
cd Downloads/
Kod:
tar -xf php-reverse-shell-1.0.tar.gz
Kod:
cd php-reverse-shell-1.0/
Kod:
mousepad php-reverse-shell.php

(Mousepad yerine aktif kullandığınız text editörünü yazabilirsiniz.)




.php dosyamızda bulunan kodları kopyalayıp panelimizdeki index.php dosyasına yapıştıralım. Bu kodlarda düzelemeniz gereken 2 tane yer var. $ip ve $port kısımlarını kendinize göre düzenleyiniz. port numarası popüler portlar dışında bişi yazmamızda önem var yoksa hata alma ihtimaliniz bulunuyor. 4444, 1234 tarzı port numaralarını kullanabilirsiniz. Ben örnekte 1526'yı kullandım. ip adresiniz zaten ifconfig



Gerekli değişikleri yaptıktan sonra save diyip kaydedelim. Daha sonra yeni bir terminal açıp aşağıdaki komutu yazalım.
Kod:
nc -lvp 1526



1526 portunu dinlemeye aldık. Şimdi tarayıcımızda yeni bir sekme açıp 192.168.1.41/websec/ yazabilirsiniz veya zaten açık bir sekmede varsa F5 ile sayfayı yenileyiniz. Bu işlemi bir kere yaptıktan sonra site ile işimiz kalmıyor çünkü terminale geri döndüğümüzde (portu dinlemeye aldığımız terminal) zafiyetli makineden bize shell döndürebildik



www-data kullanıcısı (neredeyse 0 hakka sahip kullanıcı yani) ile sisteme girebildik. Sistemi altını üstüne getirdim ama yetki yükseltme işlemini yapabileceğim bişi bulamadım. Bi kaç bulduğum yöntemde çalışmadı. Bende yine website üzerinden bişiler öğrenebilmek için /var dizininde aramalar yaptım. Uzun bi aramanın sonunda garip bir dosya buldum. Bu dosyaya ulaşmak için sırasıyla aşağıdaki komutları girelim.
Kod:
cd /var/local
Kod:
ls -al
Kod:
cat database



Google üzerinden biraz araştırma yaptıktan sonra decode edilebilecek bir metin olduğunu buluyorum. Decode edebilmek için google'a search edelim.


Siteye gittiğinizde alt tarafta "Decode fake spreadsheet new" kısmına tıklayalım. Daha sonra zafiyetli makinemizde bulduğumuz metni buraya yapıştıralım ve decode yazalım.



Artık elimde bir şifre var. Daha önce sistemde yetki yükseltme yapılabilecek bişiler denerken /home dizini altında blackdevil isimli bir dizin bulmuştum. Biliyorsunuz ki sistemdeki diğer kullanıcılar /home dizini altında dosyaları olur. blackdevil sistemde kayıtlı bir kullanıcı. home dizini altında başka bir klasör de bulunmamakta. Bir diğer yöntem de zaten /etc/passwd dosyasını okumak. Oradan da kullanıcıları tespit etmek mümkün. Bulduğum şifreyi denemek için sisteme sızdığımız terminale dönüp aşağıdaki komutu yazalım.
Kod:
su blackdevil
Kod:
Security@x@
Kod:
cd /home/blackdevil
Kod:
cat user.txt



Blackdevil kullanıcısına geçebildik ve ilk flag dosyamızı (user.txt) okuduk. Şimdi son olarak /root dizini altındaki flag dosyamıza erişmek kaldı. Bunun için yetki yükseltmemize ihtiyacımız var. Bunun için terminale sudo -l yazalım. Bizden şifre isteyecek blackdevil kullanıcısı için bulduğumuz şifreyi girelim. Görüyoruz ki sudo zafiyeti sistemde bulunmakta terminale sudo su yazalım.
Kod:
sudo su

Kod:
id
Kod:
cd /root
Kod:
cat root.txt



H4ck3njoy

Elimden geldiğince çözümü anlatmaya çalıştım. Umarım faydalı ve doğru anlatabilmişimdir. Biraz karmaşık ve uzun anlatmış olabilirim onun için şimdiden özür dilerim ama takıldığınız yerleri sorun yardımcı olurum. Bir başka CTF çözümünde buluşmak üzere Allah'a emanet olun
---------------------
Öfkene hakim olamıyorsan;
Niye yaşıyorsun?

-->Muslims Freedom!!!<--
Konu By Ghost tarafından (bir Hafta önce Saat 19:06 ) değiştirilmiştir.
"P4RS, xMit, VITALLION, Secret Person Teşekkür etti.
"P4RS - ait Kullanıcı Resmi (Avatar)
Green Team Lideri
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
18
Mesajlar:
4.190
Konular:
394
Teşekkür (Etti):
848
Teşekkür (Aldı):
1808
Ticaret:
(0) %
bir Hafta önce
#2
Cevap: hackNos: Os-hackNos-3 Zafiyetli Makinenin Çözümü //By Ghost
Ellerine sağlık Ghost
---------------------

Twitter Telegram

"Kalk haydi, ebediyen uyuyacağız zaten"
xMit - ait Kullanıcı Resmi (Avatar)
𝔇єvlєt-í αlíчє` EĐítör
Üyelik tarihi:
03/2016
Mesajlar:
1.180
Konular:
104
Teşekkür (Etti):
148
Teşekkür (Aldı):
624
Ticaret:
(0) %
bir Hafta önce
#3
Cevap: hackNos: Os-hackNos-3 Zafiyetli Makinenin Çözümü //By Ghost
Birilerinin asistanlık dönemini hatırlatıyorsun bana - Güzel . ++++
---------------------
✎ ...тυякнαcктεαм.σяg/ηεт
𝒟𝑒𝓇𝑔𝒾 𝐸𝒹𝒾𝓉𝑜𝓇𝓁𝓊𝑔𝓊


By Ghost Teşekkür etti.
By Ghost - ait Kullanıcı Resmi (Avatar)
Green Team
Üyelik tarihi:
07/2013
Nereden:
C:\Linux
Yaş:
23
Mesajlar:
933
Konular:
141
Teşekkür (Etti):
364
Teşekkür (Aldı):
393
Ticaret:
(0) %
bir Hafta önce
#4
Cevap: hackNos: Os-hackNos-3 Zafiyetli Makinenin Çözümü //By Ghost
Alıntı:
"P4RS´isimli üyeden Alıntı Mesajı göster
Ellerine sağlık Ghost

Sağolun hocam


Alıntı:
xMit´isimli üyeden Alıntı Mesajı göster
Birilerinin asistanlık dönemini hatırlatıyorsun bana - Güzel . ++++

Beğenmenize sevindim güzel yorumunuz için teşekkür ederim hocam
---------------------
Öfkene hakim olamıyorsan;
Niye yaşıyorsun?

-->Muslims Freedom!!!<--
Secret Person - ait Kullanıcı Resmi (Avatar)
Stajyer Moderatör
Üyelik tarihi:
10/2018
Yaş:
100
Mesajlar:
1.550
Konular:
259
Ticaret:
(0) %
bir Hafta önce
#5
Cevap: hackNos: Os-hackNos-3 Zafiyetli Makinenin Çözümü //By Ghost
Ghost güzel olmuş vaktim olunca kullanacağım teşekkür bıraktım
---------------------
By Ghost Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı