SaaSやIoTデバイスは侵入経路としてますます一般的になっていますが、一方でサーバーサイド攻撃も世界中の企業にとって現在も深刻な脅威です。高度な脆弱性スキャンツールを用いることで、攻撃者はわずか数秒のうちにセキュリティの欠陥を特定し、アタックサーフェス全体から侵入場所を探し出すことができるようになっています。人間のセキュリティチームは、絶えず更新される脆弱性の文書やパッチの波についていくのに苦労しています。
Darktraceは最近、未知の攻撃者による標的型サイバー攻撃を阻止しました。最初の侵入後、攻撃者はパッチのない脆弱性(CVE-2020-0618)をエクスプロイトし、権限の低いアカウントにコードをリモートで実行する機能を付与しました。これにより攻撃者は水平方向に勢力を広げ、やがて新しいユーザーアカウントを作成してシステム内に足場を築くことができました。
図1:サーバーサイド攻撃サイクルの概要
本ブログでは、この侵入事例を細かく分析し、Darktraceの自律遮断技術が3つのピンポイントなアクションにより攻撃者の動きを阻止した方法について詳しく説明します。
未知の脅威アクターが脆弱性をエクスプロイト
最初の侵入
Cyber AIは、カナダにある約3,000台のデバイスを持つ金融企業で、新たなアカウントparentsが使用されているのを検知しました。攻撃者はこの認証情報を用いて、VPN経由で社内環境にアクセスしました。そこから、NT LAN Manager(NTLM)を使用するデスクトップコンピュータへの認証を行いました。それ以上の疑わしいアクティビティは観測されませんでした。
NTLMは、ブルートフォースやpass the hash(ハッシュを渡す)など、複数の侵害手法に対して脆弱なため、サイバー犯罪者がよく使う攻撃ベクトルとなっています。このアカウントへの初めてのアクセスは、Darktraceの導入前にフィッシングによって得られた可能性があります。
図2:このアカウントがデバイスで始めて観測されたのは、偵察の5日前でした。攻撃者は、侵害を受けたデバイスが切断されるまで、偵察と水平移動を2日間実行しました。
内部偵察
その5日後、parentsアカウントがデスクトップPCにログインしているのが観測されました。このデスクトップPCはネットワークのスキャンを開始し、80個を超える内部IPアドレスのポート443と445をスキャンしました。
Shortly after the scan, the device used Nmap to attempt to establish SMBv1 sessions to 139 internal IPs, using guest / user credentials. 79 out of the 278 sessions were successful, all using the login.
図3:同様のインシデントにおいて、最初に感染したデスクトップPCが行った新たな内部接続の失敗。このグラフでは、内部接続の失敗とモデル違反の急上昇が目立っています。
ネットワークスキャンは侵入後の第一段階で、それにより攻撃者はどのサービスが稼働中かを突き止めてから、パッチが適用されていない脆弱性を探すことができました。
Nmapには、偵察や水平移動によく悪用される複数の機能があります。この場合は、ドメインコントローラへのSMBv1セッションを確立するためにそれが使われました。これにより攻撃者はそれぞれの接続先とのSMBv1セッションを1回ずつ開始する必要がなくなりました。SMBv1には既知の脆弱性があるため、可能な限り無効にするのがベストプラクティスです。
ラテラルムーブメント
このデスクトップPCは、SQLサーバー上のサービス(svcctlエンドポイント)をコントロールし始めました。サービスの作成と開始の両方が観測されました(CreateServiceW、StartServiceW)。
次に、このデスクトップPCは、SQL Reportingサーバーに対して暗号化されていないHTTP接続を開始しました。これは、この2つのデバイス間に確立された初めてのHTTP接続であり、このユーザーエージェントがSQL Reportingサーバー上で観測された初めての機会でもありました。
接続のパケットキャプチャによって、CVE-2020-0613のエクスプロイトにみられるPOSTが判明しました。この脆弱性はデシリアライゼーションの問題です。これは、注意深く作成されたページリクエストにより、処理をサーバーが誤り、権限の低いアカウントがリバースシェルを確立し、サーバー上でリモートにコードを実行できるようにするものです。
図4:HTTP接続のPCAPの一部。このトラフィックは。SQL Server Reporting Services(SSRS)内におけるRemote Code Execution(RCE)を可能にするCVE-2020-0618のエクスプロイトに一致します。
ほとんどの動作はEast-Westトラフィックで観測され、すぐに使用できるリモートプロシージャコール(RPC)メソッドを使用していました。このような接続は、システム内に数多くあります。組織の「生活パターン」を学ばなければ、この悪意ある接続に注目することはほとんど不可能だったでしょう。
Cyber AIは、DCE-RPCエンドポイントを経由する、svcctlエンドポイントへの接続を検知しました。これは「サービス制御」エンドポイントと呼ばれ、デバイス上で稼働中のプロセスをリモートで制御するために使用されます。
このデスクトップPCからの水平移動中のHTTP POSTリクエストにより、CVE-2020-0613のエクスプロイトであることが判明しました。攻撃者は、パッチが適用されていない既存の脆弱性を発見し、悪用することに成功したのです。
Darktraceは、このHTTP接続について警告し、そこに潜む(そして最終的な)エクスプロイトを明らかにした唯一のツールでした。Cyber AIは、このユーザーエージェントがこのデバイス、そして企業全体にとって普段と異なるものあり、高度に異常であると判定しました。HTTP接続はほとんどのデジタル環境で一般的なので、この発見がなければ見逃されるところでした。
デスクトップPCに侵入した攻撃者は、Nmap、DCE-RPC、HTTPなど既存のツールやプロトコルを使用したため、他のあらゆるサイバー防衛手段では検知されませんでした。しかしCyber AIはスキャンと水平移動に関する複数の異常に気づき、確度の高い検知結果をトリガーしました。これは、Proactive Threat Notifications (PTN) によって通知される情報です。
コマンド&コントロール(C2)通信
翌日、攻撃者はVPN経由でSNMPサーバーに接続しました。この接続は、parentsのRDPクッキーを使用していました。
RDP接続の開始直後、サーバーはPastebinに接続し、暗号化された少量のデータをダウンロードしました。Pastebinはおそらく、悪意あるスクリプトをデバイスに導入するための経路として使用されたと思われます。
次に、SNMPサーバーは、SQLサーバー上のサービス (svcttl) を制御し始め、再びサービスの作成や開始を行いました。
これに続き、SQLサーバーとSNMPサーバーの両方が、未知の外部ドメインに大量のSSL接続を行いました。この接続先へのアップロードの1つは21MBありましたが、それ以外のほとんどの接続は同じパケットサイズでした。これは、他の要素とともに、接続先がC2サーバーとして使用されていたことを示しています。
図5:SQLサーバーによるビーコニングアクティビティを対象とする、Cyber AI Analyst での調査の例。
たった1つのアカウントが侵害されただけで、攻撃者はVPNに接続し、企業の内部ネットワーク上にある複数のサーバーを感染させました。
攻撃者はPastebinを使用してスクリプトをホストに導入しました。Darktraceはこれに対しアラートを発行しました。Pastebinはこの組織にとってきわめて稀だったからです。実際、こうした接続が観測されたのは初めてでした。ほとんどのセキュリティツールはこれを見逃してしまいます。Pastebinは正当なサイトで、オープンソースインテリジェンス(OSINT)によってブロックされないためです。
たとえPastebinの代わりに知名度の低い代替手段を使った場合でも(Pastebinはファイアウォールでブロックされるが、代替手段はブロックされないような環境でも)、Darktraceはまったく同じ手法で検知できたはずです。
また、このC2ビーコニングエンドポイント(dropbox16[.]com)については、オンラインで利用できるOSINT情報がありません。接続はポート443上で行われましたが、同社のシステム内で稀であることを除けば接続に注目すべき点はありませんでした。Darktraceは既知のシグネチャに頼るのではなく、非常に稀であることから警告を送信したのです。
永続性の確立
さらに1回のPastebinプルの後、攻撃者は足場をさらに大きくしようと試み、SamrCreateUser2InDomainオペレーション(エンドポイント: samr)を使用して新しいユーザーを作成することによって、権限を昇格させました。
永続性を確立するため、攻撃者は次にドメインコントローラに対するDCE-RPCコマンドを通じて、新しいユーザーを作成しました。これはデバイスにとって普段ときわめて異なるアクティビティであったため ‘New or Uncommon Occurrence’ (新規または未知の発生)モデルに対して異常スコア100%を与えられました。
Darktraceがこのアクティビティについて警告していなければ、攻撃者は引き続きファイルにアクセスしてこの会社にさらに深く侵入し、機密データを抽出したり、場合によってはランサムウェアをインストールしたりすることもできたのです。その場合、機密データの損失、評判の毀損、経済的損失につながるおそれがありました。
自律遮断(Autonomous Response)の価値
組織としては、Darktrace RESPONDをパッシブモードで使っていたため、自律的な対処はできませんでしたが、もし有効にしていた場合に実行されるはずだったアクションは確認することができます。
RESPOND は、最初に感染したデスクトップPCに対して、次の表に示す3つのアクションをとるはずでした。これらのアクションは、最初のスキャンと、最初のサービスコントロールリクエストに対応して即座に実行されるはずであったものです。
2日間の偵察と水平移動の間、RESPONDが推奨したステップはこれだけでした。これらのステップはすべて、侵入に直接関係していました。攻撃に関係ないものをブロックしようとするものはなく、この期間中にトリガーされたRESPONDアクションもありませんでした。
スキャンアクティビティ中に特定のポートへの接続をピンポイントにブロックし、感染したデスクトップPCに対して「生活パターン」を強制することで、RESPONDは攻撃者の偵察活動を麻痺させることができたはずでした。
さらに、このデバイスによって行われた不審なサービスコントロールの試みも阻止され、標的への被害も最小化されていたはずです。
RESPOND はこれらのブロックを直接、または顧客にとって最適なインテグレーション(ファイアウォールインテグレーションやNACインテグレーションなど)を通じて実現していたはずでした。
教訓
上記のような事例は、権限の低いアカウントに付与されるアクセスをコントロールすることと、セキュリティパッチを最新に保つことの重要性を示しています。このような攻撃は既存のネットワークインフラを利用するため、AIを使用せずにこれらの異常な接続を検知するのはきわめて困難です。
parentアカウントが最初に使用されてから、水平移動の最初の兆候が現れるまで、数日間の遅延がありました。侵入から内部活動の開始までのこのような休眠期間は、多くの攻撃でよく見られます。これは、攻撃者が最初にアクセスがうまくいったかどうかを確認してから、被害者のところをもう一度訪れて、スケジュールの都合がよいところでさらなる侵害を実行している高い可能性を示しています。
サーバーサイド攻撃の阻止
この事例は、現実に発生している多くの侵入を反映しています。つまり、攻撃の原因を突き止めることは簡単ではなく、また攻撃はしばしば、高度な技術を持つ、正体不明の脅威アクターによって行われるということです。
それにもかかわらず、Darktraceは攻撃サイクルの各段階、つまり最初の侵害、偵察、水平移動、足掛かりの確立、権限の昇格の検知に成功しています。もしRESPONDがアクティブモードであったならば、これらの接続をブロックするとともに、コードのリモート実行を可能にした、デスクトップPCによる最初のSQL脆弱性のエクスプロイトも完全に防ぐことができたはずでした。
翌日、自律遮断技術の威力を見たこの会社は、RESPONDをアクティブモードで運用することを決めました。
この脅威事例についての考察はDarktraceアナリストIsabel Finn が協力しました。
Darktraceによるモデル検知:
- Device / Anomalous Nmap SMB Activity
- Device / Network Scan - Low Anomaly Score
- Device / Network Scan
- Device / ICMP Address Scan
- Device / Suspicious Network Scan Activity
- Anomalous Connection / New or Uncommon Service Control
- Device / Multiple Lateral Movement Model Breaches
- Device / New User Agent To Internal Server
- Compliance / Pastebin
- Device / Repeated Unknown RPC Service Bind Errors
- Anomalous Server Activity / Rare External from Server
- Compromise / Unusual Connections to Rare Lets Encrypt
- User / Anomalous Domain User Creation Or Addition To Group