THT DUYURU

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

ugursuz reklam
takipci
Seçenekler

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

By Ghost - ait Kullanıcı Resmi (Avatar)
Yardımsever
Üyelik tarihi:
07/2013
Nereden:
C:\Linux
Yaş:
24
Mesajlar:
939
Konular:
144
Teşekkür (Etti):
398
Teşekkür (Aldı):
418
Ticaret:
(0) %
4
1643
10-01-2020 13:02
#1
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 (10-01-2020 19:06 Saat 19:06 ) değiştirilmiştir.
P4RS, xMit, VITALLION, Secret Person Teşekkür etti.
P4RS - ait Kullanıcı Resmi (Avatar)
Purple Team & Moderasyon Lideri
Üyelik tarihi:
01/2017
Nereden:
Balkes
Yaş:
19
Mesajlar:
4.987
Konular:
580
Teşekkür (Etti):
1600
Teşekkür (Aldı):
3143
Ticaret:
(0) %
10-01-2020 18:22
#2
Ellerine sağlık Ghost
---------------------



purple-team@turkhackteam.org

xMit - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2016
Mesajlar:
1.195
Konular:
110
Teşekkür (Etti):
170
Teşekkür (Aldı):
730
Ticaret:
(0) %
10-01-2020 18:33
#3
Birilerinin asistanlık dönemini hatırlatıyorsun bana - Güzel . ++++
---------------------
Uluslararası Siber Saldırı Geliştirme , Savunma ve Analiz Sistemleri Araştırmacısı !
By Ghost Teşekkür etti.
By Ghost - ait Kullanıcı Resmi (Avatar)
Yardımsever
Üyelik tarihi:
07/2013
Nereden:
C:\Linux
Yaş:
24
Mesajlar:
939
Konular:
144
Teşekkür (Etti):
398
Teşekkür (Aldı):
418
Ticaret:
(0) %
10-01-2020 19:07
#4
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)
Tamamen Askıya Alındı
Üyelik tarihi:
10/2018
Mesajlar:
1.905
Konular:
304
Ticaret:
(0) %
10-01-2020 19:12
#5
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