DumpServiceAccounts

VBScript und 64Bit !
Viele 32bit COM-Objekte lassen sich auf einem 64bit System nur instanziieren, wenn die 32bit Version von CSCRIPT/WSCRIPT genutzt wird, welcher unter C:\Windows\SysWOW64\cscript.exe liegt.

Ein fast alltäglicher Anruf bei Net at Work läuft daraus hinaus, was man beachten muss, wenn man ein Kennwort eines Administrators ändern oder was man beim löschen eines Kontos beachten muss. Hoffentlich ist ihr Netzwerk so gepflegt, dass Sie das jederzeit tun können aber oft ist nicht jedem klar, wo �berall ein Konto versteckt sein kann. Ein häufiger Ort sind die Dienste auf einem Computer, welche mit einem Dienstkonto laufen. Und sehr oft wurde bei der Installation "schnell mal" das Konto eines Mitarbeiters genutzt.

Solange es sich nur um einen Server handelt, ist das ja relativ schnell erledigt. DumpServiceAccounts ist ein Skript, welches die Dienste auf allen Server durchforstet, die man ihm per Datei oder LDAP-Suche gibt und in einer einfachen CSV-Datei den Servernamen, Dienstnamen und das Anmeldekonto heraus schreibt.

Download und Start

DumpServiceAccounts ist ein einfaches VBScript, dessen Erweiterung Sie nach dem Herunterladen erst nach "vbs" ändern müssen.

dumpserviceaccount.1.0.vbs

Am besten speichern Sie das Skript in einem leeren Verzeichnis und rufen es dann mit CSCRIPT auf, damit die Diagnoseausgaben auf dem Bildschirm lesbar sind.

cscript dumpserviceaccount.1.0.vbs /AD:dc=msxfaq,dc=local

Auf der Console sieht an die ermittelten Computer und den Status während der Analyse:

DumpServiceAccounts Shell

Das Skript generiert bei jedem Start eine neue CSV-Datei.

CSV Ausgabe

Der Inhalt der CSV-Datei ist einfach strukturiert. Es gibt neben der �berschrift für jeden Dienst pro Server genau eine Zeile mit den Daten

Ausgabe mit Excel auswerten

f�r mittlere Umgebungen ist es meist ausreichend, die Daten einfach per Excel als Tabelle zu öffnen und auszuwerten. Man kann auch einfach �ber Pivot-Tabellen nach Anmeldekonten  und dann nach Servern gruppieren und so sehr schnell sehen, wie oft welches Dienstkonto auf welchen Server genutzt wird.

Pivot Tabelle

So kann man zum einen gezielt nach einem Dienstkonto suchen, auf welchen Diensten und Servern es verwendet wird.

Einschränkungen

Auch wenn DumpServiceAccounts in den meisten füllen die häufigsten Verwendungen von Dienstkonten ermitteln kann, so ist es keine vollständige Analyse eines Servers. Es gibt durchaus noch weitere Stellen, an denen Programme und Administratoren Anmeldedaten hinterlegen können, z.B.

  • Geplante Taskplaner
    Bei Windows Taskplaner kann man ähnlich einem Unix CRON-Job bestimmte Prozesse von Betriebssystem zu vorgegebenen Zeiten mit abweichenden Anmeldedaten starten lassen. Diese Verwendung liest DumpServiceAccount nicht aus
  • Anwendungskonfiguration
    Es gibt viele Anwendungen, die Anmeldedaten nicht vom Benutzer erfragen, sondern im Code bzw. der Konfiguration hinterlegen. Dazu zählt z.B.: der IIS selbst, welcher die INETUSR und IWAMUser-Accounts verwendet und ASP/ASPX-Entwickler können ebenfalls eigene Anmeldedaten z.B. zur Verbindung zu Datenbanken etc. verwenden. Dies kann DumpServiceAccount Natürlich auch nicht erkennen.
    Dieser Bereich ist sehr umfangreich, so dass hier nur die individuelle Sichtprüfung der Dienste und Prozesse Risiken minimieren kann.

Wer etwas mehr Zeit hat, kann �ber das Windows Security Eventlog gehen und hier alle Anmeldungen protokollieren lassen. In Verbindung mit dem "richtigen" Hilfsmittel kann man hieraus Anmeldungen und die Station auf dem Domaincontroller extrahieren.

Weitere Links