Ho un Debian 7 VPS che esegue Nginx, PHP5-FPM e MariaDB. Questo server esegue un paio di installazioni WordPress, phpMyAdmin e Roundcube Webmail. Uno è il mio blog personale che esegue WP 3.9.1 e un altro esegue l'ultima versione del trunk WP 4.0-beta1 a scopo di sviluppo.
Sono l'unica persona ad avere accesso SSH e accesso a wp-admin. L'accesso root tramite SSH è disabilitato e quindi è necessario accedere utilizzando le password.
Oggi ho trovato i seguenti file all'interno di /tmp
.
# ls -l /tmp
total 8
-rw------- 1 www-data www-data 1551 Jul 9 03:22 php9Lg8Js
-rw------- 1 www-data www-data 1551 Jul 9 03:23 phpQNsW36
stat
output per i file
# stat /tmp/phpQNsW36
File: '/tmp/phpQNsW36'
Size: 1551 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 337356 Links: 1
Access: (0600/-rw-------) Uid: ( 33/www-data) Gid: ( 33/www-data)
Access: 2014-07-09 03:23:03.000000000 +0530
Modify: 2014-07-09 03:23:03.000000000 +0530
Change: 2014-07-09 03:23:03.000000000 +0530
Birth: -
# stat /tmp/php9Lg8Js
File: '/tmp/php9Lg8Js'
Size: 1551 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 337355 Links: 1
Access: (0600/-rw-------) Uid: ( 33/www-data) Gid: ( 33/www-data)
Access: 2014-07-09 03:22:27.000000000 +0530
Modify: 2014-07-09 03:22:27.000000000 +0530
Change: 2014-07-09 03:22:27.000000000 +0530
Birth: -
Entrambi questi file contengono lo stesso codice PHP codificato in base 64. Ho sostituito eval()
con print()
per scoprire che si trattava di uno shellcode PHP che inviava email a HTTP_HOST
e REQUEST_URI
a due indirizzi Gmail oltre a stampare una casella di input per lo sfruttatore per eseguire comandi shell e caricare file.
Posso inserire questo codice qui se è necessario per l'analisi e se sono autorizzato a farlo.
Cercando il log di accesso di Nginx in base al timestamp, ho potuto trovare solo le seguenti richieste POST.
121.97.137.10 - - [09/Jul/2014:03:22:27 +0530] "POST /index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&method=form&cid=20&6bc427c8a7981f4fe1f5ac65c1246b5f=cf6dd3cf1923c950586d0dd595c8e20b HTTP/1.1" 499 0 "-" "BOT/0.1 (BOT for JCE)"
121.97.137.10 - - [09/Jul/2014:03:23:03 +0530] "POST /index.php?option=com_jce&task=plugin&plugin=imgmanager&file=imgmanager&method=form&cid=20&6bc427c8a7981f4fe1f5ac65c1246b5f=cf6dd3cf1923c950586d0dd595c8e20b HTTP/1.1" 499 0 "-" "BOT/0.1 (BOT for JCE)"
Questo server NON esegue Joomla
La mia comprensione è che un BOT ha analizzato casualmente il web per le installazioni di Joomla con l'exploit JCE. Ha inviato il contenuto di alcuni file e ha chiuso la richiesta (stato Nginx 499 - Richiesta chiusa client). Questo contenuto POST ha finito con un tmp_name
nella directory /tmp
quando la richiesta non è stata completata.
È corretto?
Che altro dovrei controllare per vedere se questo era solo un tentativo fallito o qualcosa di più?
Fammi sapere se sono necessarie ulteriori informazioni.