「911 S5」の解体について
まず、このボットネットが一体どんなものだったのかをご紹介します。
「911 S5」とは、世界最大級の大規模ボットネットの名称であり、1900万以上の Windows デバイスを感染させ、長い間、闇のネットワークとして利用されていました。
主に正規のソフトウェアを装って、プロキシバックドアを潜ませたVPNアプリケーションをインストールさせて感染させる、あるいは脆弱性を突いたドライブバイダウンロードなどによって感染を拡大させる。感染したデバイスは、C&Cサーバーとの通信を暗号化することで、検知を避ける。こんな手口を用いていたとされています。
この活動は、2014年から2022年の8年間にわたって行われていたとされ、感染したデバイスはサイバー犯罪者の操り人形と化し、悪意のある活動の道具となり、DDoS攻撃やスパムメール送信、情報窃取などの不正な活動に利用されていました。
こうした事態を受け、米連邦捜査局(FBI)が複数の海外捜査機関と連携し、2024年5月24日、中国籍の管理者ら容疑者を逮捕、資産を押収し、世界最大級の大規模ボットネット「991 S5」を解体したと発表しました。
なお、逮捕された容疑者らはこのボットネットをサイバー犯罪者に販売するなどし、仮想通貨や不動産、高級時計、高級車などを購入していたようです。
Sumo Logicによるコマンドライン実行結果の取得機能
ここからは、Sumo Logicで収集したグを活用して、ボットネットを検知する方法をご紹介します。まず、Sumo Logicには、エージェントプログラム(以下、コレクター)がインストールされた端末上に保管されているログを収集するだけでなく、実行したコマンドラインの実行結果を収集することができる機能が搭載されています。
このコマンドはWindowsであればコマンドプロンプトやPowerShell、Linuxであればbashなど、標準的に用いられるものが対応しています。
例えば、Windows端末のホスト名を調べるための、"hostname"コマンドを実行してみましょう。
このWindows端末のホスト名である、MyPC_911が返りました。
このコマンドを、実際にSumo Logicのコレクターに設定する場合、以下のように設定するだけで、この端末のホスト名を収集するように設定されます(実際には、もう少し設定箇所がありますが、概ねの設定はこれだけです)。
- Frequency : 実行頻度
→本例では、Every Hour(1時間おき)としていますが、1日おき、1分おきなどが選択可能。
- Command : 実行するコマンドの種類
→本例では、Windows Script(コマンドプロンプト)ですが、PowerShellやVBSが選択可能。
- Script : 実行するコマンド
→実行したいコマンドを記載します。事前に、バッチファイルなどをコレクターがインストールされた端末に保存し、そのバッチファイルを実行するという設定にすることも可能です。
では次に、この機能を利用して、実際に該当のVPNアプリケーションがインストールされていないかどうかを検知する方法を説明します。
Sumo Logicを使ったVPNアプリケーションの検知
問題となっているVPNアプリケーションやその対処方法は、下記のFBIのWebサイトで確認することが可能です。
◆How to Identify and Remove VPN Applications That Contain 911 S5 Back Doors
上のページによると、該当のVPNアプリケーションは、次の6種類(7プロセス)であるとのことです。
MaskVPN (mask_svc.exe)
DewVPN (dew_svc.exe)
PaladinVPN (pldsvc.exe)
ProxyGate (proxygate.exe, cloud.exe)
ShieldVPN (shieldsvc.exe)
ShineVPN (shsvc.exe)
そのため、これらのプロセスが起動しているかどうか、"tasklist"コマンドを利用してチェックします。Sumo Logic で加工が楽になるよう、以下のようにcsv形式で出力します。
先ほどの"hostname"コマンドの例と同様、Sumo Logicで以下のように設定すれば、実行されているプロセスの一覧情報を収集可能です。
実際に、"tasklist"コマンドの実行結果は、Sumo Logicサーバーで、以下のように確認できます。
この中から、イメージ名が該当するプロセスと一致するものを検知すれば良いのですが、目視で確認していくのは現実的ではありません。そこで以下のような命令文を書いて、該当のイメージ名にヒットするものだけを抽出します。
where イメージ名 = "mask_svc.exe" or "dew_svc.exe" or "pldsvc.exe" or "proxygate.exe" or "cloud.exe" or "shieldsvc.exe" or "shsvc.exe"
仮にアウトルック(outlook.exe)を抽出条件として、ヒットした画面がこちらです。
まとめ
いかがでしたか?
今回は、手動でSumo Logicサーバーへ設定を行いましたが、設定ファイルとして、インストーラーに組み込むことも可能なので、大規模環境であったとしても、対応は可能です。
今回は、"tasklist"を例に説明しましたが、このようにコマンドを駆使することで、資産管理ソフトのような使い方も可能です。実際、資産管理ソフトの代替として利用するケースもあり、資産管理ソフトの導入よりもコストが大きく低減できます。
情報は収集したいけど、コマンドの書き方が分からないなどといった場合には、ALSIがご支援しますので、お気軽にご相談ください。
https://pages.alsi.co.jp/contact-us/digital-solution/