SuRun

For an automatic english translation of this site, click here.

Inhalt:

  1. Einleitung
  2. Das Problem
  3. Vereinfachung des Problems durch SuRun
  4. Installation
  5. Deinstallation
  6. Konfiguration
  7. Betrieb
  8. Download
  9. Was fehlt?
  10. Danke!
  11. Veränderungen
  12. Forum

Einleitung:00-surunsmall.png

SuRun ist eine kostenlose Software mit frei verfügbarem Quelltext die das Arbeiten mit eingeschränkten Rechten unter Windows 2000, XP, Server 2003 und Vista erleichtert.

SuRun ermöglicht es, bestimmte Programme mit administrativen Rechten zu starten, ohne ein Kennwort anzugeben, ohne die Registry des Benutzers zu wechseln oder Umgebungsvariablen zu verändern.

SuRun läuft nicht in Windows 95/98/ME.

Das Problem:

In Windows NT und dessen Nachfolgern (2000, XP, 2003, Vista…) hat Microsoft eine Rechteverwaltung integriert. Anhand von Zugriffskontrollisten legt Windows fest, ob und wie auf Objekte (z.B. Dateien, Geräte, Registryschlüssel) zugegriffen werden darf oder nicht.

Jedes Programm wird standardmäßig mit den Rechten des Programms ausgeführt, das es startet. So z.B. erbt Notepad üblicher Weise die Rechte von Explorer.

Auch schadhafte Software, die ausgeführt wird, hat die Rechte des ausführenden Programms. So würde ein Virus die Rechte des Internet Explorers bekommen der die Rechte von Explorer bekam der die Rechte des angemeldeten Benutzers hat.

Wenn man immer als Administrator arbeitet kann ein Virus den PC unbemerkt komplett übernehmen und das System unbrauchbar machen.

Durch die integrierte Unterstützung für Virtualisierung in allen aktuellen Prozessoren kann man sogar das ganze Windows im laufenden Betrieb in eine virtuelle Maschine verbannen. Ein experimentelles Beispiel dafür hat 2007 Joanna Rutkowska (http://InvisibleThings.org) mit BluePill (http://bluepillproject.org) geliefert. Sie packt das System „zurück in die Matrix“, während Windows weiterhin meint die Kontrolle zu haben. Doch auch BluePill braucht Administratoren-Rechte (oder eine Lücke im System). Sonst kann sie sich nicht installieren.

Arbeitet man mit eingeschränkten Rechten, kann ein Virus das System prinzipiell nicht angreifen, da ihm, wie dem angemeldeten Benutzer, die Rechte dazu fehlen.

In Windows ist es mit Bordmitteln nicht leicht, mit eingeschränkten Rechten zu arbeiten. Selbst für einfache Sachen, wie das Stellen der Systemuhr oder das Anpassen der Energieverwaltung, braucht Windows einen Administrator. Software darf man normalerweise gar nicht installieren, Hardware auch nicht.

Historisch gewachsene Windows Programme benutzen INI-Dateien im Windows-Verzeichnis um deren Einstellungen zu speichern. All diese Programme laufen nicht mit eingeschränkten Rechten. Man muss die Berechtigungen für jede INI-Datei anpassen, damit eingeschränkte Benutzer darin schreiben dürfen.

Vereinfachung des Problems durch SuRun:

SuRun lässt bestimmte Benutzer auf Anfrage eine Anwendung mit administrativen Rechten ausführen. Es hat einen eigenen Windows Dienst, der das gewünschte Programm mit Administratorrechten, aber im Kontext des eingeschränkten Benutzers startet. Vorher muss der Benutzer auf einem abgesicherten Desktop den Start der Anwendung bestätigen.

Dadurch kann man administrative Aufgaben erledigen, ohne Administrator zu sein und ohne ein Administratoren-Kennwort zu kennen.

Im Gegensatz zur Benutzerkontensteuerung (UAC) von Windows Vista und Nachfolgern startet SuRun Programme immer im Kontext des Benutzers und nicht im Kontext eines Systemadministrators.

Eine genauere Beschreibung der Funktionsweise von SuRun steht hier.

Zur Kommunikation mit dem Benutzer bedient sich SuRun eines eigenen, sicheren Desktops.

Ein Desktop ist der Teil in Windows, den der Benutzer auf seinen Bildschirmen sieht. Der Desktop empfängt exklusiv alle Tastatur- und Mauseingaben.
Ein Desktop ist auch ein Objekt, das mit einer Zugriffskontrolliste geschützt ist. Will ein Programm auf einen Desktop zugreifen, also z.B. ein Fenster anzeigen, ist dazu die entsprechende Berechtigung in der Zugriffskontrolliste des Desktop erforderlich.
Muss der SuRun Dienst mit dem Benutzer interagieren, erstellt er dazu einen neuen Desktop über den er mit dem Benutzer kommuniziert. Die Zugriffskontrolliste dieses Desktop verwehrt den Programmen des Benutzers jeglichen Zugriff.

So kann der Benutzer nur mit Tastatur und Maus mit SuRun interagieren und laufende Programme sind nicht in der Lage, SuRun fernzusteuern.

Warum keine Windows Bordmittel?

Der Windows Explorer hat einen “Ausführen als…”? Befehl. Der ist allerdings nicht praktikabel! Schadsoftware kann sich damit nämlich mit einfachsten Mitteln ein Administratoren-Kennwort besorgen. Als Demonstration dafür kann man einfach AutoHotkey benutzen. AutoHotkey loggt alle Tastendrücke mit und man kann sich das Passwort im LOG ansehen.

Mit dem Windows Kommandozeilenprogramm „RunAs“, oder dem MachMichadmin Script ist es nicht viel anders. Auch wenn da ein normaler Keylogger nicht reicht, kann man diese Programme missbrauchen, um unbemerkt an ein Administrator-Kennwort zu gelangen.

Wie das geht, demonstriert z.B. meine Demo „IAT-Hook“ (download). Wenn man, selbst als Gast, die Demo startet, neue Hardware ansteckt oder RunAs benutzt und die Daten eines Administrators eingibt,

iathook0.png

startet diese Demo eine cmd-Konsole mit diesen Berechtigungen. (Das kleine rote Fenster)

iathook1.png

Das Microsoft dieses Thema so nachlässig behandelt hat, ist mir unverständlich. Schon in Windows NT 3.1 hätte man das Sicherheitsloch stopfen können. An der Rechteverwaltung hat sich bis einschließlich Windows XP nichts geändert.

Installation:

GANZ WICHTIG!: Behalten Sie immer ein Administrator Konto, an das Sie sich anmelden können, falls SuRun Unerwartetes tut!

Um SuRun zu installieren muss man einfach das Installations-ZIP in einen Ordner auspacken und “InstallSuRun.exe”? ausführen. Ist man während der Installation kein Administrator, fragt SuRun nach einem Administrator Passwort.

01-suruninstlogon.jpg

WARNUNG: Das Passwort für die Installation wird in einer nicht gesicherten Umgebung abgefragt. Schon vorhandene Passwortschnüffler würden es herausfinden! Sicherer ist, den Netzwerkstecker zu ziehen, sich als Administrator anzumelden und SuRun zu installieren.

02-suruninstinit.jpg

Der Dialog für die Installation beinhaltet zwei Checkboxen.
Sie sollten auf jeden Fall den Haken in “‘Administratoren’ statt ‘Ersteller’ als Standard-Besitzer für von Administratoren erstellte Objekte.” aktiviert lassen!

Ist SuRun bereits installiert, wird „InstallSuRun.exe“ ein Update vorschlagen.
update.png
SuRun’s Einstellungen werden bei einem Update nicht verändert. Lediglich die „Starte als Administrator…“-Verknüpfungen werden neu angelegt. Ist jedoch „Verknüpfungen mit SuRun beibehalten, wie sie sind“ aktiviert, werden auch diese nicht verändert.

Während der Installation zeigt SuRun durchgeführte Aktionen in einer Liste an.

03-suruninstdone.jpg

Um die Installation abzuschließen müssen Sie sich von Windows ab- und wieder anmelden.

Deinstallation:

SuRun kann über „Software“ in der Systemsteuerung entfernt werden.

uninstall.png

Ist die Option “Behalte SuRun Einstellungen” aktiviert, wird SuRun alle Einstellungen belassen, wie sie sind, und die Gruppe “SuRunners” nicht löschen.

Dateien, die nicht sofort gelöscht werden können, werden beim nächsten Systemstart gelöscht.

Konfiguration:

Über die Kommandozeile “surun /setup”? oder „SuRun Einstellungen“ in der Systemsteuerung (Klassische Ansicht bzw. unter “Leistung und Wartung” der Kategorie-Ansicht) erscheint SuRun’s Konfigurationsdialog.

Die einzelnen Optionen sind ausführlich in der SuRun Doklumentation erläutert.

Betrieb:

Wenn Sie ein Programm mit administrativen Rechten starten wollen dann klicken Sie mit der rechten Maustaste darauf und wählen Sie „Starte als Administrator“ im Kontextmenü.

04-firststart.png

Sind Sie kein Mitglied der Benutzergruppe “SuRunners“, bietet Ihnen SuRun an, beizutreten.
Sind sie kein Administrator, müssen Sie durch Eingabe des Passwortes eines Administrators als berechtigt ausweisen, damit SuRun Sie in die “SuRunners”? aufnimmt.

05-asksurunner.png
(Das Passwort wird in einer gesicherten Umgebung abgefragt und kann nach meiner Kenntnis nicht erhascht werden.)

Sind Sie ein Administrator, dann wird SuRun Sie bei der ersten Benutzung fragen, ob Sie Mitglied der Benutzergruppe “SuRunners”? und Ex-Mitglied der “Administratoren”? werden wollen.

07-askadminsurunner.png

Sie müssen sich danach von Windows ab- und wieder anmelden.

(Ist in den SuRun Einstellungen “Frage niemanden, ob er zu ‘SuRunner’ gemacht werden will” bzw. “Frage Administratoren niemals, ob sie zu ‘SuRunners’ gemacht werden wollen” aktiviert, wird SuRun Sie natürlich nicht nerven und Sie „dürfen“ sich selbst in die SuRunners Gruppe ein- und aus der Administratoren-Gruppe austragen.)

Jetzt sind Sie SuRunner und dürfen komfortabel eingeschränkt arbeiten.

06-surunnerok.png

08-adminsurunnerok.png

SuRun benötigt kein Passwort, um Programme mit gehobenen Rechten zu starten. Haben Sie jedoch die Option “Benutzer-Kennwort abfragen” aktiviert, fragt SuRun nach dem persönlichen Kennwort des angemeldeten Benutzers.

09-askpassword.png

Das Passwort wird überprüft, sofort verworfen und nicht gespeichert.

Ausnahme:  Bei Domänen-Benutzern muss SuRun deren Kennwort speichern.

Ist die Option “Benutzer-Kennwort abfragen” nicht aktiv, fragt SuRun nur nach Bestätigung:

10-askok.png

Aktivieren Sie das Kästchen „Für dieses Programm nicht mehr fragen“, so wird SuRun für dieses Programm bei allen folgenden Aufrufen mit SuRun automatisch die von Ihnen gewählte „Antwort geben“. Im obigen Beispiel würde SuRun nicht mehr fragen, ob das Sicherheitscenter mit erhöhten Rechten gestartet werden darf. Klicken Sie „OK“, wird es ohne Nachfragen gestartet, klicken Sie „Abbrechen“, wird SuRun das Sicherheitscenter nicht starten. Diese Option ist sinnvoll, um z.B. Windows-Autostart Programme zu starten, die administrative Rechte benötigen. Es ist auch möglich, das SuRun fälschlicher Weise ein Programm administrativ starten will. Ein fiktives Programm „PlinseTupper.exe“ z.B. beinhaltet „setUp“. Deshalb wird SuRun fragen, ob das Programm als Administrator gestartet werden soll. Aktivieren Sie das Kästchen „Für dieses Programm nicht mehr fragen“ und drücken Sie „Abbrechen“, um die Nerverei zu beenden.

Sind die Option „Dieses Prog. immer autom. als Administrator starten“ und „Versuche bestimmte Programme AUTOMAGISCH mit gehobenen Rechten zu starten“ aktiv, wird SuRun versuchen, dieses Programm auch ohne „Starte als Administrator“ immer mit erhöhten Rechten zu starten.

Zum erleichterten Ausführen von Programmen integriert sich SuRun in das Kontextmenü des Windows Explorers.
Es fügt dem Kontextmenü von Dateien mit der Endung bat, cmd, cpl, exe, lnk, msi, msp und reg einen “Starte als Administrator”? Befehl hinzu.

16-startasadmin.png

Dem Kontextmenü für den Desktop-Hintergrund fügt SuRun (wie auch SuDown) einen “Systemsteuerung als Administrator”? Befehl hinzu.

15-cplasadmin.png

Manche Programme erfordern administrative Rechte, z.B. um installiert zu werden, erzählen davon aber erst, wenn sie sich beenden. Wie die Befehlszeile für ein solches Programm genau aussieht ist nur schwer zu erraten.
Um diese Programme komfortabel nutzen zu können integriert sich SuRun in das Windows-System-Menü:

12-setclock.png

Mit einem Klick mit der rechten Maustaste auf die Titelleiste eines Fensters und den Befehlen “Neustart als Administrator”? oder “Start als Administrator”? kann man so des Problemchens Herr werden.

13-restartclock.png

Falls Sie in diesem Beispiel (Doppelklick auf die Uhrzeit im „Tray“) beide Optionen aktivieren und „OK“ drücken, werden beim nächsten Doppelklick darauf die „Eigenschaften von Datum und Uhrzeit“ mit administrativen Rechten gestartet.

14-autoadminclock.jpg

Bei solchen automatischen administrativen Starts zeigt SuRun das optional in einem kleinen Fenster 20 Sekunden lang an.

Download:

Aktuelle Version:

SuRun 1.2.1.0 für Windows (x86 und x64) als ZIP-Archiv.
SuRun 1.2.1.0 Quellcode als ZIP-Archiv.

deutsche Dokumentation im PDF-Format

niederländische Dokumentation im PDF-Format

OpenOffice und Inkscape Quelltexte der SuRun Dokumentation

Vorgängerversionen:

Die gibt es auf SuRun’s SourceForge Seite.

Was fehlt?

  • Allerlei hilfreiche Beigaben, wie Hilfe, Info über die Programme, die gestartet werden sollen.
  • Aufgeräumte und gut dokumentierte Quelltexte (wie immer ;) )
  • Direkte Unterstützung für Konsolen-Programme

Danke!

  • Den Mitgliedern im SuRun Forum, besonders den Beta-Testern! Ohne sie hätte ich SuRun niemals in der wenigen Zeit so weit entwickeln können!!!
  • Christian Wimmer für viele Tipps zur Windows Sicherheit.
  • Stephan Paternotte, Junne,  Laurent Hilsz, “the.magic.silver.bullet” und Diego Vazquez für deren superschnelle Übersetzungen
  • Gabor Igloi, für die Idee zu SuDown!

Veränderungen:

  • SuRun 1.2.1.0 vom 30. Dezember 2011:
    Neues:

    • Französische Sprache von Laurent Hilsz
    • Portugiesische Übersetzung von “the.magic.silver.bullet”
    • Im Kontextmenü des Papierkorbs wird “SuRun: Papierkorb leeren” angezeigt
    • In Windows Vista oder neuer haben SuRun’s Einträge im Systemmenü und Kontextmenü ein Schild-Symbol
    • Kommandozeilenparameter /USER <name> für den /RUNAS Befehl ermöglicht die Angabe eines bestimmten Benutzers.
      Als spezieller Benutzer wird SYSTEM von SuRun unterstützt, allerdings nur für uneingeschränkte SuRunner oder echte Administratoren.
    • Der Kommandozeilenparameter /LOW ermöglicht das Ausführen von Programmen gezielt ohne gehobene Rechte; auch dann, wenn die Benutzerkontensteuerung (UAC) das sonst nicht zulassen würde.
    • SuRun schaltet für sich die Datenausführungsverhinderung (DEP) permanent ein
    • SuRun benutzt auf unterstützenden Betriebssystemen ASLR.
    • SuRun’s “Ausführen als…” Dialog hat eine Checkbox “mit gehobenen Rechten starten” bei UAC-Administratoren und uneingeschränkten Mitgliedern der Benutzergruppe SuRunners
    • Die Zeit, nach der SuRun’s Informationsfenster (Programm <ppp> wird mit gehobenen Rechten ausgeführt) ausgeblendet werden, ist einstellbar

    Änderungen:

    • Abhängigkeiten zum Win32 Platform-SDK (wtsapi32) wurden entfernt
    • Die Programmbibliotheken für das CryptoAPI wurden in den Quelltext-Ordner integriert, weil sie in Visual Studio 2005 fehlen

    Beseitigte Fehler:

    • Wurden in der Kommandozeile für SuRun zwei oder mehr Leerzeichen angegeben (z.B.: “SuRun /wait  cmd.exe”), hat sich SuRun unverrichteter Dinge und kommentarlos beendet
    • Der IAT-Hook für die Funktion CreateProcessAsuserA war fehlerhaft implementiert
    • Updates von SuRun mit unterschiedlichen Sprachen schlug fehl (z.B. SuRun 1.2.0.9 auf einem französischen PC war englisch, SuRun 1.2.1.0 unterstützt französisch), weil der Dienstname sprachabhängig war.
    • SuRun’s Systemmenü “(Neu-)Start als Administrator” hat bei Fenstern ohne Windows-Titelleiste nicht funktioniert. (z.B. bei FireFox oder Office 2010)
    • Der IAT-Hook hat in AVAST “Switchdesktop” verhindert. Dadurch wurde ein system-deadlock verursacht.
    • Wenn SuRun die Eingabeaufforderung (“%windir%\system32\cmd.exe”) ausführt, wird in dessen Befehlszeile der Parameter “/D” eingefügt, um die Autostarts abzuschalten
    • die IAT-Hook werden wieder ohne separaten Thread initialisiert. Tritt dabei eine Schutzverletzung auf, wird die Initialisierung mit einem Thread versucht.
    • Befehlszeilen größer 4096 Zeichen haben eine Schutzverletzung im SuRun-Client und in den Hooks verursacht.
    • SuRunExt.Dll verhindert das dynamisch Entladen der DLL.Das ist erforderlich, da IAT-Hooks nie wirklich sicher entfernt werden können. So werden unter Windows 7 Schutzverletzungen in “SuRunExt.dll_unloaded” verhindert.