基于SET与Ettercap的社会工程学与DNS欺骗攻防实战
Web应用架构与安全基础
在分析网络欺诈技术前,需掌握Web应用的核心架构。前端负责用户交互与界面渲染,主要依赖HTML构建结构、CSS控制样式以及JavaScript实现动态逻辑。后端则处理业务逻辑、数据存储及数据库交互,常用技术栈包括Java(企业级跨平台)、Python(数据与AI)、PHP(快速动态建站)以及C/C++(底层高性能服务)。
在Web安全领域,SQL注入是核心威胁之一,攻击者通过构造恶意输入篡改后端SQL查询逻辑。此外,需区分Java(后端面向对象语言)、JSP(服务端动态网页技术)与JavaScript(前端客户端脚本)在安全边界上的不同作用。
社会工程学工具SET:凭证收集与网站克隆
Social-Engineer Toolkit (SET) 是一款专用于社会工程学渗透测试的框架。通过模拟真实场景,SET能够有效利用人为疏忽进行攻击。以下为克隆目标网站并捕获凭证的实战流程:
- 在终端执行
setoolkit启动框架。 - 在主菜单选择 Social-Engineering Attacks(社会工程学攻击)。
- 进入 Website Attack Vectors(Web攻击向量)模块。
- 选择 Credential Harvester Attack Method(凭证收割机攻击),该模块用于克隆页面并捕获表单提交数据。
- 选择 Site Cloner(网站克隆器),输入攻击机IP(如
10.0.0.50,即Kali Apache服务器地址)作为数据回传目标。 - 输入需要克隆的目标URL(例如
http://logistics-demo.com/login)。
配置完成后,SET会自动下载目标页面的前端资源并在本地Web服务器部署。当受害主机访问攻击机IP时,将看到高度仿真的登录页面。用户提交的账号密码等表单数据会被SET拦截并记录在本地日志中(若出现中文乱码,通常是由于Apache默认字符集与目标页面UTF-8不匹配导致,但不影响核心凭证的获取)。
Ettercap中间人攻击与DNS欺骗
Ettercap 是一款强大的中间人(MITM)攻击套件,支持ARP欺骗、数据包嗅探及DNS劫持。通过伪装成网关,攻击者可拦截并篡改受害者的网络流量。
环境配置:
- 攻击机 IP:
10.0.0.50 - 受害机1 IP:
10.0.0.101,受害机2 IP:10.0.0.102 - 网关 IP:
10.0.0.1
实施步骤:
- 开启网卡混杂模式以捕获全网段数据包:
sudo ip link set eth0 promisc on - 编辑DNS劫持配置文件
/etc/ettercap/etter.dns,添加重定向规则:# 将目标域名及通配符解析至攻击机IP search.example.com A 10.0.0.50 *.example.com A 10.0.0.50 - 启动Ettercap图形界面:
sudo ettercap -G - 在GUI中扫描局域网主机(Hosts -> Scan for hosts),并将网关设为 Target 1,受害机设为 Target 2。
- 启用ARP欺骗(MITM -> ARP poisoning)以接管流量转发。
- 激活DNS欺骗插件(Plugins -> manage Plugins -> 双击启用
dns_spoof)。
验证阶段,在受害机上执行 ping search.example.com,返回的IP应为 10.0.0.50,且Ettercap日志中会实时记录DNS查询拦截事件。
组合攻击:DNS劫持协同钓鱼网站
单独的钓鱼网站需要诱导用户点击伪造链接,而结合DNS欺骗可实现"无感"钓鱼。当用户在浏览器输入真实域名时,流量会被底层劫持至攻击机。
- 重新配置SET,克隆目标网站(如
logistics-demo.com)。 - 修改
etter.dns文件,将真实域名指向攻击机:logistics-demo.com A 10.0.0.50 *.logistics-demo.com A 10.0.0.50 - 重新启动Ettercap并执行ARP与DNS欺骗流程。
此时,受害者在浏览器地址栏输入真实的 www.logistics-demo.com,页面将被无缝重定向至Kali托管的克隆网站。由于地址栏显示的是合法域名,极大地降低了用户的防备心理,从而提高了凭证窃取的成功率。
安全防御与缓解策略
- 强制HTTPS与证书校验:部署HSTS(HTTP严格传输安全)策略,强制浏览器使用加密连接。用户应养成检查地址栏SSL/TLS证书颁发机构及有效期的习惯。
- 网络层防护:在交换机上配置动态ARP检测(DAI)和DHCP Snooping,防止局域网内的ARP欺骗。对于静态网络环境,可在终端绑定网关的IP与MAC地址。
- DNS安全:企业网络应部署DNSSEC(域名系统安全扩展)以防止DNS响应被篡改,并使用加密DNS协议(如DoH或DoT)。
- 零信任与终端安全:避免接入不可信的公共Wi-Fi。终端设备需部署EDR(终端检测与响应)系统,实时监控异常网络外联与进程注入行为。
实战问题排查:DNS解析异常
问题现象:在验证DNS欺骗时,受害机 ping example.com 返回的仍是真实公网IP,而非攻击机IP。
根因分析:操作系统的DNS客户端服务存在本地缓存机制。此外,Ettercap的 etter.dns 配置中仅定义了 search.example.com 和 *.example.com,未显式包含根域名 example.com 的A记录,导致精确匹配失败并回退至真实DNS服务器。
解决方案:在受害机上执行 ipconfig /flushdns(Windows)或 systemd-resolve --flush-caches(Linux)清除本地缓存。同时,在 etter.dns 中补充精确的根域名解析规则,确保所有子域及主域均被劫持。