首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用expect创建Nessus用户

基础概念

expect 是一个自动化交互式应用程序的工具,它允许脚本与用户进行交互,就像用户自己在终端中输入一样。它可以模拟用户输入,等待特定的输出,然后根据这些输出做出反应。这在自动化配置任务、创建用户等场景中非常有用。

Nessus 是一个流行的漏洞扫描器,用于识别网络中的安全漏洞。为了使用 Nessus,通常需要创建一个或多个用户账户。

相关优势

  1. 自动化:使用 expect 可以自动化原本需要手动完成的交互式任务,提高效率。
  2. 减少错误:自动化脚本减少了人为错误的可能性。
  3. 可重复性:脚本可以在任何时间、任何地点重复执行,确保一致性。

类型

expect 脚本通常分为以下几类:

  1. 登录脚本:自动登录到系统或服务。
  2. 配置脚本:自动配置系统或服务。
  3. 数据收集脚本:自动从系统或服务中收集数据。

应用场景

在 Nessus 中,expect 脚本可以用于:

  1. 自动创建用户账户。
  2. 自动分配权限。
  3. 自动配置扫描策略。

示例代码

以下是一个使用 expect 创建 Nessus 用户的示例脚本:

代码语言:txt
复制
#!/usr/bin/expect -f

# 设置变量
set timeout 20
set username [lindex $argv 0]
set password [lindex $argv 1]

# 启动 Nessus 并进入交互模式
spawn /opt/nessus/sbin/nessus-adduser

# 等待并发送用户名
expect "Username:"
send "$username\r"

# 等待并发送密码
expect "Password:"
send "$password\r"

# 等待并发送确认密码
expect "Confirm Password:"
send "$password\r"

# 等待并发送电子邮件(可选)
expect "Email address:"
send "user@example.com\r"

# 等待并发送全名(可选)
expect "Full Name:"
send "User Full Name\r"

# 等待并发送公司名称(可选)
expect "Company Name:"
send "User Company\r"

# 等待并发送电话号码(可选)
expect "Phone Number:"
send "123-456-7890\r"

# 等待并发送角色
expect "Role:"
send "User\r"

# 等待并发送完成
expect "Add User"
send "y\r"

# 等待脚本结束
expect eof

解决问题的步骤

  1. 安装 expect
  2. 安装 expect
  3. 编写 expect 脚本:如上所示,根据 Nessus 的提示编写脚本。
  4. 运行脚本
  5. 运行脚本

参考链接

通过以上步骤,你可以使用 expect 脚本自动化创建 Nessus 用户,从而提高效率和减少错误。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

nessus安装使用教程_kali安装nessus

Nessus Nessus是著名信息安全服务公司tenable推出的一款漏洞扫描与分析软件,号称是”世界上最流行的漏洞扫描程序,全世界超过75,000个组织在使用它”。...在Linux, FreeBSD, Solaris, Mac OS X和Windows下都可以使用 Nessus。...Nessus目前分为四个版本:Nessus Home、Nessus Professional、Nessus Manager、Nessus Cloud。...其中home版本为免费版本 安装 在tenable官方主页下载Nessus home版本安装包(选择 kali linux64位或32位安装包):http://www.tenable.com/products.../nessus/select-your-operating-system 一定要下载正确的版本:核实操作系统、软件包体系架构等 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

2.4K60

expect java,Expect 使用详解「建议收藏」

但是对于需要交互的场合则必须通过人工来干预,比如普通用户使用sudo命令时就需要我们手动输入密码;expect就是能够完成这种自动交互任务,而无需人的干预。...第2章 使用总结: 为什么先写总结,刚才是自己使用expect也纠结了一会,总结下,在结合下面的两个案例 1、需要注意先规划好expect 大概结构,实现效果,需要参数,路径、命令 2、写shell脚本注意...系统安装 apt-get install expect [/shell] 2.3 例子一:SSH 自动远程支持mkdir #提示写expect 需要两个脚本一个 .exp 和 .sh 如下: #创建一个.../usr/bin/expect  #解释器,告诉操作系统,使用expect必须加。...、传送中断开,因为expect默认timeout为30S 手动添加set timeout -1设置超时时间为无穷大,问题解决 在expect 脚本中添加 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人

2.9K40
  • nessus使用教程扫描_kali安装nessus

    1.打开浏览器,输入https://localhost:8834/登录Nessus. 2.输入你设置的账号密码. 3.进入首页,可以使用浏览器自带的网页翻译(如谷歌)。...8.点击save即可看到新增的策略,表示该策略创建成功。 9.策略创建成功后,必须要新建扫描任务才能实现漏洞扫描。点击My Scans到新增扫描任务界面,点击New scan新建扫描任务。...10.也可以点击user Defined选择用户自定义添加的扫描策略。 11.输入任务名称,扫描IP地址。点击save即可看到新增的扫描任务。...使用的自定义策略。 15.点击某一漏洞,将显示具体的漏洞信息。 16.点击export,即可导出扫描报告,可选择Nessus、HTML、CSV和Nessus DB格式。...版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    3.1K60

    工具使用 | Nessus扫描器的使用

    目录 Nessus Scans Settings 一个基本扫描的建立 自定义扫描策略 Nessus的高级扫描方法 Nessus Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它...Trash就是垃圾桶 Polices就是策略,策略允许您创建自定义模板,定义在扫描期间执行的操作。创建之后,可以从扫描模板列表中选择它们。从这个页面,您可以查看、创建、导入、下载、编辑和删除策略。...从此页面,您可以查看、创建、编辑和删除规则。 Scanners扫描,远程扫描仪可以通过升级链接到Nessus。一旦链接,就可以在本地管理它们,并在配置扫描时选择它们。...My Account就是管理员账号的一些信息,通过这里可以修改管理员账户的密码 Users是用户,从此页面,您可以查看、创建、编辑和删除用户。一旦创建用户将配置一个角色,该角色确定用户的扫描权限。...此外,每个用户都可以生成一个自定义API密钥来使用RESTAPI进行身份验证。 一个基本扫描的建立 一般我们要扫描一个主机或者网站的话,点击My Scans,然后New Scan新建一个扫描即可。

    3.6K20

    使用 shell 脚本批量创建用户

    使用for语句批量添加与删除特定用户: ? for语句的操作对象为用户指定名称的变量,并通过in关键字为该变量预先设置了一个取值列表,多个取值之间以空格进行分隔。...bash wangwu:x:1002:1002::/home/wangwu:/bin/bash zhaoliu:x:1003:1003::/home/zhaoliu:/bin/bash 删除刚刚添加的用户...while语句批量添加和删除用户名有规律的账号: ?...使用while语句是,有两个特殊的条件测试操作,即true(真)和false(假)。...使用true作为条件时,表示条件永远成立,循环体内的命令将无限执行下去,除非强制终止脚本,或通过exit语句退出脚本;反之,若使用false作为条件,则循环体将不会被执行,这两个特殊条件也可以用在if语句的条件测试中

    1.5K31

    使用Streamlit创建AutoGen用户界面

    但是AutoGen是用命令行模式进行交互的,这对我们的输入来说非常不方便,所以这次我们来对其进行改造,使用Streamlit创建一个web界面,这样可以让我们更好的与其交互。...它提供了可定制的代理,这些代理不仅可以与用户进行自动对话,还可以在代理之间进行自动对话。 AutoGen代理可以合并llm、人工输入和其他工具的组合,克服每个组件单独的局限性。...LLM 方案,这样就不用使用openai的付费API了 AutoGen完整教程和加载本地LLM示例 然后就是创建主聊天界面并处理输入: with st.container(): # for...,如果用户没有完成配置,将显示一个警告。...除此以外还要使用asyncio为应用程序处理异步操作做好准备。

    96340

    Nessus扫描器的使用

    Nessus 这是号称世界上最流行的漏洞扫描程序,全世界很多组织都在使用。该漏洞工具提供完整的电脑漏洞扫描工具,并随时更新其漏洞数据库。...Nessus不仅可以扫描网站,还可以扫描主机。它由一个执行任务的服务端,和一个分配任务的客户端组成。 它使用8834端口作为后台,本地配置端口即可转到登录后台页,输入账号密码即可登录。...从此页面可以查看,创建,编辑和删除规则。 Scanners:远程扫描可以通过升级链接到Nessus,一旦链接,就可以在本地管理,在配置扫描时扫描他们。...My Account:管理员账号的一些信息,通过这里可以修改管理员账户的密码 Users是用户,从此页面,您可以查看、创建、编辑和删除用户。一旦创建用户将配置一个角色,该角色确定用户的扫描权限。...此外,每个用户都可以生成一个自定义API密钥来使用RESTAPI进行身份验证。 一个基本扫描的建立 一般我们要扫描一个主机或者网站的话,点击My Scans,然后New Scan新建一个扫=扫描即可。

    2.1K10

    nessus使用教程扫描_pycharm详细使用教程

    Nessus简介 Nessus是十分强大的漏洞扫描器,内含最新的漏洞数据库,检测速度快,准确性高。...下载地址:https://www.tenable.com/downloads/nessus 账号注册 1.点击”Connent via SSL” 2.选择”Nessus Essentials”版本...3.填写注册信息,然后点击”Email”,nessus会给你发送一封邮件,包含code。...Nessus登陆页面 实例演示-扫描漏洞 1.输入你注册的账号密码进行登录,进入主页面。 2.点击“New Scan”新建一个扫描。...到此就完成了nessus的介绍,如果想了解更多的Kali工具,请关注我! 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    1.6K20

    linux下使用adduser命令创建用户

    adduser命令来自英语“add user”,该命令用于新增使用者帐号或更新预设的使用者资料。adduser 与 useradd 指令为同一指令(经由符号连结 symbolic link)。...语法格式:adduser [参数] 常用参数: -c 加上备注文件,备注文字会存储在 passwd 的备注参数中 -d 指定用户登录时的起始目录 -D 变更默认值 -e 设定此帐号的使用期限(格式为 YYYY-MM-DD...),预设值为永久有效 -f 指定在密码过期后多少天即关闭该帐号 -g 指定用户所属的群组 -G 指定用户所属的附加群组 -m 自动建立用户的登入目录 -M 不要自动建立用户的登入目录...-n 取消建立以用户名称为名的群组 -r 建立系统帐号 -s 指定用户登入后所使用的shell -u 指定用户ID 参考实例 建立名为linuxcool的用户账号: [root...@linux ~]# adduser linux 建立账号并指定有效期为2014年1月2日: [root@linux ~]# adduser -e 1/2/14 linux 为添加的用户指定相应的用户

    3.9K30

    渗透测试神器Nessus使用教程「建议收藏」

    Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥控,进行系统的漏洞分析扫描。.../ip:8834(注意是https),账号:admin 密码:admin Nessus家庭版最大只支持扫描16个主机,但利用docker无限使用,当然虚拟机快照也可以。...使用教程: 1.登录进入控制面板,新建扫描,再点击Advanced Scan ,配置扫描。 2.配置项目名称,对项目的描述,以及最重要的目标地址。...4.我们可以在Plugins选项中查看使用的插件信息。 5.配置完成后我们点击save保存。 6.点击三角号按钮开始扫描,点击本条任务即可查看扫描详细信息。...本文转载自天乐博客:http://blog.tianles.com/94.html 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    8K31

    Here Documents 结合expect使用--(1)

    here documents的语法为: cmd << delimiter # << 可以替换为 <<- , delimiter 也可以加上单引号来使用; Here Document...$1, 以及脚本中的其他变量等 使用expect 命令来解决自动交互问题是非常广泛的,expect有自己独特的语法,可以写expect脚本来解决复杂的交互问题;但是很多时候,我们会需要在shell中通过调用...expect脚本来解决交互问题;这时候就需要Here Documents 来帮忙; 在expect使用的时候,需要注意如下几点: expect ... send ......的语法结构使用的坑,对于下面的语法结构,有时候send命令并没有成功的执行,这是因为spawn产生的子进程而并不知道send已经结束 expect ... send ......也正是这个原因,所以expect一般在最后都会使用如下的结构: expect eof 看如下的例子: [root@localhost ~]# cat 1.sh #!

    39420

    Here Documents 结合expect使用--(2)

    ,我们也是没有办法知道的; expect给我们提供了一个特定的访问方法,那就是用 expect_out, 常用的有$expect_out(buffer) 或者 $expect_out(NUMBER,...; 要使用expect_out, 我们必须首先理解expect_out....当expect执行匹配验证的时候,它是 把sub-process的输出作为 被查找的对象,而用户提供的“匹配关键字或者正则表达式” 作为“查找对象”,那么被查找对象总是sub-process从头开始的所有输出吗...如果没有匹配到,$expect_out(buffer)的结果是不会更新的; 这一段理解起来有一点拗口,不过对使用 expect_out非常重要,我们通过下面的例子进行验证: [root@instance..." #第一次进行expect, 匹配到就输入密码; send "$1\r" #输入密码; expect "~]" #第二次进行expect匹配

    86610

    EJBCA使用之注册用户创建证书

    好了,废话不多说,马上进入正题,使用ejbca注册新用户并且为用户导出证书。 注册新用户:ejbca使用方式有两种:web和命令行。web很简单,网上很多教程,这里主要介绍命令行方式。...我们可以找到modules/ejbca-ejb-cli/src这个包里面都是使用命令行方式操作ejbca,而注册新用户是属于ra的操作,我们需要看org.ejbca.ui.cli.ra.RaAddUserCommand...,密码,dn(这个需要注意,必须要有cn,而且cn必须是唯一的),subjectAltName(这个没什么用,就NULL吧),ca名字,用户邮箱,用户类型(2是终端用户),最后的是证书类型(这里是pkcs12...为用户导出证书:这里就不能简单的使用junit测试了,因为我们需要使用ejb远程调用,所以我们需要创建一个web工程,放在jboss环境下。...然后我们创建一个servlet,在dopost里面导出证书吧(注意,必须是post里),代码如下: protected void doPost(HttpServletRequest request,

    1.6K40

    oracle创建用户 授权表,oracle创建用户及授权创建

    用户 建立:create user 用户名 identified by “密码”; 授权:grant create session to 用户名; grant create table to 用户名...,dba to 用户; select * from user_sys_privs;查询当前用户权限 grant connect,resource,dba to 用户;给dba权限 grant connect...,resource to 用户; grant unlimited tablespace to 用户; grant create database link to 用户; grant select any...autoextend on –自动增长 –还有一些定义大小的命令,看需要 default storage( initial 100K, next 100k, ); [sql] view plaincopy 例子:创建表空间...授予用户使用表空间的权限: alter user 用户名 quota unlimited on 表空间; 或 alter user 用户名 quota *M on 表空间; 完整例子: [sql] view

    4K10

    Here Documents 结合expect使用--(3)

    在上一节中,我们学习了 expect_out,但是还没有演示到底如何使用expect_out来获得spawn出来的sub-process中执行的命令的结果,这里我们来演示如下: #我们这里来获取top命令的前...这时候,我们可以通过修改expect的表达式为: expect -re "~]" 来实现 expect -re "(.*)\r\n(.*)\r\n(.*)~]" set...当expect_out满的时候,会触发 full_buffer 的匹配,我们只需要对这个full_buffer的匹配进行处理,把expect_out的内容取出,然后再继续进行expect就可以了(通过exp_continue...send "$1\r" expect "~]" send "top -bn2\r" expect { #在此expect...#这里不建议采用分组的方式,因为分组不合适可能导致部分输出的内容丢失; append outcome \$expect_out(buffer) #注意这里的append, 不能使用set

    41120
    领券