Nmap神器使用

各位大佬,最近好么
在这里插入图片描述
最近大家有在看《亲爱的,热爱的》吗?有没有被其中CTF比赛的氛围所吸引?
通过电视剧推广网络安全的方式的确不错,但是画面中比赛用到的命令实在不敢让人恭维…
在这里插入图片描述

nmap -sT -A操作已经是最容易暴露自己的扫描方式,并且最后的localhost是什么鬼?扫描自己就可以抵挡攻击?这波神操作身为技术小白的我实在欣赏不来。
在这里插入图片描述

nmap是网络扫描和嗅探工具包,是网络管理员必备工具之一,也是黑客进行信息收集时的必备工具,nmap基本功能有:主机发现,端口扫描,版本侦查以及操作系统探测。
那接下来通过一些实验来带学一学怎么使用这款神器。
在这里插入图片描述

Nmap之主机发现

主机发现也就是确认局域网中存活的主机,原理与通常测试网络连通性的ping命令类似,发送探测包到目标主机,若收到目标机回复,则说明目标机是开启的。

nmap -sn 192.168.100.0/24

在这里插入图片描述
其中-sn是不进行端口扫描,只进行主机发现,192.168.100.0/24是指192.168.100.0-192.168.100.255这256个IP。
nmap进行主机发现时,会发送多种类型的数据包,只要有一种包返回,都可以证明主机是存活的,这样就算目标主机防火墙开启ICMP拦截,也会发现该主机存活。

Nmap之端口扫描

端口扫描是用来确认目标主机端口开放情况,从而分析目标主机开放的协议。

扫描出的端口有六种状态:
open:端口开放
closed:端口关闭
filtered:端口被防火墙或IDS/IPS屏蔽
unfiltered:端口没有被屏蔽,但是否开放需进一步确定
open|filtered :端口是开放或被屏蔽
closed|filtered :端口是关闭或屏蔽

了解了端口的状态,接下来了解一下常见的端口扫描方式:

半开放扫描(TCP SYN)

这种扫描方式不需要建立完整的TCP三次握手,速度快,是常用的端口探测方法之一

nmap -sS 192.168.100.69

在这里插入图片描述
通过抓取数据包可以看到,只要目标端口回复SYN+ACK包,就可证明此端口开放。
在这里插入图片描述

开放扫描(TCP)

这种扫描方式需要建立完整的TCP三次握手,优点是探测准确率最高,缺点是速度慢,且容易被发现。

nmap -sT 192.168.100.69

在这里插入图片描述

通过抓包可以看到,只有建立了完整的三次握手,才可证明端口是开放的。

隐蔽扫描(TCP FIN)

这种扫描隐蔽性高,不会被目标主机记录到日志中,但扫描结果往往也不理想。

nmap -sF 192.168.139.69

在这里插入图片描述
从扫描结果看,端口是全部开启或者有防火墙
在这里插入图片描述
抓包可以看出,FIN扫描会向目标主机发送FIN包,若到达关闭端口,数据包丢弃,并返回RST包;若到达打开端口,只会丢掉数据包,不返回RST。这也造成如果对方开启防火墙,FIN包会被防火墙直接丢掉,导致上图结果。

TCP ACK扫描

这种扫描是通过向目标主机发送ACK包,若收到目标机返回的RST包,则说明该端口没有被屏蔽,反之端口被屏蔽。
ACK扫描只能用于确认防火墙是否屏蔽端口,如下图所示,端口均被屏蔽。

nmap -sA 192.168.139.69

在这里插入图片描述

UDP扫描

向目标主机UDP端口发探测包,如果收到目标主机发送的“ICMP port unreachable”,说明端口关闭,没收到则可能是开放或被防火墙屏蔽。

nmap -sU 192.168.139.69

在这里插入图片描述

特定端口扫描

有时我们只需要探测某个特定端口,这时就可以使用-p参数。

nmap -sS -p 445 192.168.139.0/24

在这里插入图片描述

快速扫描模式

一般情况下,不设置扫描端口,nmap会扫描默认使用率排行前1000的端口,如果只是扫单个IP还好,但是如果扫描一个网段,速率将很慢。如果想提高扫描速度,那只能减少扫描端口数量。-F参数,是扫描排行前100的端口。

nmap -sS -F 192.168.139.0/24

在这里插入图片描述
若你觉得扫100个端口还是有点慢或者觉得100个端口有点少,使用–top-ports参数可以自己指定扫描排行前多少的端口。我设置的是扫描排行前50的端口。

nmap -sS --top-ports 50 192.168.139.0/24

在这里插入图片描述

设置扫描速率

有时候扫描的速度过快可能被目标主机封IP,这时就需要减慢扫描速度。
-T用来设置扫描速度,从0到5,数字越大,扫描速度越快。
当我使用-T4速度进行扫描时,只用了10秒多探测完1000个端口。

nmap -sS -T4 192.168.139.69

在这里插入图片描述
但按照-T1速度,运行了快1个小时了,只进行了11%的扫描进度,可以看到-T1有多慢了,扫描过程中都怀疑进程挂了。

nmap -sS -T1 192.168.139.69

在这里插入图片描述

Nmap之版本侦查

每个软件版本与服务都会有特征码,且可以在不同版本与不同软件中明显区分出来,我们管这种特征码叫指纹,就如同我们的指纹,唯一确定。nmap默认文件中包含各种软件与服务的指纹文件,通过匹配,可以进行软件版本与服务版本的侦查。

nmap -sV  192.168.139.69

在这里插入图片描述

Nmap之操作系统侦查

操作系统本侦查原理与版本侦查原理类似

nmap -O 192.168.139.69

在这里插入图片描述
直接使用-O参数可能获取结果不太准确,配合–osscan-guess参数,可以给出指纹匹配到可能性的比例,提高结果准确性。

nmap -O --osscan-guess 192.168.139.69

在这里插入图片描述

Nmap之骚操作篇

nmap的基本操作介绍完了,现在在带着大家看看nmap的一些骚操作。

详细探测一个ip
可以直接使用-A参数,它会启用OS检测、版本检测、脚本扫描和跟踪路由,很详细的讲探测到的所有信息显示出来,缺点也显而易见,扫描单个IP就耗时38s,如果是一个IP段,等待时间将是很久。

nmap -A  220.181.38.150

在这里插入图片描述

多IP探测

如果想一次扫多个不连续的IP怎么办?这时可以选择导入文件扫描。

nmap -iL ip.txt

在这里插入图片描述
扫描一个连续的IP段,但要排除某个IP,这又该怎么办?这时可以使用-exclude参数。

nmap -sn 192.168.139.0/24 -exclude 192.168.139.3

在这里插入图片描述
如果要排除多个IP,那么也可以将这些IP写一个文档,加载文档进行排除。
在这里插入图片描述
将上图中的IP写入ip.txt下次扫描时导入文件不进行扫描。

nmap -sn 192.168.139.0/24 -excludefile ip.txt

在这里插入图片描述

不管是导入文件进行扫描,还是导入文件进行排除,都是要达到节省时间与资源的目的。

查看扫描过程

通过-vv参数,nmap会将扫描过程打印出来

nmap -vv -sS 192.168.139.69

在这里插入图片描述

Nmap之骚操作

规避防火墙或入侵检测设备

方式一:原地址欺骗
使目标主机认为是另外一个地址进行扫描。

nmap -e eth0 192.168.139.69  -S 192.168.139.225  -Pn

在这里插入图片描述
-e指定网卡,-S指定伪装成的地址,-Pn不进行主机发现,默认主机存活。
在这里插入图片描述
通过抓包可以看到已经伪装成IP为192.168.139.225的地址。

方法二:
使用僵尸主机扫描
上边的这种方法在内网中比较适用,但是在外网就玩不动了,那就需要使用僵尸主机进行扫描,说白了就是用别人的主机帮你进行扫描。

nmap -sI 192.168.139.3 192.168.139.223

在这里插入图片描述
使用僵尸主机扫描的原理如下:
1.确定僵尸主机的IP ID序列号。
2.Nmap将伪造的SYN数据包发送到目标,就好像它是由空闲主机发送的一样。
3.如果端口是打开的,则目标发送SYN / ACK数据包并增加其IP ID序列号给空闲主机。
4. Nmap分析空闲主机的IP ID序列号的增量以查看是否收到来自目标的SYN / ACK数据包并确定端口状态。
僵尸主机扫描优点显而易见,但是缺点就是僵尸主机不好找…

使用nse脚本

可以通过写nse脚本进行对你的nmap进行扩展,nse脚本需要使用Lua语言编写。

创建一个nse后缀的文件
(我创建的是test_80.nse)
写入以下代码:
在这里插入图片描述
这段代码的含义就是当检测到80端口开放时,会输出当前ip开启80端口的提示

移动代码到nmap路径下:
mv test_80.nse /usr/share/nmap/scripts/
测试代码,这里我用百度网站进行测试

nmap --script=test_80 www.baidu.com

在这里插入图片描述

漏洞扫描

漏洞扫描原理如同上边描述的nse脚本,这里的脚本已经有大神发布到github上,我们只需要下载即可使用。

在nmap的script目录下安装vulners(kali下在/usr/share/nmap/scripts),使用git命令下载文件:
git clone https://github.com/vulnersCom/nmap-vulners.git

探测目标主机可能存在的漏洞

nmap --script nmap-vulners  -sV 192.168.139.106

在这里插入图片描述
扫描特定漏洞,这里给大家举例熟悉的永恒之蓝漏洞。

nmap --script smb-vuln-ms17-010 192.168.139.3

在这里插入图片描述

nmap之图形界面

zenmap是nmap的图形界面版,使用方法与命令操作方式相同。
在这里插入图片描述
查看开放端口
在这里插入图片描述
主机信息
在这里插入图片描述
还可以查看扫描过主机之间的拓扑图
在这里插入图片描述

今天的知识点到这里就结束了,咱们下次见!

在这里插入图片描述
欢迎关注微信公众号:Hacker安全 获取更多内容!
在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值