
.Net版のimpacketのsecretsdump.pyが持つリモートSAMおよびLSAシークレットのダンプ機能の移植
.Net ポート版のリモートSAM + LSAシークレットダンプ機能(impacketのsecretsdump.pyの移植)。デフォルトでは現在のユーザーのコンテキストで実行されます。所有している環境またはテスト許可がある環境でのみ使用してください :)
SharpSecDump.exe -target=192.168.1.15 -u=admin -p=Password123 -d=test.local
必須フラグ
オプションフラグ
このプロジェクトはWin 7、10、Server 2012、Server 2016でテストされています。古いバージョン(Win 2003 / XP)では動作しない可能性があります。
デフォルトでは、ローカルシステムからハイブをダンプしようとする場合、高整合性コンテキストで実行する必要があります。ただし、リモートシステムを対象とする場合にはこれは必要ありません。
現在、SAM + SECURITYレジストリハイブのダンプに対応しており、キャッシュされた資格情報データを取得できます。ただし、NTDS.ditの解析やdcsyncにはまだ対応していません。.Netプロジェクトでdcsync機能をお探しの場合は、sharpkatz をお勧めします。
RPC over TCPを許可しないようにシステムが構成されている場合(名前付きパイプ経由のRPCが必要 – これはデフォルト設定ではありません)、WindowsがRPC/NPにフォールバックするまでに21秒の遅延が発生しますが、接続は可能です。これはSCManagerを利用してリモートサービスにバインドするAPI呼び出しの制限と思われます。
このコードは、@agsolino による impacket と @skelsec による pypykatz の機能を移植したものです。レジストリハイブから情報を解析および復号するためのオリジナルの手順は、彼らによるものです。
使用されているレジストリハイブ構造は、@BrandonPrry による gray_hat_csharp_code から取得しました。
最後に、このスクリプトの元のアイデアは、@Carlos_Perez による Posh_SecModule の部分的な移植に基づいています。初期のSAM解析コードの多くはそのプロジェクトから来ています。