问题出在进程树上,webshell上线后,木马的父进程为apache等中间件,而正常点击或cmd上线的父进程为explorer.exe,杀软正是利用此方法进行行为检测。
为了逃离进程树,可以使用白加黑的方法。例如,利用update.exe具有微软签名且可拉起新进程的特性,将木马文件放在current目录下,通过运行特定命令来启动木马,从而绕过杀软的拦截。
不仅可以在实战中利用此方法上线cs,还可以运行其他提权、内网穿透工具等。
情景再现
作为一个刚入门的免杀初学者,实战中常常会遇见这种情况
明明木马在本地正常运行,不管是双击打开还是cmd打开,各种杀软都无反应
一到webshell上线,就是启动不了
直接cmd或者虚拟终端启动都会报毒
原因解析
笔者尝试后发现,原因出在进程树(进程链)上
相关文件:sdb.exe(cs木马)
正常我们在本地直接点击exe或者使用cmd打开我们的木马,(根)父进程都是explorer.exe
本地使用cmd
本地直接点击
webshell上线后运行
但是webshell上线后,运行木马的父进程为apache
原因总结
在webshell上线时木马的父(根)进程为apache等中间件,而正常点击或者cmd上线父(根)进程为explorer.exe
而杀软正是利用此方法进行行为检测
绕过方法(另类白加黑)
为了逃离进程树,我们可以使用白加黑的方法,实现白加黑的方式很多,不一一列举
参考Tide重剑无锋师傅的文章:https://www.freebuf.com/articles/system/232074.html
因update.exe具有微软签名,同时可拉起一个新进程,以下笔者以Microsoft teams为例
将teams安装后,找到默认安装路径中的update.exe
默认为:
C:\Users\username\AppData\Local\Microsoft\Teams
将无用的其他文件删除,并在current目录下放置木马,只留下以下内容确保可正常执行
<DIR> current
<File> sdb.exe(木马文件)
<DIR> packages
<File> RELEASES
<File> Update.exe
在目标服务器上配置好后直接运行以下命令(无需安装,生成/上传对应目录及文件即可)