Pingul Mortii    
 


"totul are un inceput ....."

Acest "text" a fost scris doar pentru a fi citit :-) asa ca tu nu lua de bun tot ce scrie aici vezi ce mai zice si intrenetu' .

PING OF DEATH - PINGUL MORTII
Cum sa dobori un sistem de operare?

1. Problema

Pe scurt, este posibil sa doborii , reboot-ezii (etc.) numeroase sisteme prin trimiterea unui ping de o dimensiune fixa catre sistem. Aceasta este o problema serioasa deoarece atacatorul nu trebuie sa stie nimic despre masina pe care doreste sa o atace decat adresa de IP. TEMETI-VA pentru ca peste 18 sisteme de operare au fost gasite vulnerabile.

E foarte usor sa exploatezi acest bug , multe sisteme nu accepta sa fie ping-uite cu pachete mai mari de 65536 bytes. Acest bug este "inghitit" de: Unix, Mac, Netware, Imprimante, Routere si lista poate continua. Pach-urile au aparut foarte repede - cel mai repede a aparut cel pt Linux in mai putin de 4ore, dar Bill Webb de la Telebit a declarat ca pentru Netblazer pach-ul a aparut in mai putin de 2 ore.

2. Mai exact

Pachetele ip (RFC-791) nu pot fi mai mari de 65535 (2^16-1) octeti care include si lungimea header-lor ( 20 octeti daca nu sunt specificate alte optiuni Ip). Pachetele care sunt mai mari decat marimea maxima sunt fragmentate (MTU) in pachete mai mici, care sunt refacute de catre receptor. Pentru ethernet MTU este 1500. O cerere ICMP ECHO "exista" in pachetul IP, continand 8 octeti - header-e de informatie ICMP (RFC-792)- urmati de numarul de octeti de date din cererea "ping". De aici rezulta ca maximul de date permis in "marimea pingului" este 65535 - 20 - 8=65507 octeti.

3. Cei cauzeaza masini mele sa pice?

Cu toate acestea este posibil sa trimiti un pachet cu mai mult de 65507 octeti de date chiar daca se face fragmentarea . Fragmentarea realizeaza(pune) o valoare de offset in fiecare fragment pentru a determina ordinea lor la reasamblare (recompunere). Astfel in ultimul pachet, este posibila combinarea unui offset valid cu un fragment potrivit astfel incat (offset+marimea) > 65535. Sistemul care primeste pachetul nu-l proceseaza(prelucreaza) pana cand nu are toate fragmentele pentru a le reasambla, in acest moment (al reasamblari) sistemul poate crapa ( reboot, kernel dumps etc).

Aceasta problema poate fi exploatata de oricine care trimite pachete ip .Nu doar ICMP echo, dar si TCP, UDP si chiar IPX pot fi folosite pentru a lovii.

Blocarea raspunsului ping ( -> firewall) este doar o solutie provizorie deoarece atacul poate fi realizat prin NFS, telnet, http,... . Singura solutie este cea de securizarea a kernel-ului pentru "a nu da pe din afara" in momentul in care reface pachetele.

4. Cum sa testezi daca esti vulnerabil?

Din nefericire acet bug este usor de exploatat. Poti verifica daca "merge" in felul urmator; pe un sistem cu Windows '95 or NT (3.51 or 4) da urmatoarea comanda:

ping -l 65510 adresa_de_ip

mesajul care apare pe sistemul cu windows '95 va fi 'Request Timed Out". Asta inseamna ca ping-ul nu a raspuns sau ca sistemul te ignora ( ai trimis un pachet invalid ) sau pentru ca e mort. Nu-i asa ca-i simplu'....

Cateva cuvinte despre "victime":

Apple Mac MacOs 7.x.x
Cum se manifesta?
Crash
Patch: cautati-l la Mac

Linux <= 2.023
Cum se manifesta?
reboot sau kernel panic
Patch: Da iar de la kernel 2.0.24 nu mai pica

Minix 1.7.4 si poate altele
Cum se manifsta?
Crash
Patch: ?

MSDOS cu Lan Workplace
Cum se manifesta?
Crash
Patch: nu exista

Novell Netware 3.x
Cum se manifesta?
Poate sa pice sau nu poate sa pice. :-) sau :-(
Patch: ?

Solaris (x86) 2.4, 2.5, 2.5.1
Cum se manifesta ?
Simplu : reboot
Patch: cautati-l la sun

Windows 3.11 with Trumpet Winsock
Cum se manifesta?
O persoana nu are probleme, alte doua au erori de retea si sunt deconectati
de la retea - pc-ul trebuie restartat pt a-si reveni.

Windows 3.11 cu FTP software PCTCP, Chameleon NFS 5.4, Digital Pathworks
stack 6.0.034 si LINK TCP stack
Cum se manifesta?
Se intrerupe
Patch: nu exista

Windows NT 3.5, 4
Cum se manifesta?
Crash
Patch: oare ce zice microsoft?

Windows '95
Cum se manifesta?
Crash
Patch: cu putin noroc poate sa nu pice ;-) vezi ce zice si microsoft

Pe o tema asemanatoare a scris BloomY un articol pe care il puteti citi AICI

Cam atat "totul are un inceput ..." dar si un sfarsit.

   

Edix