为Nmap添砖加瓦

Nmap介绍

Nmap作为一款优秀的端口扫描器,被所有渗透测试人员当作工作中必不可少的辅助工具,它不仅支持多种扫描方式,还支持添加漏洞测试脚本,在强大的lua脚本支持下,使得nmap更加如虎添翼,官方的nmap自带有非常多的脚本,这些不是今天的主角,今天的主角是如何编写属于自己的脚本,为namp的强大添砖加瓦。

理解nse脚本的结构

任何脚本插件都有自己的编写规则,都有一定的模板,所以nmap的脚本也不例外,想要编写脚本,必须去了解其编写规则,以及执行流程,下面我们就一起学习学习。大家可以先去看一下freebuf上的一个文章,点击下方原文连接查看。

脚本模版

我们需要做的就是修改Rule以及功能函数的内容即可。所以我们要理解rule的四种触发条件才能完成我们想要完成的功能脚本。

Rule的四种条件类型:

Prerule

Prerule()用于在Nmap没有执行扫描之前触发脚本执行,这类脚本脚本并不需要用到任何Nmap扫描的结果;

测试代码:

扫描结果如下:

Hostrule

Hostrule()用在Nmap执行完毕主机发现后触发的脚本,根据主机发现的结果来触发该类脚本

测试代码:

扫描结果:

Portrule

Portrule用于Nmap执行端口扫描或版本侦测时触发的脚本,例如检测到80端口,获取网页的title

测试代码:

扫描结果:

Postrule

Postrule用于Nmap执行完毕所有扫描后,通常用于扫描结果的数据提取和整理。

测试代码:

扫描结果:

其他基础

以上内容大概介绍了nmap在不同阶段触发脚本的情况,剩下就需要有一定的lua脚本编写基础,以及熟悉nmap自带的所有库文件,这样才能快速的编写适合自己的脚本。

参考资料:

https://nmap.org/nsedoc/ 

nmap自带脚本

总结

平时我们在渗透测试中,遇到特定的条件,需要批量扫描的时候,自己实现一个符合自己条件的nse脚本,让我们可以在渗透测试中事半功倍,nmap自带了很多的脚本,基本覆盖了大多数的情况,在写自己的脚本的时候可以参考别人写好的,让我们能够更快的开发出符合条件的脚本。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值