网购转账时被引导至假银行网站账号密码被窃DNS劫持正如何悄悄影响你的上网安全及防护措施
那天下午发生的事
我朋友小林最近就栽了一个跟头。那天她在手机上准备给家里转账,点开了微信里一条”银行系统升级维护,请及时验证信息”的通知,链接点进去以后,页面看起来和真正的银行APP一模一样——LOGO、颜色、甚至输入框的样式都毫无二致。她输入了卡号、密码、手机号,还收到了验证码,点击提交的那一刻,页面弹出了”系统繁忙,请稍后再试”。她当时还抱怨了一句”这破银行”,然后就去忙别的事了。
三天后,她的银行卡被异地消费了八千多块。
这不是一个遥远的故事。这种手法在近年来越来越常见,背后的技术并不复杂,但危害却实实在在。今天我们就来聊聊,你是怎么被”引导”到假银行网站的,DNS劫持在其中扮演了什么角色,以及普通人该如何保护自己。
假银行网站是怎么诞生的?
在深入技术之前,先理解一个基本概念:钓鱼网站。
钓鱼网站是一种专门用来窃取用户敏感信息的伪造网页。攻击者会克隆一个看起来和真网站一模一样的页面,然后通过各种方式诱导你访问它。你以为自己在操作银行系统,实际上你的每一 keystroke(按键)都在向攻击者发送。
克隆一个银行网站在技术上其实非常简单。只要懂一点HTML和CSS,就能在几小时内复制出一个外观几乎无法区分的页面。真正的难点不在于”复制”,而在于”让你相信这是真的”——这就要用到下面要讲的手法了。
你是怎么被”引导”过去的?
这是最关键的问题。正常情况下,你不会无缘无故看到一个银行登录页面。攻击者需要通过以下几种常见方式把你引过去:
1. 钓鱼短信和伪造通知
这是最常见的方式。你的手机收到一条类似这样的短信:
【工商银行】尊敬的客户,您的账户存在异常交易,请登录 icbc365.com 进行安全验证,否则账户将被冻结。
注意看这个网址——icbc365.com。它和真正的工商银行域名 icbc.com.cn 非常相似,但完全是两回事。攻击者购买了一个看起来像官方域名的网址,然后把网页做得和真银行一样。
有些更专业的钓鱼短信甚至会使用”短链接”,比如 t.cn/xxx,你点进去之后看到的页面是真实的银行登录界面,但实际上你是被重定向到了一个钓鱼网站。这就是URL重定向钓鱼,连域名都能骗过你的眼睛。
2. 恶意Wi-Fi和中间人攻击
你去咖啡厅、商场,连接了公共Wi-Fi之后,访问银行网站时发生了什么?正常情况下,你的手机通过DNS解析域名,找到银行服务器的IP地址,然后建立加密连接(HTTPS)。
但如果这个公共Wi-Fi的路由器被黑客控制,或者路由器本身是攻击者搭建的,情况就完全不同了。黑客可以在你访问任何网站之前,拦截并篡改你的DNS请求。这就是我们接下来要详细讲的——DNS劫持。
3. 恶意广告和挂马网站
有些看似正常的网站可能被植入了恶意代码。当你点击了网页上的某个广告,或者不小心点到了页面角落的一个假”下载”按钮,浏览器就会悄悄把你重定向到一个钓鱼网站。这个过程是自动的,你甚至来不及反应。
4. 伪基站短信
在部分城市,攻击者会使用伪基站设备(一种便携式信号发射器)向你发送伪造的银行短信。伪基站可以伪装成任意基站的信号,所以你收到的短信显示的发送方是”95533”(工商银行客服号),但实际上并不是银行发送的。这种方式在近些年有所减少,但仍然存在。
DNS劫持:幕后黑手
现在我们来深入讲解DNS劫持,这是整个攻击链路中非常关键的一环。
DNS是什么?
想象一下你手机通讯录。当你想联系”妈妈”时,你不需要记住她的电话号码,只需要输入”妈妈”,手机就会自动查找对应的号码。DNS(域名系统)就是互联网的”通讯录”。
当你输入 www.icbc.com.cn 时,你的设备会向DNS服务器发起请求:”这个域名对应的IP地址是什么?” DNS服务器回复:”IP地址是123.45.67.89。” 然后你的浏览器就知道去哪里连接银行了。
DNS劫持是怎么发生的?
DNS劫持的本质是:篡改DNS服务器的回复,让你访问错误的IP地址。
具体有两种常见方式:
方式一:篡改本地DNS设置
攻击者通过恶意软件、路由器的漏洞或者公共Wi-Fi,修改你设备上的DNS服务器地址。比如,你原本使用的DNS是运营商提供的(如114.114.114.114或8.8.8.8),但现在变成了攻击者控制的DNS服务器(如10.0.0.1)。
之后,你访问任何银行域名,你的请求都会被发送到攻击者的DNS服务器。这个DNS服务器会告诉你:”www.icbc.com.cn 的IP地址是 203.0.113.45。” 实际上,这个IP是攻击者搭建的钓鱼网站服务器。
你的浏览器按照这个IP地址去连接,看到的当然就是假网站了。
方式二:DNS缓存投毒
DNS服务器本身也可能被攻击。攻击者向DNS服务器注入恶意的解析记录,使得当其他用户查询某个域名时,DNS服务器返回了被篡改的IP地址。这种攻击的影响范围更大,可能同时影响大量用户。
举个例子让你理解
假设你访问 www.baidu.com,正常情况下DNS会返回百度的真实IP地址。但如果你的DNS被劫持了,DNS返回的可能是攻击者控制的IP地址。这时候你打开浏览器,看到的可能是百度首页,但实际上地址栏里的内容可能是被伪造的,或者页面中嵌入了恶意脚本,悄悄把你的浏览器信息发送给攻击者。
有些更恶劣的攻击甚至会在你访问正常网站时,在页面上插入隐藏的iframe(嵌套网页),把你悄悄重定向到钓鱼网站,而你毫无察觉。
整个攻击链路是怎样的?
让我们把整个流程串联起来,用一个完整的例子来说明:
第一步:目标锁定
攻击者通过非法渠道获取了你的联系方式、银行卡信息等。或者,他们并不精确知道你的信息,只是广撒网——向大量手机号发送钓鱼短信。
第二步:引导访问
你收到了钓鱼短信,里面有一个链接。你出于”账户安全”的担忧,点击了链接。或者,你连接了某个公共Wi-Fi,在浏览器中搜索了某个银行网站,却被DNS劫持到了钓鱼页面。
第三步:窃取信息
你进入了一个看起来和真银行一模一样的网页,输入了账号、密码、验证码。这些信息被实时发送到攻击者的服务器上。
第四步:盗刷或进一步诈骗
攻击者拿到你的账号密码后,可以:
- 直接登录真实银行APP,转走你的钱
- 用你的身份信息注册网贷平台,骗取贷款
- 将你引导到另一个更高级的”二次钓鱼”页面,获取更多个人信息
- 利用你的身份信息从事其他违法犯罪活动
整个过程可能只需要几分钟,而当你发现钱不见了的时候,为时已晚。
如何识别假银行网站?
虽然钓鱼网站做得越来越像真的,但仍有一些破绽可以识别:
1. 检查URL
仔细看地址栏。真正的银行域名是非常规范的,比如工商银行的官方域名是 icbc.com.cn,而不是 icbc365.com、icbc-vip.com 这种变体。
钓鱼网站常用的域名技巧包括:
- 使用相似拼写:
icbc.com.cn变成icbc0.com.cn - 使用不同后缀:
icbc.com.cn变成icbc.com - 使用子域名伪装:
icbc.com.cn.xyz.com看起来像是官方子域名,实际上完全不是 - 使用国际化域名(IDN):用看起来一样的不同字符,比如西里尔字母的
с代替拉丁字母的c
2. 检查HTTPS证书
虽然钓鱼网站也有HTTPS(地址栏有🔒标志),但你仍然可以点击锁图标查看证书信息。真正的银行证书颁发机构通常是权威的CA(如DigiCert、Sectigo等),证书上的主体名称会与银行官方域名一致。
3. 不要点击短信/邮件中的链接
这是最重要的一条。有任何”账户异常”的通知,直接打开银行官方APP,或者手动在浏览器输入银行官方网址,而不要点击消息中的链接。
4. 观察页面细节
钓鱼网站通常是在短时间内批量制作的,难免有瑕疵。比如:
- 页面加载速度异常快或异常慢
- 图片分辨率低或有拉伸变形
- 页面中的文字有错别字或语法错误
- 按钮点击没有反应或跳转异常
- 页面元素对不齐,排版不专业
5. 使用银行官方渠道
银行官方通常会通过官方APP推送通知,而不是短信或邮件。如果收到任何账户相关的通知,打开官方APP查看即可,不必点击链接。
DNS劫持的防护措施
现在来说说如何防止DNS劫持:
1. 使用加密DNS(DoH / DoT)
传统的DNS查询是明文的,任何人(包括你的ISP)都可以看到并篡改你的DNS请求。DNS over HTTPS(DoH)和DNS over TLS(DoT)可以将DNS查询加密,防止中间人篡改。
如何在手机上开启:
- Android:设置 > 网络与互联网 > 私人DNS > 输入
dns.google或one.one.one.one - iPhone:设置 > 无线局域网 > 点击当前Wi-Fi右侧的 ⓘ > 配置DNS > 改为”手动” > 添加
8.8.8.8和1.1.1.1
2. 手动设置可信DNS服务器
不要使用自动获取的DNS,手动设置使用可信的公共DNS:
- Google DNS:
8.8.8.8和8.8.4.4 - Cloudflare DNS:
1.1.1.1和1.0.0.1 - 阿里DNS:
223.5.5.5和223.6.6.6
3. 谨慎使用公共Wi-Fi
在公共Wi-Fi环境下,尽量避免进行银行转账、支付等敏感操作。如果必须进行,建议使用手机4G/5G网络,而不是公共Wi-Fi。
4. 安装安全软件
使用信誉良好的安全软件,可以帮助你检测恶意网站和DNS劫持攻击。虽然不能100%防止,但可以在很大程度上降低风险。
5. 定期检查DNS设置
偶尔检查一下你设备的DNS设置是否被篡改,尤其是使用公共Wi-Fi之后。如果发现DNS服务器地址变成了奇怪的IP,很可能已经被劫持了。
其他实用防护建议
除了DNS防护,还有一些通用建议:
开启双重验证(2FA)
几乎所有银行APP都支持双重验证——除了密码,还需要手机验证码或指纹/面容ID。务必开启。这样即使密码泄露,攻击者没有你的手机也无法登录。
设置转账限额
在银行APP中设置单笔和每日转账限额。即使账号被劫持,攻击者能转走的金额也有限。
定期检查账户流水
养成定期查看银行流水的好习惯。如果发现可疑交易,第一时间联系银行冻结账户并报警。
不随意下载APP
只从官方应用商店下载银行APP,不要点击短信中的”下载银行APP”链接安装。很多钓鱼网站会通过伪装成银行APP的恶意软件窃取信息。
银行官方电话核实
如果收到任何可疑电话或短信,不要直接回拨消息中的电话,而是通过银行官方客服号码(印在银行卡背面的号码)进行核实。
如果已经中招了怎么办?
先别慌,按以下步骤处理:
第一步:立即冻结账户
拨打银行官方客服电话,挂失并冻结受影响的账户。大多数银行支持电话即时冻结,可以阻止后续盗刷。
第二步:修改密码
修改银行登录密码、支付密码、网银密码等所有相关密码。确保新密码足够复杂,且不与其它网站共用。
第三步:报警
携带银行卡、交易记录、钓鱼网站截图等证据,到当地派出所报案。警方的报案回执对于后续追偿很重要。
第四步:联系银行申请追偿
向银行说明情况,申请调查和可能的损失补偿。虽然不一定能全额追回,但银行有责任协助调查。
第五步:检查其他账户
如果你在钓鱼网站上输入了其他平台的账号密码,立即修改那些平台的密码,并检查是否有异常登录。
最后想说的一些话
网络安全从来不是一蹴而就的事,它需要持续的警惕和正确的习惯。钓鱼网站和DNS劫持技术一直在进化,攻击者变得越来越聪明,但只要我们掌握基本防护知识,保持警惕,就能大大降低成为受害者的概率。
不要觉得”这种事不会发生在我身上”。据统计,每年有数百万人成为网络钓鱼的受害者,其中不乏高学历、高收入的专业人士。攻击者瞄准的不是你的智商,而是你的习惯——比如图方便不检查URL、在公共Wi-Fi下转账、点击来路不明的链接。
希望这篇文章能帮你看清这些攻击的本质,也希望你永远用不上这些防护知识。但万一有一天需要,请记住:慢一点、查一下、多确认一步,可能就是你和损失之间唯一的距离。
如果你有任何疑问或想深入了解某个方面,随时可以问我。保持好奇,保持警惕,上网更安全。
