共通ツール PlatoBlockchain Data Intelligence から暗号化された認証情報を抽出します。垂直検索。あい。

一般的なツールからの暗号化された資格証明の抽出

  サイバー攻撃の大部分 従業員やエンドユーザーをだまして共有させるか、ワークステーションやネットワーク上の他のシステムにキャッシュされたドメイン資格情報を収集することにより、盗まれた資格情報に依存します。 これらの盗まれた資格情報により、攻撃者はマシンからマシンへ (オンプレミスとクラウドの両方)、ビジネスに不可欠な資産に到達するまで、環境内を横方向に移動することができます。

Uber 違反 XNUMX 月に戻って、攻撃者 特定の PowerShell スクリプトで資格情報を見つけた. しかし、攻撃者が環境へのアクセスを許可する資格情報を見つける方法は、それほど派手ではありませんが、同様に損害を与える方法がたくさんあります。 これらには、共通のローカル資格情報、同様のパスワードを持つローカル ユーザー、およびネットワーク共有上のファイルに保存されている資格情報が含まれます。

私たちの調査では、横方向に移動したり、機密情報を抽出したりするために、脆弱性を悪用することなく、侵害されたマシンからどのような種類の情報を抽出できるかという問題に直面しました。 ここで使用したすべてのツールは、 GitHubの リポジトリ。

組織は、SSH、FTP、Telnet、または RDP プロトコルを使用してサーバーやデータベースへの認証を行うためにいくつかのツールに依存しています。これらのツールの多くは、認証を高速化するために資格情報を保存しています。 そのような XNUMX つのツール (WinSCP、Robomongo、MobaXterm) を調べて、攻撃者が非クリアテキストの資格情報を抽出する方法を示します。

WinSCP: 難読化された資格情報

ドメイン コントローラが使用できない場合、ユーザーは、ドメイン ログオンの成功後にローカルに保存されたキャッシュされた資格情報を使用して、システム リソースにアクセスできます。 ユーザーは以前に承認されているため、ユーザーは、過去にユーザーを認証したドメイン コントローラーが利用できない場合でも、キャッシュされた資格情報を介してドメイン アカウントを使用してマシンにログインできます。

WinSCP は、SSH 経由でリモート マシンに接続するために使用される資格情報の詳細を保存するオプションを提供します。 資格情報は Windows レジストリ (ComputerHKEY_CURRENT_USERSOFTWAREMartin PrikrylWinSCP 2Sessions) に保存されると難読化されますが、まったく暗号化されません。 難読化に使用されるアルゴリズムを知っている人なら誰でも、資格情報にアクセスできます。

WinSCP のソース コードは GitHub で公開されているため、難読化アルゴリズムを見つけることができました。 同じアルゴリズムを実装したツールを使用して資格情報の難読化を解除し、クリアテキストで資格情報にアクセスできるようにしました。

難読化アルゴリズムを実装して保存された資格情報を保護することは、簡単に元に戻されて資格情報の盗難につながる可能性があるため、ベスト プラクティスではありません。

ロボモンゴ:秘密鍵じゃない

Robomongo (現在の Robo 3T) は、Mongo データベース サーバーへの接続に使用される MongoDB クライアントです。 資格情報を保存すると、資格情報は暗号化され、 robo3t.json JSON ファイル。 クレデンシャルの暗号化に使用される秘密鍵も、クリアテキストでローカルに保存されます。 robo3t.key ファイルにソフトウェアを指定する必要があります。

つまり、マシンへのアクセス権を取得した攻撃者は、クリアテキストで保存されたキーを使用して資格情報を復号化できます。

GitHub で Robomongo のソース コードを調べて、キーを使用してパスワードを暗号化する方法を理解し、Qt の SimpleCrypt ライブラリを使用していることを知りました。 Robomongo は暗号化を使用して資格情報を安全に保存しますが、秘密鍵がクリアテキストで保存されるという事実はベスト プラクティスではありません。 ワークステーションにアクセスできるすべてのユーザーが資格情報を解読できるため、攻撃者がそれを読み取る可能性があります。 人間が読めない方法で情報がエンコードされている場合でも、特定の技術によって、使用されているエンコードが特定され、情報がデコードされる可能性があります。

MobaXterm: パスワードの復号化

MobaXterm は、SSH、Telnet、RDP、FTP などのさまざまなプロトコルを使用してリモート マシンに接続するための強力なツールです。 MobaXterm 内に資格情報を保存したいユーザーは、機密データを保護するためにマスター パスワードを作成するよう求められます。 デフォルトでは、MobaXterm は新しいコンピューターでのみマスター パスワードを要求します。

つまり、マスター パスワードがどこかに保存され、MobaXterm がそれを取得して、暗号化された資格情報にアクセスします。 Sysinternals Suite の Procmon を使用して、MobaXterm がアクセスするすべてのレジストリ キーとファイルをマッピングしたところ、マスター パスワードが Windows レジストリ (ComputerHKEY_CURRENT_USERSOFTWAREMobatekMobaXtermM) に保存されていることがわかりました。 資格情報とパスワードは、それぞれ C と P レジストリ キーに保存されます。

最初は、DPAPI を使用して暗号化されたマスター パスワードを解読できませんでした。 最終的に、DPAPI を使用する場合は常に同じである最初の 20 DPAPI バイトが削除されていることがわかりました。 最初の 20 バイトを追加すると、DPAPI 暗号を解読して、マスター パスワードの SHA512 ハッシュを取得できました。 このハッシュは、資格情報の暗号化と復号化に使用されます。

ここでは、資格情報を安全に保存するために使用される暗号化キーが DPAPI を使用して保存されます。 つまり、資格情報を保存したユーザーのみがアクセスできます。 ただし、管理者アクセス権を持つユーザー、または被害者のセッションにアクセスできる攻撃者は、マシンに保存されている資格情報を解読することもできます。

リスクを知る

開発者、DevOps、および IT は、さまざまなツールを使用してリモート マシンに接続し、これらのアクセスの詳細を管理します。 ベンダーは、この機密情報を最も安全な方法で保管する必要があります。 ただし、暗号化は常にクライアント側で行われるため、攻撃者はツールの動作を複製して資格情報を復号化できます。

いつものように、ここで説明したすべての問題を解決できる魔法のソリューションはありません。 ただし、組織は、現在使用しているサービスを調べることから始める場合があります。 正確なリスク マトリックスを構築し、保存している機密データと資格情報の種類をより深く理解することで、データ侵害に備えることができます。

タイムスタンプ:

より多くの 暗い読書