中间人攻击基本原理
中间人攻击(MITM)通过伪装成客户端与服务器之间的通信节点,截获并篡改HTTPS加密数据。攻击者需完成三个核心步骤:网络流量监听、伪造服务器证书、诱导客户端信任恶意证书。此过程依赖自签名证书和用户对异常证书警告的忽视,例如使用OpenSSL生成与目标域名匹配的伪造证书。
伪造证书生成流程
生成伪造证书需通过以下技术步骤:
- 使用OpenSSL生成攻击者私钥:
openssl genrsa -out ca.key 2048
- 创建自签名根证书:
openssl req -new -x509 -days 1096 -key ca.key -out ca.crt
- 生成服务器证书签名请求(CSR):
openssl req -new -key server.key -out server.csr
- 用根证书签署服务器证书:
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
窃取证书的常见方法
攻击者通常结合网络协议漏洞实施证书窃取:
- ARP欺骗:通过伪造MAC地址劫持局域网流量
- DNS劫持:修改DNS响应将域名解析到攻击者服务器
- WiFi中间人:创建恶意热点捕获未加密的证书交换过程
Client → Attacker → Server ||| ├─伪造证书─┤| └─解密数据─┘|
绕过证书验证机制
现代防御手段要求客户端严格验证证书链,攻击者常采用以下方式绕过限制:
- 诱导用户安装恶意根证书到系统信任列表
- 利用移动端应用未正确实施证书锁定(Certificate Pinning)的漏洞
- 伪造证书链中的中间CA证书,模拟合法签发机构
防御措施
有效防御需结合技术手段与用户教育:强制HTTPS证书双向验证、预置可信根证书白名单、实施证书公钥指纹校验,并定期更新证书吊销列表(CRL)。