ずっとオンプレのAD/Windowsに関する攻撃や検知について調べてきましたが、そろそろADFSやAzureについても勉強が必要だと思い、遅ればせながらAzureについて学び始めました。
オンプレADに対しては、"Golden Ticket"でしたが、ADFSやAzureに対しては"Golden SAML"という攻撃があるそうで、ホワイトペーパーが公開されているので、読んでみました。
ADFSは、Office 365などのクラウドサービスなどに対してシングルサインオンを実現するためのADのサービスです。このシングルサインオンの際は、SAMLと呼ばれる規格が使われます。SAMLでは、ユーザが対象サービスにアクセスするとADFSにリダイレクトされ、ADFSがSAMLレスポンスと共にトークンを払い出して、以後ユーザはトークンを使って(id/passを入れることなしに)対象サービスにアクセスできるという仕組みです。
トークンは、ADFS上で生成される秘密鍵によって署名、暗号化されるのですが、この鍵を盗むことで攻撃者がSAMLレスポンスを生成し、任意のユーザ、サービスへのアクセス権を手に入れるという攻撃が"Golden SAML"です。
攻撃者が作ったSAMLレスポンスであるものの、正規の鍵で署名、暗号化されているという点では、Golden Ticketと似ていますね。。
更に、Golden Ticketと同様に、有効期限などもコントロールできるようです。
なお、秘密鍵を入手するためには、Domain Adminを取る必要はなく、ADFSのサービスアカウントまたはADFSサーバの管理者アカウントを得られれば良いそうです。ドメコンに加えて、ADFSサービスがインストールされているサーバを守るのも大切そうですね。。
上記ホワイトペーパはSolarWinds攻撃全体について書かれていて、SolarWinds攻撃では、Golden SAMLを作った後に、Azure ADにドメインを追加したり、Office 365 にアクセスするためのバックドアを作ったり、色々やっているみたいです。
やはり正規の鍵や証明書を悪用する攻撃なだけに、検知は難しいそうですが、ADFSやドメインコントローラのイベントログ、Azure ADの監査ログなどがモニタリング対象として挙げられていました。冒頭で紹介したホワイトペーパや本URLにモニタリングの詳細が書かれています。
ちなみに、Golden SAMLは、ADと他のサービスをフェデレーションさせている場合に影響を受けるので、オンプレAD単体で動かしている場合は問題なしです。
まだ、PoCなどは動かせていないのですが、読んでいるだけだと分からない点も多いので、早めに動かしてみたいところです。
Golden SAML以外にも、このホワイトペーパはADFSやフェデレーションの仕組みを知るためにとても勉強になりました。もしお時間があれば、ぜひ読んでみてください。