防衛装備に関連した調査報告書を偽装した攻撃
先週弊社では、防衛装備に関連した調査報告を偽装したドキュメントを使った攻撃を観測しました。皆様に注意喚起を促す目的で、調査の一部を共有したいと思います。
防衛装備に関連した調査報告を偽装したドキュメントは、図1のように、WORDやPDFを偽装した二重拡張子のファイルで、おそらくメールに添付されたかたちで標的企業に配送されたと見られます。
図1、WORDやPDFで防衛関連の調査報告書を偽装したEXEファイル
SHA256 (PDF偽装ファイル) :
dc7521c00ec2534cf494c0263ddf67ea4ba9915eb17bdc0b3ebe9e840ec63643
SHA256 (DOC偽装ファイル) :
42da51b69bd6625244921a4eef9a2a10153e012a3213e8e9877cf831aea3eced
[動作概要]
ファイルを実行した場合、WORDのケースでは、図2のようなおとりのドキュメントが開き、%temp%にmshta.exeの名前でマルウェアがインストールされます。 図2、おとりドキュメント
マルウェアのインストール後は、下記のC2へのビーコニングを開始します。
bsksac.au-syd.mybluemix[.]net
168.1.35[.]170:443
[検知と解析回避技術]
このマルウェアには、興味深い検知と解析の迂回ロジックが含まれています。
図3は、WinMainでコードが実行されたあとに通過する処理をディスアセンブルしたものです。300msのSleepを実行した後、Sleep実行の直前の時間より、300ms以上経過しているかどうかを確認しています。通常ですと、かならず300ms以上となるので、この処理を永遠に繰り返す(無限ループ)ことになります。
図3、検知と解析回避技術箇所のディスアセンブルコード
サンドボックスの中には、Sleepを無効にして解析するものがあるため、300ms以下の時間となって、終了します。すなわち、以降で説明するマルウェアの実態の動作にまで至らず、解析ができないことになります。
図4は、同じ処理をC言語で表現したものです。マルウェアが動作する場合、無限ループからブレークするため、100を0または、1、2(乱数randの3の剰余)で割り算する処理を行い、0がヒットした場合に、クラッシュを引き起こしています(100を0で割り算するため)。通常のプログラムは、ここで例外処理を行って終了しますが、このマルウェアは、この例外処理から動作を継続します。図4、検知と解析回避技術箇所のC言語でのコード
静的解析ツールでディスアセンブルしたコードでは、処理のフローや関数として、この例外処理が表現されにいくため、静的な解析を妨害するような意図があると思われます。
最終的に、このクラッシュ処理の例外ハンドラ以降の処理を分析することで、BlackBox.dllと名付けられたDLLファイルを使って、Mutex作成やC2への処理を行っていることがわかります(図5)。
現在のところ、このマルウェアは、FireEye社のTHREEBYTEマルウェア(APT12)の後継バージョン、CrowdStrike社がNumbered Pandaとして追跡している攻撃組織の日本の防衛関連組織を標的とした攻撃キャンペーンの一部と分析しています。
最近になって、この攻撃組織によるものと思われる攻撃をいくつか観測しています。
2重拡張子の添付ファイル、bsksacXXXXといったドメインへの通信がある場合、弊社のMpression Threat Intelligence Platformでも、検体やドメインなどから、マルウェア・攻撃組織への照合が無償でできるため、こちらもご参考にご活用いただければと思います。
フォローしませんか?