Pingul Mortii | |||||
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 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 Linux <= 2.023 Minix 1.7.4 si poate
altele MSDOS cu Lan Workplace Novell Netware 3.x Solaris (x86) 2.4,
2.5, 2.5.1 Windows 3.11 with
Trumpet Winsock Windows 3.11 cu FTP
software PCTCP, Chameleon NFS 5.4, Digital Pathworks Windows NT 3.5, 4 Windows '95 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 |