摘要1、课程目标 1. 掌握WinInet库的使用 2. 实现HTTP/HTTPS请求 3. 学会FTP客户端编程 4. 理解WinInet在木马通信中的应用 2、名词解释 3、代码实现 3.1、示例1:HTTP GET请求 3.2、示例2:文件下载 3.3、示例3:FTP操作 3.4、示例4:C2 HTTP通信 4、课后作业 1. 实现HTTPS证书验证绕过 2. 添加代理支持 3. 实现断点续传下载 4. 编写HTTP隧道 5、扩展阅读 - WinInet API参考 - HTTP协议详解 - 安全通信实现
摘要1、课程目标 1. 实现远程进程列表获取 2. 掌握进程信息的序列化传输 3. 实现远程进程管理功能 4. 完善C2通信协议 2、名词解释 3、代码实现 3.1、示例1:通信协议定义 3.2、示例2:进程信息获取 3.3、示例3:C2 Agent完整实现 3.4、示例4:C2 Server进程管理界面 4、课后作业 1. 添加进程内存信息显示 2. 实现进程模块列表获取 3. 添加进程启动功能 4. 实现进程注入检测 5、扩展阅读 - Windows进程管理API - 远程控制协议设计 - 安全通信实现
摘要1、课程目标 1. 掌握UDP套接字的创建和使用 2. 理解UDP和TCP的区别 3. 学会使用原始套接字 4. 实现简单的网络工具 2、名词解释 3、使用工具 4、技术原理 4.1、UDP vs TCP 5、代码实现 5.1、示例1:UDP服务器 5.2、示例2:UDP客户端 5.3、示例3:UDP广播 5.4、示例4:原始套接字 - ICMP Ping 6、课后作业 1. 实现UDP文件传输 2. 编写端口扫描工具 3. 实现Traceroute功能 4. 创建UDP隧道 7、扩展阅读 - UDP协议详解 - 原始套接字编程 - 网络安全工具开发
摘要1、课程目标 1. 掌握获取本机网络配置信息 2. 学会使用Winsock初始化 3. 理解主机名和IP地址转换 4. 获取网络适配器信息 2、名词解释 3、使用工具 4、技术原理 4.1、Winsock架构 5、代码实现 5.1、示例1:Winsock初始化 5.2、示例2:获取主机名和IP 5.3、示例3:获取网络适配器信息 5.4、示例4:网络连接状态 6、课后作业 1. 实现类似ipconfig的网络信息显示工具 2. 编写DNS批量解析程序 3. 实现网络连接监控程序 4. 获取并显示路由表信息 7、扩展阅读 - Winsock2 API参考 - IP Helper API详解 - 网络编程最佳实践
摘要1、课程目标 1. 综合运用内核安全技术 2. 构建完整的进程保护系统 3. 实现内核级安全监控框架 4. 掌握驱动开发最佳实践 2、名词解释 3、使用工具 4、技术原理 4.1、综合防护架构 5、代码实现 5.1、项目1:综合安全驱动框架 5.2、项目2:用户模式控制程序 5.3、项目3:驱动IOCTL处理 6、课后作业 1. 扩展驱动添加文件系统监控 2. 实现事件日志的持久化存储 3. 添加网络连接监控功能 4. 实现规则配置文件的加载 7、最佳实践 1. 安全编码 - 所有用户输入必须验证 - 使用安全的字符串函数 - 正确处理异常 2. 性能优化 - 避免在回调中执行耗时操作 - 使用工作项处理复杂任务 - 合理使用缓存 3. 稳定性 - 充分测试各种边界条件 - 使用Driver Verifier…
摘要1、课程目标 1. 理解SSDT Hook的原理和实现 2. 掌握x86/x64下的Hook技术差异 3. 学会检测和还原SSDT Hook 4. 理解PatchGuard对SSDT Hook的影响 2、名词解释 3、使用工具 4、技术原理 4.1、SSDT Hook方式 5、代码实现 5.1、示例1:x86 SSDT Hook(传统方式) 5.2、示例2:Inline Hook实现 5.3、示例3:SSDT Hook检测 5.4、示例4:还原SSDT Hook 5.5、示例5:用户模式Hook检测工具 6、课后作业 1. 实现一个完整的Inline Hook框架 2. 编写SSDT Hook检测和还原工具 3. 研究不同反病毒软件的Hook检测方法 4. 分析PatchGuard的工作原理 7、扩展阅读 -…
摘要1、课程目标 1. 理解Windows系统调用机制 2. 掌握SSDT和SSDT Shadow的结构 3. 学会分析系统调用流程 4. 理解系统调用在安全中的应用 2、名词解释 3、使用工具 4、技术原理 4.1、系统调用流程 4.2、SSDT结构 5、代码实现 5.1、示例1:获取SSDT基址 5.2、示例2:枚举SSDT 5.3、示例3:系统调用监控 5.4、示例4:通过MSR获取系统调用入口 5.5、示例5:用户模式系统调用号提取 6、课后作业 1. 编写程序枚举完整的SSDT 2. 实现SSDT Hook检测功能 3. 分析不同Windows版本的系统调用号变化 4. 研究Infinity Hook原理 7、扩展阅读 - Windows系统调用详解 - SSDT Hook防护与检测 -…
摘要1、课程目标 1. 掌握注册表回调的注册和使用 2. 实现注册表操作监控 3. 学会拦截和阻止注册表修改 4. 理解注册表监控在安全软件中的应用 2、名词解释 3、使用工具 4、技术原理 4.1、注册表回调机制 5、代码实现 5.1、示例1:基础注册表监控 5.2、示例2:注册表保护 5.3、示例3:注册表审计日志 5.4、示例4:注册表隐藏检测 6、课后作业 1. 实现自启动项保护功能 2. 添加注册表值内容过滤 3. 实现注册表操作的实时告警 4. 结合进程监控实现行为分析 7、扩展阅读 - Windows注册表内部结构 - CmRegisterCallbackEx详解 - 注册表虚拟化和重定向
摘要1、课程目标 1. 掌握模块加载回调的注册和使用 2. 实现DLL加载监控 3. 学会阻止恶意DLL加载 4. 理解模块监控在安全防护中的应用 2、名词解释 3、使用工具 4、技术原理 4.1、模块加载回调机制 5、代码实现 5.1、示例1:基础模块监控 5.2、示例2:DLL加载黑名单 5.3、示例3:模块签名验证 5.4、示例4:DLL劫持检测 5.5、示例5:用户模式模块枚举 6、课后作业 1. 实现DLL加载白名单机制 2. 添加模块哈希校验功能 3. 实现驱动加载监控和阻止 4. 结合进程监控检测DLL注入 7、扩展阅读 - Windows模块加载机制 - DLL劫持防护技术 - 代码签名验证
摘要1、课程目标 1. 理解Windows对象管理器机制 2. 掌握ObRegisterCallbacks的使用 3. 实现进程和线程句柄监控 4. 学会防止进程被终止或注入 2、名词解释 3、使用工具 4、技术原理 4.1、对象回调机制 5、代码实现 5.1、示例1:基础对象回调 5.2、示例2:进程和线程同时保护 5.3、示例3:句柄审计日志 5.4、示例4:完整的对象保护驱动 6、课后作业 1. 实现完整的进程自我保护功能 2. 添加白名单机制允许特定进程访问 3. 实现句柄访问统计功能 4. 结合进程和线程回调构建完整防护 7、扩展阅读 - Windows对象管理器内部机制 - ObRegisterCallbacks签名要求 - 对象回调的性能影响分析