Privilege Escalation with Autoruns
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Bug-Bounty-Tipp: Melden Sie sich an für Intigriti, eine Premium-Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde! Treten Sie uns heute bei https://go.intigriti.com/hacktricks und beginnen Sie, Prämien von bis zu $100.000 zu verdienen!
Wmic kann verwendet werden, um Programme beim Start auszuführen. Sehen Sie, welche Binaries so programmiert sind, dass sie beim Start ausgeführt werden:
Aufgaben können mit bestimmter Häufigkeit geplant werden. Sehen Sie, welche Binaries geplant sind, um ausgeführt zu werden mit:
Alle Binaries, die sich in den Startup-Ordnern befinden, werden beim Start ausgeführt. Die gängigen Startup-Ordner sind die im Folgenden aufgeführten, aber der Startup-Ordner ist in der Registrierung angegeben. Lies dies, um zu erfahren, wo.
Hinweis von hier: Der Wow6432Node Registrierungseintrag zeigt an, dass Sie eine 64-Bit Windows-Version ausführen. Das Betriebssystem verwendet diesen Schlüssel, um eine separate Ansicht von HKEY_LOCAL_MACHINE\SOFTWARE für 32-Bit-Anwendungen anzuzeigen, die auf 64-Bit Windows-Versionen ausgeführt werden.
Allgemein bekannt AutoRun-Registrierung:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Wow6432Npde\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\Runonce
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Microsoft\Windows\CurrentVersion\RunonceEx
Registrierungsschlüssel, die als Run und RunOnce bekannt sind, sind dafür ausgelegt, Programme automatisch auszuführen, jedes Mal wenn sich ein Benutzer im System anmeldet. Die Befehlszeile, die als Datenwert eines Schlüssels zugewiesen ist, ist auf 260 Zeichen oder weniger beschränkt.
Service runs (kann den automatischen Start von Diensten während des Bootvorgangs steuern):
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunServices
RunOnceEx:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnceEx
In Windows Vista und späteren Versionen werden die Run und RunOnce Registrierungsschlüssel nicht automatisch generiert. Einträge in diesen Schlüsseln können entweder Programme direkt starten oder sie als Abhängigkeiten angeben. Um beispielsweise eine DLL-Datei beim Anmelden zu laden, könnte man den RunOnceEx Registrierungsschlüssel zusammen mit einem "Depend"-Schlüssel verwenden. Dies wird demonstriert, indem ein Registrierungseintrag hinzugefügt wird, um "C:\temp\evil.dll" während des Systemstarts auszuführen:
Exploit 1: Wenn Sie in eines der genannten Registrierungswerte innerhalb von HKLM schreiben können, können Sie die Berechtigungen erhöhen, wenn sich ein anderer Benutzer anmeldet.
Exploit 2: Wenn Sie eine der angegebenen Binärdateien in einem der Registrierungswerte innerhalb von HKLM überschreiben können, können Sie diese Binärdatei mit einem Hintertür versehen, wenn sich ein anderer Benutzer anmeldet, und die Berechtigungen erhöhen.
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Verknüpfungen, die im Startup-Ordner platziert werden, lösen automatisch das Starten von Diensten oder Anwendungen während der Benutzeranmeldung oder des Systemneustarts aus. Der Speicherort des Startup-Ordners ist in der Registrierung sowohl für den Local Machine- als auch für den Current User-Bereich definiert. Das bedeutet, dass jede Verknüpfung, die an diesen angegebenen Startup-Standorten hinzugefügt wird, sicherstellt, dass der verlinkte Dienst oder das Programm nach dem Anmelde- oder Neustartprozess gestartet wird, was es zu einer einfachen Methode macht, Programme automatisch auszuführen.
Wenn Sie einen beliebigen [User] Shell Folder unter HKLM überschreiben können, können Sie ihn auf einen von Ihnen kontrollierten Ordner verweisen und ein Backdoor platzieren, das jedes Mal ausgeführt wird, wenn ein Benutzer sich im System anmeldet, wodurch Privilegien eskaliert werden.
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
Typischerweise ist der Userinit-Schlüssel auf userinit.exe gesetzt. Wenn dieser Schlüssel jedoch geändert wird, wird die angegebene ausführbare Datei auch von Winlogon beim Benutzer-Login gestartet. Ebenso soll der Shell-Schlüssel auf explorer.exe verweisen, das die Standard-Shell für Windows ist.
Wenn Sie den Registrierungswert oder die Binärdatei überschreiben können, werden Sie in der Lage sein, Privilegien zu eskalieren.
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Überprüfen Sie den Run-Schlüssel.
Im Windows-Registrierungseditor unter HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot
gibt es einen AlternateShell
Wert, der standardmäßig auf cmd.exe
gesetzt ist. Das bedeutet, wenn Sie beim Start "Abgesicherter Modus mit Eingabeaufforderung" wählen (durch Drücken von F8), wird cmd.exe
verwendet. Es ist jedoch möglich, Ihren Computer so einzurichten, dass er automatisch in diesem Modus startet, ohne dass Sie F8 drücken und es manuell auswählen müssen.
Schritte zum Erstellen einer Boot-Option für den automatischen Start im "Abgesicherten Modus mit Eingabeaufforderung":
Ändern Sie die Attribute der boot.ini
-Datei, um die schreibgeschützten, System- und versteckten Flags zu entfernen: attrib c:\boot.ini -r -s -h
Öffnen Sie boot.ini
zur Bearbeitung.
Fügen Sie eine Zeile wie folgt ein: multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)
Speichern Sie die Änderungen an boot.ini
.
Wenden Sie die ursprünglichen Dateiattribute erneut an: attrib c:\boot.ini +r +s +h
Exploit 1: Das Ändern des AlternateShell-Registrierungsschlüssels ermöglicht die Einrichtung einer benutzerdefinierten Befehlszeile, möglicherweise für unbefugten Zugriff.
Exploit 2 (PATH Schreibberechtigungen): Schreibberechtigungen für einen Teil der System-PATH-Variablen, insbesondere vor C:\Windows\system32
, ermöglichen es Ihnen, ein benutzerdefiniertes cmd.exe
auszuführen, das ein Hintertür sein könnte, wenn das System im abgesicherten Modus gestartet wird.
Exploit 3 (PATH und boot.ini Schreibberechtigungen): Schreibzugriff auf boot.ini
ermöglicht den automatischen Start im abgesicherten Modus und erleichtert den unbefugten Zugriff beim nächsten Neustart.
Um die aktuelle AlternateShell-Einstellung zu überprüfen, verwenden Sie diese Befehle:
Active Setup ist eine Funktion in Windows, die vor dem vollständigen Laden der Desktop-Umgebung initiiert wird. Sie priorisiert die Ausführung bestimmter Befehle, die abgeschlossen sein müssen, bevor die Benutzeranmeldung fortgesetzt wird. Dieser Prozess erfolgt sogar vor anderen Starteinträgen, wie denen in den Registry-Bereichen Run oder RunOnce.
Active Setup wird über die folgenden Registrierungsschlüssel verwaltet:
HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
HKLM\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Microsoft\Active Setup\Installed Components
HKCU\SOFTWARE\Wow6432Node\Microsoft\Active Setup\Installed Components
Innerhalb dieser Schlüssel existieren verschiedene Unterschlüssel, die jeweils einem bestimmten Bestandteil entsprechen. Wichtige Schlüsselwerte sind:
IsInstalled:
0
zeigt an, dass der Befehl des Bestandteils nicht ausgeführt wird.
1
bedeutet, dass der Befehl einmal für jeden Benutzer ausgeführt wird, was das Standardverhalten ist, wenn der Wert IsInstalled
fehlt.
StubPath: Definiert den Befehl, der von Active Setup ausgeführt werden soll. Es kann sich um eine beliebige gültige Befehlszeile handeln, wie das Starten von notepad
.
Sicherheitsinformationen:
Das Ändern oder Schreiben in einen Schlüssel, bei dem IsInstalled
auf "1"
gesetzt ist, mit einem bestimmten StubPath
kann zu unbefugter Befehlsausführung führen, möglicherweise zur Erhöhung der Berechtigungen.
Das Ändern der Binärdatei, die in einem StubPath
-Wert referenziert wird, könnte ebenfalls zur Erhöhung der Berechtigungen führen, sofern ausreichende Berechtigungen vorhanden sind.
Um die StubPath
-Konfigurationen über Active Setup-Komponenten zu überprüfen, können diese Befehle verwendet werden:
Browser Helper Objects (BHOs) sind DLL-Module, die zusätzliche Funktionen zu Microsofts Internet Explorer hinzufügen. Sie werden bei jedem Start in Internet Explorer und Windows Explorer geladen. Ihre Ausführung kann jedoch blockiert werden, indem der NoExplorer-Schlüssel auf 1 gesetzt wird, wodurch verhindert wird, dass sie mit Instanzen von Windows Explorer geladen werden.
BHOs sind mit Windows 10 über Internet Explorer 11 kompatibel, werden jedoch in Microsoft Edge, dem Standardbrowser in neueren Versionen von Windows, nicht unterstützt.
Um BHOs, die auf einem System registriert sind, zu erkunden, können Sie die folgenden Registrierungs-Schlüssel überprüfen:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
Jeder BHO wird durch seine CLSID in der Registrierung dargestellt, die als eindeutiger Identifikator dient. Detaillierte Informationen zu jeder CLSID finden Sie unter HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
.
Für die Abfrage von BHOs in der Registrierung können diese Befehle verwendet werden:
HKLM\Software\Microsoft\Internet Explorer\Extensions
HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\Extensions
Beachten Sie, dass die Registrierung für jede DLL eine neue Registrierung enthalten wird, die durch die CLSID dargestellt wird. Sie können die CLSID-Informationen in HKLM\SOFTWARE\Classes\CLSID\{<CLSID>}
finden.
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Font Drivers
HKLM\SOFTWARE\Classes\htmlfile\shell\open\command
HKLM\SOFTWARE\Wow6432Node\Classes\htmlfile\shell\open\command
Beachten Sie, dass alle Seiten, auf denen Sie Autoruns finden können, bereits von winpeas.exe durchsucht wurden. Für eine umfassendere Liste von automatisch ausgeführten Dateien könnten Sie autoruns von Sysinternals verwenden:
Finde weitere Autoruns wie Registrierungen in https://www.microsoftpressstore.com/articles/article.aspx?p=2762082&seqNum=2
Bug-Bounty-Tipp: Melde dich an bei Intigriti, einer Premium-Bug-Bounty-Plattform, die von Hackern für Hacker erstellt wurde! Schließe dich uns an unter https://go.intigriti.com/hacktricks heute und beginne, Prämien von bis zu 100.000 $ zu verdienen!
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)