Nuclei یک ابزار اسکن آسیبپذیری قدرتمند و بسیار قابل تنظیم است که برای تست امنیتی در پروتکلهای مختلف مانند HTTP، DNS و TCP استفاده میشود. این ابزار توسط ProjectDiscovery توسعه یافته و به متخصصان امنیت سایبری امکان میدهد تا با استفاده از قالبهای مبتنی بر YAML، فرآیند شناسایی آسیبپذیریها را خودکارسازی کنند. این ابزار متنباز، انعطافپذیری بالایی در ایجاد گردشکارهای سفارشی و ادغام با سایر ابزارها دارد، که آن را برای تست امنیتی مداوم بسیار مناسب میسازد. Nuclei برای خودکارسازی فرآیند تست امنیتی برنامههای وب و شناسایی مسائل امنیتی احتمالی وب سایتها مورد استفاده قرار میگیرد.
آنچه در ادامه میخوانید:
چرا Bishop Fox از Nuclei استفاده میکند؟
Nuclei چه چیزی به Intruder اضافه میکند؟
ایجاد و استفاده از قالبهای سفارشی
قالبهای سفارشی (Custom Templates)
راهنمای ساخت قالب سفارشی در Nuclei
پشتیبانی از پروتکلها در Nuclei
ProjectDiscovery در سال ۲۰۱۹ توسط Sandeep Singh ،Rishiraj Sharma ،Marco Rivoli و Nizamul Ran بنیانگذاری شد. این افراد از طریق همکاری در ابزار Subfinder (ابزاری برای کشف زیردامنههای معتبر از منابع آنلاین)، علاقه مشترکشان را در توسعه ابزارهای امنیتی متنباز کشف کردند و این آغاز شکلگیری ProjectDiscovery بود. بیش از ۳۰۰ پژوهشگر و مهندس امنیت، از جمله افراد تیم Bishop Fox، در توسعه قالبهای آسیبپذیری مشارکت داشتهاند که بهعنوان منبعی مبتنی بر جامعه کاربران در دسترس هستند.
تیمهای امنیتی Bishop Fox از جمله تیمهای Network Security ،Managed Services و Cosmos نظرات زیر را درباره مزایای استفاده از Nuclei مطرح کردهاند:
در دنیای امروزی که حملات سایبری به سرعت در حال پیشرفت هستند، شناسایی زودهنگام آسیبپذیریها امری حیاتی است. ابزارهایی مثل Nuclei با خودکارسازی فرآیند اسکن و ارائه قالبهای قابل اشتراک، کمک میکنند تا تیمهای امنیتی زمان بیشتری را صرف تحلیل و کاهش ریسک کنند، نه صرفاً کشف تهدیدات.
Nuclei چه چیزی به Intruder اضافه میکند؟
Intruder، موتور اسکن Nuclei را برای بررسی بهتر سطح حمله مشتریان، مانند پنلهای ورود غیرمجاز روی اینترنت، اضافه کرده است. این ابزار مکمل اسکنرهای قدرتمندی مانند Tenable و OpenVAS است. در نسخه اولیه، بیش از ۳۰۰۰ بررسی اضافی ارائه شده است که عمق و وسعت پوشش Intruder را افزایش میدهد.
در طول ده سال گذشته، نرخ کشف آسیبپذیریها با سرعت زیادی در حال افزایش بوده است. در سال ۲۰۱۰، تعداد ۴,۹۹۲ آسیبپذیری (CVE) منتشر شد، در حالیکه این تعداد در سال ۲۰۲۰ به ۱۷,۲۵۳ مورد رسید؛ بیش از سه برابر. در نتیجه، امروزه سازمانها در هر اندازهای، ابزارهای اسکن آسیبپذیری را به مجموعه ابزارهای امنیتی خود اضافه کردهاند تا بتوانند شناسایی و مدیریت آسیبپذیریها را در زیرساخت خود انجام دهند.
اما با توجه به افزایش تعداد ابزارهای اسکن آسیبپذیری در بازار، یک پرسش رایج برای بسیاری از سازمانها این است:
کدام ابزار را باید انتخاب کرد؟ برای جواب به این سوال به تصویر زیر دقت کنید:

این تصویر تعداد کل آسیبپذیریهای منتشرشده (CVE) بین سالهای ۲۰۱۰ تا ۲۰۲۰ را نشان میدهد. دو ابزاری که بیش از سایرین با یکدیگر مقایسه میشوند، Nessus از شرکت Tenable و OpenVAS از شرکت Greenbone هستند. شاید دلیل این مقایسهها فراوانی استفاده از این دو ابزار باشد، یا شاید هم به دلیل پیشینه مشترکی که دارند.
اگر به دنبال ابزاری حرفهای، سریع و قابلاعتماد برای شناسایی آسیبپذیریهای امنیتی هستید، Nuclei انتخابی هوشمندانه است. این ابزار نهتنها کارایی بالا دارد، بلکه بهدلیل متنباز بودن، امکان سفارشیسازی و مشارکت جامعه را نیز در اختیار شما قرار میدهد.
برای شروع استفاده از Nuclei، ابتدا باید زبان برنامهنویسی Go را نصب کنید. سپس میتوانید با استفاده از دستور زیر، Nuclei را نصب نمایید:
GO111MODULE=on go get -v github.com/projectdiscovery/nuclei/v2/cmd/nuclei
پس از نصب، برای بهروزرسانی قالبهای آسیبپذیری، از دستور زیر استفاده کنید:
Go install -v github.com/projectdiscovery/nuclei/v2/cmd/luclei@latest
با این کار اطمینان حاصل میکنید که جدیدترین قالبهای اسکن را در اختیار دارید.
برای نصب و اجرای ابزار Nuclei با استفاده از Docker، ابتدا مطمئن شوید که Docker روی سیستم شما نصب شده باشد. سپس میتوانید با اجرای دستورات زیر، Nuclei را اجرا کنید. دریافت نسخه رسمی Nuclei از Docker Hub
Docker pull projectdiscovery/nuclei:latest
سادهترین روش اجرای Nuclei، اسکن اهداف با استفاده از قالبهای از پیش تعریفشده است. بهعنوان مثال:
nuclei -l targets.txt -t cves
این دستور، URLهای موجود در فایل targets.txt را برای آسیبپذیریهای شناختهشده (CVEs) اسکن میکند. برای تمرکز بر آسیبپذیریهای بحرانی یا مهم، میتوان نتایج را با استفاده از پارامتر severity فیلتر کرد:
nuclei -t cves/ -severity critical,high -l targets.txt
ایجاد و استفاده از قالبهای سفارشی
یکی از قابلیتهای کلیدی Nuclei، امکان استفاده از قالبهای سفارشی مبتنی بر YAML است. این قالبها تستهای خاص برای آسیبپذیریها را تعریف میکنند. ایجاد یک قالب بسیار ساده است:
زمانی که قالب شما آماده شد، میتوانید هدف را با استفاده از دستور زیر اسکن کنید:
nuclei -u https://example.com -t /path/to/custom-template.yaml
اگرچه هزاران قالب از پیش ساخته شده توسط جامعه کاربران در دسترس است، اما هر کسی که بخواهد به یک کاربر حرفهای Nuclei تبدیل شود، باید یاد بگیرد که چگونه قالبهای سفارشی بنویسد. در این قسمت چند سناریو آورده شده است که به شما کمک میکند تا یک قالب سفارشی ایجاد کنید:
یک آسیبپذیری جدید (CVE) کشف شده است، شما مقاله یا گزارش آن را مطالعه کردهاید که در آن یک اثبات مفهوم ساده (PoC) ارائه شده است، اما هنوز هیچکس قالب Nuclei برای آن ننوشته است.
شما خودتان یک آسیبپذیری روز صفر (0-day) پیدا کردهاید و میخواهید این امکان را به دیگران بدهید که سیستمهای خود را برای وجود این آسیبپذیری اسکن کنند.
توضیح بخشها:
فایل ایجاد شده در مرحله قبل را با پسوند .yaml ذخیره کنید.
برای اجرای اسکن با قالب ساختهشده از دستور زیر استفاده کنید:
Nuclei -u https://example.com -t /path/to/my-custom-check.yml
نکات تکمیلی:

Nuclei توانایی درک و کار با انواع مختلفی از پروتکلهای شبکه و سرویسها را دارد، از جمله:
بر اساس گفتههای همبنیانگذار و مدیر فنی، Sandeep Singh، هدف Nuclei ایجاد یک بستر واحد برای اسکن چندپروتکلی آسیبپذیری است تا دیگر نیازی به جابجایی میان ابزارهای مختلف نباشد.
با افزایش یکپارچهسازی وباپلیکیشنها، Nuclei فرصت بزرگی برای ارائه اسکنهای دقیق و منطقی برای متخصصان امنیت خواهد داشت. مشارکت جامعه و شفافیت قالبها باعث شده است این ابزار به یک مرجع قابل اعتماد متنباز تبدیل شود.
ابزار Nuclei یک ابزار بسیار قدرتمند و چندمنظوره برای شناسایی آسیبپذیریها و ارزیابی امنیتی در برنامههای وب و سیستمها است.
توانایی آن در خودکارسازی فرآیند جستجو و بهرهبرداری از آسیبپذیریها در طیف گستردهای از فناوریها و پروتکلها، آن را به ابزاری ارزشمند برای متخصصان امنیت سایبری و پژوهشگران امنیتی تبدیل کرده است.
علاوه بر این، وجود جامعهای فعال و توسعه مداوم قالبها و اسکریپتها، باعث شده است که Nuclei همچنان در خط مقدم مقابله با تهدیدات سایبری در حال تحول باقی بماند.

۱. Nuclei چیست و چه کاربردی دارد؟
Nuclei یک ابزار متنباز و سریع برای اسکن امنیتی است که با استفاده از قالبهای قابل تنظیم، آسیبپذیریها و پیکربندیهای نادرست را در سیستمها، وبسایتها و سرویسهای شبکه شناسایی میکند.