-
30/08/2016
-
319
-
448 bài viết
Nuclei - Công cụ tìm kiếm lỗ hổng App được cộng đồng xây dựng
Nuclei được sử dụng để rà quét các mục tiêu dựa trên một số mẫu temple được xây dựng sẵn cung cấp khả năng quét nhanh trên một số lượng lớn các máy chủ, cung cấp khả năng quét nhiều giao thức khác nhau bao gồm TCP, DNS, HTTP, File, v.v. Với tính năng tạo temple mạnh mẽ và linh hoạt, tất cả các loại kiểm tra bảo mật có thể được mô hình hóa với Nuclei.
Nuclei có một kho lưu trữ chuyên dụng chứa nhiều temple lỗ hổng bảo mật khác nhau do hơn 200 nhà nghiên cứu và kỹ sư bảo mật đóng góp.
Cách hoạt động Nuclei
1 Tạo file yaml: bao gồm phương thức và cách thức khai thác lỗi, và điều kiện để tìm được kết quả
2 Thực hiện scan trên target
Cách cài đặt
1 Cài trên go 1.17
2 Chạy trên binary download về
Đối tượng sử dụng
1. Bug Bounty Hunter
2. Pentester
Nuclei được xây dựng với mục đích đơn giản, với cộng đồng được hỗ trợ bởi hàng trăm nhà nghiên cứu bảo mật, nó cho phép bạn luôn cập nhật các mối đe dọa bảo mật mới nhất bằng cách sử dụng tính năng quét Nuclei liên tục trên các máy chủ. Nó được thiết kế để dễ dàng tích hợp vào chu trình kiểm tra CI/CD, để xác minh các bản sửa lỗi và loại bỏ các lỗ hổng bảo mật xảy ra trong tương lai.
CI / CD: Các kỹ sư đã sử dụng Nuclei trong workflow CI / CD của họ, nó cho phép họ liên tục theo dõi môi trường Product và Stagging với các mẫu tùy chỉnh.
Chu kỳ xây dựng sản phẩm: Với Nuclei, bạn có thể tạo mẫu tùy chỉnh của mình trên mọi lỗ hổng được xác định mới và đưa vào công cụ Nuclei để loại bỏ trong vòng đời sản phẩm.
Nuclei đã có một số chương trình tiền thưởng lỗi khuyến khích tin tặc viết các temple mới, sau mỗi lần gửi, giúp họ loại bỏ lỗ hổng bảo mật trên tất cả các tài sản của họ, cũng như loại bỏ rủi ro trong tương lai khi xuất hiện lại trên các sản phẩm.
Hướng dẫn sử dụng
Thử scan 1 loạt target trong url.txt với CVE-2021-44228 về lỗi log4j và cái kết
Hoặc thử 1 case khác với Gafana lỗi định mệnh CVE-2021-43798
Chúc các bạn thành công, cùng tìm tòi và khám phá nhé
Happy Hacking!
Nuclei có một kho lưu trữ chuyên dụng chứa nhiều temple lỗ hổng bảo mật khác nhau do hơn 200 nhà nghiên cứu và kỹ sư bảo mật đóng góp.
Cách hoạt động Nuclei
1 Tạo file yaml: bao gồm phương thức và cách thức khai thác lỗi, và điều kiện để tìm được kết quả
2 Thực hiện scan trên target
1 Cài trên go 1.17
Mã:
go install -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei@latest
Đối tượng sử dụng
1. Bug Bounty Hunter
- Nuclei cho phép bạn tùy chỉnh phương pháp kiểm tra của mình với bộ kiểm tra của riêng bạn và dễ dàng chạy trên các chương trình tiền thưởng lỗi của bạn. Hơn nữa, Nuclei có thể dễ dàng tích hợp vào bất kỳ quy trình CI/CD
- Được thiết kế để dễ dàng tích hợp vào quy trình làm việc của công cụ khác.
- Có thể xử lý hàng nghìn máy chủ trong vài phút.
- Dễ dàng tự động hóa phương pháp kiểm tra tùy chỉnh của bạn với YAML DSL đơn giản của chúng tôi.
2. Pentester
- Nuclei cải thiện đáng kể cách bạn tiếp cận đánh giá bảo mật bằng cách tăng cường các quy trình thủ công, lặp đi lặp lại.
- Pen-testers có được toàn bộ sức mạnh của các Temple mẫu công khai và khả năng tùy chỉnh của Nuclei để tăng tốc quá trình đánh giá của họ và đặc biệt với chu trình hồi quy, nơi bạn có thể dễ dàng xác minh bản sửa lỗi.
- Dễ dàng tạo danh sách kiểm tra tuân thủ, bộ tiêu chuẩn của bạn (ví dụ: OWASP Top 10).
- Với các khả năng như fuzz và quy trình làm việc, các bước thủ công phức tạp và đánh giá lặp đi lặp lại có thể được tự động hóa dễ dàng với Nuclei.
- Dễ dàng kiểm tra lại lỗ hổng bảo mật-sửa chữa bằng cách chạy lại mẫu.
Nuclei được xây dựng với mục đích đơn giản, với cộng đồng được hỗ trợ bởi hàng trăm nhà nghiên cứu bảo mật, nó cho phép bạn luôn cập nhật các mối đe dọa bảo mật mới nhất bằng cách sử dụng tính năng quét Nuclei liên tục trên các máy chủ. Nó được thiết kế để dễ dàng tích hợp vào chu trình kiểm tra CI/CD, để xác minh các bản sửa lỗi và loại bỏ các lỗ hổng bảo mật xảy ra trong tương lai.
CI / CD: Các kỹ sư đã sử dụng Nuclei trong workflow CI / CD của họ, nó cho phép họ liên tục theo dõi môi trường Product và Stagging với các mẫu tùy chỉnh.
Chu kỳ xây dựng sản phẩm: Với Nuclei, bạn có thể tạo mẫu tùy chỉnh của mình trên mọi lỗ hổng được xác định mới và đưa vào công cụ Nuclei để loại bỏ trong vòng đời sản phẩm.
Nuclei đã có một số chương trình tiền thưởng lỗi khuyến khích tin tặc viết các temple mới, sau mỗi lần gửi, giúp họ loại bỏ lỗ hổng bảo mật trên tất cả các tài sản của họ, cũng như loại bỏ rủi ro trong tương lai khi xuất hiện lại trên các sản phẩm.
Hướng dẫn sử dụng
Mã:
Nuclei is a fast, template based vulnerability scanner focusing
on extensive configurability, massive extensibility and ease of use.
Usage:
nuclei [flags]
Flags:
TARGET:
-u, -target string[] target URLs/hosts to scan
-l, -list string path to file containing a list of target URLs/hosts to scan (one per line)
-resume Resume scan using resume.cfg (clustering will be disabled)
TEMPLATES:
-t, -templates string[] template or template directory paths to include in the scan
-tu, -template-url string[] URL containing list of templates to run
-nt, -new-templates run only new templates added in latest nuclei-templates release
-w, -workflows string[] workflow or workflow directory paths to include in the scan
-wu, -workflow-url string[] URL containing list of workflows to run
-validate validate the passed templates to nuclei
-tl list all available templates
FILTERING:
-tags string[] execute a subset of templates that contain the provided tags
-itags, -include-tags string[] tags from the default deny list that permit executing more intrusive templates
-etags, -exclude-tags string[] exclude templates with the provided tags
-it, -include-templates string[] templates to be executed even if they are excluded either by default or configuration
-et, -exclude-templates string[] template or template directory paths to exclude
-s, -severity value[] Templates to run based on severity. Possible values: info, low, medium, high, critical
-es, -exclude-severity value[] Templates to exclude based on severity. Possible values: info, low, medium, high, critical
-pt, -type value[] protocol types to be executed. Possible values: dns, file, http, headless, network, workflow, ssl, websocket, whois
-ept, -exclude-type value[] protocol types to not be executed. Possible values: dns, file, http, headless, network, workflow, ssl, websocket, whois
-a, -author string[] execute templates that are (co-)created by the specified authors
-id, -template-id string[] List of template IDs to run (comma-separated, file)
-eid, -exclude-id string[] List of template IDs to exclude (comma-separated, file)
OUTPUT:
-o, -output string output file to write found issues/vulnerabilities
-silent display findings only
-nc, -no-color disable output content coloring (ANSI escape codes)
-json write output in JSONL(ines) format
-irr, -include-rr include request/response pairs in the JSONL output (for findings only)
-nm, -no-meta don't display match metadata
-nts, -no-timestamp don't display timestamp metadata in CLI output
-rdb, -report-db string local nuclei reporting database (always use this to persist report data)
-ms, -matcher-status show optional match failure status
-me, -markdown-export string directory to export results in markdown format
-se, -sarif-export string file to export results in SARIF format
CONFIGURATIONS:
-config string path to the nuclei configuration file
-rc, -report-config string nuclei reporting module configuration file
-H, -header string[] custom headers in header:value format
-V, -var value custom vars in var=value format
-r, -resolvers string file containing resolver list for nuclei
-sr, -system-resolvers use system DNS resolving as error fallback
-passive enable passive HTTP response processing mode
-ev, -env-vars enable environment variables to be used in template
-cc, -client-cert string client certificate file (PEM-encoded) used for authenticating against scanned hosts
-ck, -client-key string client key file (PEM-encoded) used for authenticating against scanned hosts
-ca, -client-ca string client certificate authority file (PEM-encoded) used for authenticating against scanned hosts
INTERACTSH:
-iserver, -interactsh-server string interactsh server url for self-hosted instance (default: oast.pro,oast.live,oast.site,oast.online,oast.fun,oast.me)
-itoken, -interactsh-token string authentication token for self-hosted interactsh server
-interactions-cache-size int number of requests to keep in the interactions cache (default 5000)
-interactions-eviction int number of seconds to wait before evicting requests from cache (default 60)
-interactions-poll-duration int number of seconds to wait before each interaction poll request (default 5)
-interactions-cooldown-period int extra time for interaction polling before exiting (default 5)
-ni, -no-interactsh disable interactsh server for OAST testing, exclude OAST based templates
RATE-LIMIT:
-rl, -rate-limit int maximum number of requests to send per second (default 150)
-rlm, -rate-limit-minute int maximum number of requests to send per minute
-bs, -bulk-size int maximum number of hosts to be analyzed in parallel per template (default 25)
-c, -concurrency int maximum number of templates to be executed in parallel (default 25)
-hbs, -headless-bulk-size int maximum number of headless hosts to be analyzed in parallel per template (default 10)
-hc, -headless-concurrency int maximum number of headless templates to be executed in parallel (default 10)
OPTIMIZATIONS:
-timeout int time to wait in seconds before timeout (default 5)
-retries int number of times to retry a failed request (default 1)
-mhe, -max-host-error int max errors for a host before skipping from scan (default 30)
-project use a project folder to avoid sending same request multiple times
-project-path string set a specific project path
-spm, -stop-at-first-path stop processing HTTP requests after the first match (may break template/workflow logic)
-stream Stream mode - start elaborating without sorting the input
HEADLESS:
-headless enable templates that require headless browser support (root user on linux will disable sandbox)
-page-timeout int seconds to wait for each page in headless mode (default 20)
-sb, -show-browser show the browser on the screen when running templates with headless mode
-sc, -system-chrome Use local installed chrome browser instead of nuclei installed
DEBUG:
-debug show all requests and responses
-debug-req show all sent requests
-debug-resp show all received responses
-p, -proxy string[] List of HTTP(s)/SOCKS5 proxy to use (comma separated or file input)
-tlog, -trace-log string file to write sent requests trace log
-elog, -error-log string file to write sent requests error log
-version show nuclei version
-v, -verbose show verbose output
-vv display templates loaded for scan
-tv, -templates-version shows the version of the installed nuclei-templates
UPDATE:
-update update nuclei engine to the latest released version
-ut, -update-templates update nuclei-templates to latest released version
-ud, -update-directory string overwrite the default directory to install nuclei-templates
-duc, -disable-update-check disable automatic nuclei/templates update check
STATISTICS:
-stats display statistics about the running scan
-sj, -stats-json write statistics data to an output file in JSONL(ines) format
-si, -stats-interval int number of seconds to wait between showing a statistics update (default 5)
-m, -metrics expose nuclei metrics on a port
-mp, -metrics-port int port to expose nuclei metrics on (default 9092)
Thử scan 1 loạt target trong url.txt với CVE-2021-44228 về lỗi log4j và cái kết
Chúc các bạn thành công, cùng tìm tòi và khám phá nhé
Happy Hacking!
Chỉnh sửa lần cuối bởi người điều hành: