Registrierungsschlüssel zur automatischen Ausführung
Automatisierung ist etwas feines, aber auch gefährlich. Unter Windows gibt es verschiedene Registry-Zweige, um z.B. Applikationen oder Dienste einmalig oder persistent ausführen zu lassen. Das kann nach direkt dem Boot oder einer auch Anmeldung geschehen.
Aus diesem Grund sollte man die Einträge in der Registry kennen und sich intensiv damit auseinandersetzen. Es ist wichtig zu wissen, welche Programme, Dienste oder DLLs automatisch geladen werden. Denn Angreifer machen sich diese zu Nutze, um Malware auf das System zu bringen oder Schadcode auszuführen.
Startvorgang beim Start oder Anmeldung
Anhand eines Beispiels würde ich gerne zeigen, wie einfach es ist, einen Befehl ohne Wissen des Benutzers persistent laufen zu lassen.
Im Hintergrund protokolliere ich z.B. die Anmeldezeiten aller Benutzer. Ich weiß, die stehen im Event-Log, ist ja auch nur ein Beispiel.
Dazu erstelle ich in der Registry einen neuen Eintrag unter “Run”.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
“LogonTo”=”\”C:\\Windows\\System32\\cmd.exe\” /q /c \”echo LogonOnToServer %username% at %time% >> C:\\Temp\\LogoOn.txt\””
Ab sofort wird bei jeder Anmeldung ein Skript “Befehl” ausgeführt welches die Anmeldezeiten persistent protokolliert.
Wenn ein Startvorgang nur einmalig ausgeführt werden soll, dann erstellt man den Eintrag unter “RunOnce”.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
“LogonTo”=”\”C:\\Windows\\System32\\cmd.exe\” /q /c \”echo LogonOnToServer %username% at %time% >> C:\\Temp\\LogoOn.txt\””
Die unter “RunOnce” hinterlegten Befehle werden in der Regel vor der Ausführung gelöscht. Wenn man den Eintrag erst gelöscht wissen möchte, nachdem der Befehl ausgeführt wurde, dann stellt man dem Wert ein Ausrufezeichen “!LogonTo” voran.
An den hier aufgelisteten mir bekannten Stellen, kann diese Art der automatischen Ausführungen einmalig oder persistent konfiguriert werden: