首 页
网络学院
视频教程
资源下载
HOT
实例教程
图文教程
专题中心
学习社区
繁體中文
当前位置:
首页
>
图文教程
>
操作系统
>
Unix/Linux
> Nessus安全测试插件编写教程2
Unix/Linux
Linux系统下如何监视系统资源使用率
怎样在Red Hat Linux上使用BIND建立DNS服务器
多点触控技术终于在Linux中实现
中科红旗Linux桌面7.0版引入QtSDK组件
系统启动管理器与GRUB
Linux系统下配置CVS集成cvstrac
解析Linux操作系统下usr的目录结构
Linux系统与Windows系统的线程有何不同
黑客怎样入侵Linux系统
维护inittab配置文件时需要注意的事项
FreeBSD为powerd设置cpu最小工作频率
如何配置Linux才能保证其系统的安全
光驱的软开关与限速简介
新手教程之创建锁文件的方法
双系统计算机怎样卸载其中一个?
运行Linux时的快捷键使用
phpMyAdmin安装方法及介绍
Wine中中文存在很多的乱码怎么解决?
Linux教程:tail命令的巧妙应用
Wget命令来浏览网页的方法
No.
«
‹
1
2
3
4
›
»
技术文章搜索
关键字
Unix/Linux 中的 Nessus安全测试插件编写教程2
出处:
互联网
整理:
软晨网(RuanChen.com)
发布:
2009-11-01
浏览: 55 ::
收藏到网摘: n/a
iptables的状态检测机制
Nessus安全测试插件编写教程1
Nessus安全测试插件编写教程2
Nessus安全测试插件编写教程2作者:Renaud Deraison翻译:nixe0n1.怎样编写一个高效的Nessus安全测试插件在Nessus安全测试系统中,所有的安全测试都是由nessusd进程发动的。在测试期间,一个好的测试插件必须能够有效地利用其它测试插件的测试结果。例如:一个测试插件需要打开一个到FTP
服务器的连接,而在这之前它应该首先检查
端口扫描测试插件的结果,确定FTP端口是否打开。在一般情况下,这样只会节约一点点时间,但是如果被测试主机位于
防火墙之后,这样做会节省由于防火墙丢弃到21端口的
TCP报文造成的漫长等待时间。1.1.确定端口是否打开get_port_state()函数用于获得端口的状态。如果端口为开,这个函数就返回TRUE;反之,则返回FALSE;如果这个端口没有被扫描过,也就是其状态为未知(unknown),函数也将返回TRUE。这个函数只消耗很少的CPU资源,因此你可以尽可能地使用它,来提高测试插件的效率。1.2.基础信息(Knowledge Base,KB)在测试过程中,Nessus会为每个主机维护一份由扫描测试插件获得的基本信息(Knowledge Base,这个词本来应该是基础知识的意思,但是这里似乎翻译作基本信息更为恰当^_^)。各种其它的测试插件应该尽可能地利用这些信息,以提高测试效率。实际上,端口的状态就保存在这里。KB被分为好几类。Service类包含每个已知的服务和为其分配的端口号。例如,在大多数情况下,Server/smtp的值为25。但是,如果远程主机的SMTP服务被隐藏于2500端口,这个值就改为2500。有关基本信息各个元素的细节请参考附录B。在NASL中,有两个有关节本信息(KB)的函数。使用get_kb_item()函数可以获得基本信息的项的值,这个函数是匿名函数;而函数set_kb_item(name:,value:)能够把项的值设置为。注意:你不能获得刚刚加入的基本信息条目的值。例如,以下代码将无法象你所期待的那样执行:set_kb_item(name:"attack",value:TRUE);if(get_kb_item("attack")){ #这里的代码不可能执行 #因为attack基本信息项并没有更新}之所以会这样,是出于安全和代码稳定性的考虑。在安全测试期间,Nessus服务器会为每个安全测试插件维护一份基本信息(KB)拷贝,安全测试插件只是从自己的基本信息(KB)拷贝中获得信息。而set_kb_item()函数只更新原始的基本信息(KB)拷贝,不对当前安全测试插件使用的拷贝进行更新操作。2.NASL脚本结构每个安全测试插件需要向Nessus服务器进行注册后,才能使用。注册信息包括名字、描述、作者等。每个NASL脚本都需要有以下结构:##NASL基本基本结构#if(description){ #这里是注册信息 # #这里可以叫做注册部分(register section) # exit(0);}##这里是脚本代码。我们可以称为攻击部分(attack section)#description是一个全局变量,值可以是TRUE或者FALSE,取决于脚本是否需要注册。2.1.注册部分在脚本的注册部分,必须调用以下函数:script_name(language1:,[...])设置在Nessus客户程序窗口中显示的名称。script_description(language1:,[...])设置在Nessus客户程序中显示的描述信息。script_summary(language1:,[...])设置总结信息,必须在一行之内总结描述信息的内容。script_category()
iptables的状态检测机制
Nessus安全测试插件编写教程1
评论 (0)
All
登陆
还没注册?