项目笔记:信息收集之神器nmap

         一,神器nmap

                nmap又称为诸神之眼,是一款功能强大的开源网络扫描和安全审计工具,最初由 Gordon Lyon(Fyodor)开发。它被广泛用于网络发现、端口扫描、操作系统识别、服务版本检测以及漏洞扫描等任务。Nmap 支持多种扫描技术,能够高效地探测目标网络中的主机和服务,是网络管理员、安全工程师和渗透测试人员的必备工具之一。

Nmap 的主要功能

  1. 主机发现
    • 检测网络中存活的主机,支持 ICMP、TCP SYN、UDP 等多种探测方式。
    • 可通过子网掩码或 IP 范围扫描整个网络。
  2. 端口扫描
    • 支持 TCP SYN、TCP Connect、UDP、FIN、Xmas 等多种扫描技术。
    • 可扫描单个端口、端口范围或全部 65535 个端口。
  3. 服务/版本检测
    • 识别目标主机上运行的开放端口及其对应的服务和版本信息。
  4. 操作系统识别
    • 通过分析 TCP/IP 协议栈指纹,推断目标主机的操作系统类型和版本。
  5. 脚本扫描
    • 使用 Nmap 脚本引擎(NSE)执行自定义脚本,实现更高级的扫描功能,如漏洞利用、Web 应用检测等。
  6. 输出格式
    • 支持多种输出格式,包括普通文本、XML、JSON、grepable 等,便于与其他工具集成。
基本扫描命令

        扫描单个主机器默认1000个端口

nmap 主机ip

示例:

检测目标主机是否在线:

nmap -sn <目标IP或域名>

  • 参数 -p <端口范围>:指定扫描的端口范围。

  • -p-:扫描所有65535个端口。超级漫长
  • -sV:服务版本检测。功能:识别开放端口上运行的服务及其版本
  • -O:操作系统检测。 功能:识别目标主机的操作系统类型和版本。
  • --script=default:运行默认脚本。功能:使用Nmap脚本引擎(NSE)进行高级扫描。
  • --script=vuln:运行漏洞检测脚本。功能同上

防火墙/IDS规避

  • 功能:绕过防火墙或入侵检测系统(IDS)。
  • 常用选项
    • -f:将数据包分片,以避免被简单防火墙检测。
    • --mtu <大小>:指定数据包的最大传输单元(MTU)。
    • --data-length <长度>:在数据包中添加随机数据。

输出格式

  • 功能:将扫描结果保存到文件。
  • 常用选项
    • -oN <文件名>:保存为普通文本格式。
    • -oX <文件名>:保存为XML格式。
    • -oG <文件名>:保存为grepable格式。

常用扫描类型

选项描述
-sSTCP SYN扫描(半开放扫描,快速且隐蔽)。
-sTTCP连接扫描(完整建立连接,适用于防火墙限制SYN扫描的情况)。
-sUUDP扫描(检测开放的UDP端口)。
-sAACK扫描(用于防火墙规则检测)。
-sWWindow扫描(类似于ACK扫描,但更隐蔽)。
-sNNULL扫描(不发送任何标志位)。
-sFFIN扫描(发送FIN标志位)。
-sXXMAS扫描(发送FIN、URG、PSH标志位)。

Nmap 常用命令和选项汇总表

功能分类命令/选项描述
基本扫描nmap <目标IP>扫描目标主机的常用端口(默认 1000 个端口)。
nmap 192.168.1.0/24扫描整个子网。
端口扫描-p <端口>指定扫描的端口,例如 -p 80,443
-p-扫描所有 65535 个端口。
-F快速扫描(仅扫描常用端口)。
扫描技术-sSTCP SYN 扫描(默认,快速且隐蔽)。
-sTTCP Connect 扫描(完整连接,较慢但无权限要求)。
-sUUDP 扫描。
-sAACK 扫描(用于防火墙探测)。
服务/版本检测-sV检测开放端口上的服务版本信息。
操作系统检测-O识别目标主机的操作系统类型和版本。
主机发现-sn仅执行主机发现,不进行端口扫描。
NSE 脚本扫描--script=<脚本名>执行特定 NSE 脚本,例如 --script=smb-vuln-ms17-010
--script-help=<脚本名>查看特定脚本的帮助信息。
输出格式-oN <文件名>将结果保存为普通文本格式。
-oX <文件名>将结果保存为 XML 格式。
-oG <文件名>将结果保存为 grepable 格式(便于使用 grep 搜索)。
绕过防火墙-f分片数据包,绕过简单防火墙。
--mtu <大小>指定数据包的最大传输单元(MTU),例如 --mtu 24
其他选项-v增加详细输出(verbose)。
-d增加调试信息输出。
--reason显示端口状态的原因(例如,closed、filtered)。

常用扫描组合(也是zenmap选项)

第一种:Intense scan
(nmap -T4-A -v)
一般来说,Intense scan可以满足一般扫描
-T4加快执行速度, 范围(0-5) (higher is faster).
-A操作系统及版本探测
-v显示详细的输出


第二种:Intense scan plus UDP.
(nmap -sS-sU -T4 -A -v).
即 UDP 扫描
-sS
TCP SYN 扫描
-sU UDP扫描


第三种:Intense scan,all TCP ports.
(nmap -p 1-65536-T4-A-v)
扫描所有端口,范围在1-65535,试图扫描所有端口的开放情况,速度比较慢。
p指定端口扫描范围

第四种:Intense scan,no ping.
(nmap -T4 -A-v -Pn).
非 ping 扫描
-Pn非ping 扫描


第五种:Ping scan
(nmap -sn).
Ping扫描
优点:速度快。
缺点:容易被防火墙屏蔽,导致无扫描结果
-sn ping 扫描
第六种:Quick scan
(nmap -T4 -F).
快速的扫描
-F快速模式
第七种:Quick scan plus.
(nmap-sV -T4 -O -F --version-light).
快速扫描加强模式

-sV探测端口及版本服务信息。·
-0开启服务器版本检测·
--version-light 设定侦测等级为2。

·
第八种:Quick traceroute
(nmap -sn -traceroute).
路由跟踪
-sn Ping扫描,关闭端口扫描
-traceroute显示本机到目标的路由节点。。


第九种:Regular scan
常规扫描·

第十种:Slow comprehensive scan
(nmap-sS-sU -T4 -A-v-PE -PP -PS80,443,-PA3389,PU40125-PY-g 53--script all).
慢速全面扫描
-PY简单的控制传输协议
-g指定源端口号。

NMAP防火墙


端口的状态:.
open,端口开放;
filtered,端口被防火墙或安全软件阻止了,也可能是网络堵塞;
closed,端口关闭。
-PS选项来实施TCP SYNping可绕过防火墙
-PA这种类型的扫描将只会扫描ACK包,可绕过防火墙
-PU扫描只会对目标进行udpping扫描。这种类型的扫描会发送UDP包来获取一个响应,可绕过防火
墙·
-PP选项进行一个ICMP时间戳ping扫描,可绕过防火墙
-PE参数进行一个IEMP(Internet控制报文协议)在指定的系统上输出ping,可绕防火墙
-Pn不采用ping方式进行扫描,可绕过防火墙。。
-sA用于发现防火墙规则,比如扫到的端口是过滤的,那么可以使用这个参数进行绕过。


NMAP脚本渗透测试

        在Nmap安装目录下的scripts目录里存放了许多以".nse”后缀结尾的文本文件,这些就是Nmap
自带的脚本引擎。使用NmapScript时,需要添加参数“--script 脚本名称”。脚本路径在nmap/scripts

核心功能与命令
功能分类脚本示例命令示例说明
漏洞扫描vuln 类别脚本nmap -sV --script=vuln 192.168.1.100扫描目标服务版本并检测CVE漏洞(如MS17-010、Log4j2等)。
弱口令探测http-form-brutenmap -p 80 --script=http-form-brute --script-args='http-form-brute.path=/login' 192.168.1.100对Web表单进行暴力破解,需指定登录路径及字典文件。
信息收集http-titlessh-hostkeynmap -sV --script=banner,http-title,ssh-hostkey 192.168.1.100提取目标服务Banner、Web标题、SSH密钥等信息。
暴力破解mysql-brutenmap -p 3306 --script=mysql-brute --script-args='userdb=users.txt,passdb=passwords.txt' 192.168.1.100针对MySQL服务进行用户名和密码爆破。
漏洞利用http-vuln-cve2021-44228nmap -p 80 --script=http-vuln-cve2021-44228 192.168.1.100检测目标是否存在Log4j2远程代码执行漏洞。
主机发现arp-scanicmp-pingnmap -sn --script=arp-scan 192.168.1.0/24扫描局域网内活跃主机,结合ARP和ICMP协议。
服务枚举smb-enum-sharesnmap -p 445 --script=smb-enum-shares 192.168.1.100枚举SMB共享目录,发现敏感文件或配置。
默认凭证检测http-default-accountsnmap -p 8080 --script=http-default-accounts 192.168.1.100检测Web服务(如Tomcat、Jenkins)的默认用户名和密码。
脚本分类与调用

NMAP脚本按功能分为以下类别,可通过--script参数调用:具体可以去nmap官网查看http://nmap.org

类别说明
auth绕过认证机制(如SSH、FTP弱口令)。
broadcast在局域网内探测DHCP、DNS等服务。
brute暴力破解(如HTTP表单、数据库密码)。
default默认脚本集合(等价于-sC)。
discovery网络服务枚举(如SNMP查询、SMB枚举)。
dos拒绝服务攻击测试(需授权)。
exploit已知漏洞利用(如Shellshock、Struts2 RCE)。
fuzzer模糊测试(发送畸形数据包探测漏洞)。
intrusive高风险脚本(可能触发IDS/IPS或导致系统崩溃)。
malware检测后门、病毒或恶意软件。
safe低风险脚本(适合生产环境)。
version增强服务版本检测。
vuln漏洞扫描(如CVE、MS Bulletin)。

实战:

快速扫描已授权单位ip常用端口并识别系统类型并保存在can文件中

2,随机扫描+延时扫描达到隐藏自己的效果

完结撒花~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值