ハッカーがAI生成スクリプトで政府系Linuxサーバーに侵入、機密情報を探索

ハッカーがAIによって生成されたとみられるスクリプトを使い、政府系のLinuxインフラに侵入していたことがわかりました。「CL-UNK-1211」として追跡されているこの攻撃キャンペーンでは、認証情報の窃取に加え、機密性の高いデータベースや公的機関のメールボックスが狙われました。

Ethicalhacking tools

10月15日に公開された調査は、この攻撃を政府機関や国家との関連が疑われるインフラと結び付けています。

ただし、攻撃者の特定には至っていません。Unit 42の帰属判定の枠組みでは、「UNK」という区分は、国家支援型の攻撃か金銭目的の攻撃かを研究者が確定できていないことを意味します。

悪意あるPHPスクリプトやシェルスクリプトには、オペレーターに向けて処理の意図を説明する会話調の注釈や、段階的な推論の記述が含まれていました。

これらの証拠はAIの支援を受けた可能性を示唆しますが、自律的に実行されたことまでは裏付けていません。

攻撃者はこのほか、セクションごとに区切ったスクリプトやBase64エンコードしたコマンドを使用し、侵入中はPHP、JavaScript、Bash、Pythonと複数のプログラミング言語を使い分けていました。

研究者はこうした特徴に加え、より際立った会話調のコメントも根拠として、AIの関与を評価しています。

Palo Alto Networks のUnit 42が観測したこの活動は2025年10月から2026年4月にかけて続きました。同社は、持続的なアクセスの確保、カスタムマルウェアの使用、侵入の痕跡を隠すための広範な試みを確認しています。

AI生成スクリプト

Unit 42は、これらの痕跡について、大規模言語モデル(LLM)の出力をコピーしたか、自動化されたAIエージェントを通じて展開されたコードと整合的だと評価しています。

Image

永続化のため、攻撃者は独自開発のものと公開されているものの両方のWebシェルを設置しました。さらに、/etc/php/と/opt/plesk/php/配下のPHP設定ファイルを改ざんしています。

攻撃者はauto_prepend_fileを変更し、ほかのPHPスクリプトより先に悪意あるコードが実行されるようにしました。インプラントの1つである/usr/lib/php/plesk_sys_driver.phpは、正規のファイルに見せかけるため、システムファイルのような名前を付けています。

認証情報の窃取では、.bashrcを改変版に置き換え、sudoの認証を傍受していました。

悪意あるエイリアスがパスワードを取得したうえで正規のコマンドに引き渡すため、通常どおりに動作しているように見えます。

盗まれた認証情報はSolarwinds.StatusLog.txtに記録されていました。なお、調査ではSolarWindsのインフラが侵害された形跡は確認されていません。

追加のペイロードは、PHPの認証ページに認証情報のログ記録機能を埋め込みました。また、設定ファイルやコマンド履歴を調べ、データベース、SMTP、メールのパスワードを探し出していました。

Image

攻撃ツール群には、LinuxとWindowsに対応するGo言語製のカスタムリモートアクセス型トロイの木馬(RAT)「SysGoRAT」も含まれていました。

WebSocketによるコマンド&コントロール(C2)接続は、既定で104.194.158[.]65:443に向かいますが、オペレーターはアドレスを上書きできます。機能としては、コマンド実行、対話型シェル、ディレクトリの列挙、ファイルの窃取、TCPプロキシなどを備えています。

SysGoRATは、systemdサービスやcronを通じてLinuxでの永続的なアクセスを維持します。Windowsではレジストリやスケジュールタスクの仕組みを利用します。

オペレーターは、pip2.7やsemanageなど正規のユーティリティに似せてバイナリ名を変更していました。Netcat、Bash、Pythonを使ったリバースシェルは、少なくとも7つの異なるC2サーバーに接続していました。

政府機関のメールサーバーでは、攻撃者が/var/qmail/mailnames/を列挙しました。さらにsearch_social.phpを設置し、SNSアカウントに関連するメッセージを探し出そうとしています。

その後、zip_mails.shでメールボックスのアーカイブを試みましたが、確認されたスクリプトの1つには構文エラーがあり、実行できない状態でした。したがって、このスクリプトだけをもって、メールボックスの窃取に成功したと推測するべきではありません。

データベースの収集は、限定的なサンプルの取得から全件ダンプへと進みました。ダンプはローカルに保存され、外部への持ち出しを試みるために圧縮されています。攻撃者は正規のファイルホスティングサービスも悪用し、外部への転送を通常のWeb通信に偽装していました。

クリーンアップ用のスクリプトは、認証、メール、OS、Webサーバーのログを標的にしていました。

オペレーターは、ファイルのアクセス日時や更新日時を改変しました。これはMITRE ATT&CKでタイムスタンプ改ざん(timestomping)として文書化されている手法です。さらに、悪意ある活動を許可されたテストに見せかけるため、レッドチームを示すラベルも仕込んでいました。

防御側は、外向きの通信を制限し、対話型シェルを起動するユーティリティを監視する必要があります。あわせて、Linuxサーバーやデータベース全体で、PHP設定の不正な変更や、不審な履歴消去の動きがないかを調べることが求められます。

侵害指標(IoC)

種類 指標
IPアドレス 45.88.188[.]140
IPアドレス 198.23.185[.]234
IPアドレス 138.68.244[.]146
IPアドレス 185.21.136[.]6
ドメイン magento[.]ink
ドメイン solidmonpe[.]com
ドメイン wibu-bau-bawang[.]online
ドメイン beraskencur[.]site

注: IPアドレスとドメインは、誤って名前解決されたりハイパーリンク化されたりするのを防ぐため、意図的に無害化(デファング、例: [.])しています。無害化を元に戻す場合は、MISP、VirusTotal、自社のSIEMなど、管理された脅威インテリジェンスプラットフォーム内に限定してください。

MTTRを21分短縮し、サイバー脅威を被害が出る前に阻止。ANYRUNのサンドボックスをSOCに導入。

AuditSecurity

翻訳元: https://gbhackers.com/ai-generated-scripts/

本記事は gbhackers.com の記事を翻訳・要約したものです。