
VPNPivotツールを使用してネットワークを探索する
外部ペネトレーションテストを行う際、リモートターゲットを侵害した後、その背後にある内部ネットワークを探索し、Active Directoryの掌握、共有ファイルへのアクセス、MITM攻撃の実行などの成果を得たい場合があります。 ポートフォワーディングやsocks4など、多くの手法がありますが、それぞれに長所と短所があります。 これがVPNピボッティング技術が登場した理由であり、上記の両技法で遭遇する問題をすべて解決します。ファイアウォールやNATなどによって遮断されている内部ネットワークとやり取りできるようになります。
これは、Linuxにおいて、tapデバイス内で純粋な低レベルソケットを使用したVPNピボッティング技術の実装です。 SSL/TLSを使用してターゲットマシンと攻撃者の間で完全に暗号化されたトンネルを作成します。
VPN Pivotは、完全に暗号化されたTCP/IPスタックをTCPストリームソケット経由で送受信し、ピアはそれを目的のデバイス/ホストに転送します。 攻撃者は、DHCPサーバーから取得したローカルIPアドレス、または静的に設定されたIPアドレスを使って、自分が内部ネットワークに属しているかのように探索します。
yaourt -S vpnpivot-git
インストールは非常に簡単です。以下のコマンドを入力するだけです。
root@pwnies:~# git clone https://github.com/0x36/VPNPivot.git
root@pwnies:~# cd VPNPivot
root@pwnies:~/VPNPivot# ./autogen.sh
root@pwnies:~/VPNPivot# ./configure
root@pwnies:~/VPNPivot# make && make install
VPNPivotサーバーは攻撃者のマシンで実行する必要があります。仮想デバイス(tap)を作成し、MACアドレスの変更(スプーフィングやMACスイッチングに便利)、IPアドレス、MTU、およびインターフェースの所有者を設定できます。 TAPデバイスはターゲットマシンとやり取りし、生のイーサネットフレームを送受信します。 攻撃者がトンネル接続に成功すると、tapデバイスは内部ハッキングネットワークのDHCPサーバーとやり取りし、ブロードキャストパケットの送受信、IPアドレスの再利用が可能になります。
pivotsの操作は非常に簡単です。各オプションの意味を理解するだけです。
root@pwnies:~/VPNPivot# ./src/pivots -h
__ _______ _ _ _____ _ _
\ \ / / __ \| \ | | __ (_) | |
\ \ / /| |__) | \| | |__) |__ _____ | |_
\ \/ / | ___/| . ` | ___/ \ \ / / _ \| __|
\ / | | | |\ | | | |\ V / (_) | |_
\/ |_| |_| \_|_| |_| \_/ \___/ \__|
VPNPivot server v1.0 by Simo36
-i --iface <device> Create a non persistent tap device
-I --ifconf <ip/mask> Inteface configuration (IP/MASK)
-p --port <port> Server port listener (default: 12345)
-m --mtu <size> Virtual devince MTU size (default: 1550)
-u --user <user> User device owner (OPTIONAL)
-H --hw <MAC> Set MAC address for the iface
-C --cert <server_cert> Filename of PEM certificate
-P --pkey <private_key> Filename of PEM private key
-v --verbose Verbose mode
-d Deamonize
root@pwnies:~/VPNPivot#
上記のオプションはすべて任意ですが、説明は自明であっても、説明する価値があります。
VPN Pivotクライアントはターゲットマシンで実行する必要があります。2つのソケットファイルを作成します。1つはトンネル用のクライアント、もう1つはデバイスネットワークと直接やり取りするためのものです。 これは、検出が難しい仮想tapデバイスを作成するように機能します。
pivotcの操作はサーバーよりも簡単です。pivotsに接続する際に混乱しないようにするだけです。
root@pwnies:~/VPNPivot# ./src/pivotc
Usage :
./src/pivotc <server IP> <server port> <locale IP> [MTU]
root@pwnies:~/VPNPivot#
オプション:
ライブデモに勝るものはありません。そこで、VPNPivotの基本的な使い方を説明するビデオを作成しました。ビデオはYouTubeでご覧いただけます。
以上です!楽しんでpwnしてください :-) 乾杯