新たに登場したステルス性マルウェア「Gayfemboy」亜種の攻撃手法

文●フォーティネットジャパン 編集●ASCII

提供: フォーティネットジャパン

  • この記事をはてなブックマークに追加
  • 本文印刷

本記事はフォーティネットジャパンが提供する「FORTINETブログ」に掲載された「IoTマルウェアの復活:Miraiベースの「Gayfemboy」ボットネット攻撃の真相」を再編集したものです。

影響を受けるプラットフォーム:DrayTek Vigor2960 1.3.1_Beta、DrayTek Vigor3900 1.4.4_Beta、DrayTek Vigor300B 1.3.3_Beta、DrayTek Vigor300B 1.4.2.1_Beta、DrayTek Vigor300B 1.4.4_Beta、TP-Link Archer AX21(AX1800)のファームウェアバージョン1.1.4 Build 20230219以前、Raisecom MSG1200、Raisecom MSG2100E、Raisecom MSG2200、Raisecom MSG2300 3.90、Cisco ISE、Cisco ISE-PIC
影響を受けるユーザー    :あらゆる組織
影響            :リモートの攻撃者による脆弱なシステムの乗っ取り
深刻度           :高

 FortiGuard Labsは過去1年間にわたり、さまざまな脆弱性を悪用してシステムに侵入するステルス性マルウェアの亜種を追跡してきました。このマルウェアは、中国のサイバーセキュリティ企業が「Gayfemboy」という名前で初めて公開したもので、今年7月、新たな活動によって再浮上しました。今回の亜種は、DrayTek、TP-Link、Raisecom、Ciscoといったベンダーの製品に存在する脆弱性を標的にし、形式と振る舞いの両方に進化の兆候が見られます。

 本ブログでは、Gayfemboyを詳しく分析して技術的な内容を明らかにし、進化した振る舞いの意味するところを考察します。

インシデント

 2025年7月、FortiGuard LabsはGayfemboy関連のペイロードが複数の脆弱性を悪用していることを確認しました。追跡を行ったところ、すべてのインスタンスで攻撃元(87[.]121[.]84[.]34)とダウンロードホスト(220[.]158[.]234[.]135)が共通していました。

図1:TP-Link Archer AX21のエクスプロイトトラフィック

図2:Raisecomのエクスプロイトトラフィック

図3:DrayTekのエクスプロイトトラフィック

 ダウンロードスクリプトを入手すると、次の表のようなダウンロード元のパターンが判明しました。

図4:Raisecomのダウンローダースクリプト

URLルート 説明
x ダウンローダースクリプト
j Gayfemboyマルウェア
xm XMRigコインマイナー

 ダウンローダースクリプトは、特定の製品名をパラメータとして使用してGayfemboyを実行します。このことから、各スクリプトは対応する製品にちなんで名付けられている(「asus」、「vivo」、「zyxel」、「realtek」など)と推察されます。

図5:Asusのダウンローダースクリプト

図6:Vivoのダウンローダースクリプト

図7:Zyxelのダウンローダースクリプト

図8:Realtekのダウンローダースクリプト

 Gayfemboyキャンペーンは、ブラジル、メキシコ、米国、ドイツ、フランス、スイス、イスラエル、ベトナムなど多数の国にまたがっています。その標的も、製造、テクノロジー、建設、メディア、通信など幅広い業種に及んでいます。

図9:Gayfemboyの影響を受けた国

マルウェア分析

 Gayfemboyは、ファイルをダウンロードする段階で最初の難読化を行います。一般的に、MiraiやGafgytの亜種はファイル拡張子にLinuxのアーキテクチャ名を使用しますが、Gayfemboyはそれぞれのアーキテクチャに独特な名前を割り当てて、命名規則が予測されないようにしています。

ファイル名 Linuxアーキテクチャ
a4le ARM
a5le ARM
a6le ARM
a7le ARM
aale AArch64
mbe MIPS R3000
mle MIPS R3000
ppc PowerPC
xle Intel 80386
xale Advanced Micro Devices X86-64

 次の分析では「xale1」に着目します。これは、Linuxアーキテクチャのx86-64を標的にする亜種です。

 我々はDiE(Detect It Easy)ツールを使用して、GayfemboyがUPXで圧縮されていることを特定しました。ただし、Gayfemboyは検知を回避するために、標準的なUPXヘッダーである「UPX!」を、16進値「10 F0 00 00」で表される印刷不能文字列に置き換えます。

図10:UPXマジックヘッダーの変更によるアンパック対策

 Gayfemboyは実行されると、文字列「twinks :3」を表示します。

図11:実行後のポップアップ文字列

 次に、/proc/[PID]/配下の各サブディレクトリをスキャンし、対応するすべての/proc/[PID]/exeのパスを調べます。これは、実行中のプロセスと、その実行ファイルの場所について情報を収集するためです。

図12:プロセスのサブディレクトリをスキャン

 続いて、各/proc/[PID]/exeパスを調べ、(deleted)、/tmp/.、/bot.、vrlocker、/.ai、/.*といった明白なキーワードがないか確認します。これらは通常、他のマルウェアと関連しています。該当するキーワードがあった場合は直ちに対応するプロセスを終了し、競合する感染を除去します。

図13:他のマルウェアとよく関連付けられるキーワード

 Gayfemboyは、モニター、ウォッチドッグ、アタッカー、キラーという4つの主要機能を備えています。

 モニター機能は、基本的な分析回避手法を駆使しながら、スレッドとプロセスを追跡します。Gayfemboyはメモリに47個のコマンド文字列を読み込み、すべての/proc/[PID]/cmdlineエントリをスキャンします。一致する文字列が見つかった場合は、関連するプロセスを直ちに終了します。
 

ls -l reboot wget tftp tftpget ftp
scp sftp echo ping curl ELF
mount umount cat sed tail halt
netstat shutdown mv rm - traceroute fetch
pgrep strings poweroff gcc g++ mknod
pkill mkfifo ptrace strace chmod lsof
base64 tcpdump ls id whoami uname
df dd uptime nc

図14:特定のプロセスを強制終了するモニター機能

 モニター機能には、自己永続化サンドボックス回避という2つの専用補助機能があります。

 自己永続化はマルウェアをアクティブな状態で維持します。Gayfemboyは、自身のプロセスが終了されたことを検知すると、自動的に自らを再実行します。

図15:モニター機能の自己永続化

 サンドボックス回避手法の一環として、Gayfemboyは50ナノ秒の遅延を意図的に発生させます。このように微妙な遅延を正確に処理できないサンドボックス環境でマルウェアが実行されると、タイミング機能が停止し、マルウェアはその結果を誤って解釈し、約27時間のフォールバックスリープを開始します。

図16:モニター機能のサンドボックス回避

 ウォッチドッグ機能は、UDPポート47272へのバインドを試行すると起動します。バインドに失敗した場合は、ウォッチドッグの別のインスタンスがすでに起動していると見なされます。その場合、Gayfemboyは127.0.0.1:47272に接続し、フォーマット済み文字列<[timestamp]|[PID]>を格納したパケットを送信します。

 応答がないままこのメッセージの送信回数が9回を超えると、Gayfemboyは応答不能または障害が発生したと判断し、自身を終了します。

図17:ウォッチドッグ機能

 アタッカー機能はDDoS攻撃を仕掛け、バックドアアクセスを有効にします。オンデマンドで使用できるよう、UDPフラッド、UDPバイパス、TCPフラッド、TCP SYNフラッド、ICMPフラッド、ハートビート、バックドアモジュールなど複数の攻撃手法を事前にメモリに読み込んでおきます。

図18:UDPフラッド攻撃

 Gayfemboyは文字列「meowmeow」をトリガーとして使用し、バックドア機能を有効化します。

図19:バックドア手法

 Gayfemboyがコマンド&コントロール(C2)サーバーとの接続をまだ確立していない場合は、事前定義されたC2ドメインのリストから接続先をランダムに選択して通信を開始します。Gayfemboyはこれらのドメインを解決する際、システムに構成済みのリゾルバではなく、公共のDNSサーバー(1.1.1.1、8.8.8.8、8.8.4.4など)を使用します。

 この手法によって、ローカルのDNSフィルタリングやDNSシンクホールが回避されるため、防御側は静的IPブラックリストでC2通信をブロックするのが一層困難になります。公共のリゾルバで動的にドメイン名を解決することで、GayfemboyはC2インフラストラクチャをより柔軟に切り替え、ひとつまたは複数のドメインが停止しても永続性を維持することができます。

 既知のC2ドメインは次の通りです。

・cross-compiling[.]org
・i-kiss-boys[.]com
・furry-femboys[.]top
・twinkfinder[.]nl
・3gipcam[.]com

図20:解決されたC2サーバードメイン

図21:解決されたC2サーバードメインのトラフィック

 C2ドメインを解決できたら、Gayfemboyは15個のポートが事前定義されたリストをスキャンして通信の確立を試みます。各ポートが開いており、C2トラフィックに使用できるかどうかを体系的にチェックすることで、フィルタリングによってアウトバウンドが制限されている環境であっても接続できる可能性を高めます。

1900 80 443
23 53 69
21 123 1111
2222 3333 99
8080 2659 25

 接続が成功すると、C2サーバーは感染したホストにさまざまなコマンドを発行できます。受信したパケットの長さがちょうど4バイトの場合、それは4つの定義済みコマンドのいずれかに該当します。各コマンドは以下の16進シーケンスで識別されます。

C2コマンド(16進数) 振る舞い
6C 6C 6F 66 ソケットの接続をリセットする
55 55 55 55 マルウェアをスリープ状態にする
44 44 44 44 内部接続フラグを1に設定する
11 11 11 11 エンコードされたシステム情報をC2サーバーに返送する

 上記のコマンドは、基本的な制御、永続化、および偵察機能を最小限のオーバーヘッドで有効にします。これはおそらく、軽量な通信を維持して検知されにくくするためです。

図22:C2サーバーから受信した4バイト長のコマンド

 C2サーバーからのコマンドパケットが5バイトを超える場合、Gayfemboyは別の方法でメッセージを解析します。まず、2バイト長のフィールドを抽出し、残りのデータをコマンド形式に基づいて解析します。以下の条件が適用されます。

・最初のバイトはメインコマンドのID
・2番目のバイトはサブコマンド


 次に、コマンドの種類に応じて適切な動作を実行します。

C2コマンド(16進数) 振る舞い  
0E リモートペイロードをダウンロードして実行する
17 ボットネットのプロセスを終了する
18 C2サーバーに「ACK」応答を送信する
1C /bin/shを実行してリバースシェルを起動する
1D C2サーバーとの通信を停止する
1F C2サーバーから受信したパラメータ(標的のIP、ポート、構成)を使用してDDoS攻撃を開始する
20 接続とハートビートのステータスをリセットする
21 既存のC2ドメインリストを消去し、サーバーアドレスをリセットする
22 C2トラフィックを許可するよう(iptablesを介して)ファイアウォールルールを変更する
23 文字列whattheflipが検出された場合は現在の攻撃を中止する
その他 攻撃者が定義した特定のDDoS攻撃をトリガーする

 このような仕組みによって、攻撃者はより複雑なコマンドを発行し、ボットをリモートで管理するほか、防御を回避しながら攻撃の動作を動的に制御することができます。

図23:攻撃手法の読み込み

図24:UDPフラッド攻撃のトリガー

 キラー機能は、次の2つのメカニズムによって自己防衛を図ります。
1. 時間チェック:システムクロックを監視し、24時間近い時差が検知された場合は、サンドボックスの操作やシステムのロールバックを示唆している可能性があるため、自己終了をトリガーします。
2. リモート終了コマンド:文字列^kill^が含まれるC2からのコマンドをリッスンします。このコマンドを受信したら、直ちに自身を終了します。

結論

 GayfemboyはMiraiの構造的要素を継承する一方、明確な修正も施され、複雑さと検知回避能力の両方が強化されています。このような進化は、現代のマルウェアがますます巧妙化している証拠であり、プロアクティブでインテリジェンスに基づいた防御戦略の必要性を改めて示しています。マルウェアに先んじるには、定期的なパッチの適用に加えて、新しい脅威の徹底分析と公開が必要です。それによって有効な対抗手段を開発し、リスクを減災します。

フォーティネットのソリューション

 本レポートで説明されているマルウェアは、FortiGuardアンチウイルスで次の名称で検知されブロックされます。

BASH/Dloader.P!tr
BASH/Agent.CSQ!tr.dldr
ELF/Mirai.CSQ!tr
ELF/Mirai.GFB!tr

 FortiGate、FortiMail、FortiClient、FortiEDRは、FortiGuardアンチウイルスサービスをサポートしています。これらの各ソリューションには、FortiGuardアンチウイルスエンジンが含まれています。したがって、最新の保護機能を備えたこれらの製品をお使いのお客様は、脅威から保護されています。

 FortiGuard Webフィルタリングサービスは、C2サーバーをブロックします。

 FortiGuard Labsは、次の脆弱性を悪用した攻撃に対応するIPSシグネチャを提供しています。

CVE-2020-8515 DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2020-14993: DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2023-1389: TP-Link.Archer.AX21.luci.stok.Command.Injection
CVE-2024-7120: Raisecom.Gateway.Devices.Base.Config.Command.Injection
CVE-2024-45884: DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2024-45885: DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2024-45887: DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2024-45888: DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2024-45890: DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2024-45891: DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2024-48074: DrayTek.Devices.mainfunction.cgi.Command.Injection
CVE-2025-20281: Cisco.ISE.InternalUser.Remote.Code.Execution

 また、各組織は、フォーティネットが無償で提供するトレーニングモジュール「Fortinet Certified Fundamentals(FCF)」を受講することをお勧めします。このモジュールは、エンドユーザーが各種のフィッシング攻撃を識別して自らを保護する方法を学習できるよう設計されています。

 FortiGuard IPレピュテーションおよびアンチボットネットセキュリティサービスはフォーティネット分散ネットワークからの不正送信元IPデータを集約することで、これらの攻撃をプロアクティブにブロックします。この分散ネットワークでは、脅威センサー、CERT、MITRE、協力関係にある競合他社、その他のグローバルソースが連携し、悪意ある送信元に関する最新の脅威インテリジェンスを提供します。

 お客様の組織が、Gayfemboyやその他のサイバーセキュリティ脅威の影響を受けていると思われる場合は、当社のグローバルFortiGuardインシデントレスポンスチームまでご連絡ください。

IOC(Indicators of Compromise:侵害指標)

ホスト
141[.]11[.]62[.]222
149[.]50[.]96[.]114
220[.]158[.]234[.]135
78[.]31[.]250[.]15
5[.]182[.]206[.]7
5[.]182[.]204[.]251
cross-compiling[.]org
i-kiss-boys[.]com
furry-femboys[.]top
twinkfinder[.]nl
3gipcam[.]com

ファイル

ダウンローダー
1940296f59fb5fb29f52e96044eca25946f849183ceda4feb03e816b79fbaa81
269259e5c2df6b51719fd227fa90668dd8400d7da6c0e816a8e8e03f88e06026
87b6917034daa6f96f1f3813f88f2eb6d5e5c1b8f6b5b9ab337ab7065d4cb4c0
ca93203a9b795ffa66e5949e1ef643314bc3f3a3db4bed551ecd1c1e20b06089
26375b74e64d786ebc769cfd04e75eebec3b100da3637976e433a67ffa0cac79
2bfe2748bc594614dd03577053b58a5fb9fb8a6182fecc2025f1b715554d7fe1
39fdef9339c75723d865481283f3d4566f78969743eef38061beddcbf5a2690d
7eee9ad9bb0154c8e60201f3dbfe3cff84692f95f0515c6c66fab7240e864b64
ed3f85e537ada33c5f3b1f09b5df6e8b4345514e920f7e75fc0a6535b7e4a352
728dbb47e10a245b612453b8f9aaf3fb125760691d5f0397b01da2190f2e9709
9cc814ac2e15d1405fb4d35cb72d6341c0df8ae26741d1b08a243f236ef4f531
e764413c5ed6a9dba0d69b95a15841fb9b867f7aab3be7600381547eb5c2c1ab
400cc665fd3f23a6ca7a88c4c0f8cbb4f64b7a950786f202acc64623a8e452d7
b83b1484cf9dc6fe34a7d100c0ee582eaa2917f50bca1f7f9da7891698e3bedb
57861ee774b1ff56035f62e48590ce16246f484503bd0670c597ea102679d86b
737a795bfb19059062ee2f0a7b2ea0e88283413e76d1b796782423006f3b2cdf
7fda54c9a489fea2dc8f7248d7bf72e1e356e47366478c0d5f4ba421dddf4ab7
01c0a184c145ee382174937bb891bff90b3d574ee0616f40b3eb3ccfb68ba786
c3862c9b2d85c74dc5b2e38c600474e8df92677c064973b0a464a1aaa12f607e
9f77b86621c7cec885ab89a3dcf0548a7ee17c8c88f66780dfc7dcb2a13da146
Gayfemboy
e85291d70a144ebe2842aeba2c77029762ca8ebfd36008b7bb83cda3e5d5d99d
dd0c9a205b0c0f4c801c40e1663ca3989f9136e117d4dcb4f451474ceb67c3da
6ca219e62ca53b64e4fdf7bff5c43a53681ed010cbaa688fa12de85a8f3de5e7
0672a9aebc7597eef44490f40c42e203d5ddfebc9300b62f38b0d1312a852235
47785b773808d7e1d2f1064b054e7e13b8b2ce9a35c68b926cd32c006c78f655
48d2c2c68fa0bd44eb70c1a6cf572406442b289fb6030e946f0530ce6f9fad98
5a2d60ab5d281e0118603cc793f49f7e95a87de959a25bb3275c09ec8e8762e5
92f9bcf6c55008c60013b75b49e143a1c9673e838efe0971490d19a241146fe5
915ee7620406946b859dd4a00f9862d77fba8b452aebee5d94587e66c1085c88
e597b492a88f0524ea38121e6b8230d9515a82ea8ca28cdcc64413c33ed846c9
fed7a3cec01cad14d9a46804b43e64a8021e89d8d38a49a700cf8c2e0c2578f6
bcdbeb7eeb64d6daf5aa6e13f1f70acfe057df50ec4773f434ffab684b78aead
282ada9a29a5f3144114373ef3c5826bcc8fb5018cd0f2ecb97d2a7bee1df296
bba29011e0b51eb0907735933641c226f3441f79a8e49ab6047c1625dd0b5176
08a4bd4758e4cbf39fff22a0cc5fb28d9bdd9944a0cd2120fdbe9222aaecbcf4
f99b33bd086f9b331a0df40525a45326bb977fee5272111edaffbe4be56e78fa
49b1a220b9a7450e151f19eec3da496b26799612811e512d138da88e0ee596bc
493e33d9ade8781e93fe9cd982de42a8032d2fc6b07baf5b202e0761a0fbe89d
ac14a60064081215f5a308ebeb6de69d67e6cb52ebb38d60fef99137fc1ea93a
7863ba5267cb187ba3892060f3868dca8b0dfae712649a650847e22d47ccb60a
58af5c340d271ac41f4a6009281466c7ad996b1a029a27b88f03e5ec6d95c54b
b03cf96cf2583ea45e4c13833e7201c2c55b96a4931a909925624913e9ad8d33
b979fb79cf120f5d8789adb25fc016816c68e6d52bdc5749c817f4386e0c32da
77df7c3d6d364474d411845fa185b196dcda437134f7093126a3f3bd145bdeee
228b3f006d63b8d75dcb8f66951cbf75e2a4ebdf13af9e2f47ad1c1a9b2e5753
2c758b1eac4fda920f90c459b773e7c3017e90f9049502b41d8b5391a8b61621
834d7c6bb4fd6b5da03e36fed96d7a828342d7e8bf27222b17f9f39bc6aaed80
05cfcef1273063c0c8b0eadf429e850471223bc2403a7cc943c252306d72e561
fbc42240f07235d3a0290f3e82a06ef4376e845973c146e423f8de4913a1cce4
82b221177f2e31052245d761e9aca47a511ae3ee9d6602ddb1f9b5be25745638
1b6deb5f47ebfe3a0cbb35751f3df6a893c6570cb7863c74e4262397edd6552e
 

■関連サイト