Cari lettori oggi parleremo di come hackerare un sito WordPress.

WordPress è uno dei CMS più utilizzati al mondo. Tra gli altri CMS più famosi troviamo:

  • Joomla
  • Drupal
  • Magento

WordPress è leader del mercato CMS con una quota di mercato superiore al 60%.

Questa esplosione e il predominio di WordPress è facilitato dall’adozione di un utente globale, una piattaforma altamente estensibile e focalizzata sugli utenti finali. 

Questa scelta da parte dell’utente comporta tuttavia seri problemi per Internet nel suo complesso, introducendo un gran flusso di webmaster e fornitori di servizi non sempre specializzati sull’ implementazione e l’amministrazione di questi siti.

Infatti molte vulnerabilità sono legate proprio alle mancanze tecniche di questi fornitori e agli aggiornamenti dei vari plugin.

Passiamo ai fatti, entrando nel dettaglio del nostro test.

Hackerare un sito WordPress

Prima di iniziare ad utilizzare il nostro amico Kali Linux, facciamo il solito giretto nelle varie pagine del sito che vogliamo testare. Per vedere se il sito è fatto in WordPress senza utilizzare dei tools possiamo usufruire di queste due tecniche:

  1. Leggere il contenuto della pagina web.
  2. Direttamente dall’Url scriviamo la seguente stringa: www.nomesito.com/wp-admin

Se il sito è fatto in WordPress saremo reindirizzati alla pagina di login.

Possiamo fare anche l’enumerazione degli utenti direttamente dall’Url del sito inserendo la seguente stringa:

http://nomesito.com/?author=1 ottenendo il seguente risultato:

Come hackerare un sito WordPress

Recuperate queste informazioni, se il sito non ha attivato i relativi controlli, andando alla pagina di login ed inserendo l’utente trovato “admin” come UserId e password come “password”, il sito ci dirà “Attenzione la password inserita per l’utente admin non è corretta”.

Come hackerare un sito WordPress

Quante informazioni abbiamo raccolto con solo tre semplici passaggi se ci pensate e senza utilizzare nessun tools:

  1. Sappiamo che il sito è fatto in WordPress.
  2. Conosciamo la pagina di login.
  3. Conosciamo (dato importantissimo), che c’è un utente che si chiama “admin”.

Potremmo fermarci qui e tentare ad esempio un brute force delle password, ma noi vogliamo conoscere nel dettaglio la tecnica ed analizzare tutte le info raccolte, vero?

Scoprire Nome Utente

Apriamo un terminale (wpscan è già presente in Kali Linux) e digitiamo il seguente comando:

wpscan --help

Come hackerare un sito WordPress

Come possiamo vedere abbiamo diverse opzioni da utilizzare, in base alla scansione che vogliamo effettuare.

Iniziamo facendo una scansione del nostro sito digitando a terminale il seguente comando:

wpscan --url http://nomesito.com e premiamo invio dalla tastiera.

–url (effettuerà la scansione del sito).

Wpscan ci chiederà se vogliamo fare l’update del tools, confermiamo con y.

Come hackerare un sito WordPress

Di seguito potete vedere una sintesi del log prodotto da wpscan.

| [!] Title: Salient Theme <= 4.9 - DOM Cross-Site Scripting (XSS)
| Fixed in: 5.5.53
| References:
| - https://wpvulndb.com/vulnerabilities/8048
| - http://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
| - http://www.securityfocus.com/bid/75208/
| - https://github.com/scaron/prettyphoto/issues/149
|
| The version could not be determined.
_____________________________________________________________________________________________
| [!] Title: WordPress 3.7-5.0 (except 4.9.9) - Authenticated Code Execution
| Fixed in: 4.9.9
| References:
| - https://wpvulndb.com/vulnerabilities/9222
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-8942
| - https://blog.ripstech.com/2019/wordpress-image-remote-code-execution/
_____________________________________________________________________________________________
| [!] Title: WordPress 3.9-5.1 - Comment Cross-Site Scripting (XSS)
| Fixed in: 4.9.10
| References:
| - https://wpvulndb.com/vulnerabilities/9230
| - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-9787
| - https://github.com/WordPress/WordPress/commit/0292de60ec78c5a44956765189403654fe4d080b
| - https://wordpress.org/news/2019/03/wordpress-5-1-1-security-and-maintenance-release/
| - https://blog.ripstech.com/2019/wordpress-csrf-to-rce/

Se analizziamo il log possiamo notare che sono stati trovati diversi plug-in non aggiornati (perciò vulnerabili).

Adesso procediamo facendo l’enumerazione dei nomi utente (come abbiamo fatto prima direttamente dall’Url del sito), questa volta però scrivendo il seguente comando in wpsac:

wpscan --url http://nomesito.com/ --enumerate u

Come hackerare un sito WordPress

Come possiamo vedere wpscan ha restituito il nominativo (in questo caso c’è solo un utente altrimenti avremmo visto la lista dei nominativi).

Cosa ci manca? Scoprire le password.

Scoprire Password di Accesso

Scarichiamo un buon dizionario, apriamo un terminale e scriviamo il comando:

wpscan --URL http://nomesito.com/ --password nomewordlist.txt --username “nome utente trovato”

–password (è il file contenente le password).

–username (sono gli utenti trovati durante la scansione).

Scoperta la password abbiamo accesso alla pagina di admin del sito testato.

Lascio a voi pensare cosa potrebbe fare un malintenzionato (cambiare la home page del sito, caricare una backdoor da utilizzare per collegarsi senza rifare tutta la procedura spiegata prima). Inoltre una volta caricata la backdoor, anche se il sito viene aggiornato il malintenzionato può collegarsi in qualsiasi momento e potenzialmente causare dei danni.

Non mi assumo nessuna responsabilità dell’uso che farete della guida, in quanto stilata per uso didattico e formativo.

N.B. E’ molto importante tenere sempre aggiornato il proprio sito internet per evitare questi tipi di attacchi.

Leggi anche: