Schlagwort-Archive: Windows 10

Windows-Betriebssysteme sind vor allem auf Personal Computern und Servern verbreitet.

Benutzer SID abfragen

Windows Benutzer SID abfragen mit wmic useraccount get

Für System Administratoren ist das abfragen von Informationen zur Umgebung und Konfiguration eine alltägliche Arbeit. Eine dieser Information ist die SID (Security Identifier), diese von Windows zur Identifikation von Benutzer und Gruppen verwendet wird. Benutzernamen in einem Netzwerk können doppelt vorhanden sein, damit es zu keinem Konflikt kommt, wird jedem Benutzer eine eindeutige SID zugewiesen.

Bei der zuwiesung der Benutzer Rechte, verwendet Windows die dafür definierte SID. Eine SID ist ungefähr so aufgebaut wie ein GUID (Globally Unique Identifier), das jedes Objekt bei Windows besitzt. Die Benutzer SIDs erhalten aber ausschließlich sicherheitsrelevate Objekte, da die SID zur Echtheitsbestätigung verwendet wird.

Durch diese SID wird der Benutzer im ganzen Netzwerk identifiziert. Auch wenn der Name des Benutzer geändert wird, bleibt die SID bestehen, wird der Benutzer im Netzwerk gelöscht, wird seine SID aufgehoben.

Aufbau meiner Benutzer SID

S-1-5-214147432549-3588766049-1627529166-1001

Die SID (Security Identifier) Token haben folgende Bedeutungen:

SEs handelt sich um eine SID
1Revisionsnummer
5Identifier Authority
18Systemprofile
19Localservice
20NetworkService
21Benutzerprofile
4147432549-3588766049-1627529166Domain ID, Computer ID
1001Benutzer ID (RID)

Tabelle mit SID der Systemkonten

Alle Benutzer SID abfragen

Möchte man nun die SID aller Benutzerkonten abfragen, geht das mit folgendem Befehl in einem Command Prompt Win+Rcmd

wmic useraccount get sid,name

Es werden alle SIDs und Benutzernamen ausgegeben.

C:\>wmic useraccount get sid,name
Name                SID
Administrator
S-1-5-21-4147432549-3588766049-1627529166-500
DefaultAccount
S-1-5-21-4147432549-3588766049-1627529166-503
john
S-1-5-21-4147432549-3588766049-1627529166-1001
Gast
S-1-5-21-4147432549-3588766049-1627529166-501

Hier die SIDs der lokalen Konten. Bei einer abfrage in einer Netzwerk Domäne können es einige mehr sein.

Computer- und Domänen-SIDs bestehen aus einer Basis-SID und einer relativen ID (RID), die an die Basis-SID angehängt wird. Wenn der Computer einer Domäne angehört, kommt eine andere SID ins Spiel. Der Computer verfügt weiterhin über eine eigene Computer-SID und eigene lokale Konten und Gruppen, ist jedoch auch Mitglied einer Domäne und verfügt daher über eine SID, die das Computerkonto in dieser Domäne darstellt. Die SID eines Computerkonto besteht aus der SID des Administratorenkonto, abzüglich der RID, die letzten 3 bit oder 4 bit (500) entfallen.

Spezifische Benutzer SID abfragen

Soll gezielt die SID eines Benutzers abgefragt werden, zum Beispiel seine eigene SID, kann dies mit folgendem Command abgerfagt werden.

wmic useraccount where name='%username%' get name,sid

Möchte man die SID eines anderen Benutzers wissen, kann anstelle von %username% ein Benutzer angegeben werden, zB, john.

Mit folgendem Befehl lässt sich die SID des mit dem gerade angemeldeten Benutzer in einer AD-Domäne feststellen.

wmic useraccount where (name='%username%' and domain='%userdomain%') get domain,name,sid

In umgekehrter folge geht es auch, es soll der Benutzername einer SID abgefragt werden.

wmic useraccount where sid='S-1-5-21-4147432549-3588766049-1627529166-1001' get name

Benutzer SID in der PowerShell abfragen

In der PowerShell sieht die Benutzer SID abfrage wie folgt aus.

[wmi] "win32_userAccount.Domain='$env:UserDomain',Name='$env:UserName'"

Es wird der Benutzername und die SID des in der Domäne company angemeldeten Benutzers ausgegeben.

PS C:\> [wmi] "win32_userAccount.Domain='$env:UserDomain',Name='$env:UserName'"

AccountType : 512
Caption     : company\john
Domain      : company
SID         : S-1-5-21-4147432549-3588766049-1627529166-1001
FullName    : john smith
Name        : john

Hiermit kann beispielsweise mit der SID der ProfileImagePath zum Benutzerprofil in der Registry gefunden werden, um Reparaturen oder Anpassungen vornehmen zu können. Auch wird die Benutzer SID als ObjectID in SQL-Tabellen verwendet, um Benutzer aus Active Directory in einer Anwendung identifizieren und authorisieren zu können, so zum Beispiel bei Dynamics AX.

Windows Benutzer SID abfragen mit wmic useraccount get
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

RDS-Exploit BlueKeep (CVE-2019-0708) finden mit RDPScan

RDS-Exploit für RDP-Leck BlueKeep in Windows mit RDPScan aufspüren

Microsoft veröffentlichte am Patchday im Mai außergewöhnliche Sicherheitsupdates für eigentlich ausgelaufe Produkte wie Windows XP und Server 2003. Der Grund ist eine als „kritisch“ eingestufte Sicherheitslücke (CVE-2019-0708) in der Fernwartungsfunktion Remote Desktop Services (RDP). Windows 8.1 und 10 sind davon nicht betroffen.

Schwachstelle RDS-Exploit BlueKeep

Die Schwachstelle CVE-2019-0708 wird von Microsoft als außerordentlich kritisch eingeschätzt, so dass der Hersteller sogar Security Updates (KB4500331 und KB 4499180) für Windows XP, Vista und Server 2003 bereitstellte, obwohl für sie der Support schon abgelaufen ist.

Mit RDPScan RDP-Schwachstelle Bluekeep CVE-2019-0708 suchen

Die Wurm-Attacke wie WannaCry soll sich möglichst nicht wiederholen. Deshalb liefert Microsoft auch Patches gegen eine massive Lücke im Remote Desktop Protokoll. Betroffen sind nur ältere Systeme bis einschließlich Windows 7 und die auch nur, wenn Sie RDP nutzen. Ob eines Ihrer Systeme betroffen ist, können Sie mit dem Kommandozeilen-Tool rdpscan testen. Der Sicherheitsexperte Robert David Graham stellt dieses Tool bereit.

ZIP-Datei auf Windows auspacken

Das Tool RDPScan für RDS-Exploit BlueKeep in der ZIP-Datei auf dem Windows System entpacken. Die Ausführung gibt es nur von der Kommandozeile aus, es gibt keine GUI. Die Handhabung ist trotzdem nicht besonders schwer. Der Befehl lautet „rdpscan IP-Adressbereich“. Um beispielsweise ein typisches Netzwerk zu scannen, genügt also „rdpscan 192.168.1.1-192.168.1.254“ für die vergebenen Adressen. Beachte, dass die IP-Adressen entsprechend der Netzwerkkonfiguration anpasst werden müssen. Der Befehl „ipconfig“ gibt die Netzwerk Adressse aus.

RDPScan Ausführung

Mit dem Open-Source Tool rdpscan können Admins ihr Netzwerk nach PCs absuchen. Es ist ein Kommando­zeilen­programm, mit diesem man einzelne IP-Adresse oder einen IP-Bereich als Parameter übergibt, so zum Beispiel:

C:\> rdpscan 192.168.1.1-192.168.1.254
192.168.1.123 - VULNERABLE - got appid
192.168.1.5 - VULNERABLE - got appid
192.168.1.22 - VULNERABLE - got appid
192.168.1.220 - SAFE - Target appears patched
192.168.1.222 - SAFE - Target appears patched
192.168.1.29 - UNKNOWN - RDP protocol error - failed to extract public-key
192.168.1.66 - SAFE - CredSSP/NLA required
192.168.1.62 - SAFE - CredSSP/NLA required
192.168.1.231 - SAFE - Target appears patched
192.168.1.23 - SAFE - Target appears patched
192.168.1.24 - SAFE - Target appears patched

VULNERABLE – got appid bedeutet, dass das System CVE-2019-0708 verwundbar ist.

Die Ausgabe SAFE – CredSSP/NLA required bedeutet, dass auf dem Rechner die Network Level Authentication (NLA) aktiviert wurde, dabei der RDP-Scanner nicht eindeutig feststellen kann, ob die Schwachstelle wircklich geschlossen ist.

 Dies führt zu einem von drei Ergebnissen für jede Adresse:

  • SICHER – wenn das Ziel festgestellt ist, dass der Bot gepatcht werden muss oder zumindest CredSSP/NLA erfordert
  • VULNERABLE – wenn bestätigt wurde, dass das Ziel angreifbar ist
  • UNBEKANNT – wenn das Ziel nicht antwortet oder ein Protokollfehler vorliegt