定义
DNS(Domain Name System,域名系统)劫持,又称域名劫持,是指攻击者通过各种手段篡改了域名系统的正常解析过程,使得用户在访问特定域名时,被引导到错误的 IP 地址,从而无法访问正确的网站或服务,或者被重定向到攻击者指定的恶意网站。
上网过程域名被劫持可能阶段
- 接入公共 WiFi 网络时:一些公共 WiFi 网络,如商场、咖啡馆、机场等场所的免费 WiFi,管理和安全性相对薄弱。黑客可能会搭建一个与正常公共 WiFi 名称相似的虚假热点,当用户误连到这个虚假 WiFi 网络时,所有的网络流量都将经过黑客的设备,域名就很容易被劫持。黑客可以通过这种方式获取用户的登录凭证、浏览记录等敏感信息。
- 路由器被攻击时:如果用户家中的无线路由器存在安全漏洞,或者其登录密码被破解,黑客就可以进入路由器的管理界面,篡改 DNS 设置。一旦 DNS 设置被恶意修改,用户输入的域名就可能被错误地解析到黑客指定的非法服务器上,导致域名被劫持。
- DNS 服务器遭攻击时:域名系统(DNS)负责将域名转换为 IP 地址,以便设备能够找到目标服务器。如果 DNS 服务器受到攻击,例如遭受 DDoS 攻击(分布式拒绝服务攻击)或被黑客入侵篡改了域名解析记录,那么用户请求的域名就可能被错误地解析到其他非法网站,造成域名劫持。
- 网络传输过程中:在数据从用户设备传输到目标服务器的过程中,如果网络中的某些节点被黑客控制,黑客就可能在传输过程中对域名进行劫持。例如,通过中间人攻击手段,拦截用户的网络请求,篡改其中的域名信息,将用户引导到虚假网站。
案例
- 上网时弹出广告
- 输入知名网址会跳转到其它网址
- 路由器dns被修改劫持
- 运营商内部出问题
排查
工具
nslookup
ping
dig
使用nslookup查询
比如查看某知名网站的ip, 看ip地址是否是正常的,如果不正常就代表是被劫持了。
解决方法
清除系统DNS缓存
查看DNS缓存
通过命令提示符
- 按下Win + S快捷键,输入 “cmd”,选择 “以管理员身份运行”。
- 在命令提示符窗口中,输入ipconfig /displaydns命令并按回车键。执行该命令后,将显示 DNS 缓存的详细信息,包括记录名称、记录类型、生存时间(TTL)、数据长度等。
- 若要导出 DNS 缓存的结果,可以使用ipconfig /displaydns > dnscachecontents.txt命令,这会将输出保存在文本文档dnscachecontents.txt中。
清除DNS缓存
使用命令提示符
- 按下Win + R键,打开 “运行” 对话框。
- 输入cmd,按回车键,打开命令提示符窗口。
- 在命令提示符窗口中输入ipconfig /flushdns命令,然后按回车键执行。等待命令执行完成,即可清除 DNS 缓存,执行后会显示 “已成功刷新 DNS 解析缓存” 的提示。
登录路由器,设置DNS
- 首先,登录到路由器的管理界面,这通常需要通过Web浏览器输入路由器的IP地址进行访问。
- 登录后,找到网络设置和DHCP设置的选项,在其中找到DNS设置部分。将默认或被篡改的DNS地址更换为可信任的公共DNS服务器地址。
- 如果DNS修改后不生效,有可能是被恶意锁定了,这个时候就需要重置路由器。
- 如果还是不行,请联系网络运营商,让他们派技术处理。
网络设置,DHCP设置都要看,因为路由有可能在两个地方都有DNS配置,而且有些恶意攻击修改了DHCP中的DNS后,会锁定路由器导致在网络设置中修改DNS会保存不了,如下图修改后保存但是勾选手动设置DNS服务器的地方还是处于未勾选状态的
如下图,手动改路由dns失败,最后是给路由器恢复出厂解决的:
可用的DNS地址:
百度公共DNS服务IP:180.76.76.76
腾讯:119.29.29.29
114:114.114.114.114
Google:8.8.8.8
找网络运营商
如果连网的设备与路由的dns没有问题,那劫持可能发生在外网中,就要找自家网络的网络运营商,让他们派技术上门解决。
报警
如果页面被劫持跳转到色情或赌博的网站,或者运营商不作为,也可以报警,让警察来处理。
作者:帅得不敢出门