笔记——nmap渗透常用功能汇总


最近在深入学习nmap,把过程中的重点稍微记一下,排版比较乱( __) 嘻嘻……。有强迫症的同学见谅了哈。有时间周末再修改这个博文( __) 嘻嘻……

nmap扫描的端口状态解释:

  • open,表示开放状态;
  • closed,表示关闭状态;
  • filterd,表示端口处于过滤无法收到返回的probe状态;
  • unfilterd,表示端口收到返回的probe,但是无法确定是否被过滤;
  • opend/unfilterd,表示端口处于开放或者未过滤状态;
  • closed/unfilterd,表示端口处于关闭或者未过滤状态;

ICMP

详见wiki:https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol

ICMP(Internet控制消息协议)是一种错误报告协议,当网络问题阻止IP数据包的传递时,路由器之类的网络设备会使用这些错误消息向源IP地址生成错误消息。ICMP创建消息并将其发送到源IP地址,该消息指示无法访问路由器,服务或主机的Internet 网关以进行数据包传递。任何IP网络设备都可以发送,接收或处理ICMP消息。

ICMP 不是在系统之间发送数据的传输协议。

尽管最终用户应用程序中不经常使用ICMP,但网络管理员可以使用它来诊断诊断实用程序(包括pingtraceroute)中的 Internet连接。

网络设备(包括路由器)使用它来发送错误消息和操作信息,以指示与另一个IP地址进行通信时的成功或失败,例如,当请求的服务不可用或主机或路由器无法提供服务时,指示错误。达到。

ICMP消息通常用于诊断或控制目的,或响应IP操作中的错误而生成。

服务指纹

为了确保有一个成功的渗透测试或网络设备监控,必须需要知道目标系统中服务的指纹信息。服务指纹信息包括服务端口、服务名和版本信息等。

通过分析目标往nmap发送的数据包中某些协议标记、选项和数据,我们可以推断发送这些数据包的操作系统等。

nmap通过向目标主机发送多个udp和tcp数据包并分析其响应来进行操作系统指纹识别工作。

使用命令:

# 获取服务指纹
nmap -sV 192.168.0.117

nmap侵略性探测

获取目标机器的操作系统、服务等信息

方法1:

# -A,侵略性地尝试进行深入的服务枚举和旗标获取,能够提供目标系统更多的细节
# -v,持续输出扫描的过程
# -T4,加快探测速度
nmap -A -v -T4 192.168.0.117

方法2:

# -sC,表示使用namp脚本进行探测
# -sV,表示探测目标机器上的服务信息
# -O,表示探测目标机器的操作系统信息
map -sC -sV -O 192.168.0.117

局域网中的主机发现

一个局域网中肯定是连接着多台设备,那么如何获取哪些设备正在开机状态呢?

CIDR,无类别域间路由

172.16.1.0/24,表示在172.168.1.0-172.16.1.255之间的所有机器。

# -sP,使用TCP SYN扫描、ICMP echo Request来探测主机存活性
nmap -sP 192.168.0.0/24
# -sn,对网络中所有主机进行ping扫描来探测主机存活性
nmap -sn 192.168.0.0/24

结果输出

对网络中所有主机进行ping扫描,并将结果存入test.xml中

nmap -sn 192.168.0.0/24 -oX test.xml

端口探测

对单个、多个、范围、所有端口进行探测

nmap -p80 192.168.0.117 # 单个端口
nmap -p80,135 192.168.0.117 # 多个端口
nmap -p1-1000 192.168.0.117 # 端口范围
nmap -p- 192.168.0.117 # 所有端口

nmap -p T:25,U:53 192.168.0.117 # 对25端口使用TCP协议探测,对53端口使用UDP探测
nmap -p smtp 192.168.0.117 # 通过指定协议名来扫描端口
nmap -p ssh 192.168.0.117 # 通过指定协议名来扫描端口
nmap -p s* 192.168.0.117 # 通过指定协议名的通配符

NSE脚本

所有脚本文件默认安装在目录:/usr/share/nmap/scripts

-sC:等价于 --script=default

扫描http服务,直接使用脚本名全称

nmap --script http-title 192.168.0.119 # 探测http服务的title信息
nmap --script http-headers 192.168.0.119 # 探测http服务的headers信息

使用脚本名通配符探测

nmap -sV --script "(http*) and not (http-slowlors and http-brute)" 192.168.0.119

使用脚本分类,所有的分类如下表所示:

脚本类别描述
auth用于用户认证的NSE脚本
broadcast使用广播收集网络信息
brute暴力破解
default默认,执行脚本(-sC)
discovery与主机和服务发现相关的脚本
dos与拒绝服务攻击相关的脚本
exploit用于利用安全漏洞的脚本
external适用于第三方服务的脚本
fuzzer用于模糊测试的脚本
intrusive入侵脚本
malware与恶意软件检测相关的脚本类别
safe在所有情况下默认为是安全的脚本
vuln与检测和利用安全漏洞相关的脚本
version高级系统脚本

所有的分类以及所有的脚本的功能详情,可以点击查看nmap官网

使用nmap中vuln分类脚本对目标进行探测

nmap -sV --script vuln 192.168.0.119

使用nmap中version和discovery分类进行探测

nmap -sV --script="version,discovery" 192.168.0.119

使用nmap中除了exploit分类之外的其他分类进行探测

nmap -sV --script="not exploit" 192.168.0.119

NSE调试功能使用

使用Nmap中exploit,同事开启调试模式,命令如下:

nmap -sV --script exploit -d 3 --script-trace 192.168.0.119 # 注意: -d(debug范围0~9)

NSE参数的使用

使用nmap的http-title脚本,并且指定使用对应的User-Agent。命令如下:

nmap -sV --script http-title --script-args http.useragent="Mozilla 999" 192.168.0.119

NSE更新

更新脚本库的命令

nmap --script-updatedb

指定特定网卡进行探测

nmap是一款可拓展性强的工具,并且有些NSE脚本支持嗅探。但是这种功能需要网卡支持混杂模式才可以。或者当计算机上有两张网卡,并且两张网卡对应的不同网络。

nmap中提供了切换使用特定网卡进行探测的参数:-e 网卡名

nmap -e interface_name CIDR # 对指定网卡interface_name的CIDR指定的网段进行探测

如果在主机上多张网卡连接的网络之间是无法联通的,直接使用nmap进行探测,有可能会花费很多时间,nmap会逐个筛选网卡进行探测。在筛选网卡过程中,很多时间都浪费在选用了错误的网卡,等待超时的过程中。

使用下面命令列出主机的网卡接口和路由信息:

nmap --iflist

获得这些信息,可以进一步选择特定的网卡进行探测。避免探测过程中的"错选网卡超时等待"。

ndiff对比扫描结果

对某个网络进行探测的时候,可能与之前有探测过的结果,现在探测过后,需要对之前的结果与现在的结果对比,找到两次不同点。

监视网络变化,达到网络监控的目的。

ndiff [option] FILE1 FILE2 # 比较两个xml文件的不同点,比较的内容包括:主机状态变化,端口状态变化,服务的变化以及系统检测等。

其他

nmap -O x.x.x.x # 目标系统版本探测

nmap -p80,443 --script=http-waf-detect x.x.x.x # 扫描主机端口80和443是否开启,并探测WAF

nmap -O -Pn x.x.x.x # (-Pn 禁用Nmap网络发现功能,假定所有系统都是活动的)

nmap -sT -Pn  x.x.x.x # TCP扫描通常用于收集有关目标的更多信息,但是会和目标主机建立一个完成的TCP连接。

nmap -sS -Pn URI # SYN 扫描:TCP两次握手(隐藏扫描,速度快,nmap缺省参数)

nmap -sA -Pn URI # ACK扫描,用于确定TCP端口是否被防火墙过滤

nmap -sU  URI # DHCP,DNS,SNMP,TFTP等都使用了UDP协议。UDP扫描会评估目标系统上的UDP端口,可以确认UDP端口是开放还是被防火墙过滤。不存在-PN参数(从UDP协议去理解,你发了就ok管他收没收到)

# timing参数可以指定nmap扫描的速度。其中各个选项如下:
# T0:paranoid 慢速网络扫描,串行扫描,两次扫描间隔5分钟。扫描速度极慢。
# T1:Sneky 慢速网络扫描,串行扫描,两次扫描间隔15秒,扫描速度较慢。
# T2:Polite 中速网络扫描,串行扫描,两次扫描间隔400毫秒,扫描速度慢。
# T3:Normal 中速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度正常。
# T4:Aggressive 快速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度较快。
# T5:Normal 快速网络扫描,并行扫描,两次扫描间隔0秒,扫描速度极快。
nmap -sS -T5 192.168.1.1

# 输出保存选项
# -oN 保存为文本文件
# -oX 保存为XML文件
# -oG 保存为GREPable输出
# -oS 脚本输出
nmap -oN metscan.txt 192.168.154.134 # 将扫描结果保存到metscan.txt文件。

参考

1.https://www.freebuf.com/sectool/109952.html

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值