OpenX: ripulire un’installazione infetta e aumentarne la sicurezza
sabato, 31 luglio, 2010
Qualche settimana fa ho subito un attacco a un’installazione di OpenX abbastanza datata che avevo installato su un dominio che gestisco. Nella fattispecie si è trattato di una SQL Injection ai danni di OpenX 2.8.1 e l’attacco è stato facilmente individuabile dai suoi effetti: tutti i codici zona erano stati sporcati da iframe che facevano scaricare virus e trojan.
La prima cosa da fare in questi casi è arrestare tutte le campagne attive di OpenX impedendo in questo modo che gli iframe infetti continuino a fornire malware. Nel caso non si riesca ad accedere al pannello di controllo di OpenX sarà necessario andare a “interrompere” la comunicazione tra OpenX e il datbase MySQL utilizzato, in questo modo saremo sicuri che la versione infetta del banner manager smetterà di funzionare e potremo avere tutto il tempo di pulire il database dai codici infetti. Per arrestare la comunicazione con MySQL basterà rinominare il file di configurazione di OpenX oppure aprirlo e cambiare i parametri di accesso al database. Il file di configurazione è presente nella directory “var” di OpenX e cambia nome a seconda del dominio in cui sia stato installato OpenX: se il dominio dove lo abbiamo installato si chiama “www.example.com” il file di configurazione si chiamerà “www.example.com.conf.php“.
Analizzare e “disinfettare” file PDF con pdfid
martedì, 4 maggio, 2010
I file PDF stanno diventando sempre di più un vettore di attacco e vengono usati sempre di più come “cavalli di troia” per far breccia nei sistemi operativi. Ecco perché prima di aprire PDF provenienti da mittenti/fonti non fidate può essere utile eseguire un’analisi automatizzata ricorrendo al tool pdfid.py di Didier Stevens. Si tratta di uno script, funzionante su Windows, Linux e qualsiasi sistema che abbia installato Python, che si occupa di analizzare qualsiasi file PDF verificando la presenza di stringhe potenzialmente “nocive”, come /JavaScript, /OpenAction, /Launch (la cui individuazione è stata aggiunta solo nell’ultima versione) o /RichMedia, solo per citarne alcune.
Basta dare in pasto a pdfid.py qualsiasi file PDF (nell’esempio “calc.pdf”) per ottenere un resoconto di tutte le stringhe potenzialmente nocive con relative occorrenze riscontrate:
pdfid.py calc.pdf
Verificare l’md5 di WordPress per individuare compromissioni
sabato, 17 aprile, 2010
WordPress non ha integrata la possibilità di calcolare l’md5 dei file di installazione, una funzionalità che, se venisse integrata “built-in”, potrebbe rendere la vita molto più facile a chi voglia effettuare un controllo dell’integrità della propria installazione del blog engine.
L’ideale sarebbe avere una sorta di integrity check in WordPress che attraverso un cron job verifichi periodicamente l’hash md5 dei file e nel caso di variazioni provveda a notificare l’amministratore via mail. Una cosa di questo tipo era stata realizzata con il plugin TTC WordPress Tripwire Tool, purtroppo fermo come compatibilità a WP 2.5.1 e tutto sommato poco preciso e sicuro.
Per questo può essere utile ricorrere a una soluzione manuale che permetta di avere una firma univoca dei file di WordPress tramite hash md5 da verificare a mano in caso si sospetti una compromissione.
Eliminare virus, worm, rootkit: i migliori strumenti (secondo me)
domenica, 21 marzo, 2010
Negli ultimi giorni sono stato impegnato in pulizie di sistemi Windows infetti e vorrei dare qui una lista di programmi senza i quali non sarei riuscito a cavarmela con la stessa velocità e efficacia:
Avira AntiVir Rescue System: si tratta di una distribuzione Linux LiveCD creata da Avira che consente di pulire sistemi Windows che non si avviano a causa di infezioni da malware di vario tipo. La distribuzione consente di aggiornare le definizioni virali da LiveCD.
SuperAntiSpyware: è un tool che sto utilizzando da poco tempo ma che si è rivelato molto efficace nella pulizia di falsi antivirus (i cosiddetti rogue antivirus). Oltre che in versione installabile è disponibile anche in versione portable, cioè un singolo eseguibile che si può avviare senza installazione anche in modalità provvisoria.
Modificare i tag HTML di un messaggio in Thunderbird
domenica, 14 febbraio, 2010
Cercando di riprodurre un “presunto” bug nel mail client dell’iPhone (che per ora si è rivelato non funzionante) ho avuto la necessità di modificare l’HTML di una mail scritta con Thunderbird. La modifica dell’HTML è permessa nel mail client di Mozilla solo per il tag <body>, cioè per il corpo del messaggio: basta creare una nuova mail e cliccare su “Inserisci\HTML” per poter inserire qualsiasi tag HTML nel testo del messaggio.
Nel mio caso avevo necessità di modificare il contenuto del tag <head> per poter inserire un meta refresh che puntasse a un file di testo.
Bloccare gli alert JavaScript in Firefox
lunedì, 1 febbraio, 2010

Purtroppo esiste sempre qualche script kiddie che giocherella con fastidiosi alert in JavaScript, nel peggiore dei casi creando un loop infinito di alert. In Firefox esiste un bug mai corretto riguardante proprio queste fastidiose finestrelle: se si incappa in una pagina che genera un loop infinito di alert l’unica cosa che si può fare è terminare il processo del browser.
I blog tecnici non fanno attenzione alla sicurezza?
venerdì, 1 gennaio, 2010
Da qualche giorno sto facendo delle prove, alla portata di tutti, su alcuni tra i blog tecnici più noti nella blogosfera italiana, il mio obiettivo è stato quello di capire quanta attenzione alla sicurezza del proprio blog ci sia. Mi sono concentrato in particolare sui blog che utilizzano WordPress, e mi è bastato controllare due cose che possono costituire un punto debole sfruttabile da un eventuale attaccante: la presenza del numero di versione di WP e l’accesso non protetto alla pagina di login all’area amministrativa.
Le linee guida pubblicate sulle pagine ufficiali del Codex parlano chiaro in termini di “Hardening di WordPress“, eppure sono puntualmente disattese dai blogger per quanto riguarda i due aspetti che ho preso in esame.
Nessuno dei blog presi in esame rimuove il numero di versione “<meta name=”generator” content=”WordPress 2.X” />”, la cancellazione del numero di versione è un espediente non decisivo per evitare attacchi inferti da cracker esperti ma di sicuro un buon metodo per disorientare “script kiddies” che scarichino ed eseguano exploit, trovando la strada spianata nell’individuazione della versione del bersaglio. In alcuni casi poi, cosa forse ancor più grave, le versioni di WordPress non sono neppure aggiornate…
La seconda carenza in termini di sicurezza, questa volta molto più seria, è la mancanza di un .htaccess nell’area amministrativa (“wp-admin”). In questo caso si lascia la pagina di login “scoperta” e direttamente accessibile ad attacchi di tipo brute force (molto frequenti negli ultimi tempi). Anche in questo caso, i blog presi in esame ignorano la possibilità di un .htaccess a protezione.
