Ce este deturnarea sesiunii? Cum să asigurați confidențialitatea sesiunii

Publicat: 2021-07-13

Se pot întâmpla multe între o autentificare și o deconectare.

Atacatorii caută sesiuni în care pot obține acces neautorizat la conturile tale și pot exploata datele tale. Ar trebui să vă asigurați că vă autentificați detaliile de conectare într-un mediu securizat și să vă protejați împotriva atacurilor de deturnare a sesiunii.

Poți să folosești   firewall-uri pentru aplicații web   pentru a detecta anomalii în traficul de intrare și pentru a bloca traficul potențial rău intenționat pe măsură ce vine. Dar pentru a remedia apărările de securitate robuste, este esențial să înțelegem în detaliu deturnarea sesiunii, tipurile sale și instrumentele pe care atacatorii le-ar putea folosi pentru a pătrunde în conturile de utilizator.

Ce este deturnarea sesiunii?

Deturnarea sesiunii , cunoscută și sub denumirea de deturnare cookie, este un proces de preluare a controlului asupra sesiunii unui utilizator prin obținerea sau generarea unui ID de sesiune în timp ce sesiunea este încă în desfășurare.

Un atacator ar putea folosi cross-site scripting (XSS), forța brută, inginerie inversă sau diverse alte metode pentru a pune mâna pe cookie-uri de sesiune și pentru a obține acces neautorizat la conturile de utilizator.

O sesiune începe când vă conectați la un serviciu, cum ar fi o aplicație web și se termină când vă deconectați. Protocolul de transfer hipertext (HTTP) este un protocol fără stat, ceea ce înseamnă că transportă fiecare cerere în mod independent, fără a se referi la nicio solicitare anterioară, solicitând utilizatorului să se autentifice de fiecare dată când vizualizează o pagină web. Pentru a evita solicitarea unui utilizator să se conecteze de fiecare dată, serverul atribuie un ID de sesiune pentru a oferi o experiență web perfectă după autentificare.

Atacatorii încearcă să fure ID-ul de sesiune al țintei sau să-l păcălească să facă clic pe un link rău intenționat care îi duce la o sesiune prefabricată pentru un atac de deturnare a sesiunii. Odată ce utilizatorul este autentificat pe server, actorii amenințărilor pot deturna sesiunea și pot păcăli serverul să-și considere sesiunea validă.

Când un atacator vizează un cookie de sesiune, acesta este legat de deturnarea sesiunii de aplicații web, nu de deturnarea sesiunii TCP (Transmission Control Protocol). TCP este un protocol de transport care este utilizat pe lângă IP pentru a asigura transmisia fiabilă a pachetelor. Aplicația web returnează un cookie de sesiune după autentificarea cu succes pe care un atacator o exploatează pentru a deturna o sesiune. Nu are nimic de-a face cu conexiunea TCP dintre dispozitivul utilizatorului și server.

Metode de deturnare a sesiunii

Atacatorii au de obicei câteva metode de alegere în timp ce efectuează o sesiune deturnată. Ei le pot folosi fie individual, fie într-o combinație pentru a prelua conturile de utilizator și a efectua activități rău intenționate.

Scripturi între site-uri

Într-un atac de tip cross-site scripting (XSS) , un hacker rău intenționat păcălește computerul țintei să execute un cod care se preface drept cod de încredere aparținând unui server. Permite unui atacator să obțină o copie a cookie-ului pentru a-și efectua acțiunile rău intenționate. De obicei, paginile web sunt încorporate cu JavaScript. Fără garanții adecvate și   instrumente de securitate a aplicațiilor, dezvăluie informațiile sensibile ale utilizatorilor dacă scripturile sunt executate.

Dacă serverul nu setează atributul HTTPOnly în modulele cookie de sesiune, scripturile le pot expune atacatorilor.

Injecție de malware

niste   malware   sau troienii sunt programați să fure cookie-uri de browser și să efectueze acțiuni rău intenționate fără știrea utilizatorului. De exemplu, atunci când un utilizator vizitează un site web rău intenționat sau face clic pe un link nesolicitat, programul malware scanează traficul de rețea, colectează cookie-uri de sesiune și le trimite unor actori răi. Atacatorii cu acces la stocarea locală pot fura cheile de sesiune din stocarea locală temporară a browserului (cookie jar) sau pot obține conținut de fișiere sau memorie fie de pe server, fie de pe computerul utilizatorului.

Forta bruta

Atacatorii pot efectua un atac de forță brută pentru a ghici cheia de sesiune a unui utilizator. Când o aplicație folosește o cheie de sesiune secvenţială sau previzibilă, aceasta face sesiunea vulnerabilă la un deturnare. Aceasta a fost o metodă preferată de alegere în trecut, dar cu aplicațiile moderne, ID-urile de sesiune sunt lungi și generate aleatoriu, oferind o rezistență substanțială la atacurile de forță brută.

Jack lateral de sesiune

În sesiune laterală , un atacator folosește sniff-ul de pachete pentru a citi traficul de rețea și a fura cookie-ul de sesiune. De obicei, site-urile web utilizează criptarea Secure Sockets Layer/Transport Layer Security (SSL/TLS) în paginile lor de autentificare. Cu toate acestea, unii nu îl folosesc la nivelul întregului site după autentificare, permițând atacatorilor să intercepteze datele schimbate între server și paginile web.

Odată ce atacatorii pun mâna pe module cookie de sesiune, pot deturna sesiunile utilizatorilor pentru a efectua operațiuni rău intenționate. De exemplu, un actor rău care vizează un utilizator conectat la un WiFi nesecurizat poate citi cu ușurință datele sau traficul partajat între alte noduri și puncte de acces.

Fixarea sesiunii

Atacatorii pot crea uneori o sesiune deghizată și pot păcăli un utilizator să se autentifice pe un server vulnerabil. De exemplu, un actor de amenințare ar putea folosi   Inginerie sociala   (phishing) sau o metodă similară pentru a convinge un utilizator să facă clic pe un link care îl duce la o sesiune creată cu un cookie de sesiune cunoscut. Odată ce utilizatorul se autentifică, atacatorul poate folosi cheia de sesiune cunoscută pentru a deturna sesiunea utilizatorului.

De asemenea, un atacator poate păcăli utilizatorii să completeze un formular de conectare prefabricat care include un ID de sesiune ascuns și fix.

Nivelurile atacurilor de deturnare a sesiunii

Există două niveluri de atacuri de deturnare a sesiunii. Aceste atacuri pot fi interconectate, deoarece un atac de succes asupra unui strat de rețea va oferi atacatorului informații pentru a exploata un utilizator real la nivel de aplicație.

Niveluri de deturnare a sesiunii

Deturnarea stratului de transport

Deturnarea stratului de transport are loc în conexiunile TCP în care un atacator interceptează schimburile de date între un server web și un utilizator, interzicând canalul de comunicație setat între ei. Apoi, actorii rele trimit pachete de date rău intenționate deghizate în legitime atât către client, cât și către server, preluând sesiunea utilizatorului.

O metodă comună de deturnare a stratului de transport este falsificarea IP , în care un atacator folosește o adresă IP falsificată deghizată ca una de încredere pentru a comunica cu computerele din rețea. Ei folosesc pachete IP direcționate la sursă pentru a intercepta comunicarea activă între două noduri. Falsificarea IP profită în mod nejustificat de autentificarea unică la începutul sesiunii TCP.

Deturnarea stratului de aplicație

În deturnarea stratului de aplicație, un atacator fură ID-ul de sesiune al unui utilizator după ce un utilizator se autentifică la aplicația sa. Atacurile „man-in-the-middle” sunt exemple tipice de deturnare a sesiunii la nivel de aplicație, în care hijackerul interceptează canalul de comunicare dintre client și server.

Atacurile proxy se încadrează și în deturnarea stratului de aplicație. Un atacator direcționează traficul către un server proxy cu un ID de sesiune predefinit pentru a intercepta comunicarea în timpul acestor atacuri.

3 tipuri de deturnare a sesiunii

Deturnarea sesiunii implică ghicirea sau interceptarea cookie-urilor de sesiune într-o sesiune existentă sau păcălirea unui utilizator pentru a se autentifica într-o sesiune prefabricată. Există trei tipuri de atacuri de deturnare a sesiunii.

1. Activ

În deturnarea sesiunii active , un atacator preia o conexiune activă într-o rețea. Ei pot dezactiva toate dispozitivele și pot prelua canalul de comunicare dintre client și server. Apoi, au renunțat la afilierea dintre server și dispozitivul utilizatorului.

Există câteva moduri prin care un atacator poate întrerupe comunicarea dintre un client și un server. De obicei, intrușii trimit trafic masiv pentru a ataca o sesiune validă și pentru a provoca un atac de tip denial of service (DoS) .

2. Pasiv

Deturnarea pasivă a sesiunii este similară cu cea activă, cu excepția faptului că un atacator monitorizează comunicarea dintre un client și un server. Atacatorul nu blochează utilizatorul real să iasă din sesiune, ci supraveghează schimbul de comunicare în curs.

Motivul principal al atacurilor pasive este de a fura informațiile schimbate și de a le folosi în scopuri rău intenționate.

3. Hibrid

Atacurile hibride de deturnare a sesiunii sunt o combinație de atacuri active și pasive. Într-un atac hibrid, atacatorii monitorizează traficul de rețea până când găsesc o problemă, apoi preiau sesiunea și încep să uzurpare identitatea utilizatorilor legitimi.

Atacurile hibride depind de falsificare și sunt clasificate în continuare în următoarele tipuri:

  • Un atac de falsificare oarbă implică atacatorii care vizează o victimă fără a întrerupe o sesiune. Ei captează pachete de date schimbate între un server și un utilizator și încearcă să spargă secvențele de pachete TCP.
  • Un atac non-blind spoofing include monitorizarea traficului dintre un server și un utilizator pentru a prezice pact ulterior pentru a-și prognoza intervalul de secvență TCP. Un atacator preia sesiunea la nivel de aplicație și formează o nouă sesiune, folosind un simbol de sesiune care ar putea fi furat sau previzibil.

Deturnarea sesiunii vs. falsificarea sesiunii vs. reluarea sesiunii

Diferența principală dintre deturnarea sesiunii și falsificarea sesiunii este momentul atacului.

deturnarea sesiunii vs. falsificarea sesiunii vs. redarea sesiunii

Atacurile de deturnare a sesiunii sunt efectuate odată ce utilizatorii se autentifică în aplicație. Atacul poate duce la întârzieri sau la un comportament neobișnuit în aplicații. Se datorează faptului că un atacator exploatează datele dvs. în timp ce sunteți încă conectat. Dacă o aplicație se blochează frecvent, ar putea sugera un atac de deturnare a sesiunii.

În falsificarea sesiunii , victimele nu sunt conștiente de atac. Atacatorii pot folosi ID-uri de sesiune furate sau contrafăcute și uzurpa identitatea utilizatorilor autentici fără a se baza pe un utilizator pentru a efectua autentificare.

O reluare a sesiunii este puțin diferită.

În redarea sesiunii , atacatorii au deja module cookie de sesiune (colectate din deturnarea sesiunii) și le pot folosi oricum doresc. Aceștia ar putea păcăli o victimă să trimită din nou o solicitare validă anterior, cum ar fi să cumpere mai multe cantități de articole acolo unde au solicitat inițial pentru o unitate.

Instrumente de deturnare a sesiunii

Mai multe instrumente pot ajuta un atacator să efectueze un atac de deturnare a sesiunii. Le poți folosi în   testarea de penetrare   și verificați dacă sistemele și aplicațiile dvs. sunt rezistente la atacuri.

Iată câteva dintre instrumentele populare de deturnare a sesiunii utilizate pentru a efectua un atac.

* Aceste instrumente ar trebui folosite numai în scopuri etice pentru a testa și consolida sistemele împotriva deturnării sesiunii.

Hamster și dihor

Hamster acționează ca un server proxy care manipulează datele colectate de Ferret, care captează module cookie de sesiune care trec prin rețea.

Iată un exemplu de utilizare a hamsterilor prezentat de   Instrumente Kali:

root@kali:~# hamster

--- Instrument de ridicare laterală HAMPSTER 2.0 ---

Setați browserul să utilizeze proxy http://127.0.0.1:1234

DEBUG: set_ports_option(1234)

DEBUG: mg_open_listening_port(1234)

Proxy: ascultare pe 127.0.0.1:1234

fir de început

T-Sight

T-Sight a fost dezvoltat inițial ca un instrument de monitorizare a rețelei pentru a rula pe platforma Windows. Cu toate acestea, în timpul monitorizării unei rețele, se poate deturna o sesiune, deoarece toate comunicațiile din rețea sunt copiate în timp real, oferind o ieșire precisă de transmisie a datelor. Din această cauză, Engrade, dezvoltatorul T-Sight, oferă acum licențe software numai pentru adrese IP predeterminate.

Juggernaut

Juggernaut este un instrument de sniffing de rețea care poate fi folosit în mod rău intenționat pentru a efectua un atac de deturnare a sesiunii. Este posibil să configurați Juggernaut să urmărească tot traficul de rețea dintr-o rețea locală (LAN) sau să asculte un anumit token de sesiune. Poate fi setat să înregistreze traficul de rețea după ce o victimă face o încercare de conectare.

Juggernaut este diferit de sniffer-urile obișnuite de rețea care înregistrează tot traficul de rețea în fișiere jurnal uriașe. Juggernaut menține o bază de date de conexiuni care permite unui atacator să urmărească toate conexiunile bazate pe TCP și chiar să deturneze o sesiune. Instrumentul de deturnare a sesiunii oferă, de asemenea, o funcție încorporată de asamblare a pachetelor. Atacatorii folosesc această funcționalitate pentru a fragmenta pachetele pentru a evita sistemele de detectare a intruziunilor și firewall-urile.

Iată un exemplu de utilizare a lui Juggernaut atunci când îl rulați prin linia de comandă Linux:

Juggernaut ?) Ajutor 0) Informații despre program 1) Baza de date de conexiune 2) Spionarea unei conexiuni 3) Resetarea unei conexiuni 4) Daemon de resetare automată a conexiunii 5) Deturnarea conexiunii simplex 6) Deturnarea conexiunii interactive 7) Modulul de asamblare a pachetelor 8) Numărul opțiunii Souper sekret opt 9) Coborâți

  • Baza de date de conexiuni vă arată o conexiune activă.
  • Spionarea unei conexiuni vă permite să monitorizați traficul de rețea pe canalele de comunicare deschise și oferă o opțiune de stocare a jurnalelor.
  • Resetarea unei conexiuni închide o sesiune prin trimiterea unui pachet RST la sursă.
  • Daemonul de resetare automată a conexiunii vă permite să configurați o gazdă bazată pe adresa IP și un pachet RST la sursă ori de câte ori gazda încearcă să stabilească o sesiune.
  • Deturnarea conexiunii simplex vă permite să introduceți o singură comandă către țintă. Atacatorii îl folosesc pentru a preveni detectarea.
  • Deturnarea interactivă a conexiunii vă permite să efectuați o sesiune completă și să creați o furtună ACK mare.
  • Modulul de asamblare a pachetelor vă permite să vă creați propriul pachet.
  • Opțiunea Souper sekret numărul opt nu are nicio funcționalitate.
  • Step down vă permite să părăsiți programul.

Acestea au fost câteva dintre instrumentele pe care atacatorii le folosesc pentru a efectua atacuri de deturnare a sesiunii.

Trebuie să vă consolidați rețelele și sistemele împotriva unor instrumente similare precum Hunt, TTY-Watcher, IP-Watcher, 1164, Wireshark, SSHMITM, Hjksuite, C2MYAZZ, pe care atacatorii le folosesc pentru a exploata sesiunile utilizatorilor.

Cum să preveniți deturnarea sesiunii

Deturnarea sesiunii poate avea consecințe îngrozitoare pentru organizații, inclusiv pierderi financiare și pierderi de reputație suferite după ani de construire a unei bune reputații și furnizare de servicii fidele în industrie.

Companiile trebuie să stabilească măsuri strategice de securitate pentru a evita să devină ținta atacurilor de deturnare a sesiunii. Aceste măsuri includ:

  • Criptarea tuturor transmisiilor de date pe o pagină web
  • Implementarea certificării Hypertext Transfer Protocol Secure (HTTPS) pe paginile web
  • Actualizarea și corecția browserelor în mod regulat
  • Adoptarea instrumentelor de securitate cibernetică precum software-ul de protecție DDoS și   tehnologia înșelăciunii
  • Conectarea și deconectarea cu atenție din fiecare sesiune
  • Încorporați cadre web în loc să creați un sistem intern de gestionare a sesiunilor
  • Regenerați cheia de sesiune după autentificare pentru a preveni hackerii să exploateze ID-ul de sesiune generat în timpul conectării
  • Consolidați verificarea identității prin includerea unor verificări suplimentare, cum ar fi verificarea adresei IP obișnuite a unui utilizator sau a tendințelor de utilizare a aplicațiilor
  • Utilizați numai rețele wireless securizate și evitați operarea pe orice WiFi public
  • Mascați-vă adresa IP folosind un software de rețea privată virtuală (VPN) și păstrați-vă sesiunile protejate

A avea HTTPS la nivel de site este, fără îndoială, cel mai important mecanism preventiv. Dacă vă îngrijorează problemele de performanță, puteți implementa SSL pe paginile de conectare ale site-ului web și în alte zone sensibile. O altă măsură preventivă importantă ar fi criptarea valorii sesiunii stocate într-un cookie de sesiune.

Protejați-vă sesiunile

Deturnarea sesiunii poate fi supărătoare. Fiți proactiv și setați un mecanism de apărare adecvat pentru a vă proteja de atacurile de deturnare a sesiunii și pentru a vă proteja contul și datele.

Având în vedere că hackerii dezvoltă în mod constant noi metode pentru a sparge perimetrele de apărare ale unei organizații, ar putea deveni și mai dificil să asigure securitatea 100%.

Aflați mai multe despre răspunsul la incident și despre cum puteți gestiona un incident cibernetic atunci când un atacator obține acces la contul sau datele dvs.