Securitate Cibernetica: Tutorial Gratuit despre cum sa incepi in domeniu fara experienta anterioara

curs Securitate cibernetica si ethical hacking teachbit ramon nastase

Astazi dorim sa-ti vorbim despre partea de Securitate Cibernetica & Ethical Hacking.

Un domeniu extrem de hot 🔥si mereu cautat in piata.

Sau facut numeroase filme pe acest subiect al “hackerilor”.

Dar, stii cum e… nu tot ce e in filme e si in realitate.

Defapt exist 3 tipuri de hackeri:

  • Black Hat Hackers
  • Grey Hat Hackers
  • White Hat Hackers

Fiecare dintre acestia poarta cate o “palarie” de (non)culoare diferita.

Astfel, the “black hat” sunt acei hackeri de care se vorbesc in filme (si la stiri). Cei rai care doresc sa fure informatia sau sa “sparga” anumite sisteme informatice (uneori doar de dragul adrenalinei).

“White hat” hackers sunt cei buni care vin sa identifice vulnerabiliati si sa previna potentialele atacuri care pot aparea in cadrul unui sistem informatic (website, retea, server, cloud, etc).

Iar “grey hat” hackers sunt cei de la mijloc. 

Acestia cad in ambele categorii, in functie de tentatii.

Noi, la TeachBit.ro, incurajam hacking-ul etic (white hat) si construirea unei cariere pe aceste principii care servesc binele in lume.

Acum, vorbind de hackerii etici, si acestia se impart in categorii.

Pentru ca nu tot ce tine de securitatea cibernetica se rezuma doar la hacking, exista 2 grupe fundamentale:

🔴 Red Team (Ofensiva)

🔵 Blue Team (Defensiva)

In red team putem incadra urmatorul rol (nisat pe specializari):

  • Penetration Tester (Pentesters) – “hackerii”, asa cum ii stim
    • nisati pe diferite specializari – Web Developer, OS Developer, Retelistica, Serverele (Linux sau Windows), Cloud, Baze de date, etc.

Iar in blue team incadram urmatoarele roluri:

  • Analist de Securitate – analizeaza incidentele de securitate si le ofera mai departe catre echipa de Pentesteri si/sau ingineri pentru solutionarea evenimentelor
  • Cybersecurity engineer – (ca programator sau administrator de servere si echipamente de protectie – firewall, IDS/IPS, etc)

Pentru ca este un domeniu atat de vast si (foarte) neinteles de oamenii din afara domeniului IT-ul, dorim sa-l facem accesibil si pe intelesul tuturor.

Tocmai de acceea, ti-am pregatit un training Gratuit din care vei afla cum sa inveti Securitatea Cibernetica & Ethical Hacking ca sa lucrezi (de acasa) in IT, in doar 12 luni chiar si fara pregatire in domeniu

Training-ul il poti urmari chiar aici: https://teachbit.ro/webinar-securitate-cibernetica/

Dupa urmarirea materialului, te invitam sa te inscrii pentru un demo al cursului de Securitate Cibernetica cu Angajare in IT pe care il organizam la finalul acestei luni. In continuare, sa vedem cu ce se “mananca” securitatea cibernetica

Ce este securitatea cibernetica?

Este aria din IT care se ocupa cu protejarea sistemelor informatice si a utilizatorilor sai. Mai exact, companiile si persoanele fizice au servere, echipamente de interconectare (routerswitchload balancerfirewall) care practic ne dau accesul din internet in retelele acestea locale.

Ce poti sa devii pe partea de cibernetica?

Analist – te uiti peste anumite rapoarte, esti atent la starea sistemelor, te uiti pe zona de raportare a retelei, a serverelor si de acolo tragi anumite concluzii, urmand sa vii cu anumite solutii pentru ceea ce ai gasit.

Pentester – pe langa ce ofera analistul, aici se testeaza daca se poate intra in zona privata, daca exista vulnerabilitati pe care alte persoane le pot gasi cu usurinta. El aduce un plan de proiect in care isi propune sa testeze anumite severe, servicii din retea, IP-urile si bresele pe care analistul le-a sesizat.

Cybersecurity Engineer – practic, rezolva acel bug care se afla in aplicatie. Daca vorbim de retea, poate adauga o componenta in plus de filtrare. Daca vorbim de development, unde echipa trebuie sa faca un update la sistemul de operare, el va avea grija sa le trimita mai departe lor.

Acesta poate activa in 2 zone:

Zona de administrare a sistemelor, in care se asigura ca acestea sunt securizate si masurile de securitate sunt implementate.

Zona de developmentunde se ia in considerare si se rezolva ceea ce Pentester-ul a raportat.

Acum hai sa trecem mai departe si sa vorbim despre Hackeri, Procesul de Hacking si aspectele sale importante.

Doresti in continuare sa-ti aprofundezi cunostiintele de Securitate? Atunci te invit sa apesi pe acest LINK si sa programezi o discutie de ghidare in IT cu colegii mei de la TeachBit.ro care te vor indruma catre urmatoarea etapa in Securitate Cibernetica.

Echipa TeachBit.ro

I. Despre Hackeri

Propun sa vorbim despre un subiect destul de interesant din zona de Securitate Cibernetica si anume despre Hackeri. Sunt convins ca ai auzit de ei, foarte des la stiri. Tot mai des. Asta inseamna ca numarul lor creste constant ceea ce inseamna ca si oportunitatile din piata cresc (mai ales pe zona de CyberSecurity).

Inainte sa discutam mai in detaliu despre Hackeri, vreau sa-ti spun ca voi folosi des aceste termene: Securitate Cibernetica si CyberSecurity. Acestea reprezinta unul si acelasi lucru: Stabilirea si mentinerea nivelului de securitate a unei infrastructuri informatice (retea de calculatoare, server, laptop etc.)

Ok. Dar de ce avem nevoie de securitate cibernetica ? Pentru ca aceasta asigura buna functionare a sistemelor informatice atat pentru companii cat si pentru persoane (ca mine sau  ca tine). In cazul unui incident de securitate care are ca tinta extragerea informatiilor dintr-o baza de date, atacatorul poate lua aceste informatii si le poate folosi in mai multe scopuri:

  1. Le poate vinde pe piata neagra (Deep Web)
  2. Le poate folosi in scop personal pentru a ataca cibernetic acele persoane cu scopul de a extrage anumite informatii bancare 
  3. Alte motive personal – ego, satisfactie personala… da, sunt multi care fac doar pentru asta

Ok. Acum ca am tot vorbit de rau despre Hackeri, sa vedem daca toti Hackerii sunt rai. Acum poate te intrebi: “Stai asa Ramon, cum adica? “Daca toti Hackerii sunt rai ?”. Un hacker nu este prin definitie… rau ?”

Ei bine iti pot spune ca nu. Termenul de Hacker (in anii ‘80) definea o persoana careia ii placea tehnologia si in mod special sa programeze (sa scrie cod). Termenul (la vremea respectiva) folosit pentru persoanele care programau virusi, care spargeau retele sau faceau orice alte lucruri ilegale era de Cracker.

In ziua de astazi nu prea auzi acest termen. Un Cracker (astazi) poate fi asociat cu o persoana care incearca sa sparga parole in diferite ipostaze (fie ca este vorba de cea de la Wi-Fi sau cea dintr-o baza de date).

Inainte sa inchei cu aceasta introducere mai vreau sa-ti aduc la cunostinta un termen foarte des folosit: “Hacking”. 

Hacking-ul este procesul pe care un atacator il urmeaza cu scopul de a obtine acces neautorizat intr-un sistem (server, retea, laptop etc.)

Acum ca am vorbit despre aceste subiecte, sper ca ti-ai facut o imagine mai clara legata de lumea de securitate si propun sa vorbim mai multe despre Hackeri si de cate tipuri pot fi ei.

De cate tipuri poate fi un Hacker?

Dupa cum am spus si mai devreme: NU toti Hackerii sunt rai. Dar daca nu toti sunt rai, cum ii categorisim ? De ce se mai foloseste acest termen pentru ei ?

Ei bine, lucrurile stau in felul urmator: Exista 3 categorii principale de Hackeri:

  • Black Hat Hacker
  • Grey Hat Hacker
  • White Hat Hacker

Hai sa ii luam in ordine si sa discutam despre fiecare in parte:

1) Black Hat Hacker

De acest tip de Hackeri sunt absolut sigur ca ai mai auzit. Poate nu in acest format de “Black Hat” (figura de mai jos) , dar sigur ai auzit de ei. Sunt acei Hackeri la care se refera toata lumea cand pomeneste acest termen. Acele persoane pe care le vezi la stiri de care se spune ca au spart serverele de la compania X, Y, Z.

Black Hat Hacker

Figura de mai sus ilustreaza “logo-ul” unui astfel de Hacker de tip “Black Hat”, adica un Hacker non-etic pus pe fapte (rele). De obicei cei care sunt la inceput pe partea de CyberSecurity si PentTesting se incadreaza in aceasta categorie pentru ca vor sa invete (si nu prea stiu ce fac).

Pana la urma, Black Hat Hackerii, sunt persoanele care fac lucruri intr-un mod total lipsit de etica si cu scopul de a se afirma, de a-si demonstra lor ca pot, bineinteles (nu in ultimul rand), de a lua diferite date extrem de valoroase (ex: datele clientilor, informatii bancare, datele strict secrete ale companiei) de la diferite organizatii. 

De ce fac asta ? Pentru ca pot lua acele date si le pot vinde pe piata neagra (“Deep Web”) sau le pot folosi in scop personal (furturi, santaje etc.).

2) Grey Hat Hacker

Hackerii de tip “Grey Hat” (figura 1.2) sunt la mijloc: nici prea buni si nici prea rai. Ce inseamna asta ? Inseamna ca ei nu sunt 100% dedicati in a face fapte rele, respectiv in a face hacking etic (dupa cum vei vedea la punctul 3 ).

Grey Hat Hacker

Aceste persoane sunt foarte mult axate sa invete, de multe ori ne mai gandindu-se la faptul ca fac lucrurile intr-un mod ilegal si complet non-etic (pe serverele, reteaua altcuiva fara acordul acelei persoane/organizatii).

Acum iti voi recomanda si tie, daca vrei sa inveti, fie sa-ti creezi tu proprile tale laboratoare de test in care inveti si testezi tot ce iti trece prin cap, fie iti cumperi (inchiriezi) diferite scenarii/laboratoare din Internet, fie te angajezi la o companie care sa iti ofere aceasta sansa, oportunitate astfel incat sa fi platit pentru a invata 😉 

Eu am avut sansa asta, iti recomand si tie sa o incerci.

3) White Hat Hacker (aka. Ethical Hacker)

Spre deosebire de celelalte 2 categorii despre care am discutat pana acum, “White Hat Hackers” (ilustratie in figura 1.3) sunt Hackerii Etici (buni) care “sparg” anumite sisteme (retele, servere, laptop-uri, telefoane smart etc.) cu scopul de a descoperi vulnerabilitati pe care ulterior le vor anunta dezvoltatorului (sau administratorului) astfel incat sa le remedieze.

White Hat Hacker (aka. Ethical Hacker)

Acest tip de Hackeri, fie au fost la un moment dat “Black Hat”, fie au decis sa actioneze doar de partea binelui (intr-un format etic), astfel devenind si luptand pentru un Internet “mai curat”, fara incidente de securitate (asta fiind viziunea lor).

Acest tip de Hackeri mai pote fi numiti si “Penetration Testers” pentru ca ei, de fapt, asta fac, incearca sa penetreze (informatic) diferite sisteme (de securitate).

Acestia, fie lucreaza in modul freelancer (sunt liber profesionisti, colaborand cu diferite firme), fie sunt angajati intr-o firma. Ce vreau sa-ti spun cu asta este urmatorul aspect: 

Pentru a putea face testele de penetrare (mai pe romaneste Hackingul :)) ), Hackerii etici trebuie sa aiba un contract care le ofera dreptul de a face asa ceva. Contractul trebuie sa fie intre ei si firma care doreste o astfel de testare (pe serverele sau reteaua lor), cu timeline-uri foarte clare (cand incepe testarea, in ce intervale de timp, pe ce zone ale companiei etc.), astfel incat sa nu fie pusa in pericol infrastructura informatica.

La sfarsitul pentestului se genereaza un raport (cu vulnerabilitatile gasite) care se va inmana persoanei responsabile din organizatie.

Doresti in continuare sa-ti aprofundezi cunostiintele de Securitate? Atunci te invit sa apesi pe acest LINK si sa programezi o discutie de ghidare in IT cu colegii mei de la TeachBit.ro care te vor indruma catre urmatoarea etapa in Securitate Cibernetica.

Echipa TeachBit.ro

II. Procesul de Hacking

In general cand vorbim de Hacking exista o structura foarte bine gandita in spate. Nu vrem sa gasim un server si sa “sarim” direct pe el pentru ca avem prea putine informatii despre acesta pe moment si ne expunem la riscul de a fi prinsi daca nu luam in calcul cei 5 pasi existenti in acest proces.

Cum se desfasoara procesul de Hacking ?

Sper ca observi ca am spus “procesul de Hacking”, proces care poate dura si cateva zile, saptamani, chiar luni (depinde de tinta si de riscul existent). Acest proces, cum am spus si mai devreme, este alcatuit din 5 pasi (figura 2.1):

  1. Reconnaissance – Information Gathering
  2. Scanning
  3. Gaining Access
  4. Maintaining Access
  5. Covering Tracks
Pasii de Hacking

Iar acum haide sa luam pe rand si sa discutam despre fiecare in parte:

1) Reconnaissance – “Information Gathering

Unul dintre cele mai importante lucruri pe care Hackerii il fac in momentul in care s-au decis ca vor sa atace un sistem (server, retea etc.) este sa acumuleze cat mai multe date despre el.

Gandeste-te in felul urmator: in momentul in care vrei sa pleci intr-o vacanta intr-un loc/tara in care nu ai mai fost, ce faci ? Cel mai probabil iti faci temele de casa. Adica te interesezi de acea locatie. Cauti pe Google diferite lucruri (ce poti face acolo, cum este vremea/mancarea, review-urile localurilor din zona etc.). Cu alte cuvinte te informezi despre tinta ta.

Exact prin acest proces trece si un Hacker in momentul in care decide sa atace un sistem. Exista diferite metode prin care poti afla mai multe despre un site/server, una dintre cele mai simple metode este sa cauti pe Google informatii despre acesta.

Printr-o comanda simpla precum nslookup (sau dig) poti afla cu adresa IP a unui site, iar prin comanda whois poti afla mult mai multe informatii despre acel domeniu.

>nslookup google.ro

>whois google.ro

Termenul de Reconnaissance (sau de Information Gathering) vine de la ideea de a cerceta, de a te informa despre un anumit subiect inainte de a trece la actiune. Mai pe scurt, practic inseamna documentare inainte de actiune.

Ca interval de timp acest proces este cel mai “costisitor”. De ce ? Pentru ca un atacator trebuie sa fie foarte bine informat, trebuie sa cunoasca lucrurile in amanunt pentru ca altfel (asa cum am spus si la pasul #5) isi risca propria libertate.

2) Scanning – “Scanarea sistemului

Urmatorul pas in “Procesul de Hacking” este scanarea. Odata ce un Hakcer are mai multe informatii despre tinta sa va incepe sa afle si mai multe informatii (de data aceasta tehnice). 

Si cum va face asta ? Folosind diferite unelte (precum Nmap) cu care se pot scana retele, servere si care ii ofera informatii mult mai clare despre topologia retelei, despre echipamentele folosite, sistemul de operare etc.

De ce sunt acestea importante ? De ce este important sa stie un Hacker daca un anumit server web ruleaza pe Windows sau pe Linux ? Pentru ca odata ce are aceasta informatie poate sa mearga mai departe (la pasul 3), cu un mic research pe Google, sa descopere anumite vulnerabilitati existente si sa incerce sa profite de ele cu scopul de obtine acces in acel sistem (sau de a extrage anumite date).

Despre scanare si diferitele metode prin care putem face asta vom vorbi mai pe larg in capitolul 6. Cu ajutorul acestor date acumulate din urma scanarii, Hackerul va trece la pasul #3.

3) Gaining Access – “Obtinerea Accesului

Avand temele facute (a facut research, a scanat retelele/serverele, a aflat informatii din diferite surse – Google, Facebook, Forumuri – despre tinta), Hackerul poate incepe atacul. Atacul trebuie gandit foarte bine pentru a fi in modul stealth (fara a declansa alarme si – daca se poate – fara a generea prea multe log-uri). 

Exista foarte multe tool-uri (Burp Suite, SQLmap, Metasploit etc.) care pot fi folosite pentru a genera un atac cibernetic, totul depinde de tehnologie si obiectiv. 

Obtinerea accesului se poate face in mai multe moduri si din mai multe puncte de vedere:

  • Obtinere acces la nivel de root pe un server Linux
  • Obtinere acces la panoul de administrare al unui site
  • Obtinere acces pe un anumit echipament din retea (Router, Firewall, Switch etc.)
  • Obtinere acces pe un end-device din retea (smartphone, tableta, laptop etc.)

Odata ce Hackerul are acces pe unul dintre elementele enumerate mai devreme, el este infiltrat in retea si astfel poate obtine foarte multe informatii despre organizatia in care se afla (digital).

Vom discuta in capitolul 5 mai multe despre tipuri de atacurile cibernetice si cum le putem face. Totodata in cursul de Securitate (iti mai aduci aminte de surpriza din capitolul 1 ? 😉 iti arat pas cu pas cum poti face aceste atacuri cibernetice indiferent ca este vorba de retea, wireless, servere sau site-uri. 

4) Maintaining Access

Odata intrat in retea, Hacker are optiunea de a-si mentine accesul. In foarte multe situatii cand au fost sparte diferite servere ale marilor companii (Yahoo, Google, Microsoft etc.), Hackerii si-au lasat mereu “portite deschise” pentru a intra inapoi in sistem.

Aceste portite se numesc “backdoor” si sunt lasate intentionat de catre Hackeri (sau chiar de catre dezvoltatorii de software ale unor aplicatii pe care tu si eu le folosim zi de zi) pentru a avea acces ulterior in sistem.

Astfel ei pot extrage in mod constant date, pot urmarii ce se intampla in organizatii, pot detine “controlul din spate”, urmand ca ulterior sa faca ceva cu aceste date (de obicei ele sunt vandute pe piata neagra din Deep Web).

Dupa acest proces, urmeaza pasul #5 care este extrem de important.

5) Covering Tracks – “Acoperirea Urmelor”

Acest proces este unul foarte important (cel de “Acoperire a urmelor lasate”). Un proces pe care foarte multi Hackeri (mai ales cei care sunt la inceput de drum) il omit. Pur si simplu nu sunt atenti (sau constienti) sa-si acopere urmele si ajung sa fie prinsi (in Romania de DIICOT, SRI sau STS) si pedepsiti in instanta pentru faptele savarsite.

Repet, faptul ca, accesul neautorizat intr-un sistem poate duce la consecinte grave din punct de vedere penal:

  • confiscarea bunurilor informatice – laptop-uri, hard disk-uri externe etc.
  • punerea sub supraveghere 
  • sau chiar arestul, acestea fiind doar cateva dintre consecinte.

Pentru a nu lasa astfel de urme ca sa poata fi descoperiti, intervine un element cheie,   SA INTELEGI CUM FUNCTIONEAZA TEHNOLOGIA.

La ce ma refer ? Ma refer la faptul ca este extrem de important sa intelegi cum functioneaza “acel server de baze de date, acel server de mail sau web” – atat din punctul de vedere al modului in care il configurezi, cat si din punctul de vedere al monitarizarii si jurnalizarii (log-uri) acestuia.

De asemenea este important sa stii cum sa functioneaza sistemul de operare Windows sau Linux.“Cum sunt creati userii ? Unde sunt stocate datele acestora ? Datele de logare? Ce se intampla in momentul in care te loghezi pe un astfel de sistem ? Unde se scriu acele log-uri ?” etc.

Hackingul (profesionist, etic si sigur) nu este pentru toate lumea si de aceea trebuie sa fii foarte bine pregatit pentru ca in anumite situatii libertatea ta poate fi pusa in joc.

Inca un lucru foarte important pe care vreau sa-l retii este faptul ca nimeni, NIMENI, nu face “Hacking” de la el de acasa. Este foarte important sa-ti ascunzi urmele pe cat de mult poti. Asta inseamna sa schimbi locatia in care te afli, sa folosesti servicii VPN (despre care vom discuta in capitolul 10) si/sau Tor pentru criptarea si anonimizarea traficului.

Cum stergem urmele dintr-un sistem ?

Acum hai sa vedem cateva metode prin care iti poti acoperi urmele lasate odata ce ai intrat intr-un sistem (retea, server, laptop etc.)

  1. Stergerea Log-urilor din diferite aplicatii (web, mail etc.) 
  2. Stergerea Log-urilor userilor
  3. Stergerea logurilor din diferite sisteme de monitorizare

Fiecare sistem are diferite moduri de monitorizare a acestuia cu scopul de a face debuging sau troubleshooting in cazul aparitiei unei probleme.

Pentru a face toate acestea nu este necesar, ca un Hacker, sa merga pas cu pas, din fisier in fisier, sa caute si sa stearga ultimele jurnalizari (log-uri). Ci poate folosi diferite scripturi existente (in Internet) ale altor persoane cu care isi poate curata urmele.

Iata aici un exemplu de program pentru Windows (de asemenea se mai poate folosi si EventViewer).

Iar pentru Linux se pot da urmatoarele comenzi:

#rm ./bash_history – pentru stergerea comenzilor date de catre utilizatorul curent

#vim /var/log/messages – loc in care se pot sterge logurile

sau in orice alt fisier din /var/log, depinde cu ce aplicatie s-a incercat exploatarea. Mai exista un alt mod prin care putem sterge logurile folosind Meterpreter (o aplicatie destinata PenTesterilor, despre care vorbesc si iti arat cum sa faci in cursul de CyberSecuritate).

6) (Pentru cei etici) Raportarea

Un alt pas foarte important, mai ales in procesul de Ethical Hacking este #6, Reporting (Raportarea), pasul in care Hackerul genereaza un raport asupra vulnerabilitatilor gasite (si exploatate), modurile prin care acestea pot fi remediate si alte informatii care sa duca la solutionarea si securizarea sistemului.

Doresti in continuare sa-ti aprofundezi cunostiintele de Securitate? Atunci te invit sa apesi pe acest LINK si sa programezi o discutie de ghidare in IT cu colegii mei de la TeachBit.ro care te vor indruma catre urmatoarea etapa in Securitate Cibernetica.

Echipa TeachBit.ro

III. Instalarea si folosirea OS-ului Kali Linux

Daca esti curios sa afli cum se fac atacurile cibernetice, atunci ai ajuns la capitolul potrivit pentru ca acum iti voi arata un tutorial de instalare a Kali Linux (distributia de Linux folosita de Hackeri).

Ce este Kali Linux ?

Kali Linux este distributia de Linux (cea mai) folosita de catre Hackeri si Pentesteri profesionisti datorita numarului de programe preinstalate existente pe aceasta. In Kali Linux poti gasi extrem de multe programe axate pe partea de securitate si pe partea de testare a vulnerabilitatii sistemului. Indiferent ca vorbim de scanari, atacuri DoS, atacuri Web sau orice alt tip de atac, Kali este alegerea perfecta pentru oricine doreste sa invete securitate. In figura de mai jos poti sa vezi logo-ul oficial al acestei distributii de Linux. Denumirea de Kali vine de la zeul razboiului din mitologia hindusa.

Kali Linux

Desi, la inceput poate parea putin greu de utilizat, acest lucru nu trebuie sa te descurajeze din a persevera si din a invata constant lucruri noi. De ce spun ca e greu de utilizat ? Pai in primul rand este vorba de Linux, iar daca nu ai mai interactionat cu Linux pana acum (din Terminal) s-ar putea sa ti se para destul de dificil, la inceput.

In al 2-lea rand este vorba de numarul mare de programe de PentTesting existente pe Kali. Acestea sunt dificil de folosit (mai ales la inceput), daca nu stii care este scopul lor (practic ce face tehnologia din spatele acelui tool) si daca nu stii sintaxa acestuia (dar aceasta se poate invata – la fel ca si celelalte).

Pasii de instalare Kali Linux in Masina Virtuala

Cand vine vorba de instalarea oricari distributii de Linux (deci si Kali) avem 2 optiuni:

  • Instalare Dual-Boot 
    • Linux, respectiv Windows se afla instalat pe partitii diferite
    • Cele 2 OS-uri ruleaza pe rand
    • Necesita reboot-ul laptopului/desktop-ului pentru a alege OS-ul dorit
  • Instalare in Masina Virtuala
    • Linuxul vine instalat intr-o aplicatie (Virtual Box) si poate fi folosit in acelasi timp cu Windows
    • Nu necesita reboot, iar cele 2 OS-uri pot fi utilizate simultan
    • Consuma mai multe resurse (CPU & RAM) pentru ca acestea trebuie alocate catre 2 OS-uri in acelasi timp

Personal prefer a 2-a metoda pentru ca este mult mai simpla si rapida. In plus, iti spun din proprie experienta, daca folosesti prima varianta foarte des, vei omite sa intri in Linux si vei spune “Lasa, alta data. Acum nu am chef sau dau restart”. Dar cu varianta a 2-a nu prea ai scuze :D.

Pentru a instala Kali Linux avem nevoie sa trecem prin cativa pasi. In primul rand avem nevoie de programul VirtualBox (sau un alt program de virtualizare – ex: VMware Workstation) si de imaginea OS-ului Kali Linux asa cum poti vedea in figura 3.2.

Iti recomand sa selectezi versiunea pe 64 de biti, iar downloadarea sa o faci folosind Torrent pentru ca va fi mult mai rapida.

tutorial instalare kali linux

Urmatorul pas, dupa descarcarea imaginii OS-ului Kali Linux si al programului de virtualizare Virtualbox revine procesului de instalare:

  1. Crearea unei masini virtuale – vezi AICI cum poti face asta.
  2. Inceperea procesului de instalare – dupa cum poti vedea in figurile de mai jos.

Procesul este unul simplu, iar cu ajutorul acestui tutorial sunt convins ca vei putea sa duci la capatat toata instalarea si sa incepi sa te joci cu Kali 😉

cum sa instalez kali linux intr-o masina virtuala

Daca vrei sa testezi Kali fara sa-l instalezi atunci poti opta pentru optiunea Live. Singura problema este ca de fiecare data cand vei porni masina virtuala ti se vor sterge setarile/munca pe care ai depus-o pana in acel moment. Daca scrii un script si esti in modul Live, acesta la reboot va fi sters, nu va fi salvat !

Si aici iti recomand sa mergi pe instalarea clasica pentru ca toate datele tale sa fie salvate pe disk.

tutorial proces de instalare kali linux

In continuarea procesului de instalare (figura de mai jos), in mare parte trebuie sa mergi next -> next -> finish, iar apoi sa astepti putin pana cand totul este gata. Daca nu te descurci la un moment dat (intervin anumite setari pe care nu le intelegi sau iti apare o eroare) te incurajez MAXIM sa faci research pe Google

In ultimii ani am constat ca un skill, o abilitate, tot mai necesara in ziua de astazi este cea de a cauta pe Google. Probabil ca te amuza ceea ce spun eu aici, dar vreau sa stii ca vorbesc cat se poate de serios. Iti spun din proprie experienta ca acesta abilitate m-a scos de foarte multe ori din incurcatura, indiferent de situatia in care m-am aflat (construirea site-ului, terminarea proiectelor din timpul facultatii, documentarea si nu in ultimul rand gasirea forumurilor cu subiecte de interes pentru mine).

Deci, daca iti apare o eroare la instalare sau in orice alta situatie. Don’t panic. Think for yourself. And search on Google 🙂

Aaa…. si apropo, userul default pentru Kali Linux e root cu parola toor. Acum te-am scapat eu de o cautare 😉

Prezentare Distributie Kali Linux

Acum, dupa ce ai terminat cu instalarea si ai reusit sa pornesti si sa intri in Desktop, propun sa mergem mai departe si sa-ti prezint pe scurt Kali-ul astfel incat sa intelegi si sa identifci o parte din uneltele pe care le ai la dispozitie (in functie de obiectivul tau). Dupa cum poti sa vezi in figura, ne aflam in starea default a Kali-ului, mai exact pe Desktop. In partea stanga ai o bara cu o parte din unelte, dar sus de tot (pe pozitia a 2-a) poti sa vezi terminalul (cel mai probabil cea mai importanta componenta pe care iti recomand sa o stapanesti cat mai bine ;).

Mergand in stanga sus, avem un meniu fooooarte interesant :D. Meniul cu aplicatiile de PenTesting pe care le putem folosi (cu unele chiar ai experimentat din capitolele anterioare). Dupa cum poti sa vezi in figura, avem de unde alege (ba chiar mai mult, ele sunt puse in diferite categorii, iar aici intervenim noi – sa alegem cele mai eficiente programe pe interesul nostru). 

Aceste aplicatii sunt defapt programe de “Hacking” care pot fi folosite atat cu intentii bune cat si mai putin bune. Totul depinde de tine acum sa le folosesti in scopuri cat mai bune (psss…. Ethical Hacking).

Si dupa cum poti sa vezi, chiar prima categorie se numeste “Information Gathering”, exact ca primul pas din Procesul de Hacking (despre care am vorbit mult mai in detaliu in capitolul 2). Aceste tool-uri pe care le vezi in figura ne ajuta sa obtinem mai multe informatii despre tinta noastre. Pe unele dintre ele chiar le-am folosit sau le-am mentionat (nmap, zenmap).

Un lucru pe care vreau sa-l retii este faptul ca, in momentul in care apesi pe unul dintre aceste programe (oricare ar fi ele) se pot intampla aceste 2 lucruri:

  1. Se deschide programul cu interfata GUI 
  2. Se deschide un terminal care ruleaza programul si iti afiseaza informatii de tip “help” ale acestuia

In primul caz, poate fi destul de intuitiv ce poti face cu el, iti vei da seama pe parcursul folosirii (exemple de programe GUI in Kali: Yersinia, Maltego, Burp suite, Wireshark etc.). 

In al 2-lea caz, s-ar putea sa nu fie atat de evident inca de la prima utilizare, pentru ca, dupa cum spuneam si mai devreme, ti se va deschida un terminal cu un fel de meniu help/descriere a acelui tool. In ambele cazuri (mai ales in cazul 2) este important sa inveti acel program. Sa intelegi ce fac ele cu adevarat si “cu ce sa mananca”.

In figura de mai jos poti sa vezi la ce ma refer mai exact:

Yersinia este un tool grafic cu ajutorul caruia putem face foarte usor atacuri de tip MITM (mai ales daca in retea exista echipamente Cisco – Routere, Switch-uri nesecurizate). Yersinia are si o varianta in terminal care este mult mai puternica si customizabila. Pentru a porni versiunea GUI a Yersinia trebuie sa dam urmatoarea comanda:

#yersinia -G

De aici, te las pe tine sa experimentezi cu acest program 😀 .Tot ce pot sa-ti spun este ca, in partea stanga, vor aparea numarul de pachete capturate de tipul respectiv (statistica care iti da si un indiciu clar pe ce tip de atac sa te focusezi).

Mergand mai departe, in figura de mai jos poti sa vezi o alta categorie care contine diferite tool-uri (unele din le-am folosit – ettercap, Wireshark, macchanger) care au scopul de a asculta, respectiv capta traficul intr-un atac cibernetic de tip MITM (Man-In-The Middle):

Acesta a fost doar o scurta introducere pe partea de Kali Linux. Daca vrei sa inveti mult mai multe elemente practice de PenTesting si CyberSecurity atunci te invit sa te inscrii la cursul de Introducere in CyberSecurity si Hacking de AICI.

Doresti in continuare sa-ti aprofundezi cunostiintele de Securitate? Atunci te invit sa apesi pe acest LINK si sa programezi o discutie de ghidare in IT cu colegii mei de la TeachBit.ro care te vor indruma catre urmatoarea etapa in Securitate Cibernetica.

Echipa TeachBit.ro

IV. C.I.A.Introducere in Securitate Cibernetica

In acest capitol vom incepe discutia despre cele 3 elementele care alcatuiesc notiunea de Securitate Cibernetica. Practic vom acoperi bazele acesteia. Urmareste acest video pentru a vedea in format video/audio tema acestui capitol de Securitate Cibernetica.

Foarte multe persoane cand vorbeste despre Securitate Cibernetica, se gandesc doar la criptarea datelor. Acest lucru nu este neaparat corect, pentru ca securitatea cibernetica implica mai mult decat atat (defapt sunt 3 elemente cheie, cunoscute drept CIA). Acest CIA este o triada formata din 3 elemente cheie:

  • Confidentialitate
  • Integritate
  • Availability (Disponibilitate)

Fiecare dintre aceste 3 elemente asigura, intr-un fel sau altul, ca datele noastre nu au fost vazute/citite (Confidentialitate), nu au fost modificate (Integritate) si sunt accesibile la orice ora (Availability).

1) Confidentialitatea Datelor 

Cand vorbim de confidentialitatea datelor ne vom referi mereu la criptarea lor cu scopul de a le face indescifrabile. Acest proces de criptare necesita algoritmi, cu formule matematice foarte complexe, care sa asigure ca datele criptate nu pot fi citite. 

Astfel daca vrei sa-ti criptezi un fisier pe telefon, pe laptop sau sa criptezi o comunicatie prin Internet intre 2 retele, lucrurile se pot face in 2 moduri (depinde de situatie):

  1. Simetrica – folosind o singura cheie (PSK – aka. parola)
  2. Asimetrica – folosind o pereche de chei (una publica, iar cealalta privata)

a) Criptarea Simetrica

Criptarea simetrica este cea mai folosita forma de criptare din Internet, fiind in acelasi timp rapida si sigura.

Motivul pentru care este atat de raspandita este faptul ca necesita o singura cheie (numita PSKPre-Shared Key) care va fi folosita atat pentru criptarea datelor, cat si pentru decriptarea acestora. Gandeste-te la aceasta cheie, ca fiind cea de la intrarea in casa ta (cu ea poti descuia usa, dar o poti si incuia).

Si acum, iata un caz obijnuit in care folosesti un astfel de PSK pentru a cripta datele (sau traficul). Este vorba de conexiunea ta Wireless. Da, in momentul in care te conectezi pentru prima data la o retea wireless (WLAN) iti va cere o parola (care este PSK-ul). 

Acea cheie (parola) este folosita atat pentru autentificarea in retea, cat si pentru criptarea mesajelor. 

Acum ca ai inteles care e treaba cu criptarea simetrica, propun sa mergem mai departe si sa vedem cativa algoritmi care fac posibila securizarea datelor folosind o singura cheie:

  • DES
  • 3DES
  • AES
  • Blowfish
  • RC4

b) Criptarea Asimetrica

Cand vine vorba de criptarea asimetrica, lucrurile stau putin diferit. Complexitatea acestei criptari este mult peste cea simetrica (1024, 2048 sau chiar 4096 de biti vs 128, 192, 256), dar si consumul de resurse hardware este mult mai mare. Pe langa asta, criptarea asimetrica foloseste o pereche de chei – una publica si una privata.

Cheia privata este menita sa fie… privata, iar cea publica poate fi distribuita catre oricine. Criptarea asimetrica se face astfel:

Orice criptez cu cheia PUBLICA, pot decripta DOAR cu cheia PRIVATA (astfel obtinem confidentialitatea datelor).

Orice criptez cu cheia PRIVATA, pot decripta DOAR cu cheia PUBLICA (astfel obtinem o semnatura digitala care are scopul de a autentifica ).

Vom discuta mai multe despre criptare in capitolul 8, Introducere in Criptografie.

2) Integritatea Datelor

Deci, practic, ce inseamna integritatea datelor ?

Intregritatea datelor asigura ca un fisier poate fi transferat dintr-un punct A intr-un punct B fara alterarea (sau modificarea) continutului acestuia. Ea este obtinuta in urma unui procedeu numit hashing.

Sa presupunem ca avem un fisier PDF caruia dorim sa-i asiguram integritatea in urma transferului prin Internet. Pentru a face acest lucru posibil avem nevoie de HASH-ul acestui fisier PDF.

Hash-ul unui fisier ajuta la stabilirea integritatii acestuia. In momentul in care dorim sa trimitem un fisier prin Internet, pe tot parcursul drumului poate suferi modificari (pierderea de pachete, alterarea informatiei, un hacker ii schimba continutul). 

Iata si cativa algoritmi de stabilire a integritatii datelor:

  • MD5 – 128 bits
  • SHA1 – 160 bits
  • SHA2 – 256 bits
  • SHA3 – 384 bits (standardul curent)
  • SHA5 – 512 bits

Mai multe despre Hashing si integritatea datelor discutam in capitolul 9, Introducere in Criptografie.

3) Availability / Disponibilitatea Datelor

Ce rost ar avea ca datele noastre sa fie criptate si hash-uite daca ele nu pot fi accesate ? Cum am putea sa ne folosim de date daca serverele, reteaua (sau curentul :D) ar fi down?

Raspunsul este simplu: nu am putea sa le folosim. Atunci, un atac care are drept tinta intreruperea disponibilitatii datelor poate fi considerat o amenintare la adresa securitatii cibernetice a unei companii/organizatii ? Bineinteles.

Pentru a combate astfel de incidente de securitate care au legatura cu disponibilitatea datelor, avem mai multe optiuni pe care le putem implementa:

  • Redundanta – la nivel de retea, server, UPS-uri etc.
  • Backup

Aceste 2 elemente stau la baza asigurarii disponibilitatii datelor. Acum haide sa luam primul element:

a) Redundanta

Am scris la un moment dat pe blog, un articol despre Redundanta in care ma refeream la redundanta la nivel de retea. Exista mai multe tipuri de redundanta, dar mai intai sa vedem ce reprezinta Redundanta ?

Redundanta asigura ca pentru orice componenta critica care asigura functionarea companiei (de retea, server, alimentare electrica, etc.) sa avem cel putin un inlocuitor activ.

Asta inseamna ca daca avem un singur Router care este conectat la Internet, pentru a asigura redundanta (in cel mai bun caz) vom avea nevoie de 2 conexiuni la 2 provideri de Internet diferiti si de 2 Routere care se conecteaza la acesti provideri.

Cand vine vorba de redundanta la nivel de Server putem sa ne gandim la 2 sau mai multe servere care ofera aceleasi servicii (ex: web, baze de date etc.), sau ne putem referi chiar la discurile de stocare (HDD sau SSD) care pot fi “legate” impreuna pentru a asigura redundandata folosind o tehnologie numita RAID (Redundant Array of Independent Disks).

b) Backup

Cu totii stim cat de importante sunt backup-urile, atat cele la nivel de hard-disk (SSD) cat si cele la nivel de site-uri web, fisiere de configurare, cod etc. Backup-urile recurente ne pot “salva pielea” foarte des pentru ca reprezinta o copie a tot ce avem noi live pe un sistem.

Spre exemplu, in cazul unui atac de tip Ransomware (care  ) in cazul in care nu vrem sa platim suma ceruta de catre hackeri, singura optiune pe care o avem este cea a backup-ului (mai exact cea a restaurarii unei copii deja existente care va readuce acel sistem din nou la viata.

Din pacate, in acest caz, daca backup-urile nu sunt facute destul de des (cel putin saptamanal daca nu chiar zilnic) atunci se va ajunge la o pierdere partiala a modificarilor facute cel mai recent.


Ce am discutat noi pana acum reprezinta elementele de baza care compun securitatea la nivel de date (atat cele care circula prin Internet, cat si cele care “stau” stocate pe un hard disk/SSD).

Ca un rezumat a celor discutate, vreau sa retii faptul ca:

  1. CIA (Confidentialitatea – criptarea -, Integritatea, Disponibilitatea) stau la baza Securitatii Cibernetice
  2. Exista 2 moduri prin care se poate face Criptarea datelor (Simetric si Asimetric)
  3. Integritatea datelor se stabileste printr-un Hash (care este o valoare unica pentru orice secventa de informatii)
  4. Este important ca datele sa fie SI Disponibile, fapt care se poate asigura folosind elemente de Backup si Redundanta

Doresti in continuare sa-ti aprofundezi cunostiintele de Securitate? Atunci te invit sa apesi pe acest LINK si sa programezi o discutie de ghidare in IT cu colegii mei de la TeachBit.ro care te vor indruma catre urmatoarea etapa in Securitate Cibernetica.

Echipa TeachBit.ro

Doresti sa continui cu partea practica?

Te poti inspira de pe urma acestui playlist cu tutoriale gratuite despre partea de Securitate Cibernetica. Nu uita sa recomanzi acest articol si unui prieten sau coleg, interesat de domeniu.

Cum iti poti securiza parolele din telefon sau calculator?

Afla din acest interviu cu Georgia Dascula de la  @Metropola TV , in care Ramon Nastase iti ofera sfaturi practice despre acest subiect.

Doresti sa aplici practic ceea ce a recomandat Ramon? Afla cum poti face asta din acest video tutorial:

Curios sa aflii mai multe?

Afla mai multe despre cum poti incepe in Securitate Cibernetica prin cursul pe care il oferim aici: https://teachbit.ro/courses/securitate-cibernetica/

💻 Cursuri IT Gratuite pentru Elevi si Studenti. Intra pe teachbit.ro si aplica acum!

Articole similare

Răspunsuri

Average
5 Based On 1

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *