nmap探测网络基础服务
探测DHCP服务
- DHCP发现
- nmap -sU -p 67 --script=dhcp-discover [target]
- 其他参数dhcptype:指定DHCP请求的类型,默认是DHCP INFORM。其中,可以指定的类型有DHCP OFFER、DHCP REQUEST、DHCP DECLINE、DHCP ACK、DHCP NAK、DHCP RELEASE或DHCP INFORM。
randomize_mac:指定请求使用的随机MAC地址。
requests:设置请求数。其中,指定的值为整数。
- 其他参数dhcptype:指定DHCP请求的类型,默认是DHCP INFORM。其中,可以指定的类型有DHCP OFFER、DHCP REQUEST、DHCP DECLINE、DHCP ACK、DHCP NAK、DHCP RELEASE或DHCP INFORM。
- nmap -sU -p 67 --script=dhcp-discover [target]
- 广播DHCP请求包
- nmap --script broadcast-dhcp-discover
- 其他参数broadcast-dhcp-discover.mac:指定一个随机或特定的客户端MAC地址。其中,默认使用的DHCP请求的MAC地址为DE:AD:C0:DE:CA:FE。如果使用随机的MAC地址,可能会使DHCP服务器每次都返回一个新的IP地址。
broadcast-dhcp-discover.timeout:设置等待响应的延迟时间,默认为10s。
探测DNS服务器
- 获取DNS信息
- nmap -sSU -p 53 --script dns-nsid [target]
- 广播发现DNS服务器
- nmap --script=broadcast-dns-service-discovery
- 使用字典暴力破解子域名
- nmap --script dns-brute domain
- 其他参数dns-brute.threads:设置线程数,默认为5。
dns-brute.srvlist:要尝试的SRV记录列表的文件名。默认为nselib/data/dns-srv-names。
dns-brute.hostlist:要尝试的主机字符串列表的文件名。默认为nselib/data/vhosts-default.lst。
dns-brute.srv:执行SRV记录查找。
dns-brute.domain:如果没有指定主机,则对域名进行暴力破解。
newtargets:为NSE脚本添加新的目标。
max-newtargets:设置允许的新目标的最大数。如果设置为0或更少,表示没有限制。默认值为0。
- 利用DNS服务发现协议获取DNS服务信息 DNS服务发现协议(DNS Service Discovery Protocol)是一种用于局域网主机发现的协议,它借助DNS的PTR、SRV和TXT记录来记录服务信息。Nmap的dns-service-discovery脚本利用该机制,通过向目标主机的UDP 5353端口发送查询包,从而获取借助该协议的服务信息,如端口号、版本号和服务名等信息
- nmap --script=dns-service-discovery <target>
- 探测主机是否允许DNS递归查询
- nmap -sU -p 53 --script=dns-recursion [target]
- 探测主机是否支持DNS反垃圾和代理的黑名单
- nmap -sn --script dns-blacklist [目标]
- 探测DNS区域配置
- nmap --script dns-check-zone domain
- 探测DNS服务是否启用缓存功能
- nmap --script dns-cache-snoop <target>
- 检测DNS服务器随机端口可预测漏洞
- nmap --script=dns-random-srcport <target>
- 检测DNS服务器传输会话ID可预测漏洞
- nmap --script=dns-random-txid <target>
- 用DNS的ECS功能获取IP地址
- nmap --script dns-client-subnet-scan <target>
- 其他参数dns-client-subnet-scan.domain:指定查找的域。
dns-client-subnet-scan.mask:用作子网掩码的比特数,默认为24。
dns-client-subnet-scan.nameserver:使用的名称服务器。
dns-client-subnet-scan.address:要使用的客户子网地址。
- 利用DNSSEC记录枚举域名
- nmap --script=dns-nsec-enum <target>
- 枚举域名的SRV记录
- nmap --script dns-srv-enum --script-args "dns-srv-enum.domain='example.com'"
- 其他参数dns-srv-enum.filter:包含要查询的服务的字符串,默认为all。
newtargets:指定该脚本参数,表示让NSE脚本添加新的目标。
max-newtargets:设置允许该脚本自动添加新目标的最大数量。如果设置为0或更小的值,则表示没有限制。默认值为0 - eg:nmap --script dns-srv-enum --script-args "dns-srv-enum.
domain='baidu.com'"
- 尝试进行DNS动态更新
-
nmap --script dns-update <target>
-
其他参数dns-update.test:添加和删除4条记录以确定目标是否易被攻击。
dns-update.ip:要添加到区域的主机IP地址。
dns-update.hostname:要添加到区域的主机的名称。
-
-
Avahi DoS攻击
-
nmap --script=broadcast-avahi-dos
-
-
利用区域传输功能获取域名信息
-
nmap --script=dns-zone-transfer <target>
-
其他参数dns-zone-transfer.port:DNS服务器端口,默认值为53。
dns-zone-transfer.server:DNS服务器。如果设置该参数,将启用脚本"Script Pre-scanning phase"。
newtargets:将返回的DNS记录加入Nmap扫描队列中。
dns-zone-transfer.domain:进行域转移。
dns-zone-transfer.addall:如果指定该选项,并且给定的脚本参数new targets为私有IP,则将私有IP地址所在的地址段都添加到Nmap扫描队列中。
max-newtargets:设置允许添加的新目标的最大数量。如果设置为0或更小的值,则表示没有限制。默认值为0。
-
-
执行FCrDNS查询
-
nmap --script fcrdns <target>
-
eg:nmap -sn -Pn --script fcrdns oracle.com
-
探测RIP服务
路由信息协议(Routing Information Protocol,RIP)是一种小型网络的路由协议,通过向组播地址224.0.0.9的UDP 520端口发送数据包来更新路由信息。
- 基于RIPv2广播发现主机
- nmap --script broadcast-rip-discover <target>
- 基于RIPng广播发现主机
- nmap --script broadcast-ripng-discover <target>
探测其他服务
- 通过UPnP广播包获取设备信息
- nmap -sV --script=broadcast-upnp-info <target>
- 通过DAYTIME服务获取时间信息
- nmap -sV --script=daytime <target>
- 查看Gopher目录信息
- nmap --script gopher-ls <target>
- 利用Finger服务查询用户信息
- nmap --script finger <target>
- eg:nmap -p 79 -sV -sC --script finger 221.210.210.50
- 获取NTP服务信息
- nmap -sU -p 123 --script ntp-info [target]
- 广播发现NCP服务器
- nmap --script=broadcast-novell-locate <target>