PortBender:一款功能強(qiáng)大的TCP端口重定向工具
關(guān)于PortBender
PortBender是一款功能強(qiáng)大的TCP端口重定向工具,該工具允許紅隊(duì)研究人員或滲透測(cè)試人員將一個(gè)TCP端口(例如445/TCP)的入站流量重定向到另一個(gè)TCP端口(例如8445/TCP)。PortBender項(xiàng)目包含了一個(gè)滲透測(cè)試腳本,可以幫助研究人員將該工具與Cobalt Strike進(jìn)行集成。但是,由于該工具是基于一個(gè)反射型DLL實(shí)現(xiàn)的,因此它可以通過(guò)“ReflectiveLoader”接口與支持加載模塊的任何C2框架進(jìn)行集成。除此之外,該工具還允許研究人員模擬Duqu 2.0惡意軟件中“PortServ.sys”功能所利用的一個(gè)后門/持久化機(jī)制。
工具機(jī)制
PortBender利用了WinDivert庫(kù)來(lái)攔截網(wǎng)絡(luò)流量,其中還涉及到了Windows Filtering平臺(tái)(WFP)。PortBender的設(shè)計(jì)深受DivertCpconn實(shí)用程序的啟發(fā),并且基于WinDivert庫(kù)實(shí)現(xiàn)其功能。
工具使用
PortBender提供了兩種操作模式,第一種為“重定向模式”,第二種為“后門模式”。在“重定向模式中”,任意指向目的端口(例如445/TCP)的連接都會(huì)被重定向至我們指定的端口(例如8445/TCP)。在“后門模式”下,我們只會(huì)將滲透測(cè)試人員發(fā)送的特定格式的TCP數(shù)據(jù)包轉(zhuǎn)發(fā)至目標(biāo)端口(例如443/TCP)。接下來(lái),PortBender會(huì)將該客戶端IP地址添加進(jìn)后門客戶端列表中,并將所有發(fā)送給目標(biāo)設(shè)備的網(wǎng)絡(luò)流量重定向至其他的端口(例如3389/TCP)。研究人員可以利用這種機(jī)制來(lái)模擬Duqu 2.0惡意軟件在入侵卡巴斯基網(wǎng)絡(luò)環(huán)境時(shí)所使用的持久化技術(shù)。
如需執(zhí)行PortBender,我們首先得在Cobalt Strike中引入“PortBender.cna”腳本,并將WinDivert32.sys或WinDivert64.sys文件引入至“PortBender.zip”然后上傳至目標(biāo)主機(jī)。PortBender的使用樣例和幫助菜單如下所示:
- beacon> help PortBender
- Redirect Usage: PortBender redirect FakeDstPort RedirectedPort
- Backdoor Usage: PortBender backdoor FakeDstPort RedirectedPort Password
- Examples:
- PortBender redirect 445 8445
- PortBender backdoor 443 3389 praetorian.antihacker
工具使用樣例
使用樣例1
比如說(shuō),我們可能希望以“重定向模式”來(lái)從一臺(tái)被滲透的Windows系統(tǒng)中執(zhí)行SMB中繼攻擊。為了實(shí)現(xiàn)這個(gè)目標(biāo),我們可以控制PortBender將所有流向445/TCP端口的流量重定向到8445/TCP端口,而這個(gè)端口則運(yùn)行的是滲透測(cè)試人員的SMB服務(wù)。在下面這個(gè)例子中,我們將會(huì)運(yùn)行如下所示的命令來(lái)完成這個(gè)目標(biāo):
- PortBender redirect 445 8445
運(yùn)行結(jié)果如下所示:
使用樣例2
在下面這個(gè)例子中,我們希望在一臺(tái)接入外網(wǎng)的部署IIS Web服務(wù)器上部署隱蔽持久化機(jī)制。此時(shí),我們將運(yùn)行下列命令,并通過(guò)控制后門服務(wù)來(lái)將目標(biāo)主機(jī)上來(lái)源于任意IP(“praetorian.antihacker”關(guān)鍵字定義的IP)的任何流向443/TCP端口的流量重定向到3389/TCP:
- PortBender backdoor 443 3389 praetorian.antihacker
命令運(yùn)行結(jié)果如下所示:
項(xiàng)目地址
PortBender:【GitHub傳送門】