Redtail マルウェアペイロード: 技術的分析と挙動
Detection stack
- AIDR
- Alert
- ETL
- Query
概要
RedTailは、広範なホストのプロファイリングとプロセスマスカレード機能を持つ、マルチアーキテクチャのLinuxマルウェアファミリーです。これはクーロンタブを使用して永続性を確立し、ホストファイアウォールルールを変更し、のようなプロセスを終了させることで監視ツールを妨害しようとします。 inotify and strace。 また、マルウェアはTCPポート853のDNS-over-TLSを介してネットワークトラフィックを生成し、リモートインフラストラクチャに到達する可能性があります。
調査
アナリストは、隔離されたUbuntu 24.04環境内でx86-64 RedTailサンプルの動的分析を実施しました。調査には、root特権と非特権実行の比較、メモリフォレンジックにProxmox/QEMUの使用、 strace and auditdを使用したシステムコールの監視が含まれていました。観察された挙動には、一貫したホストプロファイリング、「 php-fpm」へのプロセス名の変更、 @reboot クーロンエントリーの作成などが含まれます。
緩和策
組織は最小特権の原則を適用し、マルウェアがシステムレベルのクーロンタブやファイアウォールルールを変更する能力を減少させるべきです。セキュリティチームは、予期しないパスから実行されるなど、 php-fpm のような正当なサービス名を含む疑わしいプロセスマスカレーディングを監視する必要があります。EDRソリューションはまた、セキュリティ監視プロセスを対象とした SIGKILL シグナルを検出すべきです。
対応策
RedTailのアクティビティが検出された場合、影響を受けたLinuxホストは、横展開や追加のコマンドアンドコントロール通信を防ぐために直ちに隔離されるべきです。応答者は、マスカレードされたプロセスを特定し、無許可の @reboot エントリーを検査するためにメモリフォレンジックを実行すべきです。ネットワークログもTCPポート853での異常なアウトバウンド接続のためにレビューされるべきであり、 iptables の設定は無許可のルール変更がないかチェックされるべきです。
攻撃の流れ
この部分はまだ更新中です。
検出
疑わしいxxdユーティリティ実行(cmdline経由)
クーロンファイルが作成された(file_event経由)
Linux一時フォルダ内にスクリプトが作成された(file_event経由)
Linuxホスト上に隠しファイルが作成された(file_event経由)
IOC(HashSha256)での検出:Redtailペイロード分析
IOC(SourceIP)での検出:Redtailペイロード分析
IOC(DestinationIP)での検出:Redtailペイロード分析
SIGKILLによるRedTailのstraceプロセス終了【Linuxプロセス作成】
RedTailマルウェアのネットワーク接続試行検出【Linuxプロセス作成】
RedTailペイロードの実行とプロセスマスカレーディング【Linuxプロセス作成】
シミュレーション実行
-
攻撃のストーリーとコマンド: 敵対者は、次のように名付けられた特殊なマルウェアサンプルを展開しました。
redtail.x86_64特定のディレクトリ構造内/analysis/run-002/sample/。このマルウェアは、straceを使用して、そのネットワーク通信やファイル修正をデバッグまたは観察するセキュリティアナリストを防ぐために、straceユーティリティの存在を積極的にスキャンします。そして、straceプロセスを見つけると、SIGKILL(シグナル9)を発行し、分析ツールを即座かつ静かに終了させます。stracePID, effectively terminating the analysis tool instantly and silently. -
回帰テストスクリプト:
#!/bin/bash # シミュレーションディレクトリ構造を設定 mkdir -p /analysis/run-002/sample/ # 偽のマルウェアバイナリを作成して検出ロジックのパスに一致させる echo -e '#!/bin/bashnstrace sleep 100 & nsleep 1nkill -9 $!' > /analysis/run-002/sample/redtail.x86_64 chmod +x /analysis/run-002/sample/redtail.x86_64 # 正規のプロセスでstraceをバックグラウンドで起動 strace sleep 100 & STRACE_PID=$! echo "[+] STRACEを開始しました。PID: $STRACE_PID" # straceの初期化を待つ sleep 2 # "マルウェア" を実行します。これはstraceプロセスを終了します。 echo "[+] RedTailマルウェアをシミュレーションして実行..." /analysis/run-002/sample/redtail.x86_64 # straceが終了しているか確認 if ! kill -0 $STRACE_PID 2>/dev/null; then echo "[+] 成功: straceプロセスが終了しました。" else echo "[-] 失敗: straceプロセスはまだ実行中です。" fi -
クリーンアップコマンド:
# シミュレートされたマルウェアとディレクトリ構造を削除 rm -rf /analysis/run-002/ # 残っているsleepプロセスを全て殺す pkill -f "sleep 100"