Questa configurazione permette di evitare avvisi Safe Browsing su Mozilla Firefox durante le campagne di phishing simulato. Utilizza Group Policy Objects in Active Directory.
A differenza di Chrome ed Edge, Firefox non applica la preferenza urlclassifier.skipHostnames se distribuita tramite Registry/Preferences GPO (la preferenza compare in about:policies ma non in about:config su Firefox 140+). L'unico metodo funzionante è scrivere un file user.js direttamente nella cartella del profilo utente, distribuito tramite uno script PowerShell come Startup Script della GPO.
Prerequisiti
- Active Directory Domain Services (AD DS) funzionante
- Credenziali di Domain Admin
- Mozilla Firefox installato sui client (versione 102 ESR o successiva)
- Accesso a Group Policy Management Console (gpmc.msc)
- Possibilità di abilitare l'esecuzione di script PowerShell tramite GPO
ℹ️ Nota: Per questa configurazione non sono necessari i template ADMX di Firefox. La preferenza urlclassifier.skipHostnames viene gestita interamente tramite uno script PowerShell che scrive il file user.js nei profili utente.
Passo 1: Abilitare l'esecuzione degli script PowerShell via GPO
Per default Windows blocca l'esecuzione degli script PowerShell non firmati. Senza questa configurazione lo script di whitelist non verrà eseguito.
- Aprire Group Policy Management Console (gpmc.msc)
- Creare o modificare la GPO target (vedi Passo 2 per crearla)
- Navigare a:
Computer Configuration → Policies → Administrative Templates
→ Windows Components → Windows PowerShell
- Aprire Turn on Script Execution → Selezionare Enabled → Scegliere
Allow all scripts→ OK - Tornare in:
Computer Configuration → Policies → Administrative Templates
→ System → Scripts
- Aprire Allow logon scripts when NetBIOS or WINS is disabled → Enabled → OK
Passo 2: Creare e linkare la GPO
- Aprire Group Policy Management Console (gpmc.msc)
- Navigare alla OU (Organizational Unit) target
- Cliccare destro su OU → Create a GPO in this domain, and Link it here
- Digitare il nome:
Cyber Guru SafeBrowsing Whitelist - Firefox - Cliccare OK
Passo 3: Creare lo script PowerShell e copiarlo su SYSVOL
Lo script scrive il file user.js in tutti i profili Firefox di tutti gli utenti del client. Va memorizzato nella cartella SYSVOL della GPO (NON in un percorso locale del Domain Controller, altrimenti non verrà raggiunto dai client).
- Dalla console GPMC, cliccare destro sulla GPO
Cyber Guru SafeBrowsing Whitelist - Firefox→ Edit - Navigare a:
Computer Configuration → Policies → Windows Settings → Scripts (Startup/Shutdown)
- Doppio clic su Startup → Cliccare la tab PowerShell Scripts → Cliccare Show Files...
- Si aprirà la cartella SYSVOL della GPO (es.
\\<dominio>\SysVol\<dominio>\Policies\{GUID}\Machine\Scripts\Startup\) - In questa cartella, creare un nuovo file di nome
CyberGuru_Firefox_SafeBrowsing.ps1con il seguente contenuto:
# CyberGuru_Firefox_SafeBrowsing.ps1
# Distribuisce user.js in tutti i profili Firefox di tutti gli utenti
$logFile = "C:\Windows\Temp\CyberGuru_Firefox.log"
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $logFile -Value "--- Esecuzione: $timestamp ---"
$domini = '10eurodisconto.com,admin-help.info,agenziaesattoriale.it,amazonn.cloud,amazonws.it,antifrodi.it,apple-cl0ud.com,bn-k.eu,bn-k.org,bolletta-digitale.it,bulanmisa.com,comunicazioni-sicure.it,courierxpress.eu,cyberguru.eu,cyberguru.it,dropcloud.it,er9.es,er9.eu,er9.it,faceb00k.it,fast-shipping.it,fotocloud.net,g0ogle.eu,go0gle.store,goolge-secure.com,human-resource.tech,icloud-secure.eu,iscrizionigratuite.it,lnkedin.eu,macrosotf.com,mastercardz.com,netfliix.org,newsupdate.cloud,oultook.cloud,pagamenti-f24.it,remote-otp.com,security-service.cloud,securetracking.online,spotfy.org,telecomunicazioniitaliane.it,tribunaleroma.eu,urgente.eu,w0rld.info'
$userJsContent = 'user_pref("urlclassifier.skipHostnames", "' + $domini + '");'
Get-ChildItem "C:\Users" -Directory | ForEach-Object {
$profilesDir = Join-Path $_.FullName "AppData\Roaming\Mozilla\Firefox\Profiles"
if (Test-Path $profilesDir) {
Get-ChildItem $profilesDir -Directory -Filter "*.default*" | ForEach-Object {
$userJs = Join-Path $_.FullName "user.js"
try {
Set-Content -Path $userJs -Value $userJsContent -Force
Add-Content -Path $logFile -Value "OK: $userJs"
} catch {
Add-Content -Path $logFile -Value "ERRORE: $userJs - $_"
}
}
}
}
Add-Content -Path $logFile -Value "--- Fine ---"
- Tornare nella finestra Startup Properties → Cliccare Add... → Browse... → Selezionare
CyberGuru_Firefox_SafeBrowsing.ps1all interno del path\\<dominio>\SysVol\<dominio>\Policies\{GUID}\Machine\Scripts\Startup\appena creato. - Cliccare OK due volte per salvare
⚠️ IMPORTANTE: Il file
.ps1deve trovarsi nella cartella SYSVOL aperta da "Show Files...". Se viene referenziato un percorso locale del DC (es.C:\Users\Administrator\Downloads\firefox.ps1), i client non potranno raggiungerlo e lo script non verrà eseguito.
Passo 4: Verifica su endpoint
- Su un client Windows con Firefox installato, applicare la policy e riavviare il PC (lo Startup Script viene eseguito solo al boot,
gpupdate /forcenon lo ri-esegue):
gpupdate /force
shutdown /r /t 0
- Dopo il riavvio, verificare che lo script sia stato eseguito aprendo:
C:\Windows\Temp\CyberGuru_Firefox.log
Devono comparire righe OK: C:\Users\<utente>\AppData\Roaming\Mozilla\Firefox\Profiles\<profilo>.default-release\user.js
- Aprire Firefox e navigare a:
about:config
Cercare urlclassifier.skipHostnames — deve contenere l'elenco dei 43 domini Cyber Guru.
- Navigare su un dominio whitelistato (es.
dropcloud.it) → nessun avviso Safe Browsing rosso.
Risoluzione problemi
urlclassifier.skipHostnames compare in about:policies ma NON in about:config:
- Il metodo Registry/Preferences GPO non funziona su Firefox 140+. Usare obbligatoriamente lo script PowerShell con
user.js(Passo 3) - Verificare che il file
user.jsesista nel profilo in uso (controllare quale è quello attivo daabout:profiles) - Chiudere completamente Firefox (anche dal Task Manager) e riaprirlo
Lo script PowerShell non viene eseguito (log assente):
- Verificare che
.ps1sia stato copiato nella cartella SYSVOL della GPO (non in path locali del DC). Riaprire "Show Files..." per controllare - Verificare che la Execution Policy sia stata abilitata via GPO (Passo 1)
-
gpupdate /forcericarica le policy ma non ri-esegue gli Startup Scripts: serve un riavvio completo del client - Eseguire
gpresult /h report.htmlsul client per confermare che la GPO sia applicata
Lo script viene eseguito ma user.js non viene scritto:
- Lo script gira come SYSTEM:
$env:APPDATApunta al profilo di sistema, non agli utenti. Lo script fornito (Passo 3) scansiona correttamenteC:\Users\per ogni profilo - Verificare i permessi sulle cartelle utente (di norma SYSTEM ha accesso completo)
Avvisi Safe Browsing ancora presenti su sottodomini:
-
urlclassifier.skipHostnamesrichiede match esatto del dominio. Aggiungere i sottodomini specifici nella lista (es.ciao.dropcloud.it)
user.js esiste ma viene ignorato:
- Verificare che Firefox sia stato chiuso completamente prima dell'apertura. Il
user.jsviene letto solo all'avvio - Verificare che il profilo modificato sia effettivamente quello in uso (
about:profiles→ "This is the profile in use")