北岭敲键盘的荒漠猫 2024-09-09 08:53 采纳率: 85.7%
浏览 6
已结题

生成shellcode手写木马无法上线

我使用cs直接生成exe木马,可以在火绒Windows虚拟机中经过添加信任后上线。
但是如果生成c语言shellcode,再使用加载器(内联汇编_asm)编译后的exe文件总是无法上线。
有没有佬知道这个是什么原因

  • 写回答

1条回答 默认 最新

  • 小ᶻZ࿆ 前沿技术领域新星创作者 2024-09-09 22:41
    关注

    该回答引用自GPT-4o,由博主小ᶻZ࿆编写:

    生成shellcode手写木马上线问题的分析

    问题描述

    你使用Cobalt Strike(CS)直接生成exe木马,可以在火绒或Windows虚拟机中经过添加信任后上线。但当你生成C语言的shellcode,并使用加载器(内联汇编_asm)编译后的exe文件时,总是无法上线。

    可能的原因分析

    1. Shellcode执行环境不匹配:Shellcode可能因为环境不匹配而无法正确执行。生成的shellcode在不同的操作系统或防护机制下可能被检测或阻断,尤其是在Windows环境中,如果没有正确的权限或者是被安全软件拦截,shellcode会被终止。

    2. 杀软检测:加载器中的shellcode容易被杀毒软件检测到。现代杀毒软件具备行为分析功能,能够检测加载器的可疑行为,即使shellcode本身没有被特征库标记,但加载器执行过程中可能触发防护机制。

    3. 编码或加密问题:在使用内联汇编或其他加载器时,可能对shellcode的编码或加密方式不正确。某些加载器可能会对shellcode的执行环境或方式有特定的要求,如果shellcode没有正确解密或加载,就会导致失败。

    4. 加载器问题:使用的加载器可能存在缺陷或与shellcode不兼容。加载器需要正确处理内存分配、权限提升、以及shellcode的执行流程。任何一个环节出错,都会导致shellcode执行失败。

    5. 沙箱或虚拟化检测:部分加载器或shellcode包含反沙箱或反虚拟化检测的代码,如果检测到是虚拟环境,可能会故意不执行。

    6. 权限问题:执行shellcode可能需要更高的权限,如果加载器没有以管理员权限运行,可能会导致shellcode无法正常执行。

    建议解决方法

    • 使用多种编码方式:尝试对shellcode进行不同的编码(如base64、xor等)来规避静态检测。
    • 混淆与加密:通过混淆或加密工具对shellcode或加载器进行加密处理,避免被安全软件检测到。
    • 调整加载器逻辑:检查加载器的代码逻辑,确保其对shellcode的加载和执行是正确的,可以考虑使用成熟的加载器模板。
    • 手动调试:使用调试工具(如x64dbg、OllyDbg)手动分析加载器的执行过程,找到无法上线的具体原因。
    • 沙箱逃逸:如果使用的是虚拟机,确保你的加载器有沙箱逃逸的能力,避免被虚拟机检测到并阻止。

    如有帮助,题主可以帮忙采纳一下嘛,谢谢~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月18日
  • 已采纳回答 9月10日
  • 创建了问题 9月9日

悬赏问题

  • ¥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驱动,如何解决?