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:
co-authored by
Claude Opus 5
parent
bdff39a278
commit
41e527c492
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user