[English]Heute noch ein kleiner Sicherheitsbeitrag zu einem Thema, auf das ich kürzlich per Zufall gestoßen bin. Es geht um die Möglichkeit, unter Windows per net user-Befehl versteckte, aber aktive Benutzerkonten anzulegen. Diese Möglichkeit wird zunehmend durch Malware ausgenutzt, um eine mögliche Backdoor im System einzurichten.
Anzeige
Ich bin die Tage auf Twitter über den nachfolgenden Tweet auf das Thema, welches in diesem Beitrag ausführlicher behandelt wird, aufmerksam geworden.
In einer administrativen Eingabeaufforderung ist es mittels des net user-Befehls möglich, die angelegten Benutzer einer Windows-Maschine auflisten zu lassen. Das wird in nachfolgendem Screenshot demonstriert. Der Befehl listet scheinbar alles auf, selbst die deaktivierten Konten (hier WDAGUtilityAccount), die in der Benutzerkontenverwaltung der Systemsteuerung nicht auftauchen.
Anzeige
Aber das ist nur die halbe Wahrheit, wie in den weiteren Befehlen, die ich in obigem Beispiel verwendet habe, klar wird. Mit:
net user /add name password
lässt sich über den net user-Befehl ein neues Benutzerkonto anlegen. Wird an den Namen des Benutzerkontos ein $-Zeichen angehängt, erzeugt dies ein versteckte Benutzerkonto. Ich habe oben im Beispiel den Befehl
net user /add evilborn$ evilpassword
verwendet, um einen Nutzer mit dem Namen evilborn$ einzurichten. Genau dieses Benutzerkonto taucht aber beim anschließend eingetippten Befehl net user nicht in der Auflistung der Benutzerkonten auf. Das Konto existiert aber, da der Befehl:
net user evilborn$
die nachfolgende Ausgabe in der Eingabeaufforderung anzeigt.
Wenn also jemand ein System auf kompromittierte Benutzerkonten überprüft, würde er über net user genau dieses Benutzerkonto nicht angezeigt bekommen. Geht man dagegen in die Systemsteuerung und schaut sich die Liste der Benutzerkonten an, wird das versteckte (aber aktive) Benutzerkonto dagegen angezeigt.
Dort werden aber keine deaktivierten Konten, wie der oben erwähnte Eintrag WDAGUtilityAccount, gelistet. Das ist etwas, was man bei der Inspektion eines Systems auf eventuell vorhandene Benutzerkonten wissen sollte. Im Business-Umfeld wird man allerdings die Computerverwaltung zur Inspektion der Benutzerkonten einsetzen.
Dort wird auch das versteckte Benutzerkonto angezeigt. In den Windows-Home-Varianten ließe sich der Befehl:
control.exe userpasswords2
einsetzen. Dann wird auch die Liste der aktiven Benutzerkonten angezeigt, wobei der versteckte Nutzer mit aufgeführt wird.
Ähnliche Artikel:
Windows 10 Pro: 'Lokale Benutzer und Gruppen' fehlt
Windows 10: Administratorrechte verloren …
Windows-Anmeldung zeigt plötzlich "Anderer Benutzer"
Administratorrechte durch Umstufung zum Gastkonto verloren
Anzeige
Tolle und ausführliche News, die man eigentlich nur zur Häfte braucht.
Ein Bösewicht muss eine Eingabeaufforderung mit Admin rechten Öffnen, um einen Verstecken Benutzer anzulegen.
Warum so Umständlich ?
Wenn jemand sowieso als Admin agieren kann, kann er auch gleich irgendwelche Backdoor programme direkt Installieren, und kann sich den weg über Verstecke Benutzer sparen.
Wiedermal wird ein Problem beschrieben was kein Problem ist, denn das eigentliche Problem setzt schon vorher an.
Was macht eine Böswillige Person mit Admin rechten an einem Fremden PC.
Er könnte ja auch FORMAT C: in die Kommandozeile eingeben.
Und somit wird FORMAT dann zum Problemfall oder wie ?
Zu "Warum so Umständlich ?"
Vielleicht, weil man es kann?
Aber denke nochmals über deine Antwort nach. War da nicht was mit Exchange und kompromittierten AD-Konten? Wenn es einem Angreifer gelingt, in ein System einzudringen und ein verstecktes Benutzerkonto für einen späteren Zugang einzurichten, kann er sich locker zurücklehnen, auch wenn das System ggf. einer Säuberung von infizierten Dateien unterzogen wird.
Wer sich mit forensichen Analysen befasst, sollte um die Möglichkeit wissen (mir war sie unbekannt – aber ich bin kein Forensiker). Wer allerdings auf dem Standpunkt steht "Wiedermal wird ein Problem beschrieben was kein Problem ist", da bin ich ganz bei dir, der braucht dieses Wissen wirklich nicht. Denn diese Klientel ignoriert ja auch, dass es UAC-Bypass-Möglichkeiten gibt und die Windows 10-Admins inzwischen so gut wie ausschließlich unter Administratorkonten arbeiten.
"weil man es kann"
Man kann wie schon geschrieben entsprechend auch FORMAT , DEL oder sonstige Funktionen verwenden um großen schaden anzurichten.
Backdoor oder sonstige dinge Installieren.
Dagegen ist ein Unsichbarer Benutzer das geringste problem.
Ein unsichtbarer Benutzer ist nicht so offensichtlich. Das bekommt der Besitzer eventuell gar nicht erst mit. Daher ist es schon gut von dieser Möglichkeit zu wissen.
Das kommt einfach drauf an ob man es mit Scriptkiddies oder Profis zu tun hat und was das Ziel der Angreifer ist.
Professionelle Angreifer infiltrieren manche Unternehmen monatelang (z.B. Solarwinds), dazu sind auch zusätzliche (versteckte) Admin Accounts hilfreich.
Eine Monate lange Beobachtung kann man einfach durch Installation entsprechender Programme bekommen.
Welchen nutzen hat dann ein Unsichtbarer User ?
Wenn man mit Admin rechten einen Benutzer anlegt, ist es einfacher und schneller einfach die Entsprechende Schadsoftware direkt zu installieren.
Oder meinst du, z.b. die Solarwinds geschichte hätte einen mehrwert gehabt, wenn auf den Rechnern Verstecke Benutzer Existiert hätten ?
Nach meinen Informationen wurden dort (versteckte) Administratorkonten angelegt – gleiches bei den Exchange-Hacks …
Ganz so dumm ist das nicht, denn der Account$ existiert und funktioniert auch noch, wenn der andere Account entmachtet oder gelöscht wurde.
Ich frage mich gerde, ob es solche Accounts auch im AD geben kann…
Und ich frage mich, ob man die per Netzwerk gescriptet auch finden kann…
Fazit ist wohl, daß man nur der Management Console (mmc.exe) trauen kann. Mit der kann man auch auf anderen Rechnern schauen.
Guten Morgen,
Ich habe es grade mal nachvollzogen und mein Vorschlag ist die User per Powershell zu ermitteln:
Das zugehörige Commandlet lautet: get-localuser dort sieht man sowohl versteckte User als auch deaktivierte.
Allen einen schönen Tag!
Danke für die Ergänzung – wird sicherlich dem einen oder anderen Admin helfen.
Hallo
Ich habe die schwache Erinnerung, dass get-localuser auf einem DC einen +1 Fehler hat und den neusten User nicht anzeigt.
Hab dies mal an MS gemeldet, jedoch nie eine Korrektur gesehen.
RetoFelix
Auf DCs gibt es keine lokalen User.
Das Gundproblem ist verstanden, aber die Lösungsvorschläge sind viel zu kompliziert. Grade wenn es darum gehen würden viele Rechner in einer Firma zu prüfen.
Der Powershellbefehl:
Get-LocalUser
Listet ab Win10 auch das Versteckte Benutzerkonto mit auf, inkl, aller anderen.
Bei älteren OS/Servern die den PS Befehl noch nicht kennen erledigt
Get-WmiObject Win32_UserAccount -filter "LocalAccount=True" | Select-Object Name,FullName,Disabled
die Aufgabe genau so.
Oder eine weitere Alternative inkl. Fernabfrage:
Get-WmiObject -ComputerName workstation1 -Class Win32_UserAccount -Filter "LocalAccount=True" | Select PSComputername, Name, Status, Disabled, AccountType, Lockout, PasswordRequired, PasswordChangeable | Out-GridView
"workstation1" durch localhost oder den entfernten PC Namen ersetzen.
Es ist also alles mit einem Befehl abfragebar, kein Grund sich durch 2-3 Befehle oder GUIs zu hangeln.
Gruß
War ja Sinn des Artikels. Admins im Firmenumfeld, die das nicht kannten, auf den Sachverhalt hinweisen. Diese Klientel halte ich schon für so fit, dass sie das per PowerShell oder über andere Tools dann überwachen können.
Und für die restlichen Leser wurde das "Proof of Concept" dokumentiert. Wer die Benutzerverwaltung in der Computerverwaltung einsetzen kann (ab Windows Pro), sollte bei manueller Inspektion dieses Tool (mmc.exe) einsetzen.
Genau die Info hab ich gebraucht, danke!
Wenn man kein Inventarisierungstool einsetzt, was solche Punkte regelmäßig prüft, geht aber auch der Powershell-Befehl:
get-localuser
Hier werden auch versteckte User angezeigt.
Ausführung als Benutzer reicht aus.
Ein kleiner Fehler in deinem Eintrag:
net user add evilborn$ evilpassword
sollte auf
net user /add evilborn$ evilpassword
geändert werden
Danke, hab das / unterm Schreibtisch gefunden und wieder angeklebt :-)
he, du hast ja Humor ;-)