HUI Loaderの分析
攻撃者は、マルウェアの機能を隠蔽するために、マルウェア本体をエンコードし、実行時だけデコードして動作させることがあります。そのような場合、エンコードされたマルウェア本体は、ローダーと呼ばれるプログラムにロードされて、実行されます。このように、マルウェアをローダーとエンコードされたマルウェア本体に分割することで、ローダーの機能を最小限にし、マルウェアの重要な機能を隠蔽することで、感染ホスト上で発見することが難しくなります。 今回は、このようなローダーの中で、2015年頃から使用されているHUI Loaderについて解説します。
HUI Loaderの概要
HUI Loaderについては、JSAC2022にて複数の攻撃グループによって使用されていることが指摘[1]されているローダーです。JPCERT/CCでも、HUI Loaderを使用した攻撃を2015年頃から確認しています。図1は、HUI Loaderを使用した攻撃グループとHUI Loaderの変化を表したものです。
最初にHUI Loaderの使用が確認されたのは2015年1月頃で、攻撃グループAPT10によって使用されていたことを確認しています。その後、2015年4月頃からは、Blue Termiteによって利用が始まりました。これらの攻撃グループは、以下の3種類のHUI Loaderにロードされるエンコードされたマルウェアを使用していました。なお、Poison IvyおよびQuasarは、オリジナルのものから攻撃者によってカスタマイズされたものでした。
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ファイルを作成し、ショートカットファイル経由で起動します。
パスワードのランダム化
2015年頃に確認されたHUI Loaderは、規則性のある文字列をパスワードとしてマルウェア本体をデコードしていました。そのため、複数の検体で同一のパスワードが使われることがよくありました。2016年以降は、パスワードがランダム化されて検体ごとで異なる値が使用されるようになりました。
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をバイパスするコードの一部です。
AmsiScanBuffer関数および、EtwEventWrite関数の先頭をRETN命令に変更しています。
特徴的文字列の削除
HUI Loaderには、検体内に特徴的な文字列HUIHWASDIHWEIUDHDSFSFEFWEFEWFDSGEFERWGWEEFWFWEWD
が含まれていました。しかし、2021年12月以降は、この文字列を含まない検体も確認しています。図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