识别隐藏在网络中的规避性威胁 安全闲碎

识别隐藏在网络中的规避性威胁

恶意的内部人员和外部网络犯罪分子越来越狡猾。他们能更好地融入,而不会触发任何警告。他们跳过了触发标准安全系统的工具和技术。那么除了当天合法登录到网络所产生的噪音之外,一家公司怎么能告诉他们呢?答案就在于环境。监控和记录整个网络中的活动是不够的,各组织需要能够组合多种数据来源来发现在工作中隐形攻击者的微妙迹象。逃避机动高级攻击者可以使用各种策略和工具来对抗既定的安全措施。攻击者通常也会通过HTTPS和DNS路由他们的通信,这使得隐藏起来非常容易。普通用户每天最多可以生成2万个DNS查询,这就产生了令人难以置信的大量数据需要进行分析,以便有机会检测到某些内容,特别是如果通信本身没有明显的恶意内容。如果没有任何上下文来丰富这些数据,分析师将花费太长时间浏览日志来确定警报是真正的威胁还是虚警。此外,诸如在工作时间登录有效设备,专注于邮箱中的数据和每次只提取少量数据等活动都不会给人留下什么印象。创建具有更多权限的影子帐户并根据需要授予和删除权限,这也有助于他们保持低调。如何捕获规避威胁的行动者?即使是最熟练和最细致的入侵者也无法完全掩盖他们在网络中的存在。在检测它们时,最重要的因素是对组织的人员,过程和技术有一个全面的了解。检测隐藏威胁参与者的关键行动包括:识别敏感数据和文件访问:第一步是定义敏感数据的位置,优先考虑个人身份信息(PII)和受监管要求约束的其他数据,以及“所有者”及其可以访问的帐户。应该存档不再主动使用的任何数据,以减少任何不必要的威胁载体。管理用户权限:应该清楚地查看系统上的所有帐户,包括普通用户以及服务和特权帐户,以及他们拥有的权限和访问权限。监控权限更改可以成为发现可疑行为的宝贵信息的金矿。应使用最小权限方法来确保所有用户只能访问对其工作角色至关重要的文件:应根据“需要知道”确定信息访问权限。启动高价值用户分析:将用户活动与特定设备相关联将有助于检测入侵者登录到不同机器但不做任何明显恶意攻击的微妙迹象。了解公共设备和个人设备的使用方式之间的差异也有助于减少噪音和误报。相关性是关键最重要的一步是将所有这些数据关联起来。如果单独查看数据集,那么回避入侵者的迹象通常会过于微妙,而且许多可疑行为模式只有统一的观点才会明显。考虑到在任何一天流过组织的大量数据,这只能通过机器学习驱动的自动化方法来实现。通过彻底了解正常行为的外观以及对网络上所有活动的统一视图,组织将能够进行高价值关联,以识别一些最难以捉摸的恶意活动迹象。例如,访问VPN然后登录其他员工设备的用户将不会触发标准安全系统。但是这种行为对于合法用户来说是非常不寻常的,并且是一个明显的迹象表明某人的凭据已经被破坏。利用足够的数据,组织可以超越个人用户并将同伴关系构建到他们的行为分析中。这将允许他们快速发现与同行相比显示异常文件活动的用户,从而显着减少事件响应时间。一旦组织能够可靠地检测到这些迹象,即使是最躲避的攻击者也只有很少的地方可以隐藏在网络中。 本文始发于微信公众号(疯猫网络):识别隐藏在网络中的规避性威胁
阅读全文
DNS漏洞使国家级间谍活动像注册域一样简单 安全闲碎

DNS漏洞使国家级间谍活动像注册域一样简单

一种涉及使用特定名称注册域的新域名系统 (DNS) 攻击方法可用于研究人员所描述的“国家级间谍活动”。Wiz首席技术官Ami Luttwak和Shir Tamari于上周在拉斯维加斯举行的Black Hat网络安全会议上公布展示了他们发现的一类新漏洞,这些漏洞暴露了来自全球数百万个端点的宝贵动态DNS数据。DNS(域名服务)是互联网的基础之一,是一个极其复杂和分散的系统,其核心是将可读域名转换为数字IP地址。Black Hat有一项令人自豪的DNS研究传统,最著名的是在2008年,已故伟大的丹·卡明斯基通过揭露互联网的一些基本缺陷阻止了互联网世界末日。一般来说,从那时起,DNS变得更加安全了。尽管如此,DNS漏洞通常很关键,因为它们使全球数十亿设备处于危险之中。如今,托管DNS 提供商(例如 Amazon Route53、Google Cloud DNS 和 Akamai等)的兴起以及远程工作的无处不在,正在为这一为世界设计的数十年历史的协议结构中延伸并撕裂新的漏洞员工和服务器都在“本地”。我们收到了哪些流量?他们在对Amazon Route 53(一种提供给 AWS 用户的云DNS Web服务)进行分析时发现了这种攻击方法。Route 53提供大约2000个DNS服务器,其名称如ns-852.awsdns-42.net。Wiz研究人员发现,如果他们将域链接到他们控制的服务器的IP地址,则注册具有此类名称的域并将其添加到Route 53中的具有相同名称的DNS服务器会产生一些有趣的结果。研究人员解释说:“每当DNS客户端向该名称服务器查询自身信息时(数千台设备会自动更新其托管网络中的IP地址),流量将直接发送到我们的IP地址。”在他们的Black Hat演讲之后发表的一篇博文说道。他们声称已收到来自15000多个组织的DNS流量,其中包括财富500强公司、45个美国政府机构和85个来自其他国家/地区的政府机构。截获的数据包括内部和外部IP地址、计算机名称、用户名和办公地点。此数据包含在来自Windows设备的动态DNS流量。据研究人员称,该问题与 Windows设备IP地址更改时用于查找和更新主DNS服务器的算法有关。为什么我们会收到这样的流量?简短的回答是,Microsoft机器使用独特的算法来查找和更新IP地址更改时的主DNS服务器。最终该算法将查询被劫持的域名服务器以获得它自己的地址。结果?由于我们已将该服务器定向到我们的恶意IP地址,因此我们开始接收所有查询流量。为了更好地理解这一点,假设一名Wiz员工决定在家工作 - 就像我们大多数人最近一样 - 并连接到他们的家庭WiFi。他们的工作笔记本电脑从他们的家用路由器获得一个内部IP地址,并会尝试找到公司的本地主服务器以使用这个新地址更新它。最终,端点将尝试更新主服务器,这是一个管理数千个客户的AWS共享服务器。AWS名称服务器不支持动态DNS更新,因此更新请求将失败。到目前为止,Microsoft算法完全按预期工作,此时它应该停止并放弃更新主服务器。但事实并非如此——这就是问题出现的地方。微软并没有放弃,而是尝试以另一种方式找到主DNS服务器。下一步将检查 Wiz 的名称服务器是否有主服务器的记录。  AWS的名称服务器使用我们提供的IP地址进行响应,在本例中为1.3.3.7。这是Windows端点发送动态更新的地方……无意中将其内部 IP 地址、计算机名称和其他信息泄露到我们的恶意DNS服务器。如何使用这些数据?“让任何人都可以鸟瞰公司和政府内部发生的事情。我们将其比作拥有民族国家级的间谍能力——而且获得它就像注册一个域一样容易,”研究人员说。为了证明此类攻击的潜在影响,他们使用收集到的数据根据从40000多台计算机收到的流量绘制了一家大型服务公司员工的位置图。他们声称,这种位置映射还使他们能够确定一家大型商品贸易公司和一家大型信用合作社的子公司显然在受美国制裁的国家/地区拥有员工,这将违反这些制裁。谁负责解决问题?在得知这个问题后,亚马逊和谷歌实施了修复,但Wiz认为其他DNS提供商也可能存在漏洞,这意味着此类攻击仍然可能发生。微软也收到了通知,但这家科技巨头表示,这是“组织使用外部DNS解析器时发生的已知错误配置”,而不是漏洞。Wiz表示,虽然服务提供商可以采取一些措施来防止此类事件发生,但组织可以通过确保正确配置DNS解析器以防止动态DNS更新离开内部网络来防止此类数据泄漏。参考文章:Black Hat 2021: DNS loophole makes nation-state level spying as easy as registering a domain:https://www.wiz.io/blog/black-hat-2021-dns-loophole-makes-nation-state-level-spying-as-easy-as-registering-a-domain原文来源:红数位“投稿联系方式:010-82992251   [email protected]” 本文始发于微信公众号(网络安全应急技术国家工程实验室):DNS漏洞使国家级间谍活动像注册域一样简单
阅读全文
针对忘记密码功能的Kaminsky攻击实现账户接管 SecIN安全技术社区

针对忘记密码功能的Kaminsky攻击实现账户接管

译文来源:https://sec-consult.com/blog/detail/forgot-password-taking-over-user-accounts-kaminsky-style/。受个人知识所限及看法偏见影响,部分内容可能存在过度曲解或误解。望师傅们包含并提出建议,感激。 "忘记密码"功能结合DNS漏洞攻击将可能导致用户账号接管 摘要 在分析了146个web应用的DNS域名解析漏洞后,Timo Longin(Vienna 安全顾问)发现,一些web应用程序中至今仍然存在漏洞。Kaminsky攻击以及IP碎片攻击可能会允许通过“忘记密码?”功能实现对web应用的用户账户接管。为了识别出存在漏洞的web应用,这里提供了DNS Reset Checker(DNS重置检查器)。 这种攻击向量对我有影响吗? 我该如何做好防护? 我应该对这种攻击向量保持警惕吗? 在后面的Q&A部分中将涵盖上述以及更多的问题。 忘记密码?功能 很难想象一个登录表单中如果没有这一功能会是什么样子。 指定邮箱地址 接收密码重置的URL 修改密码 这一操作非常简单!但是“忘记密码?”功能又是如何与DNS漏洞相关联的呢? 下面的情景将会让我们更容易理解这一问题: 假设攻击者能够将任意的DNS记录注入到web应用程序使用的DNS解析器的缓存中(这一操作称为DNS缓存投毒),那么他将能够操纵电子邮件域名与IP地址之间的映射。因此,像是“gmail.com”这样的DNS域名解析就不一定会再导向Google电子邮件服务器的IP地址,而是会导向攻击者电子邮件服务器的IP地址。 这样一来,攻击者就可以收到所有以“gmail.com”为目的地的电子邮件。其中就包括那些重置密码的邮件。 下图说明了这个问题: 因此,如果攻击者能够操纵web应用的DNS域名解析的话,“忘记密码?”的功能就会被滥用,以此来实现用户账户的接管。 Dan Kaminsky在2008年的BlackHat大会上已经介绍了该攻击向量。在Timo Longin的毕业论文“web应用程序中的DNS漏洞”中,对146个web应用程序进行了如下分析,表明该攻击向量在今天仍然具有相关性。 基本原理 那么,你是如何检查146个web应用的DNS域名解析是否存在漏洞的呢? 通过注册146个用户!重复多次操作! 当一个用户在一个web应用上进行注册时,web应用一般都会发送一封电子邮件来验证该邮箱是否有效。以该邮箱地址为例“[email protected]”。要想发送一封电子邮件,上述的邮箱地址域名就必须首先能够被解析为一个IP地址。因此,对于“analysis.example”来说,就必须先确定该电子邮件服务器的IP地址。经过几次DNS查询后,在一个发往“analysis.example”的权威域名服务器(ADNS)类型为“MX”的DNS查询中发现了结果(见图2)。 如果我们现在想分析web应用DNS域名解析情况的话,那么流向和来自ADNS的DNS流量就是一个合适的选择。为了使其能够以“on-path”的方式操纵DNS的查询与响应,有必要开发下图所示的“DNS代理”软件组件(见图3)。 该DNS代理能够允许读取和修改DNS查询,以及发送到ADNS的响应。因此,也就可以实现对DNS报文的被动分析,以及对DNS响应的主动操控。此外,该DNS代理或者说是整个分析服务器的源码都是在GitHub上免费提供的!(后续更新中将包含更多功能!) 简而言之:如果一个用户在一个web应用上进行注册操作,就有可能检查到web应用的DNS域名解析的属性。 用于DNS分析的电子邮箱地址 通过上面的配置,可以分析出web应用的DNS域名解析情况。但是,如果使用电子邮箱地址“[email protected]”在多个web应用中进行注册,会发生什么呢? 这将导致“analysis.example”会被多个web应用解析,并且不再可能区分来自不同web应用的DNS请求。出于这一原因,我们必须在不同的web应用中使用不同的电子邮箱地址注册用户。为此,我们采取了以下格式: [email protected] V:Versioning(版本号) A:检查特定攻击(attack)要求的方法 I:web应用的标识符(Identifier) 如果我们在测试运行1中检查一个web应用,用第一种方法(从0开始)和标识符1337,我们将采用以下电子邮件地址注册一个用户: [email protected] DNS攻击及其要求 关于这一点,可以对来自不同web应用的DNS流量进行区分。但实际上应该分析什么呢? 为了弄清这一点,我们研究了以前的DNS攻击,并将其分解以确定其攻击要求。通过这种方式,可以确定DNS域名解析必须具备哪些属性才是可攻击或是存在漏洞的。 请看以下两个例子: 攻击要求——IP分片:由Amir Herzberg和Haya Schulman发现的DNS攻击要求DNS解析器能够接受IP碎片化的DNS响应。这个要求可以通过使用DNS代理主动操纵DNS响应来进行检查。例如,用于测试IP碎片的DNS响应看起来如下(见表)。 ```sh ;; QUESTION SECTION: ;0100001337.analysis.example. IN MX ;; ANSWER SECTION: 0100001337.analysis.example. 5 IN MX 10 a.jlguehdhzo.if.0100001337.analysis.example. 0100001337.analysis.example. 5 IN MX 10 a.jlguehdhzo.if.0100001337.analysis.example. 0100001337.analysis.example. 5 IN MX 10 a.jlguehdhzo.if.0100001337.analysis.example. 0100001337.analysis.example. 5 IN MX 10 a.jlguehdhzo.if.0100001337.analysis.example. 0100001337.analysis.example. 5 IN MX 10 a.jlguehdhzo.if.0100001337.analysis.example. 0100001337.analysis.example. 5 IN MX 10 a.jlguehdhzo.if.0100001337.analysis.example. 0100001337.analysis.example. 5 IN MX 10...
阅读全文
亚马逊/谷歌DNS托管服务爆严重漏洞,可窃取企业内网敏感信息 安全新闻

亚马逊/谷歌DNS托管服务爆严重漏洞,可窃取企业内网敏感信息

关注我们带你读懂网络安全研究发现,亚马逊、谷歌等多款DNS托管服务存在问题,攻击者可以劫持平台解析节点,拦截部分传入的DNS流量,并据此映射出企业的内部网络;这次事件再次引发担忧,持续收集敏感信息的托管DNS平台,很可能成为恶意人士理想的网络间谍与情报数据收集目标。在日前召开的美国黑帽安全大会(Black Hat USA 2021)上,云安全厂商Wiz公司两位安全研究员Shir Tamari与Ami Luttwak披露一项影响托管DNS服务商的新问题。利用这个bug,攻击者可以劫持平台节点、拦截部分传入的DNS流量并据此映射客户的内部网络。这项漏洞也让人们再次意识到,持续收集敏感信息的托管DNS平台,很可能成为恶意人士理想的网络间谍与情报数据收集目标。漏洞原理如今,不少DNS即服务供应商会将DNS服务器出租给企业客户。虽然运行自有DNS名称服务器难度不算高,但为了摆脱DNS服务器基础设施管理负担、享受更稳定的运行时间与一流服务安全保障,很多企业还是更倾向于选择AWS Route53、Google Cloud Platform等托管服务。要登录至托管DNS服务商,企业客户一般需要在服务商处注册自己的内部域名。最常见的方式就是前身后端门户,并将company.com及其他域名添加至服务商指定的名称服务器之一(例如ns-1611.awsdns-09.co.uk)。在完成此项操作之后,当企业员工需要接入互联网应用程序或网站时,他们的计算机就会查询第三方DNS服务器,以获取连接目标的IP地址。Wiz团队发现,某些托管DNS服务商并没有将后端中的DNS服务器列入黑名单。在上周的一次采访中,Wiz研究人员表示他们已经确认可以在后端添加托管DNS服务商自身的名称服务器(例如ns-1611.awsdns-09.co.uk),并将其指向自己的内部网络。如此一来,Wiz团队就能顺利劫持被发送至托管DNS服务商服务器处的DNS流量。但从实际测试来看,Wiz团队并没有收到经由该服务器的所有DNS流量,只是收到了大量动态DNS更新。所谓动态DNS更新,是指工作站在内网中的IP地址或其他详细信息发生变更时,被发送至DNS服务器的特殊DNS消息。Wiz团队强调,虽然无法嗅探目标企业的实时DNS流量,但动态DNS更新已经足以绘制使用同一托管DNS服务器的其他企业的内网结构图。一座“大宝藏”这些数据看似人畜无害,实际却并非如此。Tamari与Luttwak表示,在进行测试的14个小时当中,他们成功从15000多个组织处收集到动态DNS更新,其中涉及130多家政府机构与不少财富五百强企业。这部分泄露数据包括各系统的内部与外部IP地址、计算机名称,在某些极端情况下甚至涉及员工姓名。两位研究员将收集到的数据形容为一座情报“大宝藏”。他们还在采访中强调,这类数据有着广泛的用途,包括确定高价值企业的内部结构、识别域控制器,而后以远超传统随机发送垃圾邮件的高针对性精准攻击向目标发起冲击。例如,研究团队能够确定哪些企业系统正在运行受NAT保护的IPv4地址,哪些系统运行的是IPv6地址——由于IPv6的天然特性,这些系统会始终在线并持续暴露在攻击视野之下。除了网络安全之外,这些数据还有其他用途。情报机构可以利用这部分数据将各企业与政府机构交叉关联起来,快速找到对应的政府承包商。此外,Wiz团队表示在将收集到的数据绘制在地图上之后,还可以用于识别违反美国外国资产控制办公室(OFAC)规定,在伊朗及科特迪瓦等受制裁国家开展业务的企业。亚马逊与谷歌迅速发布更新 Wiz团队提到,他们发现有三家DNS即服务供应商容易受到这个问题的影响。其中的亚马逊与谷歌快速行动,已经发布了相应更新,第三家服务商也正在着手修复。在本周的邮件采访中,亚马逊与谷歌发言人回应称,已经修复了Wiz发现的攻击薄弱点,现在企业客户已无法在后端上注册服务商自己的域名。我们还询问两家企业是否进行过回溯调查,明确客户之前是否曾借此收集其他企业的数据。亚马逊发言人没有做出回应,但谷歌表示并未发现“平台上有任何恶意滥用的证据”。此外,Wiz团队还怀疑另有十余家DNS即服务供应商也有可能受到类似攻击的影响。但他们也提到,这里的问题绝不仅仅是服务商忘记在后端注册系统中将自己的DNS服务器列入黑名单那么简单。首先,为什么动态DNS更新会首先到达互联网?为什么这部分更新信息没有被限定在本地网络之内?研究人员们也提出了自己的假设,即微软Windows服务器中的一个默认选项,允许此类DNS流量通过本地网络传输至互联网,这可能才是造成问题的元凶。在就此事向微软方面求证时,微软发言人建议企业客户按照以下指南操作,防止动态DNS更新接触公共互联网:关于启用安全Windows Server DNS更新的指南https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/configure-dns-dynamic-updates-windows-server-2003其他网络安全最佳实践信息https://social.technet.microsoft.com/wiki/contents/articles/34981.active-directory-best-practices-for-internal-domain-and-network-names.aspx#Using_a_single_namespace_for_internal_an参考来源:therecord.media 本文始发于微信公众号(互联网安全内参):亚马逊/谷歌DNS托管服务爆严重漏洞,可窃取企业内网敏感信息
阅读全文
流量劫持应急响应 安全文章

流量劫持应急响应

STATEMENT声明由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。NO.1 DNS劫持DNS查询工作原理1、客户端发起DNS查询,首先查询本机host文件,若不存在,则请求到达DNS服务器,DNS服务器检查自身缓存,若存在则返回,若不存在则查询请求到递归解析器;2、这时DNS服务器向根域名服务器请求查询,返回定级域名的权威域名服务器地址;3、查询请求转向相应的顶级域的权威与服务器,得到二级域的权威域服务地址;4、递归解析器向二级域的权威域服务器发起请求,得到A记录,即IP地址;5、递归解析器返回结果给DNS服务器;6、DNS服务器将结果存入自身缓存并且返回到客户端;7、客户端得到结果并成功访问;DNS劫持是指攻击域名解析服务器,或伪造域名解析服务器的方法,把目标网站域名解析到错误的IP地址从而实现用户无法访问目标网站的目的或者蓄意或恶意要求用户访问指定IP地址的目的。判断方式当切换DNS设置或者切换运营商网络之后,访问恢复正常。排查方法1、排查hosts文件C:WindowsSystem32driversetc #windows/etc/hosts #Linux2、排查本地网卡DNS配置windows下:网络连接->以太网->详细信息Linux:/etc/resolv.conf1、首先使用nslookup查询该域名的查询结果C:Usersowen>nslookup默认服务器:  pdns.das-security.cnAddress:  10.20.120.150> www.baidu.com服务器:  pdns.das-security.cnAddress:  10.20.120.150非权威应答:名称:    www.a.shifen.comAddresses:  220.181.38.149          220.181.38.150Aliases:  www.baidu.com2、指定google或电信的DNS服务器查询> server 8.8.8.8默认服务器:  dns.googleAddress:  8.8.8.8> www.baidu.com服务器:  dns.googleAddress:  8.8.8.8非权威应答:名称:    www.wshifen.comAddresses:  104.193.88.77          104.193.88.123Aliases:  www.baidu.com          www.a.shifen.com> server 114.114.114.114默认服务器:  public1.114dns.comAddress:  114.114.114.114> www.baidu.com服务器:  public1.114dns.comAddress:  114.114.114.114非权威应答:名称:    www.a.shifen.comAddresses:  14.215.177.39          14.215.177.38Aliases:  www.baidu.com防御方法1、锁定hosts文件不允许修改;2、配置本地DNS为自动获取或者将其设置为可信DNS服务器;3、路由器采用强密码策略;4、及时更新路由器固件;5、使用加密协议进行DNS查询。NO.2 HTTP劫持常规HTTP劫持中,攻击者一般会通过入侵服务器,在网站源码中植入恶意代码。当用户正常访问源服务器时,被篡改的网站源码会跳转到指定的恶意网站。劫持手法与排查思路01、客户端js劫持在网页中插入js脚本,通过js进行url跳转,一般情况下,会通过js混淆加密来增加识别难度。如下:通过js劫持从搜索引擎中来的流量。<script>var s=document.referrer; if(s.indexOf("baidu")>0||s.indexOf("soso")>0||s.indexOf("google")>0||s.indexOf("yahoo")>0||s.indexOf("sogou")>0||s.indexOf("youdao")>0||s.indexOf("bing")>0){self.location='http://www.xxxx.com'; }</script>排查思路:查看网页源代码或者抓包分析http流量,找到源代码中插入的js代码,删除js代码后恢复。02、服务端代码劫持网站源码被篡改,在首页或配置文件中引入恶意代码。如下:通过判断User-agent与Referer,进行快照劫持。<?phperror_reporting(0);//判断是否为百度蜘蛛,然后进行内容劫持if(stripos($_SERVER,"baidu")>-1){$file = file_get_contents('http://www.baidu.com');echo $file;exit;}//判断是否来自百度搜索,然后进行url跳转if(stristr ($_SERVER,"baidu.com")) {Header("Location: http://www.baidu.com/");//指定跳转exit; }?>排查思路:查看网站首页引入了哪些文件,依次访问相关的文件源码,确认可疑的代码,去除包含文件后恢复。备份网站源码及文件完整性验证非常重要,可以帮助我们在上万行的代码中快速找到恶意代码。03、nginx反向代理劫持以前遇到过一个网站做了网页防篡改,无法通过修改网站源码劫持,攻击者通过修改nginx的配置文件,通过正则匹配url链接,配置proxy_pass代理转发实现url劫持。location ~ /+sc {    proxy_pass  https://www.xxxx.com/;}排查思路:总结url劫持规律,中间件配置文件也是需要关注的位置。04、利用301重定向劫持通过HTTP重定向实现301劫持,可以检查网站根目录下的配置文件web.config,确认是否有相关设置。<httpRedirect enabled="true" destination="http://xxxx.com/1.php" childOnly="true" httpResponseStatus="Permanent" />05、IIS恶意模块劫持这种手法相对比较隐蔽,网站目录中查不到webshell和挂马页面,但使用特定的路径、Referer或者UA访问,页面会加载暗链。排查思路:排查加载的异常dll文件,如没有签名、创建时间不匹配需重点关注。可使用火绒剑或Process Monitor协助排查。NO.3 TCP链路劫持TCP劫持事件多为抢先回包劫持会话。如果发生劫持使用抓包工具捕获浏览器访问的链路层流量,可发现浏览器产生的单个请求,同时会受到2个不同的TCO响应报文。因为伪造的第一个数据包先到,因此正常的TCP响应数据包被忽略了。大部分的劫持被用于篡改HTTP响应内容,投放的内容多为游戏、色情、赌博等领域广告。攻击者一般通过旁路设备监听链路流量,实现劫持。也有的会利用攻击设备,在链路内捕获用户的正常访问流量,记录用户敏感信息,从而进行广告推广、电信诈骗。链路劫持判断依据TTL:表现为TCP 报的 TTL 不一致甚至抖动很大。一种情况是跟正常包的ttl相差明显;另一种情况是通过ttl来判断操作系统类型,进而间接判断数据包是否有异常。Identification:出现不符合 RFC 标准的情况。对于给定地址和协议的ip包来说,它的identification应该是公差为1的单调递增数列。每一个IP封包都有一个16位的唯一识别码。当程序产生的数据要通过网络传送时都会被拆散成封包形式发送,当封包要进行重组的时候这个ID就是依据了。标识字段唯一地标识主机发送的每一份数据报。通常每发送一份消息它的值就会加1。Banner信息:response中的header头比对虽然TTL从字面上翻译,是可以存活的时间,但实际上TTL是IP数据包在计算机网络中可以转发的最大跳数。TTL字段由IP数据包的发送者设置,在IP数据包从源到目的的整个转发路径上,每经过一个路由器,路由器都会修改这个TTL字段值,具体的做法是把该TTL的值减1,然后再将IP包转发出去。如果在IP包到达目的IP之前,TTL减少为0,路由器将会丢弃收到的TTL=0的IP包并向IP包的发送者发送 ICMP time exceeded消息。防御方法使用HTTPS参考链接https://www.cnblogs.com/croso/p/5285177.htmlhttps://blog.csdn.net/qq_23936389/article/details/115301156RECRUITMENT招聘启事安恒雷神众测SRC运营(实习生)————————【职责描述】1.  负责SRC的微博、微信公众号等线上新媒体的运营工作,保持用户活跃度,提高站点访问量;2.  负责白帽子提交漏洞的漏洞审核、Rank评级、漏洞修复处理等相关沟通工作,促进审核人员与白帽子之间友好协作沟通;3.  参与策划、组织和落实针对白帽子的线下活动,如沙龙、发布会、技术交流论坛等;4.  积极参与雷神众测的品牌推广工作,协助技术人员输出优质的技术文章;5.  积极参与公司媒体、行业内相关媒体及其他市场资源的工作沟通工作。【任职要求】  1.  责任心强,性格活泼,具备良好的人际交往能力; 2.  对网络安全感兴趣,对行业有基本了解; 3.  良好的文案写作能力和活动组织协调能力。简历投递至 [email protected]设计师(实习生)————————【职位描述】负责设计公司日常宣传图片、软文等与设计相关工作,负责产品品牌设计。【职位要求】1、从事平面设计相关工作1年以上,熟悉印刷工艺;具有敏锐的观察力及审美能力,及优异的创意设计能力;有 VI 设计、广告设计、画册设计等专长;2、有良好的美术功底,审美能力和创意,色彩感强;3、精通photoshop/illustrator/coreldrew/等设计制作软件;4、有品牌传播、产品设计或新媒体视觉工作经历;【关于岗位的其他信息】企业名称:杭州安恒信息技术股份有限公司办公地点:杭州市滨江区安恒大厦19楼学历要求:本科及以上工作年限:1年及以上,条件优秀者可放宽简历投递至 [email protected]安全招聘————————公司:安恒信息岗位:Web安全 安全研究员部门:战略支援部薪资:13-30K工作年限:1年+工作地点:杭州(总部)、广州、成都、上海、北京工作环境:一座大厦,健身场所,医师,帅哥,美女,高级食堂…【岗位职责】1.定期面向部门、全公司技术分享;2.前沿攻防技术研究、跟踪国内外安全领域的安全动态、漏洞披露并落地沉淀;3.负责完成部门渗透测试、红蓝对抗业务;4.负责自动化平台建设5.负责针对常见WAF产品规则进行测试并落地bypass方案【岗位要求】1.至少1年安全领域工作经验;2.熟悉HTTP协议相关技术3.拥有大型产品、CMS、厂商漏洞挖掘案例;4.熟练掌握php、java、asp.net代码审计基础(一种或多种)5.精通Web Fuzz模糊测试漏洞挖掘技术6.精通OWASP TOP...
阅读全文
信息收集系列之子域名发现(一) 安全文章

信息收集系列之子域名发现(一)

01前言上篇回顾,主要讲述了企业根域名的收集方法,如ICP、公司股权、DNS解析、whois数据、ssl证书等。本篇文章主要讲讲子域名发现。02我的子域名发现流程03通过第三方数据源收集比较有名有VirusTotal、微步、SecurityTrails、Spyse、Censys等。参考:https://gist.github.com/sidxparab/22c54fd0b64492b6ae3224db8c70622804子域名爆破字典:https://raw.githubusercontent.com/joinsec/BadDNS/master/domaindict-170W.txt优质的DNS服务ip:https://raw.githubusercontent.com/bp0lr/dmut-resolvers/main/resolvers.txt爆破工具:https://github.com/d3mondev/puredns05排列组合在我们渗透过程,总是会发现一些子域名带有已下关键词。admin、alpha、api、backend、beta、dev、intra、prod、staging、staging、test、uat以sso.huoxian.cn举例子,可能会有如下命名方式的子域名sso-test.huoxian.cnsso.test.huoxian.cnssotest.huoxian.cntestsso.huoxian.cn我们可以通过dnsgen这款工具生成子域名列表,再进行解析,来扩大攻击面。echo 'sso.huoxian.cn' |  dnsgen -w alt.txt -06总结本文主要给子域名发现文章系列开个头,很简要的阐述了下子域名收集的部分方法。例如利用dns域传递、crossdomain.xml、通过burp流量、CSP头、子域名递归爆破等都未能覆盖到。07参考1. https://feei.cn/esd/2. https://xz.aliyun.com/t/39353. https://paper.seebug.org/10534. https://sec-in.com/article/6435. https://sec-in.com/article/7936. https://github.com/d3mondev/puredns7. https://github.com/shmilylty/OneForAll8. https://github.com/ProjectAnte/dnsgen9. https://github.com/projectdiscovery/subfinder10. https://github.com/bit4woo/domain_hunter11. https://www.freebuf.com/articles/191363.html12. https://sidxparab.gitbook.io/subdomain-enumeration-guide【周度激励】【相关精选文章】关于sql注入的一些技巧以及问题分享一次面试靶场笔记火线Zone是运营的封闭式社区,社区成员必须在提交有效漏洞才能申请免费加入,符合要求的白帽子可联系加入。我们不希望出现劣币驱逐良币的结果,我们不希望一个技术社区变成一个水区!欢迎具备分享精神的白帽子加入火线Zone,共建一个有技术氛围的优质社区! 本文始发于微信公众号(火线Zone):信息收集系列之子域名发现(一)
阅读全文
近 3 年来,国内都有哪些比较严重的黑客入侵事件? 安全新闻

近 3 年来,国内都有哪些比较严重的黑客入侵事件?

(注:原文首发在知乎圆桌“白帽黑客与安全”,另外微信不支持超链接,想查看其中案例细节的朋友可以点击阅读原文)就在上周,中国头号老大哥的头号网站也被人挑衅,老虎屁股被摸,想来就来,想走就走,当这是公共厕所了。0、github 遭受来自我国加农大炮发出的DDOS攻击(百度担当了本次黑锅侠)2015年3月份,攻击者劫持百度广告联盟的JS脚本并将其替换成恶意代码,最后利用访问中国网站的海外用户对GitHub发动大规模分布式拒绝服务攻击。1、大陆境内所有通用顶级域遭DNS劫持(被Big Brother恶意Hack)2014年1月21日,大陆境内所有通用顶级域(.com/.net/.org等)遭DNS劫持,所有域名均被指向一个位于美国的IP地址(65.49.2.178)。根据网络上资料显示,该IP地址属于美国Sophidea公司所有,而Sophidea公司的大客户之一就是著名的加密代理软件XX门的母公司。 2、Lizard Squad劫持联想域名,并泄露部分公司邮件 2014年2月25日,联想域名遭劫持,业内人士预测可能与联想近期收到的大量公开指责有关,该公司的电脑被捆绑了称为快鱼(Superfish)的加密广告程序,引起大量用户不满。在公众的压力下,联想最终决定删除软件,向受影响的用户道歉。 3、携程信息“安全门”事件敲响网络消费安全警钟 2014年3月22日,携程网被指出安全支付日志存在漏洞,导致大量用户银行卡信息泄露,电商如何对用户信息进行保护引发人们思考。 携程安全支付日志可遍历下载 导致大量用户银行卡信息泄露(包含持卡人姓名身份证、银行卡号、卡CVV码、6位卡Bin)4、温州地区有线电视大面积被黑,播放敏感反动内容 2014年8月1日,浙江省公安厅官方微博通报,温州有线电视网络系统市区部分用户的机顶盒遭黑客攻击,出现一些反动宣传内容,影响了群众正常收看电视,造成了不良影响。 5、江苏公安厅:海康威视监控设备有隐患 部分设备已经被境外IP地址控制 2015年2月28日,江苏省公安厅下达《关于立即对全省海康威视视频监控设备进行全面清查和安全加固通知》 6、Apache Struts2连续爆多个高危漏洞,影响国内数百万信息系统安全2013 年 7 月的 Struts2 漏洞实际带来多大影响? - Java7、OpenSSL “Heartbleed”漏洞 OpenSSL 的 Heartbleed 漏洞的影响到底有多大? - 信息安全8、Shellshock漏洞 Shellshock的破坏性有多大?有哪些潜在的攻击方式? - 互联网9、Google发现SSL 3.0漏洞,让黑客有可乘之机 2014年10月17日,一个存在于 SSL 3.0 协议中的新漏洞于今日被披露。该漏洞被命名为“贵宾犬”(降级传统加密填充提示),通过此漏洞,第三方可以拦截通过采用 SSL 3.0 的服务器传输的重要信息。 10、阿里巴巴宣称遭受互联网有史以来最大的DDOS攻击 阿里云的安全产品是如何抵御互联网史上最大一次 DDoS 攻击的? - 网络安全11、网易全线线上服务遭受大规模DDOS攻击 2015 年 5 月 11 日,网易骨干网宕机是怎么回事? - 计算机13、chinanews被黑涂改首页怎么看中新网网页被黑一事? - 新闻你不太清楚的用户数据泄露事件仅公安部一年查获被盗取各类公民个人信息就有近50亿条,而这可能只是泄露信息一小部分,2011年,互联网泄密事件引爆了整个信息安全界,导致传统的用户+密码认证的方式已无法满足现有安全需求。泄露数据包括:天涯:31,758,468条,CSDN:6,428,559条,微博:4,442,915条,人人网:4,445,047条,猫扑:2,644,726条,178:9,072,819条,嘟嘟牛:13,891,418条,7K7K:18,282,404条,小米828万,Adobe:1.5亿,Cupid Media:4200万,QQ数据库:大于6亿,福布斯:100万,索尼:1.016亿,机锋网:2000多万,接近10亿多条。 1、快递公司官网遭入侵 泄露1400万用户快递数据2014年8月12日,警方破获了一起信息泄露案件,犯罪嫌疑人通过快递公司官网漏洞,登录网站后台,然后再通过上传(后门)工具就能获取该网站数据库的访问权限,获取了1400万条用户信息,除了有快递编码外,还详细记录着收货和发货双方的姓名、电话号码、住址等个人隐私信息。 2、机锋网2700万用户数据泄露2015年1月5日上午,知名微博账号“互联网的那点事”发布消息称,机锋论坛2300万用户数据泄露,包含用户名、邮箱、加密密码在内的用户信息在网上疯传,提醒用户抓紧修改密码。 3、小米800万用户数据泄露 小米论坛被脱裤(数据与官方符合)可能影响小米移动云等敏感信息4、130万考研用户信息被泄露国内考研疑似130W报名信息泄漏事件(疑似泄漏到今年11月份,正在被黑产利用)5、智联招聘86万条求职简历数据遭泄露看我如何拿下智联招聘八十六万用户简历(包含姓名,地址,身份证,户口等等各种信息)6、12306网站超13万用户数据遭泄露大量12306用户数据在互联网疯传包括用户帐号、明文密码、身份证邮箱等(泄漏途径目前未知)7、汉庭2000万开房记录遭泄露由于安全漏洞问题,导致2000万条在2010年下半年至2013年上半年入住酒店的2000多万客户信息泄露。 开房记录系列住哪网任意用户开房记录查询如家开房记录随便查并且可以SQL注入sa权限锦江之星海量开房信息侧漏漏洞(疑似千万级的订单)HIMS型酒店管理系统任意订单遍历、修改、取消(涉及百余家酒店,N万开房记录危在旦夕)某大型酒店安全管理系统内网漫游之通杀高危ROOT权限SQL注射SHELL(涉及海量开房数据)速8酒店某接口未授权访问(卡号+实名+密码爆破)如家等大量酒店客户开房记录被第三方存储并因漏洞导致泄露桔子酒店主站存在高危安全漏洞(可影响大量用户与开房订单信息)汉庭酒店任意用户订单查询,任意用户密码修改(好多用户隐私信息)一个漏洞沦陷至少全国各地170家酒店及酒店集团(可查开房信息,国庆你还开房吗)通用型酒店系统存在高危越权和DBA权限SQL注入漏洞某地区旅馆信息管理系统后台存在弱口令(可查看该地区旅馆住客信息)格林豪泰酒店某接口可以未授权访问其他用户的开房数据某企业通用型漏洞影响大量酒店管理系统沦陷可导致几十万会员敏感信息泄露锦江之星旗下百时快捷酒店SQL注射(500万开房记录可查)99旅店连锁可遍历卡号泄漏用户信息及订单信息易佰连锁旅店漏洞(用户信息泄漏、订单信息泄漏)可查开房佳驿酒店存在SQL注射漏洞可查看开房记录与执行系统命令如家等大量酒店客户开房记录被第三方存储并因漏洞导致泄露7天连锁酒店可泄露用户隐私信息以下是近年来自乌云的严重漏洞案例,为互联网行业提供警示:天河一号超级计算机集群可被登陆控制(所有节点可下发任务执行命令,上百账号泄露)我是如何登录任意新浪微博用户的(王思聪微博演示)WIFI万能钥匙密码查询接口算法破解(可无限查询用户AP明文密码)百度统计代码缺陷导致所有使用百度统计的网站均存在DOM XSS(以乌云主站为例说明)一个可大规模悄无声息窃取淘宝/支付宝账号与密码的漏洞CRH系列动车车厢内视频控制系统通用漏洞(可控制整列动车内的电视播放任意内容)我是如何控制一座城市的交通视频监控系统的(第二弹)微信红包随便领(发家致富奔小康,日薪百万不是梦)淘宝认证缺陷可登录任意淘宝账号及支付宝(我的余额宝撒)光大证券交易系统资金账号可被穷举攻击腾讯QQ某控件设计缺陷导致可远程登录任意QQ账号(已证明QQ空间、相册、微博、邮箱可登陆)2015年网络安全问题必将上升到一个逐渐被全民关注的转折年。 本文始发于微信公众号(乌云漏洞报告平台):近 3 年来,国内都有哪些比较严重的黑客入侵事件?
阅读全文
【漏洞分析】Nginx DNS Resolver Off-by-One   堆写入漏洞 CVE-2021-23017 安全文章

【漏洞分析】Nginx DNS Resolver Off-by-One 堆写入漏洞 CVE-2021-23017

漏洞名称 : Nginx DNS Resolver Off-by-One  堆写入漏洞 CVE-2021-23017组件名称 : Nginx影响范围 : 0.6.18 ≤ Nginx ≤ 1.20.0漏洞类型 : 远程代码执行利用条件 : 1、用户认证:不需要用户认证2、前置条件:启用 DNS resolver 3、触发方式:远程综合评价 : <综合评定利用难度>:一般,无需授权即可远程代码执行。<综合评定威胁等级>:高危,能造成远程代码执行。 漏洞分析 1 组件介绍Nginx (engine x) 是款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。2 漏洞描述2021年5月28号,深信服安全团队监测到一则Nginx组件存在Off-by-One 堆写入漏洞的信息,漏洞编号:CVE-2021-23017,漏洞威胁等级:高危。该漏洞是由于Nginx在将未压缩的域名放入缓冲区时,并没有将到前面计算出的未压缩的DNS域名大小作为参数,攻击者可利用该漏洞在未授权的情况下,构造恶意数据执行如远程代码执行攻击,最终获取服务器最高权限。3 漏洞分析Nginx中通过ngx_resolver_copy()函数来验证和解压缩DNS响应中包含的每个DNS域名,接收网络数据包和一个指向被处理的域名指针,并在成功后返回指向新分配缓冲区的指针,该缓冲区包含未压缩的DNS名称。该函数大致可分为两步完成:1.计算未压缩的域名大小的长度并验证输入包的合法性,丢弃包含大于128个指针或包含超出输入缓冲区边界的域名。2.分配输出缓冲区,并将未压缩的域名复制到其中。查看nginx/1.18.0源码,可以发现每次处理URL的标签部分非0时,都会在这个标签后面添加一个.字符,而在最后的标签后面时不需要加.字符的,而该程序中加入了.字符,导致off-by-one漏洞,如果计算的大小恰好与堆块大小对齐,则超出范围的点字符将覆盖下一个堆块长度的元数据中的最低有效字节。这可能会直接导致下一个堆块的大小写入,但还会覆盖3个标志,从而导致 PREV_INUSE被清除并 IS_MMAPPED被设置。攻击向量分析:DNS响应可以通过多种方式触发漏洞。首先,Nginx必须发送了DNS请求,并且必须等待响应。然后,可以在DNS响应的多个部分放入payload:DNS Questions QNAME,DNS Answers NAME,DNS Answers RDATA for CNAME and SRV responses,通过在多处位置控制输入(QNAME,NAME,RDATA),可以在处理响应时多次触发漏洞函数,从而有效地执行多次内存读写操作。此外,当攻击者提供中毒的CNAME时,它将以递归方式解决,从而在执行过程中触发了额外的OOB写操作 ngx_resolve_name_locked() 调用ngx_strlow()(ngx_resolver.c:594)和其他OOB读取期间 ngx_resolver_dup()(ngx_resolver.c:790)和 ngx_crc32_short()(ngx_resolver.c:596)。用于“example.net”请求的DNS响应示例负载,其中包含被污染的CNAME:ngx_strlow源码如下,作用是将src前面长度为n的大写字母转换为小写字母并存入dst中#define ngx_tolower(c) (u_char) ((c >= 'A' && c <= 'Z') ? (c | 0x20) : c)#define ngx_toupper(c) (u_char) ((c >= 'a' && c <= 'z') ? (c & ~0x20) : c)void ngx_strlow(u_char *dst, u_char *src, size_t n);voidngx_strlow(u_char *dst, u_char *src, size_t n){ while (n) { *dst = ngx_tolower(*src); dst++; src++; n--; }4 漏洞复现搭建nginx组件nginx/1.18.0版本环境,复现该漏洞,效果如下: 影响范围 Nginx 可以在大多数 Unix、Linux 系统上编译运行,并有 Windows...
阅读全文
重载DNS缓存中毒攻击:侧通道革命 安全闲碎

重载DNS缓存中毒攻击:侧通道革命

原文标题:DNS Cache Poisoning Attack Reloaded- Revolutions with Side Channels原文作者:Keyu Man、Zhiyun Qian、Zhongjie Wang、Xiaofeng Zheng、Youjun Huang、Haixin Duan原文地址:https://www.cs.ucr.edu/~zhiyunq/pub/ccs20_dns_poisoning.pdf笔记作者:yplmyl3s0x00 摘要DNS缓存中毒攻击,实践中往往通过基于随机化的源端口机制来进行防御来缓解。本文中作者研究了UDP软件堆栈中存在的缺陷,这些缺陷将会导致DNS缓存中毒“死恢复燃”。作者的研究的攻击方法采用“分而治之”的方式,主要是先猜测源端口,而后猜测事务ID,并将以前需要发送2^32^个响应包和减少到只需要发送2^16^+2^16^个,并且攻击者可以通过增加攻击窗口来提供攻击成功率。该攻击会影响DNS基础设施中所有缓存层,受害者易受攻击的主要条件是操作系统及其网络配置允许ICMP错误回复。根据作者的实验,互联网上超过34%主流的开放解析器易受攻击(尤其是85%的主流DNS服务,包括谷歌的8.8.8.8)。此外,作者还在受控实验和生产DNS解析程序(有授权)中进行了验证,并得到了积极肯定的结果。本文主要包括9个部分:序言,介绍DNS缓存中毒攻击的相关概念,阐明了该研究做出的3个贡献。DNS缓存中毒攻击现状,包括当前的防御措施以及新的攻击面。攻击概述,提出一种针对DNS新的攻击方式,该攻击方法适用于现有DNS软件栈和所有DNS缓存层,并从威胁模型和攻击流程对该攻击方法进行了阐述。DNS源端口推测思路与过程,主要分析UDP源端口可扫描性分析、ICMP速率限制、面向公共的源端口扫描方法、私有的源端口扫描方法、DNS转发器和解析器的脆弱性。阐述如何扩展攻击窗口,提出2种新的策略,一是在转发器攻击中扩展攻击窗口,二是在解析器中扩展攻击窗口。真实攻击中需要注意的事项,主要包括3个方面,即,需要绕过缓存记录的TTL、同时处理多个权威名称服务器、同时处理多个权威名称服务器。端到端攻击,对真实环境中的攻击的进行评估分析,包括家庭中使用的转发器,以及具有区域列表配置和网络条件的生产解析器。分别设置实验条件,详细阐述了攻击过程,最后得到结果并进行分析。对攻击绑定与未绑定的设备的区别、其他操作系统上的UDP源端口推断、其他易受攻击的协议、配置响应速率限制(RRL)的最佳实践等4个方面进行了讨论,并提出了防御措施。介绍了DNS盲伪造攻击与缓存中毒、网络侧通道漏洞研究方面的相关工作。最后总结了本文的研究成果。0x01 序言域名系统(DNS)是互联网的重要组成部分,作用是将人们可读的网址转换为IP地址。如今,DNS承载了许多其他的安全关键应用程序,如反垃圾邮件防御,路由安全等。DNS在TLS信任方面也起着至关重要的作用,破坏DNS记录完整性将会带来灾难性的安全隐患,攻击者发布的虚假证书,将会对公钥加密技术造成影响。作者对当前DNS缓存中毒攻击的相关研究做了介绍,最后总结了本文的3个贡献:系统地分析了应用程序和操作系统层级行为之间的交互,从而发现了通用的UDP源端口去随机化策略,关键的一个是由发送ICMP错误消息的全局速率限制引入的信道漏洞。研究了源端口去随机化策略对各种攻击模型的适用性。并且开发了新的方法来显著扩展攻击窗口,其中一种方法利用了应用层速率限制特性。针对各种服务器软件、配置和网络状况进行了广泛评估,并得到积极结果。研究发现,在大多数情况下,攻击者只需要几分钟就可以成功地进行端到端中毒攻击。最后,讨论最有效和最简单的缓解措施。0x02 DNS缓存中毒攻击现状2008年发生的DNS缓存中毒攻击的经典案例中,攻击者将DNS解析器作为攻击目标,让一个非路径攻击者诱使易受攻击的DNS解析器向上游权威名称服务器发出查询。然后,攻击者尝试使用名称服务器的伪造IP注入恶意响应。如果恶意响应在任何合法响应之前到达,并且如果它与查询中的“机密”匹配,则解析程序将接受并缓存恶意结果。具体而言,攻击者需要猜测查询的正确源/目标IP、源/目标端口和事务ID(TxID)。事务ID为16位长。当源端口和目标端口(即53)都固定时,16位是唯一的随机性。因此,非路径攻击者可以简单地使用65536个恶意响应来暴力猜解所有可能的情况,更可以通过“生日攻击”等类似的方法来优化以致加速攻击。2.1最先进的防御措施从那次攻击后,许多用来消除DNS缓存中毒威胁的防御措施被广泛应用,他们使得攻击不再可行。下面描述应用最为广发的防御措施。信源端口的随机化,它将随机性从16位增加到32位。作为路径外攻击者必须同时猜测源端口和TxID。域名中字母大写的随机化,即0x20编码。服务器选择随机化,它的随机性取决于名称服务器的数量。DNSSEC,依赖于解析器和权威名称服务器的支持。2.2 DNS层次结构中的新攻击面现代DNS基础设施具有多层缓存,客户机应用程序经常(通过API调用 gethost-byname()函数)向本地操作系统存根解析器发起DNS查询—通常是一个单独的系统进程,它维护本地操作系统范围的DNS缓存。存根解析器不执行任何迭代查询,而是将请求转发到上一层递归解析器。DNS转发器通常存在于Wi-Fi路由器中,并且维护一个专用的DNS缓存。它是递归解析器,它完成了迭代查询权威名称服务器的真正工作。然后返回答案并缓存在每一层中。从技术上讲,所有缓存层都会受到DNS缓存中毒攻击。然而,大多数新提出的攻击都集中在解析器上,对存根解析器和转发器的研究非常有限。图1展示了具有多层缓存的DNS基础结构。0x03 攻击概述本文提出一种通用的、新颖的攻击方法,适用于所有现代的DNS软件栈,影响DNS缓存的所有层。其主要特点是破解了当前最常见、最有效的源端口随机化防御措施。威胁模型。此种攻击方法主要聚焦DNS转发器、DNS解析器以及能够触发转发器或解析程序请求的计算机。并且采用非路径(不能窃听转发器和解算器之间的通信)攻击和IP欺骗。攻击流程。无论是转发器还是解析器,此种攻击方法总是从触发其中一个发送DNS查询开始,主要包括2个关键步骤(如图2所示):推断源端口。为了克服源端口的随机性,我们在网络堆栈中利用一个新的通用侧通道来扫描和发现用于发起DNS查询的源端口,速度最多为每秒1000次猜测。扩展攻击窗口。通常一个未完成的查询将在几十或几百毫秒内收到来自上游服务器的回复。这是不够的,因为攻击需要时间来推断源端口和注入恶意DNS回复。我们发现了有效和新的策略(不同于转发器和解析器攻击,可以极大地将攻击窗口延长到至少几秒(甚至超过10秒),允许实际的缓存中毒机会。一旦知道了源端口号,攻击者就可以简单地截获大量伪造的DNS回复,这些回复会以很高的速度进行,因为大多数服务器都有足够的网络带宽。0x04 DNS查询源端口推测4.1 UDP源端口可扫描性分析UDP是一种与TCP协议有着本质却别的无状态协议。在UDP编程指南(rfc8085)中规定,“可以直接发送和接收UDP数据报,而不需要任何连接设置。使用套接字API,应用程序可以在单个UDP套接字上从多个IP源地址接收数据包。“此外,为了确保应用程序只从一个特定的源地址接收数据,这些应用程序必须在应用层执行相应的检查,或者明确请求操作系统过滤接收到的数据包。作者实验发现,在特定的远程IP上调用sendto()的客户机和在同一个套接字上调用recvfrom()的客户机也可以从“任何其他IP”接收数据包。作者在Windows、Linux和MacOS等操作系统上均验证了这种行为。当dns服务器发出查询时,它的源端口将对外开放,通过分析这种行为,攻击者可以通过简单的UDP端口扫描获得收获。攻击者可以扫描任何UDP数据包的端口范围,在命中正确的端口时不会触发任何事件(因为探测将被操作系统接受,但在应用程序层被丢弃),或者在收到CMP端口不可达数据包时丢弃。UDP编程指南(RFC 8085)指出,“许多操作系统也允许连接UDP套接字,即将UDP套接字绑定到特定的一对地址和端口。”,现代的socket api允许在UDP socket上使用connect(),但“这只是一个本地操作,用于简化本地发送/接收函数并过滤流量”。因此,当从源端口向特定的目标IP地址和端口发出DNS查询时,操作系统将只接受来自同一远程IP和端口的传入数据包。具体来说,当在实际网络堆栈上测试行为时,我们发现它们会拒绝IP或端口错误的数据包,并用ICMP端口不可达的消息(就好像该数据包是端口扫描尝试)进行响应。这有效地防止了直接扫描DNS查询的源端口。总之,源端口的可扫描性取决于DNS软件的实现,即是否在UDP套接字上发出了一个connect()API 调用。作者研究发现在三个最流行的DNS转发器和解析程序软件BIND、Unbound和dnsmasq中,只有BIND使用connect()。然而,我们开发了不同的扫描方法,并且每种方法都适用。4.2 ICMP速率限制有效扫描UDP源端口的一个主要障碍是终端主机上传出ICMP错误消息的常见速率限制。即使在源端口面向公共并且可以由任何IP地址直接扫描的简单情况下,攻击者的扫描速度受到每秒允许的ICMP数据包数(表示源端口未被使用的信号)的限制。以往,ICMP 限制策略将用来限制路由器上的资源消耗,如今,速率限制机制已被各大运营商普遍实施。作者重点介绍了Linux ICMP速率限制行为。Linux系统中,对于每秒可以发送多少个ICMP错误数据包,既有单个IP的速率限制,也有全局速率限制。其中,单个IP速率限制是在Linux的早期版本2.4.10中引入的,全局速率限制是在3.18中引入的,为了改进单个IP速率限制。默认情况下,单个IP速率限制为每秒一个(累积最大突发数为6),这将严重限制扫描速度;全局速率限制实际上是1000(周期性最大允许突发为50)。两者都是以令牌桶的方式实现的,单个IP令牌以每秒一个的速率恢复,而全局令牌则以每毫秒一个的“名义”速率恢复(但实际的令牌增量只发生在自上次增量以来至少20毫秒之后),可用令牌的数量始终上限为50。作者还测试了WindowsServer2019(版本1809)、MacOS10.15和FreeBSD12.1.0,它们都有全局ICMP速率限制,分别是200、250和200。而且它们都没有每IP速率限制。4.3 面向公众的源端口扫描方法在这种情况下,即使源端口可以被任何攻击者IP直接探测,也必须通过单个IP速率限制(主要在Linux中)来实现加速扫描。作者开发了三种不同的探测方法来克服ICMP速率限制。如果攻击者拥有多个IP地址,或者多台机器,或者一台具有IPv6地址的机器,可以简单得绕过单个IP限制。作者在支持IPv6的住宅网络中的一台机器上进行了测试,并在/64中选择了几个ips来成功地发送和接收流量。如果攻击者只拥有一个IPv4地址,仍然可以使用DHCP请求多个地址。作者验证了在一个家庭网络中可以获得多个私有IPv4地址,并且在一个教育网络中进行了测试,同样一台物理机器也可以通过这种方法获得多个公共IPv4地址。如果攻击者拥有单个IPv4地址,且以上方法均失效,则最后一种方法是利用IP欺骗绕过单个IP速率限制,并将全局速率限制作为侧通道来推断欺骗的探测是否命中了正确的源端口。如图3所示,在Linux中观察到50个ICMP数据包的最大突发流量,攻击者首先发送50个伪造的UDP探测数据包,每个数据包具有不同的源IP。如果受害服务器在这50个端口中没有打开任何源端口,则会触发50个ICMP端口不可达消息(但攻击者无法直接观察到这些消息)。如果受害者服务器有𝑛个开放端口,则只有 50-n 个ICMP数据包将被触发(如𝑛UDP探测数据包将在应用层被自动丢弃)。攻击者使用其真实IP地址发送验证数据包,要么没有得到响应(如果全局速率限制耗尽),要么得到一个ICMP应答。如果在第一批探测中找不到开放端口,攻击者将等待速率限制计数器恢复至少50毫秒,然后开始下一轮探测。扫描速度将被限制在每秒1000次。因此,枚举所有的65536个端口需要60多秒。尽管如此,攻击者可以通过简单的重复试验,并不断提升试验成功的可能性。时间因素。这种攻击方法需要很强的时间要求,攻击者需要确保的是必须在20毫秒的时间窗口内发送50个伪造的探测包和验证包.再者,攻击者必须等待足够长的时间才能恢复最多50个令牌。如果网络状况不理想,则需要等待50毫秒以上。折半查找,缩小到精确端口。假设在一个特定的探测轮中,50个端口中只有一个是开放的,可以使用简单的折半查找来快速缩小到确切的端口。在每一轮二分搜索中,我们总是先探测范围的左半部分。如果匹配,即50个欺骗探测包触发49个应答,攻击者可以观察到一个对其验证包的应答,然后继续搜索其左半部分。否则,我们假设端口位于右半部分,并在那里进行二分搜索。注意,需要发送“填充数据包”,以确保当50次猜测没有一次命中正确的端口时,全局速率限制被耗尽。填充报文是指向已知关闭的UDP端口的欺骗报文,保证会触发ICMP应答。处理噪声。DNS服务器通常同时为多个客户端提供服务,创建多个未完成的DNS查询和源端口。因此,源端口扫描可能会发现许多相关端口。然而,大多数这样的查询都是暂时的,端口扫描过程可以快速发现一个在折半搜索过程中消失的开放端口并回归到线性搜索。相反,我们假设攻击者触发的DNSqueries将持续更长的时间,例如,以秒为单位而不是毫秒。另一个噪声源来自数据包丢失和重新排序。作者在探测包和验证包之间插入一个延迟,根据经验,该延迟被确定为大于抖动的两倍。当出现误报时,它们会在折半搜索过程中自动处理–它将检测不到打开的实际端口并返回线性搜索。即使可以处理,过多的误报也会很快耗尽单个IP速率限制。此外,DNS服务器本身可能会受到随机UDP端口探测的影响,因此会生成ICMP不可达消息,这将使我们错误地认为没有开放端口,但事实上有,因为验证数据包不会触发任何ICMP不可达的回复,因为噪声耗尽了速率限制。幸运的是,并不是所有的ICMP回复都受速率限制。例如,最常见的触发ICMP echo回复不受限制。4.4 私有源端口扫描如前文所述,如果在UDP套接字上执行connect(),则端口实际上成为远程对等方的“私有”端口,从而使以前的方法无效。作者的思路是使用上游DNS服务器的源IP发送伪造的UDP数据包。在DNS解析器成为受害者的例子中,可以发送UDP数据包,用权威名称服务器的伪造IP探测不同的源端口。如果命中了正确的源端口,则不会生成ICMP应答。否则,就会有。然后,可以使用与边通道相同的全局ICMP速率限制来推断是否触发了这样的ICMP消息。乍一看,由于ICMP消息的单个IP速率限制,此方法可以以每秒一个端口的低速工作。令人惊讶的是,在分析了ICMP 速率限制实现的源代码之后,作者发现全局速率限制是在单个IP速率限制之前检查的,即使单个限制可能最终确定不应发送ICMP应答,数据包仍要接受全局速率限制检查,并且一个令牌将被扣除。Linux开发人员故意做了这样的设计,以避免调用昂贵的单各个IP速率限制检查,这涉及到查找单个IP数据结构的搜索过程。这实际上意味着,基于侧通道的扫描,可以忽略单个IP速率限制,因为它只确定是否生成了最终的ICMP应答,而与全局速率限制计数器减量无关。因此,可以继续使用与以前效率大致相同的扫描方法,达到每秒1000个端口。图4展示了稍加修改的扫描工作流程。由于单个IP速率限制,只要至少扫描了一个非活动端口,受害服务器将始终只生成一个ICMP应答(在稳定状态下),图的左右两侧都是这种情况𝑛专用开放端口(到上游服务器),全局速率限制计数器仍递减到𝑛因为受害者试图制造50−𝑛ICMP回复。相反,当所有50个探测器都连接到非活动端口(图的左侧)时,计数器递减为0。其余过程与之前相同,可以启动二进制搜索以缩小到特定端口。对面向公众的源端口扫描的影响。基于这些知识,可以这样修改4.3节中的方法3:不需要在每轮探测中使用50个不同的IP,而只需要使用一个欺骗IP(或攻击者拥有的第二个IP),而不需要使用任何不同的IP(有时可能是一个障碍)。噪音处理。与面向公共的源端口上的扫描相比,此扫描中的噪声本质上更小。这是因为每个源端口现在实际上只对一个远程IP“打开”,而该IP最初是在connect()中指定的。因此,假设受害者是解析程序,则其大多数查询(噪音)将被指定到与特定攻击目标不同的名称服务器。其他噪声条件,如数据包丢失和重新排序仍然适用。类似地,噪声处理技术也适用(例如,使用多个IP来减轻每IP ICMP速率限制)。4.5易受攻击的DNS转发器和解析程序如果转发器或解析器的DNS查询UDP 源端口容易被推测,或者支持全局ICMP速率限制,或者使用公开端口而不适用connect(),则认为该转发器或解析程序易受攻击。易受攻击的转发器。作则研究了六个家庭路由器设备,所有这些设备在默认情况下都充当支持DNS缓存的转发器。结果如表1所示。易受攻击的解析程序。我们研究了14个流行DNS应用程序,结果表明,其中12个是非常严重的易受攻击的。试验中发现,由于在多个提供者中遇到了防火墙策略,为了在某些服务器上触发ICMP响应,探测包的源端口必须设置为53。如表2所示。作者注意到了任意播送的前端IP后面的后端服务器IP的数量(例如,8.8.8.8)。这些后端IP对应于可以扫描端口的可访问服务器。多个这样的IP的存在增加了攻击的难度,因为需要决定扫描哪些IP。为了发现后端IP,只需从同一台机器向前端发送100个查询,并在拥有的权威名称服务器上记录观察到的IP。对于只遇到几个IP的情况,可以简单地同时扫描所有IP。0x05 扩展攻击窗口攻击窗口越长,攻击者可以扫描的端口越多,注入恶意记录的时间也越长。因此,防御目标是“禁用”上游服务器,并防止他们能够响应攻击者触发的DNS查询。根据攻击目标(即转发器或解析器),作者提出了两种新的策略。5.1 在转发器攻击中扩展窗口攻击者首先发送自己域的地址到 转发器,它最终将触发上游解析器来查询由攻击者控制的权威名称服务器。名称服务器被有意配置为无响应,以便转发器在端口开放的源端口时等待尽可能长的时间(因为解析器也已停止)。根据RFC 8499,递归解析器的作用是处理名称的完整解析,并向其客户机提供“最终答案”。这包括递归地处理别名,并汇编最终答案,包括设计的任何别名重定向。更重要的是,解析器需要执行完整性检查,而转发器则不是。这意味着转发器信任上游解析器及其响应。这不是安全缺陷;相反,它是一种设计选择,以防止转发器重复解析器的工作。转发器将接受恶意响应(可能由来自LAN或外部的攻击者注入),并缓存攻击者和受害者的域记录。这种策略非常有效,因为可以在转发器上施加最大的等待时间(即,创建最大可能的攻击窗口)。具体来说,大多数转发器有一个非常宽松的超时时间(有时接近一分钟,例如在dns masq中)。为了防止冲突解决程序过早生成此类消息,作者还采用了一种技术,这种技术有时可以使冲突解决程序保持更长的工作时间。诀窍是让攻击者拥有的权威名称服务器以缓慢的速度响应一些CNAME记录,从而产生一种它正在取得进展的假象。在某些情况下(例如CloudFlare),这会延迟解析器的响应超过一分钟。5.2 解析攻击中的窗口扩展作者提出在权威名称服务器中利用速率限制的安全特性,作为在解析器攻击中使名称服务器禁用和扩展窗口的一种方法。现代DNS名称服务器软件(如BIND、NSD、PowerDNS)都支持一种称为响应速率限制(RRL)的公共安全功能,这是对DNS放大攻击的一种攻击,在这种攻击中,大量恶意DNS查询被发送到提供受害者IP地址的权威名称服务器。为了限制DNS应答数据包的数量,RRL功能允许按IP、按前缀甚至全局限制触发的响应。具体来说,如果达到限制,则响应要么被截断,要么被丢弃。如果攻击者能够以高于配置限制的速率(使用目标解析程序的IP)注入伪造的DNS查询,则可以恶意利用此功能使域名服务器禁用。为了了解此种策略的可能性,作者进行了一个实验来测量Alexa网站上前10k名的域名服务器的响应率。测量方法。为了触发RRL,每秒发送1K个查询,持续15秒,然后再向每个域名服务器IP发送大约4kpps的测试,持续15秒;两个测试之间有两秒的间隔,以避免干扰。如果给定域有多个名称服务器,选择第一个。在这两种情况下,查询都是均匀分布的(而不是以突发方式发送),都试图询问WWW子域的记录。理由是1kpps和4kpps表示足够低的吞吐量,分别约为0.6Mbps和2.5Mbps。伦理考虑。作者有意识地采取了一些措施来限制对这些服务器操作的影响。首先,在查询中搜索一个记录,通常会导致较小的响应,以节省目标网络的资源。第二,查询中的域名总是相同的,这使得服务器上的处理开销最小(结果很可能缓存在内存中,很容易获取)。第三,选择发送间隔均匀的查询(而不是突发),以避免给服务器带来压力。最后,在用于进行探测的IP地址上设置了一个web服务器,为带有选择退出指令的网页提供服务。结果分析。作者按照4kpps 进行测试,并按降序对丢失率进行排序,结果如图6所示。总体而言,大约有25%的域的名称服务器丢失率高于1%。为了分析这些域中有多少部分是易受攻击的(可以成功禁用),如果一个域名的名称服务器有66.7%或更高的诱导丢失率,则它是易受攻击的。此外,剩余的损失率从1kpps增加到4kpps的情况中,大约有5000个样本的差异为2%或更高。作者认为,随着探测率的增加,大多数情况会进一步增加,因此也可能变得脆弱。因此,在我们认为有漏洞的10万(18%)样本中,总共有18110例(13110和5000)。最后,在75%的1kpps和4kpps测试都没有损失的情况下,可能有更多的易受攻击的情况,由于相对较低的探测速度,根本无法发现。然而,出于道德考虑,没有以更高的速度进行探索。为了深入了解这些情况,作者设法从合作者那里获得权限,以测试为非营利网站配置的授权名称服务器。以更高的速率探测服务器(深夜以避免中断)。最初以4pps的速率探测时,未观察到任何丢失。当速度增加到25kpps时,开始出现丢失。当速度提高到50kpps时,丢失率将达到75%。0x06 实际攻击注意事项绕过缓存记录的TTL。如果攻击者试图毒害良性域,可以 直接触发解析器执行攻击者域名查询,它可能会缓存不需要的合法记录,这将强制攻击程序在开始下一次攻击尝试之前等待缓存超时。超时和重传查询。当在转发器或解析程序上触发DNS查询,并且没有从其上游接收到合法的响应时,它们不会永远等待。它们中的大多数都有一个超时时间来决定何时关闭当前套接字(以及相应的源端口)并重新传输。这意味着其中一些源端口可能是短暂的,很难捕获。处理多个权威名称服务器。实践中许多域名都配置了多个权威名称服务器IP,以实现冗余和安全性。一些人认为这是针对解析程序的DNS缓存中毒攻击(称为“IP随机化”)的一种特殊防御措施,因为它增加了DNS查询的随机性。有两种方法可以解决这个问题。首先,一般的策略是同时使所有权威名称服务器禁用,因为它们平均很少存在。这将有助于在解析程序在连接所有名称服务器时遇到重复故障后,RTO以指数级增长。第二,如果一个解析器被解除绑定,它有一个独特的行为,它将停止联系一个名称服务器(将服务器列入黑名单),并将“永久”(即分钟)切换到其他可用的名称服务器,如果多次未能收到最初联系的服务器的消息,因此利用这种行为来执行他们称之为“名称服务器固定”的操作。在作者的实验中需要允许周期性的成功响应(通过暂停禁用过程)来避免姓服务器也被阻塞。处理多个DNS解析程序后端服务器。如在4.5节介绍,许多公共DNS解析程序都有多个后端服务器(具有不同的IP)来执行实际的查询。作者发现后端服务器的选择通常严重偏向于少数(即使确实看到一些提供商总共有100多个),可能是根据位置和性能度量来确定的。这使得我们可以同时只关注一个少量IP集,这很容易实现,因为每个ip只需要1kpps的扫描流量。0x07 端到端攻击在本节中,作者通过评估现实环境中的攻击,包括家庭中使用的转发器,以及具有区域列表配置和网络条件的生产解析器。7.1 攻击转发器(家庭路由器)实验设置。作者选择小米R3(aWi-Fi家庭路由器)作为典型案例来发起端到端攻击。在实际家庭中,它是唯一的网关,10到15台设备始终通过无线路由器连接到互联网。此外,小米R3的上游DNS服务器设置为CloudFlare DNS(1.1.1.1)。它的DHCP服务器默认配置为在a/24网络中提供253个IPv4地址。最后,攻击机器是一个Raspberry Pi,它通过路由器无线连接。由于小米R3没有部署全局ICMP速率限制,其转发器软件也没有在UDP套接字上调用Connect(),使用4.3节中的策略2(通过DHCP获得多个IP),为了扩展攻击窗口,使用5.1节中的策略1。攻击过程。攻击分为两个阶段,第一阶段,攻击者尝试使用DHCP获取240个IP地址。第二阶段,重复以下操作:攻击者向转发器发出查询,询问是否存在任意子域,例如nonce.attacker.com。如果收到serv FAIL/nxdomain,或者如果攻击者等待时间超过1分钟,表示出现问题,将通过发出另一个查询来重复攻击过程。否则,如果接收到错误响应,则表示成功注入了伪造的响应。在第二阶段,攻击者使用获取的IP地址来打开路由器上的端口。在可用的IP之间轮换,并确保永远不会超过单个IP速率限制(在稳定状态下为1pps)。在发现一个端口打开后,通过反复探测同一个端口来确认它至少保持打开一秒钟。如果有,就开始注入恶意反应。实验重复20次,并统计成功率,平均成功时间和其他统计数据。结果分析。在20个实验中成功率为100%(如果攻击在30分钟内完成,作者认为是成功的)。平均成功时间为271s,第一阶段为103s,第一阶段为168s。第二阶段的标准偏差为109s,最大为739s,最小为83s,攻击平均需要扫描36325个端口才能成功;平均端口扫描速度为210pps,攻击产生了78MB的流量。7.2 攻击生产解析程序作者通过授权测试了针对由合作者管理的生产解析器的攻击。实验设置。该解析器每天处理大约7000万个查询,其中有数千个来自多个机构的真实用户,并被配置为一个开放解析器。配置两个后端服务器,都出现在UDP套接字上的connect()。在相邻的网络中得到了一个攻击机器,距离解析器4跳远,解析器有1 Gbps以太网,可以执行IP欺骗。同时,设置一个测试域,并将其托管在由作者控制的认证域名服务器上,将BIND软件的响应速率限制配置为10pps,允许五分之一的回答-有效损失率为80%。进行了20轮实验,一轮在白天,另一轮在当地时间午夜之后(如表3所示)。此外,为了了解响应速率限制对权威名称服务器的影响,作者改变了禁用级别,允许丢失率为75%、66.7%到50%——丢失率越低,攻击越困难。作者通过在机器上施加额外的延迟、抖动和损耗来模拟更真实的网络条件。表3中给出了准确的数字,其中基线表示未修改的网络条件,其余表示模拟条件。为了应对由于模拟网络环境而增加的误报,作者在交替实验中使用了两个IP发起攻击,最后,作者为了了解参数“名称服务器禁用级别”对攻击可行性的影响,并将进行一个控制实验,改变“禁用级别”,其中所有其他参数与基线中的参数相同。攻击过程。这个过程类似从攻击者生成询问fornonce.attacker.com的查询开始。因为解析器有两个后端服务器ip地址,所以同时在两个ip上启动端口扫描。同时,以20pps的速率对所有具有权威性的名称服务器进行禁用查询,这样解析器将经历80%的恒定丢失率。实验分别重复20次和5次。结果分析。如表3所示,我们在第一个实验中取得了100%成功率,平均成功时间为504s。标准差是399秒,最大值是1404秒,最小值是13秒(这完全是运气使然)。平均而言,只生成69MB的攻击流量,这与转发器攻击中的情况类似,尽管解析器攻击需要更长的时间才能成功。这是因为转发器攻击更可能进入TxID 暴力模式,每次产生大约10MB的流量。转发器攻击中使用的没有二进制搜索阶段,开放端口在进入TxID 暴力攻击阶段之前简单地确认两次,其中解析器攻击中使用的二进制搜索阶段重复检查开放端口的存在。通过日志分析发现,实验一种有一个近乎完美的网络条件,发送的数据包也比转发器攻击多。这是因为冲突解决程序重试(即RTO)或攻击者发起的新查询(如果冲突解决程序恰好收到合法响应)导致源端口频繁更改,从而导致许多小而支离破碎的攻击窗口。如表3所示,基本(M)实验的设置与基本(D)相同,只是在午夜后进行,背景流量和噪声通常较低。得到同样的100%成功率和平均成功时间从504秒减少到410秒。对于表3所示的禁用级实验,除了50%的禁用级(即丢失率)外,其他所有禁用级都可以达到近乎完美的成功率,并且通常可以在一小时内完成(注意,对于66.7%的禁用级,成功的阈值为3小时)。在50%的禁用水平下,20例中只有9例成功。此外,平均耗时为8985秒或2.5小时。最后,对于交替实验,也取得了完美的100%成功率。具体来说,成功时间分别为2005s、538s、792s、1287s和29s。平均攻击时间为930秒,产生了131MB的流量。作者还发现,丢失率和抖动的增加会导致更多的误报,错误地认为发现了一个端口(因为验证数据包成功地请求了一个ICMP)。这通常是由探测包丢失引起的,这会产生两个问题:(1)在折半搜索阶段,浪费大量时间过滤这些误报,降低了有效扫描速度(2) 尽管使用了两个IP,但由于单个IP ICMP令牌的频繁释放,扫描仍然可以停止。0x08 讨论攻击绑定与未绑定的设备的区别。绑定攻击比未绑定攻击要困难得多,因为大多数碎片攻击窗口通常较小,因为它更不愿意将RTO增加一倍,并且具有更严格的硬停止条件. 为了了解攻击绑定解析器是否可行,作者构造了一个极端的实验,使用4个域名服务器,并在绑定解析器上设置了一个默认的等待时间为10秒的硬停止条件,导致解析器几乎总是在一个0.8秒的小攻击窗口中死机,由于查询4个名称服务器3轮已经需要9.6秒(在RTO回退开始之前),因此该实验是在SELINE的类似网络环境中进行的。作者做了两次实验,两次都成功了(一次0.54小时,另一次1.25小时)。作者发现,只扫描一个端口也能在0.8秒内注入恶意内容。一次测试显示端口扫描耗时600毫秒,恶意内容注入耗时200毫秒。其他操作系统上的UDP源端口推断。除了Linux之外,作者还验证了Windows、FreeBSD、MacOS等主要操作系统,尽管它们全局速率限制较低,同样易受攻击。没有一个操作系统能够识别到全局速率限制的侧信道。其他易受攻击的协议。任何基于UDP的协议都会受到源端口推断的影响。如quic、HTTP/3、VoIP、视频流和对延迟敏感的在线游戏也可能使用UDP,这会受到端口推断,甚至会受到非路径数据包注入攻击。配置响应速率限制(RRL)的最佳实践。尽管对权威名称服务器的响应速率限制是防止DNS反射/放大攻击的一个重要措施,但如果不小心,它会允许在DNS缓存中毒攻击中扩展攻击窗口。8.1防御措施提出的攻击基本上是一种非路径攻击,因此可以通过额外的随机性和密码学解决方案来缓解。除了DNSSEC和0x20编码之外,还有一个被称为DNS cookie的合并功能,该功能在2016年RFC7873中标准化。在较高级别上,它要求客户端和服务器交换一些非路径攻击者未知的额外秘密;因此,它有可能击败大多数偏离路径的攻击。作者提出的攻击依赖于两个基本条件:(1)推断DNS查询的源端口(2) 扩展攻击窗口。作者讨论了如何解决这两个问题:对于问题(1),最简单的缓解措施是完全不允许传出ICMP回复,代价可能是丢失一些网络故障排除和诊断功能。否则,需要解决全局速率限制问题。作者建议一个随机化的ICMP 全局速率限制,包括可能随机化的最大允许突发(当前50个)、每次恢复的最小令牌数(当前20个)、恢复令牌的最小空闲时间(当前20ms)和每个时间单位恢复的令牌数(当前每毫秒1个)。当侧通道被缓解时,作者也推荐解析器在其udp socket上使用connect(),这样它们的源端口就不会是面向公众的,并且可以直接扫描。对于问题(2),作者讨论了使用RRL来防止攻击者轻易禁用权威名称服务器的最佳实践。其他简单的缓解策略包括:(1)设置DNSq查询超时,缺点是可能会引入更多的重传查询,总体性能会更差。(2) 使用任播方式。0x09 相关工作DNS盲伪造攻击与缓存中毒。在2008年提出的主要DNS缓存中毒攻击
阅读全文
Nginx DNS解析漏洞 (CVE-2021-23017) 预警 安全漏洞

Nginx DNS解析漏洞 (CVE-2021-23017) 预警

一、基本情况近日,Nginx发布安全通告,修复了Nginx解析器中一处DNS解析漏洞,漏洞CVE编号:CVE-2021-23017。攻击者可利用该漏洞进行拒绝服务攻击,甚至远程代码执行。目前漏洞细节已被披露,建议受影响用户及时升级新版本或更新漏洞补丁进行防护,做好资产自查以及预防工作,以免遭受黑客攻击。二、漏洞描述Nginx是美国Nginx公司的一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。该漏洞存在于Nginx的DNS解析模块ngx_resolver_copy(),是由于Nginx中缺乏DNS欺骗缓解措施,并且在检查DNS事务ID之前调用了易受攻击的功能。因此攻击者能够伪造来自DNS服务器的UDP数据包,构造特制的DNS响应导致1字节内存覆盖,从而造成拒绝服务或远程代码执行。三、影响范围Nginx 0.6.18 – 1.20.0四、安全建议1.建议将Nginx升级至1.21.0或1.20.1版本。2.可参考官方漏洞补丁,具体操作请参考链接:http://nginx.org/download/patch.2021.resolver.txt五、参考链接http://mailman.nginx.org/pipermail/nginx-announce/2021/000300.htmlhttps://www.nginx.com/blog/updating-nginx-dns-resolver-vulnerability-cve-2021-23017/https://www.freebuf.com/vuls/274503.html支持单位:中国信息通信研究院文章来源:网络安全威胁和漏洞信息共享平台点击下方卡片关注我们,带你一起读懂网络安全 ↓ 本文始发于微信公众号(互联网安全内参):Nginx DNS解析漏洞 (CVE-2021-23017) 预警
阅读全文
SecWiki周刊(第395期) 安全新闻

SecWiki周刊(第395期)

本期关键字:DNS投毒攻击、固件Fuzz、漏洞知识图谱、CCS 2021、渗透测试、固件仿真、黑灰产研究、内网沦陷、供应链攻击全景、软件成分分析、字节码逆向、DNS隧道检测、语义相似性等。2021/09/20-2021/09/26 安全技术 针对互联网资源供应商们的DNS投毒攻击研究 https://mp.weixin.qq.com/s/rckBxtxQiVCXf7q3zut6SA 浅谈固件Fuzz https://mp.weixin.qq.com/s/IL-wIM8wePZL07l9YJnX_Q 漏洞知识图谱构建技术研究 https://mp.weixin.qq.com/s/Zfwxcs1oaCqwno6lcIOMLQ SecWiki周刊(第394期) https://www.sec-wiki.com/weekly/394 CCS 2021 论文录用列表 https://mp.weixin.qq.com/s/ENzG3CKSDMR-0EpCTuVq0w HackReport: 渗透测试报告/资料文档/渗透经验文档/安全书籍 https://github.com/awake1t/HackReport 物联网设备的几种固件仿真方式 https://mp.weixin.qq.com/s/S2kRnUYKi1juyYJC-wtX-A 基于微信小程序生态体系的黑灰产研究报告 https://www.anquanke.com/post/id/252904 WebVPN弱口令引发的内网沦陷 https://mp.weixin.qq.com/s/9GT8QM9FQBVCHrEjwxyTmA 欧盟网络安全局供应链攻击威胁全景图(上) https://mp.weixin.qq.com/s/5dGxqeckzSIsr3TDaqwxNw 软件成分分析工具评估开放指南 https://mp.weixin.qq.com/s/_OwlypeLFlZOsPMDsBVtFQ CNCERT:医疗器械行业网络安全分析报告 https://www.secrss.com/articles/34567 mruby字节码逆向入门 https://www.anquanke.com/post/id/253572 在野欺诈策略剖析 https://mp.weixin.qq.com/s/9BNn9bWE10rEQHbT9toA8w 使用机器学习和缓存未命中属性的DNS隧道检测 https://mp.weixin.qq.com/s/J6dZBySs8eC2N9y16qwtxQ 欧盟网络安全局供应链攻击威胁全景图(下) https://mp.weixin.qq.com/s/LI_aErTZNl8zcOuextiSuw Sodinokibi勒索病毒分析 https://mp.weixin.qq.com/s/PiGU1cck3VuQhyUs06Locw GDPR和云隐私政策的语义相似性 https://mp.weixin.qq.com/s/NojVXifceVuHfhgVvqtHoQ -----微信ID:SecWiki-----SecWiki,9年来一直专注安全技术资讯分析!
阅读全文
Dns附加后缀导致的问题 安全博客

Dns附加后缀导致的问题

0x01 关于内网短域名访问很多公司会配置内网短域名访问内部网站,如访问bbs实际上跳转到bbs.baiducorp.com 这是如何实现的呢? 实现原理: 附加DNS后缀 附加主要的和连接待定的DNS后缀 - > 附加主dns后缀 附加这些DNS后缀 这样访问短域名就会自动补齐DNS后缀,实现内网短域名访问 0x02 遇到的问题无法使用dnslookup 去获取域名信息,想获取域名的NS信息返回的却是不相关的域名SOA记录 抓数据包分析发现自动在请求的域名后面加上 baid.com.testcrop.com 查看网络连接 高级TCP/IP设置里面附加DNS后缀设置,发现testcrop.com 为我本地附加的DNS后缀,所以就产生这样的问题 0x0x03 解决办法 nslookup 查看域名信息的时候在域名后面加上 “.“,如 baidu.com.即可获取正确dns查询 python 中可用如下两种方法解决 powershell Resolve-DnsName 命令不会自动附加DNS后缀 Resolve-DnsName -Name ctrip.com -Server 119.29.29.29 -Type NS Source:wolvez.club | Author:wolvez相关推荐: Github Action 实现自动升级 Bilibili Lv6前言不知不觉已经是在B 站的第1003天了: B 站进入创作中心右上角可以看到自己账号多久了哦 ~ 再看看我的等级: 诶呦好惭愧 我怎么还没有成为6级大佬 🐶 恰巧今天偶然间翻到了这个: 简介: 这是一个利用 Linux Crontab , GitHub Ac…
阅读全文