当前位置:首页 > 技术 > 正文内容

基于SET与Ettercap的社会工程学与DNS欺骗攻防实战

访客 技术 2026年9月8日 1

Web应用架构与安全基础

在分析网络欺诈技术前,需掌握Web应用的核心架构。前端负责用户交互与界面渲染,主要依赖HTML构建结构、CSS控制样式以及JavaScript实现动态逻辑。后端则处理业务逻辑、数据存储及数据库交互,常用技术栈包括Java(企业级跨平台)、Python(数据与AI)、PHP(快速动态建站)以及C/C++(底层高性能服务)。

在Web安全领域,SQL注入是核心威胁之一,攻击者通过构造恶意输入篡改后端SQL查询逻辑。此外,需区分Java(后端面向对象语言)、JSP(服务端动态网页技术)与JavaScript(前端客户端脚本)在安全边界上的不同作用。

社会工程学工具SET:凭证收集与网站克隆

Social-Engineer Toolkit (SET) 是一款专用于社会工程学渗透测试的框架。通过模拟真实场景,SET能够有效利用人为疏忽进行攻击。以下为克隆目标网站并捕获凭证的实战流程:

  1. 在终端执行 setoolkit 启动框架。
  2. 在主菜单选择 Social-Engineering Attacks(社会工程学攻击)。
  3. 进入 Website Attack Vectors(Web攻击向量)模块。
  4. 选择 Credential Harvester Attack Method(凭证收割机攻击),该模块用于克隆页面并捕获表单提交数据。
  5. 选择 Site Cloner(网站克隆器),输入攻击机IP(如 10.0.0.50,即Kali Apache服务器地址)作为数据回传目标。
  6. 输入需要克隆的目标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

实施步骤:

  1. 开启网卡混杂模式以捕获全网段数据包:
    sudo ip link set eth0 promisc on
  2. 编辑DNS劫持配置文件 /etc/ettercap/etter.dns,添加重定向规则:
    # 将目标域名及通配符解析至攻击机IP
    search.example.com      A    10.0.0.50
    *.example.com           A    10.0.0.50
  3. 启动Ettercap图形界面:
    sudo ettercap -G
  4. 在GUI中扫描局域网主机(Hosts -> Scan for hosts),并将网关设为 Target 1,受害机设为 Target 2。
  5. 启用ARP欺骗(MITM -> ARP poisoning)以接管流量转发。
  6. 激活DNS欺骗插件(Plugins -> manage Plugins -> 双击启用 dns_spoof)。

验证阶段,在受害机上执行 ping search.example.com,返回的IP应为 10.0.0.50,且Ettercap日志中会实时记录DNS查询拦截事件。

组合攻击:DNS劫持协同钓鱼网站

单独的钓鱼网站需要诱导用户点击伪造链接,而结合DNS欺骗可实现"无感"钓鱼。当用户在浏览器输入真实域名时,流量会被底层劫持至攻击机。

  1. 重新配置SET,克隆目标网站(如 logistics-demo.com)。
  2. 修改 etter.dns 文件,将真实域名指向攻击机:
    logistics-demo.com      A    10.0.0.50
    *.logistics-demo.com    A    10.0.0.50
  3. 重新启动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 中补充精确的根域名解析规则,确保所有子域及主域均被劫持。

标签: set

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。