リモート型
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2015/10/10 16:23 UTC 版)
リモート型シェルコードは、LANやインターネット上の別のマシンで動作する脆弱性のあるプロセスを対象として攻撃するものである。成功すると、攻撃者はネットワーク経由で対象マシンにアクセスできるようになる。リモート型シェルコードは通常、標準のTCP/IPソケットコネクションを使い、攻撃者が対象マシン上のシェルにアクセスできるようにする。このコネクションの構築方法としては、以下のものがある。 connect-back シェルコード自体がコネクションを確立する。シェルコードが攻撃者の使っているマシンに接続し返してくる (connects back) ため、このように呼ばれる。 bindshell 攻撃者がコネクションを生成する必要がある場合。攻撃者が対象マシンを制御するために接続できる一定のポートにシェルコードがバインド (bind) することから、このように呼ばれる。 socket-reuse シェルコードが実行される前にコネクションがクローズされないような脆弱性を持つプロセスを利用する場合に使われることがある。シェルコードはそのコネクションを再利用 (re-use) して攻撃者と通信する。この種のシェルコードは作成が難しいため珍しい。なぜなら、シェルコードは再利用できるコネクションを探す必要があり、マシン上には同時に多数のコネクションがオープンされていることがあるからである。 ファイアーウォールは、connect-back方式のシェルコードが作った外に向かうコネクションを検出でき、bindshell方式のシェルコードで使う外から入ってくるコネクションを検出できる。従って、ファイアーウォール内のマシン自体に脆弱性があっても、シェルコードに攻撃者がアクセスするのを防ぐことである種の保護を提供できる。socket-reuse方式のシェルコードは新たなコネクションを生成しないため、検出やブロックがより難しい。
※この「リモート型」の解説は、「シェルコード」の解説の一部です。
「リモート型」を含む「シェルコード」の記事については、「シェルコード」の概要を参照ください。
- リモート型のページへのリンク