收到一封“关于加强防范钓鱼邮件的通知”为主题得钓鱼邮件,邮件内容以官方口吻强调当前网络诈骗的猖獗性,并号召收件人下载附件,以了解详细的防范措施。附件被伪装成一份合法的通知文档,并以.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,执行远程指令。整体而言,样本具备较强的隐蔽性和攻击性。
初始样本分析
chrome_pwa_launcher.exe
的文件。释放文件chrome_pwa_launcher.exe
分析
je
)在检测虚拟化或调试环境时直接退出程序。je
改为jne
)可以绕过退出逻辑,继续分析程序行为。主要功能与威胁
提高邮件防护意识
加强系统防护
强化企业网络安全
教育与培训
3 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!