Diese Konfiguration verhindert Safe Browsing-Warnungen auf Mozilla Firefox während simulierter Phishing-Kampagnen. Sie verwendet Group Policy Objects in Active Directory.
Im Gegensatz zu Chrome und Edge wendet Firefox die Einstellung urlclassifier.skipHostnames nicht an, wenn sie über Registry/Preferences GPO verteilt wird (die Einstellung erscheint in about:policies, aber nicht in about:config auf Firefox 140+). Die einzige funktionierende Methode besteht darin, eine user.js-Datei direkt in den Benutzerprofilordner zu schreiben, die über ein PowerShell-Skript als Startup Script der GPO verteilt wird.
Voraussetzungen
- Funktionsfähige Active Directory Domain Services (AD DS)
- Domain Admin-Anmeldedaten
- Mozilla Firefox auf den Clients installiert (Version 102 ESR oder später)
- Zugriff auf Group Policy Management Console (gpmc.msc)
- Möglichkeit, die PowerShell-Skriptausführung über GPO zu aktivieren
ℹ️ Hinweis: Für diese Konfiguration sind keine Firefox ADMX-Vorlagen erforderlich. Die Einstellung urlclassifier.skipHostnames wird vollständig über ein PowerShell-Skript verwaltet, das die user.js-Datei in Benutzerprofilen schreibt.
Schritt 1: PowerShell-Skriptausführung über GPO aktivieren
Standardmäßig blockiert Windows die Ausführung unsignierter PowerShell-Skripte. Ohne diese Konfiguration wird das Whitelist-Skript nicht ausgeführt.
- Group Policy Management Console (gpmc.msc) öffnen
- Ziel-GPO erstellen oder ändern (siehe Schritt 2 zum Erstellen)
- Navigieren Sie zu:
Computer Configuration → Policies → Administrative Templates
→ Windows Components → Windows PowerShell
- Turn on Script Execution öffnen → Enabled wählen →
Allow all scriptsauswählen → OK - Zurück zu:
Computer Configuration → Policies → Administrative Templates
→ System → Scripts
- Allow logon scripts when NetBIOS or WINS is disabled öffnen → Enabled → OK
Schritt 2: GPO erstellen und verknüpfen
- Group Policy Management Console (gpmc.msc) öffnen
- Zur Ziel-OU (Organizational Unit) navigieren
- Rechtsklick auf OU → Create a GPO in this domain, and Link it here
- Namen eingeben:
Cyber Guru SafeBrowsing Whitelist - Firefox - OK klicken
Schritt 3: PowerShell-Skript erstellen und auf SYSVOL kopieren
Das Skript schreibt die user.js-Datei in alle Firefox-Profile aller Benutzer auf dem Client. Sie muss im SYSVOL-Ordner der GPO gespeichert werden (NICHT in einem lokalen Pfad des Domain Controllers, sonst können die Clients nicht darauf zugreifen).
- Aus der GPMC-Konsole Rechtsklick auf die GPO
Cyber Guru SafeBrowsing Whitelist - Firefox→ Edit - Navigieren Sie zu:
Computer Configuration → Policies → Windows Settings → Scripts (Startup/Shutdown)
- Doppelklick auf Startup → Tab PowerShell Scripts klicken → Show Files... klicken
- Der SYSVOL-Ordner der GPO wird geöffnet (z. B.
\\<dominio>\SysVol\<dominio>\Policies\{GUID}\Machine\Scripts\Startup\) - In diesem Ordner eine neue Datei mit dem Namen
CyberGuru_Firefox_SafeBrowsing.ps1mit folgendem Inhalt erstellen:
# CyberGuru_Firefox_SafeBrowsing.ps1
# Verteilt user.js in alle Firefox-Profile aller Benutzer
$logFile = "C:\Windows\Temp\CyberGuru_Firefox.log"
$timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $logFile -Value "--- Ausführung: $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 "FEHLER: $userJs - $_"
}
}
}
}
Add-Content -Path $logFile -Value "--- Ende ---"
- Zurück zum Fenster Startup Properties → Add... klicken → Browse... →
CyberGuru_Firefox_SafeBrowsing.ps1im Pfad\\<dominio>\SysVol\<dominio>\Policies\{GUID}\Machine\Scripts\Startup\auswählen. - Zweimal OK klicken zum Speichern
⚠️ WICHTIG: Die
.ps1-Datei muss sich im SYSVOL-Ordner befinden, der über "Show Files..." geöffnet wurde. Wenn ein lokaler Pfad des DC referenziert wird (z. B.C:\Users\Administrator\Downloads\firefox.ps1), können die Clients nicht darauf zugreifen und das Skript wird nicht ausgeführt.
Schritt 4: Überprüfung auf Endpoint
- Auf einem Windows-Client mit installiertem Firefox die Policy anwenden und den PC neu starten (das Startup Script wird nur beim Boot ausgeführt,
gpupdate /forceführt es nicht erneut aus):
gpupdate /force
shutdown /r /t 0
- Nach dem Neustart überprüfen, ob das Skript ausgeführt wurde, indem Sie öffnen:
C:\Windows\Temp\CyberGuru_Firefox.log
Es sollten Zeilen wie OK: C:\Users\<utente>\AppData\Roaming\Mozilla\Firefox\Profiles\<profilo>.default-release\user.js angezeigt werden
- Firefox öffnen und navigieren zu:
about:config
Nach urlclassifier.skipHostnames suchen — sollte die Liste der 43 Cyber Guru-Domains enthalten.
- Zu einer whitelisteten Domain navigieren (z. B.
dropcloud.it) → keine rote Safe Browsing-Warnung.
Fehlerbehebung
urlclassifier.skipHostnames erscheint in about:policies, aber NICHT in about:config:
- Die Registry/Preferences GPO-Methode funktioniert auf Firefox 140+ nicht. Sie müssen das PowerShell-Skript mit
user.jsverwenden (Schritt 3) - Überprüfen Sie, ob die
user.js-Datei im verwendeten Profil vorhanden ist (überprüfen Sie, welches aktiv ist, vonabout:profiles) - Firefox vollständig schließen (auch vom Task Manager) und erneut öffnen
Das PowerShell-Skript wird nicht ausgeführt (Log fehlt):
- Überprüfen Sie, ob die
.ps1-Datei in den SYSVOL-Ordner der GPO kopiert wurde (nicht in lokale DC-Pfade). "Show Files..." erneut öffnen zum Überprüfen - Überprüfen Sie, ob die Execution Policy über GPO aktiviert wurde (Schritt 1)
-
gpupdate /forcelädt die Policies neu, führt aber nicht die Startup Scripts erneut aus: Ein vollständiger Neustart des Clients ist erforderlich gpresult /h report.htmlauf dem Client ausführen, um zu bestätigen, dass die GPO angewendet wird
Das Skript wird ausgeführt, aber user.js wird nicht geschrieben:
- Das Skript wird als SYSTEM ausgeführt:
$env:APPDATAverweist auf das Systemprofil, nicht auf Benutzerprofile. Das bereitgestellte Skript (Schritt 3) scannt korrektC:\Users\für jedes Profil - Überprüfen Sie die Berechtigungen für Benutzerordner (normalerweise hat SYSTEM vollständigen Zugriff)
Safe Browsing-Warnungen sind immer noch auf Subdomains vorhanden:
-
urlclassifier.skipHostnameserfordert exakte Domain-Übereinstimmung. Fügen Sie die spezifischen Subdomains zur Liste hinzu (z. B.ciao.dropcloud.it)
user.js existiert, wird aber ignoriert:
- Überprüfen Sie, dass Firefox vollständig geschlossen wurde, bevor es geöffnet wird. Die
user.js-Datei wird nur beim Start gelesen - Überprüfen Sie, dass das geänderte Profil tatsächlich das verwendete ist (
about:profiles→ "This is the profile in use")