本サイトは、快適にご利用いただくためにクッキー(Cookie)を使用しております。
Cookieの使用に同意いただける場合は「同意する」ボタンを押してください。
なお本サイトのCookie使用については、「個人情報保護方針」をご覧ください。

最新情報

2017.08.02

Blackhat USA 2017

7月26日から27日にかけてラスベガスでBlackhat USA 2017 Briefingが開催されました。Alex Stamos氏の基調講演から始まり、30以上のセッションが開催されました。その中で、Nikhil Mittal氏によるMicrosoftが提供するAdvanced Threat Analytics(以降ATA)に関するセッション(Title:EVADING MICROSOFT ATA FOR ACTIVE DIRECTORY DOMINATION)について、セッションの内容に筆者の知見をあわせて本ブログを記載しています。


このATAですが、標的型攻撃などで悪用されているであろう手法を検出し、可視化するためのアプリケーションで、90日間の評価版をインストールすることが可能です。インストール要件や構成などについては、以下のMicrosoft社のサイトをご確認ください。


https://www.microsoft.com/en-us/cloud-platform/advanced-threat-analytics


ATAは2つの観点から情報の可視化を行っており、一つはシグネチャベースとしたものでもう一つは機械学習によるものです。ATAは、攻撃だけではなくnet userコマンドのような情報収集する行為も検出します。これは、攻撃者がネットワーク内に侵入した際に効率よく攻撃を成立させるために実施すると想定される行為で、そういった情報収集にあたる行為についても可視化することができるため、攻撃の兆候をつかむことに有効であると言えます。


ATAをインストールするとブラウザで設定や検出内容を確認することができます。検出されたイベントは「タイムライン」に時系列で表示されます。



Figure 1

各イベントの詳細は、タイトルをクリックすることで確認することができます。



Figure 2

Figure2は、ドメインコントローラに対してPass the Hashによる侵入を行った時のイベントです。攻撃元であるKALIからドメインコントローラであるPEN-DCに対していつ、どのようなことが行われたのかが可視化されます。Figure2の場合、pth-winexeにより作成されたファイルも表示されますが、侵入後に攻撃者により作成されたファイルなどは表示されません。


ATAではPass the Ticketの検出も可能であると記載されていますが、セッションの中でもふれられていた通り、すべてのPass the Ticketが検出できているというわけではないようです。まず、Pass the Ticketがどういうものか簡単に説明したいと思います。Active Directoryの認証後の仕組みですが、認証後にTicket Granting Ticket(以降、TGT)をドメインコントローラがクライアント端末に対して配布し、そのTGTを利用してActive Directory内のリソースにアクセスするためのService Ticketをクライアントは取得します。クライアントは、Active Directoryのリソースにアクセスする際にService Ticketを提示することで再度認証が行われることなく、利用することができます。Service Ticketは利用するサービスごとに必要となり、Active Directory内のファイルサーバやWebサーバなどにアクセスする場合、それぞれのService Ticketが発行されます。


Pass the Ticketには以下3種類の手法があります。

  1. Goldenチケットを用いた手法
  2. Silverチケットを用いた手法
  3. 既存のチケットを用いた手法

1. Golden Ticketを用いたPass the Ticketというのは任意のTGTを不正に生成し、なりすます手法であり、生成された任意のTGTはパスワード認証を求められることなく、管理者を含む任意のアカウントになりすますことができてしまいます。2. Silver Ticketを用いた手法は任意のService Ticketを不正に生成し、なりすます手法であり、利用したいサービスごとにService Ticketを生成する必要があります。



Figure 3

3. 既存のチケットを用いた手法は、管理者が使用しているクライアント端末に対してPass the Hashなどを利用してTGTやService Ticketを取得して、管理者になりすますことが可能です。Figure3の場合、管理者が使用するVM-WIN8からTGTを搾取して、攻撃者が使用するPEN-WIN7でPass the Ticketを実行したときの検出ログです。このように、どのクライアント端末でTGTが搾取され、利用されたかが可視化されます。


Pass the Ticketを行うには、一般的にmimikatzというツールを用いて行いますが、セッションでは1. Golden Ticketによる手法の際に、mimikatzのオプションを変更することでATAでは検出されないパターンについて紹介されていました。TGTはユーザ名などの情報をActive Directoryのkrbtgtアカウントのパスワードhashで暗号化されたもので、mimikatzで不正にTGTを生成する場合、NTLM Hash、AES128、AES256のいずれかのkrbtgtアカウントのパスワードhashを指定する必要がありますが、セッションでは存在しないユーザ名を指定し、NTLM Hashを指定し生成されたTGTを用いた場合はATAでは検出することができないとのバグが報告されていました。


Pass the Hashやブルートフォースなどの攻撃の可能性を可視化することができ、攻撃者がネットワーク内に侵入された場合に被害範囲を確認することができるため、非常に有用なアプリケーションであると言えます。しかしながら、すべてのPass the Ticketの検出やService Principal Nameの調査行為などを現在のバージョンでは検出できていないため、現時点ではそういった不具合も考慮して運用していく必要があり、今後のバージョンで改良されることに期待したいです。



<本ページに関するサービスの詳細>
https://www.mbsd.jp/solutions/assessment/


小河 哲之 の他のブログ記事を読む


関連ブログ記事

プロフェッショナルサービス事業部
小河哲之