Lazyrecon is a subdomain discovery tool that finds and resolves valid subdomains then performs SSRF/LFI/SQLi fuzzing, brute-force and port scanning. It has a simple modular architecture and is optimized for speed while working with github and wayback machine.
Features
Workflow
About
This script is intended to automate your reconnaissance process in an organized fashion by performing the following:
subfinder, assetfinder, gau, waybackurls, github-subdomainsdnsgenModeshufflednshttpxheadless chromiummasscan on live serversnucleismugglerffuf supercharged by interlace using custom WordList based on the top10000.txtThe point is to get a list of live IPs (in form of socket addresses), attack available network protocols, check for common CVEs, perform very simple directory bruteforce then use provided reports for manual research.
Installing
Linux & Mac tested
Pre Requirements
python >= 3.7
pip3 >= 19.0
go >= 1.14
CI/CD way
You can use stateful/stateless build agent (worker). There is no additional time is required for provisioning. It may look tricky cause masscan/nmap/naabu root user required.
./lazyconfig:export HOMEUSER= # your normal, non root user: e.g.: kali
export HOMEDIR= # user’s home dir e.g.: /home/kali
export STORAGEDIR= # where output saved, e.g.: ${HOMEDIR}/lazytargets
export GITHUBTOKEN=XXXXXXXXXXXXXXXXXX # a personal access token here
export DISCORDWEBHOOKURL= # https://discord.com/api/webhooks/{webhook.id}/{webhook.token}
export GOPATH=$HOMEDIR/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin:$GOROOT/bin:$HOME/.local/bin:$HOME/go/bin:$HOMEDIR/go/bin
export GO111MODULE=on
source ./lazyconfigsudo -E ./install.shsudo -E ./lazyrecon.sh "hackerone.com"Github Actions way
Customize .github/workflows/test-recon-action.yaml using DISCORDWEBHOOKURL and GITHUBTOKEN secrets, enable --discord to receive a report
– name: Install & Recon
env:
GO111MODULE: on
DISCORDWEBHOOKURL: ${{ secrets.DISCORDWEBHOOKURL }}
GITHUBTOKEN: ${{ secrets.GITHUBTOKEN }}
run: |
export HOMEDIR=$HOME
export HOMEUSER=$RUNNER_USER
export STORAGEDIR=”${HOMEDIR}”/lazytargets
sudo -E ./install.sh
sudo -E ./lazyrecon.sh “hackerone.com” –quiet –discord
Hard way
Config your environment variables and dependencies using INSTALL.MD
If you faced with some issues, feel free to join Discord, open PR or file the bug.
Usage
Execute with sudo because of masscan:
▶ sudo -E ./lazyrecon.sh tesla.com –wildcard
| Parameter | Description | Example |
|---|---|---|
| –wildcard | Subdomains reconnaissance ‘*.tesla.com’ (default) | ./lazyrecon.sh tesla.com –wildcard |
| –single | One target instance ‘tesla.com’ | ./lazyrecon.sh tesla.com –single |
| –ip | Single IP of the target machine | ./lazyrecon.sh 192.168.0.1 –single –ip |
| –list | List of subdomains to process for | ./lazyrecon.sh “./testa.txt” –list |
| –cidr | Perform network recon, CIDR notation | ./lazyrecon.sh “192.168.0.0/16” –cidr |
| –mad | Wayback machine’s stuff | ./lazyrecon.sh tesla.com –mad |
| –fuzz | SSRF/LFI/SQLi fuzzing | ./lazyrecon.sh tesla.com –mad –fuzz |
| –alt | Additionally permutate subdomains (*.tesla.com only) | ./lazyrecon.sh tesla.com –wildcard –alt |
| –brute | Basic directory bruteforce (time sensitive) | ./lazyrecon.sh tesla.com –single –brute |
| –discord | Send notifications to discord | ./lazyrecon.sh tesla.com –discord |
| –quiet | Enable quiet mode | ./lazyrecon.sh tesla.com –quiet |
Methodology
./lazyrecon.shXHR requests, fuzz parameters and variables%23, /%2e/, admin.php%2500.md etc)Introduction Bash scripting is a powerful way to automate Linux tasks, but writing a script…
Introduction A self-signed SSL certificate is a certificate that is created and signed by the…
Introduction Debugging is an important part of Bash scripting. When a script does not work…
Introduction Cron jobs are used in Linux to run commands or Bash scripts automatically at…
Introduction Pipes are an important feature in Linux and Bash scripting. A pipe allows you…
Introduction The grep, awk, and sed commands are powerful text-processing tools in Linux. They are…