.htaccess - File Injection Attack
-
Ciao a tutti,
questa mattina ho tentato di entrare in administrator del mio sito, ma ho ottenuto il messaggio di errore:Forbidden
You don't have permission to access this resource.Non ci ho dato troppo peso perchè ero in una rete aziendale con VPN e firewall attivi.
A casa ho tentato nuovamente ed ho ottenuto lo stesso errore.Mi sono collegato con FTP e ho capito che mi hanno creato in ogni cartella del sito il file .htaccess con all'interno il codice che segue
<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch>Cancellando manualmente il file dalle cartelle /administrator, sono riuscito ad entrare,
ma ci sono ancora migliaia di file sparsi per tutto il sitoEvidentemente ho lascito una falla da qualche parte, volevo solo rendere noto questo problema nel caso capiti ad altri.
Ora devo capire come eliminare questi file e capire da dove sono entrati per eseguire uno script del genere,
Luca -
Ciao, joomla e i suoi componenti sono tutti aggiornati all ultima versione?
-
CIao,
di solito tengo aggiornati joomla e componenti alle ultime versioni, devo dire che questa volta ero rimasto un po indietro per questioni di tempo e di lavoro.
Ho provveduto ieri sera.
Grazie -
Controlla se gli aggiornamenti hanno coretto una falla di sicurezza. In caso positivo hai scovato da dove possono essere entrati.
Se hai un backup conviene che in locale lo installi in un server virtuale, lo aggiorni e lo uppi in remoto sostituendo quello bucato che sarà difficile (non impossibile) da riparare. -
Ciao Luca,
grazie per aver condiviso, casi così aiutano tutta la community a stare in guardia.
Quello che descrivi è un pattern classico di compromissione: l'attaccante è entrato, ha caricato i suoi script malevoli (probabilmente backdoor o webshell) e poi ha seminato quei
.htaccessin ogni cartella per bloccare l'esecuzione di altri file.phpche non siano i suoi — così nessun altro malware "concorrente" gira sul tuo spazio e, di fatto, ti blocca anche l'accesso all'admin. È un comportamento tipico di alcune famiglie di malware PHP.Un paio di cose al volo prima di tutto il resto: non ti limitare a pulire. Se non chiudi la falla e non rimuovi le backdoor, in 24-48 ore ti ritrovi punto a capo. Quindi l'ordine giusto è: contenere, capire, pulire, blindare.
1. Trova tutti i file .htaccess malevoli
Via SSH (se ce l'hai) il modo più veloce per individuarli è cercare quelli che contengono quella stringa:grep -rl "suspected" /percorso/del/sito --include=".htaccess"e per i file PHP sospetti caricati di recente, controlla quelli modificati negli ultimi giorni:
find /percorso/del/sito -name "*.php" -mtime -7 -lsIncrocia le date: capirai il giorno dell'intrusione e potrai poi cercare nei log di accesso cosa è successo in quelle ore.
2. Capire da dove sono entrati
I log sono la chiave. Guarda gli access log del webserver intorno alla data dei file modificati, cercando POST sospette verso file strani o verso componenti noti per vulnerabilità. Le porte d'ingresso più comuni in Joomla sono: estensioni di terze parti non aggiornate (è quasi sempre questo), un core vecchio, oppure credenziali deboli/rubate. Controlla che core ed estensioni siano tutti all'ultima versione.3. La pulizia
Qui serve onestà: su un sito compromesso davvero pulito al 100% lo sei solo quando ripristini un backup sano precedente all'intrusione, e poi ci applichi sopra gli aggiornamenti. Cancellare i file uno per uno è rischioso perché una sola backdoor dimenticata vanifica tutto. Se hai un backup di prima del problema, è la strada più sicura.4. Dopo la bonifica
Cambia tutte le password (Joomla admin, database, FTP/SSH, pannello hosting), rigenera il Secret inconfiguration.php, e valuta un componente come Admin Tools (Akeeba) che blinda l'.htaccess, mette in sicurezza l'admin e fa da firewall applicativo.Una nota da chi sta dall'altra parte: questo è esattamente il tipo di situazione in cui, se fossi su Host.it, avresti potuto aprire un ticket e i nostri tecnici avrebbero potuto incrociare i log a livello server, isolare il punto d'ingresso e darti una mano nel ripristino — cose che da soli, senza accesso completo alla macchina, diventano molto più faticose.
Tienici aggiornati su cosa trovi nei log, sono curioso di sapere quale estensione (perché scommetto su un'estensione) ha aperto la porta. Magari salviamo qualche altro sito.