我使用cs直接生成exe木马,可以在火绒Windows虚拟机中经过添加信任后上线。
但是如果生成c语言shellcode,再使用加载器(内联汇编_asm)编译后的exe文件总是无法上线。
有没有佬知道这个是什么原因
生成shellcode手写木马无法上线
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 该回答引用自GPT-4o,由博主小ᶻZ࿆编写:
生成shellcode手写木马上线问题的分析
问题描述
你使用Cobalt Strike(CS)直接生成exe木马,可以在火绒或Windows虚拟机中经过添加信任后上线。但当你生成C语言的shellcode,并使用加载器(内联汇编_asm)编译后的exe文件时,总是无法上线。
可能的原因分析
Shellcode执行环境不匹配:Shellcode可能因为环境不匹配而无法正确执行。生成的shellcode在不同的操作系统或防护机制下可能被检测或阻断,尤其是在Windows环境中,如果没有正确的权限或者是被安全软件拦截,shellcode会被终止。
杀软检测:加载器中的shellcode容易被杀毒软件检测到。现代杀毒软件具备行为分析功能,能够检测加载器的可疑行为,即使shellcode本身没有被特征库标记,但加载器执行过程中可能触发防护机制。
编码或加密问题:在使用内联汇编或其他加载器时,可能对shellcode的编码或加密方式不正确。某些加载器可能会对shellcode的执行环境或方式有特定的要求,如果shellcode没有正确解密或加载,就会导致失败。
加载器问题:使用的加载器可能存在缺陷或与shellcode不兼容。加载器需要正确处理内存分配、权限提升、以及shellcode的执行流程。任何一个环节出错,都会导致shellcode执行失败。
沙箱或虚拟化检测:部分加载器或shellcode包含反沙箱或反虚拟化检测的代码,如果检测到是虚拟环境,可能会故意不执行。
权限问题:执行shellcode可能需要更高的权限,如果加载器没有以管理员权限运行,可能会导致shellcode无法正常执行。
建议解决方法
- 使用多种编码方式:尝试对shellcode进行不同的编码(如base64、xor等)来规避静态检测。
- 混淆与加密:通过混淆或加密工具对shellcode或加载器进行加密处理,避免被安全软件检测到。
- 调整加载器逻辑:检查加载器的代码逻辑,确保其对shellcode的加载和执行是正确的,可以考虑使用成熟的加载器模板。
- 手动调试:使用调试工具(如x64dbg、OllyDbg)手动分析加载器的执行过程,找到无法上线的具体原因。
- 沙箱逃逸:如果使用的是虚拟机,确保你的加载器有沙箱逃逸的能力,避免被虚拟机检测到并阻止。
如有帮助,题主可以帮忙采纳一下嘛,谢谢~
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
- ¥50 浦育平台scratch图形化编程
- ¥20 求这个的原理图 只要原理图
- ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
- ¥20 微信的店铺小程序如何修改背景图
- ¥15 UE5.1局部变量对蓝图不可见
- ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
- ¥20 sentry如何捕获上传Android ndk 崩溃
- ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
- ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?