收到一封“关于加强防范钓鱼邮件的通知”为主题得钓鱼邮件,邮件内容以官方口吻强调当前网络诈骗的猖獗性,并号召收件人下载附件,以了解详细的防范措施。附件被伪装成一份合法的通知文档,并以.exe格式命名为“关于加强防范钓鱼邮件的通知.exe”。(贼喊捉贼???)
无需多说,直接上手!!对附件中的样本”关于加强防范钓鱼邮件的通知.exe”进行分析首先查看文件信息:
附件文件为64位C++程序,无壳,运行后可能执行以下恶意行为:
IDA查看WinMain,程序首先获取用户名和计算机名,并根据时间戳生成随机值。
接着创建进程快照,进行进程遍历
接着是做一些异常处理、内存分配等操作
然后进入一个关键函数sub_1400017B0,该函数首先是进行两次内存分配
接着是获取系统运行时间和“USERNAME”环境变量的值
然后通过sub_140003020函数进行路径拼接。
最后,在拼接的路径下释放一个chrome_pwa_launcher.exe文件。
自此,”关于加强防范钓鱼邮件的通知.exe”的主要功能就是释放一个文件。
接着分析chrome_pwa_launcher.exe文件。
Process Monitor过滤进程。
可以看到程序一秒钟内打开就退出,说明程序可能有一些校验,检测虚拟机之类的。
先用ida看一下,代码能不能看出啥,直接看WinMain函数。
出现报错decomplication failure: too big function,这是因为当前函数太大导致,需要修改配置文件:【IDA 安装目录】\cfg\hexrays.cfg将其中的MAX_FUNCSIZE = 64改成MAX_FUNCSIZE = 1024,重启IDA即可。
重启后在WinMain函数按F5,可以看到就这个 WinMain函数,就定义了一千两百多个变量,还有很多段异或,明显是混淆。
划到最后,可以看到在函数最后有个LABEL_271结束进程。
通过x查看引用
可以看到,在下面获取用户名和计算机名之前,有一个判断,goto LABEL_271,而这个label是退出程序。
我们不想让它退出,所以找到它,将它修改一下即可,这里细看,有个字符串dictator-lusty-fanlight-earphone
,待会调试的时候,可以根据它找到附近的跳转。
x64dbg调试它,运行到用户区。
右键搜索所有模块的字符串。
过滤字符串dictator-lusty-fanlight-earphone
。
选中,右键再反汇编中转到。
F2打个断点,F9运行到断点,这附近应该有个大跳,调试到这里,把它干掉就行。
F8步过,发现有个je,是一个大跳,且调用 ExitProcess方法,稳了,把它干掉。
这里直接把je
改成jne
即可,简单方便,选中这一行,按空格,或者右键→ 汇编。
然后Ctrl+P,或者右键→补丁→修补文件。
由于混淆太多,我们从其它方面入手进行分析。
从导入模块来看,都是一些常规的操作,获取一些系统信息,文件操作等。
从字符串看不出什么信息。
查看导入模块的时候,并未发现网络相关函数,说明网络连接可能是动态加载的。
使用x64dbg看看,在符号表中选择给loadlibrary下断点。
然后一直F9运行到断点处,可以看到加载到了WinHttp.dll。
寄存器中出现WinHttp.dll,继续按一次F9,让WinHttp.dll加载进去。
可以看到符号表已经有WinHttp.dll了,在WinHttp.dll中找到函数WinHttpConnect下断点。
在断点中将四个loadlibrary都禁用。
然后F9运行到断点WinHttpConnect,就可以看到连接C2:123.60.143.127。
综上,该样本“关于加强防范钓鱼邮件的通知.exe”主要功能为收集系统信息和进程信息,并释放一个名为 chrome_pwa_launcher.exe
的恶意文件。该文件具备反调试和混淆机制,旨在规避安全检测。除了获取系统信息和进行文件操作外,chrome_pwa_launcher.exe
还能够连接C2服务器:123.60.143.127,执行远程指令。整体而言,样本具备较强的隐蔽性和攻击性。
- 样本名称为“关于加强防范钓鱼邮件的通知.exe”,为64位C++程序,无壳,运行后释放一个名为`chrome_pwa_launcher.exe`的文件。
- 样本的主要功能包括:
- 窃取用户信息(如用户名、计算机名、环境变量等)。
- 遍历当前系统的进程列表,可能用于分析目标系统环境。
- 使用路径拼接释放二次恶意文件。
chrome_pwa_launcher.exe
分析
- **反调试与混淆:**
- 含有混淆的WinMain函数,通过定义大量变量和异或操作规避静态分析。
- 使用条件跳转(如`je`)在检测虚拟化或调试环境时直接退出程序。
- 修改条件跳转(如`je`改为`jne`)可以绕过退出逻辑,继续分析程序行为。
- **动态加载网络模块:**
- 动态加载WinHttp.dll,通过API调用实现网络连接。
- 连接到C2服务器(123.60.143.127),可能用于数据回传或接受远程指令。
- 样本整体具备以下功能:
- 收集并上传系统信息和进程信息。
- 释放进一步的恶意模块,并可能实现持久化。
- 连接远程C2服务器(123.60.143.127)以接收命令。
- **警惕邮件附件**:尤其是带有可执行文件(如.exe)的附件,即使其名称看似合法,也应避免直接打开。
- **核实发件人信息**:对来自“官方机构”的通知,应通过官方网站或官方电话核实其真实性。
- **验证链接和二维码**:不要随意扫描邮件中的二维码或点击未知链接。
- **更新杀毒软件**:确保杀毒软件能够检测无壳样本及混淆代码。
- **启用沙箱环境**:在分析未知程序时,使用虚拟机或沙箱技术隔离恶意样本。
- **限制权限**:普通用户账号运行时限制写权限,防止样本释放二次文件。
- **过滤恶意邮件**:部署邮件网关并启用强大的垃圾邮件过滤机制。
- **监控流量**:及时检测可疑的网络行为,如到未知IP的连接(如上述C2服务器123.60.143.127)。
- **日志分析**:通过SIEM工具监控系统日志,检测异常进程启动与文件释放行为。
- 定期组织员工安全意识培训,提高对钓鱼攻击的防范能力。
- 演练仿真钓鱼攻击,帮助员工识别伪造的官方邮件。
3 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!