Skip to content

路线图

整体方向

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特征
  • token模拟相关实现
  • 进程操作
    • 进程镂空(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端重构
    • 从grumble切换到 https://github.com/reeflective/console
    • 优化用户体验
      • 提供配置文件生成与校验
      • 优化TUI体验
      • implant交互的基本命令按照其原本用法重写
    • 支持website
  • CI/CD支持
    • 允许用户使用github action/docker等快速编译implant
    • server/client的CI/CD
  • implant优化
    • 减少依赖项
    • 提供更多的编译选项, MSVC, MUSL等
    • 提供多运行时支持, tokio, futures
    • 提供基本的流量加密选项
    • 优化编译时间
  • winkit
    • Inline PE
    • RunPE cross arch
    • StackSpoofer
    • SleepMask Community (maybe)
    • Amsi Etw Community
  • 完成Professional相关功能打包并准备release
  • 实现mal插件功能
    • 支持lua作为插件脚本语言(后续可能会支持CS的CNA)
    • 创建mals插件索引仓库
    • 添加插件使用文档与插件开发文档
  • 提供默认插件包
    • gogo
    • zombie
    • spray
    • 基本Bofs, 参考Havok提供的BOF
  • 添加第三方app通知的支持以及相关api
  • 待定
    • ollvm
    • stage 0 generator
    • mals 插件仓库

发布Professional

预计9-10月发布

Professinal 同样以implant源码的方式(不包含win-kit)交付给使用者, 共用server/listener/client基建.

与Community对比新增的功能:

  • OPSEC
    • 定制特征的SleepMask
    • 堆栈混淆(StackSpoofer)
  • 提供新的编译工具链
    • 基于cross的交叉编译工具,
    • 通过xargo定制std以及其中特征
    • ollvm(第一个版本可能来不及实现)
  • professinal版本的win-kit,
    • 允许定制indirect-syscall, alloc等各种细节
    • 提供MSVC+GNU版本, 更自由的选择编译工具链
  • 嵌入流量工具 rem
  • stage 0 generator

v0.1.0

中期计划

预计在2025年前发布, 此时IoM将具有一个下一代C2应有的能力. 并具有商业化的潜力, 赋能所有攻击模拟需求用户.

对于IoM来说, 在计划中但是还未实现功能实在太多了, 多到没办法通过Todo List展示.

我们添加了roadmap.md用来管理IoM的进度.

(todo list 暂未细化)

  • generator loader
  • 自定义的ollvm 编译器
  • OPSEC
    • sleep mask
    • 堆栈混淆
    • 定制化的OPSEC相关功能
  • 解耦rpc与melefic的关联, 并提供自定义implant的api与文档
  • HVNC
  • 使用rem作为内置流量控制器
  • 提供与server交互的SDK
  • 初步支持webshell
  • 提供完整的文档说明
    • 用户手册
    • 插件开发文档
    • SDK文档

v1.0.0

终极目标

预计在2025年内发布, 此时的IoM将能作为一体化平台的一部分, 提供Post-Exploit部分能力.

(todo list 暂未细化, 施工中)

  • 提供GUI
  • 与一体化攻击平台集成
  • ATT&CK
    • 基于ATT&CK建立自己的OPSEC矩阵
    • 添加ATT&CK攻击路线图自动生成