nmap使用教程
我见过太多人把nmap当成一个“扫描端口”的使用黑客玩具,敲两行命令就觉得自己无敌了。教程其实这工具真正厉害的使用地方,在于它能把网络测绘变成一门精确的教程手艺。你用它扫自家路由器,使用和用它扫公司内网,教程心态完全不一样——前者是使用好奇,后者是教程责任。
先别急着扫别人。使用拿你自己的教程电脑开刀。装好nmap后,使用最简单的教程命令是
nmap 127.0.0.1。你会看到一堆端口列表,使用从22到3306,教程每个开着都像一扇没锁的使用门。我第一次扫自己机器时吓了一跳,原来后台跑了这么多服务。这就是nmap的第一课:它让你看见平时看不见的东西。端口扫描只是皮毛。真正拉开差距的是
-sV参数,服务版本探测。光知道80端口开着没用,你得知道那是Apache 2.4.49还是Nginx 1.18.0——这两个版本的漏洞利用难度天差地别。我记得去年帮朋友排查一台被黑的服务器,就是靠-sV发现对方用的老版本OpenSSH,才顺藤摸瓜找到入侵路径。这参数慢,但值得等。内网渗透测试时,我最常用的是
-sn跳过端口,只做主机发现。想象一个场景:某公司IT说“我们内网很干净”,你一条nmap -sn 192.168.1.0/24扫过去,半小时后列出47台在线设备,其中3台是员工私自接的树莓派。这比任何安全报告都有说服力。别小看这功能,它帮你建立网络资产地图的第一步。真正的高手会组合参数。比如
-T4 -A -p-,意思是用激进时序、全面探测、扫全部65535个端口。这命令跑起来像野马,但能在一小时内给你一份完整的服务画像。有一次我在测试一个金融系统,用这组合扫出一个非标准端口上跑的Redis服务,没设密码,直接就能读写数据。要不是nmap,这漏洞埋在代码审计里可能永远发现不了。脚本引擎
--script才是nmap的灵魂。默认扫描只是敲门,脚本才是进屋搜查。比如--script=http-title批量获取网站标题,或者--script=vuln直接扫已知漏洞。我最喜欢的是--script=smb-enum-shares,在内网里能找出谁共享了不该共享的文件夹。有次客户说“我们文件服务器权限设得很严”,我用这脚本一跑,发现有个叫“公共资料”的共享目录,里面躺着全公司员工的工资表。别被输出吓到。nmap的结果分三块:端口状态、服务信息、脚本结果。你只需要关注三个状态:open是门开着,filtered是有防火墙挡着但不确定后面有没有人,closed是确认没人。实际测试中,filtered最让人头疼——它意味着对方有防护,你得换更隐蔽的手法,比如
-sS半开扫描,或者用-Pn跳过主机发现直接扫端口。最后说个反直觉的细节。nmap扫得越快,越容易被发现。默认的
-T3时序已经够温和,但如果你在红队演练中想隐蔽,得用-T2甚至-T1,配合--randomize-hosts打乱扫描顺序。慢是慢,但像水滴石穿,反而能绕过那些基于频率的入侵检测系统。我见过太多新手一上来就-T5,结果扫描日志还没生成就被安全团队打电话问候了。工具终究是工具。nmap输出的是数据,你得靠经验判断哪些端口值得深挖,哪些服务只是虚晃一枪。扫完别急着走,把结果和业务逻辑对上——为什么这台数据库服务器会开着FTP?为什么测试环境有生产数据的备份?这些问题,nmap回答不了,但能帮你提出正确的问题。这才是它真正的价值。
顶: 488踩: 28






评论专区