如何使用Vger对已经过身份验证的Jupyter实例进行安全检测
关于V'ger
V'ger是一款功能强大的交互式命令行应用程序,广大研究人员可以利用V'ger与已经过身验证的Jupyter实例进行交互,并对其执行人工智能或机器学习方面的安全检测操作。
使用场景
1、作为红队研究人员,当我们寻找到了Jupyter凭证之后,可能会不知道能用它来做什么。V'ger的操作方式对于大多数红队研究人员来说都是比较直观的,可以直接帮助红队研究人员了解目标Jupyter服务器的功能;
2、作为红队研究人员,我们知道一些基于浏览器的操作可能会被合法的Jupyter用户看到。比如说,修改选项卡则可能在工作区中被发现,或在单元格中输入的命令将记录到历史记录中等。而V'ger能够帮助红队研究人员降低这些操作被发现的可能性;
3、作为人工智能领域的红队研究人员,我们可能需要针对AI/ML场景执行更实际的测试向量。比如说,可能需要对大规模网络数据集进行操作,而从源头修改数据集可能不太现实,或者会产生不良的影响。而在V'ger的帮助下,我们可以在内存中实现相同的目标,这是技术上的重大改进;
4、作为蓝队研究人员,我们可能需要了解Jupyter部署的实时日志记录,而V'ger可以帮助我们完成一些重复性的工作,并帮助我们测试目标设备的安全或执行安全事件应急相应;
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/JosephTLucas/vger.git
除此之外,我们还可以直接使用pip工具安装V'ger:
pip install vger
安装完成后,我们就可以直接运行工具并查看工具帮助信息:
vger --help
工具使用
当前版本的V'ger可以使用下列命令来获取完整功能:
vger interactive
绝大多数功能也可以通过非交互式方法并按照模块名称来调用:
vger
下列命令可以查看工具所有可用的模块:
vger --help
命令解析
一旦连接建立成功,用户就会进入一组嵌套的菜单。
顶级菜单
Reset:配置不同的主机;
Enumerate:用于了解有关主机更多信息的实用程序;
Exploit:对主机和组件执行直接操作的实用程序;
Persist:建立持久化机制的实用程序;
Export:将输出保存到文本文件;
Quit: 退出工具执行;
功能详解
List modules:识别目标实例中导入的模块,以确定哪些库可用于注入代码;
Inject:在所选实例的上下文中执行代码。代码可以在文本编辑器中提供,也可以通过指定本地.py文件来提供。任意输入都将作为字符串处理并在实例的运行时执行;
Backdoor:启动一个新的JupyterLab实例,打开到0.0.0.0;
Check History:查看目标实例中最近运行的ipython命令;
Run shell command:生成终端、运行命令、返回输出并删除终端;
List dir or get file:列出相对路径目录。如果不知道,请从开始/;
Upload file:将文件从本地主机上传到目标实例。与 List dir 相同的格式指定路径(相对于Jupyter目录),需提供包括文件名和扩展名的完整路径;
Delete file:删除文件。以与 List dir 相同的格式指定路径(相对于Jupyter目录);
Find models:根据常见的文件格式查找模型;
Download models:下载发现的模型;
Snoop:监视实例的执行情况和结果,直到超时;
Recurring jobs:在目标环境中静默启动/终止重复运行的代码片段;
实验性功能
V'ger还支持利用大语言模型生成目标实例的信息摘要,运行命令如下:
pip install vger[ai]
工具运行演示
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可协议。
项目地址
V'ger:【GitHub传送门】
参考资料
https://huggingface.co/jtlucas/pyds_sum
https://youtu.be/EfEpz0VGTx8