文章总结: 文档介绍Notion-C2工具,其为MythicC2框架配置文件,利用NotionAPI将C2流量伪装成正常协作数据。核心原理是通过数据库页面增删改查交换加密指令,实现隐蔽通信以绕过防火墙。文章详述了配置步骤、Agent实现逻辑及优缺点,指出其适合低频高隐匿渗透场景。结论强调防御方需加强SaaS流量审计,传统边界防御已不足应对此类基于信任站点的生存技术。 综合评分: 92 文章分类: 红队,渗透测试,安全工具,实战经验
Notion-C2:当红协作工具变身隐秘通信通道
原创
工具党 工具党
幻泉之洲
2026年3月12日 19:10 北京
一个基于Notion构建的MythicC2隐匿配置文件,它让恶意流量伪装成普通的团队协作数据流转,实现了在受信任站点上生存的高级渗透技巧。
01 这个工具解决什么问题?
想象一下,红队行动中传统的C2服务器被防火墙拦下的情景。换个思路,如果指挥控制的流量,完全走的是Notion、Slack这些日常办公软件的API呢?Notion-C2就是这样一种工具。它不是独立的恶意软件,而是一个为MythicC2(一个开源的C2框架)写的配置文件。它的核心思路是把C2服务器的功能,嵌进大家每天都在用的Notion里。
红队的Agent(受控主机上的程序)与C2服务器的通信,变成了对某个共享Notion数据库的“创建页面”和“查询页面”操作。从网络流量上看,这和产品经理在写需求文档、程序员在更新技术方案,没有任何区别。这是一种更高级的“基于信任站点的生存”(Living off Trusted Sites, LoTS)技术。
警告:该工具仅用于获得明确授权的安全测试、渗透测试及学术研究。未经授权使用涉嫌违法。
02 它的工作原理是什么?
整个过程就像在Notion里建立一个秘密留言板。
Agent要上传数据(比如执行命令的结果)时,它会在指定的Notion数据库里创建一个新页面。这个页面的标题是一个随机UUID,方向(direction)属性设为“in”,同时把自己Agent的唯一ID填进去。最关键的数据——经过加密和Base64编码的指令或结果——直接放在页面正文的代码块里。这样做的好处是,绕开了Notion单个属性2000个字符的限制,能传输更大块的数据。
C2服务器端(运行在Mythic容器里)会定时去查询这个数据库,找出所有未被处理(processed=false)、方向为“in”的新页面。它从代码块里读取数据,解密后交给Mythic主服务器处理。Mythic生成响应指令后,C2服务器端会再创建一个方向为“out”的新页面,把响应数据同样用Base64编码后放进代码块。
Agent则不断轮询,查找属于自己、方向为“out”且未处理的新页面,读取指令,执行,再将结果用“in”页面发回,形成一个闭环。整个过程,通信双方都只是在一个合法的SaaS平台上进行常规的增删改查。
数据流向示意图:
Agent Notion Database C2 Profile Container │ │ │ ├─── create page (dir=in) ────►│ │ │ base64(encrypted_data) │◄── query unprocessed ──────┤ │ │ ├──► Mythic Server │ │◄── create page (dir=out) ──┤ │◄── query page (dir=out) ─────┤ base64(response) │
03 如何配置与安装?
Notion端设置
首先,你得准备一个Notion工作区和数据库。
-
创建集成
:访问 notion.so/my-integrations,创建一个“内部集成”。创建成功后,记下那个以
ntn_开头的集成令牌(Integration Token)。这是你的API钥匙。 -
创建数据库
:新建一个“完整页面”类型的数据库。它需要包含以下列(属性):
| 属性名 | 类型 | 说明 | | — | — | — | | uuid | 标题 (Title) | 消息的唯一标识,由服务器自动填充 | | direction | 选择 (Select) | 选项:in(入站), out(出站) | | agent_id | 文本 (Text) | 发送该消息的Agent的UUID | | processed | 复选框 (Checkbox) | 消息被消费后勾选 | | size | 数字 (Number) | 解码后的载荷大小(字节) |
数据库的“创建时间”(created_time)属性Notion会自动添加,不用管。
-
分享数据库给集成
:打开你刚建的数据库,点击“分享”(Share),通过名称或邮箱邀请你创建的集成加入。务必给它“可以编辑内容”的权限。
-
获取数据库ID
:在浏览器地址栏找到你的数据库URL,其中包含一个32位的字符串,这就是数据库ID。通常是
https://www.notion.so/your-workspace/XXXXXXXX...中的“XXXXXX…”部分。
在Mythic中安装
如果你的Mythic已经部署好了,安装Notion-C2就一行命令。
cd /path/to/你的Mythic安装目录 ./mythic-cli install github https://github.com/0xbbuddha/notion
安装完成后,打开Mythic的Web界面,在“C2 Profiles”(C2配置文件)部分你应该能看到新增的“notion”选项。
参数配置
在Mythic UI里点击notion配置,填入以下两个核心参数,其他可以先用默认值:
-
integration_token
:你前面记下的那个
ntn_...令牌。 -
database_id
:你获取的那个32位数据库ID。
还有两个参数控制Agent的活跃度:
-
callback_interval
:Agent轮询新指令的间隔,默认10秒。
-
callback_jitter
:轮询间隔的随机抖动百分比(0-50),默认10%。这会让Agent的请求时间更不规则,更难被基于固定周期的检测规则发现。
这些参数会在容器启动时自动写入配置文件,你不需要手动去改config.json。
04 Agent端需要做什么?
要让你的Agent能用上Notion-C2,它需要具备调用Notion API的能力,实现两个核心操作:
-
发送数据
:调用Notion API的
POST /v1/pages来创建一个页面。需要设置好direction=in,agent_id=(自己的ID),并把加密后的数据做Base64编码,放到页面正文的代码块里。 -
接收指令
:调用
POST /v1/databases/{database_id}/query来查询数据库。查询条件是:direction=out,agent_id=自己的ID,processed=false。找到页面后,从代码块中读取数据,解码并交给Mythic的加密层处理。最后,记得调用PATCH /v1/pages/{page_id}把该页面的processed属性标记为true。
项目里提供了一个参考实现:C2_Profiles/notion/c2_code/notion_client.py,如果你的Agent是用Python写的,可以直接参考或集成这部分代码。
05 优点与局限性
先说优点:
-
隐匿性极强
:流量完全混迹于正常的SaaS服务,除非对Notion API的调用内容和模式进行深度行为分析,否则极难发现。
-
无需公网IP
:C2服务器端只需要能访问Notion API,不需要自己暴露端口,天然具备抗封堵能力。
-
利用现有信任
:目标组织的防火墙和代理服务器通常会放行对notion.so的访问,这是它最大的“护身符”。
局限性也很明显:
-
速度受制于API
:Notion的API有速率限制,大约每秒3个请求。这意味着你不能设置太快的轮询间隔,官方建议保持
callback_interval至少5秒以上。 -
依赖外网
:Agent和服务器都必须能访问互联网和Notion服务,在内网完全隔离或无外网的环境下失效。
-
数据处理逻辑稍复杂
:Agent端需要额外实现Notion API的交互逻辑,比传统的HTTP/S通信复杂一些。
-
大载荷自动分块
:对于超大数据,工具会将其自动切分成1800字符左右的块,虽然解决了限制,但也增加了传输的回合数。
06 总结
Notion-C2是一个思路巧妙的工具,它把C2通信基础设施的成本和风险,转嫁到了像Notion这样的第三方云服务上。对于需要进行高度隐匿、长周期渗透测试的红队来说,这是个值得研究的选项。它不适合需要实时交互或高速数据传输的场景,但在“低而慢”(Low and Slow)的渗透策略中,可能会非常有效。
说实话,这类工具的不断出现,也给防御方提了个醒:光靠封端口、黑名单IP的传统边界防御已经不够了。对于出站流量,尤其是流向主流SaaS服务的API流量,也需要建立更细致的审计和异常行为分析能力。攻防的战场,早就不只在边界防火墙那一层了。
获取方式:回复“notion”获取
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:幻泉之洲 工具党 工具党《Notion-C2:当红协作工具变身隐秘通信通道》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论