第一章、背景
前段时间在一客户现场做值守工作,在值守过程中发现系统存在外联数据,外联如下:
目标IP:139.159.227.182,使用微步对该IP进行分析,发现该IP服务器存在病毒样本数据,详细如下:
确认该信息后,使用杀软对系统进行病毒查杀,但并未发现异常:
对此不太甘心,因此做了一下操作:
在防火墙封锁该IP,禁止与互联网进行通信;
进入系统对进程信息进行分析,判断是否存在问题;
对外联流量的对象系统进行渗透;
第二章、大灰狼远控木马分析
使用process monitor查看进程链接情况,发现存在121.exe文件访问恶意连接139.159.227.182,该exe文件主要调用netsyst96.dll,借此判断该外联是有121.exe程序引起,借此对121.exe文件进行逆向分析。
对netsyst96.dll进分析,确认异常文件:
2.1、工具使用情况
本次主要使用工具是IDA、OD。
2.2、Main函数
加载121.exe文件后,发现main函数主要调用了sub_401ED8和sub_401DEC。
1、sub_401ED8主要作用为对URL地址进行解密;
2、sub_401DEC主要作用为载入程序。
详细如下:
2.3、sub_401ED8
sub_401ED8函数URL地址进行解密中主要调用了sub_4015AA与 sub_40163E,详细如下:
2.4、sub_401DEC
sub_401DEC中调用了sub_401C36,该函数主要作用是下载dll文件,解密并载入内存执行:
sub_401C36
1、首先动态载入dll,并从kernel32.dll中获取CreateFileA函数地址;
2、将路径C:\Program Files\AppPatch与文件名dll进行拼接;
3、在C:\Program Files\AppPatch路径下创建文件dll文件,并执行netsys96.dll文件;
4、打开dll文件,读取netsys96.dll文件内容,如果文件异常,则调用sub_401974,从url中读取dll文件内容,并写入到netsys96.dll中。
sub_401BDC
使用od进行动态调试,查看dll文件解密前和解密后内容,如下:
解密前:
解密后:
sub_401000
将PE文件拷贝到内存中,并且修正导入函数表。
调用sub_401388进行导入表地址修正。
sub_401974
首先会判断src起始位置是否e_magic标志位(对dll文件的PE结构进行判断是否解密成功或是正确的PE文件结构体),如果存在则判断signature,如果存在则创建多块内存空间,将PE文件拷贝到空间中,导入后进行导入表的修正;否则会返上级函数,进行重新下载。
对导入表修正完成之后,接着执行上层函数的虚拟函数,通过该函数跳转入netsyst96.dll入口点执行DllFuUpgradrs。
通过该分析得知,该后门文件的exe仅为download并未存在真实后门功能程序,因此能够绕过一些国内的安全软件。
2.5、文件调用函数整体架构
第三章、木马作者跟踪
通过CFF Explorer查看121.exe基本信息,进行木马作者跟踪。
第四章、总结
在进行该病毒的分析中,涉及循环较多,分析时应注意循环信息。由于此次遇到的是绿色版,删除文件即可解决问题,因此未提及病毒处置过程。