第116天:免杀对抗-EDR&Syscall-hook&DLL反射注入&白加黑&隐写分离&加载器

这篇具有很好参考价值的文章主要介绍了第116天:免杀对抗-EDR&Syscall-hook&DLL反射注入&白加黑&隐写分离&加载器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第116天:免杀对抗-EDR&Syscall-hook&DLL反射注入&白加黑&隐写分离&加载器,免杀对抗,免杀,golang,c#,开发语言,汇编文章来源地址https://www.toymoban.com/news/detail-600523.html

知识点

#知识点:
1、DLL劫持-自写&导入
2、DLL劫持-重写&分离
3、syscall-底层&项目

#章节点:
编译代码面-ShellCode-混淆
编译代码面-编辑执行器-编写
编译代码面-分离加载器-编写
程序文件面-特征码定位-修改
程序文件面-加壳花指令-资源
代码加载面-Dll反射劫持-加载
权限逻辑面-杀毒进程干扰-结束
工具数据面-通讯内存流量-动态

对抗目标:
X60 Defender 某绒 管家 VT等

编程语言:
C/C++ Python C# Go Powershell Ruby Java ASM NIM Vlang等。

涉及技术:
ShellCode混淆,无文件落地,分离拆分,白名单,DLL加载,Syscall,加壳加花,
资源修改,特征修改,二次开发CS,内存休眠,进程注入,反沙盒,反调试,CDN解析等

演示案例:

1、C&Py-DLL劫持-语言-调用加载
2、C&C++-DLL劫持-白加黑-导入加载
3、C&C++-DLL劫持-白加黑-导出编译
4、C&C++-DLL劫持-白加黑-图片分离
5、C&C++-Syscall底层-加载器生成-项目
#C&Py-DLL劫持-语言-调用加载
-dll.c生成dll
-dll.py调用dll

#C&C++-DLL劫持-白加黑-导入加载
StudyPE导入DLL生成

#C&C++-DLL劫持-白加黑-导出编译
导出源码:Dependencies
编译执行:dllmain.cpp

#C&C++-DLL劫持-白加黑-图片分离
图片分离:https://github.com/Mr-Un1k0d3r/DKMC
gen
set shellcode xxxxxx
run
编译执行:dllmain-image.cpp

#C&C++-Syscall底层-加载器生成-项目
Windows下有两种处理器访问模式:用户模式(user mode)和内核模式(kernel mode)。用户模式下运行应用程序时,Windows 会为该程序创建一个新进程,提供一个私有虚拟地址空间和一个私有句柄表,因为私有,一个应用程序无法修改另一个应用程序的私有虚拟地址空间的数据;内核模式下,所有运行的代码都共享一个虚拟地址空间, 因此内核中驱动程序可能还会因为写入错误的地址空间导致其他驱动程序甚至系统出现错误。内核中包含了大部分操作系统的内部数据结构,所以用户模式下的应用程序在访问这些数据结构或调用内部Windows例程以执行特权操作的时候,必须先从用户模式切换到内核模式,这里就涉及到系统调用。
x86 windows 使用 sysenter 实现系统调用。
x64 windows 使用 syscall 实现系统调用。

https://github.com/icyguider/Shhhloader
https://j00ru.vexillium.org/syscalls/nt/64/
https://github.com/7BitsTeam/EDR-Bypass-demo
https://cloud.tencent.com/developer/article/1944012

总结

之前介绍的是exe,现在讲的是"dll加载",当然exe的免杀技巧也可以用到dll加载上,比如加密混淆、分离等

dll加载主要涉及以下几种方式:
1、自写DLL调用加载:
由于dll无法直接执行,所以可以写一个py文件打包成exe,其只是用来调用dll,而dll中写有shellcode
2、DLL劫持-白加黑-导入加载:
利用进程工具获取白应用执行要加载哪些dll,将其中某个dll导入pe工具添加恶意dll函数,然后替换原来的dll,最后运行白应用
3、DLL劫持-白加黑-导出编译:(适用某些会检测dll劫持的应用,或者不能用pe工具导入dll函数的)
利用进程工具获取白应用执行要加载哪些dll,将其中某个dll导入反编译工具重新编译并添加上线功能,然后替换原来的dll,最后运行白应用
4、DLL劫持-白加黑-图片分离:
和之前所讲的图片隐写差不读,也就是在2或者3的基础上进行了分离,shellcode从图片中获取,增强免杀性
5、C&C++-Syscall底层-加载器生成-项目
没有用syscall实现上线时,会调用很多dll,然后dll会调用底层的函数,然后上线
使用syscall上线时,会直接调用底层函数上线,可以绕过一些EDR基于行为的检测

到了这里,关于第116天:免杀对抗-EDR&Syscall-hook&DLL反射注入&白加黑&隐写分离&加载器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ConsoleApplication17_2项目免杀(Fiber+VEH Hook Load)

    加载方式Fiber+VEH Hook Load Fiber是纤程免杀,VEH是异常报错,hook使用detours来hook VirtualAlloc和sleep,通过异常报错调用实现主动hook 纤程Fiber的概念:纤程是比线程的更小的一个运行单位。可以把一个线程拆分成多个纤程,然后通过人工转换纤程,从而让各个纤程工作。线程的实现

    2024年02月11日
    浏览(42)
  • 各种HOOK方式和检测对抗方法

    hook翻译过来是拦截的意思, 我们很多时候也叫钩子,其实是很形象的. hook有什么作用呢? 1.当代码执行到某行时,获取寄存器值和内存里的值,进行调试分析,例如hook明文包. 2.当代码执行到某行时,插入想执行的代码.例如迅雷拦截发包函数. 3.当代码执行到某行时,修改寄存器,达到

    2024年02月03日
    浏览(39)
  • Android hook、检测及对抗相关

    Xposed hook多个dex firda hook libart.so文件导出函数(专治各种静态找不到) hook liblinker.so hook init_array中的函数, 需要指定so名称,且会hook之后的所有so的init_array中的函数,可以通过hook_init函数中for循环,使用函数偏移过滤。 通过libc.so的底层dlopen函数实现dump so Xposed模块 新建Android项

    2024年02月06日
    浏览(50)
  • 网络靶场实战-免杀技术之dll注入技术详解

    DLL(动态链接库)注入技术是木马程序,远控程序免杀过程中很常见的一种技术。但是这种技术随着时间的流逝,免杀效果越来越差。因此,需要在原版的基础上我们需要去升级成反射注入,也是目前主流的免杀方式之一,反射注入的介绍我们在下面详解。 在我们继续下面的

    2024年02月07日
    浏览(64)
  • Java反射机制,动态代理,hook以及在Retrofit源码中的应用

    1.反射的基础知识: Java的反射机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机

    2024年02月13日
    浏览(43)
  • 使用windows钩子(HOOK)实现DLL注入

    在Windows中,每个进程有自己私有的地址空间。当我们用指针来引用内存的时候,指针的值表示的是进程自己的地址空间中的一个内存地址。进程不能创建一个指针来引用属于其他进程的内存。因此,如果进程有一个缺陷会覆盖随机地址处的内存,那么这个缺陷不会影响到其他

    2024年02月04日
    浏览(43)
  • C# 运用(codeDom和反射技术)动态编译dll ,动态调用

          在软件运用工程中,往往会根据各种各样,花样百出的需求来设计软件,在最近的项目中无意中,我就遇到了一个需求,据说是,客户要动态编译dll ,我“滴个乖乖”,这是要逆天啊! 话不多说,直接来点干货。 简单分享一下个小demo: 1.运用codeDom技术实现动态程序集

    2024年02月13日
    浏览(38)
  • C# Assembly 反射动态加载程序集(动态加载Dll)Demo

    No1、本Demo 定义了一个接口IserviceToolFrame,接口中有一个方法Run。 No2、在另外两个工程中,分别定义两个类serviceToolCatComplete、serviceToolDogComplete实现接口IserviceToolFrame。 No3、控制台程序通过动态加载Dll的方式去调用IserviceToolFrame的实例,输出不同的内容。代码如下: 动态加载

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包