Barrufets, hacking arcaic i IP’s que acaben en 255
Sí, sembla mentida que es puguin arribar a ajuntar aquestes paraules en un sol títol, però els que us hagueu barallat amb IP’s i tingueu una miqueta de curiositat per l’arquitectura de xarxes ja coneixereu la bonica història amb barrufets inclosos que ja fa temps volia escriure per aquí.
Molt lluny d’aquí, a l’altra banda del bosc, és on es troben… les direccions IP de broadcast (què sinò?). Aquestes direccions IP es caracteritzen perquè acaben en 255 o directament són 255.255.255.255 i es diuen de broadcast perquè identifiquen TOTES les ip d’una xarxa (bastant obvi si saps anglès). És com si tinguessis totes les ip d’una xarxa en una sola direcció (podent arribar a fer virgueríes amb ip broadcast de subxarxa, tot i que això ja són figues d’un altre paner…).
Aquí, l’usuari vermell envia informació a una direcció broadcast i la informació la reben tots els usuaris de la xarxa
A primer cop d’ull, aquest tipus d’adreces són fantàstiques per a enviar informació de forma massiva a un conjunt d’equips d’una xarxa (actualitzacions de programari, alertes, etc…), però òbviament, no tot és tan maco com sembla i aquí és on entren en escena els paquets de ping.
Un paquet de ping és una cosa tan senzilla com un truc a la porta per a preguntar “que hi ha algú”? i pertany al tipus que paquets ICMP, de senyalització IP, molt lleugers, que gairebé només contenen la direcció d’origen (el que pregunta), i la direcció de destí (el que volem saber si hi és). El seu funcionament, com és d’esperar, segueix la tònica de jo-pregunto-tu-em-respons en base a les adreces orígen i destí. Per als més intrèpids només cal que proveu d’obrir la línia de comandes i executeu: ping 127.0.0.1 i veureu com algú respon a la vostra crida retornant-vos missatges ICMP (tot i que els més entesos ja sabeu que la resposta que rebeu no ve de gaire lluny).
És obvi que aquests paquets, tan petits com són, no poden fer gaire mal a un servidor, que accepta centenars de paquets per segon i això no els fa ni pessigolles, però què passaria si milers d’ordinadors enviessin pings a un servidor a la vegada? En teoria, els programadors són paios increïbles i els recursos són il·limitats, però la realitat és que tot servidor té el seu límit i arribarà un punt que tancarà la paradeta i dirà que no pot més. Això tan senzill i obvi és un tipus d’atac DoS (Denial of Service) o de Denegació de Servei, apa que no fardareu a partir d’ara.
I per si us preguntàveu si els barrufets eren al títol per a fer-vos empassar aquest post quilomètric, dir-vos que no, que els afortunats que hagueu arribat fins aquí sabreu què és l’atac Barrufet (Smurf, en anglès) i en què consisteix. Tècnicament és un atac DoS que utilitza missatges broadcast amb spoofing per a inundar un sistema, el que en cristià significa que és una manera força enginyosa de manipular paquets de ping per a que se n’enviïn una carretada de cop a una víctima, i no és gaire complicat entendre com.
Amb tot el que ja sabem, partint d’un missatge de ping, cal trobar una manera d’enviar un munt de missatges ping alhora. Nosaltres solets no podrem, així que ens calen a) molts (però molts) amics ben coordinats, o b) una xarxa sencera enviant pings a la vegada. Considerant que la nostra vida social és apassionant però no suficient per a fer un atac DoS a pèl, optarem per la solució b, però encara ens queda saber com podem fer que una xarxa sencera enviï pings a la vegada, i aquí és on entren en joc les direccions de broadcast.
Què passaria si manipuléssim un ping i li poséssim la direcció de la víctima com a remitent i una direcció de broadcast com a destinatari? Va, vinga, ara ja hauríeu de ser capaços… temps! La resposta és que tindríem tots els ordinadors de la nostra xarxa responent al ping que hem enviat, però com que hàbilment hem canviat la direcció del remitent, seria un altre equip (en aquest cas, la víctima), la que rebés els milers de respostes al nostre ping a la vegada. Les conseqüències podrien variar dins del rang de petita catàstrofe –el servidor casolà del nostre amic- a desastre macroeconòmic –Amazon caigut durant hores-.
Ara que ja teniu els coneixements per a fer un atac barrufet i esteu disposats a carregar-vos el primer servidor que us passi pel cap (no, carregar-se a Google no és bona idea) ve la mala notícia, doncs fa unes quantes dècades que heu deixat de ser hackers en potència. Davant la possibilitat de que qualsevol energumen, amb un sol ordinador, pogués atacar el que li donés la real gana, es va establir com a regla que els routers eliminessin a discreció tots els paquets ICMP (paquets de ping, per exemple) que tinguéssin com a destinatari una direcció broadcast. És a dir, que pots fer un ping a una direcció broadcast (255.255.255.255) amb la tranquil·litat (o frustració) que aquest segurament serà descartat sense miraments pel router que tens a casa, fins i tot abans que la teva vena anti-sistema, materialitzada en un ping disfressat de barrufet, arribi a sortir de les parets de ca teva.
I un altre dia ja parlarem de perquè es diu atac barrufet… (si algú ho sap ens pot il·luminar als comentaris, jo no en tinc ni la més remota idea)



