Novter无文件攻击分析报告

访客 278 0
本文来源:江民安全实验室

1 病毒信息

病毒名称:Trojan.Script.akg

病毒类型:后门

MD5: 08ac667c65d36d6542917655571e61c8

SHA1: 5b24a3b32d9dba95b296a7a16cbcf50a7df2d196

文件类型:EXE 32

文件大小:84,992 字节

传播途径:无主动传播方式, 由上一级下载

影响系统:winxp及以上系统

2 病毒概况

近期,江民赤豹安全实验室捕获到名为“Novter”的后门木马,通过分析发现“Novter”是采用了无文件攻击技术,通过hta文件释放脚本代码主要隐藏在注册表里,并通过后门构成僵尸网络,隐蔽性较强,主要通过广告流量欺诈获利。

 

“Novter”并不是一款新的病毒,早在今年3月,赤豹安全实验室就通过江民全球病毒样本监测分析平台截获到Novter的样本,其主要受害者分布在美国和欧洲地区, 且仍在向更多地区传播扩散,Novter利用CMSTPLUA COM接口来绕过UAC保护, 通过更改注册表禁止Windows Defender防护软件以及windows自动更新, 创建BITS任务或更改注册表以实现持久化。

3 病毒行为摘要

3.1 文件行为

  以下为正则语法, 除了>, 表示变量, 另外病毒文件名符合[a-zA-Z0-9]{10}, 且随机, 例如h1Jinr79hv, fHPqbx7WKY等.

创建C:\Documents and Settings\(username>|All Users)\Application Data\[a-zA-Z0-9]{10}.hta

将%SystemRoot%\notepad.exe拷贝并重命名为C:\Documents and Settings\username>\Application Data\246765678

3.2 进程行为

  创建名为”Global\CreatorsPatch”的互斥体

  创建名为”76547890876578”的BITS任务

3.3 注册表行为

  创建注册表项(HKLM|HKCU)\Software(\Wow6432Node)?\[a-zA-Z0-9]{10}

  在上述项下创建3个值, 名字均符合[a-zA-Z0-9]{10}形式, 且名字看起来随机.

  在上述项下创建2个值, 名字分别为: 194956, 2177774

  创建注册表值(HKLM|HKCU)\ SOFTWARE\Microsoft\Windows\CurrentVersion\Run 值名[a-zA-Z0-9]{10}, 内容为一个病毒hta文件全路径.

3.4 网络行为

  向Cusername>\Application Data 或

CSIDL_COMMON_APPDATA C:\Documents and Settings\All Users\Application Data

Novter无文件攻击分析报告-第1张图片-网盾网络安全培训 

后续步骤中提到的当前目录即为此目录

2) 遍历系统进程名, 检测是否有指定进程存在:

Novter无文件攻击分析报告-第2张图片-网盾网络安全培训 

比对时采用哈希值比较, 哈希算法如下:

Novter无文件攻击分析报告-第3张图片-网盾网络安全培训 

要寻找的哈希值:

Novter无文件攻击分析报告-第4张图片-网盾网络安全培训 

若发现存在, 以”p=p”为HTTP请求中可选字段向185.243.114.111发送信息:

Novter无文件攻击分析报告-第5张图片-网盾网络安全培训 

之后线程永久休眠。

3) 在本进程中查找指定模块名, 检测是否有指定模块, 若发现则报告”p=m”, 线程永久休眠.

Novter无文件攻击分析报告-第6张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第7张图片-网盾网络安全培训 

模块名哈希:

Novter无文件攻击分析报告-第8张图片-网盾网络安全培训 

方式均与步骤2中类似

4) 检测本机是否只有一个处理器, 若是, 则报告”p=c”, 线程永久休眠:

Novter无文件攻击分析报告-第9张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第10张图片-网盾网络安全培训 

5) 检测本进程是否被调试, 若是, 则报告”p=d”, 线程永久休眠:

Novter无文件攻击分析报告-第11张图片-网盾网络安全培训 

6) 检测本进程的线程睡眠是否有效, 若无效, 则报告”p=s”, 线程永久休眠。

Novter无文件攻击分析报告-第12张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第13张图片-网盾网络安全培训 

7) 启用"SeTakeOwnershipPrivilege"权限:

Novter无文件攻击分析报告-第14张图片-网盾网络安全培训 

8) 检测当前权限, 若权限足够, 则禁止windefender以及windows 更新:

Novter无文件攻击分析报告-第15张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第16张图片-网盾网络安全培训 

9) 创建线程, 向一个CC列表中的所有地址循环发送心跳包, 总数为1800次, 每次操作完成睡眠一秒:

Novter无文件攻击分析报告-第17张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第18张图片-网盾网络安全培训 

CC列表, 其中的accl部分:

Novter无文件攻击分析报告-第19张图片-网盾网络安全培训 

10) 创建hta文件, 保存到当前目录, 将本程序exe数据和一段内嵌ps脚本, 一段内嵌js命令保存到注册表中, 建立持续机制:

Novter无文件攻击分析报告-第20张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第21张图片-网盾网络安全培训 

这个键的会被创建在, 此键后续称为键1:

对于64位系统: (HKLM|HKCU)\Software\Wow6432Node

对于32位系统: (HKLM|HKCU)\Software\

此处的名称为随机名称, 均为10个字符长度, 每个字符可能为数字以及大小写字母. hta,js,ps的内容由于变量名随机故每次生成均不一样, 不过不一样的点也仅限于变量名.

持续机制有两种情况, 在第一种情况失败后会采用第二种情况:

1. 创建名为”76547890876578”的BITS任务, 设定回调命令行执行:

C:\Windows\System32\cmd.exe /c "C:\ProgramData\h1Jinr79hv.hta" & exit 1

Novter无文件攻击分析报告-第22张图片-网盾网络安全培训 

2. 根据权限在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run或HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下创建:

Novter无文件攻击分析报告-第23张图片-网盾网络安全培训 

 重启后, 由持续机制命令, 执行hta文件:

Novter无文件攻击分析报告-第24张图片-网盾网络安全培训 

如上图所示, hta文件最终读取并执行(js Eval)保存在注册表中的js代码:

Novter无文件攻击分析报告-第25张图片-网盾网络安全培训 

保存在注册表中的js代码会执行一段ps代码:

Novter无文件攻击分析报告-第26张图片-网盾网络安全培训 

此ps代码的功能为, 读取并执行保存在注册表中的ps代码:

Novter无文件攻击分析报告-第27张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第28张图片-网盾网络安全培训 

而保存在注册表中的ps代码的功能为, 将保存在注册表中的PE文件装载到本进程空间并执行, 至此持续化机制达成.

这个过程, 将混淆后的代码分散保存, 而运行时又能结合在一起, 单独地去看或调试某段代码, 就会有变量缺失的提示.

11) 判断当前进程权限, 若非管理员, 则使用CMSTPLUA COM接口过UAC得到管理员权限:

Novter无文件攻击分析报告-第29张图片-网盾网络安全培训 

12) 创建线程, 每6小时更新cc地址列表:

Novter无文件攻击分析报告-第30张图片-网盾网络安全培训 

从步骤9中, “acll”部分的cc地址, 获取数据:

Novter无文件攻击分析报告-第31张图片-网盾网络安全培训 

解析数据, 将配置数据保存到键一, 名为194956:

Novter无文件攻击分析报告-第32张图片-网盾网络安全培训 

故accl主要用于cc控制, acll主要用于下发配置.

13) 收集本机信息, 并发送信息到”accl”类服务器:

Novter无文件攻击分析报告-第33张图片-网盾网络安全培训 

收集的信息包括,系统信息, cpu,gpu信息, 反病毒产品信息, 内存信息, 本进程权限信息等等:

Novter无文件攻击分析报告-第34张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第35张图片-网盾网络安全培训 

Novter无文件攻击分析报告-第36张图片-网盾网络安全培训 

14) 在步骤13发送信息后,可能会收到后门指令,如

Novter无文件攻击分析报告-第37张图片-网盾网络安全培训 

包含自身清理, 功能暂停/恢复, 下载额外模块并执行, 设定步骤13~14的循环间隔等.睡眠一段时间,默认为90分钟,之后跳转到13步骤进入下一轮活动.

此后门没有在本机打开任何端口,主要靠自身发送HTTP请求,而连接的目标端口全是80或443端口,故隐蔽性较高。

5 总结

  该样本的持久机制使用BITS后台任务, 比较有特点且隐蔽, 另外后门的网络通讯均通过感染端主动发起HTTP请求方式, 也比较隐蔽, 能穿透内网。

值得注意的是, 若普通地启动此程序, 会导致本程序崩溃以及部分功能不表达,原因有两点:

i. 在sub_4014c6中, 作者为了消除内存中的hta,js,ps等文件数据, 使用memset, 对照常来说处于全局不可写数据段的数据进行清零:

Novter无文件攻击分析报告-第38张图片-网盾网络安全培训 

从这里可以看出, 此程序作者应该是确定此程序的数据段均可写, 这个程序有自己的加载方式。

ii. 在调用COM接口之前, 本程序中并没有任何一处位置调用CoInitialize或CoInitializeEx等函数, 也就会造成BITS接口调用失败. 显然, 根据本程序的水平, 作者不会犯这种错误, 那么此程序被装载进入的进程必定已经初始化。

 

6 附录(IOCs)

6.1 HASH

  a82dd93585094aeba4363c5aeedd1a85ef72c60a03738b25d452a5d895313875

6.2 C&C

  185.243.114.111













标签: 无文件攻击

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~