溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么

發(fā)布時間:2021-11-25 15:21:34 來源:億速云 閱讀:201 作者:柒染 欄目:編程語言

本篇文章給大家分享的是有關(guān)深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

前言:

在滲透測試中,往往會遇到企業(yè)內(nèi)網(wǎng)環(huán)境中使用的一些常用組件,這些組件對內(nèi)或?qū)ν馓峁┝朔?wù)與接口,也給滲透測試人員與黑客提供了新的可嘗試的攻擊面,合理的利用組件服務(wù)提供的功能和接口,可以幫助滲透測試人員完成信息收集、環(huán)境偵測,甚至通過其漏洞弱點(diǎn)、配置缺陷、功能濫用直接拿下權(quán)限,在滲透測試與后滲透階段達(dá)到事半功倍的效果。 Windows Exchange Server,應(yīng)該是國內(nèi)外應(yīng)用都非常廣泛的郵件服務(wù)器了,本文將圍繞Exchange展開,介紹在滲透測試中對Exchange服務(wù)器的攻擊利用。    

正式開始之前,我們先對Exchange相關(guān)的一些概念與基礎(chǔ)知識進(jìn)行梳理簡介,便于對Exchange有簡單初步的了解。

實(shí)驗(yàn)環(huán)境:

  • 域環(huán)境:fb.com

  • 域控:10.0.83.93,masterdc,Windows 2012 R2

  • Exchange服務(wù)器:10.0.83.94,test2k12,Windows 2012 R2,安裝Exchange Server 2013 SP1

  • 域內(nèi)工作機(jī):10.0.83.80,testwin7,Windows 7,安裝Outlook 2013 SP1

一、初識Exchange

Microsoft Exchange Server is a mail server and calendaring server developed by Microsoft. It runs exclusively on Windows Server operating systems. —— wikipedia

如維基百科對Exchange Server的描述,Exchange是由微軟推出的用于企業(yè)環(huán)境中部署的郵件服務(wù)器。微軟對外發(fā)布的第一個Exchange版本是Exchange 4.0,最開始Exchange使用X.400目錄服務(wù),隨后轉(zhuǎn)向使用微軟的活動目錄,最開始的時候微軟還提供了Microsoft Exchange Client,即Exchange郵件客戶端,隨后被Outlook取代,時至今日,微軟已經(jīng)發(fā)布了10個大版本號的Exchange,今年10月份,微軟推出了最新版本的Exchange Server    2019。在不同的企業(yè)環(huán)境中部署使用的Exchange版本不一,各版本提供的架構(gòu)、功能、服務(wù)、接口都各有不同,本文將以Exchange Server 2013為例展開敘述。

Exchange Server是一種本地化部署的形式,除此之外還有以SaaS的在線服務(wù)模式,這兩種部署模式即各種文檔或資料中常說的Exchange On-premise和Exchange Online,另外,Exchange還支持本地化部署與云端部署共存的部署方式,即混合部署(Exchange Hybrid)。

1.郵件服務(wù)器角色(Server Role)

Exchange是一個功能完整而龐大的郵件服務(wù)器,實(shí)際上Exchange背負(fù)的不僅僅是傳統(tǒng)的郵件收發(fā)處理、郵件路由等基本的郵件功能,在微軟背景下Exchange與活動目錄域服務(wù)、全局編排目錄及其他微軟相關(guān)服務(wù)和組件也有著眾多聯(lián)系。Exchange郵件服務(wù)器在企業(yè)環(huán)境中使用占比非常高,其通過劃分不同的服務(wù)器角色、執(zhí)行各自的組件和服務(wù)以及相互之間的依存調(diào)用使得郵件處理形成一個強(qiáng)大、豐富、穩(wěn)定、同時又復(fù)雜的過程。Exchange在邏輯上分為三個層次:網(wǎng)絡(luò)層(network layer)、目錄層(directory    layer)、消息層(messaging layer),服務(wù)器角色正是在消息層上的一個細(xì)分。

Exchange Server 2013包含三個服務(wù)器角色,我們往前推進(jìn)一個版本到Exchange Server 2010,來介紹Exchange服務(wù)器角色的演變和功能簡述。

Exchange Server 2010包含五個服務(wù)器角色,分別是郵箱服務(wù)器(mailbox server)、集線傳輸服務(wù)器(hub transport server)、客戶端訪問服務(wù)器(client access server)、邊緣傳輸服務(wù)器(edge transport server)、統(tǒng)一消息服務(wù)器(unified messaging server),除了邊緣傳輸服務(wù)器以外其他角色都可以在同一臺主機(jī)上進(jìn)行部署添加,其中郵箱服務(wù)器、集線傳輸服務(wù)器、客戶端訪問服務(wù)器是核心服務(wù)器角色,部署這三個角色就能提供基本的郵件處理功能。

  • 郵箱服務(wù)器(mailbox server):該角色是提供托管郵箱、公共文件夾以及相關(guān)的消息數(shù)據(jù)(如地址列表)的后端組件,是必選的服務(wù)器角色。

  • 客戶端訪問服務(wù)器(client access server):接收和處理來自于不同客戶端的請求的中間層服務(wù)器角色,該角色服務(wù)器提供了對使用不同協(xié)議進(jìn)行訪問的支持,每個Exchange環(huán)境中至少需要部署一個客戶端訪問服務(wù)器,客戶端訪問服務(wù)器提供了對以下不同接口訪問Exchange服務(wù)器的處理。

MAPI訪問
POP3和IMAP4訪問
Outlook Web App訪問(OWA)
Outlook Anywhere訪問
Autodiscover自動發(fā)現(xiàn)服務(wù)
可用性服務(wù)
  • 集線傳輸服務(wù)器(hub transport server):或稱中心傳輸服務(wù)器,該服務(wù)器角色的核心服務(wù)就是Microsoft Exchange Transport,負(fù)責(zé)處理Mail Flow(這又是Exchange中的一大知識點(diǎn),Exchange管理員需要通過MailFlow實(shí)現(xiàn)郵件出站與進(jìn)站配置)、對郵件進(jìn)行路由、以及在Exchange組織中進(jìn)行分發(fā),該服務(wù)器角色處理所有發(fā)往屬于本地郵箱的郵件和發(fā)往外部郵箱的郵件,并確保郵件發(fā)送者和接收者的地址被正確解析并執(zhí)行特定策略(如郵件地址過濾、內(nèi)容過濾、格式轉(zhuǎn)換等),同時,還可以進(jìn)行記錄、審計、添加免責(zé)聲明等,正如Hub        transport的含義,該服務(wù)器角色相當(dāng)于一個郵件傳輸?shù)闹欣^站點(diǎn),每個Exchange環(huán)境中至少需要部署一個集線傳輸服務(wù)器。

  • 統(tǒng)一消息服務(wù)器(unified messaging server):將專用交換機(jī)(private branch exchange/PBX) 和Exchange Server集成在一起,以允許郵箱用戶可以在郵件中發(fā)送存儲語音消息和傳真消息,可選角色。

  • 邊緣傳輸服務(wù)器(edge transport server):該服務(wù)器角色作為專用服務(wù)器可以用于路由發(fā)往內(nèi)部或外部的郵件,通常部署于網(wǎng)絡(luò)邊界并用于設(shè)置安全邊界。其接受來自內(nèi)部組織的郵件和來自外部可信服務(wù)器的郵件,然后應(yīng)用特定的反垃圾郵件、反病毒策略,最后將通過策略篩選的郵件路由到內(nèi)部的集線傳輸服務(wù)器,可選角色。

在Exchange Server 2013中,服務(wù)器角色精簡為三個,分別是郵箱服務(wù)器、客戶端訪問服務(wù)器和邊緣傳輸服務(wù)器,其中郵箱服務(wù)器角色和客戶端訪問服務(wù)器角色通常被安裝在同一臺服務(wù)器中。

  • 郵箱服務(wù)器:負(fù)責(zé)認(rèn)證、重定向、代理來自外部不同客戶端的訪問請求,主要包含客戶端訪問服務(wù)(Client Access service)和前端傳輸服務(wù)(Front End Transport service)兩大組件。

  • 客戶端訪問服務(wù)器:托管郵箱、公共文件夾等數(shù)據(jù),主要包含集線傳輸服務(wù)(Hub Transport service)和郵箱傳輸服務(wù)(Mailbox Transport service)兩大組件服務(wù)。

  • 邊緣傳輸服務(wù)器:負(fù)責(zé)路由出站與入站郵件、策略應(yīng)用等。

在Exchange Server 2016和2019中,只有兩種服務(wù)器角色,分別是郵箱服務(wù)器和邊緣傳輸服務(wù)器,所有關(guān)鍵角色和組件都融入到郵箱服務(wù)器中。

2.客戶端/遠(yuǎn)程訪問接口和協(xié)議

郵件通信分為郵件發(fā)送和郵件接收,其中郵件發(fā)送使用統(tǒng)一的通信協(xié)議,即SMTP,而郵件的收取則有多種協(xié)議標(biāo)準(zhǔn),如由早期的POP發(fā)展至今的POP3,如今使用廣泛的IMAP,Exchange開發(fā)了私有的MAPI協(xié)議用于收取郵件,較新版本的Outlook通常使用MAPI與Exchange進(jìn)行交互,除此之外早期的Outlook還使用稱為Outlook Anywhere的RPC交互。下面介紹Exchange提供支持的訪問接口和協(xié)議。

Outlook Web App(OWA)

Exchange提供的Web郵箱,地址通常為 http://DOAMIN/owa/

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么    

Exchange Administrative Center(ECP)

Exchange管理中心,管理員用于管理組織中的Exchange的Web控制臺,地址通常為 http://DOMAIN/ecp/

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么Outlook Anywhere(RPC-over-HTTP,RPC/HTTP)

前身為RPC-over-HTTP,隨后在Exchange 2007和Exchange 2010中被重命名為Outlook Anywhere。RPC-over-HTTP是在Exchange 2003被提出的,在此之前,外網(wǎng)用戶使用Exchange郵箱需要先通過VPN連接到企業(yè)內(nèi)部網(wǎng)絡(luò)中,隨后微軟在Outlook中推出新特性O(shè)utlook Anywhere,外網(wǎng)用戶可以直接通過Outlook Anywhere連接使用Exchange郵箱而無需使用VPN,內(nèi)網(wǎng)用戶則通過RPC協(xié)議連接使用Exchange。從Exchange    2013開始,Outlook不再區(qū)分內(nèi)外網(wǎng)環(huán)境,統(tǒng)一使用Outlook Anywhere,同時,不需要開放單獨(dú)的RPC端口。Outlook Anywhere在Exchange Server 2013中默認(rèn)開啟。

在Outlook中使用RPC-over-HTTP的連接方式連接Exchange(在協(xié)議中顯示為RPC/HTTP):深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么

MAPI(MAPI-over-HTTP,MAPI/HTTP)

一種Outlook與Exchange交互的新的傳輸協(xié)議,于Exchange 2013 SP1和Outlook 2013 SP1中被提出。

在Outlook中使用MAPI-over-HTTP的連接方式連接Exchange(在協(xié)議中顯示為HTTP):

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么Exchange ActiveSync(EAS,XML/HTTP)

ActiveSync是一種允許用戶通過移動設(shè)備或其他便攜式設(shè)備訪問和管理郵件、聯(lián)系人、日歷等Exchange功能的同步協(xié)議,在Windows上使用時其進(jìn)程名稱為wcesomm.exe。

Exchange Web Service(EWS,SOAP-over-HTTP)

Exchange提供了一套API編程接口可供開發(fā)者調(diào)用,用于訪問Exchange服務(wù)器,與郵件、聯(lián)系人、日歷等功能進(jìn)行交互和管理操作,在Exchange Server 2007中被提出。微軟基于標(biāo)準(zhǔn)的Web Service開發(fā)EWS,EWS實(shí)現(xiàn)的客戶端與服務(wù)端之間通過基于HTTP的SOAP交互。

3.Exchange功能和服務(wù)

自動發(fā)現(xiàn)(Autodiscover)

Autodiscover自動發(fā)現(xiàn)是自Exchange Server 2007開始推出的一項(xiàng)自動服務(wù),用于自動配置用戶在Outlook中郵箱的相關(guān)設(shè)置,簡化用戶登陸使用郵箱的流程。如果用戶賬戶是域賬戶且當(dāng)前位于域環(huán)境中,通過自動發(fā)現(xiàn)功能用戶無需輸入任何憑證信息即可登陸郵箱。自動發(fā)現(xiàn)服務(wù)運(yùn)行于客戶端訪問服務(wù)器(Client Access Server)上,其實(shí)質(zhì)是Outlook客戶端通過LDAP查詢、DNS查詢等,連接到指定域的Exchange的客戶端訪問服務(wù)器(Client Access Server)上。

自動發(fā)現(xiàn)的過程首先需要獲取自動配置文件,然后根據(jù)配置文件進(jìn)行連接和配置,獲取自動配置文件的過程不展開細(xì)說了,簡單來說它將找到提供自動發(fā)現(xiàn)服務(wù)的客戶端訪問服務(wù)器、訪問/autodiscover/autodiscover.xml獲得配置文件。

這里有個關(guān)鍵地方,即正確配置DNS解析,使得Outlook客戶端不管是在域環(huán)境主機(jī)上還是外部網(wǎng)絡(luò)環(huán)境,都可以正確找到自動發(fā)現(xiàn)服務(wù)所在的服務(wù)器。

配置名稱autodiscover指向客戶端訪問服務(wù)器:

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么配置autodiscover的SRV記錄:

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么域用戶在加入域的主機(jī)上使用Outlook自動發(fā)現(xiàn)功能:

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么域用戶在工作組主機(jī)上使用Outlook自動發(fā)現(xiàn)功能:

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么全局地址列表(GAL)

地址列表(Address List)記錄了用戶在域活動目錄中的基本信息和在Exchange中的郵箱地址,用于將用戶在活動目錄中的屬性對象與郵件地址形成關(guān)聯(lián)。在Exchange中管理員可以創(chuàng)建不同的地址列表,用于方便管理維護(hù)組織,也方便郵箱用戶通過地址列表查找特定的聯(lián)系人郵箱,Exchange默認(rèn)會創(chuàng)建一些內(nèi)置的地址列表,其中包含了一個Default Global Address List(默認(rèn)全局地址列表),所有郵箱用戶都會被加入到這個地址列表中。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么下面,我們進(jìn)入正題

這里我們將會用到兩個知名度最高的Exchange利用工具,一個是Sensepost用Go實(shí)現(xiàn)的與Exchange進(jìn)行命令行交互的工具Ruler,Ruler可以通過RPC/HTTP或者M(jìn)API/HTTP的方式與Exchange進(jìn)行交互,只要擁有合法的用戶憑證,就可以利用Ruler執(zhí)行一系列的信息偵察、定向攻擊等操作。另一個是Powershell實(shí)現(xiàn)的MailSniper,主要用于后滲透階段的一些信息收集和獲取。關(guān)于工具的詳細(xì)介紹與用法可以去Github跟Freebuf上自行查找。

二、發(fā)現(xiàn)Exchange

在滲透測試中,當(dāng)進(jìn)行信息收集與環(huán)境偵察時,發(fā)現(xiàn)與識別Exchange及其相關(guān)服務(wù),可以有多種方法與途徑,或者說,當(dāng)你在執(zhí)行一些端口掃描、名稱查詢等過程時,當(dāng)發(fā)現(xiàn)如下舉例的一些跡象和掃描結(jié)果時,你應(yīng)該意識到,該環(huán)境中可能存在Exchange組件。

1.端口與服務(wù)

Exchange的正常運(yùn)行,如上一章節(jié)所列舉的,需要多個服務(wù)與功能組件之間相互依賴與協(xié)調(diào),因此,安裝了Exchange的服務(wù)器上會開放某些端口對外提供服務(wù),不同的服務(wù)與端口可能取決于服務(wù)器所安裝的角色、服務(wù)器進(jìn)行的配置、以及網(wǎng)絡(luò)環(huán)境與訪問控制的安全配置等。通過端口發(fā)現(xiàn)服務(wù),來識別確認(rèn)服務(wù)器上安裝了Exchange,是最常規(guī)也是最簡易的方法。如下是執(zhí)行了一次端口掃描的結(jié)果報告。

root@kali:~# nmap -A -O -sV -Pn 10.0.83.94
Starting Nmap 7.70 ( https://nmap.org ) at 2018-12-24 14:14 CST
Nmap scan report for 10.0.83.94
Host is up (0.00043s latency).
Not shown: 974 filtered ports
PORT     STATE SERVICE            VERSION
25/tcp   open  smtp               Microsoft Exchange smtpd
| smtp-commands: test2k12.fb.com Hello [10.0.83.11], SIZE 37748736, PIPELINING, DSN, ENHANCEDSTATUSCODES, STARTTLS, X-ANONYMOUSTLS, AUTH NTLM, X-EXPS GSSAPI NTLM, 8BITMIME, BINARYMIME, CHUNKING, XRDST,
|_ This server supports the following commands: HELO EHLO STARTTLS RCPT DATA RSET MAIL QUIT HELP AUTH BDAT
| smtp-ntlm-info:
|   Target_Name: FB
|   NetBIOS_Domain_Name: FB
|   NetBIOS_Computer_Name: TEST2K12
|   DNS_Domain_Name: fb.com
|   DNS_Computer_Name: test2k12.fb.com
|   DNS_Tree_Name: fb.com
|_  Product_Version: 6.3.9600
|_ssl-date: 2018-12-24T06:17:42+00:00; +49s from scanner time.
80/tcp   open  http               Microsoft IIS httpd 8.5
|_http-server-header: Microsoft-IIS/8.5
|_http-title: 403 - \xBD\xFB\xD6\xB9\xB7\xC3\xCE\xCA: \xB7\xC3\xCE\xCA\xB1\xBB\xBE\xDC\xBE\xF8\xA1\xA3
81/tcp   open  http               Microsoft IIS httpd 8.5
|_http-server-header: Microsoft-IIS/8.5
|_http-title: 403 - \xBD\xFB\xD6\xB9\xB7\xC3\xCE\xCA: \xB7\xC3\xCE\xCA\xB1\xBB\xBE\xDC\xBE\xF8\xA1\xA3
……
465/tcp  open  smtp               Microsoft Exchange smtpd
| smtp-commands: test2k12.fb.com Hello [10.0.83.11], SIZE 36700160, PIPELINING, DSN, ENHANCEDSTATUSCODES, STARTTLS, X-ANONYMOUSTLS, AUTH GSSAPI NTLM, X-EXPS GSSAPI NTLM, 8BITMIME, BINARYMIME, CHUNKING, XEXCH50, XRDST, XSHADOWREQUEST,
|_ This server supports the following commands: HELO EHLO STARTTLS RCPT DATA RSET MAIL QUIT HELP AUTH BDAT
| smtp-ntlm-info:
|   Target_Name: FB
|   NetBIOS_Domain_Name: FB
|   NetBIOS_Computer_Name: TEST2K12
|   DNS_Domain_Name: fb.com
|   DNS_Computer_Name: test2k12.fb.com
|   DNS_Tree_Name: fb.com
|_  Product_Version: 6.3.9600
|_ssl-date: 2018-12-24T06:17:37+00:00; +49s from scanner time.
587/tcp  open  smtp               Microsoft Exchange smtpd
| smtp-commands: test2k12.fb.com Hello [10.0.83.11], SIZE 36700160, PIPELINING, DSN, ENHANCEDSTATUSCODES, STARTTLS, AUTH GSSAPI NTLM, 8BITMIME, BINARYMIME, CHUNKING,
|_ This server supports the following commands: HELO EHLO STARTTLS RCPT DATA RSET MAIL QUIT HELP AUTH BDAT
| smtp-ntlm-info:
|   Target_Name: FB
|   NetBIOS_Domain_Name: FB
|   NetBIOS_Computer_Name: TEST2K12
|   DNS_Domain_Name: fb.com
|   DNS_Computer_Name: test2k12.fb.com
|   DNS_Tree_Name: fb.com
|_  Product_Version: 6.3.9600
|_ssl-date: 2018-12-24T06:17:39+00:00; +49s from scanner time.
……
2525/tcp open  smtp               Microsoft Exchange smtpd
| smtp-commands: test2k12.fb.com Hello [10.0.83.11], SIZE, PIPELINING, DSN, ENHANCEDSTATUSCODES, STARTTLS, X-ANONYMOUSTLS, AUTH NTLM, X-EXPS GSSAPI NTLM, 8BITMIME, BINARYMIME, CHUNKING, XEXCH50, XRDST, XSHADOWREQUEST,
|_ This server supports the following commands: HELO EHLO STARTTLS RCPT DATA RSET MAIL QUIT HELP AUTH BDAT
|_smtp-ntlm-info: ERROR: Script execution failed (use -d to debug)
|_ssl-date: 2018-12-24T06:17:48+00:00; +50s from scanner time.
……

80端口上的IIS、25/587/2525端口上的SMTP,及其其上詳細(xì)的指紋信息,可以幫助我們確定該主機(jī)上正運(yùn)行著Exchange服務(wù)。

2.SPNs名稱查詢

端口掃描是信息收集階段最常用的手段,端口掃描通過與目標(biāo)主機(jī)之間的TCP/UDP協(xié)議交互,根據(jù)返回的各種信息判斷端口開放情況和服務(wù)軟件,這需要直接的與目標(biāo)主機(jī)進(jìn)行通信,且往往會產(chǎn)生規(guī)模較大的流量通信。除了端口掃描之外,對于熟悉內(nèi)網(wǎng)滲透的同學(xué)來說,通過SPN來發(fā)現(xiàn)服務(wù)應(yīng)該也是必備伎倆了,這種方法在Windows環(huán)境中尤其有效,因?yàn)槠洳恍枰c各個主機(jī)進(jìn)行通信,而是通過已有的普通用戶權(quán)限,查詢活動目錄數(shù)據(jù)庫,枚舉得到SPN,從而獲知各個主機(jī)上運(yùn)行著哪些服務(wù)應(yīng)用。

SPN(Service Principal Name),是Kerberos認(rèn)證中不可缺少的,每一個啟用Kerberos認(rèn)證的服務(wù)都擁有一個SPN,如文件共享服務(wù)的SPN為cifs/domain_name,LDAP服務(wù)的SPN為ldap/domain_name,在Kerberos認(rèn)證過程,客戶端通過指定SPN讓KDC知曉客戶端請求訪問的是哪個具體服務(wù),并使用該服務(wù)對應(yīng)的服務(wù)賬號的密鑰來對最終票據(jù)進(jìn)行加密。關(guān)于Kerberos和SPN的更多信息不在此展開講,有興趣的同學(xué)可以自行查閱資料。

在活動目錄數(shù)據(jù)庫中,每一個計算機(jī)對象有一個屬性名為servicePrincipalName,該屬性的值是一個列表,存儲著該計算機(jī)啟用Kerberos認(rèn)證的每一個服務(wù)名稱。安裝在Windows域環(huán)境中的Exchange服務(wù)同樣會接入Kerberos認(rèn)證,因此,Exchange相關(guān)的多個服務(wù),應(yīng)該都可以從該屬性中找到對應(yīng)的SPN。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么執(zhí)行SPN名稱查找的工具和方法有很多,這里直接以域內(nèi)的一臺工作機(jī),通過setspn.exe查詢獲得。深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么

可以看到,exchangeRFR/exchangeAB/exchangeMDB/SMTP/SMTPSvc等,涉及SMTP服務(wù)、郵件地址簿服務(wù)、客戶端訪問服務(wù)器角色服務(wù)等,都是Exchange注冊的服務(wù)。

再次強(qiáng)調(diào),SPN是啟用Kerberos的服務(wù)所注冊的便于KDC查找的服務(wù)名稱,這些SPN名稱信息被記錄在活動目錄數(shù)據(jù)庫中,只要服務(wù)安裝完成,這些SPN名稱就已經(jīng)存在,除非卸載或刪除,SPN名稱查詢與當(dāng)前服務(wù)是否啟動沒有關(guān)系(如Exchange服務(wù)器的IMAP/POP等部分服務(wù)默認(rèn)是不啟動的,但其SPN名稱同樣存在)。

除此之外,有時候通過其他一些方法同樣可以幫助探測確認(rèn)Exchange服務(wù),如發(fā)現(xiàn)OWA、EWS接口、自動發(fā)現(xiàn)服務(wù)、DNS域名記錄等等,Exchange是一個龐大復(fù)雜的組件服務(wù),各種配置信息和公開服務(wù)都可以幫助我們進(jìn)行信息收集。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么三、Exchange接口與服務(wù)利用

上文提到,Exchange提供了多種客戶端郵箱接口和服務(wù)接口,對于滲透測試人員而言,這些接口就是踏入Exchange內(nèi)部的第一道關(guān)卡,提供服務(wù)的接口需要有效的用戶憑證信息,顯然,用戶名與密碼破解是擺在面前的第一個嘗試。在企業(yè)域環(huán)境中,Exchange與域服務(wù)集合,域用戶賬戶密碼就是Exchange郵箱的賬戶密碼,因此,如果我們通過暴力破解等手段成功獲取了郵箱用戶密碼,在通常情況下也就間接獲得了域用戶密碼。

1.利用自動發(fā)現(xiàn)服務(wù)進(jìn)行暴力破解

Autodiscover自動發(fā)現(xiàn)服務(wù)使用Autodiscover.xml配置文件來對用戶進(jìn)行自動設(shè)置,獲取該自動配置文件需要用戶認(rèn)證,如訪問http://test2k12.fb.com/Autodiscover/Autodiscover.xml文件將提示需要認(rèn)證,如下為認(rèn)證通過,將獲取到如下的XML文件內(nèi)容:

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么利用這個接口,可以對郵箱賬號做暴力破解。Ruler提供了對Exchange的自動配置文件接口進(jìn)行認(rèn)證的暴力破解,通過配置線程數(shù)、間隔時間可以限制破解速度防止多次登陸失敗觸發(fā)告警或賬戶被封禁。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么    

2.Password Spray

password spray同樣是一種破解賬戶密碼的方法,與常規(guī)的暴力破解方法不同的是,password spary針對一批賬戶進(jìn)行破解,每次對單個用戶賬戶進(jìn)行一次或少數(shù)次登陸嘗試后換用下一個用戶進(jìn)行嘗試,如此反復(fù)進(jìn)行并間隔一定時間,以此方法躲避多次暴力破解的檢測和賬戶鎖定的風(fēng)險。

mailsniper提供分別針對OWA接口、EWS接口和ActiveSync接口的password spray。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么四、取得合法憑證的后滲透階段

當(dāng)滲透測試人員已成功取得某些用戶的合法郵箱憑證,或者拿到與郵箱認(rèn)證相同的域賬戶憑證,該用戶憑證可能是通過暴力破解用戶名密碼得到的,可能是dump到了用戶明文密碼或哈希值,或者通過其他途徑取得的合法有效憑證,可以幫助滲透測試人員進(jìn)一步進(jìn)行后滲透攻擊,收集更多的敏感信息、利用合法功能與服務(wù)進(jìn)行擴(kuò)展。

1.濫用Outlook功能getshell

Outlook是Office辦公軟件中用于管理電子郵件的專用軟件,Exchange郵箱用戶使用Outlook進(jìn)行郵件管理可以體驗(yàn)Exchange專用的各種功能,也是應(yīng)用非常廣泛的辦公軟件之一。Outlook功能非常強(qiáng)大,其中的一些合法功能由于其特殊性,當(dāng)攻擊者利用一些靈活(而猥瑣)的伎倆時往往可達(dá)成意想不到的效果。

規(guī)則和通知功能的濫用

Outlook提供了一項(xiàng) ”規(guī)則和通知“ (Rules and Alerts)的功能,可以設(shè)置郵件接收和發(fā)送的策略,分為規(guī)則條件和動作,即用戶定義當(dāng)郵件滿足某些條件時(如郵件主題包含特定詞語),觸發(fā)一個特定的動作,這個動作可以是對郵件的管理、處置,甚至是啟動應(yīng)用程序。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么當(dāng)攻擊者擁有合法郵箱用戶憑證的情況下,可以利用該功能在正常用戶收到符合某種條件的郵件時執(zhí)行特定的命令,例如反彈一個shell。該利用方法需要注意:

  • 攻擊者已擁有有效的郵箱用戶憑證;

  • 當(dāng)觸發(fā)動作為啟動應(yīng)用程序時,只能直接調(diào)用可執(zhí)行程序,如啟動一個exe程序,但無法為應(yīng)用程序傳遞參數(shù),即無法利用powershell執(zhí)行一句話代碼進(jìn)行反彈shell(因?yàn)橹荒軋?zhí)行powershell.exe而無法傳遞后面的命令行參數(shù));

  • 用戶需要在開啟Outlook的情況下觸發(fā)規(guī)則條件才有效,在未使用Outlook的情況下無法觸發(fā)動作;但是,用戶通過其他客戶端(如OWA)接收瀏覽了該郵件,而后打開了Outlook,仍然可以觸發(fā)該動作發(fā)生(只要這封郵件沒有在打開Outlook之前刪除);

  • 規(guī)則和通知可以通過Outlook進(jìn)行創(chuàng)建、管理和刪除,OWA對規(guī)則和通知的操作可用項(xiàng)較少(無法創(chuàng)建 ”啟動應(yīng)用程序“ 的動作);

手動新建一個規(guī)則及其觸發(fā)動作,當(dāng)收件主題中包含 ”pwn“ 時,啟動計算器程序(calc.exe)。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么發(fā)送一封郵件主題包含單詞 ”pwn“ 的郵件,當(dāng)用戶使用Outlook時,收到該郵件之后,觸發(fā)規(guī)則,彈出計算器。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么從上面的嘗試可以證明,該功能可以實(shí)現(xiàn)根據(jù)郵件主題或內(nèi)容匹配啟動指定應(yīng)用程序,因此,可以作為一個合適的攻擊面,在滿足一定條件的情況下進(jìn)行利用??偨Y(jié)一下該攻擊需要滿足的條件:

  • 攻擊者需要擁有合法的郵箱用戶憑證,且該用戶使用Outlook進(jìn)行郵件管理;

  • 攻擊者需要通過Outlook登陸用戶郵箱,然后為其創(chuàng)建一條合適的規(guī)則,將要執(zhí)行的應(yīng)用程序要么位于用戶使用Outlook的主機(jī)上,要么位于主機(jī)可訪問到的位置(如內(nèi)網(wǎng)共享文件夾、WebDAV目錄下等);

Ruler也提供了利用上述規(guī)則和通知功能,可以通過命令行創(chuàng)建規(guī)則、發(fā)送郵件觸發(fā)規(guī)則。通過結(jié)合Empire、共享文件夾、ruler,對該功能進(jìn)行利用。

使用Empire啟用一個監(jiān)聽器,創(chuàng)建一句話的powershell木馬。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么將生成的一句話木馬通過工具生成一個exe,并把該可執(zhí)行文件放到內(nèi)網(wǎng)一臺機(jī)器的共享目錄中。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么利用ruler和已擁有的合法郵箱憑證,在目標(biāo)郵箱賬戶中創(chuàng)建一條規(guī)則,規(guī)則觸發(fā)字符是 ”tcc“,規(guī)則觸發(fā)動作指向共享目錄中的可執(zhí)行文件。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么利用ruler發(fā)送一封包含 ”tcc“ 字符串的主題的郵件,ruler將使用用戶自己的郵箱給自己發(fā)送一封郵件,從而觸發(fā)規(guī)則(這一步可以在上一步驟中同時完成)。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么當(dāng)用戶使用Outlook收發(fā)郵件時,將觸發(fā)規(guī)則,并從共享目錄中拉取可執(zhí)行木馬文件并執(zhí)行,該過程沒有任何異樣。木馬執(zhí)行后shell已經(jīng)成功回彈。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么完事之后刪掉規(guī)則。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么主頁設(shè)置功能的濫用

在Outlook中,提供了一個功能允許用戶在使用Outlook的時候設(shè)置收件箱界面的主頁,可以通過收件箱的屬性來設(shè)置加載外部URL,渲染收件箱界面。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么收件箱主頁URL作為收件箱的設(shè)置屬性,會在客戶端Outlook和Exchange服務(wù)端之間進(jìn)行同步,而通過MAPI/HTTP協(xié)議與Exchange服務(wù)端的交互,可以直接設(shè)置該屬性。因此,當(dāng)已擁有合法郵箱憑證的前提下,可以利用該功能,為郵箱用戶設(shè)置收件箱主頁URL屬性,將其指向包含惡意代碼的頁面,當(dāng)用戶在Outlook中瀏覽刷新收件箱時,將觸發(fā)加載惡意頁面,執(zhí)行惡意腳本代碼,形成遠(yuǎn)程命令執(zhí)行。

Outlook收件箱主頁指向的URL在Outlook中通過iframe標(biāo)簽加載,其執(zhí)行wscript或vbscript受沙箱環(huán)境限制,無法使用腳本代碼創(chuàng)建敏感的惡意對象,即無法直接通過CreateObject("Wscript.Shell")的方式執(zhí)行命令。但是,此處可以通過載入與Outlook視圖相關(guān)的ActiveX組件,然后獲取ViewCtl1對象,通過該對象獲取應(yīng)用程序?qū)ο驩utlookApplication,該對象即表示整個Outlook應(yīng)用程序,從而逃出Outlook沙箱的限制,接著,就可以直接通過Outlook應(yīng)用程序?qū)ο笳{(diào)用CreateObject方法,來創(chuàng)建新的應(yīng)用程序?qū)ο骔script.Shell,執(zhí)行任意命令。該利用方法詳情可參考    鏈接1、鏈接2、鏈接3。

Set Application = ViewCtl1.OutlookApplication           # 取得頂層的Outlook應(yīng)用程序?qū)ο螅瑢?shí)現(xiàn)逃逸
Set cmd = Application.CreateObject("Wscript.Shell")     # 利用Outlook應(yīng)用程序?qū)ο髣?chuàng)建新的對象,執(zhí)行系統(tǒng)命令
cmd.Run("cmd.exe")

實(shí)現(xiàn)該攻擊需要的前提條件:

  • 攻擊者需要擁有合法的郵箱用戶憑證,且該用戶使用Outlook進(jìn)行郵件管理;

  • 攻擊者通過Outlook登陸用戶郵箱,為其收件箱屬性設(shè)置主頁URL,指向包含惡意腳本代碼的頁面;

ruler提供了通過MAPI/HTTP的協(xié)議交互,利用合法的郵箱憑證向服務(wù)端寫入收件箱主頁URL屬性,當(dāng)用戶使用Outlook并從Exchange服務(wù)端同步該設(shè)置時,其隨后對收件箱的刷新瀏覽將觸發(fā)加載惡意網(wǎng)頁,并執(zhí)行惡意代碼。

使用empire生成powershell一句話木馬,通過Web服務(wù)器托管包含該一句話木馬的惡意網(wǎng)頁。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么利用ruler和已有的合法郵箱憑證,在目標(biāo)郵箱中設(shè)置收件箱主頁URL,指向Web服務(wù)器上的惡意網(wǎng)頁。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么隨后,用戶通過Outlook瀏覽收件箱,empire將接收到反彈shell,該過程Outlook收件箱可能會提示已阻止不安全的ActiveX控件,實(shí)際上命令已經(jīng)執(zhí)行完成。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么    

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么完事之后,刪除該屬性設(shè)置,如果不清除該設(shè)置,用戶隨后的多次瀏覽收件箱都將觸發(fā)命令執(zhí)行,造成empire接收多個反彈shell。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么    

2.檢索郵件內(nèi)容

MailSniper可以被用戶或管理員用于檢索查找自己郵箱和文件夾信息,而攻擊者利用該工具,也可以在獲得合法郵箱憑證之后,通過檢索郵箱文件夾來嘗試發(fā)現(xiàn)和竊取包含敏感信息的郵件數(shù)據(jù)。Mailsniper包含兩個主要的cmdlet,分別是Invoke-SelfSearch和Invoke-GlobalMailSearch,用于檢索郵件中的關(guān)鍵字。

檢索當(dāng)前用戶的Exchange郵箱數(shù)據(jù)

# 查找郵件內(nèi)容中包含pwn字符串的郵件,-Folder參數(shù)可以指定要搜索的文件夾,默認(rèn)是inbox,使用時最好指定要搜索的文件夾名稱(或者指定all查找所有文件),因?yàn)樵摴ぞ呤峭鈬藢懙?,Exchange英文版收件箱為Inbox,當(dāng)Exchange使用中文版時收件箱不為英文名,默認(rèn)查找inbox文件夾會因找不到該文件而出錯

Invoke-SelfSearch -Mailbox zhangsan@fb.com -Terms *機(jī)密* -Folder 收件箱 -ExchangeVersion Exchange2013_SP1

檢索用戶zhangsan@fb.com的收件箱中包含關(guān)鍵字 “機(jī)密” 的郵件。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么檢索所有用戶的Exchange郵箱數(shù)據(jù)

利用已掌握的Exchange最高權(quán)限組成員用戶,為普通用戶分配ApplicationImpersonation角色,使得該普通用戶可以以當(dāng)前用戶身份合法偽裝其他郵箱用戶,進(jìn)而獲得查詢所有郵箱用戶郵件的權(quán)限。更多關(guān)于ApplicationImpersonation role,可以查看 鏈接。

# 利用administrator管理員用戶為普通用戶zhangsan分配ApplicationImpersonation角色,檢索所有郵箱用戶的郵件中,包括“內(nèi)部郵件”關(guān)鍵字的內(nèi)容

Invoke-GlobalMailSearch -ImpersonationAccount zhangsan -ExchHostname test2k12 -AdminUserName fb.com\administrator -ExchangeVersion Exchange2013_SP1 -Term "*內(nèi)部郵件*" -Folder 收件箱

執(zhí)行該檢索的過程中,利用管理員權(quán)限為用戶zhangsan@fb.com分配ApplicationImpersonation角色,然后獲取組織中所有郵件地址列表,并通過角色委派通過EWS服務(wù)接口逐一檢索各個郵箱賬戶,任務(wù)結(jié)束后,ApplicationImpersonation角色分配也被刪除。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么    

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么    

3.獲取組織內(nèi)的所有郵箱用戶列表

利用已掌握的合法郵箱憑證,可以利用OWA或者EWS接口查詢獲取到Exchange組織中所有的郵箱用戶的郵件地址,即全局地址列表。

Get-GlobalAddressList -ExchHostname test2k12 -UserName zhangsan -ExchangeVersion Exchange2013_SP1

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么    

4.查找存在缺陷的用戶郵箱權(quán)限委派

郵箱用戶可以通過Outlook設(shè)置自己郵箱各個文件夾的權(quán)限,通過權(quán)限設(shè)置可以委派給其他用戶訪問郵箱文件夾的權(quán)限,默認(rèn)情況下存在兩條訪問規(guī)則,分別是默認(rèn)規(guī)則和匿名規(guī)則,但其權(quán)限等級都為“無”。如果用戶通過該屬性設(shè)置了郵箱文件夾(如收件箱、發(fā)件箱等)的委派權(quán)限給其他用戶,但權(quán)限委派過于寬泛時,可能導(dǎo)致攻擊者利用有權(quán)限的用戶,間接獲得目標(biāo)郵箱用戶的郵件訪問權(quán)。如下,用戶zhangsan@fb.com設(shè)置了默認(rèn)所有人對收件箱具有讀取的權(quán)限。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么Invoke-OpenInboxFinder用于查找和發(fā)現(xiàn)指定郵箱用戶的文件夾是否存在危險的權(quán)限委派。

Invoke-OpenInboxFinder -ExchangeVersion Exchange2013_SP1 -ExchHostname test2k12.fb.com -EmailList .\users.txt

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么當(dāng)通過Invoke-OpenInboxFinder發(fā)現(xiàn)某些郵箱用戶存在可讀取郵件權(quán)限后,可以利用上面提到的Invoke-SelfSearch,檢索該郵箱用戶是否存在包含敏感詞的郵件,使用Invoke-SelfSearch時需要添加-OtherUserMailbox選項(xiàng)參數(shù),該選項(xiàng)表示通過權(quán)限委派缺陷檢索非當(dāng)前用戶郵箱數(shù)據(jù)。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么五、NTLM中繼與Exchange

NTLM Relay,又一個有趣的話題。NTLM是一種基于挑戰(zhàn)-響應(yīng)的認(rèn)證交互協(xié)議,被Windows上的多種應(yīng)用層協(xié)議用于身份認(rèn)證,如SMB、HTTP、MSSQL等。NTLM中繼攻擊,是指攻擊者在NTLM交互過程中充當(dāng)中間人的角色,在請求認(rèn)證的客戶端與服務(wù)端之間傳遞交互信息,將客戶端提交的Net-NTLM哈希截獲并在隨后將其重放到認(rèn)證目標(biāo)方,以中繼重放的中間人攻擊實(shí)現(xiàn)無需破解用戶名密碼而獲取權(quán)限。關(guān)于NTLM中繼攻擊的安全研究及相關(guān)工具已有很多,也有各種新玩法層出不窮,有興趣的可以自行查閱研究,有時間再另作文章討論。

NTLM中繼攻擊在SMB、HTTP協(xié)議中的應(yīng)用討論得比較多,其實(shí)質(zhì)是應(yīng)用協(xié)議通過NTLM認(rèn)證的方式進(jìn)行身份驗(yàn)證,因此,利用NTLM進(jìn)行認(rèn)證的應(yīng)用都可能遭受NTLM中繼攻擊。Exchange服務(wù)器提供RPC/HTTP、MAPI/HTTP、EWS等接口,都是基于HTTP構(gòu)建的上層協(xié)議,其登陸方式通過NTLM進(jìn)行,因此,NTLM中繼同樣適用與Exchange。

Exchange的NTLM中繼攻擊由William Martin于Defcon26的演講中提出并實(shí)現(xiàn)了利用工具ExchangeRelayx,可以看 這里。

ExchangeRelayx由python實(shí)現(xiàn),依賴安裝完成并啟動后,會啟動SMB服務(wù)和2個HTTP服務(wù),SMB服務(wù)和監(jiān)聽在80端口的HTTP服務(wù)用于接收受害者主機(jī)發(fā)送的認(rèn)證,監(jiān)聽在8000端口的HTTP服務(wù)是一個管理后臺,用于管理重放攻擊成功的Exchange會話。該工具實(shí)現(xiàn)了將獲取到的Net-NTLM哈希重放到真實(shí)Exchange服務(wù)器的EWS接口進(jìn)行認(rèn)證,通過EWS獲取用戶郵箱的郵件信息、附件下載、創(chuàng)建轉(zhuǎn)發(fā)規(guī)則、查詢GAL等。

啟動ExchangeRelayx,將管理后臺監(jiān)聽在本地8000端口。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么隨后,攻擊者給目標(biāo)用戶發(fā)送釣魚郵件,郵件內(nèi)容包含一個惡意外鏈,該鏈接可以是指向攻擊服務(wù)器80端口上的Web Server,或者是指向攻擊服務(wù)器上的SMB共享,當(dāng)用戶點(diǎn)擊該鏈接時,當(dāng)前用戶的NTLM認(rèn)證將被發(fā)往攻擊服務(wù)器,攻擊服務(wù)器取得該Net-NTLM哈希時,將其重放到真實(shí)Exchange服務(wù)器以訪問EWS接口,重放認(rèn)證通過,管理后臺可看到Exchange會話已經(jīng)上線。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么攻擊服務(wù)器上ExchangeRelayx的SMB服務(wù)接收到受害者的NTLM認(rèn)證,并將其重放進(jìn)行攻擊。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么    

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么點(diǎn)擊Go to Portal,ExchangeRelayx提供了一個類OWA的郵件管理界面,可以查看用戶所有郵件和文件夾。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么可以查詢聯(lián)系人信息,獲取到更多郵箱用戶的郵件地址。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么可以下載附件,導(dǎo)出地址簿聯(lián)系人,還可以創(chuàng)建郵件轉(zhuǎn)發(fā)規(guī)則,將該用戶的郵件自動轉(zhuǎn)發(fā)到指定郵箱。

深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么可以看到,利用NTLM中繼攻擊Exchange用戶郵箱并不復(fù)雜,其原理與NTLM中繼應(yīng)用于其他協(xié)議并無不同,ExchangeRelayx這套框架實(shí)現(xiàn)了將截獲的Net-NTLM哈希重放到真實(shí)Exchange服務(wù)器的EWS服務(wù)接口上,利用該認(rèn)證憑證成功取得了一個Exchange用戶郵箱會話,從而實(shí)現(xiàn)了讀取用戶郵件、查看聯(lián)系人列表等操作。該攻擊方式需要釣魚郵件的配合,或者配合Responde、Inveigh等工具實(shí)施名稱查詢欺騙來完成。

以上就是深入Exchange Server在網(wǎng)絡(luò)滲透下的利用方法是什么,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI