使用nmap验证漏洞(持续更新中。。。)

nmap -p 80 –script http-iis-short-name-brute +ip(192.168.1.1)[验证iis短文件名泄露]
nmap -sV -p 11211 -script memcached-info +ip[验证Memcached未授权访问漏洞]
nmap -sV -(-)script http-vuln-cve2015-1635 +ip[验证http.sys远程代码执行漏洞]
nmap -sV –script=ssl-heartbleed +ip[验证心脏出血漏洞]
nmap -p 27017 –script mongodb-info +ip[验证Mongodb未授权访问漏洞]
nmap -p 6379 –script redis-info +ip[验证Redis未授权访问漏洞]
nmap –script=http-vuln-cve2015-1427 –script-args command=’ls’ +ip[验证Elasticsearch未授权访问漏洞]
nmap -p 873 –script rsync-brute –script-args ‘rsync-brute.module=www’ [验证Rsync未授权访问漏洞]

使用nmap 验证多种漏洞

转自:http://blog.csdn.net/jiangliuzheng/article/details/51992220

目录(?)[+]

0x00 前言
0x01 nmap 的介绍
0x02 使用nmap 检测多种漏洞
0x03 使用系列的nmap NSE 进行检查
0x04 如何新建一个nmap 脚本扫描
0x05 结论

0x00 前言

 大家都知道在平时的漏扫中,AWVS、APPSCAN、Netspark、webspectort等漏扫工具扫描出来的漏洞问题往往存在误报,这时我们就需要进行人工手动验证漏洞,这里我们有两种思路:

一是在漏洞工具中,进行多次的重复测试,AWVS、APPSCAN、Netspark、webspectort中都有重复测试漏洞问题的功能),将得出的多次结果进行分析和统计,确认漏洞是否存在。

二是对于特定的漏洞,例如Java反序列漏洞、struts2 各种漏洞、openssl、httpd远程拒绝服务、IIS短文件名、各种应用软件版本低等等,我们只能使用特定的工具或者结合多种方式进行验证。本文基于第二种方式,主要使用了nmap 的脚本功能进行漏洞验证
0x01 nmap 的介绍

 Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

  在长达3.5年之后,Fyodor终于发布了著名开源网络检索工具的最新版本Nmap7。Nmap是最受欢迎的开源网络映射器之一此外,Nmap7这款自动化的扫描器能够轻易检测到Heartbleed、POODLE、FREAK等严重漏洞。Nmap7中对ssl-enum-ciphers(SSL枚举密码)脚本替换了新的实现算法,使得它能够通过枚举SSL/TLS协议版本和密码套件来快速分析TLS连接,它还能够迅速识别部署问题。另外,使用Nmap7能够轻易发现包含漏洞的服务器,Nmap7中包含了对提速和扫描实现的改进。这个工具的新版本包括一个更新、更快的Nmap脚本引擎(Nmap Scripting Engine,NSE),同时它还允许用户编写Lua脚本。

0x02 使用nmap 检测多种漏洞

  由于常见的漏洞问题非常多,本文主要介绍漏洞扫描和渗透测试中会经常遇到的一些漏洞,并且尝试使用namp 对这些被扫描工具扫描出来的漏洞进行人工手动验证,这些仅是命令,至于如何根据出现的结果进行判断是否有漏洞,这个在结果中很容易看出,例如出现 vulnerable-有漏洞; not vulnerable-无漏洞。  有结果出来-有漏洞;无结果出来-无漏洞,往后在其他测试中,只需要将scanme.nmap.org 替换成带验证的目标IP 或者网站。

1 http 拒绝服务

nmap –max-parallelism 800–script http-slowloris scanme.nmap.org

2 IIS 短文件泄露

nmap -p 8080 –script http-iis-short-name-brute 61.142.64.176

3 ftp弱口令暴力破解

nmap –script ftp-brute –script-args brute.emptypass=true,ftp-brute.timeout=30,userdb=/root/dirtionary/usernames.txt,brute.useraspass=true,passdb=/root/dirtionary/passwords.txt,brute.threads=3,brute.delay=6 203.195.139.153

4 检测CVE-2011-2523中的ftp-vsftpd-backdoor

nmap -T2 –script ftp-vsftpd-backdoor 211.139.201.240

5 验证http中开启的-methods 方法

nmap -T3 –script http-methods –script-args http.test-all=true,http.url-path=/www.haoshangjia.com

6 验证HTTP.sys 远程代码执行

nmap -sV –script http-vuln-cve2015-1635 203.195.139.153

7验证 SSL POODLE information leak

nmap -sV -p 443 –version-light –script ssl-poodle 218.19.141.16

8 验证http 中开启了put 方法

nmap –script http-put –script-args http-put.url=/uploads/testput.txt,http-put.file=/root/put.txt 218.19.141.16

9 验证mysql 匿名访问

nmap –script mysql-empty-password 203.195.139.153

10 验证cve2015-1427 漏洞
nmap –script http-vuln-cve2015-1427 –script-args command=ls 203.195.139.153

11 验证cve2014-8877漏洞
nmap -Pn –script http-vuln-cve2014-8877 –script-args http-vuln-cve2014-8877.cmd=dir,http-vuln-cve2014-8877.uri=/wordpress 42.96.170.128

12 验证Cisco ASA中的CVE-2014-2126,CVE-2014-2127,CVE-2014-21,CVE-2014-2129漏洞

nmap -p 443 –script http-vuln-cve2014-2126,http-vuln-cve2014-2127,http-vuln-cve2014-2128,http-vuln-cve2014-2129 203.195.139.153

13验证低安全的 SSHv1,sslv2协议

nmap –script sshv1,sslv2 www.haoshangjia.com

14 验证CVE-2014-0224 ssl-ccs-injection
nmap -Pn –script ssl-ccs-injection 203.195.139.153

15 验证ssl-cert证书问题

nmap -v -v –script ssl-cert 203.195.139.153

16验证SSL证书的有限期

nmap -Pn –script ssl-date www.haoshangjia.com

17 验证CVE-2014-0160 OpenSSL Heartbleed bug

nmap -p 443 –script ssl-heartbleed,ssl-known-key 203.195.139.153

18 验证 Debian OpenSSL keys

nmap -p 443 –script ssl-known-key 203.195.139.153

18 验证弱加密SSL套件

nmap –script ssl-enum-ciphers 203.195.139.153

20 验证CVE 2015-4000

nmap –script ssl-dh-params www.haoshangjia.com

21 验证多种SSL漏洞问题

nmap 203.195.139.153 –vv –script sshv1,ssl-ccs-injection,ssl-cert,ssl-date,ssl-dh-params,ssl-enum-ciphers,ssl-google-cert-catalog,ssl-heartbleed,ssl-known-key,sslv2

22 在网络中检测某主机是否存在窃听他人流量

nmap –script sniffer-detect 10.10.167.5

23 暴力破解telnet

nmap -p 23 –script telnet-brute –script-args userdb=myusers.lst,passdb=mypwds.lst –script-args telnet-brute.timeout=8s 203.195.139.153

24 验证telnet是否支持加密

nmap –script telnet-encryption 203.195.139.153

25 精准地确认端口上运行的服务

nmap -sV –script unusual-port 42.96.170.128

26 收集VNC信息

nmap –script vnc-info 203.195.139.153

27 暴力破解VNC

nmap –script vnc-brute –script-args brute.guesses=6,brute.emptypass=true,userdb=/root/dictionary/user.txt,brute.useraspass=true,passdb=/root/dictionary/pass.txt,brute.retries=3,brute.threads=2,brute.delay=3 42.96.170.128

#这个脚本挺长的,很多详细的参数,请参阅脚本的具体参数。

0x03 使用系列的nmap NSE 进行检查

#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)


Nmap提供的脚本命令行参数如下:
-sC: 等价于–script=default,使用默认类别的脚本进行扫描。
–script=: 使用某个或某类脚本进行扫描,支持通配符描述
–script-args=

猜你喜欢

转载自blog.csdn.net/hackerie/article/details/78065636