18 dicembre 2016

Inserita questa stringa nello scanner,
'f\(\@isset\(\$_GET\[',
per identificare codice come questo sotto riportato.



24 novembre 2016

Ho aggiunto questa stringa allo script scanner,
'\\x6a\\x61\\x67',
risultato, è più semplice trovare codice infetto. Incollo qui sotto un esempio.



17 settembre 2016

Cherry plugin in wordpress se non aggiornato, è ancora una mina vagante.
Qui sotto assicurato con la funzione die();

wp-content/plugins/cherry-plugin/admin/import-export/upload.php



Risultato, guadagnato l'hash clamdAv di Ica.php, una shell
b11fafc39cd1498de3d8b97c65b4238ceba6b1d7:17100:ica.php



11 settembre 2016

una shell con molto codice esadecimale. Lo scanner è da aggiornare.



la firma del file trovato con questo codice è
a65db7f66f223526feca36361317378360d3a536:3297:post.php

29 agosto 2016

un indirizzo ip dall'India, 49.206.215.108, ha richiamato una shell (MCA). Controllandola, la cosa buffa,
è il commento.



Firma clamAv di MCA shell
541dcd04cd7bb30a3b33fe844372b7f94a10cd8a:105850:page.php

20 agosto 2016

jdatx2, la funzione richiamata con un POST (@$l9jKCr), ed il suo contenuto oscurato con valori esadecimali.



18 agosto 2016

arraymap inserito in una pagina Joomla



17 luglio 2016

codice usato dalla solita botnet (ancora attivo, mentre lo pubblico)


Altro oncphaffmuxbj

01 luglio 2016

Qualcuno da un indirizzo ip ucraino ha chiesto il file virato (akismet.php) di settimana scorsa.
185.65.244.93 , whois
inetnum: 185.65.244.0 - 185.65.245.255
netname: HU-VPS3
descr: Hosting Ukraine VPS network




24 giugno 2016

Questo codice in formato base64 ha permesso la copia di una porta per linux chiamata
Mumblehard.C



La stringa per ricerca l'installazione di questo codice virato potrebbe
essre
e57d7b7f1a47b2e8dfd2a7684d4806628400d9592f0

22 giugno 2016

un vecchio codice javascript ancora presente in siti Joomla.
Radar con l'indirizzo ip 205.186.129.91 .



14 giugno 2016

Rilevato questo codice, un altro generatore di file criptati php.



xx_base64decode.pl deve essere aggiornato per rilevare anche questi file.
Una stringa di match potrebbe essere questa,
if($_ =~ m/\$.*=\$.*\(\$.*\[.*\]\);\$.*=\$.*\(\$.*\[.*\]\);\$.*=\$.*\("",\$.*\);\$.*\(\);/) {


6 giugno 2016

Ricevuto un file pdf, che digeva essere una fattura dhl. Ho provato a cercare strighe in esso.


Risultato, un'azione per collegarsi ad un sito esterno



30 maggio 2016

Altro esempio di script con variabili GLOBALS, per rilevarlo è necessario controllare anche
quelle richiamate interamente in maiuscolo.



La via più semplice per disinfettare un sito wordpress da questi indesiderati script,
potrebbe essere di scansionare i file della struttura php, con questo script scritto in perl.

Attenzione, inserite lo script nel crontab linux con queste direttive.
*/5 8-23 * * * /usr/local/bin/xx_base64decode.pl
56 07 * * * /bin/rm /var/tmp/.lock-cripta 1>/dev/null 2>/dev/null
Vi notificherà solo una volta al giorno in caso di infezioni.

--- INIZIO SCRIPT xx_base64decode.pl

#!/usr/bin/perl -w
use strict;
my $lock="/var/tmp/.lock-cripta";

# configure qui sendmail di postfix o altro wrapper
my $sendmail="/usr/sbin/sendmail -t -i";
# FINE configure qui sendmail di postfix o altro wrapper

my $mydomain=`/bin/hostname`;
chomp($mydomain);

my @jax=`grep -HR 'base64_decode";return' /directory/wordpress/`;
my $jax;

my @hax=`grep -HR '\$GLOBALS\['.*'\];global' /directory/wordpress/`;
my $hax;

my @dax=`grep -HR '\$GLOBALS\[.*\]\[.*\]\.\$GLOBA' /directory/wordpress/`;
my $dax;

# inserite qui la mail che riceverà le notifiche
my @cmail=("nome\@dominio.xx");
# per specificare più email potete separarle con questa sintassi
# my @cmail==("nome\@dominio.xx","secondo_nome\@dominio.yy");

#
my $cmail; # variabile per gestione array email, non deve essere modificata

sub adviseqq() {
# questa è la routine che si occupa di spedire l'email
foreach $cmail(@cmail) {
open(SM,"|${sendmail}")||die;
print SM "From: cerca_criptato\@$mydomain\n";
print SM "To: $cmail\n";
print SM "Subject: ${mydomain} codice criptato\n";
print SM "MIME-Version: 1.0\n";
print SM "X-Mailer: criptato-${mydomain}-private\nContent-type: text/plain\n\n";
print SM "codice criptato trovato\n";
foreach $jax(@jax) {
print SM $jax."\n";
}
foreach $hax(@hax) {
print SM $hax."\n";
}
foreach $dax(@dax) {
print SM $dax."\n";
}
}
}


if ( -e $lock ) { #se abbiamo già notificato non inviamo un'altra notifica
exit(1);
}

if($#jax gt -1 || $#hax gt -1 || $#dax gt -1) {
open(A,">$lock")||die;
print A time()."\n";
close(A);
adviseqq();
}
---- FINE SCRIPT xx_base64decode.pl


29 maggio 2016

Conferma del codice usato per evocare le shell criptate (inizialmente trovato il 25 maggio),
quindi salvarle nel wordpress preso di mira.
All'interno del filesystem del sito web, dovrebbe essere sufficiente questo comando per trovare
gli script di richiamo.

grep -HR '$GLOBALS\['.*'\];global' *

Un esempio del codice sopra descritto, trovato in un sito wordpress compromesso.



28 maggio 2016

Giusto per ricollegarci al post di ieri. Notato oggi questo file php composto da una linea, ricomparso in un sito wordpress.
La firma era stata generata un mese fa (con il comando sigtool di ClamAv), sempre raccolta da un sito wordpress.
8e46d12f5a5009b1c726fc7a2b21ff9d60bc0f89:32:library.php





27 maggio 2016

un modo per trovare le shell criptate, senza attendere che vengano scoperte da
ClamAv per esempio, è utilizzare script che controllino ogni singolo file con estensione php.
Nel controllo sarà sufficiente visionare i file php che sono composti da una sola linea.
Un esempio di risultato,



Altro codice sospetto trovato, la chiave MD5 5cd2973f835de94b560b62465d5a37f3 è menzionata anche in alcuni
plugin di difesa per Wordpress.





Lo script in perl per trovare i file sospetti (attenzione, genera falsi positivi a volte)


Inizio Script

#!/usr/bin/perl -w
use strict;
my $_match="\.php\$";

my @zfile=`find . | grep '$_match'`; # brutale, leggiamo i file attraverso una system call
my $zfile;
print("GOT $#zfile\n");
open(H,">/root/__post")||die; # scriveremo i file trovati in /root/__post

foreach $zfile(@zfile) {
chomp($zfile);

my $g=0;

open(A,"$zfile") ||die($zfile);
while() {
if($_ =~ m/POST/ && $g eq 0) {
$g=1;
}
last;
}
if($g eq 1) {
print H $zfile."\n";
}
close(A);
}
close(H);

Fine script

2 febbraio 2016

una variante più piccola (?).
Shl-be corta

25 magggio 2016

Un altro campione di cavallo di troia scritto in php. Questo utilizza variabili GLOBAL concatenate
tra loro.
].$GLOBALS['g537b8e6']
Il file sembra essere usato per generare altre shell php criptate all'interno del sito
infettato.

scaricabile qui


6 gennaio 2016 - shlbe PHP

Il curioso caso delle shell PHP Shl-BE
Le shell PHP installate dai malintenzionati (per generare operazioni illegali in un sito web),
sono molto spesso indiviudate dai comuni antivirus.
Esitono però shell PHP come questa
che usano un metodo (simile ad una funzione di tipo SCRAMBLE) per non essere riconosciute.
Dopo aver dichiarato il dato in formato base64, e l'array per leggere il formato BASE64 nella sua reale
natura, se richiamata, rilascia ai soliti ignoti il codice php contenente la shell utilizzabile.

L'array delle lettere è simile a questo,
Array('1'=>'k', '0'=>'W', ecc..
Dai campioni trovati in un sito internet, più di dieci script php avevano la composizione array
del tutto diversa.

Il nome Shl-BE è stato rilasciato da Sophos.
Sophos è un marchio registrato da Sophos Ltd.
Tutti gli altri nomi di società e prodotti qui menzionati sono marchi o
marchi registrati dei rispettivi titolari.



Torna alla pagina principale del diario

back