フィッシングメールによるサイバー攻撃が増加しており、攻撃者は一般的にDOCファイルに埋め込まれたマクロを利用して被害者のマシンに侵入します。最近、Quick Heal Security Labsは、Microsoftの数式エディタの脆弱性を利用してHawkeyeキーロガーを拡散するフィッシングメールのサンプルを発見しました。
サイバー犯罪者は機密データを盗むために様々な手法を用いています。現在、彼らは目的を達成するために高度なマルウェアを提供しています。そのため、私たちは現在も活発に進化を続ける新たな脅威を監視しています。Hawkeyeはキーロガーファミリーに属しています。最新のHawkeye v8は、Microsoft Office数式エディターの脆弱性CVE-2017-11882を悪用して侵入します。このエクスプロイトに関する詳細なブログ記事も公開しており、こちらからご覧いただけます。 こちらこのエクスプロイトは、アンチウイルス製品の検出を回避するための新しい手法を用いています。実行中にコードをコンパイルし、ペイロードをディスクに書き込むことなくメモリにロードします。
実行フロー:

エクスプロイト分析:
バッファオーバーフロー脆弱性は、Equation Nativeオブジェクトの「FONT」レコードに存在します。この脆弱性を悪用するには、OLEオブジェクトがEquation Nativeオブジェクトを呼び出す必要があり、そのためにはOLEファイルにEquation Nativeストリームを含める必要があります。
これは、次の 2 つのタイプを使用して実行できます。
- 「Equation Native」ストリームの使用。
- 活用 CLSID 「Equation Native」ストリームの。
この場合は、 CLSID 「Equation Native」ストリームの代わりに。

「OLE10native」ストリームを使用して、OLE オブジェクトを「Equation Native」ストリームに解析します。
以下は「OLE10native」ストリームの最小限のヘッダーです。
| DWORD | 数式オブジェクトのサイズ(MTEFヘッダー+MTEFデータ) |
OLE実行後、ファイル数式エディタが起動され、レコードの解析を開始します。まず、MTEFヘッダーとTYPESIZEヘッダーを解析し、次にFONTレコードの解析を開始します。この場合、FONTレコードの内容を格納するバッファがオーバーフローします。
次の図は、Equation Native オブジェクトによって解析される OLE10Native ストリームの構造を示しています。

この脆弱性を悪用すると、シェルコードが実行され、最終的に CNC サーバーから悪意のあるペイロードがダウンロードされます。

シェルコードは、Urlmon.dll に含まれる「URLDownloadToFileW」API を使用して URL に接続し、マルウェアをダウンロードして実行し、何らかの悪意のあるアクティビティを実行します。私たちのケースでは、キーロギングアクティビティを実行し、SMTP サーバーを介してデータを送信する Hawkeye キーロガーというマルウェアが見つかりました。
ペイロード分析:
最新のHawkeyeキーロガーは3段階の実行手順を採用しています。コンテナからローダーを実行し、Hawkeyeペイロードを注入します。 レガズム.exe 次に、ブラウザー、Outlook、および一部の FTP ファイル マネージャーに保存されているキーストロークと資格情報をキャプチャし、SMTP プロトコルを使用して送信します。
第一段階では、マルウェアファイル内のテキスト形式に含まれる暗号化されたC#コードが復号され、メモリ内でコンパイルされます。その後、メモリ内に存在するコンパイル済みコードがマルウェアによって実行されます。その後に続くコードは、.NET Frameworkユーティリティを用いたコードのコンパイルとメモリ内実行に使用されます。コードはテキスト形式であり、実行時にコンパイルされるため、ペイロードサイズが縮小され、ウイルス対策プログラムによる検出を回避できます。

CSharpCodeProviderは.NETコンパイラのユーティリティにアクセスするために使用されます。 csc.exe コードを動的にコンパイルするために使用されます。このようなコードを物理コピーなしでメモリ内で実行するために、コンパイラオプションが用意されています(図5を参照)。「GenerateExecutable」をfalseにすると、クラスライブラリが作成されます。値を「true」にすると、実行可能ファイルが作成されます。「GenerateInMemory」の場合、値として「false」を指定すると、アセンブリの物理コピーが%temp%/randomname.exeに保存されます。「GenerateInMemory」がtrueの場合は、アセンブリの物理コピーがセカンダリディスクに保存されません。次に、compilerResults.CompiledAssembly.EntryPoint.Invoke(null, null);を使用して、エントリポイントからコードを実行します。
第二段階では、ローダーはリソースからHawkeye rebornスタブを復号し、それを RegAsm.exeRegasm.exeは、アセンブリの登録または登録解除に使用される.NETのアセンブリ登録ツールです。このマルウェアでは、リフレクション(つまり 呼び出しメンバー メソッド)regasm.exeが実行され、hawkeyeペイロードがパラメータとしてregasm.exeに渡されます。その後、このペイロードはRegasm.exeの子プロセスとして実行されます。図6のText4はregasm.exeのパスであり、hXYyylN6()はペイロードの復号化されたバイト配列を返します。

最後の段階では、最終的なペイロードがローダーによって実行されます。 RegAsm.exe(Microsoft .NET Frameworkの正規のユーティリティです)。本物のMicrosoftアプリケーションのように見えますが、実際にはHawkeyeキーロガーです。ペイロードはConfuserEx 1.0と SuppressIldasm再起動後にマルウェアを実行するために、実行エントリを作成します。
Hawkeye の最新バージョンには、次のような多くの機能が含まれています。
- ユーザーのキーストローク、クリップボードの内容をキャプチャします。
- FTP、メールの資格情報をコピーします。
- アンチデバッグには、 SuppressIldasm および ConfuserEx 1.0。
- ウイルス対策や Wireshark などのツールを無効にするには、これらのアプリケーションのイメージ ファイル実行にキー debugger と値 rundll32 を追加します。
- 「メールパスビュー」と「ブラウザパスビューパスワード盗難の「」。
- また、ファイルの復元に使用される rstrui.exe を無効にします。
- 実行を遅延させるには、Thread.sleep() などのサンドボックス対策テクニックを使用します。
- base64 暗号化を使用して、CNC サーバーにデータを送信します。
- コードはcsc.exeを使用してユーザー側でコンパイルされます(Cシャープコンパイラ)
- すべてのディレクトリで「.Oeaccount」拡張子のファイルを検索します。
- CurrentVersion\\Policies\\System の下にレジストリを追加して、タスク マネージャー、コマンド プロンプト、およびレジストリを無効にします。
- cmd.exe と Wscript.exe を強制終了します
- ウイルス対策およびファイアウォール製品の詳細を検出する WMI クエリ。

Hawkeye キーロガーの動作:
キーロガーが実行されると、まずユーザーの種類をチェックし、次にホスト名、BIOS、ウイルス対策、ファイアウォール製品の詳細などの情報を収集し、すべての情報を「SUNDA[@]doctorework[.]com”ウイルス対策製品の詳細を検出するために、 WMI C# の ManagermentObjectSearcher クラスを使用してクエリを実行します。
サーバーとのデータ転送のためにSMTP接続を作成します us2[.]outbound[.]mailhostbox[.]com、 すべてのキーボード入力、クリップボード、システム情報を base64 暗号化形式で送信します。
![]()

また、 pomf[.]cat HTTP POSTリクエストを使用してスクリーンショットを保存するウェブサイト。Nirsoftの メールパスビュー の三脚と ブラウザパスビュー リソースディレクトリに。 メールパスビュー Outlookから保存された資格情報を取得し、 ブラウザパスビュー ブラウザに保存されている資格情報をコピーし、SMTP 接続を介してユーザーの資格情報を送信します。

ウイルス対策ソフトやWindows Defender、Wireshark、rstrui.exeなどのプログラムのリストが含まれています。このプログラムは実行を阻止するためにレジストリを追加します。
「HKLM\\SOFTWARE\\MICROSOFT\\WINDOWS NT\\CurrentVersion\\イメージファイル実行オプション\\プログラム名.exe\\」
キー名: デバッガー値: rundll32.exe
また、cmd.exe、wscript.exe を強制終了し、Hosts ファイルを変更します。
Rstrui.exe は、ファイルを復元するためのユーティリティです。このようなユーティリティを無効にすることで、被害者が復元ポイントに復元するのを防ぎます。

実行中のアプリケーション名に「WPE PRO」、「The Wireshark Network Analyzer」が含まれているかどうかを確認し、「SbieDll.dll」が実行中の場合は実行を終了します。サンドボックス対策として、スリープ命令を使用します。
Hawkeye キーロガーは押されたすべてのキーを記録するため、機密データのセキュリティに悪影響を及ぼします。
まとめ:
デジタルトレンドの台頭に伴い、データの重要性はますます高まっており、攻撃者はキーロガーマルウェアを利用してデータを窃取しています。アンチウイルス製品の検知を逃れるため、キーロガーは単純なコードから高度な回避技術を備えたマネージドMSILコードへと進化しています。マルウェア作成者は、ソーシャルエンジニアリングの手法やエクスプロイトコードを用いて被害者のマシンに侵入します。このような攻撃から身を守るために、ユーザーはMicrosoftアプリケーションとアンチウイルス製品をアップデートする必要があります。Quick Healは、高度な検出メカニズムにより、この攻撃を複数段階でブロックします。
検出:
Quick Heal は、Hawkeye キーロガーに対する多段階の保護を提供します。
PDF ファイルは検出によって検出されます: PDF.ダウンローダー.31377
ホークアイは検出によって検出されます: トロイの木馬ランサム, Pwstool.Netpass の三脚と Trojan.IGENERIC
IOC:
PDF: 5F9227210036BB64F71E9A5E25115A39
DOC: 5191234DBE697D3A79400FD89DEE3BBD
SUND: 78787470C46A45BE5AF5AE5DC2BF6EB9
ドメイン: hxxp[:]//fbsleads[.]com/assets/SSUUNDS[.]exe
メールID: サンダ[@]doctorework.com
メールサーバー: us2[.]outbound[.]mailhostbox[.]com
主題の専門家:
アニルッダ・ドラス、ヴァラブ・チョーレ、プラディープ・クルカルニ | クイックヒールセキュリティラボ



