Differences

This shows you the differences between two versions of the page.

Link to this comparison view

uso:laboratoare:new:10-sec:nice-to-know [2018/12/08 22:30]
octavian.guzu [1. Spargerea parolei prin brute-force]
uso:laboratoare:new:10-sec:nice-to-know [2019/12/05 11:03] (current)
adrian.zatreanu
Line 1: Line 1:
-===== Nice to Know ===== + ===== Nice to Know =====  
- +   
-Pentru ​primele 2 exercitiimergeti in directorul ''/​home/​student/​uso.git/labs/​10-sec/​support/​nice-to-know''​. + <​note>​ 
- + ​Pentru ​exercițiile urmatoaremergeți în directorul ''/​home/​student/​uso-lab/​10-sec/​support/​nice-to-know''​. 
-==== 1. Spargerea parolei prin brute-force ==== +</​note>​ 
- +  ​ 
-Tehnica de **brute-force** presupune ​incercarea oricaror combinarii ​posibile de caractere ​in incercarea ​de a sparge o parolaIn cazul nostru, vom lucra cu un **zip**. +==== Spargerea parolei prin brute-force ====  
- +   
-Daca parola este suficient de lunga (peste 10-12 caractere) atunci ea este considerata ​relativ ​sigura ​pentru un atac de acest tip intrucat ​va dura mult prea mult gasirea ​parolei corecte, chiar cu cele mai puternice CPU-uri din prezent. + ​Tehnica de **brute-force** presupune ​încercarea oricăror combinării ​posibile de caractere ​în încercarea ​de a sparge o parolăÎn cazul nostru, vom lucra cu un **zip**.  
- +   
-Vom incerca sa spargem parola arhive zip ''​secret_brute_force.zip''​. Pentru a face acest lucru, vom instala utilitarul **fcrackzip**:​ + Dacă parola este suficient de lungă ​(peste 10-12 caractere) atunci ea este considerată ​relativ ​sigură ​pentru un atac de acest tip întrucât ​va dura mult prea mult găsirea ​parolei corecte, chiar cu cele mai puternice CPU-uri din prezent.  
- +   
-<code bash> + ​Vom ​încerca să spargem parola arhive zip ''​secret_brute_force.zip''​. Pentru a face acest lucru, vom instala utilitarul **fcrackzip**:​  
-student@uso:​~$ sudo apt-get install fcrackzip +   
-</​code>​ + <​code bash>  
- + ​student@uso:​~$ sudo apt-get install fcrackzip  
-Stim faptul ​ca arhiva are o parola ​de maxim 4 caractere, deci este fezabil ​sa rulam un atac de tip brute-force:​ + </​code>​  
- +   
-<code bash> + Știm faptul ​că arhiva are o parolă ​de maxim 4 caractere, deci este fezabil ​să rulăm ​un atac de tip brute-force:​  
-student@uso:​~/​.../​10-sec/​support/​nice-to-know$ fcrackzip -v -l 1-4 -u secret_brute_force.zip  +   
-found file '​flag.txt',​ (size cp/uc     ​34/ ​   22, flags 1, chk 6543) + <​code bash>  
- + ​student@uso:​~/​.../​10-sec/​support/​nice-to-know$ fcrackzip -v -l 1-4 -u secret_brute_force.zip ​  
- + found file '​flag.txt',​ (size cp/uc     ​34/ ​   22, flags 1, chk 6543)  
-PASSWORD FOUND!!!!: pw == fd7 +   
-student@uso:​~/​.../​10-sec/​support/​nice-to-know$ unzip -P fd7 secret_brute_force.zip  +   
-Archive: ​ secret_brute_force.zip + ​PASSWORD FOUND!!!!: pw == fd7  
- ​extracting:​ flag.txt ​                + ​student@uso:​~/​.../​10-sec/​support/​nice-to-know$ unzip -P fd7 secret_brute_force.zip ​  
-student@uso:​~/​.../​10-sec/​support/​nice-to-know$ cat flag.txt  + ​Archive: ​ secret_brute_force.zip  
-USO{viata_pe_internet+  extracting: flag.txt ​                ​ 
- + ​student@uso:​~/​.../​10-sec/​support/​nice-to-know$ cat flag.txt ​  
-</​code>​ + USO{viața_pe_internet}  
- +   
-Argumentele comenzii **fcrackzip** sunt urmatoarele+ </​code>​  
-  * ''​-v''​ -> verbose +   
-  * ''​-l 1-4''​ -> atac de tip brute-force cu lungimea parolei ​intre si 4 caractere + ​Argumentele comenzii **fcrackzip** sunt următoarele:  
-  * ''​-u''​ -> verifica ​parola prin incercarea ​de a dezarhiva arhiva +   ​* ''​-v''​ -> verbose  
- +   ​* ''​-l 1-4''​ -> atac de tip brute-force cu lungimea parolei ​între ​și 4 caractere  
-==== 2. Spargerea parolei cu wordlist ==== +   ​* ''​-u''​ -> verifică ​parola prin încercarea ​de a dezarhiva arhiva  
- +   
-Asemanator ​exemplului de mai sus, avem in acelasi ​director arhiva zip ''​secret_wordlist.zip''​. Deoarece parola este suficient de lunga, ea nu poate fi sparta ​folosind un atac de tip brute-force. + ==== Spargerea parolei cu wordlist ====  
- +   
-Poate fi insa sparta ​folosind un dictionar ​de cuvinte. **fcrackzip** are optiunea ​de a incerca ​parole dintr-o ​lista (numite wordlist). ​Daca parola arhivei se afla in lista de cuvinte, atunci ea va putea fi sparta+ Asemănător ​exemplului de mai sus, avem în același ​director arhiva zip ''​secret_wordlist.zip''​. Deoarece parola este suficient de lungă, ea nu poate fi spartă ​folosind un atac de tip brute-force.  
- +   
-Desi suna greu de realizat ​in practica ​(Ce wordlist va avea in ea parola mea ''​5gangmoduavion??''​ ??), multe persoane folosesc parole simple pentru a-si proteja datele personale. + Poate fi însă spartă ​folosind un dicționar ​de cuvinte. **fcrackzip** are opțiunea ​de a încerca ​parole dintr-o ​listă ​(numite wordlist). ​Dacă parola arhivei se află în lista de cuvinte, atunci ea va putea fi spartă.  
- + <​note>​ 
-**[2a]** ​Spargeti ​parola arhivei ''​secret_wordlist.zip''​ folosind ​dictionarul ​''​wordlists.txt''​. ​''​HINT: man fcrackzip sau Google''​+ Deși sună greu de realizat ​în practică ​(Ce wordlist va avea în ea parola mea ''​5gangmoduavion??''​ ??), multe persoane folosesc parole simple pentru a-și proteja datele personale.  
 +</​note>​ 
 +  ​ 
 + ​**[2a]** ​Spargeți ​parola arhivei ''​secret_wordlist.zip''​ folosind ​dicționarul ​''​wordlists.txt''​. ​(HINT: ''​man fcrackzip'' ​sau ''​Google''​)
  
 + ==== Capturi de rețea ====  ​
 +    ​
 + ​Atacatorul Trudy a reușit să obțină acces la calculatorului studentului ''​Vladimir''​. Trudy a capturat tot traficul pe care Vladimir l-a făcut în rețea în captura de rețea ''​capture.pcapng''​ și va încerca să găsească date care l-ar putea interesa. Pentru acest lucru, el instalează **Wireshark** rulând comenzile următoare: ​
 +  ​
 + <​code bash> ​
 + ​student@uso:​~$ sudo add-apt-repository ppa:​wireshark-dev/​stable ​
 + ​student@uso:​~$ sudo apt-get update ​
 + ​student@uso:​~$ sudo apt-get install wireshark ​
 + </​code> ​
 +  ​
 + După ce s-a instalat, el pornește **Wireshark**: ​
 +  ​
 + <​code bash> ​
 + ​student@uso:​~$ wireshark ​
 + </​code> ​
 +  ​
 + ​{{:​uso:​laboratoare:​new:​10-sec:​wireshark_start.png?​nolink&​750|}} ​
 +  ​
 + ​Deschide apoi captura de rețea ''​capture.pcapng''​ în Wireshark folosind ''​File -> Open'': ​
 +  ​
 + ​{{:​uso:​laboratoare:​new:​10-sec:​wireshark_2.png?​nolink&​700|}} ​
 +  ​
 + ​Vladimir a navigat mult pe internet și deci a generat mult trafic. Trudy știe că el a intrat pe 2 site-uri care îi pot fi de interes **aavtrain.com** și **acs.curs.pub.ro**. ​
 +  ​
 + ​Pentru început, Trudy află adresa ip a site-ului **aavtrain.com**: ​
 +  ​
 + <​code bash> ​
 + ​student@uso:​~$ ping aavtrain.com ​
 + PING aavtrain.com (192.185.11.183) 56(84) bytes of data. 
 + 64 bytes from pss24.win.hostgator.com (192.185.11.183):​ icmp_seq=1 ttl=128 time=148 ms 
 + ​...... ​
 + </​code> ​
 +  ​
 + Acum că știe adresa IP a site-ului, dorește să vadă în Wireshark doar pachetele schimbate cu această adresă IP. Pentru a face asta, el aplică un filtru în Wireshark, ''​ip.addr == 192.185.11.183''​ și apasă ''​Enter'': ​
 +  ​
 +  ​
 + ​{{:​uso:​laboratoare:​new:​10-sec:​wireshark_3.png?​nolink&​900|}} ​
 +  ​
 + Acum că vede doar informațiile legate de **aavtrain.com**,​ Trudy observă că Vladimir a făcut un request de **POST** pe acest site. Request-urile de POST se fac de multe ori în cazul unei pagini de **login**. Pentru a investiga, Trudy urmărește traficul HTTP astfel: ​     * Click-dreapta pe request-ul de POST -> Follow -> HTTP Stream'': ​
 +  ​
 + ​{{:​uso:​laboratoare:​new:​10-sec:​wireshark_4.png?​nolink&​850|}} ​
 +  ​
 + Trudy vede în clar informațiile trimise de Vladimir la Login: ​
 +  ​
 + ​**userul**:​ ''​student_vladimir'' ​
 + ​**parola**:​ ''​supersecretpasswordvladimir'' ​
 +  ​
 + ​{{:​uso:​laboratoare:​new:​10-sec:​wireshark_5.png?​nolink&​800|}} ​
 +  ​
 + Trudy dorește acum să afle și contul de **acs.curs.pub.ro**. Află adresa IP că mai sus: ''​141.85.241.51'',​ filtrează după ea în Wireshark : ''​ip.addr == 141.85.241.51'',​ găsește requestul de **POST** și urmărește traficul TCP similar ca mai sus: 
 +  ​
 +  ​
 + ​{{:​uso:​laboratoare:​new:​10-sec:​wireshark_6.png?​nolink&​800|}} ​
 +  ​
 + De data aceasta, Trudy nu poate să extragă nicio informație. ​
 +  ​
 + ​Motivul este că **acs.curs.pub.ro** folosește **HTTPS**, deci întreg traficul este criptat. **aavtrain.com** folosește HTTP, fapt ce îl face vulnerabil la atacuri de tip [[https://​en.wikipedia.org/​wiki/​Man-in-the-middle_attack|Man-in-the-middle]],​ adică exact ce a făcut Trudy. ​
 +  ​
 +  ​
uso/laboratoare/new/10-sec/nice-to-know.1544301053.txt.gz · Last modified: 2018/12/08 22:30 by octavian.guzu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0