Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >带你玩转系列之Nmap

带你玩转系列之Nmap

作者头像
Khan安全团队
发布于 2020-03-09 10:53:21
发布于 2020-03-09 10:53:21
1.8K0
举报
文章被收录于专栏:Khan安全团队Khan安全团队

Nmap

00x00 介绍

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

00x01 功能介绍

基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。Nmap可用于扫描仅有两个节点的LAN,直至500个节点以上的网络。Nmap 还允许用户定制扫描技巧。通常,一个简单的使用ICMP协议的ping操作可以满足一般需求;也可以深入探测UDP或者TCP端口,直至主机所 使用的操作系统;还可以将所有探测结果记录到各种格式的日志中, 供进一步分析操作。

00x02 安装

可自行到官网下载https://nmap.org/download.html。安装后进行使用。

00x03、nmap的简单使用方法

1、 扫描参数介绍

命令行模式查看:nmap –help

Nmap 参数详解:

下面对参数进行介绍

Namp扫描目标的参数:

-iL filename:从文件中读取待检测的目标

-iR hostnum:随机选取,进行扫描.如果-iR指定为0,则无休止的扫描

--exclude host1[, host2]:从扫描任务中需要排除的主机

--exculdefile exclude_file:排除导入文件中的主机和网段

Nmap主机发现相关参数:

-sL :仅仅是显示,扫描的 IP 数目,不会进行任何扫描 。

-sn :ping 扫描,即主机发现 。

-Pn :不检测主机存活 。

-PS/PA/PU/PY[portlist] :TCP SYN Ping/TCP ACK Ping/UDP Ping 发现 。

-PE/PP/PM :使用 ICMP echo, timestamp and netmask 请求 包发现主机 。

-PO[prococollist] :使用 IP 协议包探测对方主机是否开启 。

-n/-R :不对 IP 进行域名反向解析/为所有的 IP 都进行域名 的反向解析

--dns-servers<serv1[,serv2],...>:指定自定义DNS服务器

--system-dns:使用操作系统的DNS解析器

--traceroute:跟踪到每个主机的跳路径

常见端口扫描方法:

-sS/sT/sA/sW/sM :指定使用TCP SYN/ACK/Connect()/Window/Maimon scans的方式进行扫描

-sU :UDP 扫描

-sN/sF/sX :TCP Null,FIN,and Xmas 扫描

--scanflags<flags>:自定义 TCP 包中的 flags

-sI<zombie host[:probeport]>:空闲扫描

-sY/sZ:SCTP INIT/COOKIE - ECHO 扫描

-sO:使用IP protocol扫描确定目标机支持 的协议类型

-b<FTP relay host>:使用 FTP bounce scan 指定端口和扫描顺序

指定端口和扫描顺序参数:

-p<port ranges>:特定的端口 -p80,443 或者 -p1-65535

--exclude-ports<port ranges>:排除指定端口扫描

-F:快速扫描模式,比默认的扫描端口还少

-r :不随机扫描端口,默认是随机扫描的

--top-ports < number >:扫描开放概率最高的 number 个端口,出现的概率需要参考nmap-services文件,ubuntu中该文件位于/usr/share/nmap.nmap默认扫前1000个

--port-ratio<ratio>:扫描指定频率以上的端口

服务版本识别参数:

-sV :开放版本探测,可以直接使用-A同时打开操作系统探测和版本探测

--version-intensity<level>:设置版本扫描强度,强度水平说明了应该使 用哪些探测报文。数值越高,服务越有可能被正确识别。默认是7

--version-light :打开轻量级模式,为--version-intensity 2 的别名

--version-all :尝试所有探测,为--version-intensity 9 的别名

--version-trace :显示出详细的版本侦测过程信息

2、 常用方法

Nmap参数比较繁多,日常渗透通常使用得不多,针对常用的命令,这边列举一些,等熟悉使用了,可加深学习。(此处小编偷懒,便不一一截图了)

1)进行ping扫描,打印出对扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测):

nmap -sP 192.168.1.0/24

2)仅列出指定网络上的每台主机,不发送任何报文到目标主机:

nmap -sL 192.168.1.0/24

3)探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS22,23,25,80):

nmap -PS 192.168.1.234

4)使用UDP ping探测主机:

nmap -PU 192.168.1.0/24

5)使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:

nmap -sS 192.168.1.0/24

6)当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:

nmap -sT 192.168.1.0/24

7)UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:

nmap -sU 192.168.1.0/24

8)确定目标机支持哪些IP协议 (TCP,ICMP,IGMP等):

nmap -sO 192.168.1.19

9)探测目标主机的操作系统:

nmap -O 192.168.1.19

nmap -A 192.168.1.19

00x04 nmap的进一步用法

上面介绍的是参数的使用,Nmap更进一步的用法,就会用到脚本,下面对脚本扫描进行简单的介绍。

Nmap的脚本默认存放在安装目录下/nmap/scripts文件夹下

1、Nmap提供的命令行参数如下:

-sC :根据端口识别的服务,调用默认脚本

--script=<Lua scripts>:调用的脚本名

--script-args=<n1=v1,[n2=v2,...]>:调用的脚本传递的参数

--script-args-file=filename:使用文本传递参数

--script-trace :显示所有发送和接收到的数据

--script-updatedb :更新脚本的数据库

--script-help=<Lua scripts>:显示指定脚本的帮助

2、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

3、运用实例

应用弱口令

nmap --script=auth 192.168.1.1

暴力破解攻击

nmap --script=brute 192.168.1.1

扫描常规漏洞

nmap --script=vuln 192.168.1.1

应用服务扫描

nmap --script=realvnc-auth-ypass 192.168.1.1

探测局域网内更多服务开启的情况

nmap -n -p 445 --script=broadcast 192.168.1.1

whois解析

nmap -script external baidu.com

IIS 短文件泄露

nmap -p 8080 --script http-iis-short-name-brute 192.168.1.1

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

nmap -T2 --script ftp-vsftpd-backdoor 192.168.1.1

验证HTTP.sys 远程代码执行

nmap -sV --script http-vuln-cve2015-1635 192.168.1.1

验证http中开启的-methods 方法

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

验证 SSL POODLE information leak

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

验证mysql 匿名访问

nmap --script mysql-empty-password 203.195.139.153

验证cve2015-1427 漏洞

nmap --script http-vuln-cve2015-1427 --script-args command=ls 203.195.139.153

验证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

验证低安全的 SSHv1,sslv2协议

nmap --script sshv1,sslv2 www.haoshangjia.com

验证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

验证CVE-2014-0224 ssl-ccs-injection

nmap -Pn --script ssl-ccs-injection 203.195.139.153

验证ssl-cert证书问题

nmap -v -v --script ssl-cert 203.195.139.153

验证SSL证书的有限期

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

验证CVE-2014-0160 OpenSSL Heartbleed bug

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

验证 Debian OpenSSL keys

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

验证弱加密SSL套件

nmap --script ssl-enum-ciphers 203.195.139.153

验证CVE 2015-4000

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

验证多种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

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

nmap --script sniffer-detect 10.10.167.5

验证telnet是否支持加密

nmap --script telnet-encryption 203.195.139.153

收集VNC信息

nmap --script vnc-info 203.195.139.153

暴力破解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

使用nmap对某主机进行一系列的证书鉴权检查

nmap --script auth 203.195.139.153

使用nmap在局域网内探查更多服务开启情况

nmap --script broadcast 10.10.167.6

使用nmap 对常见的服务进行暴力破解

nmap --script brute 203.195.139.153

使用nmap 进行基本的扫描

nmap --script default 203.195.139.153

#nmap --sC 203.195.139.153

使用nmap 进行信息挖掘

nmap --script discovery 203.195.139.153

使用nmap 进行拒绝服务攻击

nmap --script dos 203.195.139.153

使用nmap 利用已知的漏洞入侵系统

nmap --script exploit 203.195.139.153

使用nmap 进行利用第三方的数据库或资源进行信息收集或者攻击

nmap --script external 203.195.139.153

使用nmap 进行模糊测试,发送异常的包到目标机,探测出潜在漏洞

nmap --script fuzzer 203.195.139.153

使用nmap 进行入侵,此类脚本可能引发对方的IDS/IPS的记录或屏蔽

nmap --script intrusive 203.195.139.153

使用nmap 探测目标机是否感染了病毒、开启了后门等信息

nmap --script malware 203.195.139.153

使用nmap 对系统进行安全检查

nmap --script safe 203.195.139.153

使用nmap 对目标机进行检查是否存在常见的漏洞

nmap --script vuln 203.195.139.153

使用nmap 负责增强服务与版本扫描(Version Detection)功能的脚本

nmap --script version 203.195.1

00x05写在最后

Nmap的使用方法还有很多很多,包括参数使用,脚本使用等,在这里只是起到一个抛砖引玉的作用,更多的方法还需自己多加摸索学习。更多的使用方法,可前往官网https://nmap.org/nsedoc/categories进行翻阅学习。

手握日月摘星辰,安全路上永不止步。

- Khan攻防安全实验室

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Khan安全团队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用nmap 进行多种安全评估[通俗易懂]
大家都知道在平时的漏扫中,AWVS、APPSCAN、Netspark、webspectort等漏扫工具扫描出来的漏洞问题往往存在误报,这时我们就需要进行人工手动验证漏洞,这里我们有两种思路:
全栈程序员站长
2022/06/30
1.8K0
使用nmap 进行多种安全评估[通俗易懂]
如何使用渗透工具—nmap
在aggressive(4)的时间模板下,同时对开放的端口进行端口识别,并查看相应的服务器版本。
知识与交流
2021/11/16
2.5K0
细谈网络瑞士军刀-Nmap使用指南
nmap是业内非常知名的网络扫描工具,和netcat齐名为网络瑞士军刀,想必大部分人都看过或者听说过《黑客帝国》,里面的有几个场景使用的是nmap,不妨引用一张电影剧照:
RokasYang
2021/12/25
3K4
细谈网络瑞士军刀-Nmap使用指南
Nmap学习
Nmap介绍: Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。官网为:https://nmap.org/ 。
黑白天安全
2020/04/28
1.8K0
Nmap学习
针对内网的信息搜集
信息收集(Information Gathering),信息收集是指通过各种方式获取所需要的信息,在整个渗透测试环节中,信息搜集是整个渗透过程中最为重要的一环,信息搜集可占据整个渗透测试80%左右的工作量,同样的如果尽可能搜集更多的信息,对于后期的渗透工作是非常有帮助的,本章将针对内网(域)环境进行信息的搜集工作,以作为学习笔记收录。
王瑞MVP
2022/12/28
1K0
Nmap扫描神器超详细使用技巧笔记总结
为了绘制网络拓扑图,Nmap的发送特制的数据包到目标主机,然后对返回数据包进行分析。Nmap是一款枚举和测试网络的强大工具
网络安全自修室
2022/09/01
3.1K0
Nmap扫描神器超详细使用技巧笔记总结
Nmap 使用指南
  Nmap是一款网络扫描和主机检测的非常有用的工具。 Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws,linux,mac等操作系统。
LuckySec
2022/11/02
1.4K0
Nmap 常用基础命令
Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端,确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统,正如大多数被用于网络安全的工具,Nmap也是不少黑客及骇客爱用的工具,系统管理员可以利用Nmap来探测工作环境中未经批准使用的服务器,但是黑客会利用Nmap来搜集目标电脑的网络设定,从而计划攻击的方法.
王瑞MVP
2022/12/28
8850
扫描系统漏洞的工具_免费漏洞扫描工具
这是一种最为普通的扫描方法,这种扫描方法的特点是:扫描的速度快,准确性高,对操作者没有权限上的要求,但是容易被防火墙和IDS(防入侵系统)发现
全栈程序员站长
2022/10/01
6.7K0
扫描系统漏洞的工具_免费漏洞扫描工具
Nmap 进阶使用 [ 脚本篇 ]
因为今天的重点并非nmap本身的使用,主要还是想借这次机会给大家介绍一些在实战中相对比较实用的nmap脚本,所以关于nmap自身的一些基础选项就不多说了,详情可参考博客端口渗透相关文章,废话少说,咱们直接开始,实际中我们可以先用下面的语句,大概扫一眼目标机器或目标C段都跑了什么服务,心里总要先有个谱,之后才好针对性出牌嘛
字节脉搏实验室
2020/05/12
2.3K0
Nmap 进阶使用 [ 脚本篇 ]
Nmap多年积累实操经验分享
下载.jpg 全量端口基础方案简单梳理 21 FTP弱密码 22 SSH弱密码 23 telnet弱密码 25 邮件伪造,vrfy/expn查询邮件用户信息,可使用smtp-user-enum工具来自动跑 53 DNS溢出、远程代码执行、允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控 69 尝试下载目标及其的各类重要配置文件 80 IIS6 RCE 80-89 应用服务器端口 110 POP3 可尝试爆破,嗅探 111 NFS 权限配置不当 137 SMB 143 IMAP 爆破 1
枪哥四海为家
2022/03/09
6K4
Nmap多年积累实操经验分享
Nmap 常用基础命令详解
Nmap 是免费开放源代码实用程序,用于网络发现和安全审核。许多系统和网络管理员还发现它对于诸如网络清单,管理服务升级计划以及监视主机或服务正常运行时间之类的任务很有用。Nmap以新颖的方式使用原始IP数据包来确定网络上可用的主机,这些主机提供的服务,它们正在运行的操作系统,包过滤器/防火墙的类型。正在使用中,还有许多其他特性。它旨在快速扫描大型网络,但可以在单个主机上正常运行。
王瑞MVP
2022/12/28
1.8K0
Nmap 经常使用的场景及用法
不加任何参数,默认扫描目标 IP 的基本信息,包括 Ping 探测主机是否存活,探测常见的 1000 个端口是否开放,命令如下:
信安之路
2021/04/14
1.4K0
nmap命令的使用「建议收藏」
指定扫描一个网段:nmap 192.168.0.0/24 或者 nmap 192.168.0.1-200(扫描1-200的主机)
全栈程序员站长
2022/08/25
10.7K0
nmap命令的使用「建议收藏」
Nmap使用指北
Nmap是一个非常实用的网络连接端扫描软件,适用于Linux、Windows、Mac三大主流平台。用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全
逍遥子大表哥
2021/12/19
8480
Nmap使用指北
速查 | Nmap常用命令备忘录
这份Nmap备忘录是去年@白神在刨洞群里分享出来的,并非笔者自己的原创整理,原作者好像是推特上的某位大佬,现已找不到原作者和原文地址。
潇湘信安
2022/09/22
3260
nmap使用了解
dns-zone-transfer:尝试从dns服务器上拖一个AXFR请求的区域文件
随心助手
2020/08/18
5250
Web安全学习笔记之Nmap扫描原理与用法
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。最新版的Nmap6.0在2012年5月21日发布,详情请参见:www.nmap.org。
Jetpropelledsnake21
2019/02/28
2.2K0
nmap常用操作
我们在使用Nmap的时候大多是在命令行下进行的,即使是使用可视化Zenmap也是需要遵循Nmap固定的语法格式的。 Nmap的固定语法格式如下:
故里[TRUE]
2023/04/16
8460
Nmap
Nmap 是网络安全届的明星级工具了,在扫描届几乎无敌,同时配合Script可以实现基本的渗透测试。Nmap 是安全人员必须熟练掌握的一个工具
意大利的猫
2020/08/20
1.3K0
相关推荐
使用nmap 进行多种安全评估[通俗易懂]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档