Auto-Logon aktiv — Registry-Weg, sicherer Weg blieb wirkungslos

Endstand verifiziert: AutoAdminLogon=1, DefaultUserName=ah,
DefaultDomainName=HOMEBASE, Aufgabe OilAutoLogonLock Bereit und auf
autologon_lock.ps1 zeigend. Die Boot-Luecke ist damit konfiguratorisch
geschlossen.

⚠ Der SICHERE Weg hat nicht funktioniert: Sysinternals Autologon beendete sich
mit ExitCode 0, schrieb aber nichts — weder ueber den Dialog noch ueber die
Argument-Form. Ausgeschlossen: DevicePasswordLessBuildVersion (nicht gesetzt),
fehlende Elevation, haengender Prozess. Ursache ungeklaert. Aktiv ist deshalb
der Registry-Weg, und damit steht das Passwort im KLARTEXT unter
HKLM\...\Winlogon\DefaultPassword — lesbar fuer jeden lokalen Admin und jedes
Backup-Image. Entfernen-Kommando in CLAUDE.md.

⚠ Dritter Fall derselben Fehlerklasse in diesem Skript, jetzt behoben: die
Speicherart wurde aus einer stale Variable gelesen, die VOR dem
Registry-Schreiben gefuellt war. Die Ausgabe widersprach sich direkt — erst
korrekt 'steht jetzt im KLARTEXT', zwei Zeilen spaeter 'nicht im Klartext '.
Der Zustand wird jetzt nach jedem Schreibvorgang frisch gelesen.

Lehre aus allen drei Faellen: eine Erfolgsmeldung muss den Zustand NACH der
Aktion pruefen, nicht den davor.

Offen: die Wirkung ist erst beim naechsten Reboot belegt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-07 06:58:02 +02:00
co-authored by Claude Opus 5
parent bdff39a278
commit 41e527c492
2 changed files with 41 additions and 3 deletions
+16 -2
View File
@@ -192,8 +192,6 @@ if (-not $aktiv) {
$aktiv = ($an -eq '1')
Write-Host ""
Write-Host " AutoAdminLogon : $an"
Write-Host " ⚠ DefaultPassword steht jetzt im KLARTEXT in der Registry." -ForegroundColor Yellow
Write-Host " Entfernen mit: Remove-ItemProperty -Path '$k' -Name DefaultPassword"
}
if (-not $aktiv) {
@@ -201,6 +199,22 @@ if (-not $aktiv) {
exit 1
}
# ⚠⚠ NEU EINLESEN, NICHT den alten Wert wiederverwenden. Beim ersten Bau stand
# hier eine stale Variable aus der Zeit VOR dem Registry-Schreiben — die Ausgabe
# widersprach sich dann direkt: erst korrekt "steht jetzt im KLARTEXT", zwei
# Zeilen spaeter "nicht im Klartext (LSA-Secret) ✅". DRITTER Fall derselben
# Fehlerklasse in diesem Skript (Erfolg melden, wo keiner ist bzw. wo das
# Gegenteil zutrifft). Der Zustand wird deshalb immer frisch gelesen.
$klartext = (Get-ItemProperty -Path $k -Name DefaultPassword -EA SilentlyContinue).DefaultPassword
Write-Host ""
if ($klartext) {
Write-Host " SPEICHERART: ⚠ Passwort im KLARTEXT in der Registry." -ForegroundColor Yellow
Write-Host " Entfernen (deaktiviert damit auch den Auto-Logon):"
Write-Host " Remove-ItemProperty -Path '$k' -Name DefaultPassword"
} else {
Write-Host " SPEICHERART: verschluesseltes LSA-Secret ✅" -ForegroundColor Green
}
if ($klartext) {
Write-Host " DefaultPassword : ⚠ KLARTEXT in der Registry!" -ForegroundColor Yellow
} else {