# 序言

### 为什么会写这个免杀教程

众所周知，当一款免杀工具公布到网上，那么用的人多了，它的特征会被杀软工具收集。github上有很多优秀的项目，当star数超过500以上，那么就说明用这个项目的人就很多，自然而然地有将工具放到在线检测工具进行分析或有某些安全厂商的研究人员看到了也会进行分析，从而导致免杀效果大大降低。所以有时候，并不是工具不优秀，还是太过优秀，各安全厂商就会收集该工具的特征，所以有必要自己开发一下安全工具，而开发安全工具又需要免杀方面的知识。

为什么我要写这个教程，本人受惠于互联网的开源精神，学习到了很多免费公开的技术，所以我就将自己的感想和理解汇聚成文章，然后开源出去，让更多的人了解与学习。

还有一点，在整个渗透流程中，免杀对抗贯穿始终，从前期上线cs和msf到各种渗透工具的使用，我们一直与杀软斗智斗勇、互相对抗，免杀的重要性在这个过程中体现的淋漓尽致。所以必要的免杀的技能和工具可以使你在渗透过程中游刃有余，犹如天助。

### 目录结构

第一章介绍了恶意软件相关的基础知识，从PE文件结构到WindowsAPI，再到对进程与内存的探索，以及各种加密和保护技术的讨论。

第二章则深入研究了执行与注入技术，包括各种注入方式的详细讲解以及相关技术的应用。这一章节旨在帮助读者深入理解恶意软件的传播与执行机制。

第三章则聚焦于防御规避，通过讨论动态获取API函数、内存加密、Hooking技术等方式，帮助读者了解如何规避AV/EDR的查杀，更加符合操作安全（OPSEC-Operations Security）。

第四章则介绍了红队武器化，即利用前面的第一、二、三章介绍的技术手段，开发出适用用于在被AV/EDR严密监控的环境下，到达获取红队目标而不被发现的工具，这要求读者具备一定的编程技术，最好是熟悉C/C++。

第五章则介绍了作为攻击者的我们如何主动出击，致盲或者杀死AV/EDR。

本教程旨在为信息安全从业者、研究人员以及对恶意软件分析感兴趣的读者提供一份全面而实用的指南。无论您是想深入了解恶意软件的行为，还是希望提升自身的安全意识和技术水平，本教程都能为您提供宝贵的参考和指导。

最后就因本人水平低下，不保证所写文章的正确性，大部分原理和技术都是以学习的态度写下的，仅供参考使用，希望对你有帮助。

目录结构

* 第一章：基础
  * 基础
  * PE文件结构
  * WindowsAPI
  * 混淆加密
  * 特征修改
  * 分离
  * 转换
  * 保护
* 第二章：执行与注入技术
  * 创建线程注入（CreateThread Injection）
  * 创建纤程注入（CreateFiber Injection）
  * 建远程线程注入（CreateRemoteThread Injection）
  * 创建堆注入（HeapCreate Injection）
  * 创建线程池注入（CreateThreadpoolWait Injection）
  * 进程镂空注入（Process Hollowing Injection）
  * DLL镂空注入（DLL Hollowing Injection）
  * DLL劫持注入（涉及白加黑）
  * 映射注入（Mapping Injection）
  * 以文件映射远程线程注入
  * MapViewOfFile+NtMapViewOfSection
  * 挂钩注入（SetWindowsHookEx Injection）
  * 注册表注入
  * 设置上下文劫持注入（SetContext Hijack Injection）
  * 剪贴板注入（Clipboard Injection）
  * 突破session 0远程线程注入
  * 枚举RWX区域注入
  * APC注入（APC Injection）
  * APC & NtTestAlert Injection
  * APC劫持
  * Early Bird
  * 内核回调表注入（KernelCallbackTable Injection）
  * 反射DLL注入（Reflective DLL Injection）
  * 内存申请总结
  * 移动或复制shellcode总结
  * shellcode执行总结
* 第三章：防御规避
  * 动态获取API函数
  * 内存加密
  * 函数调用序列欺骗
  * 间接执行命令
  * 劫持执行流程
  * 使用未导出API
  * 伪装
  * 系统调用
  * 重写ring3 API函数
  * 重载ntdll
  * Amsi Bypass
  * ETW Bypass
  * Hooking技术
  * PPID Spoofing技术
  * unhooking技术
  * Windows日志隐藏
  * 程序自删除
  * 管道
  * 隐藏工件
  * 白加黑
  * 分治注入思想
  * 跨进程位数注入
  * SMC（自解密）
  * 自实现Hash算法
  * WhiteFile Offset Table Generate Shellcode
  * ……
* 第四章：武器化
  * 技术-基于反射型DLL注入的一次性武器研发
  * 技术-基于自实现x86 Shellcode的武器研发
  * 技术-基于自实现x64 Shellcode的武器研发
  * 技术-基于donut生成的shellcode武器研发
  * 技术-内存加载Powershell
  * 技术-Cobalt Strike BOF
  * 技术-Execute .NET Assembly
  * 技术-Inline-Execute .NET Assembly
  * 例子-读取剪贴板内容
  * 例子-键盘记录
  * 例子-屏幕截屏
  * ……
* 第五章-主动进攻
  * 用户权限以命令行kill AV
  * Administrator权限以命令行kill AV
  * 致盲核晶
  * kill 360
  * kill 火绒
  * kill defender
  * ……
