Vai al contenuto principale
Tutte le edizioni

291 Intercept: più che raddoppiate sulla nostra infrastruttura le scansioni alla ricerca di repository Git esposti

Nella settimana del 19 ottobre il numero di sorgenti che hanno sondato la nostra infrastruttura esposta su Internet alla ricerca di repository di codice sorgente dimenticati è aumentato del 137% rispetto alla media settimanale delle due settimane precedenti. Abbiamo inoltre osservato più scanner a caccia di file .env nelle sottocartelle, di file di chiavi cloud e di backup.

Presentiamo 291 Intercept

291 Intercept è una nuova rubrica settimanale di 291 Group. Come qualsiasi organizzazione presente online, la nostra infrastruttura esposta su Internet viene sondata ogni giorno da scanner automatici in cerca di porte lasciate aperte: file di password esposti, backup dimenticati, pagine di amministrazione senza patch. Ogni edizione racconta cosa hanno preso di mira quegli scanner sulla nostra infrastruttura nell'arco di una settimana, così che altri amministratori di sistema e aziende possano verificare gli stessi punti sui propri sistemi.

Ogni settimana troverete i pattern che si sono distinti sulla nostra infrastruttura e come sono cambiati rispetto alla settimana precedente, la provenienza del traffico e un breve elenco di controlli da fare sui vostri server. Tutti i dati sono aggregati. Non citiamo mai singoli indirizzi o sistemi e includiamo solo pattern osservati da molte sorgenti distinte. Ogni edizione copre una settimana conclusa almeno sette giorni prima della pubblicazione.

Dal 19 al 25 ottobre circa 240 sorgenti hanno sondato la nostra infrastruttura esposta su Internet alla ricerca di repository di codice sorgente lasciati sui server web. Si tratta del 137% in più rispetto alla media settimanale delle due settimane precedenti. Le richieste riguardavano file come /.git/config, /.git/index e /.svn/entries. Sulla nostra infrastruttura, questa settimana solo WordPress ha attirato più scanner del codice sorgente.

Nello stesso periodo sono aumentate anche le ricerche correlate sui nostri siti. Le sorgenti a caccia di file di chiavi cloud sono cresciute del 51% e quelle che chiedevano backup e dump di database del 75%. Abbiamo visto inoltre scanner puntare a un gruppo di file .env in sottocartelle che in precedenza avevano suscitato molto meno interesse. Nessuno di questi obiettivi è un bug software: ognuno è un file che qualcuno ha dimenticato di rimuovere da un server pubblico.

La settimana in breve

Abbiamo registrato circa 660 sorgenti distinte, il 28% in più rispetto allo stesso riferimento. Login di WordPress, XML-RPC e percorsi dei plugin sono stati i bersagli più frequenti, con il 56% delle sorgenti. I file di segreti e di configurazione hanno attirato il 32%. Le sorgenti in cerca di pagine diagnostiche come /info.php sono aumentate del 33% e quelle che sondavano componenti interni delle applicazioni come /actuator/env del 37%.

Tra le sorgenti che ci hanno raggiunto, l'88% usava stringhe user-agent che si spacciano per normali browser e il 64% proveniva da server a noleggio. I paesi più frequenti erano Stati Uniti, Germania, Paesi Bassi, Singapore e India.

Come una cartella .git esposta tradisce un sito

La maggior parte dei team di sviluppo tiene traccia delle modifiche al codice con Git, e ogni progetto Git conserva la propria cronologia in una cartella nascosta .git. Se un sito viene messo in produzione copiando l'intera cartella del progetto sul server web, anche quella cartella nascosta può finire online, e chiunque ne richieda i file può leggerli.

/.git/config è stato tra i percorsi di codice sorgente più richiesti alla nostra infrastruttura esposta su Internet. Quel file indica il repository da cui proviene il codice e talvolta contiene le credenziali usate per il deploy. Gli scanner ci hanno chiesto anche /.git/head, /.git/logs/head e /.git/index, che rivelerebbero se una parte sufficiente della cartella è leggibile per spingersi oltre. Quando la cartella è esposta, gli attaccanti possono talvolta ricostruire l'intero codice sorgente e la cronologia dei commit.

L'errore è diffuso. Uno studio pubblicato a febbraio 2026 ha rilevato circa 4.96 milioni di server web pubblici che espongono metadati Git. Su 252,733 di essi il file config conteneva credenziali di deploy che, avverte lo stesso rapporto, possono portare alla presa di controllo del repository e ad attacchi alla supply chain.

Segreti in cartelle inattese

Gli scanner hanno chiesto ai nostri siti /.env nella root, ma questa settimana molti hanno cercato anche nelle sottocartelle. /mailer/.env ha attirato 40 sorgenti, 7.8 volte la sua media precedente. /live/.env, /mail/.env, /v3/.env, /sitemaps/.env, /releases/.env e /exapi/.env hanno attirato 40 sorgenti ciascuno, circa sei o sette volte le rispettive medie precedenti. Quattro percorsi ci sono arrivati per la prima volta, ciascuno da circa 10 sorgenti: /core/database/.env, /.changeset/config.json, /secrets e /settings/credentials.

Per un attaccante questi file valgono lo sforzo. Le applicazioni web conservano nei file .env chiavi API, password di database e chiavi di accesso al cloud. Un'indagine di aprile 2026 su uno scanner di massa ha trovato file .env sottratti a oltre 900 aziende compromesse, con più di 30,000 nomi di file .env distinti raccolti tra il 10 e il 21 aprile 2026. I segreti rubati riguardavano servizi di intelligenza artificiale, cloud, pagamento e messaggistica.

Lo stesso schema si è ripetuto con le credenziali cloud. /application_default_credentials.json ha attirato 40 sorgenti, 6.2 volte la sua media precedente. Gli scanner ci hanno chiesto anche /service-account.json e /.config/gcloud/application_default_credentials.json. Questo file viene creato dal login tramite la riga di comando del cloud, e la documentazione stessa del fornitore precisa che è archiviato in chiaro e consente a chi lo possiede di richiedere token di accesso a tempo indeterminato. Se una copia finisce in una web root, l'attaccante che la trova mantiene l'accesso finché non viene revocata.

Una sola scansione, molti obiettivi

Diversi gruppi coordinati di sorgenti hanno lanciato le stesse liste contro la nostra infrastruttura esposta su Internet. In uno di questi, 20 sorgenti da 7 paesi hanno richiesto gli stessi 8 percorsi, tra cui /.git/config, /.env, /info.php, /config.json, /actuator/env e /server-status. La maggior parte ha iniziato a meno di 60 ore di distanza l'una dall'altra. Due gruppi più piccoli, di circa 10 sorgenti ciascuno, hanno usato liste molto più lunghe, rispettivamente di 210 e 158 percorsi. Entrambe includevano /.git/config, varianti di .env come /.env.old e /.env.development e file di chiavi cloud.

Il percorso /actuator/env appartiene alla stessa famiglia. Quando l'endpoint Spring Boot Actuator di un'applicazione Java è raggiungibile senza login, restituisce le variabili d'ambiente e la configurazione dell'applicazione, che possono includere credenziali di database e chiavi cloud. Anche le pagine phpinfo dimenticate possono rivelare variabili d'ambiente, e sulla nostra infrastruttura /admin/phpinfo.php è salito a 5.9 volte la sua media precedente. In un caso reale, un plugin WordPress distribuiva un phpinfo.php accessibile a chiunque.

WordPress è stato oggetto di una campagna dedicata contro i nostri siti: 20 sorgenti da 7 paesi hanno richiesto /xmlrpc.php insieme a copie di wlwmanifest.xml in cartelle tirate a indovinare come /blog/wp-includes/wlwmanifest.xml e /wordpress/wp-includes/wlwmanifest.xml. Chiedere lo stesso file sotto molti nomi di cartella è un modo rapido per capire se, e dove, un sito usa WordPress. Tramite XML-RPC un attaccante può provare centinaia o migliaia di password con una sola richiesta.

Cosa fare questa settimana

  • Verificate dall'esterno. Da una rete che non sia la vostra, richiedete /.git/config e /.env su ciascuno dei vostri siti. Se uno dei due restituisce contenuto reale, date per scontato che sia già stato letto.
  • Pubblicate build, non cartelle di lavoro. Distribuite solo i file necessari al sito e bloccate l'accesso web a .git, .env e agli altri file nascosti.
  • Ruotate tutto ciò che è trapelato. Se i file .git o .env erano leggibili, cambiate le credenziali e le chiavi che contenevano. Rimuovere il file non annulla una copia che qualcuno ha già fatto.
  • Tenete i segreti fuori dalla web root. Conservate i file .env e quelli con le credenziali cloud fuori da qualsiasi cartella pubblicata. Se un file di credenziali è stato esposto anche solo una volta, revocatelo.
  • Fate pulizia. Eliminate backup come /wp-config.php.bak e /database.sql e rimuovete le pagine phpinfo e di debug.
  • Chiudete gli endpoint di gestione. Proteggete gli endpoint Actuator con l'autenticazione e disattivate XML-RPC sui siti WordPress che non lo usano.

Informazioni su queste osservazioni

Questo report è prodotto da 291 Heat Seeker One, il sistema di monitoraggio della sicurezza di 291 Group, in esecuzione su 291 Crossband, la nostra piattaforma proprietaria per le operazioni di sicurezza. Copre esclusivamente il traffico diretto all'infrastruttura di 291 Group esposta su Internet.

I valori sono arrotondati, quote e variazioni sono misurate in base al numero di sorgenti distinte e non di richieste, e sono inclusi solo i pattern osservati da almeno 20 sorgenti distinte.