####################################################### April, 2003 #### R.F.C. [1] SBB/IRC Protocol ####################################################################### Il protocollo SBB/IRC (SmileysBetweenBOFH on Internet Relay Chat) lavora a livello OSI 8, (al di sopra dell'applicazione, coinvolgendo fisicamente gli utenti). Il livello OSI 8 e' ormai in fase di sperimentazione avanzata, e probabilmente l'ISO l'avrebbe gia' inserito negli standard se non fosse per alcuni... inconvenienti... legati ad alcuni utenti che si ritrovano a risentire psicofisicamente dell'uso - a volte indipendente dalla loro volonta' - di protocolli di tale livello. L'SBB/IRC e' basato sull'intesa psicologica che si instaura in alcuni canali IRC tra BOFH (Bastard Operators from Hell) e sysadmins, hackers e utenti abbastanza esperti. Andiamo a rappresentare questi individui come entita' $skilled_user. L'intesa tra gli skilled_users, diventati tali grazie a faticosi studi e a coraggiosi sacrifici di tempo, aria e donne[2] (o ometti, che senno le donne echer mi si arrabbiano), sale alle stelle quando si presenta in un canale IRC un $lame_user [3]: In alcuni casi tale intesa sfoggia infatti in una serie di devastanti citazioni, riferimenti tecnici e common ppc [4], ed e' qui che entra in gioco l'SBB/IRC. Una sessione SBB/IRC viene tipicamente avviata da una domanda del $lame_user. Classici esempi adatti a essere riportati in questo documento possono essere "Come faccio a entrare nei compiuter?" "Skusate non sono un lammer, mi spiegate kome far kadere la linea a uno st***zo che kiama in kueri la mia ragazza?" "come posso takkare il canale e vincere l'op?" Notare la scarsa proprieta' linguistica tipica del $lame_user, nonche' l'uso delle "k", (ke fanno molto 3l337-dud3). In alcuni casi piu' rari una sessione SBB/IRC puo' essere avviata anche con un'esclamazione di $lame_user, come: "Mio cuggino formatta gli HD col pensiero!" "Io sono un grande hacker, ho 3 shells alla NASA!" A questo punto, il protocollo prevede l'intervento dello $skilled_user con piu' voglia di sfogare la frustrazione quotidiana [5] sul $lame_user. E' bene notare che tale comportamento non e' da considerarsi un atto insensato di violenza psicologica gratuita, ma una sorta di terapia d'urto. Alcuni $lame_user, infatti, grazie all'SBB/IRC riescono ad uscire dal tunnel e ad evolversi, col tempo, in $skilled_user. Tornando alla nostra sessione dimostrativa, osserviamo che lo $skilled_user puo' agire in vari modi. Lo sviluppo piu' frequente consiste in una frase atta a spiazzare $lame_user, gettandolo nell'oblio del dubbio e dell'ignoranza. $lame_user > Come faccio a entrare nei compiuter? $skilled_user_1 > Scegli computers dal case molto ampio e fai un corso di contorsionismo. $lame_user > eh? $lame_user > ma mistai prendendo per kulo? $skilled_user_1 > Io? Non mi permetterei mai :) Osserviamo ora un elemento chiave dell'SBB/IRC, presente nel secondo messaggio di $skilled_user_1: $skilled_user_1 > Io? Non mi permetterei mai :) Il messaggio termina con una SYN smiley, ovvero una faccina di sincronizzazione. Questa simboleggia l'inizio della ridicolizzazione pubblica di $lame_user, e gli altri skilled users iniziano ad intervenire. $skilled_user_2 > E occhio a non toccare male l'alimentatore, quando entri! :) $skilled_user_3 > :) $skilled_user_4 > gh gh gh Dopo l'intervento di skilled_user_2, skilled_user_3 ha trasmesso una ACK smiley, ovvero una faccina di acknowledgement. Questa e' un'altra componente chiave del protocollo, poiche' contribuisce a testimoniare l'approvazione di un dato $skilled_user per la sessione SBB/IRC in atto. $skilled_user_4 ha presentato un'implementazione non standard dell'ACK smiley, un "gh gh gh" tutto sommato chiaro. Sono ammmessi "lol", "rotfl" e simili, ignorando il case. Da questo momento in poi, la sessione prosegue in funzione della fantasia degli skilled_users e delle reazioni di $lame_user. Vediamo un esempio tipico: $lame_user > ki mi spiega come posso bucare un sito? $skilled_user_1 > ti serve un trapano potentissimo :) $skilled_user_3 > :) $skilled_user_2 > e occhio alla punta: quelle per apache sono diverse da quelle per IIS :) $skilled_user_1 > Ora non spiegargli tutti i trucchi :D $lame_user > ma smettetela! Dite scemenze solo perche' non ne siete capaci! Questa e' una reazione frequente del $lame_user: come ai tempi dell'asilo, tenta di indurre uno $skilled_user a dimostrare le sue conoscenze, in modo da ricevere le informazioni che tanto ambisce. A questo punto, a volte, uno script kiddie presente in canale, rigorosamente con un nick tipo "K1nG]of[theN3t", tenta di focalizzare su di se l'attenzione fornendo (false) perle di saggezza, come "ti serve uno exploits" oppure cogliendo l'occasione per dire qualcosa contro la Microsoft senza che ci sia nessuna connessione logica con la discussione, cosi' per fare scena. Queste varianti sono insignificanti di fronte al virtuosismo tecnico dell'SBB/IRC, studiato per affrontare efficacemente ed elasticamente queste situazioni. Infatti, per dimostrare le proprie conoscenze, gli skilled users non devono che iniziare a gettare nel panico $lame_user, iniziando a fornire informazioni al limite della correttezza tecnica, scritte nel modo piu' incomprensibile possibile nel tipico gergo anglo-informatizzato dello skilled_user. Indichiamo una serie di termini particolarmente adatti allo scopo, ma l'SBB/IRC e' in costante evoluzione e molto flessibile riguardo la terminologia: coding, exploit, server, handshaking, connectionless, stateless, stateful, outbound, inbound, rules, penetration, core, kernel, scan, syn/ack/rst, unreachable, share, asimmetria, shell, shellcode, entropia, encrypt/decrypt, dump, stack, heap, underrun, overflow, jump, compare, breakpoint, fork, loop, hardening, firewall, IDS, proxy, filter, term, encoded, socket, listening, pipe, query, injection, tunneling... Vediamo un esempio $skilled_user_3 > Beh, per essere precisi devi bypassare il filtering sicuramente presente sul web server, ovviamente in listening con un socket sulla porta HTTP, e poi exploitare qualche vulnerabilita' del servizio, conosciuta o meno. A questo punto il $lame_user e' nell'angoscia piu' profonda, e non capisce se lo si sta prendendo ancora per culo o si sta facendo sul serio. Ovviamente, e' il momento di infierire. $skilled_user_2 > Ovvio. Se non ci sono vulnerabilita' conosciute puoi naturalmente ricorrere ad una sessione di debugging, analisi del codice, dumps della memoria e injection di codice macchina (conoscerai ovviamente l'assembly dell'architettura attaccata per prepararlo) in qualche buffer allocato male. $skilled_user_3 > Certo. Successivamente, visto che il processo del web server girera' con bassi privilegi, ricorrerai ad un'analisi simile per effettuare un'escalation di privilegi. Ormai $lame_user e' nel 90% dei casi a corto di parole e con le idee confuse. Potreste essere perplessi per l'assenza di smileys nelle ultime fasi della sessione, fondamentali elementi che tra l'altro danno il nome a questo protocollo. Qui entra in gioco un'altra caratteristica tecnica avanzata dell'SBB/IRC, ovvero il parallelismo: a questo punto, infatti, gli skilled users stanno sghignazzando alle spalle di $lame_user in un loro canale tranquillo, poco affollato e ad alta concentrazione di BOFH. Cosi' facendo, hanno potuto mantenere un'aria seriosa mentre seppellivano $lame_user di acronimi e procedimenti tecnici fantascientifici. A questo punto, dipendentemente dal grado di "intelligenza" di $lame_user, si puo' assistere: - ad un religioso e sommesso silenzio. Segno di possibile evoluzione di $lame_user - ad una fuga dal chan, dopo una frase tipo "si si, non sapete fare niente, che kazzo dite", sintomo di lameraggine incurabile. - a qualche domanda quasi accettabile, come "ma quindi per provare tutte queste cose come faccio?" Vediamo un esempio di quest'ultimo punto, abbastanza interessante. $skilled_user_1 > ovviamente, fai tutte le prove con calma installandoti tu un web server $lame_user > eh? e mi devo comprare uno di quei compiuter grandi che hanno alla Tiscali? Quanto costano? $skilled_user_2 > rotfl $skilled_user_3 > ihihhihihihihihi $skilled_user_2 > ragazzi, suvvia, basta :) $skilled_user_1 > :DD Ed ecco che dopo sghignazzamenti vari, tra un fluire generoso di smileys, termina un'emozionante nonche' estremamente didattica sessione di SBB/IRC. Il protocollo e' in costante revisione ed aggiornamento. Ringrazio pubblicamente Dame', Rhost e |Brand|, che hanno partecipato brillantemente alla sessione inaugurale di SBB/IRC, improvvisando parti fondamentali del protocollo. La sessione si e' svolta su #hackerjournal, AzzurraNet, nei confronti di un $lame_user del quale non riportiamo le generalita' per rispetto della privacy. Gh gh gh :) Vostro, Dusk mailto:dusk@despammed.com http://www.duskzone.tk ---------------------------------------------------------------------- [1] - Ridete: File Comico [2] - balle: datemi una donna come dico io e sono disposto a bruciare i manuali Cisco e a cancellare tutte le RFC, nonche' tutti i tar.gz di phrack. [3] - di solito: un wannabe, uno script-kiddie o un lamer. [4] - prese per culo comuni [5] - anche lo psicanalista di Emacs, a volte, fallisce. ######### scritto per HackerKulture: http://www.dvara.net/HK/ ######### # dedicato a Dame', perche' si vede che in quel sito c'e' passione ;) # #######################################################################