Nmap全脚本使用指南!NSE脚本全详细教程!Kali Linux教程!(一)

简介

NSENmap最强大最灵活的特性之一,可以用于增强主机发现、端口扫描、版本侦测和操作系统侦测等功能,还可以用来扩展高级的功能如web扫描、漏洞发现和漏洞利用等。Nmap使用Lua语言来作为NSE脚本语言,目前的Nmap脚本库已经支持350多个脚本。 

如果你还不了解怎么使用Namp的话,建议回去查看Nmap基础教程。可以看我写的Nmap教程第一章。

Nmap: 网络探索工具和安全/端口扫描器!从入门到精通!全网最全详细教程指南!Kali Linux黑客教程!(一)_nmap工具-优快云博客

脚本类别

NSE 脚本定义了它们所属的类别列表。当前定义的类别为 auth、broadcast、brute、default、discovery、dos、exploit、external、fuzzer、intrusive、malware、safe、version 和 vuln。

auth(授权)

这些脚本处理目标系统上的身份验证凭据(或绕过它们)。示例包括 x11-access、ftp-anon 和 oracle-enum-users。使用暴力攻击来确定凭据的脚本则被放在 brute 类别中。

1. ajp-auth

检索需要身份验证的 AJP 服务(Apache JServ 协议)的身份验证方案和领域。

ajp-auth.path

        定义请求路径

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 -p 8009 192.168.174.132 --script "ajp-auth" --script-args "ajp-auth.path=/login"

2. creds-summary

在扫描结束时列出所有发现的凭据(例如来自暴力破解和默认密码检查脚本)。 

creds.[service], creds.global

        请参阅 creds 库的文档。

nmap -sV --script "creds-summary" 192.168.174.132

3. dicom-brute

尝试强行破解 DICOM 服务器(DICOM 服务提供商)的应用程序实体标题。

应用程序实体标题 (AET) 用于限制仅向知道标题的客户端发出响应。因此,调用的 AET 用作密码的一种形式。

brute.credfile、brute.delay、brute.emptypass、brute.firstonly、brute.guesses、brute.mode、brute.passonly、brute.retries、brute.start、brute.threads、brute.unique、brute.useraspass

        请参阅 brute 库的文档。

creds.[service]、creds.global

        请参阅 creds 库的文档。

passdb、unpwdb.passlimit、unpwdb.timelimit、unpwdb.userlimit、userdb

        请参阅 unpwdb 库的文档。

dicom.called_aet、dicom.calling_aet

        请参阅 dicom 库的文档。

nmap -p4242 --script "dicom-brute" 192.168.174.132
nmap -sV --script "dicom-brute" 192.168.174.132
nmap --script "dicom-brute" --script-args "passdb=aets.txt" 192.168.174.132

4. dicom-ping

尝试通过部分 C-ECHO 请求发现 DICOM 服务器(DICOM 服务提供商)。它还检测服务器是否允许任何被调用的应用程序实体标题。

当关联请求由于配置而被拒绝时,脚本会以消息“Called AET check enabled(已启用被调用的 AET 检查)”做出响应。此值可以被暴力破解。

C-ECHO 请求通常称为 DICOM ping,因为它们用于测试连接性。通常情况下,“DICOM ping”的格式如下:

        Client -> A-ASSOCIATE request -> Server
        Server -> A-ASSOCIATE ACCEPT/REJECT -> Client
        Client -> C-ECHO request -> Server
        Server -> C-ECHO response -> Client
        Client -> A-RELEASE request -> Server
        Server -> A-RELEASE response -> Client

对于此脚本,我们仅发送 A-ASSOCIATE 请求并在响应中查找成功代码,因为这似乎是检测 DICOM 服务器的可靠方法。

dicom.called_aet, dicom.calling_aet

        请参阅 dicom 库的文档。

nmap -p4242 --script "dicom-ping" 192.168.174.132

5. domcon-cmd

使用给定的身份验证凭证在 Lotus Domino 控制台上运行控制台命令(另请参阅:domcon-brute)

domcon-cmd.cmd

        在远程服务器上运行的命令

domcon-cmd.pass

        用于向服务器验证身份的密码

domcon-cmd.user

        用于向服务器验证身份的用户

nmap -p 2050 192.168.174.132 --script "domcon-cmd" --script-args=domcon-cmd.cmd="show server",domcon-cmd.user="Patrik Karlsson",domcon-cmd.pass="secret"

6. domino-enum-users

尝试利用 CVE-2006-5835 漏洞发现有效的 IBM Lotus Domino 用户并下载他们的 ID 文件。

domino-enum-users.path

        任何检索到的 ID 文件的存储位置

domino-enum-users.username

        要从中检索 ID 的用户的名称。如果未指定此参数,则将使用 unpwdb 库来强制使用用户的名称。

有关更多信息,请参阅:http://www-01.ibm.com/support/docview.wss?rs=463&uid=swg21248026

致谢 ------- o Ollie Whitehouse 在第一次发现这个问题时就引起了我的注意,并提供了此问题所基于的 c 代码。

passdb、unpwdb.passlimit、unpwdb.timelimit、unpwdb.userlimit、userdb

        请参阅 unpwdb 库的文档。

nmap --script "domino-enum-users" -p 1352 192.168.174.132

7. ftp-anon

检查 FTP 服务器是否允许匿名登录。

如果允许匿名,则获取根目录的目录列表 并突出显示可写文件。 

ftp-anon.maxlist

        目录列表中返回的最大文件数。默认情况下为 20,如果启用了详细程度,则为无限制。使用负数可禁用限制,或使用 0 可完全禁用列表。

nmap -sV --script "ftp-anon" 192.168.174.132

8. http-auth

检索需要的 Web 服务的身份验证方案和领域验证。 

http-auth.path

        定义请求路径

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-auth" --script-args "http-auth.path=/login" -p80 ip/域名

9. 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 库的文档。

nmap --script "http-barracuda-dir-traversal" --script-args "http-max-cache-size=5000000" -p 8000 192.168.174.132

10. http-config-backup

检查常用内容管理系统和 Web 服务器配置文件的备份和交换文件。

在现场编辑 Web 服务器文件时,文本编辑器可以将备份或交换文件留在 Web 服务器可以提供这些文件的位置。脚本检查以下文件:

        wp-config.php:WordPress
        config.php:phpBB、ExpressionEngine
        configuration.php:Joomla
        LocalSettings.php:MediaWiki
        /mediawiki/LocalSettings.php:MediaWiki
        mt-config.cgi:Movable Type
        mt-static/mt-config.cgi:Movable Type
        settings.php:Drupal
        .htaccess:Apache

并且对每个文件应用以下转换(使用 config.php 作为示例):

        config.bak: Generic backup.
        config.php.bak: Generic backup.
        config.php~: Vim, Gedit.
        #config.php#: Emacs.
        config copy.php: Mac OS copy.
        Copy of config.php: Windows copy.
        config.php.save: GNU Nano.
        .config.php.swp: Vim swap.
        config.php.swp: Vim swap.
        config.php.old: Generic backup.

该脚本的灵感来自 Feross Aboukhadijeh 的 CMSploit 程序:http://www.feross.org/cmsploit/。

http-config-backup.save

        用于保存找到的所有有效配置文件的目录

http-config-backup.path

        CMS 的安装路径

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 --script "http-config-backup" ip/域名

11. http-default-accounts

测试使用各种 Web 应用程序和设备使用的默认凭据进行访问。

它的工作原理与 http-enum 类似,我们通过匹配已知路径来检测应用程序,并在发现时使用默认凭据启动登录例程。 该脚本依赖于包含目标信息的指纹文件:名称、类别、位置路径、默认凭据和登录例程。

如果您希望减少请求数量,您可以选择一个类别。我们有以下类别:

    web- Web 应用程序
    routers- 路由器
    security- 闭路电视和其他安全设备
    industrial- 工业系统
    printer- 网络连接打印机和打印机服务器
    storage- 存储设备
    virtualization- 虚拟化系统
    console- 远程控制台

您还可以选择特定指纹或品牌,例如 BIG-IQ 或西门子。此匹配基于不区分大小写的单词。这意味着“nas”将选择 Seagate BlackArmor NAS 存储,而不是 Netgear ReadyNAS。

要使用指纹,它需要满足类别和名称标准。

默认情况下,脚本仅在找到默认凭据时才生成输出,而当目标仅匹配某些指纹(但未找到凭据)时则保持静默。随着详细程度的提高(选项 -v),脚本还将报告所有匹配的指纹。

请帮助改进此脚本,向 nselib/data/http-default-accounts.lua 添加新条目

请记住每个指纹必须具备:

    name- 描述性名称
    category - 类别
    login_combos- 登录组合表
    paths- 包含目标可能路径位置的表
    login_check- 目标的登录功能

此外,指纹还应具有:

    target_check- 目标验证函数。如果已定义,则在尝试任何登录之前将调用它来验证目标。
    cpe- 官方 CPE 词典条目(参见 https://nvd.nist.gov/cpe.cfm )

默认指纹文件:/nselib/data/http-default-accounts-fingerprints.lua 该脚本基于http-enum。 

http-default-accounts.category

        选择指纹类别(或类别列表)。

http-default-accounts.name

        根据指纹名称中包含的单词(或替代单词列表)选择指纹。

http-default-accounts.fingerprintfile

        指纹文件名。默认值:http-default-accounts-fingerprints.lua

http-default-accounts.basepath

        附加到请求的基本路径。默认值:“/”

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 --script "http-default-accounts" 192.168.174.145

12. http-domino-enum-passwords

尝试枚举经过哈希处理的 Domino Internet 密码(通过 默认)可供所有经过身份验证的用户访问。此脚本还可以下载 任何附加到个人文档的 Domino ID 文件。密码显示 以适合在 John the Ripper 中运行的形式。

密码可以以两种形式存储( http://comments.gmane.org/gmane.comp.security.openwall.john.user/785 ):

    1. 无盐(遗留支持?) 例如:355E98E7C7B59BD810ED845AD0FD2FC4 John 的格式名称:lotus5
    2. 加盐密码(又称“更安全的互联网密码”) 例如:(GKjXibCW2Ml6juyQHUoP) John 的格式名称:dominosec

看起来好像启用了基于表单的身份验证,基本身份验证 仍然有效。因此,该脚本应该在两种情况下都有效。有效 可以使用参数 username 直接提供凭证 和密码或间接来自 http-brute 或 http-form-b​​rute 的结果。 

http-domino-enum-passwords.path

        指向受身份验证保护的路径。默认值:“/names.nsf/People?OpenView”

http-domino-enum-passwords.password

        HTTP 身份验证的密码(如果需要)

http-domino-enum-passwords.idpath

        应保存下载的 ID 文件的路径(如果未指定),脚本将仅指示 ID 文件是否可下载

http-domino-enum-passwords.username

        HTTP 身份验证的用户名(如果需要)

http-domino-enum-passwords.count

     &nb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值