系统入侵与攻击工具-namp扫描方式与内置脚本

【免责声明】 本文档所涉及的技术、思路和工具,仅供网络安全学习、交流与防御研究使用。请勿用于任何未经授权的非法渗透测试或破坏行为。任何未经授权对真实目标系统进行扫描、探测、攻击的行为均属于违法犯罪。网络空间安全需要大家共同维护,请坚守白帽底线。

核心思想 :Nmap 提供了多种端口扫描方式。在实战中,选择哪种扫描方式,取决于你当前拥有的权限 、对扫描速度 的要求,以及最重要的------隐蔽性(是否会被目标防火墙或 IDS 发现)。


一、 TCP 扫描的核心方式:全连接 vs 半连接

Nmap 最常用、最基础的两种端口扫描方式是基于 TCP 协议的。理解它们的核心在于 TCP 三次握手的过程。

1. TCP 全连接扫描(Connect Scan)

  • 命令 :nmap -sT <目标IP> -p <端口>

  • 原理 :调用操作系统的 connect() 系统调用,与目标端口完成完整的 TCP 三次握手。

    1. 攻击机发送 SYN 包。

    2. 目标返回 SYN+ACK(端口开放)或 RST(端口关闭)。

    3. 若端口开放,攻击机发送 ACK 建立连接,随后发送 RST 断开连接。

  • 特点 :不需要 root 权限(普通用户可执行)。但因为完成了三次握手,目标主机的系统日志(如 Web 服务器日志、系统审计日志)会详细记录下攻击机的 IP 和连接行为,隐蔽性极差,速度较慢。

2. TCP 半连接扫描(SYN Scan / 隐蔽扫描)

  • 命令 :nmap -sS <目标IP> -p <端口>

  • 原理:不完成三次握手(因此称为"半连接")。

    1. 攻击机发送 SYN 包。

    2. 目标返回 SYN+ACK(端口开放)或 RST(端口关闭)。

    3. 关键点 :若收到 SYN+ACK 证明端口开放,攻击机立即发送 RST 包中断连接 ,不进行最后的 ACK 确认。

  • 特点 :Nmap 的默认扫描方式(需 root 权限) 。因为没有完成握手,连接未被完全建立,通常不会在目标应用层留下日志记录。速度快,隐蔽性高,是实战中最常用的扫描方式。


二、 进阶隐蔽扫描方式(绕过防火墙)

除了 SYN 扫描,Nmap 还支持构造各种畸形的 TCP 标志位进行扫描。这些扫描利用了一个 RFC 793 规范:对于关闭的端口,无论收到什么标志位的包都会返回 RST;对于开放的端口,则会丢弃这些异常包(无返回)。

  • FIN 扫描 :nmap -sF <目标IP> -p <端口>(仅发送 FIN 标志位)

  • Null 扫描 :nmap -sN <目标IP> -p <端口>(不设置任何标志位)

  • Xmas 扫描 :nmap -sX <目标IP> -p <端口>(设置 FIN, PSH, URG 标志位,像圣诞树亮灯一样)

补充(重要避坑) : 这几种高级扫描仅对类 Unix 系统(Linux、Mac)有效 。因为微软的 Windows 系统在实现 TCP/IP 协议栈时没有完全遵循 RFC 793,无论端口开放与否,收到这种异常包都会统一返回 RST。因此,用这些方式扫描 Windows 机器,只会得到全封闭的假象。


三、 NSE 脚本引擎(Nmap Scripting Engine)

Nmap 不仅仅是个端口扫描器,它内置了强大的 NSE 脚本库(使用 Lua 语言编写),可以直接用于漏洞探测和密码爆破。

1. 漏洞扫描

  • 命令 :nmap --script=vuln <目标IP>

  • 作用 :调用 vuln 分类下的所有脚本,对目标开放的端口进行已知漏洞探测。虽然不如专业的 Web 扫描器(如 AWVS)全面,但能快速发现一些经典的系统级漏洞(如 MS17-010)。

2. 密码爆破

  • 命令 :nmap --script=brute --script-args 'userdb=./userList.txt,passdb=./pwdList.txt' <目标IP> -p 22

  • 解析:

    • --script=brute:调用暴力破解相关的脚本。

    • --script-args:传入脚本所需的参数。这里分别指定了用户名字典(userdb)和密码字典(passdb)的路径。

    • 该命令常用于对 SSH(22端口)、FTP(21端口)、MySQL(3306端口)等进行弱口令爆破。


补充:防守方视角

  1. 针对全连接(-sT) :蓝队在目标主机的系统日志(如 /var/log/secure)或应用日志中,能看到大量来自同一 IP 的、瞬间建立又断开的完整 TCP 连接,特征非常明显。

  2. 针对半连接(-sS) :应用层可能不记录,但在网络层,防火墙或 IDS 会记录下大量的 SYN 包,以及紧随其后的 RST 包,这属于典型的"SYN 洪泛"或扫描特征,极易触发拦截策略。

  3. 针对异常扫描(-sF/-sN/-sX):安全设备检测到不符合正常业务逻辑的 TCP 标志位组合,会直接判定为攻击行为并阻断。

  4. 针对 NSE 脚本:如果目标部署了 WAF 或 HIDS(主机入侵检测),爆破行为会产生大量高频的失败登录日志,触发账户锁定或 IP 封禁。

因此,在授权实战演练中,推荐使用 -sS 配合 -T4 速度级别进行基础探测,避免无脑使用大字典进行爆破。

相关推荐
众壹新能源科技1 小时前
逆变器半夜停机等备件48小时少发10万度电,备件安全库存怎么算
大数据·运维·安全
Escalating_xu1 小时前
【Linux 网络编程】传输层协议 UDP:从 8 字节首部到消息边界、缓冲区与 MTU
linux·网络·udp
byte轻骑兵1 小时前
【HIDS】规范精讲[3]:把连接间隔压到极限——SCI 四档调速的底层机制
网络·网络协议·人机交互·hids·蓝牙协议
国科安芯2 小时前
ASP4644系列抗辐射电源模块的国产化进程、供应链安全与产业生态综述
人工智能·物联网·安全·电池·电源芯片·低轨卫星·抗辐射
Bruce_Liuxiaowei2 小时前
2026年10月第4周网络安全形势周报
安全·web安全·网络安全
特别关注外国供应商2 小时前
Claroty Claire:OT 环境中的 AI 驱动型网络安全
人工智能·网络安全·ai安全·工业网络安全·claroty·ot网络安全·暴露面管理
愤怒火龙果2 小时前
AIGC 安全学习笔记02 后门攻击・LLM 安全靶场・提示词注入
学习·安全·aigc
骑着蜗牛撵大象3272 小时前
从三次握手到 epoll:C++ 写出可落地的 TCP Socket 服务端
网络·c++·tcp/ip·高并发·tcp·epoll
安教安全员通关宝2 小时前
2026年江西安全员A证考试题库+答案+解析
安全