Amministratori fantasma: trovare gli utenti creati dal malware

Gli amministratori creati dal malware si nascondono dalla schermata Utenti: come trovarli con SQL e WP-CLI, controllare le password per le app e rimuoverli.

Un elenco di utenti con una scheda profilo senza volto evidenziata in rosso, accanto a una lente di ingrandimento

Tra tutte le backdoor, un utente amministratore creato dall’attacco è la più semplice e la più resistente: non contiene codice, non viene segnalata dagli scanner di file e sopravvive a qualunque ripristino dei file originali. Basta un login per riprendere il controllo del sito, reinstallare plugin malevoli e ricominciare.

Come si nascondono

Un amministratore fantasma raramente si chiama «hacker». Di solito ha un nome plausibile, come admin2, wpsupport o il nome di un collaboratore, e un indirizzo email simile a quello del titolare. Le varianti più curate si nascondono del tutto dalla schermata Utenti con poche righe di PHP, per esempio un filtro su pre_user_query che esclude l’utente dalla query, e correggono anche il conteggio degli amministratori mostrato in alto nella pagina.

Il punto chiave è che questi filtri agiscono dentro WordPress. Tutto ciò che passa da WordPress, compresa la schermata Utenti, vede l’elenco già filtrato.

Controllare dal database e con WP-CLI

Il controllo affidabile è quello che non passa dai plugin e dal tema. Con WP-CLI si possono escludere entrambi dal caricamento:

wp user list --role=administrator --skip-plugins --skip-themes \
  --fields=ID,user_login,user_email,user_registered

Oppure si interroga direttamente il database, ricordando che il prefisso delle tabelle può essere diverso da wp_:

SELECT u.ID, u.user_login, u.user_email, u.user_registered
FROM wp_users u
JOIN wp_usermeta m ON m.user_id = u.ID
WHERE m.meta_key = 'wp_capabilities'
  AND m.meta_value LIKE '%administrator%';

Se i risultati sono diversi da ciò che mostra la schermata Utenti, c’è del codice che nasconde qualcuno, e quel codice va cercato e rimosso quanto l’utente stesso.

Non solo amministratori

Un attacco non ha sempre bisogno del ruolo di amministratore. Vale la pena controllare anche:

  • utenti con ruoli minori ma con capacità aggiunte a mano, come edit_plugins o unfiltered_html, visibili nel valore serializzato di wp_capabilities;
  • le password per le applicazioni, introdotte in WordPress 5.6, che permettono di usare l’API REST senza la password principale: si elencano con wp user application-password list <utente>;
  • account legittimi ma non più usati, come quelli di ex collaboratori o di agenzie, che sono spesso la porta d’ingresso originale.

Rimuovere senza perdere contenuti

Prima di eliminare un utente sospetto conviene annotarne i dati, perché data di registrazione e indirizzo email aiutano a collocare l’attacco nel tempo. Poi lo si elimina assegnando gli eventuali contenuti a un utente legittimo, e si chiudono tutte le sessioni aperte:

wp user delete 57 --reassign=1
wp user session destroy --all
wp config shuffle-salts

Rigenerare le chiavi e i salt di wp-config.php invalida tutti i cookie di accesso, compresi quelli che l’attacco potrebbe aver rubato. Infine vanno cambiate le password di tutti gli amministratori rimasti e attivata l’autenticazione a due fattori.

Un amministratore fantasma è quasi sempre il sintomo di qualcos’altro: una vulnerabilità, una password debole, un trigger nel database che lo ricrea. Eliminarlo è necessario, ma la pulizia è completa solo quando si è capito da dove è arrivato.

IL PROSSIMO PASSO

Il tuo sito
è infetto?

Ogni ora conta: il malware continua a colpire visitatori e clienti, e Google, l’hosting e le blacklist non aspettano. Scegli il piano, paga online e condividi gli accessi: la bonifica parte subito, a prezzo fisso e con tempi garantiti.

Richiedi la bonifica

Ti porta ai piani: bonifica entro 6, 12 o 24 ore dalla ricezione degli accessi.

MANAGED SERVER S.R.L.info@rimozionemalware.com +39 02 5656 9681

Lunedì – venerdì · 09:30 – 19:30

Preferisci un modulo online?
Contattaci su managedserver.it ↗