Bine ați revenit, dragii mei greenhorn hackers!
Am prezentat într-un tutorial două instrumente esențiale pentru spargerea parolelor online – Tamper Data și THC-Hydra. În acest ghid o să vin cu un alt tutorial ce are în prim plan modul de utilizare THC-Hydra împotriva formularelor web. Deși puteți folosi datele Tamper în acest scop, o să vă prezint un alt instrument ce este integrat în sistemul de operare BlackWeb, Burp Suite.
Pasul 1: Deschidem THC-Hydra
Să începem. Deschidem BlackWebOS și THC-Hydra -> Blackweb-> Password Attacks -> Online Attacks -> hydra.
Pasul 2: Captăm parametrii formularelor de autentificare
Pentru a putea compromite username-ul și parola formularului de autentificare, va trebui să determinăm parametrii paginii de conectare a formularului web, precum și modul în care formularul răspunde la datele de autentificare nereușite. Parametrii cheie pe care trebuie să îi identificăm sunt:
Adresa IP a site-ului
URL-ul
tipul de formular
câmp ce conține numele de utilizator
câmp ce conține parola
mesaj de eroare
Putem identifica fiecare dintre acestea folosind un proxy, cum ar fi Tamper Data sau Burp Suite.
Pasul 3: Utilizăm Burp Suite
Deși putem folosi orice proxy pentru a face acest lucru, inclusiv datele Tamper, în această postare vom folosi Burp Suite. Putem deschide Burp Suite accesând Aplicații – Blackweb -> Web Application Analysis -> burpsuite. Când facem asta, ar trebui să vedem ecranul de deschidere, precum cel de mai jos.
Mai departe, vom încerca să spargem parola pe aplicația Damn Vulnerable Web Application (DVWA).
Asigurați-vă că ați configurat corect la Proxy Listeners:
În sfârșit, trebuie să configurăm browserul nostru web, Mozilla, pentru a utiliza un proxy. Putem merge la Edit -> Preferences -> Network / Proxy -> Settings pentru a deschide Setările de conectare, așa cum se vede mai jos. Acolo, configurăm Mozilla să folosească ip-ul 127.0.0.1 și port-ul 8080 ca proxy, introducând 127.0.0.1 în câmpul HTTP Proxy, 8080 în câmpul Port și apoi ștergem orice informație din câmpul No Proxy de mai jos. De asemenea, putem selecta și butonul “Use this proxy server for all protocols”.
Pasul 4: Captăm răspunsul unei logări nereușite
Acum, să încercăm să ne conectăm cu numele de utilizator TheArchitect și parola TheArchitect. Când facem acest lucru, BurpSuite interceptează cererea și ne arată câmpurile cheie de care avem nevoie pentru spargerea unui formular web cu THC-Hydra.
După colectarea acestor informații, înainte de a trimite cererea de la Burp Suite apăsând butonul “Forward”, din stânga, DVWA afișează un mesaj de eroare (“Login failed”). Acum, avem toate informațiile necesare pentru a configura THC-Hydra și a sparge această aplicație web!
Obținerea mesajului de eroare este cheia pentru ca THC-Hydra să funcționeze pe formulare web. În acest caz, este un mesaj text, dar nu-l vom întâlni întotdeauna. Uneori poate fi un cookie, dar partea critică constă în modul în care aplicația comunică o conectare nereușită. În acest fel, putem face THC-Hydra să continue să încerce diferite parole; doar atunci când mesajul nu apare, am reușit.
Pasul 5: Adăugăm parametrii în comanda THC Hydra
Acum, că avem parametrii, îi putem plasa în comanda THC-Hydra. Sintaxa arată astfel:
hydra -L <username list> -p <password list> <IP Address> <form parameters><failed login message>
Deci, pe baza informațiilor ce le-am adunat de la Burp Suite, comanda noastră ar trebui să arate cam așa:
hydra -L <wordlist> -P <password list> 192.168.56.102 http-post-form “/DVWA/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed”
Câteva lucruri de reținut. În primul rând, utilizăm majuscula “L” dacă folosim o listă de username-uri și un “l” în literă mică dacă încercăm să spargem un nume de utilizator pe care îl furnizăm. În acest caz, vom folosi litera mică “l”, deoarece vom încerca să spargem doar parola username-ului “admin”.
După adresa formularului de autentificare (/DVWA/login.php), câmpul următor este numele câmpului care ia numele de utilizator. În cazul nostru, este “username”, dar pe unele formulare ar putea fi ceva diferit, cum ar fi “login”.
Acum, să scriem împreună o comandă ce va sparge aceast formular de autentificare.
Pasul 6: Alegem lista de parole
Acum, trebuie să alegem o listă de parole. Ca și în cazul atacurilor dicționar, lista de cuvinte este cheia. Puteți folosi unul personalizat realizat cu Mentalist, Crunch sau CeWL, dar puteți căuta pe internet diverse liste de parole.
Există numeroase site-uri cu liste de cuvinte, ce pot ajunge până la 100 GB. În acest caz, voi folosi o listă de parole cu mai puțin de 1.000 de cuvinte, la:
Desktop/passlist.txt
Pasul 7: Construim comanda
Acum, o să construim comanda noastră ce cuprinde toate aceste elemente, după cum se vede mai jos.
hydra -l admin -P /root/Desktop/passlist.txt 192.168.56.102 http-post-form “/DVWA/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed” -V
- -l indică un singur username (utilizăm -L pentru o listă de username-uri)
- -P indică utilizarea unei liste cu parole
- http-post-form indică tipul de formular
- /dvwa/login-php URL-ul paginii de logare
- username este câmpul în care se adaugă username-ul
- ^USER^ spune Hydrei să utilizeze username-ul sau lista din câmpul respectiv
- password este câmpul unde se adaugă parola
- ^PASS^ spune Hydrei să utilizeze lista de parole furnizată
- Login indică Hydrei mesajul de conectare eșuat
- Login failed este mesajul cu eroare de conectare afișată de formular
- -V fiecare încercare arătată
Pasul 8: Să-i dăm drumul!
Acum, îi dăm drumul! Deoarece am folosit comutatorul –V, THC-Hydra ne va arăta toate încercările.
După câteva minute, Hydra ne afișează parola aplicației noastre web.
De ținut minte
Deși THC-Hydra este un instrument eficient și excelent pentru spargerea parolelor online, atunci când se utilizează pe formulare web este nevoie de puțină practică. Cheia către succes în spargerea formularelor web constă în modul în care formularul răspunde la o autentificare eșuată față de o autentificare reușită. În exemplul de mai sus am identificat mesajul de conectare eșuat, dar am putut identifica mesajul unei conectări reușite. Pentru a utiliza mesajul unei conectări reușite, am înlocuit mesajul de autentificare eșuat cu mesajul “S = succes”, precum în exemplul de mai jos:
hydra -l admin -P /root/Desktop/passlist.txt 192.168.56.102 http-post-form “/DVWA/login.php:username=^USER^&password=^PASS^&S=success message” -V
De asemenea, unele servere web vor observa multe încercări eșuate la conectare, într-un timp foarte scurt și o să blocheze accesul. În acest caz, vom dori să utilizăm funcția de așteptare din THC-Hydra. Acest lucru va adăuga un timp de așteptare între încercări, astfel încât să nu declanșeze blocarea. Putem utiliza această funcție cu comutatorul -w, așadar revizuim comanda noastră pentru a aștepta 10 secunde între încercări, scriind:
hydra -l admin -P /root/Desktop/passlist.txt 192.168.56.102 http-post-form “/DVWA/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed” -w 10 -V
Recomandăm să exersați utilizarea THC-Hydra pe formulare în care cunoașteți numele de utilizator și parola înainte de a o utiliza ,,în necunoscut”.
Cam atât cu acest tutorial. Nu uitați să reveniți pentru mai multe ghiduri. Dacă aveți nelămuriri, secțiunea comentarii vă stă la dispoziție.
Până data viitoare, să ne citim cu bine! 🙂