Skip to content

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管理器
  • 实现module相关command
  • 实现与server交互的相关命令
  • 实现pipeline的相关命令
  • 实现website的相关命令

v0.0.2

  • 补全因部分测试项未通过导致v0.0.1未能如期发布的功能
  • client端重构
  • 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 模型