一、什么是 Pharming Attack?
Pharming Attack 是一种通过操纵域名解析过程,把用户重定向到恶意网站的网络攻击,俗称“域名劫持攻击”。
正常情况下,用户在浏览器中输入银行、邮箱、电商或社交平台的网址后,设备会通过 DNS 查询该域名对应的服务器 IP 地址,然后连接真正的网站。
在 Pharming 攻击中,攻击者会设法篡改这个解析结果。用户输入的域名可能完全正确,浏览器地址栏看起来也没有明显拼写错误,但设备得到的却是攻击者服务器的 IP 地址。
最终,用户会被带到一个外观与官方网站高度相似的假网站。攻击者可能借此窃取:
- 用户名和密码;
- 银行卡信息;
- 短信验证码;
- 双重认证代码;
- 加密货币钱包凭证;
- 身份证件信息;
- 企业内部账号;
- 会话 Cookie;
- 支付授权信息。
Pharming 的危险之处在于,它不一定要求用户点击陌生链接。即使用户主动输入正确网址、使用收藏夹或打开熟悉的页面,也可能被错误解析带到攻击者控制的站点。
二、Pharming 一词是什么意思?
“Pharming”由“Phishing”和“Farming”组合而来。
Phishing,也就是钓鱼攻击,通常针对一个个受害者投放假邮件、假短信和假登录链接。
Pharming 则更像在域名解析链路中“批量种植”错误地址。一旦某台路由器、DNS 服务器或域名配置被篡改,所有依赖该解析路径的用户都可能被统一引导到恶意网站。
因此,Pharming 往往具有更强的批量影响能力。攻击者不需要分别说服每个受害者点击链接,只需要控制某个关键解析节点,就可能同时影响大量用户。
三、DNS 在 Pharming 攻击中扮演什么角色?
DNS 是 Domain Name System 的缩写,中文称为域名系统。它可以理解为互联网的地址簿。
用户习惯记忆的是域名,例如:
example.com
计算机真正连接的则是 IP 地址。DNS 的任务就是把域名转换成对应 IP。
一个简化的正常解析过程是:
用户输入域名 → 设备查询 DNS → DNS 返回正确 IP → 浏览器连接官方网站
而 Pharming 攻击的过程可能变成:
用户输入正确域名 → DNS 返回恶意 IP → 浏览器连接伪造网站
攻击者不一定要攻破目标网站。只要能改变用户得到的 DNS 结果,就可以把访问流量引向自己的服务器。
这也是为什么 Pharming 经常与以下概念同时出现:
- DNS Spoofing;
- DNS Cache Poisoning;
- DNS Hijacking;
- Router Hijacking;
- Domain Hijacking;
- Hosts 文件篡改。
它们并不完全相同,但都可能成为 Pharming 的实现路径。
四、Pharming Attack 是如何工作的?
Pharming 攻击可以发生在多个层级。
1. 本地 Hosts 文件被篡改
操作系统中存在一个名为 Hosts 的本地文件。它可以手动指定某个域名对应的 IP 地址,而且其优先级通常高于普通 DNS 查询。
攻击者如果通过恶意软件获得设备权限,就可能写入类似规则:
bank.example → 攻击者服务器 IP
之后,即使用户输入正确银行网址,系统也可能直接连接恶意服务器,而不会向外部 DNS 查询。
这类攻击只影响被感染设备,但非常隐蔽。更换浏览器、清理 Cookie 或修改 DNS 服务,可能都无法解决,因为错误映射保存在本地系统中。
2. 家用路由器 DNS 被篡改
家用路由器通常会向局域网中的手机、电脑和电视分配 DNS 地址。
如果路由器使用默认密码、固件存在漏洞、远程管理暴露在互联网,或者管理员误装恶意配置,攻击者可能将路由器 DNS 改成自己控制的服务器。
此后,连接该路由器的所有设备都可能收到错误解析结果。
这种攻击的影响范围比单台设备更大。即使手机和电脑本身没有安装恶意软件,只要连接了被劫持的路由器,也可能访问到假网站。
3. DNS 缓存投毒
DNS 解析器为了提高效率,会把查询结果暂时保存在缓存中。
攻击者如果能让解析器接受伪造的 DNS 响应,就可能把错误 IP 写入缓存。缓存被污染后,后续查询相同域名的用户都会得到错误地址,直到缓存过期或被清除。
这就是 DNS Cache Poisoning,也称 DNS Spoofing。
DNS 最初建立在较强的信任模型上,传统 DNS 响应本身缺少完整的来源验证。现代解析器会通过随机端口、随机查询 ID 和其他安全机制降低攻击成功率,但配置不当、软件漏洞或解析器被入侵仍可能造成缓存投毒。
4. 域名注册账号被劫持
攻击者还可能直接入侵网站所有者的域名注册商账号。
一旦获得控制权,攻击者可以修改:
- 权威 DNS 服务器;
- A 记录;
- AAAA 记录;
- CNAME 记录;
- MX 邮件记录;
- 域名联系人信息;
- 域名转移设置。
这种攻击不只是欺骗某一批用户,而是直接改变域名在全球 DNS 系统中的正式配置。所有正常查询该域名的用户,都可能被引导到攻击者服务器。
这属于影响范围非常大的 Pharming 场景。
5. 权威 DNS 或托管平台被攻破
网站的 DNS 记录通常由权威 DNS 服务商管理。
如果攻击者入侵 DNS 托管账户、云平台账号或管理 API,就可能直接修改解析记录。攻击者还可能利用泄露的 API 密钥、弱密码、未开启多因素认证的管理员账户实施操作。
这类攻击往往发生在网站运营者一侧,普通用户无法通过简单更换设备来解决。
6. 恶意 DHCP 或公共 Wi-Fi
DHCP 负责向联网设备分配 IP、网关和 DNS 等网络参数。
在不可信公共 Wi-Fi 中,攻击者可能搭建恶意热点或伪造 DHCP 服务,把连接设备的 DNS 指向攻击者控制的服务器。
用户看到的 Wi-Fi 名称可能与酒店、机场或咖啡店相同,但实际连接的是恶意热点。攻击者随后可以通过 DNS 欺骗把用户导向假登录页、假银行网站或恶意软件下载页面。
五、Pharming 和 Phishing 有什么区别?
Pharming 和 Phishing 都可能把用户带到伪造网站,但攻击方式不同。
| 对比项目 | Phishing 钓鱼攻击 | Pharming 域名劫持攻击 |
|---|---|---|
| 常见入口 | 邮件、短信、私信、二维码 | DNS、路由器、Hosts 文件、域名配置 |
| 是否需要点击假链接 | 通常需要 | 不一定需要 |
| 用户输入的网址 | 往往是伪造或相似域名 | 可能完全正确 |
| 影响范围 | 常针对特定用户 | 可能批量影响大量用户 |
| 主要防线 | 识别假消息和假链接 | DNS、设备、路由器和域名安全 |
| 隐蔽性 | 链接有时可被识别 | 通常更难发现 |
例如,攻击者发送一个拼写相似的银行网址,诱导用户登录,这是典型 Phishing。
如果用户输入真正的银行网址,却因为 DNS 被篡改而进入假网站,则更接近 Pharming。
现实攻击中两者也可能结合。攻击者先通过钓鱼邮件诱导路由器管理员登录假后台,再窃取密码修改 DNS,最终实施 Pharming。
六、一个典型的 Pharming 攻击过程
假设攻击者想窃取网上银行账号。
第一步,攻击者入侵用户的家庭路由器,并将默认 DNS 修改为恶意 DNS。
第二步,用户在浏览器中手动输入正确银行网址。
第三步,设备向路由器指定的恶意 DNS 查询银行域名。
第四步,恶意 DNS 返回攻击者服务器的 IP 地址。
第五步,浏览器打开一个外观几乎与银行官网相同的伪造页面。
第六步,用户输入账号和密码。假页面提示需要短信验证码。
第七步,攻击者将用户提交的信息实时转发到真正银行网站,并尝试登录。
第八步,用户输入短信验证码,攻击者随即完成登录或转账。
这种实时代理形式甚至可能绕过部分短信验证。因为攻击者并不是以后再使用验证码,而是在验证码有效期内立即转发。
因此,仅仅看到“密码输入成功”或“收到短信验证码”,并不能证明页面一定是真实网站。
七、Pharming 攻击为什么很难发现?
Pharming 的隐蔽性主要来自以下几个方面。
用户可能输入了完全正确的网址
传统安全教育通常提醒用户检查拼写错误和可疑域名,但 Pharming 攻击中,地址栏里的域名可能没有问题。
问题发生在域名解析后端,而不是用户输入阶段。
伪造页面可以高度还原
攻击者可以复制官方网站的 Logo、布局、文字、登录框和提示信息,甚至实时同步部分网页内容。
只看页面设计,普通用户很难分辨真假。
攻击可能影响整个网络
当路由器或公共 DNS 被篡改时,多个设备可能同时出现问题。用户容易误以为网站本身发生故障,而不是本地网络遭到攻击。
浏览器缓存可能延续异常
即使 DNS 配置已经修复,设备和浏览器仍可能保存旧解析结果,导致问题暂时持续。
攻击者可能选择性劫持
攻击者不一定劫持所有网站,而只针对银行、交易所、邮箱或企业登录页。其他网站仍然正常工作,因此整体网络看起来没有异常。
八、HTTPS 能否阻止 Pharming?
HTTPS 是防范 Pharming 的关键防线之一,但并非万能。
HTTPS 使用 TLS 证书验证网站身份并加密浏览器与服务器之间的通信。如果用户被导向攻击者服务器,而攻击者没有目标域名的有效证书,浏览器通常会显示证书错误或安全警告。
用户不应忽略以下提示:
- 连接不是私密连接;
- 证书无效;
- 证书名称不匹配;
- 证书已过期;
- 无法验证网站身份;
- 连接可能受到攻击。
但是,在以下情况下,HTTPS 的保护可能被削弱:
- 用户主动忽略证书警告;
- 设备被安装恶意根证书;
- 攻击者控制了域名验证流程;
- 域名注册账号被劫持;
- 网站本身的证书签发流程被滥用;
- 恶意软件在浏览器内部篡改页面;
- 企业网络安装了合法但可解密流量的根证书。
因此,看到 HTTPS 锁标志是重要信号,但不能单独证明网站绝对安全。
现代浏览器已经弱化或移除了传统锁图标,用户更应该点击地址栏,确认域名、证书状态和连接信息。
九、DNSSEC 如何防止 DNS 投毒?
DNSSEC 是 Domain Name System Security Extensions 的缩写,中文通常称为域名系统安全扩展。
它通过数字签名验证 DNS 数据的来源与完整性。支持 DNSSEC 验证的解析器可以检查返回记录是否由对应域名的权威区域签名,以及记录在传输过程中是否被修改。
如果攻击者伪造了 DNS 响应,但无法生成有效签名,支持验证的解析器就会拒绝该结果。
DNSSEC 对以下风险有帮助:
- DNS 缓存投毒;
- 伪造 DNS 响应;
- DNS 数据被中途篡改;
- 部分解析劫持。
但 DNSSEC 不能解决所有 Pharming 场景。
如果攻击者已经控制域名注册账号,并合法修改了权威 DNS 和签名配置,DNSSEC 可能无法判断这是恶意变更。
如果用户设备的 Hosts 文件被修改,查询可能根本不会进入 DNSSEC 验证过程。
如果路由器或终端被恶意软件完全控制,攻击者也可能绕过正常验证路径。
因此,DNSSEC 是重要基础设施保护措施,但必须与账户安全、路由器安全、HTTPS 和终端防护共同使用。
十、加密 DNS 能否防止 Pharming?
加密 DNS 常见形式包括 DNS over HTTPS,也就是 DoH,以及 DNS over TLS,也就是 DoT。
它们会加密设备与 DNS 解析器之间的查询,防止同一网络中的观察者直接读取或随意篡改 DNS 请求。
加密 DNS能够降低以下风险:
- 公共 Wi-Fi 中的简单 DNS 劫持;
- 本地网络对 DNS 请求的监听;
- 中间设备直接修改明文 DNS 响应;
- 部分运营商级 DNS 干扰。
但加密 DNS也有边界。
如果用户选择的加密 DNS 服务本身不可信,它仍然可以返回错误结果。
如果设备已经感染恶意软件,恶意程序可以直接修改浏览器、Hosts 文件或 DNS 设置。
如果攻击者控制了域名权威记录,加密传输只会安全地送回一个已经被恶意修改的结果。
所以,加密 DNS保护的是“查询传输过程”,DNSSEC 验证的是“DNS 数据真实性”,两者作用不同。
十一、VPN 能否防止 Pharming Attack?
VPN 可以降低部分网络层 Pharming 风险,但不能防止所有类型。
连接可靠 VPN 后,设备的网络流量通常会通过加密隧道传输到 VPN 服务器。DNS 查询也可以由 VPN 提供的解析器处理,从而减少本地 Wi-Fi、路由器或运营商直接篡改明文 DNS 的机会。
在酒店、机场、咖啡馆和其他公共网络中,这种保护尤其有价值。
365VPN 可以通过加密隧道、DNS 防泄露和稳定的远端解析路径,减少本地网络进行简单 DNS 劫持的机会。
但 VPN 无法解决以下情况:
- 设备 Hosts 文件已被修改;
- 设备感染恶意软件;
- 浏览器扩展被劫持;
- VPN 服务商的 DNS 不可信;
- 域名注册信息已被攻击者篡改;
- 网站权威 DNS 已被控制;
- 用户忽略 HTTPS 证书警告;
- 用户主动在假网站提交信息。
VPN 保护的是设备到 VPN 节点之间的网络路径,并不是网站真实性的绝对证明。
十二、个人用户如何预防 Pharming?
1. 不要忽略浏览器证书警告
如果浏览器提示连接不安全、证书名称不匹配或证书无效,应立即停止操作。
不要因为页面外观熟悉就继续输入密码、验证码或银行卡信息。
2. 使用可信 DNS 服务
用户可以选择具有安全记录、支持 DoH、DoT 或 DNSSEC 验证的 DNS 服务。
但不要安装来源不明的 DNS 描述文件、代理证书或网络配置。
3. 保护家庭路由器
路由器是家庭网络中的关键设备,应做到:
- 修改默认管理员密码;
- 使用独立强密码;
- 更新最新固件;
- 关闭不需要的远程管理;
- 关闭不必要的 UPnP;
- 检查 DNS 是否被修改;
- 关闭未知管理员账户;
- 使用 WPA2 或 WPA3;
- 定期查看连接设备;
- 不使用停止维护的老旧路由器。
如果路由器持续自动恢复陌生 DNS,可能需要重置设备并重新配置。
4. 保持系统和浏览器更新
攻击者可能利用操作系统、浏览器或路由器漏洞篡改网络设置。
及时安装安全更新可以减少恶意软件获得管理员权限的机会。
5. 使用安全软件进行扫描
如果只有一台设备出现重定向,而其他设备正常,应检查:
- Hosts 文件;
- DNS 设置;
- 浏览器扩展;
- 代理配置;
- 根证书;
- 恶意软件;
- 启动项;
- 网络适配器配置。
6. 使用密码管理器
密码管理器通常会根据完整域名自动填充账号密码。
如果用户被带到相似域名或非预期网站,密码管理器可能不会自动填充,从而提供额外警示。
不过,如果 Pharming 攻击保留了正确域名,并成功绕过证书验证,密码管理器的帮助会有限。
7. 开启多因素认证
多因素认证可以降低密码泄露后的账号接管风险。
优先使用:
- Passkey;
- 硬件安全密钥;
- 身份验证器;
- 推送确认。
短信验证码仍比仅使用密码更安全,但可能被实时钓鱼或 SIM 卡交换攻击绕过。
8. 公共 Wi-Fi 下先连接 VPN
在机场、酒店、咖啡店和共享办公空间,应确认热点名称并避免连接未知 Wi-Fi。
联网后,先连接可信 VPN,再登录邮箱、银行和企业系统。
十三、如何检查 DNS 是否被劫持?
用户可以从多个层面检查。
首先,查看设备当前 DNS 设置。如果出现自己从未配置过的陌生地址,需要提高警惕。
其次,登录路由器管理后台,检查 WAN、DHCP 和 LAN DNS 设置。攻击者可能同时修改多个位置。
第三,使用不同网络进行对比。例如:
- 家庭 Wi-Fi;
- 手机移动网络;
- 可信 VPN;
- 另一台设备。
如果某网站只在特定 Wi-Fi 中跳转异常,问题可能来自路由器或局域网。
还可以检查域名解析结果是否与可信公共 DNS 返回结果一致。但普通用户不应仅凭一个 IP 不同就判断遭到攻击,因为大型网站通常使用 CDN,会根据地区返回不同 IP。
更可靠的判断需要结合:
- 证书是否正常;
- 域名解析是否属于官方网络;
- 多个可信解析器的结果;
- 网站官方状态说明;
- 是否只有本地网络异常。
十四、发现 Pharming 后应该怎么办?
如果怀疑正在遭受 Pharming 攻击,应立即停止输入任何敏感信息。
断开当前 Wi-Fi,切换到可信移动网络或其他网络进行验证。不要继续使用可能被劫持的路由器访问银行、邮箱和交易所。
如果已经提交账号和密码,应尽快在可信设备和可信网络上:
- 修改账号密码;
- 注销其他登录会话;
- 更新多因素认证;
- 检查恢复邮箱和手机号;
- 查看是否新增转发规则;
- 联系银行或平台冻结风险交易;
- 检查 API 密钥和应用授权。
然后处理本地网络:
- 重置路由器;
- 更新路由器固件;
- 修改管理员密码;
- 恢复可信 DNS;
- 检查远程管理;
- 清理设备 DNS 缓存;
- 检查 Hosts 文件;
- 扫描恶意软件;
- 删除可疑浏览器扩展;
- 检查系统根证书。
如果是企业环境,应保留日志和证据,不要在未取证前随意格式化关键设备。
十五、网站运营者如何预防 Pharming?
Pharming 不只是用户侧问题,网站运营者也需要保护域名和 DNS 基础设施。
1. 为域名注册商账号开启强认证
域名注册账号应使用:
- 独立强密码;
- 硬件安全密钥;
- 多因素认证;
- 受限管理员权限;
- 独立安全邮箱。
不要让域名管理邮箱与普通客服或市场账号共用。
2. 启用 Registrar Lock
域名锁可以降低未经授权转移域名的风险。
重要域名还可以考虑更高等级的注册局锁定服务,修改 DNS 或转移域名时需要额外人工验证。
3. 部署 DNSSEC
网站运营者可以在权威 DNS 与注册商之间正确配置 DNSSEC,帮助解析器验证记录完整性。
但配置错误可能导致域名无法解析,因此应建立变更与回滚流程。
4. 监控 DNS 记录变化
应持续监控以下内容:
- A 和 AAAA 记录;
- CNAME;
- NS 服务器;
- MX 邮件记录;
- TXT 验证记录;
- DNSSEC DS 记录;
- 域名联系人;
- 证书透明度日志。
一旦发现未经授权的变更,应立即启动应急响应。
5. 使用最小权限原则
DNS 管理 API 不应使用长期高权限密钥。
应限制密钥权限、来源 IP、有效期和可操作域名,并将生产 DNS 与其他云资源权限隔离。
6. 部署 HSTS
HSTS 可以要求浏览器始终通过 HTTPS 访问网站,减少用户被降级到明文 HTTP 的风险。
对于关键网站,还应正确配置证书、TLS 和安全响应头。
十六、企业如何降低 Pharming 风险?
企业应建立统一 DNS 管理,而不是允许每台终端自由使用未知解析器。
可以采取的措施包括:
- 使用专用企业 DNS 解析器;
- 阻止终端绕过指定 DNS;
- 部署 Protective DNS;
- 验证 DNSSEC;
- 监控异常 DNS 响应;
- 限制路由器和网络设备管理权限;
- 对网络设备实施漏洞管理;
- 禁止默认密码;
- 部署 EDR;
- 监控 Hosts 文件变化;
- 记录域名和证书异常;
- 对管理员启用硬件密钥;
- 对 DNS 变更实行双人审批。
企业还应关注 DoH 流量。加密 DNS能够保护隐私,但如果所有终端都可以任意访问外部 DoH 服务,也可能绕过组织的恶意域名拦截和审计策略。
因此,企业通常应提供受管理的加密 DNS,而不是简单封锁或完全放开。
十七、Pharming 与其他 DNS 攻击有什么区别?
DNS Hijacking
DNS Hijacking 是对 DNS 设置或解析路径的劫持,可能发生在路由器、运营商、恶意软件或权威 DNS 侧。
它可以被用于广告插入、审查、监控或 Pharming。
DNS Cache Poisoning
DNS Cache Poisoning 特指向 DNS 解析器缓存写入伪造记录。
它是 Pharming 的一种实现方法。
Domain Hijacking
Domain Hijacking 是攻击者控制域名注册账号或非法转移域名。
攻击者随后可以修改 DNS,实现大范围 Pharming。
Typosquatting
Typosquatting 是注册拼写相似的域名,例如把字母替换、删除或调换。
它通常依赖用户输错网址或点击假链接,更接近钓鱼,而不是严格意义上的 Pharming。
Man-in-the-Middle
中间人攻击是在通信双方之间拦截或修改数据。
DNS 劫持可以作为中间人攻击的前置步骤,但两者并不完全等同。
十八、365VPN 在防范 Pharming 中的作用
365VPN 可以通过加密用户设备与 VPN 节点之间的流量,减少公共 Wi-Fi、酒店网络、校园网和不可信局域网直接监听或篡改 DNS 查询的机会。
365VPN 的 DNS 防泄露能力可以让 DNS 查询跟随加密隧道处理,降低系统意外使用本地不可信 DNS 的风险。
Kill Switch 则可以在 VPN 意外断开时阻止流量立即恢复明文直连,避免设备突然重新使用本地网络的 DNS 和出口。
智能分流可以根据使用需求决定哪些应用通过 VPN,但涉及银行、邮箱、密码管理器和企业登录时,用户应确认相关流量与 DNS 是否按照预期路径传输。
需要再次强调,365VPN 无法替代以下措施:
- 路由器固件更新;
- 恶意软件防护;
- HTTPS 证书检查;
- DNSSEC;
- 多因素认证;
- 域名账号安全;
- 用户对异常页面的判断。
VPN 是网络路径保护工具,不是网站真实性认证工具。
十九、常见误区
误区一:网址正确就一定安全
Pharming 的核心特征就是用户输入正确网址后仍可能被重定向。
误区二:有小锁图标就一定是真的
证书状态很重要,但恶意根证书、域名账号劫持和浏览器内部攻击都可能削弱这一判断。
误区三:更换浏览器就能解决
如果问题来自路由器 DNS、系统 Hosts 或权威 DNS,更换浏览器通常无效。
误区四:使用 VPN 就不会遭遇 Pharming
VPN 能降低本地网络劫持风险,但不能修复中毒设备、被劫持域名和恶意网站。
误区五:只有银行网站会被攻击
邮箱、社交平台、云服务、企业 VPN、加密货币交易所和密码管理器同样是高价值目标。
误区六:短信验证码可以阻止所有攻击
实时代理钓鱼可以立即转发短信验证码。Passkey 和硬件安全密钥通常具有更强的抗钓鱼能力。
二十、365VPN 安全团队建议
Pharming Attack 是一种利用 DNS、路由器、终端配置或域名管理系统,将用户从正确网址引向恶意服务器的攻击。
它与普通钓鱼最大的区别在于,用户不一定点击了假链接,也不一定输错域名。攻击者通过控制地址解析过程,让“正确网址”通向“错误服务器”。
个人用户应重点保护路由器、设备和浏览器环境,不忽略证书警告,并使用可信 DNS、加密连接、独立密码和多因素认证。
网站运营者则需要保护域名注册账号、DNS 托管平台和管理 API,部署 DNSSEC、Registrar Lock 和 DNS 变更监控。
365VPN 可以通过加密隧道、DNS 防泄露和 Kill Switch,降低公共网络和本地网络进行简单 DNS 劫持的风险。但它不能替代终端安全、HTTPS、DNSSEC 和账号保护。
防范 Pharming 需要同时检查四个环节:
设备是否可信 → 路由器是否安全 → DNS 是否可靠 → 网站证书是否有效
只有这四个层面同时受到保护,用户才能真正降低被错误解析和伪造网站欺骗的风险。
