初入门径 --- 护网钓鱼样本分析

最近半个月都在学《恶意代码分析实战》,想拿真实的恶意软件进行分析一下。正好朋友发了一个过来。(应该是护网的钓鱼文件)

0x01 文件分析

总共包括三个文件:2021年机关员工(子女)名单.exe、name1.jpg、name2.jpg

2021年机关员工(子女)名单.exe:程序是golang编译的,分析起来有点困难。所以没有进行分析,只是看了一下会有什么行为。
在这里插入图片描述
name1.jpg为exe
name2.jpg为dll导出了InitBugReport函数,且该函数存在异或解密shellcode的行为。
在这里插入图片描述

0x02 行为分析

开启Fake-ng,process monitor和process explorer进行行为监控。在虚拟机中执行程序之后会将nam1.jpg保存为yyexternal.exe
在这里插入图片描述
有迷惑性,让人以为是正常的yy程序
在这里插入图片描述
name2.jpg会保存为crashreport.dll。之后yyexternal会动态加载crashreport.dll并调用InitBugReport。

0x03 name2.jpg静态分析

加载shellcode的功能都在nam2.jpg(其实是dll)中所以主要分析这个文件。
主要是3个步骤循环:
第一:将byte_100277A8开始偏移%6==3地址上的内容复制到shellcode中
第二:将shellcode循环与!@ASDasd3#@异或解密
第三:将解密后的shellcode复制到VirtualAlloc地址并跳转执行。
在这里插入图片描述
如何获取shellcode?
1.脚本解密
2.动态内存dump

这里选择了第二种方法,修改文件名为name2.dll,用OD打开dll,在强制修改EIP为InitBugReport。将shellcode保存下来。
在这里插入图片描述

0x04 shellcode分析

最关键的点是偏移0x66会将遍历到的函数hash与目标hash进行比较,如果相关会在0x86处调用。在0x86下断点可以知道shellcode调用的所有函数。

第一次调用LoadLibraryA(“wininet”)
在这里插入图片描述
第二步调用InternetOpenA连接27.152.180.223的80端口
在这里插入图片描述

第三步调用InternetConnectA
在这里插入图片描述

第四次调用 HttpOpenRequestsA 获取/W9ff
在这里插入图片描述

第五次调用HttpSendRequestA 使用指定UA去发生请求
在这里插入图片描述

因为网站的/W9ff已经没了,所以会请求失败,调用ExitProcess。为了猜测下载文件的作用是什么。可以修改跳转指令。看看后续操作。如果请求失败就会调用ExitProcess。修改标志位Z=0
在这里插入图片描述

最后跳转到了新的shellcode执行代码。因为前面都是强制修改了标志位,所以实际并没有shellcode读入。
在这里插入图片描述

0x05 总结

shellcode应该是脚本生成的(类似这个https://gist.github.com/jdferrell3/4db966da06f4fa77816a54d802aca0f8)
样本应该是护网的钓鱼文件。

貌似就是一个项目编译出来的三个文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值