リモート アシスタンスのチケットを作成しようとしています。その一部として、PassStub パラメーターを作成する必要があります。ドキュメントの時点で:
http://msdn.microsoft.com/en-us/library/cc240115(PROT.10).aspx
PassStub: 暗号化された初心者コンピューターのパスワード文字列。リモート アシスタンス接続文字列がファイルとして電子メールで送信される場合、セキュリティを強化するためにパスワードが使用されます。<16>
パート 16 では、PassStub として作成する方法について詳しく説明しています。Windows XP および Windows Server 2003 では、パスワードが使用されると、MD5 ハッシュと CALG_RC4 (RC4 ストリーム暗号化アルゴリズム) を備えた PROV_RSA_FULL 定義済みの暗号化プロバイダーを使用して暗号化されます。
PassStub はファイル内で次のように表示されます: PassStub="LK#6Lh*gCmNDpj"
自分で生成する場合は、Vista で msra.exe を実行するか、WinXP でリモート アシスタンス ツールを実行します。
ドキュメントによると、このスタブは、パスワードから派生したキーとセッション ID で暗号化された関数 CryptEncrypt の結果です (これらはチケット ファイルにもあります)。
問題は、CryptEncrypt が 15 バイトの PassStub よりもはるかに大きなバイナリ出力を生成することです。また、PassStub は、これまでに見たような方法でエンコードされていません。
PassStub エンコーディングに関するいくつかの興味深い点。統計分析を行った後、3 番目の文字は常に !#$&()+-=@^ のいずれかになります。どこでも見られる記号は *_ のみです。それ以外の場合、有効な文字は 0 ~ 9 az AZ です。有効な文字は合計 75 文字で、常に 15 バイトです。
同じパスワードで msra.exe を実行すると、常に異なる PassStub が生成されます。これは、直接ハッシュではなく、rasessionid が含まれていることを示しています。
私が持っていた別の考えは、それは CryptEncrypt の直接の結果ではなく、MD5 ハッシュの rasessionid の結果であるということです。MS-RA ( http://msdn.microsoft.com/en-us/library/cc240013(PROT.10).aspx )。「PassStub Novice」は単純に 16 進数でエンコードされており、適切な長さのように見えます。問題は、ハッシュから PassStub のように見える方法がわからないことです。