RedTeamを実施する場合、フィッシングの使用は必須です-境界上で優れた保護を構築できますが、一部のユーザーはフィッシングにつながり、攻撃者にすぐにネットワーク内に入る機会を与えます。 フィッシングには、主にユーザーがクリックする必要のあるサードパーティのサイトへのリンクまたはマクロを含むドキュメントを使用することを誰もが知っています。 制裁の脅威にさらされているセキュリティサービスは、ユーザーを「トレーニング」し、「コンテンツを有効にする」ボタンをクリックしないでください。 そして、原則として、成功があります-この種のメールのユーザーはますます少なくなっています。 しかし、攻撃者も静止していません-フィッシングはますます興味深いものになっています。 顧客は、私たちからの興味深いフィッシングメールも必要とします。 また、お客様の従業員がフィッシングに誘導されているという事実に関心があり、手紙を受け取ったときに何を探すべきかを説明できます。
フィッシングのためにこれらの方法が正確になぜですか?
多くの企業がMS Exchangeを企業のメールサーバーとして使用しています。 これは会社にとっては便利ですが、攻撃者にとっても便利です。 攻撃者が被害者のメールからメッセージを送信したり、手紙をダウンロードしたりするのは興味深いことです。 RedTeamとして、攻撃者の行動を完全に模倣したいと考えており、メールでも同じ行動をとることに関心があります。 当然のことながら、私たちの場合、メールのダウンロードは完全ではなく、顧客には事前に通知されています。 機密情報については、すべてのもの。
この種のアクションを実行するには、ユーザーメールセッションが必要です。 最初に考えるべきことは、そのようなセッションをインターセプトする方法です。 旧式のNTLMリレーを使用することにしました(ほとんどの企業はまだNTLMを使用しているため)。 はい、ケースではKerberosは機能しません。記事を閉じて、さらに読むことはできません。
NTLMリレーは古くから知られており、十分な実装があります。 自転車も発明していません。Arno0x0xのGitHubで実装の1つを採用しました。 しかし、すべてがそれほど単純ではないことが判明したため、少し追加する必要がありました。 すなわち:
- Windows OSのすべての最新バージョンですべてが機能するようにします(win10およびwin server2016では機能しません)。
- 最後のImpacketで動作するようにします。
- 便利なロギングシステムを追加します。
変更されたバージョンは、 githubにあります。
Microsoft Officeドキュメントは、ほとんどの場合企業のメールで送信され、ユーザーがそれらを開くため、配信用のコンテナとして選択されました。 さらに、添付文書(SubDocument)を使用することが決定されました。これは、文書に対する合法的な操作であり、そのようなファイルにアンチウイルスが応答しないためです。 ネストされたリンクとして、smbリソースとhttpリソースの両方を含めることができます。 詳細は後述します。
フィッシングドキュメントを作成する方法
例として、最も一般的なMicrosoft Word文書である完全に「クリーンな」文書mydoc3.docxを考えます。

Microsoft Officeドキュメントは、xmlで構成されるzipアーカイブであり、最終的に美しいドキュメントを形成します。 添付ドキュメントを作成するには、拡張子が.relsのファイルを変更する必要があります。 MS Officeのバージョンに応じて、document.xml.relsまたはsettings.xml.relsで変更を行う必要があります。 この記事では、Office 365について説明し、settings.xml.relsを変更します。

添付ドキュメントとして、この同じ添付ドキュメントがあるリソースへのリンクを提供します。 この場合、添付ドキュメントはsmbリソース\\ 127.0.0.1 \ subdoctest \にあります

変更を保存し、受信したドキュメントを開きます。 成功すると、ドキュメントは次のようになります。

ただし、この形式では、ユーザーの間で疑念が生じます。 少し変更して、さまざまなスタイルと白いフォントの色を使用してリンクを非表示にする必要があります。

その結果、Word自体がその部分のリソースに移動し、添付ドキュメントとして登録されている完全に疑わしいドキュメントを受け取りました。
そして、すべてがどこに来るのでしょうか?
文書はサーバー上でノックされます(実際、リンクを提供する必要があります)。 サーバーはSMBサーバーまたはHTTPサーバーにすることができます(以下のケースを参照)。 この記事では、セッションをインターセプトしたユーザーのメールからメッセージを送信する例を検討します。
すべてを開始するには、最小限のセットで十分です-最後のImpacket 、 MSExchangeRelayおよびPython2.7。
次のコマンドですべてを開始します。
python MsExchangeRelay.py -v -t https://exchange_addr/ews/exchange.asmx -r sendMail -d "example@email.com" -s Hello -m sampleMsg.html -o out.txt
exchange_addr – exchange example@email.com – . -s Hello – -m sampleMsg.html – , -o out.txt – .
起動後、SMBサーバーとHTTPサーバーがサーバー上に立ち上がり、それらへの接続を待機しています。

接続に成功すると、ユーザーがどのログインでどのIPアドレスからログインしたかを確認できます。

今すぐ適用する方法は?
この方法は、さまざまなケースで使用できます。
ケース1.外部の侵入者、顧客には発信445ポートがあります
この場合、smbリソースへのリンクを使用できます。 このようなリンクの全体的な魅力は、Windowsがユーザーが自分で処理できるのであれば、ユーザーを再度煩わせたくないということです。 したがって、smb-resourceへのリンクを含むドキュメントを開くと、Windows自体がユーザーのドメインクレジットをこのリソースに送信します。 つまり、ユーザーには何も起こりません。 ユーザーがドキュメントを開きます。 そしてそれだけです。 疑いは何も引き起こしません。 そして、すでにカスタムメールセッションがあります。
開いているポート445はまれですが、まだ検出されています。 したがって、我々もそれを考慮し、それを残します。
ケース2.内部侵入者

ここでは、smbリソースへのリンクも使用します。 セッションのインターセプトが正常に行われた場合、指定されたメールアドレスが指定された住所に送信されます。
ケース3.外部侵入者と発信ポート445が閉じられている

HTTPサーバーへのリンクを使用できます。 ただし、この場合、すべてがユーザーに対して透過的ではありません。 ドキュメントを開くと、ユーザーにはWindowsの標準ウィンドウが表示され、ユーザーのユーザー名とパスワードの入力を求められます。 ユーザーを混乱させる瞬間-ドメイン名evil_http_server-は、お客様のサーバーのドメイン名交換と可能な限り類似している必要があります。

結論の代わりに
NTLMRelayは、さまざまなコンテナにラップして、フィッシングユーザーに対するまったく異なるアプローチを考え出すことができます。 NTLMは生きていますが、この種の攻撃も生きています。 だから実験!
PS素晴らしい会議をしてくれたOFFZONE-2018の主催者に感謝します!