name: Full Recon
on:
push:
branches: [master]
jobs:
full-recon:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Go 1.23
uses: actions/setup-go@v5
with:
go-version: '1.23'
- name: Install Dependencies & Tools
run: |
set -e
sudo apt-get update
sudo apt-get install -y wget unzip jq git curl
# Install Go tools
go install github.com/projectdiscovery/httpx/cmd/httpx@latest && sudo mv ~/go/bin/httpx /usr/bin/
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest && sudo mv ~/go/bin/subfinder /usr/bin/
go install github.com/projectdiscovery/dnsx/cmd/dnsx@latest && sudo mv ~/go/bin/dnsx /usr/bin/
go install github.com/tomnomnom/qsreplace@latest && sudo mv ~/go/bin/qsreplace /usr/bin/
go install github.com/lc/gau/v2/cmd/gau@latest && sudo mv ~/go/bin/gau /usr/bin/
go install github.com/cybercdh/assetfinder@cybercdh && sudo mv ~/go/bin/assetfinder /usr/bin/
# Subjack (khusus)
go install github.com/haccer/subjack@latest
cp $(go env GOPATH)/bin/subjack ./subjack
# Download subjack fingerprint
mkdir -p subjack-data
curl -sL https://raw.githubusercontent.com/haccer/subjack/master/fingerprints.json -o subjack-data/fingerprints.json
# Install nuclei (latest release)
LATEST_VERSION=$(curl -s https://api.github.com/repos/projectdiscovery/nuclei/releases/latest | jq -r '.tag_name')
CLEAN_VERSION=${LATEST_VERSION#v}
wget https://github.com/projectdiscovery/nuclei/releases/download/${LATEST_VERSION}/nuclei_${CLEAN_VERSION}_linux_amd64.zip
unzip -o nuclei_${CLEAN_VERSION}_linux_amd64.zip
sudo mv nuclei /usr/bin/
sudo chmod +x /usr/bin/nuclei
rm -rf nuclei* *.md
- name: Vulnerability Scan
env:
TARGET: ${{ secrets.HOST }}
run: |
set -e
mkdir -p results
TODAY=$(date +%F)
echo "[*] Subdomain Enumeration..."
subfinder -d $TARGET -silent > sub1.txt
assetfinder --subs-only $TARGET | grep "\.${TARGET}$" > sub2.txt
cat sub1.txt sub2.txt | sort -u > results/${TARGET}-subdomains.txt
echo "[*] Probing live hosts..."
cat results/${TARGET}-subdomains.txt | httpx -silent \
-ports 80,443,8080,8443,3000,5000,8000,8888,10000,5601,9200,1337,7001,7000,9000 \
-title -td -tech-detect -web-server -ip -status-code -method \
-probe -follow-redirects -random-agent -fr \
-rate-limit 500 -timeout 10 -retries 3 -location \
| tee results/${TARGET}-live-full.txt | awk '{print $1}' > results/${TARGET}-live.txt
echo "[*] Resolving DNS..."
cat results/${TARGET}-live.txt | dnsx -silent -nc -a -cname -resp > results/${TARGET}-resolved.txt
echo "[*] Running nuclei scan..."
cat results/${TARGET}-resolved.txt | sort -u | nuclei -as \
-H "User-Agent: Mozilla/5.0 (X11; Linux x86_64)" \
-rl 300 -c 100 -retries 3 -timeout 15 \
-stats -si 10 -sresp \
-t dns/ -t cves/ -t misconfiguration/ -t exposures/ \
-o results/nuclei-${TARGET}-${TODAY}.txt
echo "[*] Preparing input for subjack..."
grep -E "^[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" results/${TARGET}-resolved.txt | sort -u > tmp-subjack-input.txt
echo "[*] Running subjack..."
./subjack -w tmp-subjack-input.txt \
-t 50 -timeout 10 -ssl \
-c subjack-data/fingerprints.json \
-v -o results/subjack-${TARGET}.txt
- name: Set Git Identity
run: |
git config --global user.email "${{ secrets.EMAIL_ADDRESS }}"
git config --global user.name "${{ secrets.USER_NAME }}"
- name: Commit & Push
run: |
git add results/
git commit -m "🔎 Recon Update $(date -u)" --no-verify || echo "No changes"
git push origin master || true
Last active
August 6, 2025 07:33
-
-
Save z0rs/c33dcc52e247835ee1c31a4bc465b3a4 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment