-
-
[原创]流行远控驻留手段—可绕过最新版Autoruns检查的开机启动项
-
发表于:
2024-8-18 17:00
2830
-
[原创]流行远控驻留手段—可绕过最新版Autoruns检查的开机启动项
近期响应一起钓鱼远控事件时,发现一个奇怪的样本,该样本运行后,在autoruns中找不到任何相关的启动项,但是开机时就是会启动起来并注入dvdplay进程,注入的远控模块就是此前流行的winos远控。
分析开机事件
于是开启procmon工具的boot logging功能抓取系统开机时的事件。
重启系统后打开procmon保存boot logging,快捷键Ctrl+T查看进程树,可以看到是userinit进程创建的cmd进程执行了一个C:\ProgramData\susu\uninstall.bat
脚本,这个bat脚本创建了一个SkyOption的进程,SkyOption进程在创建出傀儡进程dvdplay并注入后就退出了。
查看这个bat脚本,可以发现这个脚本是拼接两个jpg文件成SkyOption.exe后再执行,也就可以形成上面的进程树。
再次检查autoruns发现确实没有这个uninstall.bat脚本相关的启动项。
定位启动项位置
绝大多数启动项都能在注册表中找到键值对,而现在也能确定uninstall.bat大概率就是起始点(此前已清除过相关rootkit模块),于是在注册表搜索相关内容,发现在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\UserInitMprLogonScript
找到了这个bat脚本的启动项。
UserInitMprLogonScript这个注册表键看名字是个启动脚本,搜索这个注册表键的相关信息,可以搜到权限维持的相关内容,但无一例外涉及的注册路径都是HKCR\Environment\UserInitMprLogonScript
而如果我们使用命令 reg add "HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /t REG_SZ /d "C:\ProgramData\susu\uninstall.bat"
创建一个UserInitMprLogonScript同名键值对,发现Autoruns工具直接能显示出这个启动项。
而HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\UserInitMprLogonScript
路径下的却未能检查出,应该是目前版本的Autoruns还不具备检测规则,这可能也是一个此前不为大众所知的启动项。
这两个启动项的UserInitMprLogonScript
键值对有个共同点,都位于Environment
路径下,是否存在其他类似的Environment
路径也可以添加UserInitMprLogonScript
键值对,由于时间原因暂没去验证。
样本
文中的截图都是本地运行样本复现出来的现象,实际被远控的终端还被植入了Rootkit等一些其他模块来免杀和驻留,下次再另写一篇文章来分析吧,这个样本是个释放器,应该是用actual installer打包的,样本密码:infected
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)