注册 登录

Nmap之脚本漏洞扫描

渗透技巧 BLGene 108次浏览 3418字 0个评论

Nmap 简介

Nmap (网络映射器)是一个开源工具,它使网络探测和安全审计得以专业化。最初由 Gordon “Fyodor” Lyon 发布。官网官方网站是http://nmap.org. Nmap是一个免费的用来实现网络探测和安全审计的开源程序。许多系统和网络管理员发现它对于一些日常的工作也有帮助。例如查看整个网络的信息,管理服务升级计划以及监控主机和服务的正常运行。
Nmap采用一种新颖的方式利用原始IP包来决定网络上是什么样的主机,这些主机提供什么样的服务(应用程序名和版本),它们运行着什么样的操作系统(操作系统版本)它们使用什么类型的过滤器/防火墙以及许多其他的特征。它虽然被设计用来快速扫描大型网络,但是在单个主机上也会工作的非常好。Nmap可以运行在所有的主流计算机操作系统上,Linux,Windows,Mac OS X都可以找到官方的安装包。Nmap之脚本漏洞扫描

Nmap脚本引擎

Nmap脚本引擎 (NSE) 是Nmap最有力灵活的的一个特性。它允许用户撰写和分享一些简单的脚本来一些较大的网络进行扫描任务。基本上这些脚本是用Lua编程语言来完成的。通常Nmap的脚本引擎可以完成很多事情,下面是其中的一部分:

  • 网络探测:这是Nmap的基础功能。例如查询目标域名的WhoIs数据,查询目标IP的ARIN, RIPE, 或者 APNIC 来确定所有者,对开放端口执行鉴别查询,SNMP 查询以及列出可用的NFS/SMB/RPC 分享和服务。
  • 漏洞检测:当一个新的漏洞被发现,你会想要在坏家伙行动之前快速扫描你的网络来识别含有漏洞的系统。因为Nmap不是一个专业的漏洞扫描器,而NSE用来处理这种需求的漏洞检查是足够的。现在已经有很多漏洞检测脚本可用,并且他们计划发布更多。许多攻击者和一些自动化的蠕虫留下一些后门使得攻击者之后能重入。他们中的等一些可用被Nmap的正则表达式版本检测到。
  • 漏洞利用:作为一个通用的脚本语言,可以使用NSE来执行漏洞利用而不仅仅局限于发现漏洞。这种添加自定义漏洞利用脚本的功能对于一些人(尤指渗透测试者)是很有价值的,尽管他们不打算将Nmap变成一个像Metasploit一样的漏洞利用框架。

Nmap按脚本分类扫描

nmap脚本主要分为以下几类,在扫描时可根据需要设置--script=类别这种方式进行比较笼统的扫描:

auth: 负责处理鉴权证书(绕开鉴权)的脚本
broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务
brute: 提供暴力破解方式,针对常见的应用如http/snmp等
default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力
discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等
dos: 用于进行拒绝服务攻击
exploit: 利用已知的漏洞入侵系统
external: 利用第三方的数据库或资源,例如进行whois解析
fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽
malware: 探测目标机是否感染了病毒、开启了后门等信息
safe: 此类与intrusive相反,属于安全性脚本
version: 负责增强服务与版本扫描(Version Detection)功能的脚本
vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067
Nmap提供的命令行
-sC: 等价于--script=default,使用默认类别的脚本进行扫描 可更换其他类别
--script=<Lua scripts>: <Lua scripts>使用某个或某类脚本进行扫描,支持通配符描述
--script-args=<n1=v1,[n2=v2,...]>: 为脚本提供默认参数
--script-args-file=filename: 使用文件来为脚本提供参数
--script-trace: 显示脚本执行过程中发送与接收的数据
--script-updatedb: 更新脚本数据库
--script-help=<scripts>: 显示脚本的帮助信息,其中<scripts>部分可以逗号分隔的文件或脚本类别

常用脚本

nmap --script=auth 192.168.16.171

负责处理鉴权证书(绕开鉴权)的脚本,也可以作为检测部分应用弱口令Nmap之脚本漏洞扫描

nmap --script=brute 192.168.16.179

提供暴力破解的方式 可对数据库,smb,snmp等进行简单密码的暴力猜解
Nmap之脚本漏洞扫描
Nmap之脚本漏洞扫描

nmap --script=default 192.168.16.171
nmap -sC 192.168.16.171

默认的脚本扫描,主要是搜集各种应用服务的信息,收集到后,可再针对具体服务进行攻击Nmap之脚本漏洞扫描

nmap --script=vuln 192.168.16.179

检查是否存在常见漏洞
Nmap之脚本漏洞扫描
Nmap之脚本漏洞扫描

nmap -n -p445 --script=broadcast 192.168.16.179

在局域网内探查更多服务开启状况Nmap之脚本漏洞扫描

Nmap按应用服务扫描

nmap --script=broadcast-netbios-master-browser 192.168.16.171    //发现网关
nmap -p 873 --script rsync-brute --script-args 'rsync-brute.module=www' 192.168.16.171            //破解rsync
nmap --script informix-brute -p 9088 192.168.16.171 informix                    //数据库破解
nmap -p 5432 --script pgsql-brute 192.168.16.171                                      //pgsql破解
nmap -sU --script snmp-brute 192.168.16.171                                            //snmp破解
nmap -sV --script=telnet-brute 192.168.16.171                                          //telnet破解
nmap --script=http-vuln-cve2010-0738 --script-args 'http-vuln-cve2010-0738.paths={/path1/,/path2/}' <target> jboss autopwn
nmap --script=http-methods.nse 192.168.16.171                                        //检查http方法
nmap --script http-slowloris --max-parallelism 400 192.168.16.171           //dos攻击,对于处理能力较小的站点还挺好用的 'half-HTTP' connections
nmap --script=samba-vuln-cve-2012-1182 -p 192.168.16.171
nmap --script=smb-brute.nse 192.168.16.171                                             //smb破解
nmap --script=realvnc-auth-bypass 192.168.16.254

检查vnc bypassNmap之脚本漏洞扫描

nmap -p3306 --script=mysql-empty-password.nse 192.168.16.171

MySQL扫描root空口令Nmap之脚本漏洞扫描

脚本分析

Nmap的脚本默认目录为:/usr/share/nmap/scripts/
来分析一个MySQL空口令检测的脚本,先创建一个socket,利用用户名root,密码为空尝试连接数据库,成功建立连接,失败返回"Failed to connect to mysql server",关闭socket。Nmap之脚本漏洞扫描当一个最新漏洞刚发布未打补丁时,可以自己编写或者查找漏洞扫描脚本放入script目录,调用脚本针对性的漏洞扫描。


T1op|T1op.com , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Nmap之脚本漏洞扫描
喜欢 (3)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址