Yes.
What started as a meme grew into a full project. Just roll with it.
Here's our blog post about it: We Put A C2 In Your Notetaking App: OffensiveNotion
- 📡 A full-featured C2 platform built on the Notion notetaking app.
- 🚧 Easy setup: set up your Notion developer API account, drop the Agent to the target, run and enjoy!
- 🖥️ Cross-platform agent built in Rust that compiles for Linux and Windows with the same code base.
- ☢️ A range of capabilities including port-scanning, privilege escalation, asynchronous command execution, file download, and shellcode injection, all controlled from the comfort of a Notion page!
- 📜 Document as you go! The agent identifies special syntax to run commands, so feel free to use the rest of the Notion page to document your operation.
- 🕵️♀️ Stealth! C2 comms ride over the Notion API natively. Your C2 traffic looks like someone is using Notion for its intended purpose.
See the Quickstart guide on how to get going right away!
Please see the Wiki for setup, usage, commands, and more!
Done
- Quickstart
- Install
- Agent interaction
- Commands
- Linux commands
- Windows commands
- YARA Rules
- Python Setup Script for config options
- Dynamic Docker container spin up/tear down for agent generation
- Parse args for Docker build options
- Commands:
-
shell
-
cd
-
download
-
ps
-
pwd
-
save
-
shutdown
-
sleep [#]
to adjust callback
-
Done
-
Jitter interval for callback time
-
Commands:
-
getprivs
-
sleep [#][%]
to adjust callback and jitter -
portscan
-
-
Linux
elevate sudo
-
Windows
elevate fodhelper
-
Linux
persist bashrc
-
Linux
persist cron
-
Linux
persist service
-
Windows
inject
-
Windows
persist startup
-
Windows
persist registry
-
Persist:
- Windows
persist schtasks
- (Bonus)
wmic
- Windows
Done
- Compiles with Notion icon
- Mirror the notion.ico file 😈 (slightly red tint to logo)
- "Web delivery" via Flask and one-liner for remote download/exec (https://www.offensive-security.com/metasploit-unleashed/web-delivery/)
- Agent checks in by POSTing hostname and username to page title with asterisk if in an admin context (getprivs at checkin)
- Agent can spawn in kiosk mode Notion.so page at startup
For Next Release
- Linux
persist rc.local
- Linux
inject
(more of a shellcode runner than injection) - Windows
runas
(SCshell) - Windows
inject-assembly
(⚠️ large lift⚠️ ) - (Bonus) Windows
persist comhijack
- (Bonus) Windows
persist xll
This project has been a blast for me! I learned a ton about Rust and how the mechanics of a C2 work. So thank you to my co-creator @mttaggart for helping me along the way. None of this would have been possible without your technical acumen and creativity.
Thank you to Joe Helle (@joehelle) for the POC steps for the fodhelper UAC bypass.
Thank you to all of the great red team devs who came before me, too numerous to list them all, who have created some of my favorite tools. I’m continually inspired by the red dev innovation in our field.
-Husky
As a fairly new security person, I had no idea I'd end up working with such a fantastically talented, kind, and reliable partner and hacker as @HuskyHacks. It's been a true privilege to build this alongside him.
I want to thank the Taggart Tech community for supporting us along the way and always offering helpful feedback. This would not be possible without you all.
-Taggart
There is no way to make an offensive security relevant research tool and release it open source without the possibility of it falling into the wrong hands. This tool is only to be used for legal, ethical purposes including, but not limited to, research, security assessment, education. The dev team is not responsible for the misuse of this tool by anyone if used for illegal/unethical purposes. No animals were harmed in the making of this code base (although Cosmo keeps climbing on my keyboard and I have to put him over on the couch, which I'm sure must feel like torture to him).
See the LICENSE for more details.