This shows you the differences between two versions of the page.
rl:labs:10 [2020/01/09 17:15] octavian.grigorescu |
rl:labs:10 [2023/12/18 00:17] (current) viorel.mocanu [Laborator 10. Securitatea Rețelelor Locale] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~SHOWSOLUTION~~ | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
- | ====== Laborator 10. Clienți de rețea ====== | + | ====== Laborator 10. Securitatea Rețelelor Locale ====== |
+ | <hidden> | ||
+ | |||
+ | * [[ https://curs.upb.ro/2022/mod/feedbackadm/view.php?id=13630 | Feedback CA]] | ||
+ | * [[ https://curs.upb.ro/2022/mod/feedbackadm/view.php?id=13633 | Feedback CB]] | ||
+ | * [[ https://curs.upb.ro/2022/mod/feedbackadm/view.php?id=13636 | Feedback CC]] | ||
+ | |||
+ | |||
+ | Arhiva laboratorului se găsește [[ https://drive.google.com/file/d/1guW9Kx3S8PATZ_ljmPmadP16rq7pWd42/view?usp=sharing | aici]] | ||
+ | </hidden> | ||
===== Cunoștințe și abilități ce vor fi dobândite ===== | ===== Cunoștințe și abilități ce vor fi dobândite ===== | ||
- | * Identificarea porturilor deschise pe un sistem | + | * Descoperirea de informații despre o anumită rețea, entitate |
- | * Folosirea clienților de rețea în linia de comandă în Linux (''netcat'', ''wget'', ''curl'', ''mail'') | + | * Înțelegerea taxonomiei folosite în industrie pentru identificarea vulnerabilităților |
- | * Accesarea serviciilor de web, transfer de fișiere (FTP) și e-mail | + | * Folosirea utilitarelor în vederea descoperirii de vulnerabilități |
+ | * Înțelegerea tipului de atac MiTM (Man in the Middle) folosind ARP spoofing și DNS spoofing | ||
+ | |||
+ | ===== Cheat sheet ===== | ||
+ | |||
+ | * {{:rl:rl_cheatsheet.pdf|Cheat Sheet}} | ||
===== Pregătire infrastructură de laborator ===== | ===== Pregătire infrastructură de laborator ===== | ||
- | * Vom rula o masină virtuală în [[http://cloud.curs.pub.ro | cloud-ul facultății]]. Folositi imaginea RL2018. | + | * **Reminder**: avem nevoie de o masina virtuală a laboratorului. Vă rugăm urmăriți [[:rl:info:resurse:vm-laborator|pagina aceasta pentru instrucțiuni]], apoi reveniți. |
- | * Pentru a porni o astfel de masină urmăriți tutorialul de la [[https://cloud.curs.pub.ro/about/tutorial-for-students/ | această adresă]] | + | |
- | * **FOLOSIȚI IMAGINEA RL_2018** | + | * Schimbati utilizatorul curent ca ''root'' folosind comanda <code bash> student@host:~$ sudo su</code> |
* Pentru a pregăti configurația de laborator, pe mașina virtuală (stația ''host'') folosiți comenzile următoare din contul utilizatorului ''root'' de pe stația ''host'' (puteți da copy/paste la comenzi în terminal):<code bash> | * Pentru a pregăti configurația de laborator, pe mașina virtuală (stația ''host'') folosiți comenzile următoare din contul utilizatorului ''root'' de pe stația ''host'' (puteți da copy/paste la comenzi în terminal):<code bash> | ||
- | root@host:~# wget https://raw.github.com/RL-UPB/rl-lab-prepare/master/rl-lab-10-prepare | + | root@host:~# update_lab --force |
- | root@host:~# chmod +x rl-lab-10-prepare | + | root@host:~# start_lab mitm |
- | root@host:~# ./rl-lab-10-prepare | + | </code> |
- | </code> Comanda durează circa 20 de secunde. Lasați-o să ruleze complet. | + | |
* Deschideți trei noi tab-uri în terminal (folosiți combinația de taste ''Ctrl+Shift+t''), și conectați-vă, din nou, la mașina virtuală folosind comanda ''ssh'' de mai sus. | * Deschideți trei noi tab-uri în terminal (folosiți combinația de taste ''Ctrl+Shift+t''), și conectați-vă, din nou, la mașina virtuală folosind comanda ''ssh'' de mai sus. | ||
* De pe cele trei noi tab-uri, conectați-vă la cele trei containere (''red'', ''green'' și ''blue''). | * De pe cele trei noi tab-uri, conectați-vă la cele trei containere (''red'', ''green'' și ''blue''). | ||
- | + | * Pentru o conectare mai usoara puteti folosi aliasul ''go'' (ex. ''go red'') | |
- | <spoiler Detalii rulare masina virtuala VMware local> | + | |
- | * Deschideți VMware și porniți mașina virtuală ''RL_lab''. | + | |
- | * Dorim să folosim terminalul sistemului fizic și să lucrăm peste SSH cu mașina virtuală VMware (denumită și ''host''). În acest fel vom putea folosi copy-paste în terminal sau alte facilități. Pentru aceasta urmați pașii de mai jos: | + | |
- | * Autentificați-vă în mașina virtuală folosind contul ''root'' cu parola ''student''. | + | |
- | * Aflați adresa IP a mașinii virtuale de pe interfața ''eth0'':<code bash> | + | |
- | root@host:~# ifconfig eth0 | + | |
- | </code> | + | |
- | * De pe sistemul fizic, deschideți un terminal și realizați o sesiune SSH folosind:<code bash> | + | |
- | student@mjolnir:~$ ssh root@$ADRESA_IP_MV | + | |
- | </code>unde ''$ADRESA_IP_MV'' este adresa IP a mașinii virtuale așa cum ați obținut-o mai sus. | + | |
- | </spoiler> | + | |
<note> | <note> | ||
- | Pentru a vedea cum accesați stațiile ''red'', ''green'' și ''blue'' (containere LXC configurate peste mașina virtuală VMware - stația ''host'') urmăriți pașii de [[:rl:info:resurse:vm-laborator#instructiuni_utilizare| aici]]. | + | În mod implicit folosiți contul ''root'' pentru conectare pe toate stațiile. Aveți nevoie de drepturi privilegiate pentru configurare. Folosiți contul ''student'' doar unde vi se cere explicit. |
</note> | </note> | ||
- | <note> | + | ===== Introducere ===== |
- | Conturile de acces la mașina virtuală (stația ''host'') sunt (''username:parola''): | + | {{ :rl:labs:l11-header.png?700 |}} |
- | * ''root:student'' | + | <note warning> |
- | * ''student:student'' | + | Conform legilor în vigoare, scanarea IP-urilor în vederea obținerii de informații este ilegală. Pentru exercițiile de scanare utilizați doar IP-urile/Domeniile specificate în laborator. |
</note> | </note> | ||
- | ===== Topologie ===== | + | Este estimat că la nivel global, companiile vor pierde aproximativ 10.5 trilioane de dolari până în 2025, o creștere de 15% per an. |
- | {{ :rl:topologie.png |}} | + | Odată cu necesitatea digitalizării lumii în care trăim numărul de aplicații utilizate în medie de un om a crescut considerabil. Această creștere a numărului de aplicații a venit însă și cu un risc crescut în fața atacurilor cibernetice. Fiecare aplicație nouă introdusă în infrastructura digitală a unei entități duce și la creșterea **suprafeței de atac** a acesteia. Prin [[https://en.wikipedia.org/wiki/Attack_surface|suprafața de atac]] se înțelege numărul total de puncte prin care o persoană neautorizată ar putea accesa un sistem. |
+ | |||
+ | Pentru a ne putea proteja în fața atacurilor cibernetice, este necesar să înțelegem fazele unui atac și ce reprezintă acestea. | ||
+ | |||
+ | În încercarea unui atacator de a avea acces la un sistem, acesta va trece prin următoarele faze generale: | ||
+ | |||
+ | **1. Recunoașterea țintei** | ||
+ | |||
+ | În această fază se urmărește culegerea de informații pentru ținta în cauză. Informațiile de interes pentru un atacator constau în detecția de hardware și software prezente. Această fază este extrem de importantă deoarece pe baza detecției aplicațiilor se pot identifica posibilele vulnerabilități. | ||
+ | |||
+ | În cadrul fazei de recunoaștere ne întâlnim cu două standarde foarte importante: | ||
+ | |||
+ | * **CPE(Common Platform Enumeration)** reprezintă o metoda structurată de indetificare a unui software/hardware. Exemplu: ''cpe:2.3:a:microsoft:exchange_server:2016:cumulative_update_23:*:*:*:*:*:*'' reprezentând: ''part="o",vendor="microsoft",product="exchange_server",version="2016", update="cumulative_update_23",edition=NA,language=NA,sw_edition="NA", target_sw=NA,target_hw="NA",other=NA)'' | ||
+ | * **CVE(Common Vulnerabilities and Exposures)** reprezintă o metoda structurată de identificare a unei vulnerabilități. (exmplu: ''CVE-2022-21978'') | ||
+ | |||
+ | Asocierea dintre cele două standarde este dată de faptul că unui **CPE** îi sunt asociate toate **CVE**-urile descoperite, spre exemplu pentru **CPE** folosit ca exemplu avem următoarele **CVE**-uri: | ||
+ | ''CVE-2022-21978, CVE-2022-21979, CVE-2022-21980, CVE-2022-24477, CVE-2022-24516, CVE-2022-30134, CVE-2022-34692, CVE-2022-41040, CVE-2022-41082, CVE-2022-41078, CVE-2022-41079, CVE-2022-41080, CVE-2022-41123'' | ||
+ | |||
+ | **2. Înarmarea pentru atac** | ||
+ | |||
+ | Pe baza informațiilor obținute anterior, atacatorul va alege cele mai potrivite metode prin care va exploata vulnerabilitățile descoperite. | ||
+ | |||
+ | **3. Livrarea atacului** | ||
+ | |||
+ | Prin livrarea atacului se înțelege orice metodă prin care atacatorul ar putea obține acces in sistem. Aici putem discuta despre exploatarea factorului uman prin mesaje de tip phising sau în funcție de vulnerabilitățile descoperite, acesta poate trimite diverse payload-uri către țintă. | ||
+ | Odată cu livrarea atacului, dacă acesta a avut succes, atacatorul își va putea exercita controlul asupra sistemului. | ||
+ | |||
+ | În cadrul acestui laborator vom trece prin toate fazele unui atac folosind utilitare cunoscute sau servicii puse la dispoziție de [[https://www.codaintelligence.com/product-overview//|CODA Intelligence]]. | ||
===== Navigare ===== | ===== Navigare ===== | ||
Line 54: | Line 84: | ||
===== Exerciții ===== | ===== Exerciții ===== | ||
- | |||
- | În cadrul exercițiilor din laboratoarele de Linux vom folosi [[:rl:labs:10#topologie|topologia de mai sus]]. | ||
{{namespace>:rl:labs:10:contents&nofooter&noeditbutton}} | {{namespace>:rl:labs:10:contents&nofooter&noeditbutton}} | ||
+ | |||
+ |