远控NanoCore RAT样本分析
NanoCore RAT是在.Net框架中开发的有名的远控软件,网络环境中大量利用各种手段传播此软件,有时巧妙的构造有效的绕过杀软在进一步通过服务端进行功能模块的更新,深受黑客喜爱,从蜜罐捕获相应的样本做进一步分析。
客户端上线通知,显示主机相关信息:
插件功能丰富,键盘监控,实时视频操作,语音,命令行控制等完全控制远程主机。
客户端一键生成非常非常方便,配置相关主机端口,DNS,图标等。
利用NanoCore RAT恶意样本分析
- 样本信息
文件名称 |
REGISTER |
文件大小 |
135496 bytes |
文件类型 |
Rich Text Format |
MD5 |
c55aa1af2e3cf3e782627d068104313e |
SHA1 |
9e391eefce95244a4a4079bf07036108326f6e80 |
CRC32 |
9F5B2405 |
表1.1样本信息
分析环境及工具
环境:Windows7 x86
工具:IDA OD ProcessExplorer PCHunter 火绒剑 LordPE
Virustotal平台行为检测:
Virustotal平台行为检测39/54基本判定为恶意程序。
火绒剑检测有释放PE文件,并完成自我复制,创建启动项。
直接将文件夹下的C\program Files\WAN Service\wansv.exe,提取分析即可。本次将不直接分析,因为本样本利用傀儡进程,为了更加深入了解傀儡进程原理,因此对源程序执行流程进行细致分析。
有重新创建进程,启动进程。
傀儡进程实现原理
1.通过CreateProcess创建进程,传入参数CREATE_SUSPENDED使进程挂起
2.通过NtUnmapViewOfSection清空新进程的内存数据
3.通过VirtualAllocEx申请新的内存
4.通过WriteProcessMemory向内存写入payload
5.通过SetThreadContext设置入口点
6.通过ResumeThread唤醒进程,执行payload
Dump傀儡进程
在CreateProcessW 进行下断。
运行后 setThreadContext 进行下段,PChunter dump出来傀儡进程
Dump出来的程序UPX加壳。脱壳后在资源中有加载NanoCore客户端程序。继续Dump文件。
VirtualAlloc可见为资源加载的PE文件申请的空间大小。
资源加载调用loadResource.
Dump出来的程序为C#编写的.NET程序。
DnSpy反编译发现为NanoCore 的客户端。NanoCore生成的客户端只需查看Socket连接的主机即可。
IP191.101.22.13,端口4110。
将IP修改为本机。运行NanoCore服务端,创建端口4110。启动服务端。执行远程监控。
查杀
杀软查杀
本恶意样本杀软几乎都可以查杀。运行杀软即可。
手工查杀。
- 删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run启动项中名称为WAN Service,数值数据为C:\Program Files\WAN Service\wansv.exe的键值。
- 将C:\Program Files\WAN Service\wansv.exePE文件隐藏属性去掉,删除软件。