攻击性 Shellcode
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/offensive-shellcode-sh-rjb5fn。
技能介绍
要解决什么问题
写 shellcode 不是把几段 opcode 拼起来就行。它得在未知地址执行、避开空字节、躲开静态签名,还要可测试、可复现。很多人卡在第一步:平台没定清楚,汇编写出来跑不起来。
它怎么工作
工作流分成六步,每一步对应 shellcode 开发里的一个真实痛点:
- 定义概念与目标平台:先明确 x86/x64、Windows/Linux/macOS,平台不同,系统调用和内存布局完全不同
- 编写位置无关汇编:用相对寻址、寄存器寻址,避免硬编码地址
- 提取二进制并在受控环境测试:先在隔离环境验证可执行性,再谈优化
- 空字节规避与优化:处理字符串常量,避免截断,同时压缩体积
- 编码/加密:用简单变换绕过静态特征检测
- 打包与投递:配合 loader,选择投递方式
适用边界与注意点
- 这个工作流面向授权安全测试场景,比如内部红队演练、渗透测试项目
- 测试必须在受控环境进行,不要把未经验证的载荷丢到生产环境
- 平台差异是硬约束,Windows 和 Linux 的系统调用机制不同,不能混用
使用场景
- 在授权渗透测试中编写跨平台 shellcode,先明确目标系统是 Windows x64 还是 Linux,再选择对应的系统调用和内存布局
- 为免杀测试准备载荷,需要对 shellcode 做编码或加密处理,绕过静态特征检测后打包成 loader 可用的格式
- 在受控沙箱中验证 shellcode 能否成功执行并维持会话,同时处理空字节导致的字符串截断问题
- 红队项目中需要根据目标环境定制 shellcode,通过位置无关汇编实现跨地址执行,并测试不同平台的兼容性
适合人员
- 安全研究员:需要在授权测试中快速验证不同平台下的 shellcode 可执行性
- 红队工程师:需要根据目标环境定制免杀载荷,并测试编码方案绕过静态检测
- 恶意代码分析师:需要理解 shellcode 开发流程,以便逆向分析未知样本的攻击逻辑
- 渗透测试人员:需要在受控环境中测试 shellcode 的稳定性和投递效果