Abstruct
Exchange Server是微软的一套电子邮件服务组件,是一个消息与写作系统。通常被用来构架应用于企业、学校的邮件系统。Exchange还是一个协作平台,在此基础上可以开发工作流,知识管理系统,Web系统或者是其他消息系统
Discover Exchange
Nmap
通过Nmap扫描端口和服务来发现域内exchange服务
1 | nmap -T4 -sV -A -v 192.168.134.40 |
根据banner信息很容易查找出来
SPN名称
之前说过,SPN是启用Kerberos的服务所注册的便于KDC查找的服务名称,被存储在AD数据库中,使用的时候利用LDAP去查询。而且一旦服务成功安装,这些SPN名称就会自动注册。
1 | Setspn –T yoga.com -Q */* |
根据这些名称很容易查找出来
SRV记录
SRV是DNS中的一种资源记录,SRV记录用于将服务的名称映射到提供该服务的服务器的DNS计算机名称。
简单来说,它标明了哪台主机提供哪种服务的信息。
1 | nslookup -q = srv _autodiscover._tcp |
一般来说发现了_autodiscover
记录就说明内网极有可能存在Exchange服务
HTTP
- owa接口
- ews接口
- ecp接口
- ….
爆破
说到爆破得提一下Exchange提供的几种客户端邮箱接口和服务接口
- owa —— Web邮箱
- ecp —— Web管理控制台
- outlook —— RPC-over-HTTP
- outlook —— MAPI-over-HTTP
- EWS —— Soap-over-HTTP
- EAS —— XML/HTTP
通常Exchange Server 有以下endpoint:
endpoint 说明 /autodiscover 自Exchange Server 2007开始推出的一项自动服务,用于自动配置用户在Outlook中邮箱的相关设置,简化用户登陆使用邮箱的流程。 /ecp “Exchange Control Panel” Exchange管理中心,管理员用于管理组织中的Exchange的Web控制台 /ews “Exchange Web Services” Exchange Web Service,实现客户端与服务端之间基于HTTP的SOAP交互 /mapi Outlook连接Exchange的默认方式,在2013和2013之后开始使用,2010 sp2同样支持 /Microsoft-Server-ActiveSync 用于移动应用程序访问电子邮件 /OAB “Offline Address Book” 用于为Outlook客户端提供地址簿的副本,减轻Exchange的负担 /owa “Outlook Web APP” Exchange owa 接口,用于通过web应用程序访问邮件、日历、任务和联系人等 /powershell 用于服务器管理的Exchange管理控制台 /RPC 早期的Outlook还使用称为Outlook Anywhere的RPC交互
其中密码爆破可以利用的接口有四个:
- Autodiscover ➡ NTLM Authenticate 401认证
- OWA ➡ post请求数据
- EWS ➡ NTLM Authenticate 401认证
- Microsoft-Server-ActiveSync ➡ Basic 401认证
Autodiscover
如果用户身份认证通过,就会返回以下请求
Ruler可用来对该接口进行暴力破解
1 | ./ruler-linux64 --url https://192.168.134.40/Autodiscover/autodiscover.xml --insecure brute -delay 0 --users user.txt --passwords passwd.txt --threads 10 -v |
EWS
可用MailSniper爆破,与常规的爆破方法不同的是,为了防止触发账户锁定和IDS,每次对单个用户进行登录尝试。
1 | Import-Module .\MailSniper.ps1 |
OWA
1 | Import-Module .\MailSniper.ps1 |
Microsoft-Server-ActiveSync
1 | Import-Module .\MailSniper.ps1 |
如果获取了其中一个用户的密码,可调用Get-GlobalAddressList
拿到全部的用户
1 | Get-GlobalAddressList -ExchHostname 192.168.134.40 -UserNa |
Reference
https://evi1cg.me/archives/Exchange_Hack.html
https://github.com/dafthack/MailSniper
https://github.com/sensepost/ruler