UNC5325と関係するTINYSHELLベースの新しいLinux用マルウェア

2025年6月、TINYSHELL1をベースに開発された新しいLinux用マルウェアのドロッパーが発見されました。このマルウェアにはPITHOOKなどのUNC5325が使用するマルウェアと重複するコードが含まれていたことから、UNC5325の攻撃活動と何らかの関係があると考えられます。UNC5325は中国と関連するサイバーエスピオナージを目的とした攻撃者とされており、過去にはIvanti Connect Secureの脆弱性 (CVE-2024-21893) を悪用した攻撃を実施していることが報告されています2。この記事ではドロッパーおよびマルウェア本体を解析することで得られた情報を共有します。
ドロッパー
ドロッパーが実行されると、まずファイルシステム上にKubo Injector (コードインジェクション用のツール) およびマルウェア本体を作成します。

次に、それらを system
関数を利用して実行します。Kubo Injectorでは -n
オプションでインジェクション先のプロセス名を指定できますが、今回は httpd
プロセス (Apache Web Server) にインジェクションするよう実装されていました。

httpd
にマルウェア本体をインジェクションする
Kubo Injectorは2024年1月に観測されたUNC5325の攻撃活動でも悪用されており、当時はPITHOOKと呼ばれるマルウェアを web
プロセス (Ivanti Connect SecureのWebサーバー) にインジェクションする目的で使用されていました。
マルウェア
マルウェア本体が実行されると、まず libapr-1.so.0
(Apache HTTP Serverのサポートライブラリ) のPLTを編集して、 accept
関数および accept4
関数をフックします。これにより、マルウェアに感染したシステムで動作している正規のWebサーバーへの通信に擬態して、攻撃者がシステムを操作することが可能となっています。

accept
関数および accept4
関数をフックしている処理なお、先述したUNC5325のマルウェアPITHOOKにも同様に accept
関数および accept4
関数をフックする処理が実装されています。

フック関数は送信元ポートを確認して、ポート 63423
から 63433
までを使用した通信を攻撃者からの通信として処理します。

攻撃者からの通信を処理する実装は図7の通りで、ほとんどがオープンソースのTINYSHELLと同じ実装となっていました。興味深い点として、オープンソースのTINYSHELLの実装と異なり、一部の攻撃者からの命令 (C2コマンド) を実行した後に16バイトの文字列をレスポンスとして返す点が挙げられます。この実装について調査した結果、UNC3886が使用するTINYSHELLベースのマルウェア irad
に非常に類似した実装が存在することが確認できました (図8) 。今回のマルウェアがレスポンスとして MjEyMzJmMjk3YTU3
という文字列を返しているのに対して、 irad
は ek63a21km7WSWkfk
という文字列を返しています。2024年1月に公開されたMandiantのレポート内でもUNC3886とUNC5325は同一の存在である可能性が言及されていましたが、マルウェアのコードの類似性から、同一の存在であるか少なくともマルウェアのコードを共有している可能性が高いと考えられます。


irad
の実装C2コマンドについてですが、今回のマルウェアには通常のTINYSHELLに実装されているコマンドに加えて、SOCKS5プロキシ機能を有効化するコマンドが追加されていました。
コマンドID | 処理 |
---|---|
1 | ファイルのアップロード |
2 | ファイルのダウンロード |
3 | リモートシェルの実行 |
4 | 何もしない (通常のTINYSHELLには存在しない) |
6 | SOCKS5プロキシ機能の有効化 (通常のTINYSHELLには存在しない) |
SOCKS5プロキシ機能はEW (EarthWorm) 3という中国のセキュリティ専門家によって開発されたプロキシツールのコードを流用して実装されていました。EWは多くの攻撃者 (Volt Typhoon4など) による悪用が報告されており、それを受けて開発者もEWのソースコードおよび実行バイナリの公開を終了しています。しかし、GitHub等には依然としてEarthWormをフォーク (コピー) したリポジトリが多く存在するため、誰でも容易に実装を入手できる状況だといえます。

check_and_tunnel
関数の実装
check_and_tunnel
関数の実装5おわりに
今回は2025年6月に発見された、UNC5325の活動に関わると思われるマルウェアの解析結果を共有しました。マルウェアのSHA256ハッシュ値をAppendixに記載してあります。攻撃活動の検知にお役立てください。
Appendix: IoCs
SHA256ハッシュ値 | 説明 |
---|---|
6aa22d9a89711816e4ccc4d57634a22dffbb78c43bdec964c2117d525c7e63e5 | ドロッパー |
2b257b31f4377330bd8fcc4fe9728faee0ab4092990debe49bbcf0444d4c1437 | Kubo Injector (/tmp/.b ) |
85c64391d54b5854bab8478806d0f4ba00236402868e613fc849b29940e96bcc | マルウェア (/addpkg/lib/libc++.so ) |
- creaktive/tsh – GitHub
https://github.com/creaktive/tsh ↩︎ - 最先端の脅威 – Part 3: Ivanti Connect Secure VPN の悪用と永続性の調査 | Google Cloud 公式ブログ
https://cloud.google.com/blog/ja/topics/threat-intelligence/investigating-ivanti-exploitation-persistence ↩︎ - EarthWorm
https://rootkiter.com/EarthWorm/en/index.html ↩︎ - People’s Republic of China State-Sponsored Cyber Actor Living off the Land to Evade Detection – CISA
https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-144a ↩︎ - ssocksd_pro.c – anhilo/xiaogongju – GitHub
https://github.com/anhilo/xiaogongju/blob/422136c014ba6b95ad3a746662be88372eb11b09/ssocksd_pro.c#L3 ↩︎