HUI Loaderの分析

攻撃者は、マルウェアの機能を隠蔽するために、マルウェア本体をエンコードし、実行時だけデコードして動作させることがあります。そのような場合、エンコードされたマルウェア本体は、ローダーと呼ばれるプログラムにロードされて、実行されます。このように、マルウェアをローダーとエンコードされたマルウェア本体に分割することで、ローダーの機能を最小限にし、マルウェアの重要な機能を隠蔽することで、感染ホスト上で発見することが難しくなります。 今回は、このようなローダーの中で、2015年頃から使用されているHUI Loaderについて解説します。

HUI Loaderの概要

HUI Loaderについては、JSAC2022にて複数の攻撃グループによって使用されていることが指摘[1]されているローダーです。JPCERT/CCでも、HUI Loaderを使用した攻撃を2015年頃から確認しています。図1は、HUI Loaderを使用した攻撃グループとHUI Loaderの変化を表したものです。

HUI Loaderの変遷
図1: HUI Loaderの変遷

最初にHUI Loaderの使用が確認されたのは2015年1月頃で、攻撃グループAPT10によって使用されていたことを確認しています。その後、2015年4月頃からは、Blue Termiteによって利用が始まりました。これらの攻撃グループは、以下の3種類のHUI Loaderにロードされるエンコードされたマルウェアを使用していました。なお、Poison IvyおよびQuasarは、オリジナルのものから攻撃者によってカスタマイズされたものでした。

  • PlugX
  • Poison Ivy [2]
  • Quasar [3]

2016年以降は、攻撃グループAPT10に使用されていることを継続的に確認していましたが、2020年6月以降には、攻撃グループA41APTも使用するようになりました[1]。さらに、2021年8月以降は、攻撃グループDEV-0401でも使用が開始されました[4]。 マルウェア本体をエンコードする方法は初期から変化はなく、以下のようにデコードすることが可能です。

for i in range(len(enc_data)):
    data = ord(enc_data[i]) ^ 0x20 ^ ord(key[i % len(key)])
    dec_data.append(data)  

以降では、これまでに行われた以下のHUI Loaderの機能変更について説明します。

  • Persistence
  • パスワードのランダム化
  • セキュリティ機能の無効化
  • 特徴的文字列の削除

Persistence

HUI Loaderは、Persistence機能があるものと、ないものが存在します。Persistence機能は、以下の3つのパターンを確認しています。

  • サービス
  • レジストリ(Runキー)
  • スタートアップフォルダー

多くのHUI Loaderは、サービスを登録して、再起動時にサービスとして起動します。サービス名などは、検体ごとで異なります。レジストリから起動するタイプは、2015年頃は確認されましたが、最近の検体ではみられていません。スタートアップフォルダーから起動するタイプは、図2の通りスタートアップフォルダーにLNKファイルを作成し、ショートカットファイル経由で起動します。

スタートアップフォルダーにLNKファイルを作成するコード
図2: スタートアップフォルダーにLNKファイルを作成するコード

パスワードのランダム化

2015年頃に確認されたHUI Loaderは、規則性のある文字列をパスワードとしてマルウェア本体をデコードしていました。そのため、複数の検体で同一のパスワードが使われることがよくありました。2016年以降は、パスワードがランダム化されて検体ごとで異なる値が使用されるようになりました。

表1:HUI Loaderの使用するパスワード例
sha256 creation time password
8efcecc00763ce9269a01d2b5918873144746c4b203be28c92459f5301927961 2015-05-21 08:54:24 qwe123#@!4567890
421e11a96e810c834dd6b14b515ad7a5401813caa0555ddfb3490c3d82336e3d 2015-07-14 02:07:10 qwe123#@!4567890
beb77e277510c4ff2797a314494606335f158a722cf6533fad62ba5d5789e2d3 2015-07-16 11:17:04 qwe123#@!4567890
074075eda7dde4396fb8aa441031cf88873b969273a9541f25b15fc35ec5ee49 2017-05-24 11:50:56 etweq0sH8zV6ggqRaBe
af223370ff0da3c9a9314dc6bf9cb9d9c3a12e2e3c835643edeedad4b4f908fa 2017-09-07 09:51:04 sdh7h327ogd28632fgd3f7fhn
c3cb9d0650fcca22a61760fa072336a036a8a5e8eaa61cb72bc4b553a84aedd1 2017-09-19 05:03:45 gef798w6g6f523fif5d3sdad

セキュリティ機能の無効化

HUI Loaderの中には、WindowsOSのセキュリティ機能である、Event Tracing for Windows(ETW)およびAntimalware Scan Interface(AMSI)をバイパスすることを目的とするコードを持つものも存在します。図3および図4は、ETWおよびAMSIをバイパスするコードの一部です。

ETWをバイパスするコード例
図3: ETWをバイパスするコード例

AMSIをバイパスするコード例
図4: AMSIをバイパスするコード例

AmsiScanBuffer関数および、EtwEventWrite関数の先頭をRETN命令に変更しています。

特徴的文字列の削除

HUI Loaderには、検体内に特徴的な文字列HUIHWASDIHWEIUDHDSFSFEFWEFEWFDSGEFERWGWEEFWFWEWDが含まれていました。しかし、2021年12月以降は、この文字列を含まない検体も確認しています。図5は、特徴的文字列を持つ検体と持たない検体を比較したものです。

特徴的文字列
図5: 特徴的文字列
(左: 特徴的文字列なし、右: 特徴的文字列あり)

おわりに

HUI Loaderは、2015年頃から少しずつアップデートが行われつつ、長い間使われているローダーです。今後も、引き続き使用されることが予想されます。今回紹介したHUI LoaderのIoCはGithub上で公開しています。必要に応じてご活用ください。

https://github.com/JPCERTCC/HUILoader-research

インシデントレスポンスグループ 朝長 秀誠

参考情報

[1] JSAC2022: カオス化するA41APTキャンペーンに対して私達ができること
  https://jsac.jpcert.or.jp/archive/2022/pdf/JSAC2022_9_yanagishita-tamada-nakatsuru-ishimaru_jp.pdf

[2] JPCERT/CC Eyes: 認証プロキシに対応したPoisonIvy
  https://blogs.jpcert.or.jp/ja/2015/07/poisonivy.html

[3] JPCERT/CC Eyes: Quasar Familyによる攻撃活動
  https://blogs.jpcert.or.jp/ja/2020/12/quasar-family.html

[4] Symantec Enterprise Blogs: LockFile: Ransomware Uses PetitPotam Exploit to Compromise Windows Domain Controllers
  https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/lockfile-ransomware-new-petitpotam-windows

≪ 前へ
トップに戻る
次へ ≫