问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
关于加强防范钓鱼邮件的通知
一封以“关于加强防范钓鱼邮件的通知”为主题的邮件引起的故事
0x01 Dropper分析 ============== 1. 背景 ----- ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-5ebe21f5d6ee804e79bb5e902f6348dba90ca989.png) 收到一封“关于加强防范钓鱼邮件的通知”为主题得钓鱼邮件,邮件内容以官方口吻强调当前网络诈骗的猖獗性,并号召收件人下载附件,以了解详细的防范措施。附件被伪装成一份合法的通知文档,并以.exe格式命名为“关于加强防范钓鱼邮件的通知.exe”。(贼喊捉贼???) 无需多说,直接上手!!对附件中的样本"关于加强防范钓鱼邮件的通知.exe"进行分析首先查看文件信息: 附件文件为64位C++程序,无壳,运行后可能执行以下恶意行为: - 窃取用户登录凭据和敏感信息。 - 在目标计算机中植入远程控制工具,为后续攻击提供便利。 - 诱导用户进一步访问钓鱼网站,扩大攻击范围。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-02c63b91af18b48322f34c25c37bcbba1eb24dd8.png) 2. main ------- IDA查看WinMain,程序首先获取用户名和计算机名,并根据时间戳生成随机值。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-74ad2a170c97c9312c7cc685b62047473b9a7d8c.png) 接着创建进程快照,进行进程遍历 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-4773c96ac030260093c9c1c940e2b90bfa2c7db2.png) 接着是做一些异常处理、内存分配等操作 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-858a328c459b4876c07ca89af8a3bcae5ee66552.png) 3. main->sub\_1400017B0 -------------------------- 然后进入一个关键函数sub\_1400017B0,该函数首先是进行两次内存分配 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-66ed062dfcae7d35b8f6ebad718b18531fd3e562.png) 接着是获取系统运行时间和“USERNAME”环境变量的值 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-cb6c90b0dbc6f782431e1e57b834f7a26960cde6.png) 然后通过sub\_140003020函数进行路径拼接。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-3c27385ad2969ae22b739b43b76eaa630b66e519.png) 最后,在拼接的路径下释放一个chrome\_pwa\_launcher.exe文件。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-f4f0bd88fe56d33a352f571d52704571bbabf397.png) > 自此,"关于加强防范钓鱼邮件的通知.exe"的主要功能就是释放一个文件。 0x02 chrome\_pwa\_launcher.exe ============================== 接着分析chrome\_pwa\_launcher.exe文件。 2.1 绕过反调试 --------- Process Monitor过滤进程。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-b6896b94279a70dcf520220a8dc3df0c82770f16.png) 可以看到程序一秒钟内打开就退出,说明程序可能有一些校验,检测虚拟机之类的。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-5153fb843afcdd6304c28c63bf314dd906bf41fc.png) 先用ida看一下,代码能不能看出啥,直接看WinMain函数。 出现报错decomplication failure: too big function,这是因为当前函数太大导致,需要修改配置文件:【IDA 安装目录】\\cfg\\hexrays.cfg将其中的MAX\_FUNCSIZE = 64改成MAX\_FUNCSIZE = 1024,重启IDA即可。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-a8a425608f3bff2a291db3f8b0a725c84ecacf19.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-479a615105c27807332dc6bbbcc79a91accff91e.png) 重启后在WinMain函数按F5,可以看到就这个 WinMain函数,就定义了一千两百多个变量,还有很多段异或,明显是混淆。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-0812717484717239e038683afc2973c272dde6ff.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-4c4cf816488291c7cb8caa4169574402e09d058b.png) 划到最后,可以看到在函数最后有个LABEL\_271结束进程。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-07f7e0d4e1fee28453971c5021a518ae44a0a85c.png) 通过x查看引用 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-a873d1b183e7d880ab6ccf1dd666939d8a037ea0.png) 可以看到,在下面获取用户名和计算机名之前,有一个判断,goto LABEL\_271,而这个label是退出程序。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-c3d498e1e0c5f99ee0bba896856d25cff3512627.png) 我们不想让它退出,所以找到它,将它修改一下即可,这里细看,有个字符串`dictator-lusty-fanlight-earphone`,待会调试的时候,可以根据它找到附近的跳转。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-6ce5621e3d6ab2804765de61bbb9c6b77e746d6e.png) x64dbg调试它,运行到用户区。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-ddb15c8d6f2ae225046e4460c904cc7a1cd097d9.png) 右键搜索所有模块的字符串。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-4bab89d8cae6e3f7a96081bdc0e2ba3673e158f2.png) 过滤字符串`dictator-lusty-fanlight-earphone`。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-c894aa6d8d731c384aa250227a07f9f4122fec3e.png) 选中,右键再反汇编中转到。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-10ad269eb05bed4cb3cf3ca9f49aa50554b8a89c.png) F2打个断点,F9运行到断点,这附近应该有个大跳,调试到这里,把它干掉就行。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-31191cdc8c06e7b2db4fc53786f9cd05d34f7df9.png) F8步过,发现有个je,是一个大跳,且调用 ExitProcess方法,稳了,把它干掉。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-dee61032fb7591a2834e748dcb649cb72bcc3bc3.png) 这里直接把`je`改成`jne`即可,简单方便,选中这一行,按空格,或者右键→ 汇编。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-9912cfa6a519f026c74aa8ac6148492029e89e33.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-cb9b8017009083378e7dde73886fdd47c4bccfd6.png) 然后Ctrl+P,或者右键→补丁→修补文件。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-03c0d55412971ce5d27672023f16c7e8859027f8.png) ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-4ea267f881ab14e7487ce8319901caf46367f9c7.png) 2.2 简要分析 -------- 由于混淆太多,我们从其它方面入手进行分析。 从导入模块来看,都是一些常规的操作,获取一些系统信息,文件操作等。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-068ff88c74572413669504e6f93f05c89b1a6c03.png) 从字符串看不出什么信息。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-be385911f7f2021f4e4b0874fe97cc85821193d1.png) 查看导入模块的时候,并未发现网络相关函数,说明网络连接可能是动态加载的。 使用x64dbg看看,在符号表中选择给loadlibrary下断点。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-e91f2aa204fb2eb3927dbd7c1495d858574ee697.png) 然后一直F9运行到断点处,可以看到加载到了WinHttp.dll。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-6f6471935c0946519e467ee3f584e9d17473c061.png) 寄存器中出现WinHttp.dll,继续按一次F9,让WinHttp.dll加载进去。 可以看到符号表已经有WinHttp.dll了,在WinHttp.dll中找到函数WinHttpConnect下断点。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-ee6a1fdbbb500f1ffe05fc7c69a0106d76b7fab4.png) 在断点中将四个loadlibrary都禁用。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-8a59544d84c7d1a8b473bca747ee4460c000ef03.png) 然后F9运行到断点WinHttpConnect,就可以看到连接C2:123.60.143.127。 ![图片.png](https://shs3.b.qianxin.com/attack_forum/2024/11/attach-f2633455fe353e9c2f663855154453c35480835b.png) 最后 == 综上,该样本“关于加强防范钓鱼邮件的通知.exe”主要功能为收集系统信息和进程信息,并释放一个名为 `chrome_pwa_launcher.exe` 的恶意文件。该文件具备反调试和混淆机制,旨在规避安全检测。除了获取系统信息和进行文件操作外,`chrome_pwa_launcher.exe` 还能够连接C2服务器:123.60.143.127,执行远程指令。整体而言,样本具备较强的隐蔽性和攻击性。 样本分析过程总结 -------- 1. **初始样本分析** - 样本名称为“关于加强防范钓鱼邮件的通知.exe”,为64位C++程序,无壳,运行后释放一个名为`chrome_pwa_launcher.exe`的文件。 - 样本的主要功能包括: - 窃取用户信息(如用户名、计算机名、环境变量等)。 - 遍历当前系统的进程列表,可能用于分析目标系统环境。 - 使用路径拼接释放二次恶意文件。 2. **释放文件`chrome_pwa_launcher.exe`分析** - **反调试与混淆:** - 含有混淆的WinMain函数,通过定义大量变量和异或操作规避静态分析。 - 使用条件跳转(如`je`)在检测虚拟化或调试环境时直接退出程序。 - 修改条件跳转(如`je`改为`jne`)可以绕过退出逻辑,继续分析程序行为。 - **动态加载网络模块:** - 动态加载WinHttp.dll,通过API调用实现网络连接。 - 连接到C2服务器(123.60.143.127),可能用于数据回传或接受远程指令。 3. **主要功能与威胁** - 样本整体具备以下功能: - 收集并上传系统信息和进程信息。 - 释放进一步的恶意模块,并可能实现持久化。 - 连接远程C2服务器(123.60.143.127)以接收命令。 #### 攻击特点 - **伪装性强**:样本利用政府通知的主题,以及合法的文档名称来伪装钓鱼攻击。 - **反调试与混淆**:通过复杂的代码逻辑与动态加载,样本规避了静态分析与自动化检测工具。 - **多阶段攻击**:主样本负责信息收集与二次文件释放,次级样本用于进一步的恶意操作。 最后来点钓鱼防范建议 ---------- 1. **提高邮件防护意识** - **警惕邮件附件**:尤其是带有可执行文件(如.exe)的附件,即使其名称看似合法,也应避免直接打开。 - **核实发件人信息**:对来自“官方机构”的通知,应通过官方网站或官方电话核实其真实性。 - **验证链接和二维码**:不要随意扫描邮件中的二维码或点击未知链接。 2. **加强系统防护** - **更新杀毒软件**:确保杀毒软件能够检测无壳样本及混淆代码。 - **启用沙箱环境**:在分析未知程序时,使用虚拟机或沙箱技术隔离恶意样本。 - **限制权限**:普通用户账号运行时限制写权限,防止样本释放二次文件。 3. **强化企业网络安全** - **过滤恶意邮件**:部署邮件网关并启用强大的垃圾邮件过滤机制。 - **监控流量**:及时检测可疑的网络行为,如到未知IP的连接(如上述C2服务器123.60.143.127)。 - **日志分析**:通过SIEM工具监控系统日志,检测异常进程启动与文件释放行为。 4. **教育与培训** - 定期组织员工安全意识培训,提高对钓鱼攻击的防范能力。 - 演练仿真钓鱼攻击,帮助员工识别伪造的官方邮件。
发表于 2024-12-23 09:39:07
阅读 ( 802 )
分类:
二进制
2 推荐
收藏
1 条评论
c铃儿响叮当
2024-12-23 10:46
大佬写的太好了
请先
登录
后评论
请先
登录
后评论
0nlyuAar0n
3 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!