オペレーション「コバルトキティ」- OceanLotusグループが実行した

アジア圏での高度なAPT攻撃についてのレポート

 

 Operation Cobalt Kittyとは、アジアに本拠地を置くグローバル企業を標的としたサイバー攻撃で、企業の経営幹部からビジネス機密情報を盗むことが最終目的でした。 ネットワークの侵入には、洗練されたフィッシングメールを利用。 企業のバイスプレジデントやシニアディレクター、および経営部門に所属しているその他のキーパーソンのコンピューターの侵入に成功し、また40台以上のPCとサーバー(ドメインコントローラー、ファイルサーバー、Webアプリケーションサーバー、データベースサーバー、等)にも侵入しました。

 
 フォレンジックによる痕跡調査の結果、攻撃者は、 Cybereason が導入される前に少なくとも1年間は当該ネットワーク上に居座り続けていたことが判明しました。ハッカー達は洗練された知識と能力はを持ち、ツール、手法、攻撃プロシージャ(TTP)を定期的に変更。 企業のセキュリティを逃れ、長期間にわたって企業のネットワークに居座り続けました。 Operation Cobalt Kittyでは80を超えるペイロードと多数のドメインが観測されましたが、それらはすべて、企業のネットワークに導入されていた従来型のアンチウィルスソフトウェアでは検出されませんでした。

 
 ハッカー達の武器は、改変された広く入手可能なツールと6つの文書化されていないカスタム構築されたツールから構成されており、これらのツールの中には、Microsoft、Google、Kaspersky のアプリケーションに対するDLLサイドローディングの脆弱性を悪用する2つのバックドアが含まれていました。 また、ハッカー達は、Microsoft Outlook を標的とする新しいステルス型の バックドアを開発することで、コマンドおよび制御チャネルの獲得とデータの引き出しを行おうとしていました。

 
Operation Cobalt Kitty で観測されたツール、手口、IOC(Indicators Of Compromise)に基づいて、Cybereason は、この大規模なサイバースパイ型のAPT攻撃が “OceanLotus Group”(APT-C-00、SeaLotus、APT32などとも呼ばれる)によるものであると判断しました。 また、Cybereason では、最近報告された Backdoor.Win32.Denis も OceanLotus Group によるものであると判断しています。

 
最後に、このレポートは、サイバースパイ型のAPT攻撃の中身を垣間見るための滅多にない機会であることをお伝えします。 Cybereasonは、侵入からデータの引き出しに至るまでのあらゆる段階において、攻撃の全ライフサイクルを監視し検知することに成功しました。

 
当レポートに含まれている詳細なセクションは次の通りです。
 ・Cobalt Kittyのライフサイクル:ステップごとの分析
 ・Cobalt Kittyの攻撃者の武器:本APT攻撃で使用されているツールに関する詳細分析
 ・Cobalt Kittyの脅威アクターのプロファイルとIOC(Indicators Of Compromise)
 ・攻撃に関する高レベルの概要説明:4つのフェーズからなる攻防

 
 以下のセクションでは、攻撃を受けた企業から環境の調査を依頼されたCybereasonのアナリストが観測した同攻撃の4つのフェーズについて説明します。この企業のセキュリティ担当者は、自社のネットワークに何者かが侵入していることを疑っていましたが、確信は持てませんでした。

 
フェーズ1:ファイルレス型の攻撃(PowerShellおよびCobalt Strikeペイロード)

 
フォレンジック調査に基づくと、フェーズ1は、Cybereason が同環境に配備される約1年前に始まりました。 このフェーズの間、ハッカー達は、既知の攻撃フレームワーク(Cobalt Strike、PowerSploit、Nishangなど)から取り込まれたカスタマイズ済みのPowerShellペイロードを使用して、ファイルレス型のPowerShellからインフラストラクチャを操作していました。

 
 最初の侵入は、業務メールを装ったEメールを利用して遂行されました。ハッカーに選ばれた社員達が、悪意あるサイトへのリンクやウィルスに感染したWordドキュメントを含むフィッシングメールを受け取りました。 これらのドキュメントには、2つのスケジュールされたタスクを使用して、侵入したマシン上でプロセスを作成する悪意のあるマクロが含まれていました。 このマクロの目的は、第2のペイロード(主にCobalt Strike Beacon)をダウンロードすることでした。

 
スケジュールされたタスク1:Cobalt StrikeペイロードへとリダイレクトするCOMスクリプトレットをダウンロードするもの。
 
task1s

 
スケジュールされたタスク2:Javascriptを使用してCobalt Strike Beaconをダウンロードするもの。
task2s

 

ファイルレスのペイロードデリバリー・インフラストラクチャ

payload-deliver_s

 
攻撃の第1フェーズでは、攻撃者は、次のコンポーネントから構成されるファイルレス型のインメモリペイロードデリバリーを使用していました。

 
1. VBSおよびPowerShellベースのローダー
ハッカー達は、ProgramData(デフォルトでは隠しフォルダ)の下に作成したフォルダ内に、Visual Basic および PowerShellスクリプトを投下しました。 ハッカー達は、Windowsのレジストリ、スケジュールされたタスクを使用してプロセスを作成しました。 このプロセスにより、ローダースクリプトが起動時または一定の間隔で実行されていました。

 
vbs-script_s

 
.vbsスクリプトは.txtファイルと同様にローダーのスクリプトを含んでおり、同スクリプトはbase64でエンコードされたコマンドを含むPowerShellを起動します。同コマンドは、別のPowerShellスクリプト(Cobalt Strike Beaconなど)をロードするか、またはコマンドおよび制御(C&C)サーバーからペイロードを取得します。

fileless-payload1

 

2. C&Cサーバーからのインメモリのファイルレス型ペイロード
C&Cサーバーから提供されるペイロードは主に、base64でエンコードされたペイロード(MetasploitおよびCobalt Strikeペイロード)を含むPowerShellスクリプトです。
例1:Cobalt Strike Beaconをダウンロードするシェルコードが組み込まれた PowerShellペイロード

 

push

 
デコードされたペイロードはシェルコードとなります。 このコードの目的はC&CサーバーからCobalt Strike Beacon を取得することです。

 

doit

 

例2:難読化されたPowerShell内に組み込まれているCobalt Strike Beacon
2つ目のタイプの難読化されたPowerShellペイロードは、Cobalt Strike Beaconペイロードを含んでいます。

 

 Cybereasonが侵入に関するアラートを当企業に発行し、PowerShellの実行禁止機能を提供してからわすか48時間でハッカー達は攻撃アプローチを変更。 これまで使用していたPowerShellインフラストラクチャの代わりに、洗練され非常に発見が難しいバックドアで攻撃を継続しました。 ハッカー達のこの卓越した迅速な適応能力は、高度なスキルを持ち、標的となった企業のネットワークとその運用に関するコマンドを熟知していることを証明するものでした。

 

フェーズ2:DLL乗っ取りとDNSトンネリングを悪用したバックドア

 
 PowerShellインフラストラクチャが発見されたことを知った後、ハッカー達は作戦を継続するために素早く攻撃手順を置き換えてきました。 このような攻撃手順の置き換えを48時間以内に実施できたことは、攻撃者がそのようなシナリオをすでに用意していたことを示唆しています。

 

 攻撃の第2フェーズにおいて、ハッカー達は、2つの洗練された、極めて検知されにくいバックドアをインストールしました。 この事実はハッカー達の高い資質とスキルセットを証明しています。 攻撃を受けた時点では、これらのバックドアは、いかなるセキュリティベンダーによっても検知されておらずウィルス登録もされていませんでした。 最近、Kasperskyの研究者が、これらのバックドアの1つのバリアントを Backdoor.Win32.Denis として特定しました。 バックドアは検知されないように、可能な限りステルス型となるよう設計されていました。

 
正規アプリケーションに対するDLL乗っ取りを利用したバックドア
 このバックドアは、信頼されているソフトウェア内部にマルウェアを「隠す」ために、“DLL乗っ取り”と呼ばれるテクニックを利用していました。 正規のソフトウェア内に見つかったセキュリティ脆弱性を悪用して偽のDLLをアップロードする手法で、ハッカー達は含まれているウィルスを実行できるようになります。

 
攻撃者は、次のアプリケーションに対して、この脆弱性を利用していました。

・Windows検索(脆弱性のあるアプリケーション:searchindexer.exe /searchprotoclhost.exe)
偽のDLL:msfte.dll (638b7b0536217c8923e856f4138d9caff7eb309d)

dns-tunneling

 
・Googleアップデート(d30e8c7543adbc801d675068530b57d75cabb13f)
偽のDLL:goopdate.dll (973b1ca8661be6651114edf29b10b31db4e218f7)

 
fakegoogle

 

 
・KasperskyのAvpia(691686839681adb345728806889925dc4eddb74e)
偽のDLL:product_info.dll (3cf4b44c9470fb5bd0c16996c4b2a338502a7517)

 
fakekapersky

 
 正規のソフトウェアを悪用することで、ハッカー達はアプリケーションのホワイトリストや正規のセキュリティソフトウェアを迂回し、企業のセキュリティ担当者の疑いを起こすことなく、作戦を継続することが可能となりました。

 
C2チャネルとしてのDNSトンネリング
 ハッカー達はネットワークのフィルタリングを突破するために、“DNSトンネリング”を使用した、よりステルス度の高いC2通信方式を採用しました。 DNSトラフィックがフィルタリングされないように、ハッカー達は Google および OpenDNS のDNSサーバーと通信を行うようにバックドアを設定しました。 なぜなら、ほとんどの組織やセキュリティ製品では、これら2つの大手DNSサービスへのトラフィックをフィルタリングすることはないからです。

dns-tunneling2

 
 下記のスクリーンショットに、このバックドアが生成したトラフィックと、C2通信用のDNSトンネリングを示します。この図に示されているように、宛先IPアドレスは“8.8.8.8”( GoogleのDNSサーバー)になっていますが、DNSパケット内部には悪意あるドメインが「隠れて」います。

 
deatinationprot

 

フェーズ3:MS Outlookのバックドア・マクロと連続的な感染拡大

 
 本攻撃の第3のフェーズでは、ハッカー達は侵入したマシン上に保存されていたクレデンシャルを収集し、新しいマシンへと感染を拡大しました。 また、ハッカー達は、非常に高度なステルス型のテクニックを導入することで、サーバーと通信し、Microsoft Outlookを使ってデータを引き出しました。

 

outlookmacro

 
MS Outlookマクロを悪用したバックドア
 ハッカー達は検知されることを防ぐため、検出が困難なOutlookを使ったC2チャネルを考案しました。 Microsoft Outlook内にステルス性の高い ”バックドア・マクロ” をインストールすることで、コマンドを実行し、ツールを配備し、侵入したマシンから貴重なデータを盗むことが可能となりました。 このバックドア・マクロは次の手順に従って処理を実施します。

 

ecpte

 
1) 悪意あるマクロが攻撃対象者のOutlookの受信トレイをスキャンし、文字列 “$$cpte”および“$$ecpte”を検索します。

 
2) 続いて、同マクロはCMDシェルをオープンします。この結果、これらの文字列間にある命令/コマンドがすべて実行されます。

 
3) 同マクロは、当該メッセージを受信トレイから削除し、露見するリスクを最小化します。

 
4) 同マクロは、「削除済みアイテム」フォルダ内にあるこれらの特殊な文字列を検索し、ハッカー達のメールアドレスを見つけ、メール経由でハッカー達にデータを送信します。

 
5) 最後に、同マクロは、ハッカー達によるメールの送受信を示すあらゆる証拠を削除します。

 
クレデンシャルのダンプと感染拡大
 ハッカー達は、有名なクレデンシャルダンプツールであるMimikatzを使用して、ユーザーパスワード、NTLMハッシュ、Kerberosチケットを含む各種のクレデンシャルを取得していました。Mimikatzは非常にポピュラーなツールであり、ほとんどのアンチウイルスベンダーやその他のセキュリティ製品によって検出されます。このため、攻撃者は、10種類以上の異なるカスタマイズされたMimikatzペイロードを利用しており、これらのペイロードは、アンチウイルスによる検出を逃れることができるように難読化されていました。

 
mimikatz

 
 検出されたMimikatzのコマンドライン引数の例を下記に示します。盗んだクレデンシャルを使用して、より多くのマシンへの感染が実施され、Windowsの組み込みツールが悪用されたほか、 pass-the-ticket攻撃やpass-the-hash攻撃も行われました。

 
passthehash

 
フェーズ4:PowerShell攻撃インフラストラクチャを復元する為の新しいツール

 
 Cybereasonにより攻撃が検知され、目立った活動が行われない状態が4週間続いた後、ハッカー達は標的となった企業が実装したセキュリティを回避できる改善されたツール持って現場に戻ってきました。 これらのツールや手法は主として、ハッカー達がPowerShell実行制限やパスワードダンプ制限を迂回できるようにするものでした。

 
 メインの攻撃マシンとして使用されたサーバーには、武器ツールがネットワークでシェアできるお湯に保存してあり、他のマシンにウイルスを容易に拡散できるようにされていました。 ハッカー達の攻撃ツールは、次のものから構成されていました。

 
・DenisおよびGoopyバックドアの新しい変形タイプ

 
・PowerShell制限迂回ツール:PSUnlock Githubプロジェクトを改変したもの。このツールを使って、攻撃者はPowerShell実効制限の迂回を試みました。

 
・PowerShell Cobalt Strike Beacon:新しいペイロードと新しいC2ドメインを組み合わせたもの。

 
・PowerShell Obfuscator:新しいPowerShellペイロードは、広く公開されているスクリプト(Daniel BohannonのGitHub プロジェクトを改変したもの)を使用して難読化されています。

 
・HookPasswordChange:GitHub上にあるツールによりインスパイアされたもので、パスワードが変更された場合、攻撃者にアラートを送信します。このツールを使って、攻撃者はパスワードのリセットを検知していました。

 
・カスタマイズされたWindows Credentials Dumper:既知のパスワードダンプツールをベースとしたPowerShellによるパスワードダンププログラムであり、攻撃者により改変されています。

 
・カスタマイズされたOutlook Credentials Dumper:既知のOutlookクレデンシャルダンププログラムから改変されたもの。

 
・Mimikatz – PowerShell版とバイナリ版があり、異なる難読化の層が含まれています。

 
 これらの攻撃ツールは、ハッカー達が、PowerShellベースの攻撃インフラストラクチャが検出され停止させられた場合であっても、攻撃インフラストラクチャを復元できるようにしたことを示しています。 ハッカー達はファイルレス型のインフラストラクチャを使用するのを好んでいました。 自分独自のカスタム構築ツールを使用するよりも、より拡張可能な既知のツールを使用することを好んでいたと考えられます。

 
【Operation Cobalt Kitty 要約】

 
Operation Cobalt Kittyは、OceanLotus Groupにより実行された、アジア圏のグローバル企業を標的とした高度なサイバースパイ型のAPT攻撃です。 このAPT攻撃の分析は、いかに攻撃者の意志が強く巧妙であるかを証明しています。 彼らは気付かれない状態を保つために、絶えず手法を変え、攻撃ツールを更新し続けていました。 また彼らは、攻撃が露見し停止された場合であっても決してあきらめませんでした。

 
 Operation Cobalt Kittyの調査中に、Cybereasonは OceanLotus Group の攻撃用ツールの中に新しいツールを発見しました。

 
・HTTPとDNSトンネリングを使用してC2通信を行う新しいバックドア(“Goopy”)
Outlookを悪用してC2通信とデータ引き出しを行う文書化されていないバックドア
Microsoft、Google、Kasperskyが提供している正規のアプリケーションに含まれているDLL乗っ取りの脆弱性を悪用したバックドア

 
・既知のツールによりインスパイアされた、3種類のカスタマイズされたクレデンシャルダンプツール。 Cybereasonは “Denis” バックドアの新しいバリアントを発見し、それがOceanLotus Groupによって作られたものであることを突き止めました。

 
 本レポートは、アジア圏で活動している最も興味深いグループの1つにより実行された洗練されたAPT攻撃について詳細な分析を提供しています。APTの全ライフサイクルの各ステージ(最初の侵入からデータの引き出しまで)を注意深く監視し検知できる能力は、非常に重要です。

 
 ハッカー達のツールのほとんどが、Cybereasonが導入されるまで、企業の環境に配備されていたアンチウイルスソフトウェアやセキュリティ製品によって検出されなかったことは驚くにあたりません。 ハッカー達は明らかに、アンチウイルスによる検出を逃れ、攻撃を検知されないように保つために多くの時間と労力を費やしています。

 
 調査が進むにつれ、Operation Cobalt Kittyで観測されたIOCの一部が広く出回り始めており、最近ではその他の攻撃で使用されていることも報告されています。 ただし、IOCは絶えず変化する傾向があることに注意すべきです。 現代的で洗練されたAPT攻撃と戦う上では、攻撃してくるハッカー達の行動パターンを理解することが必須です。 使用された攻撃の手口とツールは、攻撃者を炙り出すための”指紋”として機能したほか、 Operation Cobalt Kitty を OceanLotus Group に結び付けるために重要な役割を演じました。

 
 最後になりますが、Operation Cobalt Kittyは増え続けるAPT攻撃の一つのケースにすぎません。 高度な知識と経験を持ち、複数のAPT攻撃を同時に編成し、広範な標的を攻撃するためには、莫大なリソース、時間、マンパワー、動機付けが必要となります。 このような組み合わせは、国家が後ろ盾のハッカー集団が持つサイバー攻撃の特徴を表しています。

ホワイトペーパー「すべての組織が狙われている」

企業、組織がどんなにセキュリティを強固にしてもハッカーが悪用できる脆弱性は必ず存在します。侵入されることが避けられないことを受け入れ、新たな対策を立てる必要があります。本書で、なぜ避けられないのか、どのように対処するのかをご覧ください。
https://www.cybereason.co.jp/product-documents/white-paper/606/

ホワイトペーパー「すべての組織が狙われている」