调用 dll 侵权_ShellCode免杀框架内附SysWhispers2_x86直接系统调用

本文介绍了ShellCode框架的使用,包括生成、加密、函数哈希计算和加载执行过程,强调了在32位和64位系统上的0环进入技术。此外,还提到了SysWhispers2_x86项目,用于获取系统调用号。该技术可有效绕过杀软检测,实现免杀。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本帖最后由 mai1zhi2 于 2021-1-28 12:27 编辑

文章来自:https://www.52pojie.cn/thread-1360548-1-1.html

如有侵权,请联系删除

1、概述

之前分析CS4的stage时,有老哥让我写下CS免杀上线方面知识,遂介绍之前所写shellcode框架,该框架的shellcode执行部分利用系统特性和直接系统调用(Direct System Call)执行,得以免杀主流杀软(火绒、360全部产品、毒霸等),该方式也是主流绕过3环AV、EDR、沙箱的常用手段。Ps:感谢邪八Moriarty的分享课。2、简要介绍
该框架主要由四个项目组成:GenerateShellCode:负责生成相关功能的shellcode。EncryptShellCode:负责以AES128加密所将执行的shellcode。FunctionHash:负责计算shell中所用到函数的hash值。XShellCodeLoader:负责执行加密后的shellcode。

2.1 GenerateShellCode
以简单弹窗messagebox生成的shellcode作介绍,定义的入口函数MyEntry(),先定义了GetProcAddr()、LoadLibaryA()和MessageBoxA()三个函数对应的hash,然后通过MyGetProcAddress()传入hash值和kernel32基址返回相关函数地址再进行调用

923b5b57f8c02a1c1d992ea75c6c525a.png自定义函数入口需在项目属性->链接器->入口点中进行设置:e0e12fecc72cb50c158f875a5ddc195e.png通过GetKernel32Base()函数获得kernel32基址:6be3c9177126f1b417d32f996731e90f.png通过MyGetProcAddress()函数传入hash值找出对应的函数名,函数内容就是解析kernel32的导出表,遍历每个函数并计算出相应hash并与传入的hash作比较:41bf95ec7fc0e209c05b06ff04bc2555.pngGetProcHash()把函数名转为相应的hash:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值