Nmap脚本编写

0x01
Halcyon是一个开源的专门设计用于开发Nmap脚本的IDE。通过Halcyon你可以开发从侦察到利用的各类Nmap高级扫描脚本
安装过程如下
安装依赖
apt-get install default-jre
apt-get install ant
从git上clone
在这里插入图片描述
接下来开始编译
在这里插入图片描述
命令:
java -cp /opt/Halcyon/src/lib/autocomplete.jar:/opt/Halcyon/src/lib/rsyntaxtextarea.jar:/opt/Halcyon/dist/Halcyon_IDE_v2.0.1.jar halcyon.ide.HalcyonIDE
在这里插入图片描述
启动后会出现如下界面
在这里插入图片描述
提示还没有配置,点击des
在这里插入图片描述
点击auto config自动配置
在这里插入图片描述
点击apply
在这里插入图片描述
要求我们重启后生效
在此输入上面的命令即可启动
在这里插入图片描述
新建一个项目
在这里插入图片描述
会弹出如下对话框,要求填写脚本分类、存储位置等
在这里插入图片描述
点击script name右边的文件夹,打开后选择保存在kali中nmap脚本的默认路径下,命名为demo.nes
在这里插入图片描述
点击save,其他选项如图所示,然后点击create
在这里插入图片描述
可以看到已经生成了一个nse脚本的模板文件
在这里插入图片描述

0x02
稍微介绍下Halcyon的布局
左侧分别是是namp脚本,
在这里插入图片描述
nse需要的数据,比如爆破时的字典、指纹等等
在这里插入图片描述
以及nmap的库文件

在这里插入图片描述

0x03

Halcyon对于编写nmap脚本而言功能非常强大
比如使用project->code generator功能可以快速生成对应的功能代码,以socket为例
在这里插入图片描述
生成的代码如下
在这里插入图片描述

接下来我们编写个简单的nmap脚本实现对web服务器的检测功能。
我们就做这么一个简单的功能:
如果发现目标开放了80端口,并在这个端口上运行http服务,则输出”this is a webserver”
description字段没有什么好修改的
我们直接来到关键部分,因为我们这个脚本的功能是评估目标是否为web服务器要根据端口状态及端口上的服务来判断,需要要用到portrule规则。
需要修改return为
return port.protocol == “tcp” and port.number == 80 and port.service == “http” and port.state == “open”
在这里插入图片描述
这样当目标服务器上开放的80端口运行着http服务时,就命中了规则,接着去执行action部分
所以我们再来编写action部分的代码
在这里插入图片描述
然后ctrl+s保存,再点击file->update script DB
在这里插入图片描述
接着测试一下
在这里插入图片描述
可以看到在扫描出80端口开放之后就打印出了this is a webserver

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值