国内大量家用路由器惨遭DNS劫持,你中招了吗?

近期,D妹收到不少用户反馈,在访问网站或APP时都遭遇了访问失败的问题。经深入排查,我们监测到大量家用路由器的DNS解析配置被篡改,从而影响到了正常的网站和APP访问。

该情况于2024年5月开始出现,于8月5日集中爆发达到峰值,截止8月7日,经过测试确认,导致本次故障大规模爆发的域名在异常 DNS 服务器上已经恢复,但受 TTL 及客户端本地缓存的影响,客户端的恢复时间会有一定的滞后性。

1cbed13482ddf3aa92ea946187a63ddc.png

虽然本次较大面积的持续故障目前看已经收敛,但被篡改的路由器DNS配置并没有修复,该隐患依然持续存在。

鉴于DNS劫持的复杂性,D妹在这里提醒一下大家,类似安全事件未来可能仍存在再次发生的风险。

情况分析

这种情况在网络安全中并不少见,是典型的DNS劫持攻击事件。

攻击者通过非法手段修改用户的DNS服务器设置,使其指向一个恶意的DNS服务器。攻击者通过扫描互联网上暴露的路由器IP地址,利用已知的漏洞或通过密码爆破等手段,获取路由器的控制权限。

一旦控制了路由器,攻击者便能够修改其DNS设置,将用户访问的域名解析指向错误的IP地址。当用户访问网站时,恶意DNS服务器会返回错误的IP地址,将用户引导至攻击者指定的网站。

c354315504be947a0ccddc639de6e8c1.png

正常情况下,用户访问网站或APP时,会向DNS服务器发送请求,解析网站域名对应的IP地址。DNS服务器会返回正确的IP地址,用户的设备与目标服务器建立连接并访问网站。

但在DNS劫持攻击中,恶意DNS服务器会返回错误的IP地址,导致用户访问到错误的网站或者无法访问目标网站。

如何自查?

1、建议检查您的路由器的主DNS配置是否被修改为了类似以下 IP(包括但不限于以下 IP),如果被修改为了以下 IP,并且辅DNS被改为1.1.1.1,基本可以确定您的家用路由器DNS被劫持篡改。

IP地址

122.9.187.125

8.140.21.95   

101.37.71.8047.102.126.197

118.31.55.110

47.109.22.11
47.113.115.236
47.109.47.151
47.108.228.5039.106.3.116
47.103.220.247139.196.219.223
121.43.166.60106.15.3.137

2、如果您的路由器上配置的DNS服务器IP不在上方列表中,您可通过以下典型特征来确认其DNS劫持行为。

1)域名解析记录TTL 被修改为86400 秒,即域名解析记录都会被缓存1 天。

可以在一台能访问公网的终端(如Mac电脑或者Linux云服务器)中执行命令检查:dig @122.9.187.125 dnspod.cn

其中122.9.187.125为示例IP地址,您可将其替换为您的家用路由器DNS服务器的IP地址。

b96223370ffabf80582d819abdf9cae6.png

2)间歇性存在大量域名无法正常解析的问题,返回 NXDOMAIN+ 错误的SOA记录,而不是返回正常的A记录或者CNAME记录。

可执行命令检查:dig @122.9.187.125 test.ip.dnspod.net

其中122.9.187.125为示例IP地址,您可将其替换为您的家用路由器DNS服务器的IP地址。

3c885f7a098ae28782a2c5a712b122e7.png

3)DNS版本为unbound 1.16.2。

可执行命令检查:dig @122.9.187.125 version.bind chaos txt

其中122.9.187.125为示例IP地址,您可将其替换为您的家用路由器DNS服务器的IP地址。

51ee39f9637388c16576a81955b8093f.png

d9dbb5f4f2db9c318d9c89d50d51f7ad.png

如何应对?

如果确认自己已遇到了上述情况,建议尝试下面的解决方案:

对于家用路由器用户:

建议升级家用路由器固件,并修改DNS服务器为运营商递归DNS或119.29.29.29等知名公共DNS,以确保能够正常解析。

对于APP应用开发者:

如果您是 APP应用的开发者,可尝试通过接入移动解析HTTPDNS的方式绕开运营商的LocalDNS缓存,避免因LocalDNS劫持导致应用访问异常,点击了解详情,具体原理如下:

7cb26234f9ad7e4d683c3780020dda59.png

移动APP基于SDK快速开发,使用HTTP/HTTPS协议将域名解析请求发送到腾讯云的 HTTPDNS解析服务器,以获得准确的解析结果。支持多种加密方式,从而保证信息传输安全。

在HTTPDNS服务出现异常时,仍旧可以切换为DNS协议向运营商LocalDNS 发起解析请求。对于使用腾讯云的DNSPod云解析服务的域名,还可以实现数据联动,做到域名解析调整秒级生效。

79b45d043edc24450fae9dde23260216.png

D妹在此提醒大家,该隐患依然持续存在,务必注意网络安全,及时更新路由器固件和检查DNS设置,确保个人数据和网络安全不受侵犯。

不知道看到这篇文章的你是否也中招了?欢迎在评论区留言~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/396655.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像变换算法

1.1 傅里叶变换 (Fourier Transform) 介绍 傅里叶变换是一种数学变换,用于将图像从空间域转换到频率域。它广泛应用于图像去噪和滤波。 原理 傅里叶变换将图像表示为频率成分的叠加,使得频率成分可以独立处理。通过对频率成分的分析和处理&#xff0…

【登录扫码】--集成企业微信

背景: 在系统的登录流程中,我们引入了一种创新的扫码登录方式,旨在提升用户体验与安全性。此流程的核心在于通过生成并扫描二维码来实现快速、便捷的登录认证 调用流程详细说明: 扫码登录选择:用户首先访问系统登录页面…

STM32的SDIO接口详解

目录 1. 定义与兼容性 2. SDIO时钟 3. SDIO命令与响应 4. SDIO块数据传输 5. SDIO控制器的硬件结构 6.代码实现 1.SD初始化 2.测试SD卡的读取 3.测试SD卡的写入 STM32的SDIO(Secure Digital Input/Output,安全数字输入输出)接口是一…

010集——按值传递、按引用传递等方法——C#学习笔记

按值传递参数 这是参数传递的默认方式。在这种方式下,当调用一个方法时,会为每个值参数创建一个新的存储位置。 实际参数的值会复制给形参,实参和形参使用的是两个不同内存中的值。所以,当形参的值发生改变时,不会影…

Flask+LayUI开发手记(一):LayUI表格的前端数据分页展现

用数据表格table展示系统数据,是LayUI的基本功能,编码十分简单,就是通过table.render()渲染,把属性配置好就OK了,十分方便,功能也十分强大。 不过,在实现时,把table的有个功能却理解…

ue4.27 C++ 解析内容为json的字符串

json字符串为 R"({"x": -1870.0, "y": -11400.0})"&#xff0c;里面内容是个json对象。 const FString& Message R"({"x": -1870.0, "y": -11400.0})"; TSharedRef<TJsonReader<>> Reader TJs…

Java Nacos与Gateway的使用

Java系列文章目录 IDEA使用指南 Java泛型总结&#xff08;快速上手详解&#xff09; Java Lambda表达式总结&#xff08;快速上手详解&#xff09; Java Optional容器总结&#xff08;快速上手图解&#xff09; Java 自定义注解笔记总结&#xff08;油管&#xff09; Jav…

Python:jupyter 模型可视化(VS)

step1:打开vs安装扩展 安装后重新启动vs 建立可视化模型 import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn import treemusic_data pd.read_csv(music.csv)Xmusic_data.drop(columns[genre]) Ymusic_data[genre]modelDecisionTreeClassifie…

IDEA构建SpringBoot多模块项目

前言 最近一直在思考一个问题&#xff0c;springboot的多模块项目到底是怎么运行和运作的&#xff1f; 一般我们大部分的springboot项目都是单模块的项目&#xff0c;但是如果后续有要求开发多模块的项目应该怎么处理&#xff1f;于是基于这点进行了研究。 本次文章将会带大…

java语言特点

Java语言是一种广泛使用的编程语言&#xff0c;它具有以下几个显著的特点&#xff1a; 面向对象&#xff1a;Java是一种纯面向对象的语言&#xff0c;它支持类的封装、继承和多态等特性。面向对象的设计使得Java程序更加模块化&#xff0c;易于维护和扩展。 平台无关性&#xf…

Linux驱动开发基础(Hello驱动)

所学内容来自百问网 目录 1. 文件在内核中的表示 2. 打开字符设备节点时&#xff0c;内核中也有对应的struct file 3. 编写驱动程序步骤 4. 相关知识点 4.1 涉及函数解析 4.2 module_init/module_exit的实现 4.3 register_chrdev的内部实现 4.4 class_destroy/device_…

K8s知识内容总结

1. K8s是个什么东西&#xff1f;解决了什么核心问题&#xff1f;相比docker有什么核心优势&#xff1f; k8s源于google内部的一个集群管理系统&#xff0c;它是用来管理集群的。比例&#xff0c;一个大型的电商系统&#xff0c;在微服务架构模式下&#xff0c;一个集群中可能有…

冒泡,选择,插入,希尔,快速,归并

冒泡&#xff0c;选择&#xff0c;插入&#xff0c;希尔&#xff0c;快速&#xff0c;归并 选择类的排序&#xff1a;选择排序&#xff0c;堆排序 交换类的排序&#xff1a;冒泡&#xff0c;快排 #include <stdio.h> #include<stdbool.h> #include<stdlib.h&…

10个html+css+js 绚丽按钮合集(1)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享10个htmlcssjs 绚丽按钮合集(1) 创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文章目录 10个htmlcssjs 绚丽按钮第1个&#xff1a;效果&#xff…

Selenium + Python 自动化测试06(frame操作方法)

上一篇我们讲述了特殊元素的操作方法&#xff0c;本篇接着讲一些可能遇到的其它操作方法。 如frame操作。 Frame 标签有Frameset、Frame、Iframe 3种&#xff0c;Frameset可以直接照常进行元素定位。Frame、Iframe需要驱动切换到对应的frame才可以定位到。否则 &#xff0c;会…

【人工智能】AI浪潮下,程序员何去何从?

人工智能时代&#xff0c;程序员何去何从&#xff1f; 随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作&#x…

[第五空间 2021]WebFTP

打开题目所给的环境&#xff0c;发现要求我们输入账号密码&#xff0c;尝试输入了一些随意的账号密码&#xff0c;显示账号密码错误。这里我先用bp拦截&#xff0c;但是并没有找到什么有用的东西&#xff0c;然后这里用dirsearch扫一下后台&#xff1a; 发现这里是git泄露&…

SQL Zoo 8+.NSS Tutorial

以下数据来自SQL Zoo 1.at Edinburgh Napier University&#xff0c;studying (8) Computer Science&#xff0c;Show the the percentage who STRONGLY AGREE.&#xff08;在爱丁堡纳皮尔大学&#xff0c;学习“计算机科学”&#xff0c;显示STRONGLY AGREE的百分比&#xff0…

MySQL 实战 45 讲(01-05)

本文为笔者学习林晓斌老师《MySQL 实战 45 讲》课程的学习笔记&#xff0c;并进行了一定的知识扩充。 sql 查询语句的执行流程 大体来说&#xff0c;MySQL 可以分为 Server 层和存储引擎层两部分。 Server 层包括连接器、查询缓存、分析器、优化器和执行器。 连接器负责接收客…

Debezium日常分享系列之:Debezium UI 的状态

Debezium日常分享系列之&#xff1a;Debezium UI 的状态 一、下一阶段工作二、设计新的UI三、目前阶段四、更多内容 虽然Debezium的UI是我们愿景的重要组成部分&#xff0c;但开发与Kafka Connect紧密绑定的UI并不是正确的方向。因此&#xff0c;决定冻结当前Web UI项目的开发。…