最近在研究apt入侵,发现u盘钓鱼确实是一个简单但成功率极高的入侵手法。
入侵者在u盘中植入病毒,利用拾到者想偷窥、想知道使用人后归还等好奇心理,诱导拾到者插入并打开u盘中的文件,进而触发病毒,可以说是APT入侵利器。当然也就成为内网安全防御的一大挑战。下面我们一起看看u盘钓鱼的实现方式,分析下可行的检测防御方案。
一、U盘钓鱼的实现
阶段一 诱导用户插入u盘
这是第一步,也是最关键的一步,如果拾到者不将u盘插入pc终端,那就谈不上下一步的触发了。这里的关键是要分析做插入动作的的人(被入侵人)的身份。
- 前台人员:多是从拾到者上缴获取的u盘,想尽快找到失主归还,这里可以在u盘上贴上,“简历u盘”,“照片u盘”等字样;
- 普通员工:多是想偷窥别人的隐私,那就要从人性的本质出发了,在u盘上贴上“种子盘”、”我的私房照”等字样;
总之,诱导人性,最大程度提高插入率。让他们对各类安全教育宣传视而不见,也就达到我们的目的了。
阶段二 诱导用户主动运动病毒
这里就不说主动运行的病毒了,autorun已被玩烂,试问哪个公司的安全团队还没解决这个问题?那可以拖出去毙了!
这里只说让用户乖乖的运行病毒,这里的套路和第一步一样,无外乎就是根据不同人的需要制定不同的方案。下面我们仅从技术手段看下怎么让用户运行病毒。
先准备下:
1. 准备病毒
我们先制作一个假的病毒,笔者喜欢用pyhon写简单的功能,然后转成exe,就行。随便写个吓唬人的messagebox吧,如下:
然后转换成exe,如下:
2. 准备图标
这个就不细说了,系统图标,网上找得到一堆,随便选一个吧:
诱惑类图标,美女之类的,我们自己做下即可(这里避免三俗,接下里的演示就不用这类图标了):
这样我们的前期准备就ok了。下面我们看怎么诱导用户打开。
3. 诱导用户打开运行病毒
(1) 方法1 诱惑图标的可执行文件
直接修改可执行文件图标,诱导用户打开
细心的同学肯定看到了,pyinstall的默认图标还是挺陌生的,这种情况下一般的用户都会注意到,而且用户看到exe的后缀也会提高警惕,所有,直接让用户运行的最有利条件是:
- 图标诱导性或吸引力
- exe后缀隐藏(默认隐藏,或看不到)
不过这里这里我们仅探讨修改图标的方法,隐藏exe就盼着用户默认隐藏后缀名或眼神不好吧,哈哈。
方法如下:
一种是在py转成exe的时候就指定图标(当然如果c++之类的编译的时候直接指定图标即可)
另一种是用图标修改工具,如Restorator、ResourceHacker。先删除资源,然后添加资源即可:
第二种,自解压运行可执行文件,修改图标。
选择自解压:
配置:
效果:
最后把文件名改一下,多加空格,隐藏后缀,效果更好:
(2) 方法2 诱惑的快捷方式
快捷方式指向病毒目录中的可执行文件,就可以解决图标问题和显示后缀exe的问题了。
以上就是两种笔者常用的实现方式,方法虽然简单,但是很多apt团队也是用类似方案的,效果确实不错。有兴趣的同学,欢迎提出更多方案。
最后,可能大家注意到了,这里没有说免杀。毕竟这已经是大家的基本素养了,何况,这种诱惑人性的东东很多同学都是看到杀软报毒都会主动加白的!可笑的案例比比皆是。所以很多时候连免杀都不做也没问题。
说完了,各种实现方案,发挥思路,看看怎么防御和检测。
二、U盘钓鱼的防御和检测
答案可能显而易见了,那就是加强用户教育,这个落地的苦就不说了,搞安全同学都知道,让别人听你的,那是最难的。所以笔者提出一个变态的思路。
不允许u盘内程序运行,但可以拷贝到本地运行。为实现这个目标,看看怎么技术实现。
这个比较简单,利用组策略就行了:
基本就可以控制病毒程序被执行了。
当然,除了可执行文件外,还有各类脚本,如vbs、js。这类脚本都是调用系统的解析程序,如wscrip等进行解析,而解析程序在系统盘并不在u盘内,所以我们的域策略控制可执行的这种方式无法拦截。但这类方式正因为是调用系统程序进行解析,所以它的图标是不能更改,所以迷惑性也不高。
如果必须拦截,那按照笔者思路,这里需要判定u盘插入,然后自动配置域策略,禁止对应u盘盘符内的vbs,js等后缀程序的执行就可以阻止了。这就涉及到dlp了,就不展开说了。
综上,简要的说了下u盘钓鱼的实现和防御,当然只要你思路足够开阔,还有很多方式可以更好的诱导用户,或者绕过防御。入侵和对抗本来就是在不断演进,这也是安全技术最大的乐趣所在。如有疑问,欢迎探讨。