第4章 IP网络扫描(网络安全评估)

你的网络有多安全?要回答这一问题,最好的方法是对其进行攻击。《网络安全评估》(第二版)为你提供了用于识别和评估网络安全的技巧和工具,通过学习本书,你可以掌握网络安全加固知识,从而避免网络遭受黑客攻击。这本书是2012年中国电力出版社出版的,作者是McNab,翻译是王景新,我读研究生的时候买的(2015年),近日捧起重读,内容至今都不过时~

ailx10

网络安全优秀回答者

互联网行业 安全攻防员

去咨询

通过网络扫描和探测,黑客对目标网络的拓扑结构及其安全机制有了较为清晰的认识,但在真正渗透测试之前,还需要对特定的网络服务进行探测,以便于发现和枚举其中存在的漏洞,因此也是基础中的基础,属于新人入门第一课。

1、ICMP探测

1)ICMP消息类型

  • 类型8:echo请求
  • 类型13:时间戳请求
  • 类型15:信息请求
  • 类型17:子网地址掩码请求

2)ICMP探测工具

  • SING(send icmp nasty garbage) 过时了
  • Nmap/ICMPScan

先看看Nmap,使用Nmap进行ping扫描,-sP标记还会对目标主机的80端口发送SYN和ACK标记的TCP探测包

复制代码
nmap -sP -PI 192.168.0.1/24

3)识别子网和广播地址

使用Nmap枚举子网和广播地址

复制代码
nmap -sP 192.168.0.0/24

4)使用ICMP识别操作系统指纹

书中介绍了2004年流行的xpobe软件,现在已经无法使用了,Nmap可以使用-O来识别系统,不过是TCP指纹

复制代码
nmap -O 192.168.0.0/24

2、TCP端口扫描

1)标准的扫描方法

TCP连接端口扫描,主动建立完整的TCP连接,没有隐蔽性,但是不需要root就能运行,参数是-sT

复制代码
nmap -sT 192.168.0.100

半开SYN扫描,3次握手的最后一步直接发RST重置报文,不会被服务端记录,但是躲不过防火墙的记录,并且需要root权限,使用-sS标记

2)隐秘TCP扫描方法

反转TCP标记扫描,有FIN探测包,XMAS探测包,NULL探测包,它们有个好听的名字叫圣诞树扫描攻击,其标记分别是-F-X-N ,如果目标端口是关闭的,黑客会收到RST/ACK报文,如果没有响应,说明端口是开放的,或者主机不可达。

ACK标记探测,利用的是黑客发送ACK报文后,分析收到的数据包的ttl、window等字段的差异来判断端口的开放情况,只针对某些操作系统生效,其标记分别是-sA-sW

也可以使用hping3进行分析TTL和Window值。

3)第三方以及欺骗性TCP扫描方法

IP ID头扫描是一种隐秘的扫描技术,黑客利用僵尸主机(192.168.0.1)向目标主机(192.168.0.100)进行欺骗性的端口扫描,并通过对僵尸主机的IP ID查询,来识别目标主机开放的端口,标记是-sI

复制代码
nmap -P0 -sI 192.168.0.1 192.168.0.100

3、UDP端口扫描

因为UDP是一种无连接协议的特性,进行UDP端口扫描的常见是发送探测包后,等待"ICMP目的端口不可达"消息,以确认UDP端口是关闭的,其标记是-sU

或是采用特定的UDP服务客户端工具,比如dig,发送UDP报文,等待积极的响应结果,如下图所示,很显然UDP53端口是开放的,而UDP22端口是关闭的。同样的可以使用tftp、snmpwalk探测目标主机的UDP端口是否开放。

复制代码
dig 8.8.8.8 -p 53 -t udp

发布于 2023-05-13 11:56・IP 属地江苏

相关推荐
阿瑾061835 分钟前
【网络】Socket套接字
linux·网络·c++·网络协议
chairon1 小时前
Ansible:playbook实战案例
运维·服务器·网络·ansible
王伯爵1 小时前
5G网络中A端口和Z端口
网络·5g·php
我也爱吃馄饨2 小时前
项目复盘:websocket不受跨域限制的原理
网络·websocket·网络协议
江城月下2 小时前
网络通信协议浅析:TCP/IP、UDP、HTTP 和 MQTT
物联网·tcp/ip·http·udp
倾云鹤2 小时前
okhttp3网络请求
android·网络
bubble2 小时前
华为eNSP-配置静态路由与静态路由备份
网络·智能路由器
真正的醒悟2 小时前
⑦(ACG-网络配置)
运维·服务器·网络
π大星星️2 小时前
HTTP 状态码解析
网络·网络协议·http
老马啸西风2 小时前
Neo4j GDS-06-neo4j GDS 库中社区检测算法介绍
网络·算法·云原生·中间件·neo4j