※本記事にはプロモーションが含まれます。
「リバースシェル」は、マルウェアや不正アクセスの解説でよく登場する用語です。この記事では、リバースシェルの仕組み、バインドシェルとの違い、そして見つけ方・守り方を初心者向けにわかりやすく解説します。
※この記事は防御・理解を目的としており、攻撃の具体的な手順は扱いません。
リバースシェルとは
リバースシェル(Reverse Shell)とは、侵害された端末の側から攻撃者のサーバーへ接続しに行き、その接続の上で攻撃者にシェルを渡してしまう仕組みです。通常とは逆向き(リバース)に接続するため、この名前があります。MITRE ATT&CKでは、こうした遠隔操作の通信を「Command and Control(TA0011)」、シェルの悪用を「Command and Scripting Interpreter(T1059)」として整理しています。
リバースシェルの仕組み

リバースシェルでは、攻撃者のサーバーが待ち受け側、被害端末が接続しに行く側になります(TCPの役割はRFC 9293参照)。接続の向きは「中 → 外(アウトバウンド)」です。
- 攻撃者が自分のサーバーで接続を待ち受ける
- 被害端末上で動いた不正なプログラムが、そのサーバーへ接続しに行く
- 攻撃者がその接続を通じて被害端末のシェルを操作できる状態になる
なぜリバースシェルが使われるのか
多くのネットワークでは、外からの受信は厳しく制限されていても、中から外への通信(Web閲覧など)は広く許可されています。リバースシェルはこの「外向きは通りやすい」性質を利用するため、NATやファイアウォールの内側の端末でも成立しやすいのです。
ポートや「外から中へ通信を通す仕組み」についてはポートフォワーディングとはの記事も参考にしてください。
さらに、MITRE ATT&CKの「Application Layer Protocol(T1071)」や「Non-Application Layer Protocol(T1095)」のように、普通のWeb通信などに紛れさせて発見を遅らせる手口もあります。待ち受け側が端末に残るバインドシェルとは対照的です。
バインドシェルとリバースシェルの比較

| 項目 | バインドシェル | リバースシェル |
|---|---|---|
| 待ち受ける側 | 侵害された端末(被害側) | 攻撃者側のサーバー |
| 接続の向き | 攻撃者 → 被害端末(インバウンド) | 被害端末 → 攻撃者(アウトバウンド) |
| ファイアウォール・NATの影響 | 受信が遮断されやすく、届きにくい | 外向き通信は許可されがちで、すり抜けやすい |
| 見つけやすいサイン | 見慣れないポートでの待ち受け(LISTEN) | 見慣れない外部宛ての長時間接続 |
| 主な対策 | 受信の最小化・不要ポートの閉鎖 | 送信(egress)の制限・通信先の監視 |
検知と防御のポイント
ファイアウォールで受信と送信の両方を絞る
NIST SP 800-41では、必要な通信だけを許可し、それ以外を拒否する方針(デフォルト拒否)が基本とされています。受信(インバウンド)だけでなく送信(アウトバウンド)も必要な宛先・ポートに絞ることで、バインドシェルにもリバースシェルにも効果があります。MITRE ATT&CKでも「Filter Network Traffic(M1037)」として紹介されています。
通信の監視と侵入防止(IDS/IPS)
見慣れないポートでの待ち受けや、普段は通信しない外部サーバーへの長時間接続は要注意のサインです。MITRE ATT&CKの「Non-Standard Port(T1571)」のように、攻撃者は珍しいポートや一般的なプロトコルを使って紛れ込もうとします。IDS/IPS(M1031)やログ監視で異常な通信を見つけましょう。
セキュリティソフトで怪しい通信をブロック
個人のパソコンでは、ファイアウォール機能付きのセキュリティソフトを入れておくと、不審な受信・送信やシェルを起動しようとするプログラムの動きを検知・ブロックしやすくなります。
巧妙な詐欺も、ESETなら見抜く 軽くて強い、家族を守るセキュリティ![]()
そもそも侵入させない
どちらのシェルも、多くは脆弱性の悪用やマルウェア感染の「後」に使われます。OSやソフトのアップデート、不要なサービスの停止、強いパスワードと多要素認証といった基本対策が最も効果的です。
リバースシェルならではのチェック
リバースシェルは「外向きの接続」が手がかりになります。業務に必要な宛先以外への送信を制限(egressフィルタリング)し、見慣れない外部IPへの長時間接続や、シェルなどのプログラムがネットワーク通信をしていないかを監視しましょう。
まとめ
- リバースシェルは、被害端末から攻撃者のサーバーへ接続しに行く仕組み
- 外向き通信が許可されがちなため、ファイアウォールやNATをすり抜けやすい
- 対策は送信の制限、通信先の監視、IDS/IPS、セキュリティソフトの活用
参考資料(一次情報)
- MITRE ATT&CK:Command and Control(TA0011)
- MITRE ATT&CK:Command and Scripting Interpreter(T1059)
- MITRE ATT&CK:Non-Standard Port(T1571)
- MITRE ATT&CK:Non-Application Layer Protocol(T1095)
- MITRE ATT&CK:Application Layer Protocol(T1071)
- MITRE ATT&CK:Filter Network Traffic(M1037)
- MITRE ATT&CK:Network Intrusion Prevention(M1031)
- NIST SP 800-41 Rev.1:Guidelines on Firewalls and Firewall Policy
- RFC 9293:Transmission Control Protocol

コメント