释放的文件 绿化工具.exe逻辑,查找资源zip,zip资源是一个压缩包,里面还存放着5个文件,但是他们都是经过zlib压缩的数据块,并不能直接解压
经过第一个res_zip_unpack函数解压后,在第二个函数get_sssbat_data中再次使用zlib解压sss.dat配置数据,然后获得一些稍后需要用到的数据。
这个文件是经过zlib压缩的数据,在函数中用zlib解压还原。
(因为遇到过很多使用zlib压缩数据的病毒或数据,所以简单写了个命令行工具来解压或压缩数据文件,cczlib.exe)
在函数get_infomation_create_config中获取一些信息,创建XXXXXXX__config.dat文件,这也是一个经过压缩的配置文件,创建com对象构建稍后的劫持dll
函数cmp_system_createfile_safe32_zip根据系统来创建safe32/64.zip文件,创建的位置是:C:\Program Files\Common Files\System
函数uncode_arr_reg_safemonn64解密代码,读取配置信息的内容创建注册表项,为劫持explorer做准备
函数 cmp_system_create_dll创建文件到指定目录C:\Program Files\Common Files\System (根据系统释放64/32dll)
find_explorer_exe_process遍历explorer窗口,关闭进程后重启进程,explorer加载释放的safemonn32.dll
reare_unit_bat_run创建bat文件并执行,行为是删除自身及bat文件
病毒运行起来后注册表是受到释放的驱动保护的,无法直接查看,将驱动摘除可以看到注册表的键值。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\0OverlayIcon
值: {8D6E9E7B-57C4-4080-AAAE-5DC03C45B9D7}
对应的CLSID\下,能够看到explorer加载的dll位置。
(但是直接拿到的文件没有DOS头并且IDA识别导入表也是异常的,所以为了方便我设置了读取该文件规则,调试器附加explorer将dll给dump下来修复后查看)
Safemonn64/32.dll的逻辑相当于一个加载器与下载器,会加载绿化工具.exe释放的文件模块加载解密执行,explorer重启后执行dllmain,获取一些系统、模块等信息后将自身读到内存,映射到共享内存,并执行,检测自己需要的文件不符合则下载,并卸载自身模块。这样不但在explorer中使用工具查看不到该异常模块,还能够执行代码,逃避检测。
我也确实在这耗费了时间。然后设置规则附加dump到的。
获取一些时间信息,读取解压缩safe.zip,准备执行。
执行:
downfile:
卸载自身:
在内存中会加在safe.zip,然后解压执行:
Safe32.zip逻辑:查找资源、获取配置信息、创建病毒文件、驱动、创建注册表、劫持主页等。
判断信息,创建第一个线程执行下列函数,都有各自功能
获取浏览器的信息,这些浏览器都会被劫持。
safe_json_info会配置一些信息,在下面的load_json_info中使用
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2020-2-22 17:44
被Cc28256编辑
,原因: