如何使用Vger对已经过身份验证的Jupyter实例进行安全检测

发布于:2024-07-11 ⋅ 阅读:(9) ⋅ 点赞:(0)

关于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 <module>

下列命令可以查看工具所有可用的模块:

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