

勒索软件团伙更喜欢WireGuard而不是OpenVPN,原因很简单:WireGuard流量特征更隐蔽(看起来像普通UDP)、配置更简单(5分钟搞定)、性能更好(加密更快)。

一、先说明白黑客为什么需要VPN?
黑客和普通用户用VPN的目的完全不一样。
用户类型 | 用VPN的目的 | 说明 |
普通用户 | 保护隐私、翻墙、看Netflix | 隐藏自己的IP,绕过地理限制 |
黑客/勒索软件团伙 | 隐藏行踪、加密通信、绕过检测 | 不让安全团队追踪到源IP,不让流量分析工具识别出恶意行为 |
勒索软件团伙用VPN,不是因为“保护隐私”,而是因为“不想被抓”,他们需要一条从攻击者到受害者内网的加密通道,这条通道不能被安全设备识别出来,也不能被溯源。
二、OpenVPN和WireGuard的对比
2.1 基础对比
对比项 | OpenVPN | WireGuard |
首次发布 | 2001年 | 2016年(2019年进入Linux内核) |
代码量 | 约60万行 | 约4000行 |
加密协议 | OpenSSL(TLS) | Noise Protocol(Curve25519+ChaCha20+Poly1305) |
默认端口 | 1194/UDP(可改) | 51820/UDP(可改) |
配置复杂度 | 高(需要CA证书、密钥、配置文件) | 极低(只需要一对密钥对) |
连接速度 | 慢(TLS握手+证书验证) | 快(单次握手,1-RTT) |
指纹识别 | 容易被识别(握手特征明显) | 很难被识别(流量特征类似普通UDP) |
运行模式 | 用户态 | 内核态(性能极高) |
2.2 为什么黑客更倾向于WireGuard
主要原因有三个:
原因一:WireGuard的流量特征更难被识别
OpenVPN的TLS握手过程非常典型。安全设备(如下一代防火墙、IPS/IDS)可以通过以下特征识别OpenVPN流量:
特定的TLS握手指纹
特定的证书交换模式
默认的1194端口
数据包大小分布特征
而WireGuard的流量看起来就像普通的UDP流量。没有TLS握手,没有证书交换,没有明显的“我在建立VPN通道”的信号。
它的数据包是加密的,而且是基于Curve25519的现代加密,不会留下OpenSSL那种“老版本证书”的特征。
对于黑客来说,WireGuard就是“隐形通道”。安全团队很难区分哪些是正常的游戏流量、视频通话流量,哪些是黑客的C2通信流量。
原因二:配置简单,不需要运维团队
勒索软件团伙的成员不一定是高级网络工程师。他们需要一种“开箱即用”的VPN方案。
OpenVPN的配置流程:
1.安装OpenVPN服务器
2.生成CA根证书
3.生成服务器证书
4.生成客户端证书
5.配置服务器参数
6.配置客户端参数
7.分发证书文件
8.启动服务
WireGuard的配置流程:
1.安装WireGuard(apt install wireguard)
2.生成密钥对(wg genkey | tee privatekey | wg pubkey > publickey)
3.写一个配置文件(10行左右)
4.启动(wg-quick up wg0)
整个配置过程,一个熟悉Linux的黑客只需要5分钟。不需要证书,不需要CA,不需要复杂的配置。这对于需要快速部署、快速撤离的勒索软件团伙来说,是巨大的优势。
原因三:性能极高,延迟低
WireGuard运行在Linux内核态,而不是用户态。这意味着它的数据包处理速度比OpenVPN快得多。
OpenVPN的吞吐量约500Mbps~1Gbps(取决于CPU)
WireGuard的吞吐量约2Gbps~5Gbps(取决于CPU)
对于勒索软件团伙来说,这意味着他们在更短的时间内加密更多的文件。如果他们在加密目标服务器的文件,每秒多处理10MB数据,就可能意味着在安全团队发现并阻断之前,他们能多加密几百个文件。

三、勒索软件团伙如何使用WireGuard
3.1 典型的攻击链
1. 初始入侵(钓鱼邮件、漏洞利用、RDP暴力破解)
│
2. 安装C2通信工具(包括WireGuard)
│
3. 建立加密隧道(WireGuard连接到攻击者控制的VPS)
│
4. 横向移动(通过隧道访问内部网络)
│
5. 数据窃取(通过隧道上传数据)
│
6. 部署勒索软件(加密文件,留下勒索信)
关键点在于WireGuard第3步被使用。一旦隧道建立,安全团队看到的是“一个正常的UDP连接到某个IP”,而不是一个明显的C2通信。
3.2 为什么安全团队更难发现
检测手段 | 对OpenVPN | 对WireGuard |
深度包检测(DPI) | 容易识别TLS握手特征 | 很难识别(类似游戏/视频流量) |
端口特征 | 默认1194,但可改 | 默认51820,但可改 |
流量行为分析 | 连接建立后持续稳定流量 | 连接建立后持续稳定流量(与OpenVPN类似) |
威胁情报 | OpenVPN服务器IP可能被标记 | WireGuard服务器IP较少被标记 |
内存特征 | OpenVPN进程特征明显 | WireGuard是内核模块,无用户态进程 |
简单说安全团队要找OpenVPN,有很多现成的特征可匹配,但要找WireGuard,基本上等于在UDP流量里“大海捞针”——除非你已经知道攻击者的IP,否则很难发现。
四、黑客使用WireGuard的“高阶玩法”
4.1 使用公共WireGuard服务器
有些黑客不自己搭WireGuard服务器,而是使用公共WireGuard VPN服务(如Mullvad、IVPN等)。
这些服务:
接受比特币或Monero付款
不保留日志
服务器遍布全球
提供WireGuard配置文件
这样安全团队更难溯源,流量经过了公共VPN服务器,源IP变成了VPN服务器的IP,而VPN服务器不保留日志,无法追溯到付款人。
4.2 叠加代理
有经验的黑客会使用多层代理:
攻击者 → WireGuard隧道 →被控VPS → Tor → 另一个VPS → 目标内网
这样就算退一步,安全团队发现了第二层代理,也找不到第一层的攻击者。WireGuard只是其中一层,而且是“隐形”的一层。
4.3 使用非标准端口
WireGuard的默认端口是51820/UDP,但黑客可以改成:
443/UDP(看起来像HTTPS或QUIC)
53/UDP(看起来像DNS)
任意高位端口
改了端口后,安全设备想通过端口特征识别WireGuard就更难了。
五、安全团队如何应对
5.1 这不是一个“禁止WireGuard”的问题
WireGuard本身是一个优秀的VPN协议。它被广泛用于合法的场景——远程办公、云原生架构、IoT设备连接。
禁止WireGuard就像禁止刀一样,好人用来切菜,坏人用来伤人。
5.2 真正有效的检测手段
手段 | 说明 | 效果 |
流量基线分析 | 正常情况下,公司网络里有多少UDP流量?如果一台服务器突然产生大量UDP连接,需要调查 | 中高 |
威胁情报 | 监控已知的恶意VPS IP和域名 | 中 |
端点检测(EDR) | 检测设备上是否有wg命令执行、WireGuard模块加载 | 高 |
网络隔离 | 服务器和终端分属不同VLAN,不允许随意建立VPN连接 | 高 |
出站流量过滤 | 只允许特定端口(如80/443)出站,其他UDP端口默认阻断 | 中 |
5.3 最有效的防御是端点检测
因为WireGuard运行在内核态,没有用户态进程,传统的进程监控工具看不到它。
但EDR工具可以检测到:
wg-quick命令的执行
/etc/wireguard/目录下的配置文件
内核模块wireguard.ko的加载
异常的UDP连接(特别是到不明IP的UDP连接)
所以,对安全团队的建议是:
1.部署EDR,监控WireGuard的安装和使用
2.在服务器上禁用不必要的UDP出站连接
3.对VPN连接建立白名单,只允许已知的VPN服务器IP

往期文章:
同一个VPN账号,为什么有人能流畅看4K视频,有人连发邮件都要转圈?
商用VPN真的能保护隐私吗?——当你的VPN提供商被要求交出日志时,你还有秘密可言吗?

原创声明:本文仅供学习交流,未经作者书面授权不得用于商业目的。

夜雨聆风