RoadMap
整体方向¶
webshell 支持
我们将结合 webshell 中最先进的技术,以共享同一套插件基建的方式去兼容 webshell 中的各种技术。
互联互通
IoM 上的流量隧道不只是点对点的, 还将是网状的,甚至是构建一个受控机器的虚拟网络。
GUI
受限于各种原因, 我们暂时没有实现一个 GUI,但高效的工具必定会有一个用户体验较好的 GUI。
基于社区的插件生态
兼容 cobaltstrike 的 cna 插件生态。
实现自己的脚本语言的服务端/客户端插件,通过 lua 或者 yaklang,更或是任意语言的。
联动 ASM
通过 IoM 作为跳板, 将 ASM 引入到内网实现自动化的攻击面探测。
v0.0.1¶
短期计划
预计在2024年8月份发布
Implant¶
- 实现melefic调度器
- 支持异步调度module
- 实现task管理相关功能
- 实现module管理相关功能
- 实现基本命令
- cp
- mv
- cat
- rm
- mkdir
- ls
- cd
- pwd
- chmod
- chown
- env/setenv/unsetenv
- kill
- ps
- netstat
- upload
- download
- exec
- 实现拓展能力
- execute_assembly
- execute_shellcode
- unmanaged powershell
- execute_pe
- execute_dll
- inline_assembly
- inline_shellcode
- inline_pe
- inline_dll
- execute-bof
- memfd
- 实现module热加载
- 兼容sliver armory extension的dll加载
- 实现profile, 能自定义opsec特征
- 进程操作
- 进程镂空(process hollowing)
- 进程注入(process inject)
- 基本进程注入操作
- poolparty
- 牺牲进程 (sacrifice process )
- 父进程欺骗 (spoof parent process)
- 侧加载(sideload)
- bypass ETW
- bypass AMSI
- BlockDLL
- OPSEC
- syscall
- indirect syscall
- UDRL
- 内存与静态文件字符串混淆
Server¶
server是所有数据汇总处理的核心.
- 通过grpc实现全部的通讯
- 实现session, client, listener,job, event, task, connection的管理
- 重构数据库
- 解耦listener
- 实现session的message持久化存储, 并能从缓存中恢复
- 记录所有的操作, 并提供审计日志
- 实现deamon
- 实现rootrpc, 实现一系列高权限管理操作
- 证书管理与随机化证书特征
- 支持config管理server配置
Listener¶
listener是独立部署的组件, 通过pipeline解析并转发implant的数据到server
- 实现基本命令
- 实现pipeline相关功能
- 实现TCP pipeline
- 实现pipeline的wrap TLS
- 实现pipeline的wrap encryption
- 实现与server/client的交互
- 实现website相关功能
- 实现web的增删改查
- 实现与server/client的交互
- 提供独立的配置listener.yaml 文件
Client¶
- 通过交互式的tui尽可能提高cli的用户体验
- session explore
- file explore
- task explore
- armory explore
- command
- 实现armory相关功能
- 实现alias
- 实现extension
- 实现armory管理器
- 实现armory相关功能
- 实现module相关command
- 实现与server交互的相关命令
- 实现pipeline的相关命令
- 实现website的相关命令
v0.0.2¶
- 补全因部分测试项未通过导致v0.0.1未能如期发布的功能
- client端重构
- 从grumble切换到 https://github.com/reeflective/console
- 优化用户体验
- 优化TUI体验
- implant交互的基本命令按照其原本用法重写
- 支持website
- CI/CD支持
- 允许用户使用github action/docker等快速编译implant
- server/client的CI/CD
- implant优化
- 提供更多的编译选项, MSVC, MUSL等
- 优化编译时间
- winkit
- Inline PE
- RunPE cross arch (推迟到v0.0.3)
- Amsi Etw Community
- 实现mal插件功能
- 支持lua作为插件脚本语言(后续可能会支持CS的CNA)
- 创建mals插件索引仓库
- 添加插件使用文档与插件开发文档 (推迟到v0.0.3)
- 提供默认插件包
- gogo
- zombie
- spray
- 默认的lua拓展包 (推迟到v0.0.3)
- 基本Bofs, 参考Havok提供的BOF (推迟到v0.0.3)
- 添加第三方app通知的支持以及相关api
v0.0.3¶
- client
- 新增client端插件类型 golang
- 重构explorer
- 实现taskschd explorer
- 实现registry explorer
- 实现profile, 能自定义自动加载的插件集
- 初步实现通过client实现的自动化编译
- 修复 Client bug, https://github.com/chainreactors/malice-network/issues/16
- mals 插件仓库
- 实现插件从github自动下载管理
- 实现lua插件函数文件
- 提供lua插件定义文件
- 提供默认插件集合
- default-bof
- default-elevate
- default-stay
- default-move
- default-chainreactor
- server/listener
- 重构listener的parser, 尝试兼容第三方C2
- 添加donut, srdi, sgn等rpc, 实现shellcode的自定义操作
- implant
- 提供基本的流量加密选项
- 更优雅的自动化编译
- 实现Bind模式的implant
- 新的原生module
- services操作
- 注册表操作
- 计划任务操作
- token模拟相关实现
- screenshot (使用bof代替)
- WMI/COM (待定)
- StackSpoofer
- SleepMask Community , (计划使用新的堆加密技术代替)
- 实现stage 1 loader
- 实现autorun, 运行在编译时通过yaml配置一系列自动执行的任务
v0.1.0 (Professional release)¶
预计在2025年前发布, 此时IoM将具有一个下一代C2应有的能力. 并具有商业化的潜力, 赋能所有攻击模拟需求用户.
经过三个版本的迭代, 已经实现了绝大部分必要的组件, 我们终于有精力腾出手去实现 professional
professional 同样以implant源码的方式(不包含win-kit)交付给使用者, 共用server/listener/client基建
与Community对比新增的功能:
- OPSEC特性
- 专属的堆加密
- 定制indirect-syscall, alloc等各种细节
- 专属的进程注入方式
- 专属的SRDI
- 专属的PE loader
- 专属shellcode template
- 提供MSVC+GNU版本, 更自由的选择编译工具链
- ollvm(第一个版本可能来不及实现)
- 密码学前向后向安全
- 反沙箱
- 反调试
- 额外功能
- Professional 专属OPSEC工具包
- linux-kit
- 内置流量工具rem, 支持所有技术的代理与端口转发技术
v0.1.0 的主要工作将是完善文档, linux kit, ollvm, GUI
TODO list - client - [ ] 完善golang插件, 实现更自由的插件系统 - [ ] 实现基本的GUI client - implant - [ ] 添加更丰富的编译选项, 实现对implant每个细节的控制 - [ ] 实现llvm pass插件, 适配ollvm - [ ] 实现linux-kit - [ ] memfd - [ ] linux bof - [ ] execute_elf - [ ] execute_so - [ ] HVNC - [ ] 适配rem - [ ] 文档 - [ ] malefic-helper api文档 - [ ] 二次开发文档 - [ ] 插件的开发与迁移文档 - [ ] 各个功能的最佳实践文档 - [ ] 3-5篇技术细节文档 - [ ] OPSEC文档 - [ ] 重构设计文档 - [ ] 优化自动生成的插件与help文档
v1.0.0¶
终极目标
预计在2025年内发布, 此时的IoM将能作为一体化平台的一部分, 提供Post-Exploit部分能力.
(todo list 暂未细化, 施工中)
- 提供GUI
- 与一体化攻击平台集成
- ATT&CK
- 基于ATT&CK建立自己的OPSEC矩阵
- 添加ATT&CK攻击路线图自动生成
- OPSEC 模型