
ماسح ضوئي غير متزامن للتعداد والثغرات. قم بتشغيل جميع الأدوات على جميع المضيفين.
يساعدك celerystalk في أتمتة عملية مسح الشبكة/التعداد باستخدام مهام غير متزامنة (تُعرف بـ المهام) مع الاحتفاظ بالتحكم الكامل في الأدوات التي ترغب في تشغيلها.

عرض توضيحي تفاعلي: وضع مكافآت الاختراق (HackerOne)
عرض توضيحي تفاعلي: وضع تقييم الثغرات / اختبار الاختراق (آلات HackTheBox.eu المتقاعدة)
| المرحلة | الأمر | أمثلة على الأدوات المستخدمة |
|---|---|---|
| استطلاع/تعداد DNS | ./celerystalk subdomains -d domain1,domain2 | Amass, sublist3r |
| تحديد النطاق، استيراد nmap/nessus | ./celerystalk import [scan_data,scope_files,etc.] | celerystalk |
| مسح المنافذ | ./celerystalk nmap | nmap |
| تعداد الدلائل والملفات، تحديد الثغرات | ./celerystalk scan | Gobuster, Nikto, Photon, sqlmap, wpscan, hydra, medusa, wappalyzer, whatweb, etc. |
| لقطات شاشة | ./celerystalk sceenshots | Aquatone |
| تحليل | ./celerystalk report | celerystalk |
celerystalk هو:
يجب تثبيت وتشغيل celerystalk كجذر (root)``` git clone https://github.com/sethsec/celerystalk.git cd celerystalk/setup ./install.sh cd .. ./celerystalk -h
## استخدام حاوية دوكر من Dockerhub```
docker pull sethsec/celerystalk:latest
docker run -p 27007:27007 -ti celerystalk
docker build -t celerystalk https://github.com/sethsec/celerystalk.git docker run -p 27007:27007 -ti celerystalk
## استخدام celerystalk - الأساسيات
### [وضع URL] - كيفية فحص URL (أو عناوين URL متعددة في ملف)
#### تشغيل جميع الأدوات المُمكّنة ضد URL واحد أو عدة عناوين URL في ملف دون الحاجة إلى استيراد النطاق أو nmap أو غيره.```
# ./celerystalk scan -u url or filename # Run all enabled commands against specified url(s)
# ./celerystalk query watch (then Ctrl+c) # Wait for scans to finish
# ./celerystalk screenshots # Take screenshots
# ./celerystalk report # Generate report
#### أو، استيراد قائمة بالمضيفين التي في النطاق وجعل celerystalk يقوم بتشغيل nmap لك```
# ./celerystalk import -S scope.txt # Import IP/CIDR/Ranges and mark as in scope
# ./celerystalk nmap # Nmap all in-scope hosts (reads options from config.ini)
## الاستخدام المتقدم: وضع الصيد (Bug Bounty Mode) مقابل وضع تقييم الثغرات (Vulnerability Assessment Mode)
يمكنك تعريف الوضع عند إنشاء مساحة العمل. وضع العمل الافتراضي هو وضع VAPT، ولكن لديك خياران لمساحات العمل المنشأة يدويًا.
* إذا كنت تبدأ بنطاقات عناوين IP / نطاقات / CIDRs محددة النطاق، استخدم وضع تقييم الثغرات واختبار الاختراق (VAPT).
* إذا كنت تبدأ بنطاقات (domains) محددة النطاق، استخدم وضع الصيد (BB).
### [وضع الصيد (Bug Bounty Mode)]
* في وضع BB، يتم وضع علامة "في النطاق" (in scope) على جميع النطاقات الفرعية التي تم العثور عليها باستخدام celerystalk أو تم استيرادها يدويًا.
#### البحث عن النطاقات الفرعية، تعريف المضيفين خارج النطاق، فحص كل شيء آخر```
# ./celerystalk workspace create -o /dir -m bb # Create default workspace and set output dir
# ./celerystalk subdomains -d company.com,dom.net # Find subdomains and determine if in scope
# ./celerystalk import -S scope.txt (optional) # Import IP/CIDR/Ranges and mark as in scope
# ./celerystalk import -O out_scope.txt (optional) # Define HOSTS/IPs that are out of scope
# ./celerystalk nmap (optional) # Nmap all in-scope hosts (reads options from config.ini)
# ./celerystalk import -f client.xml (optional) # If you would rather import an nmap file you already ran
# ./celerystalk scan [--noIP] # Run all enabled commands against all in scope hosts
# ./celerystalk query watch (then Ctrl+c) # Wait for scans to finish
# ./celerystalk screenshots # Take screenshots
# ./celerystalk report # Generate report
ملاحظة: يمكنك تشغيل أمر النطاقات الفرعية أولاً ثم تعريف النطاق، أو يمكنك تعريف النطاق واستيراد النطاقات الفرعية.
**ملاحظة:** يمكنك تشغيل أمر subdomains أولاً ثم تحديد النطاق، أو يمكنك تحديد النطاق واستيراد subdomains.
#### استيراد قائمة بالمضيفات التي تقع ضمن النطاق والتي يقوم celerystalk بتشغيل nmap عليها وتحليل النتائج```
# ./celerystalk workspace create -o /dir -m vapt # Create default workspace and set output dir
# ./celerystalk import -S client-inscope-list.txt # Import IP/CIDR/Ranges and mark as in scope
# ./celerystalk import -O out_scope.txt (optional) # Define HOSTS/IPs that are out of scope
# ./celerystalk nmap # Nmap all in-scope hosts (reads options from config.ini)
# ./celerystalk query watch (then Ctrl+c) # Watch nmap scans as they move from pending > running > complete
# ./celerystalk subdomains -d client.com,client.net # Find subdomains and determine if in scope
# ./celerystalk scan # Run all enabled commands
# ./celerystalk query watch (then Ctrl+c) # Watch scans as they move from pending > running > complete
# ./celerystalk screenshots # Take screenshots
# ./celerystalk report # Generate report
ملاحظة: يمكنك تشغيل أمر النطاقات الفرعية أولاً ثم تحديد النطاق، أو يمكنك تحديد النطاق واستيراد النطاقات الفرعية.
لمزيد من التفاصيل، راجع صفحة التكوين في الويكي
يجب إنشاء مساحة عمل قبل أن تتمكن من فعل أي شيء آخر.
#### import
يسمح لك هذا الأمر باستيراد بيانات المنافذ والمضيفين إلى celerystalk، ويسمح لك بتحديد ما هو ضمن النطاق وما هو خارجه.
| الخيار | الوصف |
| --- | --- |
| -f scan.xml | <b>Nmap/Nessus xml</b><br><ul><li>يضيف جميع عناوين IP من هذا الملف إلى جدول المضيفين ويضع علامة عليها جميعًا كداخل النطاق ليتم مسحها.</li><li>يضيف جميع المنافذ وأنواع الخدمات إلى جدول الخدمات.</li></ul> |
| -S scope.txt | <b>ملف النطاق</b><br><ul><li>إظهار اختلافات الملفات التي لم يتم تجهيزها بعد</li></ul>|
| -D subdomains.txt | <b>ملف (النطاقات الفرعية) النطاقات</b><br><ul><li>يقوم celerystalk بتحديد ما إذا كان كل نطاق فرعي ضمن النطاق عن طريق حل عنوان IP والبحث عن IP في قاعدة البيانات. في حالة وجود تطابق، يتم وضع علامة على النطاق كداخل النطاق وسيتم مسحه.</li></ul>|```
Import Nmap XML file: ./celerystalk import -f /assessments/nmap.xml
Import Nessus file: ./celerystalk import -f /assessments/scan.nessus
Import list of Domains: ./celerystalk import -D <file>
Import list of IPs/Ranges: ./celerystalk import -S <file>
Specify workspace: ./celerystalk import -f <file>
Import multiple files: ./celerystalk import -f nmap.xml -S scope.txt -D domains.txt
يستخدم هذا الأمر جميع أدوات البحث عن النطاقات الفرعية الموجودة في ملف الإعدادات الخاص بك. إذا كنت تفضل، يمكنك القيام بذلك خارج celerystalk واستيراد النطاقات الفرعية باستخدام أمر import.
| الخيار | الوصف |
|---|---|
| -d domain1,domain2,etc | تشغيل Amass وSublist3r وغيرها، وتخزين النطاقات في DB
|
| Find subdomains: celerystalk subdomains -d domain1.com,domain2.com |
#### nmap
سيقوم هذا الأمر بتشغيل nmap لك، باستخدام الخيارات التي حددتها في ملف config.ini. يمكنك بدلاً من ذلك استيراد بيانات فحص المنافذ من ملف nmap xml أو من ملف .nessus
| الخيار | الوصف |
| --- | --- |
| no options | قراءة أمر nmap من الإعدادات ومسح جميع الخدمات للمضيفات ضمن النطاق |
| -c [filename] | تحديد ملف إعداد celerystalk [الإفتراضي: ./config.ini]
#### scan
سيقوم هذا الأمر بإرسال المهام إلى celery، التي تقوم بتنفيذها بشكل غير متزامن وتسجيل المخرجات في دليل الإخراج الخاص بك.
| الخيار | الوصف |
| --- | --- |
| no options | <b>مسح جميع المضيفات ضمن النطاق</b><ul><li>يقرأ قاعدة البيانات ويمسح كل عنوان IP ونطاق فرعي ضمن النطاق.</li><li>يقوم بتشغيل جميع الأدوات الممكنة لعناوين IP، ولكن فقط أدوات http/http خاصة ضد المضيفات الافتراضية</li></ul> |
| --noIP | لا تمسح المضيفات بواسطة IP (مسح المضيفات الافتراضية فقط)
| -t ip,vhost,cidr | <b>مسح هدف/أهداف محددة من قاعدة البيانات أو ملف المسح</b><ul><li>مسح مجموعة فرعية من عناوين IP و/أو النطاقات الفرعية ضمن النطاق</li></ul> |
| -s | <b>محاكاة</b><br> يرسل جميع المهام إلى celery، ولكن يتم تنفيذ جميع الأوامر مع # قبلها مما يجعلها خاملة |
| -c [filename] | تحديد ملف إعداد celerystalk [الإفتراضي: ./config.ini] |
| -u [URL] | مسح عنوان URL محدد، حتى لو لم يكن في قاعدة البيانات بعد |```
Scan all in scope hosts: ./celerystalk scan
Scan subset of DB hosts: ./celerystalk scan -t 10.0.0.1,10.0.0.3
./celerystalk scan -t 10.0.0.100-200
./celerystalk scan -t 10.0.0.0/24
./celerystalk scan -t sub.domain.com
Simulation mode: ./celerystalk scan -s
سيقوم هذا الأمر بإعادة مسح مضيف تم مسحه بالفعل.
| الخيار | الوصف |
|---|---|
| no option | بالنسبة لكل مضيف ضمن النطاق في قاعدة البيانات، سيسأل celerystalk عما إذا كنت تريد إعادة مسحه |
./celerystalk rescan -c myconfig.ini
Rescan some hosts ./celerystalk rescan -t 1.2.3.4,sub.domain.com
Simulation mode: ./celerystalk rescan -s
#### query
تحقق بشكل غير متزامن من حالة قائمة المهام بقدر ما تريد. وضع المراقبة ينفذ فعليًا أمر watch في لينكس حتى لا تملأ كامل مخزن الطرفية المؤقت.
| الخيار | الوصف |
| --- | --- |
| no options | يعرض جميع المهام في مساحة العمل الحالية |
| watch | يرسل الأمر إلى أمر watch في يونكس والذي سيسمح لك بالحصول على حالة محدثة كل ثانيتين |
| brief | حد أقصى 5 نتائج لكل حالة (pending/running/completed/cancelled/paused) |
| summary | يعرض فقط لافتة بالأرقام وليس المهام نفسها |```
Query Tasks: ./celerystalk query
./celerystalk query watch
./celerystalk query brief
./celerystalk query summary
./celerystalk query summary watch
إلغاء/إيقاف مؤقت/استئناف أي مهمة (مهام) قيد التشغيل حالياً أو في قائمة الانتظار.
./celerystalk <verb> all #Cancel/Pause/Resume all tasks from current workspaces
#### لقطات الشاشة
| الخيارات | الوصف |
| --- | --- |
| بدون خيارات | التقاط لقطات شاشة لجميع المسارات المعروفة |```
./celerystalk screenshots
تشغيل تقرير يجمع كل مخرجات الأداة في ملف html وملف txt. قم بتشغيل هذا بقدر ما تشاء. في كل مرة تشغل التقرير، فإنه يستبدل التقرير السابق.
| الخيارات | الوصف |
|---|---|
| لا توجد خيارات | إنشاء تقرير لجميع المضيفات الموجودة في النطاق التي تم فحصها |
| Create Report: ./celerystalk report #Create a report for all scanned hosts in current workspace |
#### db
قائمة أو تصدير مساحات العمل، المضيفين، الخدمات، أو المسارات المخزنة في قاعدة بيانات celerystalk
| الخيار | الوصف |
| --- | --- |
| workspaces | عرض جميع مساحات العمل المعروفة ومجلد الإخراج المرتبط بكل مساحة عمل |
| workspace | نفس workspaces |
| services | عرض جميع المنافذ المفتوحة المعروفة وأنواع الخدمات حسب عنوان IP |
| ports | نفس الموانئ. |
| hosts | عرض جميع المضيفين (عناوين IP والنطاقات الفرعية/المضيفات الافتراضية) وما إذا كانوا ضمن النطاق وما إذا تم إرسالهم للمسح |
| vhosts | نفس أمر hosts، لكن يستثني المضيفات الافتراضية التي هي عناوين IP. |
| paths | عرض جميع المسارات التي تم تحديدها بواسطة المضيف الافتراضي |
| paths_only | عرض قائمة مفصولة بأسطر جديدة من المسارات في قاعدة البيانات. مفيد للتوجيه إلى أداة أخرى |
| export | تصدير جداول الخدمات والمضيفين والمسارات |
| export_paths_only | تصدير قائمة مفصولة بأسطر جديدة من المسارات في قاعدة البيانات إلى ملف. |```
Show workspaces: ./celerystalk db workspaces
./celerystalk db workspace
Show services: ./celerystalk db services
./celerystalk db ports
Show hosts: ./celerystalk db hosts
Show vhosts only ./celerystalk db vhosts
Show paths: ./celerystalk db paths
Show paths (no table) ./celerystalk db paths_only
Show tasks: ./celerystalk db tasks
Export tables to csv ./celerystalk db export
Export paths to txt ./celerystalk db export_paths_only
الوظائف الإدارية
## الاستخدام```
Usage:
celerystalk workspace ([create]|[switch]) [-w workspace_name] [-o <output_dir>] [-m <mode>] [-h]
celerystalk import [-f <nmap_file>] [-S scope_file] [-D subdomains_file] [-O outOfScope.txt] [-u <url>] [-h]
celerystalk subdomains [-d <domains>] [-c <config_file>] [-s] [-h]
celerystalk nmap [-t <targets>] [-c <config_file>] [-s] [-h]
celerystalk scan [-t <targets>] [--noIP] [-c <config_file>] [-s] [-h]
celerystalk scan -u <url> [-c <config_file>] [-s] [-h]
celerystalk rescan [-t <targets>] [-c <config_file>] [-s] [-h]
celerystalk query ([full] | [summary] | [brief]) [watch] [-h]
celerystalk query [watch] ([full] | [summary] | [brief]) [-h]
celerystalk report [-h]
celerystalk screenshots [-h]
celerystalk cancel ([all]|[<task_ids>]) [-h]
celerystalk pause ([all]|[<task_ids>]) [-h]
celerystalk resume ([all]|[<task_ids>]) [-h]
celerystalk db ([workspaces]|[workspace]|[services]|[ports]|[hosts]|[vhosts]|[paths]|[paths_only]|[tasks]) [-h]
celerystalk db export [-h]
celerystalk admin ([start]|[stop]|[restart]|[reset]|[backup]|[restore]) [-f <restore_file>] [-h]
celerystalk interactive [-h]
celerystalk (help | -h | --help)
Options:
-h --help Show this screen
-v --version Show version
-f <nmap_file> Nmap xml import file
-c <config_file> Specify a non-default configuration file by name
-o <output_dir> Output directory
-m <mode> vapt = VulnAssmt/PenTest, bb = Bug Bounty
-S <scope_file> Scope import file
-O <outscope_file> Out of scope hosts file
-D <subdomains_file> Subdomains import file
-t <targets> Target(s): IP, IP Range, CIDR
-u <url> URL to parse and scan with all configured tools
-w <workspace> Workspace
-d --domains Domains to scan for vhosts
-s --simulation Simulation mode. Submit tasks comment out all commands
--noIP Only scan targets by DNS hostname (Don't scan the IP address)
Context specific help with examples:
./celerystalk workspace -h
./celerystalk subdomains -h
./celerystalk import -h
./celerystalk nmap -h
./celerystalk scan -h
./celerystalk rescan -h
./celerystalk query -h
./celerystalk pause -h
./celerystalk resume -h
./celerystalk cancel -h
./celerystalk db -h
./celerystalk screenshots -h
./celerystalk report -h
./celerystalk admin -h
هذا المشروع مستلهم من العديد من الأدوات الرائعة:
شكرًا لـ @offensivesecurity و @hackthebox_eu على شبكات مختبراتهم
أيضًا، شكرًا لـ:
| الخيار | الوصف |
|---|
| بدون خيارات | طباعة مساحة العمل الحالية |
| create | إنشاء |
| -w | تحديد اسم مساحة عمل جديدة |
| -o | تحديد دليل الإخراج المخصص لمساحة العمل |
| -m | الوضع [vapt \ bb] |
| Create default workspace ./celerystalk workspace create -o /assessments/client -m bb | |
| Create named workspace ./celerystalk workspace create -o /assessments/client -w client -m vapt | |
| Switch to another workspace ./celerystalk workspace client |
| -t ip,vhost,cidr | مسح مجموعة فرعية من عناوين IP و/أو النطاقات الفرعية ضمن النطاق. |
| -s | يرسل جميع المهام إلى celery، ولكن يتم تنفيذ جميع الأوامر مع إضافة رمز # قبلها مما يجعلها غير فعالة. |
| -c [filename] | حدد ملف تهيئة لـ celerystalk [الافتراضي: ./config.ini] |
| Rescan all hosts: ./celerystalk rescan |
| الخيار | الوصف |
|---|
| cancel |
|
| pause |
|
| resume |
|
| Cancel/Pause/Resume Tasks: ./celerystalk 5,6,10-20 #Cancel/Pause/Resume tasks 5, 6, and 10-20 from current workspace |
| الخيارات | الوصف |
|---|
| start | بدء عمليات Celery وRedis |
| stop | إيقاف عمليات Celery وRedis |
| restart | إعادة تشغيل عمليات Celery وRedis |
| reset | تدمير قاعدة البيانات، مسح Redis، بدء من جديد |
| backup | نسخ احتياطي لقاعدة البيانات وجميع أدلة بيانات مساحة العمل |
| restore | استعادة قاعدة البيانات وجميع أدلة بيانات مساحة العمل |
| -f [filename] | اسم ملف الاستعادة |
| Examples: | |
| ./celerystalk admin start | |
| ./celerystalk admin stop | |
| ./celerystalk admin restart | |
| ./celerystalk admin reset | |
| ./celerystalk admin backup -f | |
| ./celerystalk admin restore -f |