网络扫描(渗透测试)

网络扫描

​ 基于网络的远程服务发现和系统脆弱点检测的一种技术

步骤

  • 扫描目标网络找出尽可能多的服务连接
  • 扫描目标服务以判定服务类型和版本
  • 对服务进行漏洞扫描以确定是否存在可利用的漏洞

基于主机的扫描

  • 被动式策略或系统安全扫描
    • 运行在被扫描主机之上,对系统中错误的配置、脆弱的口令和其他不符合安全策略的设置进行检测

基于网络的扫描

  • 主动式策略
    • 向远程主机发送探测数据包,获取响应数据包并对其进行解码饭分析,从而发现网络或主机的各种漏洞

Nmap的功能:

​ 主机发现——》端口扫描——》版本检测——》OS侦测

主机发现

​ 即用于发现目标主机是否在线

原理:与Ping命令类似,发送探测包到目标主机,若收到回复,说明目标主机是开启的。多种主机探测方式,比如发送ICMP ECHO/TIMESTAMP/NETMASK报文、发送TCP SYN/ACK包、发送SC.TR INIT/COOKIE-ECHO包

用法:

  • -sn Ping Scan只进行主机发现,不进行端口扫描

在这里插入图片描述

  • -Pn:跳过主机发现而进行端口扫描等高级操作

在这里插入图片描述

  • -PS/PA/PU/PY:使用TCP SYN/ACK或SCTP INIT/ECHO方式进行主机发现

在这里插入图片描述

端口扫描

​ 找出目标主机或目标设备开放的端口和提供的服务,为下一步攻击做好准备

​ 是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况。默认情况下,Nmap会扫描1000个最有可能开放的TCP端口

TCP端口扫描
  • 全连接扫描(TCP扫描)三次握手
nmap -sT ip
  • 半连接扫描(SYN扫描)
nmap -sS ip
  • ACK扫描
nmap -sA ip

20230926165908013.png&pos_id=img-5HjsXD5C-1696346996327)

​ 向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏蔽。没有收到RST包,说明被屏蔽。

​ 只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。

  • FIN扫描、NULL扫描、TCP窗口扫描、自定义扫描
  • UDP端口扫描
nmap -sU ip

向目标主机的UDP端口发送探测包,如果收到回复ICMP port unreachable就说明端口是关闭的,如果没有收到回复,那说明UDP端口可能是开放的或屏蔽的。

NMAP使用注意事项

  • 避免误解:不要随意Nmap目标。许多单位把端口扫描视为恶意行为,测试Nmap最好在内部网络进行。如有必要,应该告诉同时你正在实验端口扫描,因为可能引发IDS警报以及其他网络问题。
  • 关闭不必要的服务:根据Nmap提供的报告,关闭不必要的服务,或者调整路由器的访问控制规则(ACL),禁用网络开放给外界的某些端口

版本扫描

​ 确定目标主机开放端口上运行的具体的应用程序以及版本信息

​ 原理:

  • 首先检查open与open|filtered状态的端口是否在排除端口列表内。如果在排除列表,将该端口剔除。
  • 如果是TCP端口,尝试建立TCP连接。接受到目标机发送的WelcomeBanner信息。nmap将接收到的Banner与nmap-serveices-probes中的签名进行对比。查找对应应用程序的名字与版本信息
  • 如果是UDP端口,那么直接使用nmap-services-probes中探测包进行探测匹配。根据结果对比分析出UDP应用服务类型
用法
  • -sV:指定让Nmap进行版本侦测
  • nmap -sV 目标

扫描操作系统类型

用于检测目标主机运行的操作系统类型及设备类型等信息

  • 被动扫描
    • 分析一般通信流量:不准确
    • p0f:相对准确,p0f-r数据包文件
  • 主动扫描
    • nmap
      在这里插入图片描述

主动扫描原理

​ 利用系统数据库nmap-os-db,可以识别2600多种操作系统与设备类型

原理:

​ 利用TCP/IP协议栈指纹来识别不同的操作系统和设备

​ 分别挑选一个open和closed的端口,向其发送经过精心设计的TCP/UDP/ICMP数据包,根据返回的数据包生成一份系统指纹。

​ 将探测生成的指纹与nmap-os-db中指纹进行对比,查找匹配的系统。如果无法匹配,以概率形式列举出可能的系统

用法:

  • -O 指定Nmap进行OS侦测
  • –osscan-limit:限制Nmap只对确定的主机进行OS探测(至少需要确知该主机分别有一个open和closed的端口)。
  • –osscan-guess:大胆猜测对方的主机的系统类型

端口

21端口:FTP协议服务端口

FTP(文件传输协议)是典型的C/S构架的应用层协议,需要由服务端软件、客户端软件两个部分共同实现文件传输功能

22端口:SSH
23端口:Talnet协议端口

​ talnet命令用于启动TALNET服务器,该服务器用于实现网络数据的安全传输。

3389端口:远程连接协议端口(RDP)
80端口:HTTP协议端口
443端口:(HTTPS协议)网页浏览端口
8080端口:WWW协议端口
139、445端口:共享目标文件端口(smb协议)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值