-
Notifications
You must be signed in to change notification settings - Fork 0
Modules
This page explains how to use each module.
Katana is a web crawler that is used by Asteroid to gather URLs. Afterward, these URLs are filtered for duplicates and false positives using uro and httpx.
Arguments:
-
-headless: Runs Katana with a headless browser. This helps against bot detection and provides better coverage, but decreased performance. -
-tlor--time-limit: The time limit for Katana. Format:10m,1h,30s, etc. -
-Hor--headers: Use headers with Katana. This is great for authenticated scanning with cookies, e.g.-H 'Cookie: <your-cookie>' -
--proxy: Proxy to use, e.g.http://127.0.0.1:8080for Burp. Great for debugging. Also works with SOCKS5 proxies. -
--dont-scan: Prevents Katana from scanning certain URLs using a regular expression. This is great if you do not want Katana to log you out of your session, or perform destructive actions. Defaults to.*(logout|uitloggen).*to prevent logouts.
Feroxbuster is used by Asteroid to bruteforce URLs.
Arguments:
-
-wor--wordlist: The wordlist used by Feroxbuster. This israft-small-words.txtfrom SecLists by default. -
-tlor--time-limit: The time limit for Feroxbuster. Format:10m,1h,30s, etc. -
-dor--depth: The maximum recursive depth for Feroxbuster. Defaults to 10. -
-C: A list of status codes separated by commas. Feroxbuster will filter URLs with these status codes in its output. Defaults to500,404,403,401,400. -
-xor--extensions: A list of extensions for Feroxbuster to append to the words in the wordlist. You can also read these extensions from a file using@ext.txt, whereext.txtcontains a list of extensions separated by newlines. Defaults tophp,html. -
-Hor--headers: Use headers with Feroxbuster. This is great for authenticated scanning with cookies, e.g.-H 'Cookie: <your-cookie>' -
--proxy: Proxy to use, e.g.http://127.0.0.1:8080for Burp. Great for debugging. Also works with SOCKS5 proxies. -
--dont-scan: Prevents Feroxbuster from scanning certain URLs using a regular expression. This is great if you do not want Feroxbuster to log you out of your session, or perform destructive actions. Defaults to.*(logout|uitloggen).*to prevent logouts.
Asteroid uses Gau to passively gather URLs from AlienVault's Open Threat Exchange, the Wayback Machine, and Common Crawl. Afterward, these URLs are filtered for duplicates and false positives using uro and httpx.
Arguments:
-
--proxy: Proxy to use, e.g.http://127.0.0.1:8080for Burp. Great for debugging. Also works with SOCKS5 proxies.
Arjun is used for parameter mining: it bruteforces GET query parameters for the gathered URLs. It does not run by default, as this can take quite a long time. URLs with static file extensions like .css are filtered out first.
Arguments:
-
-Hor--headers: Use headers with Arjun. This is great for authenticated scanning with cookies, e.g.-H 'Cookie: <your-cookie>' -
--proxy: Proxy to use, e.g.http://127.0.0.1:8080for Burp. Great for debugging. Also works with SOCKS5 proxies. -
-awor--arjun-wordlist: Wordlist of parameters to bruteforce. Defaults toparams.txtfrom param-miner.
This module scans the Feroxbuster output for open directory listings. It does not have any additional arguments.
Runs Feroxbuster again, but this time with a separate wordlist for sensitive files by Bo0om.
Arguments:
-
-sfwor--sensitive-files-wordlist: The wordlist used by Feroxbuster for sensitive files discovery. This isfuzz.txtfrom Bo0om by default. -
-tlor--time-limit: The time limit for Feroxbuster. Format:10m,1h,30s, etc. -
-C: A list of status codes separated by commas. Feroxbuster will filter URLs with these status codes in its output. Defaults to500,404,403,401,400. -
-Hor--headers: Use headers with Feroxbuster. This is great for authenticated scanning with cookies, e.g.-H 'Cookie: <your-cookie>' -
--proxy: Proxy to use, e.g.http://127.0.0.1:8080for Burp. Great for debugging. Also works with SOCKS5 proxies. -
--dont-scan: Prevents Feroxbuster from scanning certain URLs using a regular expression. This is great if you do not want Feroxbuster to log you out of your session, or perform destructive actions. Defaults to.*(logout|uitloggen).*to prevent logouts.
This module downloads all gathered URLs with curl and runs Trufflehog on these downloaded files to detect secrets. Download size is limited to 100K by default. As this module can download a lot of files and fill up disk space in some cases, it does not run by default.
Arguments:
-
--cleanup: Deletes all downloaded files afterward. -
-Hor--headers: Use headers with Curl. This is great for authenticated scanning with cookies, e.g.-H 'Cookie: <your-cookie>' -
--proxy: Proxy to use, e.g.http://127.0.0.1:8080for Burp. Great for debugging. Also works with SOCKS5 proxies.
This is a Python implementation of the Nuclei template by ayadim. It detects interesting file extensions in URLs and reports them.
It does not have any additional arguments.
This module detect used technologies using wappalyzer-next and uses the search_vulns API to search for CVEs for these technologies.
Arguments:
-
-sor--size: maximum number of results per technology. Defaults to 5.
In this module, RetireJS is used to detect vulnerable JavaScript libraries. It uses a Python 3 adaptation from ghostlulzhacks.
It does not have any additional arguments.
Nuclei is one of the main modules of this scanner. It uses Nuclei DAST to detect web application vulnerabilities, and also runs some other basic Nuclei checks. Nuclei is ran 6 times in total:
-
Nuclei DAST on URLs: Nuclei DAST is ran and the URLs with query parameters using templates from the
custom-templatesdirectory. Output is stored innuclei-urls.txt. -
Nuclei DAST on forms: Nuclei DAST is ran on the forms gathered by Katana using templates from the
custom-templatesdirectory. Output is stored innuclei-forms.txt. -
Nuclei SSL checks: All Nuclei SSL templates are run on the target domain. Output is stored in
nuclei-ssl.txt. -
Nuclei header checks: Nuclei checks for missing security headers. Output is stored in
nuclei-headers.txt. -
Nuclei Cookie checks: The cookies on the target domain are checked with Nuclei for flags like HttpOnly etc. Output is stored in
nuclei-cookies.txt. -
Nuclei file uploads: Nuclei is used to detect pages with a file upload, which is used later by the File Upload module. Output is stored in
nuclei-file-uploads.txtt. Finally, all results from the separate Nuclei runs are merged intonuclei.txtand displayed.
Arguments:
-
-Hor--headers: Use headers with Nuclei. This is great for authenticated scanning with cookies, e.g.-H 'Cookie: <your-cookie>' -
--proxy: Proxy to use, e.g.http://127.0.0.1:8080for Burp. Great for debugging. Also works with SOCKS5 proxies.
This is a custom module and still a work-in-progress. Currently, it only works for PHP webservers. It detects a successful file upload vulnerability via HTTP status codes, so it can be prone to false positives.
The module executes the following steps:
- Visit the URLs that have a file upload form gathered by Nuclei.
- Detect the file upload form.
- Use the output wappalyzer-next output from the Vulnscan module to detect the technology of the web server, e.g. PHP.
- Try multiple malicious file uploads for that technology.
- If the server returns a successful HTTP status code like 200 OK, report a file upload vulnerability.
Arguments:
-
-Hor--headers: Use headers with requests. This is great for authenticated scanning with cookies, e.g.-H 'Cookie: <your-cookie>' -
--proxy: Proxy to use, e.g.http://127.0.0.1:8080for Burp. Great for debugging. Also works with SOCKS5 proxies.