乐于分享
好东西不私藏

kali+openclaw+qq机器人实现自动化安装图文教程

kali+openclaw+qq机器人实现自动化安装图文教程

小龙虾安装

首先打开官网https://openclaw.ai/ 

可以看到快速安装的指引,直接使用命令就行,使用什么操作系统访问官网,就会默认显示对应操作系统的命令。

现在使用这个命令开始安装,如下图:首先会检查node.js和npm包是否安装,如果未安全也可以单独安装这2个软件,或者通过在线安装的方式也可以安装这2个软件。因为我已经安装过了,所以环境检查直接通过。

然后来到下一步,输入yes,再选择快速模式,quickstart 就会进行快速配置模式

然后下一步,选择大模型配置,这里我选择的是deepseek,选择其他的类似,输入对应的API key

接下来选择channel status,主要是选择一个通讯工具,用来与小龙虾进行通信,我这里直接选择qq机器人如下图:

根据提示输入对应的qq机器人的id 和appsecret,可到https://q.qq.com/qqbot/openclaw/login.html?redirect_url=https%3A%2F%2Fq.qq.com%2Fqqbot%2Fopenclaw%2F官网申请

系统配置

然后后面搜索产品选择,可以默认免费,也可以使用其他的,可能需要输入api key

最后是skills选择安装,可根据需要选择skills。

下一步就可以了,安装就结束了。通过openclaw –version 如果返回了版本号,说明没有问题。

服务启动

通常情况下,安装完成之后已经自动启动了服务。如果没有启动可以通过命令openclaw gateway start  启动。然后通过web访问http://127.0.0.1:18789/(默认端口18789),就可以看到小龙虾的web管理端了

可以看到的是这里需要输入token和密码,这里已经告知你了如何获取token

使用openclaw dashboard命令执行之后,会自动打开浏览器,然后带token登入

或者直接查看配置文件

使用

默认情况下是未设置密码的,只需要token就可以登录成功:

默认进入聊天界面,我们试一下配置的大模型能否使用,输入hello,之后得到响应说明大模型可用。

接下来来到overview模块设置下语言,改成中文

我们设置了qqbot的,看看在哪儿?在频道中。

到这里基本上的配置就结束了,理论上来说可以使用了。

通过qq机器人来调用小龙虾试试看:

到这就成功使用小龙虾+qq机器人管理kali系统。

创建渗透智能体

虽然openclaw有自己的web端,但是在web端能干的管理模式却不多,比如创建agent:在agents模块,可以看到存在一个默认的agent(main),main是OpenClaw在安装时就自动创建好的默认智能体。

只有通过命令行的方式进行创建,通过命令行可以更精准地配置工作区、路由等核心参数,这是一种更专业、更高效的管理方式,同时也需要一定的门槛,如下:

openclaw agents add pentest --workspace ~/.openclaw/workspace-pentest

pentest:这是新Agent的名字(ID),可自定义名称。Agent的ID必须唯一,且不能是 main 这个保留名称  –workspace:这个参数指定了Agent专属的工作区,它的所有操作都会被限制在这个文件夹里,既安全又方便整洁

创建成功之后,在它的目录下会生成对应的工作目录。

并自动创建如下文件:

接下来给agent赋予技能(skills)

打开这个agents.md文件,拉到最后一行如下:

根据提示,可选择保留现有内容:里面的记忆管理、心跳机制等规则是通用的,对我们新建的Agent 也同样有用,删掉反而会让 Agent 行为变得不可预测,根据这个指导,可以在最后添加属于我们自己的规则如下:

保存!我们这里给它一个nmap-scanner的技能。

创建skills

现在有了agent,就可以给他技能了,这样它就能根据技能完成对应的工作任务。openclaw不会自动创建skills文件目录,需要手动给他创建。比如因为上面我们给他了一个nmap-scanner的技能,但是并不存在这个技能,所以需要我们自己创建它。如下操作:进入到pentest的workspace目录下创建skills目录,然后创建skills名称对应的文件夹,在里面创建SKILL.md文件。用来描述skill或者执行对应的操作。

这里需要最好使用markdown格式编写。这样就完成了一个简单的skill。现在再到我们web端来看看。

这里多了一个我们刚才创建的agent。选择这个agent

可以看到skills中,多了一个workspace skills,并且它就是我们刚才完成的技能。点击右侧按钮开关启用即可。

思考

我们的skill中并没有写如何操作nmap,并且我们的qq bot 绑定到main智能体上的。现在我们有2个智能体了,再通过聊天的方式来看看这个过程。

直接查询当前qq机器人绑定的哪个智能体

然后我们尝试切换到渗透测试智能体:

然后会提示说没有代理过去,无法切换。就是因为当前的机器人绑定到main智能体上的,我们的会话只能发送给main智能体。

但是我们在kali系统中,它自动给我创建了一个临时的智能体。

我们并没有说具体如何操作nmap,但是它却实现了操作。为什么?

答案在这个agents的tools这里

我们看看具体有些什么:比如命令执行,web 浏览等等很多很多,都是小龙虾实现的基础功能,我们只需要通过skills里面的描述,它就能通过这个tools中的命令执行去调用对应的工具,tools是智能体真正干活的基础能力,比如文件操作,命令执行,网络通信等等。

QQ bot-智能体绑定

那现在来解决前面的问题,如何将这个qq机器人绑定到对应的智能体上。首先看看这个qqbot的账号ID,通过命令openclaw channels status:

或者这里显示的default,就是它在openclaw中的ID,通常情况下默认是default。

然后通过命令:openclaw agents bind –agent pentest –bind qqbot:default 将其绑定到pentest上。

这样就实现了智能体与聊天机器人的绑定。实现了权限隔离,避免直接使用main,然后再pentest的skills和tools中分别对其能进行的操作进行控制即可。比如下面这样

将不需要的技能和tools全部禁用,防止其权限过大。如果想切换到main绑定可以通过:openclaw agents unbind –agent pentest –bind qqbot:default  取消绑定。

用pentest智能体进行扫描:

我们到pentest的工作目录下去看看:扫描结果已经保存。

到这就完成了第一个小龙虾智能体的创建。通常skills可以丰富我们的技能,并可以执行自己的一些自定义的行为,比如执行代码,脚本等等。

丰富skills

同样的openclaw不会自动创建脚本文件,需要我们手动完成,在skills的对应技能文件夹下创建scripts,就可以了。

然后在里面写上我们的test.py。没有任何操作仅作实验。

然后还需要再skiil.md中加入脚本,告诉它要执行的脚本:如果是更加复杂的操作,其实就可以通过脚本来完成,毕竟skiil.md都是自然语言,调用现有的工具,如果没有的工具或者自定义的一些操作,就可以通过脚本完成。

然后接着用qq bot,让他用skills,看它的执行过程,果然执行了脚本。但是因为是扫描,所以无用的信息它并不会输出,尽管我们脚本就是简单的输出,大模型还是很聪明的,没有意义的会被省略。然后生成检测报告。

开启沙箱

为了执行安全我们还可以为每个agent设置沙箱,只需要通过命令开启即可。

openclaw config set –agent pentest –path “sandbox.mode” –value “all”

openclaw config set –agent pentest –path “sandbox.scope” –value “agent”

这样最简单的智能体就完成了!

结束

到这里基本就已经拉通了从openclaw安装到使用的全部基础内容。其实我们应该也发现了一个问题,要想小龙虾真的干活,主要是还是取决于我们使用者的能力,我们要把工作拆解成可执行的流程,转化成skill让小龙虾去执行,如果没有现成的工具来完成自动化的工作,还需要我们通过脚本来完成。但是大部分人其实不具备这个能力,大多数人可能还是像我们上面这样,使用系统中现有的工具。比如我们渗透测试中的从信息搜集到漏洞挖掘的这个流程,还需要拆分成AI可替代的流程,这也是最重要的事情,如果要让智能体直接使用kali里面的工具,但是成百上千的工具,具体如何使用,流程如何,怎么样最有效,这就是我们需要探索的内容。