
एक अतुल्यकालिक गणना और भेद्यता स्कैनर। सभी होस्ट पर सभी उपकरण चलाएँ।
celerystalk आपको एसिंक्रोनस जॉब्स (अर्थात कार्य) के साथ अपनी नेटवर्क स्कैनिंग/एन्यूमरेशन प्रक्रिया को स्वचालित करने में मदद करता है, जबकि आप किन टूल्स को चलाना चाहते हैं, इस पर पूर्ण नियंत्रण बनाए रखता है।

इंटरैक्टिव डेमो: बग बाउंटी मोड (HackerOne)
इंटरैक्टिव डेमो: भेद्यता मूल्यांकन / पेनटेस्ट मोड (Retired HackTheBox.eu machines)
| चरण | कमांड | उपयोग किए गए टूल्स के उदाहरण |
|---|---|---|
| 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, आदि। |
| स्क्रीनशॉट | ./celerystalk sceenshots | Aquatone |
| विश्लेषण | ./celerystalk report | celerystalk |
celerystalk है:
आपको celerystalk को रूट के रूप में इंस्टॉल और चलाना होगा``` git clone https://github.com/sethsec/celerystalk.git cd celerystalk/setup ./install.sh cd .. ./celerystalk -h
## Dockerhub से docker container का उपयोग करें```
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
## Using celerystalk - The basics
### [URL Mode] - How to scan a URL (or multiple URLs in a file)
#### Launch all enabled tools against a URL or many URLs in a file without having to import scope, nmap, etc.```
# ./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)
## उन्नत उपयोग: बग बाउंटी मोड बनाम भेद्यता आकलन मोड
आप वर्कस्पेस के निर्माण के समय मोड को परिभाषित करते हैं। डिफ़ॉल्ट वर्कस्पेस VAPT मोड है, लेकिन मैन्युअल रूप से बनाए गए वर्कस्पेस के लिए आपके पास दो विकल्प हैं।
* यदि आप स्कोप में IP पतों/रेंजों/CIDR से शुरू कर रहे हैं, तो Vulnerability Assessment और PenTest (VAPT) मोड का उपयोग करें।
* यदि आप स्कोप में डोमेन से शुरू कर रहे हैं, तो Bug Bounty (BB) मोड का उपयोग करें।
### [Bug Bounty Mode]
* BB मोड में, 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
नोट: आप पहले सबडोमेन कमांड चला सकते हैं और फिर scope परिभाषित कर सकते हैं, या आप scope परिभाषित कर सकते हैं और सबडोमेन आयात कर सकते हैं।
**नोट:** आप पहले सबडोमेन कमांड चला सकते हैं और फिर स्कोप परिभाषित कर सकते हैं, या आप स्कोप परिभाषित कर सकते हैं और सबडोमेन आयात कर सकते हैं।
#### उन होस्ट्स की सूची आयात करें जो स्कोप में हैं और 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
नोट: आप पहले सबडोमेन कमांड चला सकते हैं और फिर स्कोप परिभाषित कर सकते हैं, या आप स्कोप परिभाषित कर सकते हैं और सबडोमेन आयात कर सकते हैं।
अधिक विवरण के लिए, विकी में Configuration पृष्ठ देखें
आप कुछ भी करने से पहले एक workspace बनाना आवश्यक है।
#### import
यह कमांड आपको celerystalk में पोर्ट और होस्ट डेटा आयात करने की अनुमति देता है, और आपको यह परिभाषित करने की अनुमति देता है कि क्या दायरे में है और क्या दायरे से बाहर है।
| Option | Description |
| --- | --- |
| -f scan.xml | <b>Nmap/Nessus xml</b><br><ul><li>इस फ़ाइल से सभी IP पतों को होस्ट तालिका में जोड़ता है और उन सभी को स्कैन किए जाने के लिए दायरे में चिह्नित करता है।</li><li>सभी पोर्ट और सेवा प्रकारों को सेवाओं की तालिका में जोड़ता है।</li></ul> |
| -S scope.txt | <b>Scope फ़ाइल</b><br><ul><li>उन फ़ाइल अंतरों को दिखाएँ जिन्हें स्टेज नहीं किया गया है </li></ul>|
| -D subdomains.txt | <b>(उप)डोमेन फ़ाइल</b><br><ul><li>celerystalk IP को हल करके और DB में 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 कमांड के साथ सबडोमेन आयात कर सकते हैं।
| Option | Description |
|---|---|
| -d domain1,domain2,etc | Amass, Sublist3r, आदि चलाएं और DB में डोमेन संग्रहीत करें
|
| Find subdomains: celerystalk subdomains -d domain1.com,domain2.com |
#### nmap
यह कमांड आपके लिए nmap चलाएगा, आपके द्वारा config.ini फ़ाइल में निर्दिष्ट विकल्पों का उपयोग करके। आप वैकल्पिक रूप से nmap xml फ़ाइल या .nessus फ़ाइल से पोर्ट स्कैन डेटा आयात कर सकते हैं।
| विकल्प | विवरण |
| --- | --- |
| कोई विकल्प नहीं | config से nmap कमांड पढ़ें और इन-स्कोप होस्ट्स के लिए सभी सेवाओं को स्कैन करें
| -c [filename] | celerystalk कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करें [डिफ़ॉल्ट: ./config.ini]
#### scan
यह कमांड celery को कार्य सबमिट करेगा, जो उन्हें अतुल्यकालिक रूप से निष्पादित करता है और आपके आउटपुट निर्देशिका में लॉग आउटपुट करता है।
| विकल्प | विवरण |
| --- | --- |
| कोई विकल्प नहीं | <b>सभी इन-स्कोप होस्ट्स को स्कैन करें</b><ul><li>DB पढ़ता है और हर इन-स्कोप IP और सबडोमेन को स्कैन करता है।</li><li>IP के लिए सभी सक्षम टूल चलाता है, लेकिन वर्चुअलहोस्ट के खिलाफ केवल http/http विशिष्ट टूल</li></ul> |
| --noIP | होस्ट्स को IP द्वारा स्कैन न करें (केवल vhosts स्कैन करें)
| -t ip,vhost,cidr | <b>DB या स्कैन फ़ाइल से विशिष्ट लक्ष्य(लक्ष्यों) को स्कैन करें</b><ul><li>इन-स्कोप IP और/या सबडोमेन के एक उपसमूह को स्कैन करें</li></ul> |
| -s | <b>सिमुलेशन</b><br> सभी कार्य celery को भेजता है, लेकिन सभी कमांड को उनके सामने # के साथ निष्पादित किया जाता है, जिससे वे निष्क्रिय हो जाते हैं</li></ul> |
| -c [filename] | celerystalk कॉन्फ़िगरेशन फ़ाइल निर्दिष्ट करें [डिफ़ॉल्ट: ./config.ini] |
| -u [URL] | एक विशिष्ट URL स्कैन करें, भले ही वह अभी तक DB में न हो |```
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
यह कमांड पहले से स्कैन किए गए होस्ट को पुनः स्कैन करेगा।
| विकल्प | विवरण |
|---|---|
| कोई विकल्प नहीं | DB में दायरे में आने वाले प्रत्येक होस्ट के लिए, 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
जितनी बार चाहें उतनी बार कार्य कतार की स्थिति को अतुल्यकालिक रूप से जांचें। वॉच मोड वास्तव में linux watch कमांड को निष्पादित करता है ताकि आप अपना संपूर्ण टर्मिनल बफर न भरें।
| विकल्प | विवरण |
| --- | --- |
| no options | वर्तमान कार्यक्षेत्र में सभी कार्य दिखाता है |
| watch | unix watch कमांड को कमांड भेजता है जो आपको हर 2 सेकंड में अद्यतन स्थिति प्राप्त करने देगा |
| 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 डेटाबेस में संग्रहीत कार्यस्थानों, होस्टों, सेवाओं या पथों को सूचीबद्ध या निर्यात करें
| Option | Description |
| --- | --- |
| workspaces | सभी ज्ञात कार्यस्थानों और प्रत्येक कार्यस्थान से संबद्ध आउटपुट निर्देशिका दिखाएँ |
| workspace | workspaces के समान |
| services | आईपी द्वारा सभी ज्ञात खुले पोर्ट और सेवा प्रकार दिखाएँ |
| ports | ports के समान। |
| hosts | सभी होस्ट (IP पते और सबडोमेन/vhosts) दिखाएँ और क्या वे दायरे में हैं तथा क्या उन्हें स्कैनिंग के लिए सबमिट किया गया है |
| vhosts | hosts कमांड के समान, लेकिन उन vhosts को बाहर करता है जो IP पते हैं। |
| paths | vhost द्वारा पहचाने गए सभी पथ दिखाएँ |
| paths_only | db में पथों की एक न्यूलाइन से अलग की गई सूची दिखाएँ। दूसरे टूल में पाइप करने के लिए उपयोगी |
| export | services, hosts, और paths तालिकाओं को निर्यात करें
| export_paths_only | db में पथों की केवल एक न्यूलाइन से अलग की गई सूची को फ़ाइल में निर्यात करें।```
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 को उनके लैब नेटवर्क के लिए धन्यवाद
इसके अलावा, धन्यवाद:
| विकल्प | विवरण |
|---|
| कोई विकल्प नहीं | वर्तमान workspace प्रिंट करता है |
| create | नया workspace बनाता है |
| -w | नया workspace नाम परिभाषित करें |
| -o | workspace को निर्दिष्ट आउटपुट निर्देशिका परिभाषित करें |
| -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 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 | DB नष्ट करें, Redis फ्लश करें, नए सिरे से शुरू करें |
| backup | DB और सभी कार्यक्षेत्र डेटा निर्देशिकाओं का बैकअप लें |
| restore | DB और सभी कार्यक्षेत्र डेटा निर्देशिकाओं को पुनर्स्थापित करें |
| -f [filename] | फ़ाइल नाम पुनर्स्थापित करें |
| Examples: | |
| ./celerystalk admin start | |
| ./celerystalk admin stop | |
| ./celerystalk admin restart | |
| ./celerystalk admin reset | |
| ./celerystalk admin backup -f | |
| ./celerystalk admin restore -f |