Nmap 7.90发布,史上最强漏洞扫描器
sinye56 2024-10-04 10:59 8 浏览 0 评论
厚积薄发,在经过一年多积攒之后,Nmap官方最近发布了一个新的Npcap 1.00版本,紧接着发布了Nmap 7.9版本。 这是自从2019 Defcon极客大会后Nmap发布的第一个新版本。此期间官方立足于其底层软件Npcap的开发,总共发布了16个Npcap版本,使其成为一个稳定的线上高性能版本1.00,以此为基础打造Nmap多平台下共体验的平台。
概述
除了一般功能和改善,Nmap 7.9版本中整合1200多个的特征指纹,可以获得更好的操作系统和服务/版本检测。但是这只是整合的提交的部分特征指纹,后续官方会持续整合更多特征库,使得扫描结果更准确。
新版本中也添加了新的NSE脚本,协议库,用于主机发现,端口扫描和版本的Poc。
Nmap官方还进行了许可证清理,并提供了许可一个名称(Nmap Public Source License)以避免先前的混淆。Nmap版权说明为"具有各种说明和例外的GPLv2"。NPSL仍然基于GPLv2,但从其他方面流行的开源许可证。为获得特许的公司创建特殊的" Nmap OEM版",Nmap处理其产品中的主机发现。OEM版本安装程序可以根据自己的需求进行定制。
Nmap 7.90还包括70多个较小的错误修复和改进,其中包括积累一年的提交变化和各种构建系统升级和代码质量改进;解决了由LGTM静态分析识别的250多个问题,Nmap LGTM代码质量从"C"升级到"A+"的等级。
功能变化
特征库更新
Nmap 7.90共集成了800多个服务/版本检测指纹 自2017年8月以来。签名数量增加了1.8%,达到11,878个,其中包括17个新的软匹配。新版本中可以从airmedia-audio中检测到1237个协议,banner-ivu和control-m到insteon-plm,pi-hole-stats和ums-webviewer。仍有大量提交需要整合在下一个版本中。
集成了330个最常用的IPv4 OS指纹。自2017年8月以来,增加了26个指纹,总数达到了5,678。新增包括iOS 12和13,macOS Catalina,Mojave,Linux 5.4,FreeBSD 13等。
整合了2017年8月至2020年9月新增的所有67个IPv6 OS指纹提交。包括FreeBSD 12,Linux 5.4和Windows 10,并合并了几个弱组以改善分类准确性。
基本组件
解决了LGTM识别的250多个代码质量问题,将代码质量得分从"C"提高到"A+"
删除了nmap-update。该程序用于提供一种更新数据文件和NSE脚本的方式,但是基础设施从未部署过。取决于Subversion版本控制,需要进行维护NSE脚本的不同版本,以实现兼容性。
MySQL 8.x,Microsoft SQL添加了服务指纹Server 2019,MariaDB和Crate.io CrateDB。更新了PostreSQL的覆盖范围和添加了对Docker中运行的最新版本的特定检测。
23个新的UDP有效负载和许多现有的默认端口为Rapid7的InsightVM扫描引擎开发的有效载荷。这将加快和确保检测到开放的UDP服务。
为STUN(用于NAT的会话遍历实用程序)添加了UDP有效负载。
限制Nmap的脚本和数据文件搜索路径。NMAPDATADIR(在Unix和Linux上定义为${prefix}/share/nmap)不会在Windows上进行了搜索,该窗口先前已定义为C\Nmap。此外,--script选项不会将名称解释为目录名称,除非它们后跟一个/'。
修复了未经请求的ARP响应为收到:nmap:Target.cc:503:void Target :: stopTimeOutClock(const timeval *):断言" htn.toclock_running == true"失败。
修复了移动后遗留的ARP主机发现的回归问题从有时在Nmap 4.22SOC8(2007)中按摩到ultra_scan在扫描即将结束时缺少目标的ARP响应。精度和速度都提高了。
通过避免字符串复制,将OS扫描的CPU使用率降低了50%操作和删除未使用的未记录指纹语法nmap-os-db(表达式中的"&"和" +")。
允许为以下端口指定多个UDP有效负载:nmap有效载荷。如果第一个有效载荷没有得到响应,则剩余的有效负载将循环尝试。
新选项--discovery-ignore-rst告诉Nmap忽略TCP RST确定目标是否达到目标时作出响应。当防火墙是有用的欺骗RST数据包。
现在可以覆盖通过--ssl-servername的TLS SNI值。
允许使用--resume恢复IPv6扫描。地址解析是假设IPv4地址,导致"无法解析ip"错误。在相关的修复程序中,从XML恢复时,MAC地址不会被解析为IP地址。
在目标主机发现过程中发出新的XML输出" hosthint"标签被发现上升。这会比等待主机组以完成所有扫描阶段。
用于GPRS隧道协议(GTP)的新UDP有效负载端口2123、2152和3386。
修复了可能挂起的TCP选项的解析(无限循环)如果选项的显式长度为0。(仅影响Nmap 7.80)。
修复了对非PTR记录的反向DNS处理小写。DNS时,Nmap无法识别反向DNS名称服务器将它们传递为".IN-ADDR.ARPA"。
修复IP地址CIDR块在ppc64,ppc64le和s390x体系结构正确显示。
[Nping] 由于"使用命名空间标准",导致在libc++下地址构建失败;在多个标头中,会导致bind()的定义冲突。
[Ncat] [GH#1868]修复了连接到Linux VM套接字时的致命错误启用详细输出。
[Ncat] [GH#2060]代理凭据可以替代地传递到Ncat通过设置环境变量NCAT_PROXY_AUTH,防止在流程日志中捕获的凭据。
将libpcap升级到1.9.1,解决几个CVE漏洞。
将libssh2升级到1.9.0,修复使用OpenSSL 1.1.0 API的编译。
[Zenmap] [GH#1777] 停止在计算机上创建调试输出文件'tmp.txt'。macOS中的桌面。
Window版本
使用新升级的Npcap, Windows数据包捕获和发送库达到里程碑1.00版本。7年内递增发布了170个公共预开发版本,包括数十个性能改进,错误修复和功能增强。
从Windows中删除了无提示安装命令行选项(/S)安装程序。它导致一些问题。它还将保留在Nmap OEM中,因为其主要用途是为那些与其他软件一起重新分发Nmap。
在Npcap 0.9983和后续版本。这使Nmap可以直接Windows上扫描localhost,而无需要安装的Npcap Loopback适配器。
修复了Windows的"iocp" Nsock引擎,使其能够正确运行处理PCAP读取事件并使其为Windows版本的默认引擎。
NSE更新
新的Outlib库合并了与NSE输出相关的功能,字符串格式约定和结构化输出。
新的dicom库实现了用于存储的DICOM协议和传输医学图像。
新添加3个NSE脚本,NSE总数达到601个,新增加的脚本为:
dicom-brute:尝试暴力破解被调用的DICOM服务器AE Title。
dicom-ping:用于发现DICOM服务器并确定是否有潜在的AE Title可以连接。
uptime-agent-info:从Idera收集系统信息正常运行时间基础结构监视器代理。
afp-ls脚本的性能大幅度改善。
SNMP脚本检测时候,可以探测非非标准端口的SNMP服务。
SSH脚本现在在可能是SSH的多个端口上运行基于Shodan.io的经验数据以及netconf-ssh服务。
MS SQL库从Service Pack中改进了版本分辨率级别到各个累积更新。
http-default-accounts脚本报告匹配目标指纹,即使没有默认凭据找到,也会提供更多信息。
现在脚本dhcp-discover和broadcast-dhcp-discover支持新的参数" mac"以强制特定的客户端MAC地址。
受益于与NFS相关的脚本,RPC Dump中的代码做了大量改进。
脚本ssl-cert的XML输出现在包括RSA密钥模数和指数。
当SMB脚本,例如smb-ls,调用smb.find_files 。
添加了HTTP默认账户指纹,用于Tomcat主机管理器和Dell iDRAC9。
修复了stun.lua库中的一次性错误,该错误阻止了解析服务器响应。
修复脚本ssh2-enum-algos将失败完成协议版本交换之前进行密钥交换。
修复由于密钥交换,SSH2密钥的获取可能会失败混乱。
修复解析AFP FPGetFileDirParms和FPEnumerateExt2FPEnumerateExt2响应无法正常工作。
消除了脚本http-shellshock中的误报由HTTP请求数据的简单反映引起的问题。
修复MQTT库在解析时使用的位置不正确收到回复。
修复IPMI库在解析时使用的位置不正确收到回复。
修复ipmi-brute和deluge-rpc-brute脚本未捕获成功的暴力认证。
修复IKE库未正确填充主动模式请求中的协议号。
修复IPP请求对象到字符串的转换不起作用的问题。
修复IPP响应解析器未正确处理属性结尾标签。
修复脚本cups-info因错误的双解码错误而失败IPP打印状态。
修复Oracle TNS解析器错误地解析了DALC字节数组。
修复Oracle 10g的密码哈希不能用于非字母数字字符功能的问题。
修复虚拟主机探测列表vhosts-full.lst缺少许多vhosts-default.lst中存在的条目。
修复http-grep脚本计算Luhn校验和错误的问题。
修复RPC代码使用的端口范围不正确,这会导致某些调用(例如NFS mountd)间歇性失败。
修复MongoDB库在组装时引起错误协议有效负载。
修复RTSP库未正确生成请求字符串。
修复 VNC握手失败,插入位置超出边界错误。
修复库msrpctypes中的函数marshall_dom_sid2不是正确填充ID Authority。
修复msrpctypes库中的解析函数是尝试对nil参数进行算术运算。
修复函数库中的lsa_lookupnames2和lsa_lookupsids2用调试调用时,msrpc错误地引用了函数strjoin2级或更高。
修复Samba中的MS-SMB规范不合规导致协议协商失败,并出现数据字符串太短的错误。
修复SMB库中的错误导致脚本因格式参数错误而失败。
修复请求代码时,HTTP库不再崩溃摘要身份验证,但服务器未提供必要的认证身份验证标头。
修复http-wordpress-users.nse中的一个错误,该错误可能会导致不必要的输出作为用户名的一部分捕获。
修复了在处理GZIP编码的Windows上的崩溃问题HTTP正文。
Npcap OEM版
新发布了Npcap OEM版本。20多年来,Nmap项目已经由出售许可证的公司提供资金来分发Nmap产品,以及商业支持。数百种商品现在将Nmap用于网络发现任务,例如端口扫描,主机发现,操作系统检测,服务/版本检测,当然还有Nmap脚本引擎(NSE)。到目前为止,他们还在使用标准的Nmap,此次推出新的OEM版本是为在其他Windows软件中使用而定制的。Nmap OEM包含Npcap驱动程序的OEM版本,静默安装。还会删除Zenmap GUI,将安装程序大小减小一半以上。
Nmap许可证从GPLv2的一种hacked-up版本升级到了更干净,组织更好的版本(仍基于GPLv2)现在称为Nmap公开源代码许可以避免混淆。
升级更新
Nmap提供了平台的二进制编译安装包,以直接在官方download下载安装。
也可以下载源码或者从github仓库clone源码编译安装。
bzip2 -cd nmap-7.91.tar.bz2 | tar xvf -
cd nmap-7.91
./configure
make
su root
make install
安装时候,可能会由于缺少组件而报错,需要先安装这些组件,比gcc,make,g++等:
yum install gcc make g++ flex bison
相关推荐
- 程序员:JDK的安装与配置(完整版)_jdk的安装方法
-
对于Java程序员来说,jdk是必不陌生的一个词。但怎么安装配置jdk,对新手来说确实头疼的一件事情。我这里以jdk10为例,详细的说明讲解了jdk的安装和配置,如果有不明白的小伙伴可以评论区留言哦下...
- Linux中安装jdk并配置环境变量_linux jdk安装教程及环境变量配置
-
一、通过连接工具登录到Linux(我这里使用的Centos7.6版本)服务器连接工具有很多我就不一一介绍了今天使用比较常用的XShell工具登录成功如下:二、上传jdk安装包到Linux服务器jdk...
- 麒麟系统安装JAVA JDK教程_麒麟系统配置jdk
-
检查检查系统是否自带java在麒麟系统桌面空白处,右键“在终端打开”,打开shell对话框输入:java–version查看是否自带java及版本如图所示,系统自带OpenJDK,要先卸载自带JDK...
- 学习笔记-Linux JDK - 安装&配置
-
前提条件#检查是否存在JDKrpm-qa|grepjava#删除现存JDKyum-yremovejava*安装OracleJDK不分系统#进入安装文件目...
- Linux新手入门系列:Linux下jdk安装配置
-
本系列文章是把作者刚接触和学习Linux时候的实操记录分享出来,内容主要包括Linux入门的一些理论概念知识、Web程序、mysql数据库的简单安装部署,希望能够帮到一些初学者,少走一些弯路。注意:L...
- 测试员必备:Linux下安装JDK 1.8你必须知道的那些事
-
1.简介在Oracle收购Sun后,Java的一系列产品就被整合到Oracle官网中,打开官网乍眼一看也不知道去哪里下载,还得一个一个的摸索尝试,而且网上大多数都是一些Oracle收购Sun前,或者就...
- Linux 下安装JDK17_linux 安装jdk1.8 yum
-
一、安装环境操作系统:JDK版本:17二、安装步骤第一步:下载安装包下载Linux环境下的jdk1.8,请去官网(https://www.oracle.com/java/technologies/do...
- 在Ubuntu系统中安装JDK 17并配置环境变量教程
-
在Ubuntu系统上安装JDK17并配置环境变量是Java开发环境搭建的重要步骤。JDK17是Oracle提供的长期支持版本,广泛用于开发Java应用程序。以下是详细的步骤,帮助你在Ubuntu系...
- 如何在 Linux 上安装 Java_linux安装java的步骤
-
在桌面上拥抱Java应用程序,然后在所有桌面上运行它们。--SethKenlon(作者)无论你运行的是哪种操作系统,通常都有几种安装应用程序的方法。有时你可能会在应用程序商店中找到一个应用程序...
- Windows和Linux环境下的JDK安装教程
-
JavaDevelopmentKit(简称JDK),是Java开发的核心工具包,提供了Java应用程序的编译、运行和开发所需的各类工具和类库。它包括了JRE(JavaRuntimeEnviro...
- linux安装jdk_linux安装jdk软连接
-
JDK是啥就不用多介绍了哈,外行的人也不会进来看我的博文。依然记得读大学那会,第一次实验课就是在机房安装jdk,编写HelloWorld程序。时光飞逝啊,一下过了十多年了,挣了不少钱,买了跑车,娶了富...
- linux安装jdk,全局配置,不同用户不同jdk
-
jdk1.8安装包链接:https://pan.baidu.com/s/14qBrh6ZpLK04QS8ogCepwg提取码:09zs上传文件解压tar-zxvfjdk-8u152-linux-...
- 运维大神教你在linux下安装jdk8_linux安装jdk1.7
-
1.到官网下载适合自己机器的版本。楼主下载的是jdk-8u66-linux-i586.tar.gzhttp://www.oracle.com/technetwork/java/javase/downl...
- window和linux安装JDK1.8_linux 安装jdk1.8.tar
-
Windows安装JDK1.8的步骤:步骤1:下载JDK打开浏览器,找到JDK下载页面https://d.injdk.cn/download/oraclejdk/8在页面中找到并点击“下载...
- 最全的linux下安装JavaJDK的教程(图文详解)不会安装你来打我?
-
默认已经有了linux服务器,且有root账号首先检查一下是否已经安装过java的jdk任意位置输入命令:whichjava像我这个已经安装过了,就会提示在哪个位置,你的肯定是找不到。一般我们在...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- linux进程通信 (63)