钓鱼攻击
定义:钓鱼攻击是一种常见的网络攻击手段,攻击者通过伪装成合法的网站、邮件或信息,诱骗用户提供敏感信息,如用户名、密码、银行卡号等,从而达到非法获取用户数据或进行欺诈的目的。
网络钓鱼(phishing)由钓鱼(fishing)一词演变而来。在网络钓鱼过程中,攻击者使用诱饵(如电子邮件、手机短信、QQ链接等)将攻击代码发送给大量用户,期待少数安全意识弱的用户“上钩”,进而达到“钓鱼”(如窃取用户的隐私信息)的目的。
原理
攻击原理:钓鱼攻击的核心是通过伪装成可信的实体(如银行、社交平台、公司内部系统等),诱骗用户泄露敏感信息。
克隆网站钓鱼
原理
复制目标网站的前端页面,伪造相似域名,诱导用户点击输入敏感信息,收集敏感信息。
pikachu靶场中有一个xss后台,里面可以实现钓鱼功能。主要是pikachu中/xfish中的三个文件实现了钓鱼功能。
- fish.php
请求用户输入用户名和密码。如果用户输入正确的用户名和密码,它会将用户名和密码发送到一个指定的后台地址。用来窃取用户的认证信息。
- xfish
捕获并存储从 URL 中提交的用户登录信息(用户名、密码)以及用户的来源页面地址。它通过 GET 请求接收数据,并将这些数据插入到数据库中的 fish 表。
- pkxss_fish_result
显示被钓鱼攻击窃取的用户数据,包括用户名和密码,并允许通过点击链接删除某条记录。过 SQL 查询获取这些数据并在管理页面中展示。
工具
pikachu
操作过程
1.首先打开pikachu文件pxss下的xfish找到fish.php。将里面的管理后台的IP 地址改为自己管理后台的地址
- 打开pikachu,选择xss漏洞里的存储型,运行以下代码
3. 之后会出现弹屏,在弹屏上随便输入用户名,密码。此时以及被钓鱼了,去最下面的XSS后台登录查看钓鱼结果
与XSS的区别
很明显的感觉到克隆网站钓鱼和XSS很相似,都是利用漏洞欺骗用户以获得敏感信息,但是他们有如下不同:
- 攻击方式:攻击者通过插入恶意代码,窃取用户的Cookie、会话信息,或者将数据发送到攻击者控制的服务器。克隆网站钓鱼是指攻击者制作一个与真实网站几乎完全相同的假冒网站,诱使用户访问并输入个人敏感信息。
- 攻击目标:XSS攻击的目标是利用用户与真实网站互动时的行为,通过注入恶意脚本获取敏感信息。克隆网站钓鱼的目标是通过假冒网站直接诱导用户输入个人信息。
- 技术实现:XSS依赖于网站存在的漏洞,攻击者通过注入恶意脚本(如JS代码)来执行攻击。这个过程通常需要通过网站输入框、URL参数等漏洞位置来插入脚本。克隆网站钓鱼依赖于攻击者精确复制真实网站的外观与功能,制作一个与目标网站高度相似的伪造页面,通常需要克隆网站的HTML、CSS、JavaScript等内容。
电子邮件钓鱼
钓鱼邮件的特征
1.伪造发件人地址
冒充知名机构(如PayPal、Microsoft、银行),但仔细检查可发现邮箱域名拼写错误(如service@paypai.com代替
2.利用诱导性语言
诱导用户进行操作,例如:
“恭喜您中奖了,请点击连接领取”
“恭喜您获得了大额优惠券,请登录领取”
3.可疑链接或附件
链接显示文本与实际URL不符,或附件为.exe、.zip等可执行文件。
4.索要敏感信息
直接要求提供密码、验证码、身份证号等,而正规机构不会通过邮件索取此类信息。
原理
原理:钓鱼邮件攻击的核心是利用伪装的电子邮件诱骗用户点击恶意链接或下载恶意附件,从而窃取用户信息
常见形式
伪装发件人:伪造发件人地址,冒充银行、同事或供应商等可信来源
链接钓鱼:邮件中包含恶意链接,诱导用户输入敏感信息附件钓鱼:通过恶意文件(如PDF、Word文档)诱导用户执行恶意代码
二维码钓鱼:邮件中包含恶意二维码,用户扫描后可能跳转到钓鱼网站
情感操纵:利用用户的恐慌、好奇心或贪婪心理,诱导其点击链接或打开附件
工具
gophish
操作过程
钓鱼邮件的操作参照此文编写:https://geekdaxue.co/read/xuea-man@ybcd4h/9ba3f2cc-b0be-4ba1-a93c-a6edc7ccc64b#7ivll0
- 下载gophish
https://github.com/gophish/gophish/releases
- 下载后解压运行exe文件,查看访问路径,需要保持小黑框不被关闭,关闭则脚本终止(Gophish要web访问,禁止访问选择高级设置,继续访问)
- 登录进入界面,老版本账号admin,密码gophish
注:最新版本的 gophsih(v0.11.0) 删除了默认密码 “ gophish”。取而代之的是,在首次启动 Gophish 时会随机生成一个初始密码并将其打印在终端中
详情见:https://github.com/gophish/gophish/releases/tag/v0.11.0
进入后台后,左边的栏目即代表各个功能,分别是Dashboard 仪表板 、Campaigns 钓鱼事件 、Users & Groups 用户和组 、Email Templates 邮件模板 、Landing Pages 钓鱼页面 、Sending Profiles 发件策略六大功能
- Sending Profiles 发件策略
Sending Profiles 的主要作用是将用来发送钓鱼邮件的邮箱配置到 gophish
点击New Profile新建一个策略,依次来填写各个字段
Name 字段是为新建的发件策略进行命名,不会影响到钓鱼的实施,建议以发件邮箱为名字,例如如果使用 qq 邮箱来发送钓鱼邮件,则 Name 字段可以写xxxxxx@qq.com
Interface Type 是接口类型,默认为SMTP 类型且不可修改,因此需要发件邮箱开启 SMTP 服务
图中的from是钓鱼邮件所显示的发件人,在实际使用中,一般需要进行近似域名伪造,这里为了容易理解,就暂时以 qq 邮箱为例,所以 From 字段可以写:testxxxxxx@qq.com
Host 是 smtp 服务器的地址,格式是 smtp.example.com:465,例如 qq 邮箱的 smtp 服务器地址为smtp.qq.com
Username 是 smtp 服务认证的用户名,如果是 qq 邮箱,Username 则是自己的 qq 邮箱号xxxx@qq.com
Password 是 smtp 服务认证的密码,例如 qq 邮箱,需要在登录 qq 邮箱后,点击 设置 - 账户 - 开启 SMPT 服务 生成授权码,Password 的值则可以填收到的授权码
(可选)Email Headers 是自定义邮件头字段,例如邮件头的X-Mailer字段,若不修改此字段的值,通过 gophish 发出的邮件,其邮件头的 X-Mailer 的值默认为 gophish
填写邮件地址,发送测试邮件,成功后保存策略
但是我在此处使用近似域名伪造from后无法正常发送邮件,只有与Username一致时才会发送成功
- Landing Pages 钓鱼页面
Name 是用于为当前新建的钓鱼页面命名,可以简单命名为钓鱼页面 1
点击 Import Site 后,填写被伪造网站的 URL,再点击 Import,即可通过互联网自动抓取被伪造网站的前端代码,也可以下面编写
通常,进行钓鱼的目的往往是捕获受害用户的用户名及密码,因此,在点击 Save Page 之前,记得一定要勾选Capture Submitted Data
当勾选了Capture Submitted Data后,页面会多出一个Capture Passwords的选项,显然是捕获密码。通常,可以选择勾选上以验证账号的可用性。如果仅仅是测试并统计受害用户是否提交数据而不泄露账号隐私,则可以不用勾选
另外,当勾选了Capture Submitted Data后,页面还会多出一个Redirect to,其作用是当受害用户点击提交表单后,将页面重定向到指定的 URL。可以填写被伪造网站的 URL,营造出一种受害用户第一次填写账号密码填错的感觉
(一般来说,当一个登录页面提交的表单数据与数据库中不一致时,登录页面的 URL 会被添加上一个出错参数,以提示用户账号或密码出错,所以在Redirect to中,最好填写带出错参数的 URL)
因此,令此处的 Redirect to 的值为https://mail.XX.edu.cn/cgi-bin/loginpage?errtype=1
- Email Templates 钓鱼邮件模板
Name对当前新建的钓鱼邮件模板进行命名。可以简单的命名为:邮件模板 1
Import Email:用户可以先在自己的邮箱系统中设计好钓鱼邮件,然后发送给自己或其他伙伴,收到设计好的邮件后,打开并选择导出为 eml 文件或者显示邮件原文,然后将内容复制到 gophish 的 Import Email中,即可将设计好的钓鱼邮件导入
需要注意,在点击Import之前需要勾选上Change Links to Point to Landing Page,该功能实现了当创建钓鱼事件后,会将邮件中的超链接自动转变为钓鱼网站的 URL
- Users & Groups 用户和组
主要是group name和邮箱
- Campaigns 钓鱼事件
新建钓鱼事件,并选择编辑好的钓鱼邮件模板,钓鱼页面,通过配置好的发件邮箱,将钓鱼邮件发送给目标用户组内的所有用户
URL 是用来替换选定钓鱼邮件模板中超链接的值,该值指向部署了选定钓鱼页面的 url 网址(这里比较绕,下面具体解释一下,看完解释再来理解这句话)
简单来说,这里的 URL 需要填写当前运行 gophish 脚本主机的 ip。
因为启动 gophish 后,gophish 默认监听了3333和80端口,其中3333端口是后台管理系统,而80端口就是用来部署钓鱼页面的。
当 URL 填写了http:// 主机 IP/,并成功创建了当前的钓鱼事件后。gophish 会在主机的80端口部署当前钓鱼事件所选定的钓鱼页面,并在发送的钓鱼邮件里,将其中所有的超链接都替换成部署在80端口的钓鱼页面的 url
所以,这里的 URL 填写我本地当前运行 gophish 主机的 IP 对应的 url,即http://192.168.3.143
- Dashboard 仪表板
当创建了钓鱼事件后,Dashboard 会自动开始统计数据。统计的数据项包括邮件发送成功的数量及比率,邮件被打开的数量及比率,钓鱼链接被点击的数量及比率,账密数据被提交的数量和比率,以及收到电子邮件报告的数量和比率。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |