Atacuri de rețea - interceptarea unei sesiuni tcp (deturnarea sesiunii de tcp)

Interceptarea unei sesiuni TCP permite unui atacator să redirecționeze un flux TCP. Mai mult, crackerul poate depăși protecția prin parolă (ca în telnet sau ftp). Nevoia de sniffing limitează aplicabilitatea acestui tip de atac la segmentul fizic al rețelei gazdă țintă. Înainte de a analiza detaliile acestui atac, să analizăm câteva principii de bază ale protocolului TCP.

Nu vom intra în detaliile protocolului, ci ne concentrăm pe momentele necesare pentru a înțelege atacul. Antetul TCP conține diferite câmpuri:

portul sursă și portul de destinație care identifică conexiunea;

numărul de secvență care identifică fiecare octet trimis;

numărul de confirmare corespunzător ultimului octet primit;

diverse steaguri, inclusiv:

SYN, utilizat pentru sincronizare la stabilirea unei sesiuni;

ACK, semn de recunoaștere a segmentului TCP;

PSH, indică necesitatea transferului de date către aplicație.

Figura 8 prezintă procesul de stabilire a unei conexiuni TCP (mecanism triplu de recunoaștere):

Fig.8: Mecanism de strângere a mâinilor în trei direcții

În acest exemplu, mașina A a inițiat o conexiune TCP la mașina B.

Figura 9 prezintă procesul de transfer de date în protocolul TCP:

Atacuri de rețea - interceptarea unei sesiuni tcp (deturnarea sesiunii de tcp)

Numărul secvenței se va modifica în funcție de numărul de octeți trimis. În figura este reprezentat ca Seq. numărul de confirmare este după simbolurile PSH și ACK, iar numărul de octeți trimis este indicat în paranteze.

Atacul în cauză încalcă sincronizarea conexiunii la ambele capete, ceea ce vă permite să interceptați sesiunea. Desynchronized atunci când numărul de secvență trimis la aparat un octet este diferit de numărul de serie de octeți, care trebuie să fie primite de B. Și invers.

În exemplul din Figura 9, după primul pas, atunci când B primește pachetul, mașina A așteaptă un pachet de răspuns cu numărul de confirmare x + 60. Dacă pachetul trimis de către B conține un alt număr de confirmare, sincronizarea conexiunii va fi încălcată.

Figura 10 demonstrează atacul:

Fig.10: Interceptarea sesiunii TCP

Atacuri de rețea - interceptarea unei sesiuni tcp (deturnarea sesiunii de tcp)

Aparatul B recepționează comanda trimisă de mașina C și confirmă aceasta prin trimiterea pachetului către mașina A cu setul de parametri ACK. Acum, dacă A trimite pachetul la mașina B, acesta va fi respins, deoarece va avea un număr de secvență diferit de cel așteptat de mașina B.

Există o problemă numită "furtuna afirmațiilor" (Ack Storm). Sunt generate multe pachete ACK. Acest lucru se întâmplă atunci când un TCP-A trimite un pachet cu un număr de ordine incorect (deoarece A este desynchronized), B îl respinge și trimite un ACK-pachet cu numărul de secvență așteptat. Aparatul A respinge și acest pachet, deoarece așteaptă de asemenea un alt număr de secvență. Și, la rândul său, trimite pachetul ACK la mașina B.

Dacă nu ați găsit ceea ce căutați, vă recomandăm să utilizați căutarea pe site: