渗透|渗透技巧——通过Exchange ActiveSync访问内部文件共享( 四 )
·User=test1 , 表示用户名为test1
·DeviceId=123456 , 表示设备ID , 会被Exchange ActiveSync记录
·DeviceType=Python , 表示设备类型 , 会被Exchange ActiveSync记录
方法为POST请求
header内容示例:
"Content-Type": "application/vnd.ms-sync.wbxml",
"User-Agent" : ,
"MS-ASProtocolVersion" : "14.1",
"Accept-Language" : "en_us",
"Authorization: Basic dXNlcjElM0FwYXNzd29yZDE="
body内容示例:
需要将xml格式转换为WAP Binary XML(WBXML) 。
xml格式示例:
本文插图
xml格式参考:
https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-asdoc/f8a23578-0ca4-4b36-aa07-3dcac5b83881
WAP Binary XML(WBXML)算法可参考:
https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-aswbxml/39973eb1-1e40-4eb5-ac74-42781c5a33bc
2.读取指定共享文件内容
访问的URL示例:https://192.168.1.1/Microsoft-Server-ActiveSync?Cmd=ItemOperations&User=test1&DeviceId=123456&DeviceType=Python"
参数说明如下:
·Cmd=ItemOperations , 表示命令类型为ItemOperations
·User=test1 , 表示用户名为test1
·DeviceId=123456 , 表示设备ID , 会被Exchange ActiveSync记录
·DeviceType=Python , 表示设备类型 , 会被Exchange ActiveSync记录
方法为POST请求
header内容示例:
"Content-Type": "application/vnd.ms-sync.wbxml",
"User-Agent" : ,
"MS-ASProtocolVersion" : "14.1",
"Accept-Language" : "en_us",
"Authorization: Basic dXNlcjElM0FwYXNzd29yZDE="
body内容示例:
需要将xml格式转换为WAP Binary XML (WBXML) 。
xml格式示例:
xml格式参考:
https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-asdoc/e7a91040-42f1-475c-bac3-d83d7dd9652f
我基于peas的代码 , 提取出访问共享文件的功能 , 生成了一个免安装的版本 , 地址如下:
https://github.com/3gstudent/easBrowseSharefile
代码支持两个功能:
1.列出共享文件
2.读取指定共享文件内容
注:访问域内共享目录SYSVOL时 , 路径要加上域控制器的计算机名 , 而不是域名 。
正确的写法:
\dc1SYSVOL est.comPolicies{6AC1786C-016F-11D2-945F-00C04fB984F9}GPT.INI
错误的写法:
\test.comSYSVOL est.comPolicies{6AC1786C-016F-11D2-945F-00C04fB984F9}GPT.INI
如果掌握了域控制器的计算机名 , 可以通过Exchange ActiveSync从外网访问域内共享目录SYSVOL中的文件 。
0x06 防御检测
通过Exchange ActiveSync读取邮件和访问共享目录会留下设备信息 , 设备信息对应的代码位置:
https://github.com/FSecureLABS/peas/blob/master/peas/pyActiveSync/objects/MSASHTTP.py#L25
查看设备信息的两个方法 。
1.登录Exchange Admin Center
选择邮箱用户->Mobile Devices下的View details, 如下图:
本文插图
2.使用Exchange Management Shell
命令如下:
Get-ActiveSyncDevice|fl UserDisplayName,DeviceId,DeviceType,DeviceUserAgent
推荐阅读
- 模型|REVIT技巧!如何创建能量模型,实现能量优化
- 手机使用技巧|宝宝照片太多怎么办?4种不占手机内存的存储方式,最后一种更安全
- 新机发布|小米神秘5G新机正式通过工信部入网,红米K30即将成明日黄花
- 行业互联网|最前线丨泰格医药通过港交所上市聆讯,或将实现“A+H”两地上市
- 电脑使用技巧|Word文字技巧—如何将Excel转换成Word
- windows系统,电脑使用技巧|第三方 Fluent Design 图标设计集预示未来 Win 10 风格
- 电脑使用技巧|写论文要注意什么问题?
- 电脑使用技巧|微软承认Windows 10新BUG:错误显示没有网络连接
- |三星Note20通过FCC认证:机身尺寸以及参数终于确认
- 电脑使用技巧|dos命令cd图文教程,改变当前目录路径chdir批处理