<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Il non-blog di Mario Pascucci &#187; intrusion detection</title>
	<atom:link href="http://www.ismprofessional.net/pascucci/index.php/tag/intrusion-detection/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ismprofessional.net/pascucci</link>
	<description>Sto lavorando sodo per preparare il mio prossimo errore (B. Brecht)</description>
	<lastBuildDate>Wed, 04 Jan 2012 11:50:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Il cugino del WordPress Autotest: Unmask Parasites</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2009/06/il-cugino-del-wordpress-autotest-unmask-parasites/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2009/06/il-cugino-del-wordpress-autotest-unmask-parasites/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 13:32:52 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=612</guid>
		<description><![CDATA[Il test per blog infetti non è più disponibile su questo sito, ma qualcuno ha implementato un servizio simile, impiegando Google App Engine: Unmask Parasites. Il servizio esegue dei controlli sul codice emesso dal web server del sito esaminato alla ricerca di indizi e segni tipici dell&#8217;intrusione che per oltre un anno ha devastato i [...]]]></description>
			<content:encoded><![CDATA[<p>Il <a href="http://www.ismprofessional.net/pascucci/index.php/2009/06/owned-wordpress-niente-piu-test/">test per blog infetti</a> non è più disponibile su questo sito, ma qualcuno ha implementato un servizio simile, impiegando <a href="http://code.google.com/intl/it/appengine/">Google App Engine</a>: <a href="http://www.unmaskparasites.com/">Unmask Parasites</a>.</p>
<p>Il servizio esegue dei controlli sul codice emesso dal web server del sito esaminato alla ricerca di indizi e segni tipici dell&#8217;intrusione che per oltre un anno ha devastato i blog basati su versioni obsolete e vulnerabili di WordPress. Oltre questo, propone di usare Google per individuare i segni esterni dell&#8217;intrusione. </p>
<p>Peccato che, dagli ultimi siti analizzati, l&#8217;iniezione di link abusivi sia praticamente sparita per fare posto a codice malevolo molto più pericoloso. Non so se il sito in questione faccia dei controlli in tal senso, ma posso affermare che tali controlli sono quasi impossibili da automatizzare, per una ragione molto semplice: mentre l&#8217;iniezione di link nascosti ha certe caratteristiche comuni e ben individuabili, le violazioni su cui sto indagando negli ultimi tempi inseriscono del codice PHP offuscato che produce pagine web con codice Javascript, a sua volta offuscato, che opera redirect o tenta di rifilare malware a chi visita il sito. Il modello di offuscamento cambia ogni volta e non è possibile trovare degli elementi comuni, tali da permettere un automatismo nella ricerca. </p>
<p>Insomma, il mentecatto, come sospettavo, si sta dando da fare. La soluzione è sempre la stessa: aggiornare <em>prima</em> di essere violati. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2009/06/il-cugino-del-wordpress-autotest-unmask-parasites/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Owned WordPress: niente più test</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2009/06/owned-wordpress-niente-piu-test/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2009/06/owned-wordpress-niente-piu-test/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 10:37:35 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Varie (ed eventuali)]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=578</guid>
		<description><![CDATA[Era da un po&#8217; che lasciavo andare in pezzi il blog, ed oggi mi sono deciso a fare un po&#8217; di pulizie di primavera, in ritardo. Aggiornamenti, nuovo tema, rimossa vecchia roba inutile. Fra questi, ho eliminato il test per i blog WordPress &#8220;0wn3d&#8221;, per vari motivi: Non è più efficace. L&#8217;ondata di spam, nascosto [...]]]></description>
			<content:encoded><![CDATA[<p>Era da un po&#8217; che lasciavo andare in pezzi il blog, ed oggi mi sono deciso a fare un po&#8217; di pulizie di primavera, in ritardo. Aggiornamenti, nuovo tema, rimossa vecchia roba inutile. </p>
<p>Fra questi, ho eliminato il test per i blog WordPress &#8220;0wn3d&#8221;, per vari motivi:</p>
<ul>
<li>Non è più efficace. L&#8217;ondata di spam, nascosto e mostrato agli spider dei motori di ricerca, è stata resa inefficace dalla reazione forte dei motori di ricerca stessi. I blog con ancora installate le vecchie versioni, o che erano colpiti dalla pestilenza, sono ora colpiti da varianti meno complesse ma infinitamente più subdole: iniezioni di Javascript colpiscono i visitatori tentando di rifilare malware estremamente dannosi; link singoli vengono nascosti in punti insospettabili; backdoor vengono insediate in punti poco evidenti. Insomma, il test è del tutto inefficace per queste varianti, ma chi ha un blog violato, anche se ha aggiornato all&#8217;ultima versione di WordPress potrebbe avere gravi problemi di sicurezza, non rilevabili facilmente dall&#8217;esterno.</li>
<li>Nelle ultime settimane ha lavorato pochissimo, segno che l&#8217;interesse non è più così alto. Naturalmente, blog colpiti ve ne sono ancora tanti, ma i sintomi sono differenti.</li>
<li>Il codice è stato scritto senza preoccuparsi troppo della correttezza formale e dei canoni della programmazione. Non è da escludere che contenga errori gravi abbastanza da compromettere l&#8217;intero sito. E non mi va di rischiare, senza nessun vantaggio.</li>
</ul>
<p>Per questo motivo, la pagina del test è sostituita con un redirect a questo post. Se a qualcuno interessa, lo script PHP dell&#8217;ultima versione è disponibile per il download, senza nessun vincolo, a parte la licenza GPLv2. </p>
<p><a href='http://www.ismprofessional.net/pascucci/wp-content/uploads/wp-test.zip'>WordPress Autotest v1.11 (zip)</a></p>
<p>Questo capitolo si chiude, ma il mentecatto è là fuori che trama. Il suo problema non è trovare siti vulnerabili da conquistare, no. Questo è semplicissimo. Il suo problema è trovare il modo di guadagnarci sopra, ma non dovrebbe essere troppo difficile inventarsi qualche birbonata. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2009/06/owned-wordpress-niente-piu-test/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress Autotest: effetti collaterali imprevisti</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2009/02/wordpress-autotest-effetti-collaterali-imprevisti/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2009/02/wordpress-autotest-effetti-collaterali-imprevisti/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 15:41:42 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>
		<category><![CDATA[sicurezza dell'informazione]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=509</guid>
		<description><![CDATA[Sono piuttosto impegnato in questo periodo e, piuttosto malvolentieri, sono costretto a dare delle priorità. Il non-blog in questo frangente risulta avere un livello di urgenza minimo. Appena cala il carico prometto che mi rimetto in riga. Andiamo al motivo che mi ha fatto uscire dalla tana e scrivere queste poche righe. Quando ho creato [...]]]></description>
			<content:encoded><![CDATA[<p>Sono piuttosto impegnato in questo periodo e, piuttosto malvolentieri, sono costretto a dare delle priorità. Il non-blog in questo frangente risulta avere un livello di urgenza minimo. Appena cala il carico prometto che mi rimetto in riga.</p>
<p>Andiamo al motivo che mi ha fatto uscire dalla tana e scrivere queste poche righe. </p>
<p>Quando ho creato il <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-test-di-contagio/">WordPress Autotest</a>, la mia intenzione era di fornire uno strumento automatico di diagnosi alla portata di tutti per verificare se il proprio sito era caduto vittima di un <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-ricapitolando/">attacco molto specifico ed estremamente pericoloso</a>. Al contempo, avevo pubblicato anche una <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-the-day-after/">guida rapida per riportare il blog con WordPress, attaccato e violato, sotto il nostro controllo legittimo</a>.</p>
<p>Tramite il test, a distanza ormai di quasi un anno dall&#8217;inizio dell&#8217;attacco, ed a oltre otto mesi dalla pubblicazione del test, vengono tuttora scoperti blog violati sotto il controllo del mentecatto che ha dato origine a tutto questo, segno che il pericolo è tutt&#8217;altro che passato. </p>
<p>Quello che avevo immaginato è che coloro in possesso di un sito WordPress autogestito (in <em>self-hosting</em>, come si dice) dopo aver fatto il test e rilevata l&#8217;infezione, procedessero, da soli o con l&#8217;aiuto di qualcuno, alla pulizia seguendo le più elementari regole di buon senso, primo fra tutti un sano e robusto upgrade della versione di WordPress ad una che non offra occasioni di far birbonate ai mentecatti in giro per la Rete. </p>
<p>Invece quello a cui sto assistendo è che molti usano il test come un &#8220;allarme&#8221; per rilevare se è ora di ripristinare un backup. E rimettere la stessa identica versione di WordPress, lasciando di fatto il sito aperto ad una nuova intrusione che puntualmente si verifica nel giro di qualche giorno. </p>
<p>Immagino ci siano delle ottime ragioni per usare questa strategia, come ad esempio il dover rifare un template, o il rinunciare ad alcuni plugin assolutamente necessari, ma a questo punto perché non installare un plugin apposito come il <a href="http://ocaoimh.ie/2008/06/26/wordpress-exploit-scanner-01/">WordPress Exploit Scanner</a>. Faccio notare che il plugin funziona solo con WordPress 2.5.1 o successivo, perché (cito l&#8217;autore): &#8220;There’s not much point in finding exploited files if you’re running an old version of the software that can be broken into again.&#8221; (tradotto grossolanamente: non è molto utile cercare file modificati se si usa una vecchia versione che può essere sfasciata in qualsiasi momento). </p>
<p>C&#8217;è anche un altro problemino. Un sito bucato con questa tecnica potrebbe diventare la porta di ingresso in un hosting condiviso. Mi spiego: molti servizi di hosting impiegano dei software per far convivere tanti siti web sullo stesso server, mantenendoli separati sia dal punto di vista logico che dal punto di vista sicurezza. Ma i meccanismi di separazione non sono infallibili, e un singolo sito violato rappresenta una minaccia gravissima per tutti i siti ospitati sullo stesso server fisico. Tanto per fare un esempio, sullo stesso server su cui state leggendo queste righe sono ospitati centinaia di siti, tutti indipendenti uno dall&#8217;altro. </p>
<p>Non è un caso raro, anzi, mi sono capitati casi in cui siti perfettamente a posto sul piano sicurezza, o addirittura &#8220;statici&#8221;, ossia senza pagine dinamiche ma solo in HTML, fossero iniettati di schifezze a causa di una intrusione massiccia originata da un altro sito ospitato sullo stesso server. </p>
<p>Ad un certo punto, il mentecatto che usa i siti WordPress bucati per fare pubblicità a scrocco (il termine tecnico sarebbe <em><a href="http://en.wikipedia.org/wiki/Black_hat_SEO">black SEO o black hat SEO</a></em>) potrebbe trovarsi tagliato fuori dai motori di ricerca, che stanno attivamente reagendo a queste tecniche di spamming con l&#8217;esclusione dei siti infettati dagli indici. Nessuno ci assicura che non possa prendere una strada differente e cercare di violare l&#8217;intero server, invece di limitarsi ad un singolo blog. Alcuni servizi di hosting prendono provvedimenti molto seri verso chi ha il sito &#8220;bucato&#8221;, a partire dalla diffida a provvedere a turare le falle, fino alla risoluzione del contratto ed alla citazione per danni. Leggete attentamente le clausole del vostro servizio di hosting e poi riflettete se è il caso di continuare a ripristinare un backup dello stesso sito, o magari non è giunto il momento di tappare qualche buco. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2009/02/wordpress-autotest-effetti-collaterali-imprevisti/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Falso aggiornamento per WordPress: bug nelle versioni 2.5.x e successive?</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2008/11/falso-aggiornamento-per-wordpress-bug-nelle-versioni-25x-e-successive/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2008/11/falso-aggiornamento-per-wordpress-bug-nelle-versioni-25x-e-successive/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 12:53:57 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>
		<category><![CDATA[sicurezza dell'informazione]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=401</guid>
		<description><![CDATA[Apprendo tramite Paolo Valenti di WordPress-it.it di un recentissimo problema riguardante WordPress, a quanto pare dalla versione 2.5.x in poi. Nella bacheca, nello spazio di solito ospitante le notizie dal blog di sviluppo di WordPress, appare improvvisamente un avviso di aggiornamento immediato ad una fantomatica versione 2.6.4, di cui sul sito originale non vi è [...]]]></description>
			<content:encoded><![CDATA[<p>Apprendo tramite <a href="http://www.wordpress-it.it/2008/11/06/wordpress-264-non-esiste-avviso-di-sicurezza/">Paolo Valenti di WordPress-it.it</a> di un <a href="http://wordpress.org/support/topic/214908">recentissimo problema riguardante WordPress</a>, a quanto pare dalla versione 2.5.x in poi. </p>
<p>Nella bacheca, nello spazio di solito ospitante le notizie dal blog di sviluppo di WordPress, appare improvvisamente un avviso di aggiornamento immediato ad una fantomatica versione 2.6.4, di cui sul sito originale non vi è traccia. L&#8217;avviso è contrastante con il pulsante in alto, sempre nella bacheca, che afferma che l&#8217;ultima versione disponibile è la 2.6.3. Il link porta ad un falso sito di WordPress, residente sul dominio wordpres<strong>Z</strong>.org, dove l&#8217;ultima &#8220;s&#8221; del nome è sostituita da una &#8220;z&#8221;. </p>
<p>La versione distribuita da quel sito è contraffatta: nel file <strong>wp-includes/pluggable.php</strong> alla riga 598 sono state aggiunte 5 righe il cui scopo è trafugare cookie di autenticazione e di sessione di utenti registrati nel blog.</p>
<p>La domanda più importante è: come hanno fatto a modificare le impostazioni del &#8220;widget&#8221; che mostra i feed del blog di sviluppo di WordPress? Tali impostazioni dovrebbero essere modificabili solo da utenti con un livello di accesso alto, tipicamente un amministratore, e le impostazioni stesse sono conservate nel database. Ho provato ad ipotizzare tre scenari:</p>
<ol>
<li>bug che permette un SQL-injection non ancora scoperto in WordPress 2.5.x e successivo</li>
<li>bug nel codice di modifica del widget che mostra i feed RSS nella bacheca</li>
<li>blog violato in precedenza, prima di un upgrade, con un amministratore abusivo</li>
</ol>
<p>La prima la escluderei per un semplice ragionamento di economia: se c&#8217;è una vulnerabilità di questo tipo, perché non usarla direttamente per iniettare un amministratore abusivo nel blog e fare tutti i comodi da quell&#8217;account? Il fatto che la versione &#8220;troianizzata&#8221; si limiti a trafugare i cookie di sessione fa pensare che lo scopo è di operare tramite <em>session hijacking</em> per agire sul blog con le credenziali di un utente attivo in quel momento, quindi se lo scopo è questo, ossia operare nel blog, perché non creare al volo un utente amministratore tramite SQL-injection, operare ed eliminare poi l&#8217;utente per non lasciare tracce. Quindi escluderei questa ipotesi.</p>
<p>La terza è parimenti da escludere per le stesse ragioni: se c&#8217;è un amministratore abusivo frutto di una violazione precedente all&#8217;aggiornamento, perché non usare direttamente quello? I due blog che hanno avuto il problema non mostrano nessun segno dell&#8217;intrusione, e sono entrambi in versioni &#8220;non sospette&#8221;, uno ha la 2.5.1, mentre l&#8217;altro addirittura ha l&#8217;ultima versione ufficiale, la 2.6.3. </p>
<p>La seconda invece è abbastanza verosimile. Un bug limitato al solo codice di modifica delle impostazioni del widget limiterebbe l&#8217;effetto alla sola visualizzazione del widget e niente altro. Si spiegherebbe anche perché venga usato il falso sito con l&#8217;avviso per l&#8217;aggiornamento, per indurre l&#8217;utente ad autoinfettarsi installando la versione troianizzata. </p>
<p>Ulteriori indagini sono in corso. Se qualcuno ha notizie più fresche o ha elementi nuovi, non esiti a contattarmi. Se vi capita di avere questo messaggio che invita a passare alla versione 2.6.4 nella bacheca, <strong>non toccate nulla</strong>, fate un backup del database e dell&#8217;installazione di WordPress e contattatemi. E&#8217; importantissimo poter analizzare questi dati per trovare il punto d&#8217;ingresso. </p>
<h4>Aggiornamento delle 14.45</h4>
<p>Il sito wordpresz.org è ora &#8220;down&#8221;, nel senso che non è più risolto dai DNS. Il record Whois è ancora presente, segno che il nome è registrato e non pare cancellato. Rimane comunque alto il livello di attenzione: potrebbero provarci con un altro sito, con nome differente, e tentare lo stesso trucco, o una variante. Rimane da stabilire quale sia stato il sistema usato per cambiare il feed nella bacheca, e se la mia ipotesi è vera potrebbero esserci sviluppi in futuro. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2008/11/falso-aggiornamento-per-wordpress-bug-nelle-versioni-25x-e-successive/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress Autotest: v1.11 with english translation, too</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2008/08/wordpress-autotest-v111-with-english-translation-too/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2008/08/wordpress-autotest-v111-with-english-translation-too/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 14:01:49 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[...english, too!]]></category>
		<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>
		<category><![CDATA[sicurezza dell'informazione]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=286</guid>
		<description><![CDATA[If you suspect an intrusion in your WordPress blog, or spam link injection, or you feel that your blog is 0wned, you can do this check. Instructions and results are in English language. Some documentation about WordPress spam injection and redirection is here.]]></description>
			<content:encoded><![CDATA[<p>If you suspect an intrusion in your WordPress blog, or spam link injection, or you feel that your blog is 0wned, you can do <a href="http://www.ismprofessional.net/pascucci/wp-test.php">this check</a>. </p>
<p>Instructions and results are in English language. Some documentation about <a href="http://www.ismprofessional.net/pascucci/index.php/2008/04/wordpress-blog-compromised/">WordPress spam injection and redirection is here</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2008/08/wordpress-autotest-v111-with-english-translation-too/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress autotest: versione 1.10 e considerazioni.</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2008/08/wordpress-autotest-versione-110-e-considerazioni/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2008/08/wordpress-autotest-versione-110-e-considerazioni/#comments</comments>
		<pubDate>Tue, 12 Aug 2008 08:24:55 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=267</guid>
		<description><![CDATA[Agosto, tempo di pensieri poco impegnativi e riposo da tutto. Niente riposo invece per il nostro amico mentecatto. Anzi, si vedono le prime avvisaglie di una modifica allo schema di spamming, probabilmente per contrastare alcune misure prese dai maggiori motori di ricerca (grazie alle quali il rank di questo sito è collassato da 5 a [...]]]></description>
			<content:encoded><![CDATA[<p>Agosto, tempo di pensieri poco impegnativi e riposo da tutto. </p>
<p>Niente riposo invece per il nostro amico mentecatto. Anzi, si vedono le prime avvisaglie di una modifica allo schema di spamming, probabilmente per contrastare alcune misure prese dai maggiori motori di ricerca (grazie alle quali il rank di questo sito è collassato da 5 a 3, ma ormai ho smesso di farmi domande). Naturalmente, il numero di blog italiani compromessi continua a crescere, più velocemente di quanti ne vengano ripuliti, a cui vanno aggiunti quelli infetti da mesi e quelli ripuliti male, naturalmente di nuovo violati. La considerazione che ne emerge è che il mentecatto, informaticamente parlando, si dimostra più competente della media dei webmaster. Dovrebbe essere ormai evidente, fin qui, ma puntualizzare non guasta. </p>
<p>Alcuni dei test stanno perdendo di efficacia. Il numero di link emessi dal codice malevolo alla visita di uno spider è passato da 100 a meno di una quarantina, le parole utilizzate cambiano in continuazione, citando medicinali sempre nuovi. In effetti sto imparando nomi di prodotti farmaceutici mai sentiti prima. Stilarne l&#8217;elenco è sempre più difficile, data l&#8217;estensione del mercato. In questo modo due degli indicatori nel test, quelli con le parole proibite, spesso segnano giallo o addirittura verde. Le parole rilevate sono troppo poche. </p>
<p>Non basta: diventa più difficile trovare i blog compromessi tramite i motori di ricerca, non so che parole cercare. Sarà sempre più difficile scovarne, di blog, e di conseguenza sempre più difficile avvertire le vittime. </p>
<p>Di contro, il mentecatto è tutt&#8217;altro che in ferie. Nelle due ultime settimane ho trovato almeno quindici blog italiani che prima non erano presenti fra quelli compromessi, e che ora mostrano i segni della nuova strategia (pochi link e poche parole chiave), quindi a tutti gli effetti sono &#8220;freschi di violazione&#8221;. Sui blog compromessi da tempo, ed i cui proprietari sono stati avvertiti, anche da mesi, in media ogni pochi giorni cambiano i link e le parole chiave, altro segno che il mentecatto è ancora nella stanza dei bottoni.  </p>
<p>Sul fronte temi infetti, oramai sono definitivamente convinto che il danno cerebrale sia irreversibile: proprio qualche giorno addietro ho notato nei log prodotti dal test uno dei test richiesti al controllo. Il link era alla demo di un tema WordPress, offerto da uno dei siti noti per offrire <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/wordpress-bello-il-tuo-tema-e-un-trojan/">temi troianizzati</a>. Ovviamente il test era negativo <strong>NON ESSENDO UN TEST PER TEMI DI WORDPRESS</strong>, ma il tema provato era naturalmente farcito con il solito codice PHP per inserire link pubblicitari, nascosto ed offuscato. Mi arrendo. Potrei mettere una domanda obbligatoria nel test, tipo &#8220;Hai capito che questo non è un test per temi infetti?&#8221;, ma scommetto che non servirebbe. Magari in una prossima versione del test la metto, giusto per farmi due risate. </p>
<p>Ah, a proposito: c&#8217;è un blog infetto da mesi nei primi cento di una nota classifica di blog italiani, da me avvertito alla fine di maggio.</p>
<p>Il <a href="http://www.ismprofessional.net/pascucci/wp-test.php">test è al solito posto</a>. Fatelo, e raccomandatelo ai vostri amici. </p>
<p><em>Trust no one</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2008/08/wordpress-autotest-versione-110-e-considerazioni/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Owned WordPress autotest: versione 1.9</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2008/07/owned-wordpress-autotest-versione-19/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2008/07/owned-wordpress-autotest-versione-19/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 10:09:23 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=239</guid>
		<description><![CDATA[Come ho più volte detto, il nostro amico mentecatto là fuori non dorme certo. Nuovi blog si aggiungono ogni giorno alle centinaia già sotto il suo controllo. Cambiano le parole dello spam iniettato, e cambia anche sottilmente la struttura dello spam, per cui un aggiornamento del controllo è doveroso. Al momento i prodotti più pubblicizzati, [...]]]></description>
			<content:encoded><![CDATA[<p>Come ho più volte detto, il nostro amico mentecatto là fuori non dorme certo. Nuovi blog si aggiungono ogni giorno alle centinaia già sotto il suo controllo. </p>
<p>Cambiano le parole dello spam iniettato, e cambia anche sottilmente la struttura dello spam, per cui un aggiornamento del controllo è doveroso. Al momento i prodotti più pubblicizzati, oltre ai soliti medicinali di vario genere, sono: suonerie per cellulari, finanziamenti e mutui a basso costo, kit per sbiancare i denti e test per droghe. Gli ultimi due prodotti sono freschi freschi, trovati in tre del sette blog compromessi nelle ultime due settimane, ed in vari blog compromessi da tempo, segno che il mentecatto è più attivo che mai. Dormite sonni tranquilli, voi col blog bucato, il mentecatto veglia sui vostri blog. Chissà che non li gestisca anche meglio <img src='http://www.ismprofessional.net/pascucci/wp-includes/images/smilies/icon_neutral.gif' alt=':-|' class='wp-smiley' /> </p>
<p>Ho dovuto introdurre un semplice meccanismo di blacklist, perché a questo punto le cose sono due: o alcuni visitatori non sanno leggere o non leggono proprio. Non so quale delle due è peggio. </p>
<p>Il test <strong><del datetime="2008-07-16T14:11:44+00:00">non funziona</del> NON SERVE</strong> su Splinder, Live, Blogspot, WordPress.com e simili, sono immuni da <em>questa specifica</em> pestilenza, c&#8217;è scritto nella pagina del test, ma continuano ad essere eseguiti controlli su questi domini. Quindi da oggi niente più test, c&#8217;è la blacklist. </p>
<p>Ma guarda tu a cosa tocca arrivare&#8230;</p>
<p>La pagina con il <a href="http://www.ismprofessional.net/pascucci/wp-test.php">WordPress autotest</a> è al solito posto. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2008/07/owned-wordpress-autotest-versione-19/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Owned WordPress blog: ricapitolando</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-ricapitolando/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-ricapitolando/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 14:31:11 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[incident response]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>
		<category><![CDATA[website intrusion]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=235</guid>
		<description><![CDATA[Riassumo qui tutto quello che ho scoperto sull&#8217;attacco massivo in atto contro i blog basati su WordPress. La situazione WordPress in versione precedente alla 2.5.x è vulnerabile ad una vasta gamma di attacchi che non sono contrastabili se non in un unico modo: tenere aggiornato WordPress. Non esistono altri metodi, non per i comuni mortali. [...]]]></description>
			<content:encoded><![CDATA[<p>Riassumo qui tutto quello che ho scoperto sull&#8217;attacco massivo in atto contro i blog basati su WordPress.</p>
<h3>La situazione</h3>
<p>WordPress in versione precedente alla 2.5.x è vulnerabile ad una vasta gamma di attacchi che non sono contrastabili se non in un unico modo: tenere aggiornato WordPress. <strong>Non esistono altri metodi</strong>, non per i comuni mortali. </p>
<p>L&#8217;attacco è generalizzato, nessuno è al sicuro. Se il blog è presente nei motori di ricerca (Google, MSN, Altavista, Yahoo, ecc.) è solo questione di tempo. La riuscita dell&#8217;attacco è indipendente dal tema utilizzato, riesce anche con il tema di default. <strong>Quello dei temi infetti <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/wordpress-bello-il-tuo-tema-e-un-trojan/">è un altro problema</a></strong>.</p>
<p>Se il blog viene compromesso, un aggiornamento non risolve, e non risolve neanche una sommaria ripulita al database: l&#8217;intrusione è profonda e su molti fronti. Se ci si limita ad un aggiornamento ed a una sommaria pulizia del database, in breve il blog sarà di nuovo compromesso. Ci sono blog con WordPress 2.5.1 con lo stesso problema e ci sono stati casi di blog violati, i cui proprietari sono stati avvertiti da me, puliti sommariamente e ri-violati <em>nel giro di mezzora</em>. Quindi la pulizia deve essere totale, <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-the-day-after/">come spiegato qui</a>. </p>
<h3>La sequenza di intrusione</h3>
<p>Questa è verosimilmente la sequenza che porta alla violazione del blog. E&#8217; ricostruita sulla base degli esemplari di codice e database forniti da persone coraggiose che non finirò mai di ringraziare. E che dovreste ringraziare tutti. </p>
<h4>Selezione del blog bersaglio</h4>
<p>L&#8217;attaccante cerca i blog basati su WordPress con semplicissime query ai principali motori di ricerca. Usa strumenti automatizzati, che gli garantiscono di riuscire a trovare un gran numero di possibili bersagli. Attraverso una forma di <em>fingerprinting</em> determina la versione di WordPress installata nel bersaglio. A questo proposito è del tutto inutile nascondere la versione che viene inserita nel tag apposito:</p>
<pre><code>
&lt;meta name="generator" content="WordPress 2.5.1" /&gt;

</code></pre>
<p>l&#8217;attaccante usa un algoritmo molto più sofisticato per determinare la versione, ed ignora del tutto, o quasi, la stringa nell&#8217;header della pagina HTML emessa da WordPress. Per dare un&#8217;idea, viene controllata l&#8217;esistenza di alcuni file e directory caratteristiche di certe versioni, come pure il formato dei feed. </p>
<h4>Creazione di un amministratore abusivo</h4>
<p>Attraverso un attacco di tipo SQL injection, sfruttando le suddette vulnerabilità di WordPress, viene creato un amministratore &#8220;abusivo&#8221; del blog. Il tipo di attacco è calibrato sulla versione di WordPress rilevata, quindi ce n&#8217;è per tutti. L&#8217;amministratore creato con questa tecnica è invisibile dal pannello di amministrazione utenti (<a href="http://www.ismprofessional.net/pascucci/index.php/2008/05/wordpress-perche-non-basta-laggiornamento/">dettagli qui</a>), a meno di usare trucchi o di esaminare direttamente il database. L&#8217;utente abusivo si chiama di solito &#8220;WordPress&#8221; (la &#8216;W&#8217; e la &#8216;P&#8217; maiuscole), ma non è detto che rimanga così.</p>
<h4>Iniezione dei primi file</h4>
<p>Una volta ottenuto l&#8217;accesso amministratore, viene esaminato lo spazio di hosting, per capire se e quali file e directory permettono la scrittura e la modifica dei file, se è permesso il download e l&#8217;esecuzione diretta di script PHP da altri siti e varie altre impostazioni. Se la directory dei temi è scrivibile, viene inserito un file PHP con un nome camuffato o insospettabile in uno dei temi installati, di solito quello &#8220;Classic&#8221;, che nessuno va a guardare. Tipicamente ha il nome di un altro file presente fra quelli del tema, con aggiunto in coda al nome la stringa &#8220;_old&#8221;, e non è detto che l&#8217;estensione sia &#8220;.php&#8221;. Ho trovato falsi file ZIP, false immagini PNG e JPG. Oppure è un file PHP con un nome verosimile: <tt>functions.php</tt>, <tt>locals.php</tt> e simili. Stessa cosa può succedere con la directory dei plugin, dove in qualche caso ho trovato dei falsi file ZIP con lo stesso nome di uno dei plugin installati, in realtà file PHP.<br />
Se nessuna directory o file è scrivibile, tranne quella degli upload o quella dei backup, il file viene iniettato in quelle posizioni.<br />
Se tutti i file sono modificabili dagli script PHP stessi, come succede in alcuni hosting, vengono modificati alcuni file dell&#8217;installazione di WordPress, iniettando poche righe di codice, anche una sola, di solito offuscata o ricodificata in Base64 o simile. Questo semplifica parecchio l&#8217;attacco.<br />
In qualche caso, se la configurazione del server lo permette, il file è iniettato nella directory <tt>/tmp</tt> del server, con il nome che scimmiotta i file di sessione PHP: <tt>sess_11a2d23b2......</tt>, la stringa esadecimale nel nome è praticamente casuale.<br />
In totale i file iniettati sono almeno due: il plugin camuffato ed una sorta di shell remota che permette di modificare a piacere file ed eseguire comandi impartiti da remoto. </p>
<h4>Iniezione di codice e dati nel database</h4>
<p>Uno dei file appena iniettati viene inserito come plugin agendo direttamente sulla corrispondente opzione nel database di WordPress. Naturalmente anche questo plugin &#8220;abusivo&#8221; è invisibile dal pannello di gestione dei plugin. Il nome può variare, come detto sopra, come pure la posizione. La funzione del plugin è molteplice: iniettare i link di spam al momento della visita dello spider di uno dei motori di ricerca noti, controllare che il codice iniettato sia presente ed attivo, altrimenti operare automaticamente l&#8217;iniezione del codice negli script PHP originali. Ecco uno dei motivi per cui la semplice reinstallazione, o l&#8217;aggiornamento, e la sommaria pulizia del database non funziona: anche cancellando l&#8217;utente abusivo e togliendo i link di spam, il plugin rimane attivo, per via della posizione in cui è nascosto il file, ossia nel tema, cosa che si tende a preservare, negli upload o nella directory <tt>/tmp</tt> a cui non si pensa proprio. Alla prima occasione il plugin rimette tutto a posto. Il blog, anche se aggiornato all&#8217;ultima versione di WordPress, è già compromesso.<br />
Altro gruppo di dati che viene inserito è il blocco dei link spam. E&#8217; nascosto nel database come opzione fasulla di WordPress, oppure nella cache dei feed letti dai vari blog di sviluppo e news che si vedono nel pannello di amministrazione, ed è una lunga stringa, oltre 16kb, codificata in Base64, preceduta dalla stringa <code>eval(base64_decode(</code>, in qualche caso è anche rovesciata, quindi in testa non ha niente, ma in coda è presente la stringa: <code>(edoced_46aseb(lave</code>. In altri casi, i link non sono nel database, ma nel file <tt>wp-includes/class-mail.php</tt>, che non appartiene ai file standard dell&#8217;installazione. Il file è un array serializzato con apposite funzioni PHP (<a href="http://www.ismprofessional.net/pascucci/index.php/2008/05/spam-con-wordpress-sempre-piu-sofisticato/">dettagli qui</a>). Questo però nelle versioni più vecchie. Nelle ultime versioni in mio possesso il file non esiste più e viene usato il database, più complicato ma molto meno visibile.<br />
In un paio di casi ho trovato nel database anche una copia di uno dei file iniettati, ricodificato anch&#8217;esso in Base64 per nasconderlo. Probabilmente è una copia di riserva da recuperare ed attivare se il blog viene ripulito dal proprietario.</p>
<h4>Modifica del file index.php</h4>
<p>Se l&#8217;hosting ha una configurazione di sicurezza &#8220;debole&#8221;, e quindi permette la modifica da parte degli script PHP stessi di tutti i file dell&#8217;installazione di WordPress, viene cambiato il file <tt>index.php</tt> nella directory principale del blog. Nelle versioni da me esaminate c&#8217;era una istruzione di include di un file preso da un sito remoto. Questo file è quello che opera il redirect verso i siti di spam, di solito farmacie online. Non sono riuscito a mettere le mani su questo file, il download è probabilmente subordinato ad una qualche forma di protezione, tipo il controllo dello user agent o dell&#8217;indirizzo IP di chi chiede l&#8217;accesso al file. Vista la complessità e l&#8217;organizzazione dell&#8217;attacco, non mi stupirebbe che sia fatto un controllo verso un database di siti compromessi prima di consentire l&#8217;accesso al file.<br />
Non tutti i siti hanno questa variante. Dipende molto dalla versione e dalla configurazione del server. Ma quelli che la possiedono vengono inclusi nelle liste di link in altri blog violati, per consentire appunto la ridirezione al sito degli spammer. </p>
<h4>Altri file modificati</h4>
<p>Il codice usato nell&#8217;attacco è in diverse varianti, e ci sono segnali che è in continua evoluzione, cambiando ed affinando le tecniche sia di intrusione che di evasione dei controlli. In qualche caso ho trovato del codice inserito come <em>action</em>, nel file <tt>wp-includes/default-filters.php</tt>. Lo stesso file conteneva una sorta di sistema di esecuzione di codice da remoto (<a href="http://www.ismprofessional.net/pascucci/index.php/2008/04/spam-con-wordpress-altri-esempi-di-codice-iniettato/">dettagli qui</a>), con tanto di autenticazione tramite <em>cookie</em>.</p>
<h3>Come accorgersene</h3>
<p>Non è per niente banale. Ci sono decine di blog italiani violati e centinaia in tutto il mondo, e nessuno dei proprietari si accorge di nulla. A differenza delle prime varianti, dove si avevano malfunzionamenti che potevano insospettire, le versioni ora in circolazione sono molto meno banali, e sono molto difficili da trovare &#8220;per caso&#8221;. Chi ha sviluppato il codice ed il metodo di violazione è partito dall&#8217;obbiettivo di nascondere il più possibile al legittimo proprietario ed ai visitatori abituali la presenza della violazione. Presenza che sfugge anche ad un controllo sommario. Se non si opera in modo mirato, non si noterà nulla di strano. Ho attrezzato <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-test-di-contagio/">un test di &#8220;infezione&#8221;</a>, che esegue alcuni semplici controlli sulla pagina principale del blog, cercando i segni, assolutamente non evidenti, dell&#8217;infezione. Segni che potrebbero a breve cambiare e rendere inefficace il controllo stesso. Per questo motivo non posso per ora aprire il codice del controllo o descriverne nei dettagli il funzionamento. Se gli spammer scoprono i punti deboli del mio controllo, e ve ne sono, lo possono rendere inefficace in breve tempo, ed avremmo tutti un&#8217;arma in meno. Altra strada per trovare <a href="http://www.cfitaly.net/owned-wp-analysis">i segni dell&#8217;infezione è descritta qui</a>, in un breve documento che ho scritto specificamente per <a href="http://www.cfitaly.net/">CFItaly</a>. E&#8217; chiaramente un documento diretto a persone dotate di specifiche conoscenze e non una ricetta passo passo, quindi non è assolutamente fruibile per gli utenti &#8220;fai-da-te&#8221;. Nessuna connotazione dispregiativa in questo, ma se non si possiedono alcune competenze specifiche è del tutto inutile leggere un simile documento. </p>
<h3>Come uscirne</h3>
<p>Una procedura a grandi linee l&#8217;ho <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-the-day-after/">descritta qui</a>. Occorre tenere presente che il metodo di attacco cambia continuamente, e chi ha sviluppato il kit del perfetto devastatore di blog non è un cretino qualsiasi: è una persona con competenze molto al di sopra della media degli sviluppatori web, ed in generale anche alla media degli sviluppatori in generale. Sia il test che la procedura per ora dovrebbero funzionare su tutte le varianti, anche sulle più recenti. La procedura è generica, nel senso che segue le linee guida delle normali operazioni da fare quando si ha a che fare con un server violato, ossia parte dal presupposto che <em>niente</em> sul quel server è più affidabile, anche i comandi più semplici. Quindi dovrebbe continuare ad essere utilizzabile anche se lo schema di infezione dovesse cambiare totalmente.<br />
Quello che forse potrebbe smettere di funzionare è il test, a causa di quanto detto sopra. Inoltre c&#8217;è il problema che per me è sempre più difficile reperire codice infettato, ossia il contenuto dei blog colpiti, sia come file che come dump del database.<br />
Naturalmente nelle mail che ho inviato a molti c&#8217;era la richiesta, ma i più la ignorano. Questo sta togliendo a tutti noi un&#8217;arma potentissima: il codice stesso dell&#8217;infezione, quindi la possibilità di esaminare come opera e quali sono i suoi punti deboli. Senza quel codice non si può fare nulla. </p>
<h3>Temi ed equivoci</h3>
<p>Qualche settimana fa il test che ho attrezzato ha avuto un minimo di risonanza in Rete, ma con un problema: è stato scambiato per un test volto ad appurare se il tema è &#8220;infetto&#8221;. Il problema dei temi troianizzati è in realtà molto differente, e riguarda un altro aspetto della sicurezza di WordPress. Ho <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/wordpress-bello-il-tuo-tema-e-un-trojan/">scritto un altro articolo in proposito qui</a>. Per ora il tutto si limita ad un modo per iniettare pochi link di spam, una decina al massimo, nel footer del blog, ed in più a proteggere il tema dalle modifiche, inserendo codice offuscato e ricodificato nel file <tt>footer.php</tt>.<br />
Ma&#8230; c&#8217;è un grosso ma. Se dovesse succedere che l&#8217;attacco in corso esaurisse la sua efficacia, <em>niente</em> ci può garantire che il prossimo veicolo di infezione siano proprio i temi scaricati ed installati senza verificarne la provenienza. Il metodo è semplicissimo da applicare: una volta che abbiamo inserito un file PHP nel nostro sito senza appurare cosa faccia, per chi ha nascosto codice malevolo nel tema <em>è un gioco da ragazzi violare il nostro blog</em>.<br />
Quindi, chiarito che il mio test <strong>NON può verificare se il tema installato in un blog è &#8220;infetto&#8221; o troianizzato</strong>, l&#8217;unica possibilità è di installare solo i temi di cui possiamo verificarne la provenienza o quelli di cui possiamo controllare agevolmente il codice. La semplice presenza di stringhe codificate in Base64 ed eseguite con una istruzione <code>eval()</code> è un segno molto poco rassicurante. Ma il mio test non può controllare questo. E&#8217; impossibile. E&#8217; vero però che l&#8217;infezione rilevata dal mio test <em>è infinitamente più pericolosa</em>.</p>
<h3>Conclusione</h3>
<p><a href="http://www.ismprofessional.net/pascucci/index.php/2008/05/essere-webmaster-responsabili/">Come ho già spiegato qualche tempo fa</a>, non è facile fare il webmaster. Le conoscenze necessarie sono tante e in ogni caso potremmo non avere quelle giuste per fronteggiare una situazione come questa che stiamo affrontando.<br />
Se poi ci si mette la faciloneria e la leggerezza nel fare le cose, il rischio di rimanere scottati è molto alto. Per carità, nessuno vuole impedire alle persone di esprimersi liberamente, se però siamo a corto di competenze, e solo perché non è il nostro campo, ci sono validissime alternative a fare il blogger fai-da-te, basta riconoscere con un po&#8217; d&#8217;umiltà che forse è al di là delle nostre capacità. Blogspot, Splinder, WordPress.com e tanti altri sono a disposizione per chi vuole concentrarsi su quello che ha da dire, invece di trovarsi invischiato in grossi guai. Questa è la mia opinione. Poi ognuno è libero e consapevole delle sue scelte, quindi niente da dire se si preferisce un hosting e la scelta di fare da sé. Solo che Internet <em>è un luogo ostile</em>. </p>
<p>Per cui occhi aperti e <em>Trust no one</em>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-ricapitolando/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Owned WordPress autotest: versione 1.5 rilasciata</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-autotest-versione-15-rilasciata/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-autotest-versione-15-rilasciata/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 14:02:07 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[hacked blog]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=232</guid>
		<description><![CDATA[Ho aggiornato il test di controllo per blog compromessi (vedi qui). Le modifiche sono per lo più cosmetiche: viene stampato l&#8217;elenco sia delle parole chiave trovate con il conteggio, sia un campione dei link abusivi. Ho aggiunto alcune parole chiave nuove fra quelle controllate, visto che fra i link spam ora c&#8217;è anche la pubblicità [...]]]></description>
			<content:encoded><![CDATA[<p>Ho aggiornato il test di controllo per blog compromessi (<a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-test-di-contagio/">vedi qui</a>). </p>
<p>Le modifiche sono per lo più cosmetiche: viene stampato l&#8217;elenco sia delle parole chiave trovate con il conteggio, sia un campione dei link abusivi. Ho aggiunto alcune parole chiave nuove fra quelle controllate, visto che fra i link spam ora c&#8217;è anche la pubblicità per le suonerie dei cellulari. </p>
<p>Ho aggiunto un avviso sulla natura del controllo, che naturalmente è stato equivocato per un controllo sui temi troianizzati, invece che un test per vedere se il blog ci appartiene ancora, cosa un po&#8217; più grave.</p>
<p>Ma di questo <a href="http://www.ismprofessional.net/pascucci/index.php/2008/06/a-proposito-di-bilanci-wordpress-autotest-grazie-eh/">ho già parlato</a>. Ieri ho avvisato altre sei persone che si trovano con il blog compromesso, e sono siti importanti. Indovinate un po&#8217;? <strong>Nessuna risposta</strong>.</p>
<p>Penso che a breve lascerò perdere questa indagine, e mi dedicherò ad altro. Il mio tempo è limitato e le cose da fare si accumulano, quindi sono costretto a scegliere. </p>
<p>Per ora non pubblicherò il codice del test per evitare che gli spammer possano cambiare lo schema di infezione e vanificare il controllo. Poi chissà. </p>
<p>Da questo momento, se avete il blog compromesso niente più avvisi e niente più aiuto gratis. Spiacente. Come si dice in inglese: <em>you are on your own</em>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-autotest-versione-15-rilasciata/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Owned WordPress Blog: test di contagio</title>
		<link>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-test-di-contagio/</link>
		<comments>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-test-di-contagio/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 10:32:38 +0000</pubDate>
		<dc:creator>Mario Pascucci</dc:creator>
				<category><![CDATA[Information security]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[hacked blog]]></category>
		<category><![CDATA[intrusion detection]]></category>
		<category><![CDATA[Owned Wordpress]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.ismprofessional.net/pascucci/?p=225</guid>
		<description><![CDATA[Il test non è più disponibile dal 17 giugno 2009 Per i dettagli Segue il vecchio articolo Avete dei dubbi sulla integrità fisica e sulla salute del vostro blog? Fate un test! Mi spiego. Ho attrezzato una pagina PHP che effettua alcuni test automatici sul blog di cui viene fornito l&#8217;indirizzo completo. Il risultato è [...]]]></description>
			<content:encoded><![CDATA[<h3>Il test non è più disponibile dal 17 giugno 2009</h3>
<p><a href="http://www.ismprofessional.net/pascucci/index.php/2009/06/owned-wordpress-niente-piu-test/">Per i dettagli</a></p>
<h4>Segue il vecchio articolo</h4>
<p>Avete dei dubbi sulla integrità fisica e sulla salute del vostro blog? Fate un test!</p>
<p>Mi spiego. Ho attrezzato una pagina PHP che effettua alcuni test automatici sul blog di cui viene fornito l&#8217;indirizzo completo. Il risultato è analizzato alla ricerca dei segni distintivi di questo tipo di intrusione: pagine differenti a seconda dello user agent, link contenenti i soliti farmaci venduti online ed altre stranezze. Al termine del test viene visualizzata una tabellina con i risultati. </p>
<p>Naturalmente, data la automaticità del test, il risultato è tutt&#8217;altro che certo, per cui occorre una verifica manuale in caso di segnalazione. </p>
<h4>Cosa fa il test</h4>
<ul>
<li>Tenta l&#8217;identificazione della piattaforma su cui si basa il sito, tramite un semplice <em>fingerprinting</em>: controlla se esiste una pagina di login, se nella home page esiste la parola &#8220;wordpress&#8221;. Se non trova questi segni caratteristici stampa un avviso ed esegue comunque il controllo. Ovviamente se si esegue il test su un sito non basato su WordPress il risultato è privo di senso, o comunque non significativo.</li>
<li>Legge più volte la pagina principale del sito. Una volta la legge presentandosi come spider di un noto motore di ricerca, poi la legge di nuovo presentandosi come un normale browser. Se le due pagine sono differenti, vengono fatti dei controlli sulle differenze, alla ricerca di parole tipiche dello spam, di link e di righe troppo lunghe. </li>
<li>Altri controlli vengono fatti sulla pagina restituita nella visita come spider, contando le parole tipiche dello spam, cercando stringhe esadecimali lunghe e particolari tipi di stile CSS atti a nascondere contenuto. Questi controlli sono &#8220;euristici&#8221; e la presenza di queste anomalie non è indice di infezione certa, ma se ne sono presenti più di uno, ed in numero consistente, conviene fare un controllo.</li>
<li>Viene infine controllata la presenza di due particolari elementi nella pagina, indicatori certi di infezione, una sorta di firma dell&#8217;intrusione. Se si verifica la presenza di questi, anche uno solo, si è in presenza degli effetti di una violazione del sito.</li>
</ul>
<h4>Cosa <em>non fa</em></h4>
<p>Il controllo vale solo per WordPress installato su un sito dedicato, e solo per il tipo di intrusione documentato negli articoli elencati poco sotto. Non è un controllo antivirus, non è un rilevatore di intrusioni di qualsiasi tipo, né un controllo di integrità generico per WordPress. Non è neanche un &#8220;tester di temi contraffatti&#8221;: è impossibile da realizzare a tema installato, il tema va controllato <em>prima</em> di installarlo, e da una persona competente. Tanto meno può ripulire o &#8220;disinfettare&#8221; un blog compromesso: questo può farlo solo il proprietario o il webmaster, e non sarebbe neanche tecnicamente possibile senza operare con i dati di accesso del webmaster.</p>
<p>Se il sito è molto personalizzato, il controllo può fallire in tutti i sensi, cioè segnalare come infetti siti puliti e viceversa. Può non riconoscere un sito basato su WordPress, come può scambiare un sito costruito con altri software con WordPress. In tutti questi casi i risultati sono da prendere molto con le molle. </p>
<p>Il controllo non esegue alcuna operazione critica o intrusiva sul sito: esegue le stesse operazioni di chiunque lo visiti con un normale browser, niente di più. </p>
<h4>Nota bene</h4>
<p>Per evitare abusi e scherzi idioti, ogni richiesta è loggata e sono inseriti alcuni controlli preventivi. Uomo avvisato&#8230;</p>
<p><a href="http://www.ismprofessional.net/pascucci/wp-test.php">La pagina del test è qui</a>.</p>
<p>Se volete altri dettagli, leggete gli articoli predenti elencati sotto, o <a href="http://www.ismprofessional.net/pascucci/index.php/per-contattarmi/">contattatemi</a> direttamente. </p>
<h4>Gli articoli precedenti</h4>
<p>Per chi vuole leggere tutta la storia, qui c&#8217;è l&#8217;elenco con tutti gli articoli che trattano dell&#8217;indagine sui blog violati:</p>
<ul>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/04/wordpress-pagerank-spammer-panic/">WordPress + Pagerank + Spammer = PANIC!</a></li>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/04/wordpress-blog-compromised/">Attention: your WordPress blog may be compromised.</a> (in inglese)</li>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/04/spam-con-wordpress-esempi-di-codice-iniettato/">Spam con WordPress: esempi di codice iniettato</a></li>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/04/spam-con-wordpress-primi-dettagli-su-un-sito-compromesso/">Spam con WordPress: primi dettagli su un sito compromesso</a></li>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/04/spam-con-wordpress-altri-esempi-di-codice-iniettato/">Spam con WordPress: altri esempi di codice iniettato</a></li>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/05/spam-con-wordpress-sempre-piu-sofisticato/">Spam con WordPress: sempre più sofisticato</a></li>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/05/wordpress-perche-non-basta-laggiornamento/">WordPress: perché non basta l&#8217;aggiornamento</a></li>
</ul>
<p>Di seguito alcuni consigli per diminuire il rischio di essere colpiti, e cosa fare quando succede:</p>
<ul>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/05/wordpress-alziamo-i-deflettori/">Come rinforzare le difese di WordPress</a></li>
<li><a href="http://www.ismprofessional.net/pascucci/index.php/2008/04/come-agire-se-il-proprio-sitoblog-viene-compromesso/">Cosa fare quando si viene colpiti</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ismprofessional.net/pascucci/index.php/2008/06/owned-wordpress-blog-test-di-contagio/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

