序文
frp はオープン ソースのイントラネット侵入ソフトウェアです。動作プロセスは次のとおりです。サーバーは
パブリック IP を持つサーバー上で実行され、特定のポートをリッスンしてクライアントの接続を待ちます。クライアントは、接続する必要がある
イントラネット マシン上で実行されます。サーバーに接続すると、サーバーは、クライアントが侵入する必要がある指定ポートのリッスンを開始します。
外部ネットワーク ユーザーは、サーバーがリッスンする指定ポートに接続し、サーバーはユーザー データをイントラネットに転送します。クライアントがイントラネットへの浸透を実現します。
簡単に言うと、frp は内部と外部のネットワーク通信のトラフィックを転送するプロキシとして機能し、内部と外部のネットワークが通信できるようにします。
1. 実験の紹介
簡単なトポロジ図
この実験のターゲットは pc3 です。つまり、kali を使用するホストは pc2 の共有ディレクトリにアクセスできます。Kali は frp サーバーとして機能し、pc1 は外部ネットワークから内部ネットワーク pc2 にトラフィックを転送するクライアントとして機能します。
PC1 には 2 つのネットワーク カードがあり、192.168.20.196 は kali と通信できますが、10.40.1.10 は通信できません。pc1 と pc2 の両方で smb サービスが有効になっており、ユーザー名とパスワードは両方とも管理者と P@ssw0rd です
注: 実際、最も一般的な使用方法は、パブリック ネットワーク上で frp を使用することです。これは、それ自体がイントラネットに属しているため、上記のトポロジ図のルート 2 と 3 です。
実験環境はローカルに構築するため、公衆網の frp を使用する必要はなく、frp サーバーとして kali を使用し、回線 1 のルーティングを使用します。
2. 共有ディレクトリをマウントする
pc1 では smb サービスが有効になっているため、ローカルにマウントしてファイルをアップロードしやすくすることができます。
mount -t cifs -o 'username=administrator,password=P@ssw0rd' //192.168.20.192/123 /mnt
3. FRPの設定
サーバー構成
FRPサービスを有効にする
クライアント ファイルを設定します。ターゲット システムは Windows であるため、Windows 設定ファイルを使用する必要があります。
クライアントの構成ファイル、frpc.exe および frpc.ini をマウント ディレクトリに送信し、pc1 にアップロードします。
次のステップは、クライアントを開くことです。ここでは、pc1 ファイルをローカルで直接実行できる wmiexec.py スクリプトが使用されています。前提条件は、ユーザー名とパスワードがわかっていることによるものでもあります。
ファイルを確認してください
クライアントを再度実行する
正常に実行されました
4.プロキシソフトを使用してfrpに接続する
PC3 ホストで SSTap ソフトウェアを使用する
テスト接続
そもそも UDP を設定していないため、テストが失敗するのは正常ですが、TCP は何の影響もなく機能します。
次に、ターゲットホストにルートを追加します
次に、smb 接続をテストします。
ローカル マシンでユーザー名とパスワードを入力すると、接続が成功します。共有ディレクトリを表示できます。
要約する
この記事では、frp の使用法について簡単に紹介しましたが、実際に使用する場合は、パブリック ネットワーク frp が使用されます。基本的な原理は同じです。皆様の frp の使用と理解の一助になれば幸いです。