• 论文阅读:攻击者的《银河系漫游指南》:开展对互联网资源供应商的路径外攻击以劫持互联网资源 the Hijackers‘ Guide To The Galaxy


    原文链接 :https://www.usenix.org/system/files/sec21-dai.pdf
    参考阅读:http://www.hackdig.com/09/hack-486357.htm

    简介:

    相较于一般的DNS投毒攻击,本篇论文作者聚焦于针对互联网资源供应商们的DNS投毒攻击。历史攻击事件表明,网络攻击者能够通过对供应商的DNS投毒,控制目标资源所有者在该供应商网站的账号(例如IP 地址管理域注册商、IaaS提供商的虚拟机资源以及证书颁发机构),并以此控制账号相关的资源。在本篇论文中,作者团队首次展示了劫持供应商平台的帐户并开展路径外攻击以接管其网络资源,攻击者可至少控制至少68%的ipv4地址和31%的Alexa顶级域名。

    实验方法:

    DNS缓存投毒攻击(旁路劫持)可以分为三种方法,成功率是第一个和第三个比较高(?):
    第一,BGP前缀劫持。【人们通常觉得短时间的流量变化是由于配置错误引起,对网络负载无影响,可以忽略,因此常常忽视对BGP前缀劫持攻击的追踪。故比较隐蔽。】
    攻击者对受害AS声称一个ip前缀(目标网络所在的网络),在DNS请求之后进行响应,从而注入恶意DNS记录,之后进行密码重置、释放BGP劫持、控制账户等操作。

    第二,侧信道端口推理。 思路为:使用ICMP侧信道猜测受害DNS解析器在查询目标服务器使用的UDP端口。1)向DNS解析器发送udp包,验证icmp端口不可达;2)向DNS解析器关闭着的端口发送50个用于欺骗的udp包和1个非欺骗的udp包。此时 ,如果存在icmp全局速率限制,则不会受到任何消息;3)点击重置密码按钮,触发DNS请求;4)替代真实DNS解析器(make it dumb),运行程序暴力推断DNS请求源端口。5)找到源端口后,为每个可能的TXID发送2^16个欺骗响应,映射域名和攻击者的IP。6)重置密码成功,控制账户。或者,使用SadDNS进行端口扫描,每个元组30min,但是具有很高的失败率,所以需要改进这一个攻击方法。

    第三,IP碎片整理缓存注入。 思路为:片段重组。发送一个恶意片段,该片段覆盖了第二个片段,与DNS解析器的第一个真正的片段进行了重组。这样,重组后的ip报文既包含了真实的DNS记录,又包含恶意IP的映射片段,由于质询值(端口、TXID-transaction Id)在第一个片段中,所以该重组片段会被认为是一个正确合理的片段。从第二个片段进入DNS解析器进行重组,到DNS解析器的真正的第一个碎片到达的时刻,总时间不应超过15秒。实践证明,15秒足以发动攻击。从通过web界面触发密码恢复过程到DNS请求到达攻击者服务器,测量的延迟时间如下:
    在这里插入图片描述

    攻击目标

    假设攻击者需要攻击某网络基础设施,其首先收集该基础设施的信息(设施供应商,控制者账号、控制者邮箱等)。收集目标provider、client的数据,分析各provider的密码恢复机制;收集provider的DNS解析器地址;找到ip地址,用于请求恢复密码时查找客户的Email服务器。攻击能够奏效的情况下,为了真正实现上述攻击方式,几种信息至关重要:目标用户名、绑定邮箱、供应商DNS服务器,作者分别对这些信息的收集给出方法。
    一方面,对于用户名、邮箱这类用户信息,可以从公共whois记录进行检索到。在实验中,相当一部分的账户及邮箱可以直接通过whois记录检索。此外,作者还结合一些公开的字典对用户信息进行爆破,有部分撞库操作在里面,效果也不错。
    另一方面,为了获得供应商的DNS服务器信息,攻击者自己搭建域名服务和邮件服务,然后在供应商网站注册账号并发起重置密码请求。为了获取邮件服务器的地址,供应商的DNS服务器需要向攻击者的域名服务发起查询请求。随后攻击者记录这些请求,从而得知供应商的域名服务器信息,以便发动后续的投毒攻击。

    攻击场景:

    在这里插入图片描述
    图1:攻击者向DNS解析器投毒->攻击者在web网站上点击忘记密码,web网站会给邮件服务器发送重置密码邮件,邮件服务器进行DNS查询,进而解析到攻击者的IP地址->攻击者邮箱收到密码重置链接,登入账户,开始控制网络资产。

    1. 寻找目标。该目标账户需要能够有权力管理攻击者需要得到的网络资产。(在本案例中,寻找到了ARIN,因为亚马逊的区域互联网注册管理机构(RIR)被ARIN管理,ARIN分配亚马逊的各AS)
    2. DNS缓存投毒攻击。攻击者发送一个DNS响应,向公共服务提供商的DNS解析器注入由受害域名映射到攻击者IP地址的恶意DNS记录;然后,通过重置密码,使得重置密码邮件被发送到攻击者设备上。
    3. 劫持受害者的账户。
    4. 为自己创建具有最高特权的另一账户,操作网络资源,控制网络资产。此后,及时真正的资产所有者将密码重置回来,攻击者仍对此网络资产具有控制权;且某些操作生成电子邮件通知真正的资产所有者时,该电子邮件亦会被劫持。

    实验设计:

    由于是实验,不能真的劫持外部网站,所以从攻击者账户到AS到IP地址都要自己买。
    具体氪金行为 如下:

    1. 注册RIPE NCC下的主账户和二级账户
    2. 购买AS,并为这个AS花了$20000买一个/22的ip地址前缀

    具体部署行为 如下:

    1. 连接交换点(internet exchange point)
    2. 使AS承载一个评估攻击的服务器
    3. 在Linux 4.14.11上设置一个Unbound 1.6.7 DNS解析器
    4. 注册受害域名、设置受害AS,用CAIDA[文献3]创建AS拓扑图,用模拟器[文献19]模拟攻击
    5. 设置1个电子邮件服务器
    6. 设置一个代表攻击者的边界路由器
    7. 最后,模拟受害者,向服务器注册账户。
    8. 注意:为了便于第二个方法-侧信道攻击的评估,将DNS解析器配置为可以发出icmp错误响应;为了便于第三个方法-ip碎片整理攻击的评估,将DNS解析器配置为减小MTU

    具体评估行为 如下:
    分两步评估攻击的有效性。

    1. 评估DNS解析器缓存中毒的漏洞是否能够取得权限。
    2. 评估针对真实客户的攻击能够得到哪些具体网络资产。

    实验结果:

    总体实验结果如下表所示,下表列出了知名供应商们的漏洞。大部分知名供应商只需要提供邮箱地址即可变更账户密码,并且会收到一种或多种DNS投毒攻击的影响。例如,在31个测试提供商中,28个(90%)提供商易受FragDNS攻击,4个提供商易受SadDNS攻击。
    在这里插入图片描述

    进一步地,在掌握这些账号后,不同类型资源和不同供应平台账号能够造成的攻击和影响也不尽相同。如下表所示,可能造成资产被永久控制或者流量被劫持。
    在这里插入图片描述

    DNS缓存投毒攻击的附加价值:

    攻击范围只影响局部网络,而不影响整个互联网,如BGP攻击仅仅短暂地声明一个前缀,所以这种攻击在简单的同时又比较隐蔽,难以被发现。

    安全建议:

    1. 使用域名系统安全扩展DNSSEC,其可以有效对抗DNS缓存投毒攻击,但未被广泛部署,且多数域名解析器并不验证DNSSEC签名。
    2. 对网络资产的管理条例需要进行修缮,从而使得攻击者不能够轻易地进行隐蔽而简单的资源申请。
    3. 高权限用户独立系统
    4. 使用多因素去认证身份
    5. 启用验证码
    6. 账号变动时及时通知用户
    7. 屏蔽公开的电子邮件地址
    8. IP级的账号访问限制
  • 相关阅读:
    秒验丨iOS端SDK 集成指南
    【k8s】2、二进制安装k8s
    移植带桌面ubuntu18.04到RK3568开发板
    Android中添加CallStack打印
    Ubuntu18.04添加rc.local启动项
    web期末作业设计网页 HTML+CSS+JavaScript仿王者荣耀游戏新闻咨询(web前端网页制作课作业)
    阿里三面:什么是循环依赖?你说一下Spring解决循环依赖的流程
    雨水情监测及视频监控解决方案 水库雨水情自动测报系统 介绍 功能 特点
    ✔ ★算法基础笔记(Acwing)(一)—— 基础算法(20道题)【java版本】
    短期动态IP介绍
  • 原文地址:https://blog.csdn.net/weixin_43737395/article/details/126716298