Introducere în Ethical Hacking
Imagine de ansamblu asupra securității informațiilorApasa pentru a citi
Cifrele de astazi
• La nivel global, există 4,72 miliarde de utilizatori de Internet
• 92,8% dintre oameni folosesc Internetul pe telefon
• Un om obișnuit petrece 6 ore și 56 de minute pe zi pe Internet
• Există mai mult de 1,86 miliarde de website-uri online
|
|
Datele reprezintă cea mai importantă resursă la nivel global
|
• Hackerii atacă la fiecare 39 de secunde
• 70 de milioane de telefoane sunt pierdute sau furate în fiecare an
• Crima cibernetică a costat afacerile din US 3.5 miliarde USD în 2021
• 26 de obiecte inteligente sunt situate în apropierea fiecărui om de pe pământ
|
|
|
|
Contextul zilelor noastre
• Din ce în ce mai multe firme se bazează pe domeniul IT
• Complexitatea sistemelor IT este în creștere
• Numărul atacurilor cibernetice este în creștere
|
|
Amenințările și consecințele există în acest context!
|
|
• Scurgeri de date
• Website-uri vulnerabile
• Atacuri malware (ransomware)
• Acces neautorizat
• Atacuri de inginerie socială (phishing)
• Amenințări persistente avansate
|
|
• Pierderi financiare
• Resurse risipite/productivitate redusă
• Imaginea companiei este deteriorată
|
Ce înseamnă securitate IT?
• Confidențialitate
Acces la informații pentru a cunoaște date fundamentale
• Integritate
Datele nu sunt alterate din greșeală sau într-un mod neautorizat
• Disponibilitate
Acces neîntrerupt la informații
• Autenticitate
Calitatea datelor, comunicarea și documentația sunt autentice
• Non-Repudierea
Garanția că expeditorul unui mesaj nu poate nega ulterior trimiterea mesajului, iar destinatarul nu poate nega primirea mesajului
|
|
|
Concepte de hackingApasa pentru a citi
RISC= Vulnerabilitatea* Probabilitate* Impact
|
Termeni
|
|
• Hack Value
ceva ce merită făcut/hackuit
• Vulnerabilitate
o slăbiciune, o eroare de proiectare sau de implementare care poate duce la un eveniment neașteptat care compromite securitatea sistemului
• Exploatare
o încălcare a securității sistemului IT prin vulnerabilități
• Payload
parte a codului de exploatare care efectuează acțiuni rău intenționate
• Atacul Zero-Day
un atac care exploatează vulnerabilitățile aplicațiilor computerizate înainte ca dezvoltatorul de software să lanseze un patch pentru vulnerabilitate
• Bot
o aplicație software care poate fi controlată de la distanță pentru a executa sau automatiza sarcini predefinite
Tipuri de hackeri |
|
• White hats – analiști de securitate sau hackeri etici
• Grey hats – persoane care acționează atât ca white hats, cât și ca black hats, în funcție de interesul propriu
• Black hats – persoane care efectuează activități rău intenționate sau distructive, cunoscute și sub numele de crackers
• Suicide Hackers – persoane cărora nu le pasă că ar putea fi închiși în pușcărie, fiind mai degrabă interesate să își atingă obiectivele
• Script Kiddies – hackeri necalificați care rulează scripturi și instrumente dezvoltate de alții, fără să înțeleagă cum funcționează
• Teroriști cibernetici și crimă organizată - motivaţi de câştiguri financiare sau convingeri politice, pot crea atacuri de amploare
• Hackeri sponsorizați de stat– persoane angajate de guvern
• Hacktivists – persoane care își promovează agenda sau convingerile politice
|
Element specifice securității informațiilorApasa pentru a citi
Atacuri= Motiv(Scop) + Metodă(Vector) + Vulnerabilitate
Atacurile implică un motiv, o metodă și vulnerabilitatea. Câteva exemple:
Motiv (Scop)
• Perturbarea continuității afacerii
• Furtul de informații și manipularea datelor
• Pierdere financiară a țintei
• Câștig personal sau financiar
• Răzbunare
• Propagarea convingerilor politice și religioase
• Obiective militare sau alte statului
|
|
|
|
Metodă (Vector)
• Cloud computing
• Viruși. rețele Bot
• Ransomware
• Amenințări mobile
•Phishing
• Amenințări asupra aplicațiilor Web
• Amenințări IoT
|
Vulnerabilități
Sunt mai multe tipuri de vulnerabilități pe care hackerii le pot exploata:
●Vulnerabilități de rețea
Există probleme cu hardware-ul și software-ul unei rețele care o expun unei posibile intruziuni externe.
●Vulnerabilități ale sistemului de operare
Acestea sunt vulnerabilități dintr-un anumit sistem de operare pe care hackerii le pot exploata pentru a obține acces la un activ pe care este instalat sistemul de operare sau pentru a provoca daune.
●Vulnerabilități umane
Cea mai slabă verigă din multe arhitecturi de securitate cibernetică este omul.
●Vulnerabilități ale procesului
Unele vulnerabilități pot fi create de anumite controale ale procesului (sau de lipsa acestora)
Adunarea de informații
Perspective asupra publicului țintăApasa pentru a citi
Care sunt țintele asupra cărora poate fi îndreptat un atac?
• System view
Tehnologii, dispozitive, sisteme de operare
• Vedere logică/funcțională
Scopurile dispozitivelor/sistemelor (website de
prezentare, ERP, etc.)
• Vedere fizică
Sediu, locații ale echipamentelor
• Vedere temporală
Zile și ore de lucru
|
|
|
|
•Vedere socială
Date despre angajați
•Vedere asupra ciclului de viață
Pașii unui proces de business
•Vedere asupra consecințelor
Dacă un eveniment declanșează alt eveniment (ce se întâmplă
dacă intri într-o clădire fără să ai autorizație – cheamă poliția?)
|
Informații despre publicul țintăApasa pentru a citi
Unde pot fi găsite informații despre țintă?
• Numele companiei
• Website-ul companiei
• Localizare geografică
• Numele unor angajați
• Adrese IP
• Căutare pe Internet folosind motoarele de
căutare
• Interogare ale bazelor de date publice:
Whois, DNS
• Rețele sociale: Facebook/Meta, Linkedin,
Twitter, etc.
• Social engineering
|
|
Alte surseApasa pentru a citi
•Google, Yahoo și Bing sunt direcționate către utilizatori, locații și date din SUA și UE, așa cum Baidu vizează publicul chinez
•Operatorii ar trebui să învețe să folosească toate motoarele de căutare și varietățile regionale ale acestora.
Date de interes: Date concentrate: majoritatea instrumentelor de căutare din afara SUA colectează și stochează date în principal sau exclusiv din regiunea sau țara lor. Puteți găsi date pe Yandex, dar nu pe google.com (sau chiar pe google.ru)
•Selectivitate lingvistică: motoarele de căutare internaționale trebuie să ofere posibilitatea de a căuta în limbile materne. În plus, interogările efectuate în seturi de caractere non-latine pot da mai multe rezultate.
Scanare, Enumerare
Scanare în rețea, concepte ale enumerăriiApasa pentru a citi
Scanarea rețelei
• Identificarea sistemului activ, porturi deschise, servicii, reguli firewall etc.
• Analiza stratului de rețea (scanarea rețelei)/sistem (scanarea porturilor)
Enumerare
• Determinarea conturilor de utilizator, folderelor partajate, etc
• Interogare directă: conexiuni active |
|
|
|
|
|
|
|
Activități care implică interacțiunea cu targetul
• Multe solicitări pentru a obține diferite tipuri de
informații
• Live hosts, Porturi deschise, Versiunea serviciului
de rulare
• Sistem de operare, Partajări de rețea, Utilizatori
locali
• Depinde de unde scanați (din interiorul sau din afara rețelei) |
Instrumente de scanareApasa pentru a citi
•ARP Ping - Determină doar ținte în rețeaua locală (LAN)
•TCP Connect - O metodă simplă și rapidă pentru a crea conexiuni TCP complete
•OS Fingerprinting
Fingerprinting pasiv: Analizează pachete care sunt capturate de o mașină - Precizie redusă
Fingerprinting activ: Trimite pachete către țintă pentru a vedea cum reacționează- Precizie mare
•Banner Grabbing - Multe servicii “se prezintă” când ne conectăm
Conceptul de spidering Apasa pentru a citi
•Primul pas în procesul de atac al unei aplicații este strângerea și examinarea unor informații cheie despre aceasta pentru
a înțelege mai bine ce presupune
•Exercițiul de mapare începe prin enumerarea conținutului și funcționalităților aplicației pentru a înțelege ce face și cum se
comportă respectiva aplicație
•Multe funcționalități pot fi identificare cu ușurință, dar altele pot fi ascunse, necesitând intuiție și noroc pentru a fi
descoperite
|
•Tipuri de spidering:
Automat: utilizând instrumente (Burp, Paros Proxy, etc.)
Dirijate de utilizator: atât manual, cât și automat
|
|
System Hacking
ConcepteApasa pentru a citi
Exploatarea este o bucată de software sau script programat care poate permite hackerilor să preia controlul asupra unui sistem, exploatând vulnerabilitățile acestuia.
Exploatare= Sarcină utilă+ Vulnerabilitate
• Sarcină utilă- codul care urmează să fie executat după activarea vulnerabilității, scris ca limbaj de asamblare (ASM)
• Este dependent de platformă - exploit-uri speciale pentru Windows, Linux, Android, Mac OS etc
• Diferite tipuri de sarcini utile
• execută o comandă sau un program pe un sistem aflat la distanță
• descărcă/încarcă un fișier de la o adresă URL și execută
• adaugă un utilizator la conturile de sistem
• shell – oferă un shell interactiv (Bind shell vs Reverse shell)
Spargerea parolelorApasa pentru a citi
• Parolele sunt cele mai folosite în procesul de autentificare
• Parolele sunt vulnerabile în fața anumitor tipuri de atacuri
• Furtul de identitate reprezintă momentan „crima informatică” cu cea mai mare rată de creștere
• Când un utilizator introduce o parolă, hash-ul acesteia este calculat și comparat cu cea stocată în baza de date
• Dacă cele două valori sunt identice, utilizatorul este autentificat
• Salting –inserarea unei valori aleatorii în procesul de calcul al hash-urilor - nivel crescut de securitate
• Această valoare este stocată împreună cu valoarea hash în baza de date
• Dacă doi utilizatori au aceeași parolă, acestea vor fi reprezentate ca valori criptate diferit în baza de date
Tipuri de atacuri asupra parolelorApasa pentru a citi
Care este diferența dintre atacurile online și offline asupra parolelor?
Diferența dintre atacurile offline și online asupra parolelor ar putea fi ceea ce împiedică piratarea contului și organizației dumneavoastră.
•Online
Forță brută
Ușor de identificat
•Offline
Implică obținerea valorilor hash stocate local sau transmise prin rețea
Necesită accesarea sistemului
Network sniffing - Utilizarea instrumentelor care identifică pachetele de rețea primite și transmise și care pot fi copiate offline și inspectate
pentru a fi ușor de identificat de către hackeri
Amenințări malware
Concepte malwareApasa pentru a citi
• Programele malware constau în mod obișnuit în cod dezvoltat de atacatori cibernetici, conceput pentru a provoca daune extinse datelor și sistemelor sau pentru a obține acces neautorizat la o rețea
• Programele malware sunt de obicei livrate sub forma unui link sau a unui fișier prin e-mail și necesită utilizatorului să facă click pe link sau să deschidă fișierul pentru a executa malware
• Programele malware au reprezentat de fapt o amenințare pentru indivizi și organizații de la începutul anilor 1970, când a apărut pentru prima dată virusul Creeper. De atunci, lumea a fost atacată de sute de mii de variante diferite de malware, toate cu intenția de a provoca cele mai multe perturbări și daune posibile.
Concepte de programe rău intenționateApasa pentru a citi
Programe rău intenționate
• Există trei categorii: Trojans și rootkits, Viruși, Worms
• Un virus în computer poate contamina și alte fișiere
• Cu toate acestea, virușii pot infecta mașinile externe numai cu ajutorul utilizatorilor de computere
Testarea programelor malware
http://www.virustotal.com
|
|
• Un serviciu care analizează fișierele suspecte și facilitează detectarea rapidă a virușilor, viermilor,
troienilor și a tuturor tipurilor de malware detectate
• Serviciu gratuit și independent
• Folosește multiple motoare antivirus (57 în momentul de față, dar numărul este în creștere)
|
Acțiunile potențial rău intenționate pot include:
• Încercările de a deschide, vizualiza, șterge, modifica fișiere
• Încercările de formatare a unităților de disc etc.
• Modificarea setărilor de sistem (start-up, etc.)
• IInițierea comunicării de rețea, etc.
|
|
Monitorizarea și detectarea virușilor
• Viteza are un rol crucial aici:
SQL Slammer, a apărut în ianuarie 2003 și a infectat peste 90% dintre computerele vulnerabile de pe internet în decurs de 10 minute; Un astfel de atac de succes durează de obicei câteva zile, infectând sute de mii de computere
• Scop: detectare timpurie
|
ContramăsuriApasa pentru a citi
• Instalarea programe software antivirus care detectează și elimină infecțiile pe măsură ce apar
• Atenția la instrucțiuni în timp ce descărcați fișiere sau programe de pe Internet
• Realizarea de update-uri software-ului antivirus cât de des posibil
|
• Programarea scanărilor regulate pentru toate unitățile
• Integrarea cu sistemul de operare al computerului gazdă și monitorizarea comportamentului programului în timp real pentru acțiunile rău intenționate
• Blocarea acțiunilor potențial rău intenționate înainte ca acestea să afecteze sistemul
|
|
Sniffing și Session Hijacking
Concepte de sniffingApasa pentru a citi
• Un sniffer de pachete reprezintă un sistem cu o placă de interfață de rețea care funcționează în modul promiscuu și captează pachete de rețea în timp real.
• Utilizat pentru:
Depanarea problemelor (inclusiv cele de securitate) și analiza rețelei
Înregistrare în rețea pentru analize viitoare
Instrument de hacking pentru interceptarea numelui de utilizator și a parolei
|
|
Instrumente de sniffingApasa pentru a citi
Acestea sunt instrumentele bine cunoscute care pot fi folosite pentru procesul de sniffing și, mai jos, puteți vedea sistemele de operare în care pot fi utilizate:
|
tcpdump (http://www.tcpdump.org)
• Platformă Unix
• Utilitar de linie de comandă
WinDump (http://www.winpcap.org/windump/)
• tcpdump versiunea Windows
Ethereal / Wireshark (http://www.wireshark.org/)
• Are o interfață grafică
|
|
Session hijackingApasa pentru a citi
Concept
• Exploatarea unei sesiuni valide de computer pentru a obține acces neautorizat la informații sau servicii dintr-un sistem informatic prin protocoale TCP/UDP
|
Metode
• Session fixation
unde atacatorul setează ID-ul de sesiune al unui utilizator la unul cunoscut de acesta, de exemplu, trimițând utilizatorului un e-mail cu un link care conține
un anumit ID de sesiune. Atacatorul trebuie să aștepte doar până când utilizatorul se conectează
• Session sidejacking
unde atacatorul folosește un packet sniffing pentru a citi traficul de rețea dintre două părți pentru a fura cookie-ul de sesiune
• Cross-site scripting
în cazul în care atacatorul păcălește computerul utilizatorului pentru a rula un cod care este tratat ca fiind de încredere, deoarece pare să aparțină
serverului, permițând atacatorului să obțină o copie a cookie-ului sau să efectueze alte operațiuni
• Programe de malware
pot folosi deturnarea browserului pentru a fura fișierele cookie ale unui browser fără știrea utilizatorului și apoi să efectueze acțiuni (cum ar fi instalarea de
aplicații Android) fără știrea utilizatorului
• Brute-forcing session information (Ex. Telnet, or cookie values over HTTP(S))
|
|
|
|
|
|