【技术原创】渗透技巧——Exchange Powershell的Python实现 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

【技术原创】渗透技巧——Exchange Powershell的Python实现

3gstudent 技术 2023-05-18 12:00:00
95892
收藏

导语:本文将要介绍通过Python实现远程执行Exchange Powershell命令的细节,分享使用Python实现TabShell利用的心得。

0x00 前言

远程执行Exchange Powershell命令可以通过Powershell建立powershell session 实现。而在渗透测试中,我们需要尽可能避免使用Powershell,而是通过程序去实现。本文将要介绍通过Python实现远程执行Exchange Powershell命令的细节,分享使用Python实现TabShell利用的心得。

0x01 简介

本文件将介绍以下内容:

执行 Exchange Powershell 命令的实际方法

开发细节

TabShell利用细节

0x02 执行 Exchange Powershell 命令的实际方法

1.使用Powershell连接Exchange服务器,执行Exchange Powershell命令

命令示例:

1.png

需要注意以下问题:

需要域内主机上执行

需要fqdn,不支持IP

连接url可以选择http或者https

认证方式可以选择Basic或者Kerberos

2.使用Python连接Exchange服务器,执行Exchange Powershell命令

这里需要使用pypsrp

命令示例:

2.png

0x03 开发细节

这里需要了解具体的通信格式,我采用的方法是使用pypsrp,打开调试信息,查看具体发送的数据格式

1.启动调试信息

将调试信息写到文件,代码如下:

3.png

2.增加调试输出内容

修改文件pypsrp/wsman.py,在def send(self, message: bytes)中添加调试输出信息

具体代号位置:

https://github.com/jborean93/pypsrp/blob/master/src/pypsrp/wsman.py#L834,添加代码:

4.pnghttps://github.com/jborean93/pypsrp/blob/master/src/pypsrp/wsman.py#L841,添加代码:

5.png输出结果显示如下图

6.png

3.数据包数据结构

可参考之前的文章《渗透技巧——远程访问Exchange Powershell》

经过对比分析,在编写程序上还需要注意以下细节:

(1)Kerberos认证的实际情况

示例代码:

7.png

(2)通信数据格式

类型为POST

header需要包裹:'Accept-Encoding': 'identity'

(3)认证流程

需要先进行Kerberos认证,返回长度为0

再次发送数据,进行通信,返回正常内容

(4)数据编码

发送和接收的数据平均做了编码

发送过程序的代码显示示例代码:

8.png

注:

hostname必须为小写字符

接收过程序的解码示例代码:

9.png完整展示示例代码如下:

10.png11.png完整代码的输出结果如下图

12.png

0x04 TabShell利用细节

TabShell的公开POC使用Powershell连接取接Exchange服务器,执行特殊构造的Exchange Powershell命令接触,为便于分析中间的通信数据,可以采用以下方法擦拭中间:

1.通过Flask构建本地代理服务器

方法可参考之前的文章《ProxyShell利用分析3——添加用户和文件写入》

2.通过Flask实现SSRF

SSRF漏洞可选择CVE-2022-41040或CVE-2022-41080

3.在Flask中输出中间的通信数据

关键字代码示例:

13.png根据通信数据,我们可以很容易地写出TabShell的Python现代代码,完整代码的输出结果如下图

14.png

0x05 小结

本文件介绍了通过 Python 实现远程执行 Exchange Powershell 命令的细节,分享使用 Python 实现 TabShell 使用的心得。

本文为 3gstudent 原创稿件,授权嘶吼独家发布,如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务