【渗透测试基础-4】资产收集之nmap扫描

1 资产收集简介

资产收集定义:发现目标环境中有哪些资产,

资产:联网设备、主机、服务器、各种服务等

资产收集包括

  • 主机发现:有哪些主机在线,即IP地址在线
  • 端口扫描:确定在线的某主机开启的端口号,以及端口上的服务。
    ①注意,端口号与端口上的服务并不一定是确定的,比如发现某主机开启了3389端口,默认情况下是开启远程桌面服务RDP,但是对方可以修改服务的端口号。
    扫描方式(a)TCP 全连接扫描;(b)SYN半连接扫描;©隐蔽扫描(不适用于windows系统):包含NULL扫描、Xmas扫描、FIN扫描。注意,在不设置扫描方式时,默认的扫描方式为SYN半连接扫描。
    端口状态(a)open;(b)closed;©filtered;(d)unfiltered;(e)open | filtered;(f)open | filtered;

资产发现的扫描神器:nmap,windows系统,linux系统,mac系统都可以用,且自动集成在kali系统中。

  • 官网:https://nmap.org/
  • nmap在win10中的安装过程可参考《第19节 简单扫描技术—基于windows系统
  • 在kali系统中的nmap与windows系统中的nmap在使用时略有不同。注意在kali系统中使用nmap时,建议使用桥接
  • 推荐书籍:《Nmap渗透测试指南》

2 nmap使用

2.1 nmap命令字的帮助手册

nmap/nmap -h/man nmap均可以查看nmap的使用方法,如下所示。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2 无参数:nmap IP

没有选项的情况下,默认扫描主机是否在线,且扫描top1000个端口情况。
在这里插入图片描述

2.3 主机发现:-sP/sn

参数:-sP/sn 						#Ping 扫描 ,探测哪些IP在线,不进行端口扫描
nmap -sP 192.168.1.0/24   #参数的位置也可放在网段后面

在这里插入图片描述
在这里插入图片描述

2.4 端口扫描:-p

参数:-p  #指定端口
	-p 80
	-p 1-80
	-p 80,3389,22,21
	-p 1-80,3389,8080
	-p 1-65535
	-p-		#扫描1-65535端口,即全端口扫描

nmap 192.168.1.3 -p-

在这里插入图片描述

2.5 TCP全连接扫描:-sT

参数:-sT		#TCP全连接扫描

#参数位置不固定,以下两种都可以
nmap 192.168.1.10 -p 80 -sT   #参数可以调换顺序,并不是固定的
nmap -sT 192.168.1.10 -p 80		#与上述一样

接下来演示什么是TCP全连接扫描,具体步骤如下:
(1)在kali虚拟机中输入nmap 192.168.1.10 -p 80 -sT,扫描结果如下,从扫描结果中看不出什么是 TCP全连接扫描。
在这里插入图片描述
(2)打开抓包软件wireshark(kali自带),开始抓包,再次在命令窗口输入nmap 192.168.1.10 -p 80 -sT
(3)对抓到的包进行过滤(ip.addr==192.168.1.10 and tcp.port==80),过滤出的结果如下所示:
在这里插入图片描述
(4)通过分析上述的数据包的流向过程,可得:SYN=1,表示请求建立连接;SYN=1,ACK=1,表示确认建立连接;ACK=1,第三次握手。因此当端口开发时,TCP全连接扫描会建立完整的三次握手。

那么当端口关闭时,数据包的流向又是如何的呢?wireshark开始抓包,且在命令窗口输入nmap 192.168.1.10 -p 22 -sT,扫描结果与数据包流向如下所示。
在这里插入图片描述
在这里插入图片描述

2.6 SYN半连接扫描:-sS

参数:-sS		#SYN半连接扫描

#参数位置不固定,以下两种都可以
nmap 192.168.1.10 -p 80 -sS   #参数可以调换顺序,并不是固定的
nmap -sS 192.168.1.10 -p 80		#与上述一样

接下来演示什么是SYN半连接扫描,具体步骤如下:
(1)在kali虚拟机中输入nmap 192.168.1.10 -p 80 -sS,扫描结果如下,从扫描结果中看不出什么是 SYN半连接扫描。
在这里插入图片描述

(2)打开抓包软件wireshark(kali自带),开始抓包,再次在命令窗口输入nmap 192.168.1.10 -p 80 -sS
(3)对抓到的包进行过滤(ip.addr==192.168.1.10 and tcp.port==80),过滤出的结果如下所示:
在这里插入图片描述

(4)通过分析上述的数据包的流向过程,可得:SYN=1,表示请求建立连接;SYN=1,ACK=1,表示确认建立连接;因此当端口开发时,SYN半连接扫描只进行了三次握手中的前两次握手。

2.7 隐蔽扫描

参数:-sN		#NULL扫描,发送的包,所有标志位均为0
	 -sX		#Xmas扫描
	 -sF		#Fin扫描
#参数位置不固定,以下两种都可以
nmap 192.168.1.10 -p 80 -sN
nmap -sN 192.168.1.10 -p 80

NULL扫描的结果及数据包如下所示
在这里插入图片描述
在这里插入图片描述

#参数位置不固定,以下两种都可以
nmap 192.168.1.10 -p 80 -sX
nmap -sX 192.168.1.10 -p 80

Xmas扫描的结果及数据包如下所示
在这里插入图片描述
在这里插入图片描述

#参数位置不固定,以下两种都可以
nmap 192.168.1.10 -p 80 -sF
nmap -sF 192.168.1.10 -p 80

Fin扫描的结果及数据包如下所示
在这里插入图片描述
在这里插入图片描述

2.8 显示服务器详细版本:-sV

参数:-sV		#显示服务器详细版本

#参数位置不固定,以下两种都可以
nmap 192.168.1.10 -p 80 -sV	
nmap -sV 192.168.1.10 -p 80

在这里插入图片描述

2.9 显示操作系统类型:-O

参数:-O		# 显示操作系统类型,注意不是很准,需要人工判别

#参数位置不固定,以下两种都可以
nmap 192.168.1.10 -p 80 -O
nmap -O 192.168.1.10 -p 80

在这里插入图片描述

2.10 保存文件

参数:-oN 		#将扫描结果保存为txt
      -oX		#将扫描结果保存为xml    
nmap 192.168.1.10 -p 80 -oN result.txt     

在这里插入图片描述

nmap 192.168.1.10 -p 80 -oX result.xml

在这里插入图片描述

2.11 全面扫描: -A

参数:-A 		#全面扫描

#参数位置两种都可以
nmap 192.168.1.10 -p 80 -A
nmap -A 192.168.1.10 -p 80

2.12 时序选项:-T

在nmap中使用-T(0-5)可以启用时序选项,对于时序选项这里有0-5不同的选项

  • -T0(偏执的):非常慢的扫描,用于IDS逃避;
  • -T1(鬼祟的):缓慢的扫描,用于IDS逃避;
  • -T2(文雅的):降低速度以降低对带宽的消耗,此选项一般不常用
  • -T3(普通的):默认,根据目录的反应自动调整时间;
  • -T4(野蛮的):快速扫描,常用扫描方式,需要在很好的网络环境下进行扫描,请求可能会淹没目标;
  • -T5(疯狂的):极速扫描,这种扫描方式以牺牲准确度来提升扫描速度;

3 nmap 扫描重要常用参数归纳

3.1 重要常用参数

参数/选项功能
-sP/-sNPing 扫描 ,探测哪些IP在线,不进行端口扫描
-p指定端口扫描
-sTTCP全连接扫描
-sSSYN半连接扫描
-sNNULL隐蔽扫描
-sXXmas隐蔽扫描
-sFFin隐蔽扫描
-sV服务器版本探测
-O(大写)操作系统类型探测
-oN保存为txt
-oX保存为xml
-A全面扫描

3.2 常用命令及参数☆☆☆☆☆

nmap 10.1.1.1						#查询特定IP是否开机、查询端口是否开启、查询物理地址。

nmap -sP 10.1.1.1					#仅探测特定IP是否开机。
nmap -sP 10.1.1.1 10.1.1.2			#仅探测多个特定IP是否开机。
nmap -sP 10.1.1.1/24				#仅探测整个网段哪些IP开机。其中10.1.1.x,写哪个都一样。
nmap -sP 192.168.1.0/24   #参数的位置也可放在网段后面

nmap -O	10.1.1.1					#探测目标IP所启用操作系统类型、是否打补丁、以及开启了哪些端口号

nmap -p 21,23,80 10.1.1.1			#仅探测目标IP是否开启特定端口号
nmap -p 21,23,80 10.1.1.1 -sV		#探测特定端口是否开放及其使用的服务器版本。
nmap 192.168.1.3 -p-

nmap 192.168.1.10 -p 80 -sT   		#扫描方式为:TCP全连接扫描
nmap -sT 192.168.1.10 -p 80			#与上述一样

nmap 192.168.1.10 -p 80 -sS   		#扫描方式为:SYN半连接扫描
nmap -sS 192.168.1.10 -p 80			#与上述一样

nmap 192.168.1.10 -p 80 -sN			#扫描方式为:NULL隐蔽扫描
nmap -sN 192.168.1.10 -p 80			#与上述一样

nmap 192.168.1.10 -p 80 -sX			#扫描方式为:Xmas隐蔽扫描
nmap -sX 192.168.1.10 -p 80			#与上述一样

nmap 192.168.1.10 -p 80 -sF			#扫描方式为:Fin隐蔽扫描
nmap -sF 192.168.1.10 -p 80			#与上述一样

nmap -A	 10.1.1.1					#对特定IP全面扫描
nmap -A	 10.1.1.1 -oN d:\baogao.txt	#对特定IP全面扫描,并保存为txt

nmap -O	10.1.1.1 -oN d:\jieguo.txt  #探测目标IP的操作系统类型,及开放端口号,并保存为txt

4 收集常用端口信息

在渗透测试的过程中,对端口信息的收集是一个很重要的过程,通过扫描服务器开放的端口以及从该端口判断服务器上存在的服务,就可以对症下药,便于我们渗透目标服务器。

所以在端口渗透信息的收集过程中,我们需要关注常见应用的默认端口和在端口上运行的服务。最常见的扫描工具就是Nmap 、无状态端口扫描工具Mas scan 、ZMap和御剑高速TCP端口扫描工具。

4.1 文件共享服务端口说明及攻击方向

端口号端口说明攻击方向
20/21/69ftp / tftp 文件传输协议允许匿名的上传、下载、爆破和嗅探操作
2049nfs服务 网络文件系统配置不当
139samba服务爆破、未授权访问、远程代码执行
389ldap目录访问协议注入、允许匿名访问、弱口令

4.2 远程连接服务端口说明及攻击方向

端口号端口说明攻击方向
22SSH远程连接爆破、SSH 隧道及内网代理转发、文件传输
23Telnet远程连接爆破、嗅探、弱口令
3389rdp远程桌面连接shift后门(需要Windows Server 2003 以下的系统)、爆破
5900VNC弱口令爆破
5632PyAnywhere服务抓密码、代码执行

4.3 Web应用服务端口说明及攻击方向

端口号端口说明攻击方向
80/443/8080常见的Web 服务端口Web 攻击、爆破、对应服务器版本漏洞
7001 /7002WebLogic 控制台Java 反序列化、弱口令
8080/8089Jboss/Resin/Jetty/Jenkins反序列化、控制台弱口令
9090WebSphere 控制台Java 反序列化、弱口令
4848Glassfish 控制台弱口令
1352Lotus domino 邮件服务弱口令、信息泄露、爆破
10000Webmin-Web 控制面板弱口令

5.4 数据库服务端口说明及攻击方向

端口号端口说明攻击方向
3306MySQL注入、提权、爆破
1433MSSQL 数据库注入、提权、SA 弱口令、爆破
1521Oracle 数据库TNS 爆破、注入、反弹Shell
5432Postgre SQL 数据库爆破、注入、弱口令
27017/27018MongoDB爆破、未授权访问
6379Redis 数据库可尝试未授权访问、弱口令爆破
5000SysBase/DB2 数据库爆破、注入

4.5 数据库服务端口说明及攻击方向

端口号端口说明攻击方向
25SMTP 邮件服务邮件伪造
110POP3 协议爆破、嗅探
143IMAP 协议爆破

4.6 网络常见协议端口说明及攻击方向

端口号端口说明攻击方向
53DNS 域名系统允许区域传送、DNS 劫持、缓存投毒、欺骗
67/68DHCP 服务劫持、欺骗
161SNMP 协议爆破、搜集目标内网信息

4.7 特殊服务端口说明及攻击方向

端口号端口说明攻击方向
2181Zookeeper 服务未授权访问
8069Zabbix 服务远程执行、SQL 注入
9200/9300Elasticsearch 服务远程执行
11211Memcache 服务未授权访问
512/513/514Linux Rexec 服务爆破、Rlogin登录
873Rsync 服务匿名访问、文件上传
3690Svn 服务Svn 泄露、未授权访问
50000SAP Management Console远程执行
  • 6
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值