前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小白都能玩转的Nmap(一)

小白都能玩转的Nmap(一)

作者头像
天钧
发布2019-07-26 17:02:00
1.6K0
发布2019-07-26 17:02:00
举报
文章被收录于专栏:渗透云笔记渗透云笔记

一、DHCP服务

1.1 网络基础服务DHCP服务类

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一种局域网的网络 协议。它的主要作用就是,给内部网络或网络服务供应商自动分配IP地址。当一台客户机 需要一个IP地址时,将会向DHCP服务器发送广播包。然后,收到请求的服务器会提供一个 可用的IP地址给客户端。由于客户端在请求包时发送的是广播包,所以存在一定的风险。

1.2 Nmap广播DHCP请求包

DHCP请求是客户端为了通过DHCP服务获取IP地址而发送的一种数据包。通过向网络中发 送一个DHCP Request(DHCP请求)广播包,可以获取到当前局域网中可用的一个IP地 址。在Nmap中,broadcast­dhcp­discover脚本可以用来发送DHCP广播请求,并显示 响应 包的详细信息。通过读分析响应的包信息,可以找到可分配的IP地址。

其中,语法格式如下所示:

代码语言:javascript
复制
script broadcast-dhcp-discover 

在以上语法中,仅指定使用的Nmap脚本即可,不需要指定目标地址。由于broadcast­dhcpdiscover脚本将会发送包到局域网中的所有主机,并且等待有响应的主机。

1.3 Nmap DHCP发现

DHCP是一个局域网的网络协议,主要作用就是为局域网中计算机动态分配IP地址。在 Nmap中,通过使用dhcp­discover脚本发送DHCPINFORM请求,可以获取所有本地的配置 参数,但是不会被分配一个新的地址。DHCPINFORM是一个DHCP请求,可以从一个 DHCP服务器上获取到非常有用的信息。其中,dhcp­discover脚本的使用语法格式如下所 示:

代码语言:javascript
复制
nmap -sU -p 67 --script=dhcp-discover [目标]

1.4 Nmap IGMP协议发现

IGMP(Internet Group Management Protocol,Internet组管理协议)是因特网协议家族中的一个组播协议。该协议运行在主机 和组播路由器之间。IGMP协议共有三个版本,分别是IGMPv1、IGMPv2和IGMPv3。通过 发送IGMP成员查询消息到224.0.0.1(组播地址),可以获取到IGMP成员信息。 在Nmap中,使用broadcast­igmp­discovery脚本可以发现目标主机上的IGMP组播成员,并 获取有意义的信息,如版本、接口、源地址等。其中,语法格式如下所示:

(我把水印去了,这样正好让大家理解,学习)

以上语法中“­e”选项是用来指定扫描接口。参数“broadcast­igmp­discovery.version”用来指 定扫描使用的IGMP协议版本,默认使用的是IGMPv2。该参数可使用的值有1、2、3和all。 参数“broadcast­igmp­discovery.timeout”用来指定等待报告的时间,默认是5秒。

二、DNS服务

2.1 网络基础服务DNS服务类

DNS(Domain Name System,域名系统)的作用就是将主机名解析为对应IP地址的过程。通常主机域名的一般 结构为:主机名.三级域名.二级域名.顶级域名。所以,DNS服务器在解析一个主机名时, 需要一级一级的进行解析,即递归查询。为了方便用户下次访问,DNS服务器会将解析过 的主机名临时缓存。通过对DNS服务器进行扫描,可以获取到一些基本信息。如版本、服 务器地址及缓存的域名等。

2.2 Nmap获取DNS信息

通过请求DNS服务器的ID,并且访问ID,可以获取DNS名称服务的相关信息。在Nmap中, dns­nsid脚本可以用来发送ID请求,并且获取DNS的详细信息。其中,包括NSID、ID的服 务及版本。dns­nsid脚本的语法格式如下所示:

代码语言:javascript
复制
nmap -sSU -p 53 --script dns-nsid [目标]

以上语法中的“­sSU”选项表示进行UDP和TCP SYN扫描

2.3 Nmap DNS服务发现协议

DNS服务发现协议允许客户端发现一个服务器列表。通过发送DNS­SD查询广播包,可以从 响应包中获取到一个服务列表。在Nmap中,broadcast­dns­service­discovery脚本可以发 送DNS­SD广播包,并且获取一个服务列表。其中,语法格式如下所示:

代码语言:javascript
复制
nmap --script=broadcast-dns-service-discovery 

2.4 Nmap 探测主机是否允许DNS递归查询

DNS服务器的主要作用就是进行域名解析。DNS进行域名解析时,通常会使用递归查询和 迭代查询。其中,递归查询是最常见的查询方式。在Nmap中,dns­recursion脚本可以用来 探测一台主机是否允许DNS递归查询。其中,语法格式如下所示:

代码语言:javascript
复制
nmap -sU -p 53 --script=dns-recursion [目标] 

2.5 Nmap枚举DNS服务器的主机名

主机名就是计算机的名字,网上邻居就是根据主机名来识别的,该名字可以随时更改。通 过暴力破解通用的子域,可以枚举DNS服务器的主机名。在Nmap中,dns­brute脚本可以 枚举DNS服务器的主机名。其中,语法格式如下所示:

以上语法中“dns­brute.domain”参数是用来指定破解的域名,如baidu.com;“dnsbrute.threads”参数是用来指定破解的线程数,默认是5;“dns­brute.hostlist”参数是用来指 定一个主机名列表文件的,用于dns­brute脚本进行破解。默认,破解使用的主机名列表文 件是/usr/share/nmap/nselib/data/vhosts­default.lst文件。当然,以上参数也可以不指定。

从以上输出信息中,可以看到枚举出的DNS服务器baidu.com所有域名及域名对应的IP地址。例如 主机名为lab.baidu.com的ip地址为111.13.101.29

2.6 NmapDNS缓存探测

DNS缓存就是当用户访问某个网址后,操作系统将会把该地址记录到缓存中,方便用户下 次访问。这样,就可以节省用户每次访问时,多次解析时间了。但是,这个缓存只是临时 缓存,超过设定的时间将会被清除。在Nmap中,dns­cache­snoop脚本可以探测一个主机 中的DNS缓存条目。其语法格式如下所示:

以上语法中“­sU”选项表示扫描UDP端口;“­p”选项指定的是DNS协议默认的端口53;“dnscache­snoop.mode”参数是用来指定运行模式的,可设置的模式有两种,分别是 nonrecursive和timed。其中,nonrecursive是默认模式。“dns­cache­snoop.domains”选项 表示可以指定探测缓存的主机名。如果同时指定多个主机名时,中间使用逗号分割。 可以直接后面加ip地址。

2.7 Nmap探测主机是否支持黑名单列表

这里所说的黑名单就是指支持防止DNS反垃圾和打开proxy黑名单。 ? 在Nmap中,dnsblacklist脚本可以探测目标主机是否支持防止DNS反垃圾和打开proxy黑名单。其中,语法 格式如下所示:

代码语言:javascript
复制
nmap -sn --script dns-blacklist [目标] 

以上语法中“­sn”选项表示不进行Ping扫描。

从以上输出信息中,可以看到目标主机支持防止DNS反垃圾和打开proxy黑名单。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 渗透云笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档