Add files via upload

This commit is contained in:
barni 2026-04-12 23:58:37 +01:00 committed by GitHub
parent 7ce118086c
commit b9a07d29fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 422 additions and 0 deletions

422
install_osint_arsenal.sh Normal file
View File

@ -0,0 +1,422 @@
#!/bin/bash
# ============================================================
# AWESOME OSINT ARSENAL - Kali Linux Full Installer
# Source: github.com/rawfilejson/awesome-osint-arsenal
# For authorized security research & OSINT only
# ============================================================
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'
CYAN='\033[0;36m'; NC='\033[0m'; BOLD='\033[1m'
ok() { echo -e "${GREEN}[✔]${NC} $1"; }
warn() { echo -e "${YELLOW}[!]${NC} $1"; }
info() { echo -e "${CYAN}[*]${NC} $1"; }
fail() { echo -e "${RED}[✘]${NC} $1"; }
TOOLS_DIR="/opt/osint-arsenal"
ERRORS=()
LOG_FILE="/var/log/osint-arsenal-install.log"
START_TIME=$(date +%s)
banner() {
cat << 'EOF'
___ ____ ___ _ _ _____ _ ____ ____ _____
/ _ \/ ___|_ _| \ | |_ _| / \ | _ \/ ___|| ____|
| | | \___ \| || \| | | | / _ \ | |_) \___ \| _|
| |_| |___) | || |\ | | | / ___ \| _ < ___) | |___
\___/|____/___|_| \_| |_| /_/ \_\_| \_\____/|_____|
Awesome OSINT Arsenal - Kali Linux Installer
For authorized security research only.
EOF
}
check_root() {
if [[ $EUID -ne 0 ]]; then
warn "Not running as root. Some installs may fail. Re-run with: sudo bash $0"
fi
}
run() {
# run "description" command...
local desc="$1"; shift
if "$@" &>/dev/null; then
ok "$desc"
else
fail "$desc"
ERRORS+=("$desc")
fi
}
# ── 1. SYSTEM UPDATE ──────────────────────────────────────
step_apt() {
info "── STEP 1: System update & apt packages ──"
apt-get update -y &>/dev/null && apt-get upgrade -y &>/dev/null
ok "System updated"
APT_TOOLS=(
# Core utilities
git curl wget python3 python3-pip golang-go ruby-full build-essential
# Network / scanning
nmap masscan wireshark tcpdump netcat-openbsd
# Web recon
nikto dirb gobuster whatweb wfuzz feroxbuster
# Password & brute force
hydra john hashcat medusa cewl crunch
# Wireless
aircrack-ng kismet wifite reaver hcxtools fern-wifi-cracker
bettercap ettercap-common
# OSINT pre-installed
theharvester recon-ng maltego spiderfoot set
# Web app
sqlmap burpsuite
# Vuln scanners
openvas
# Forensics
binwalk foremost bulk-extractor scalpel
# Misc
macchanger libimage-exiftool-perl apktool jadx
dnsrecon
)
for pkg in "${APT_TOOLS[@]}"; do
if apt-get install -y "$pkg" &>/dev/null; then
ok "apt: $pkg"
else
warn "apt: $pkg (skipped/unavailable)"
fi
done
}
# ── 2. PYTHON (pip) TOOLS ─────────────────────────────────
step_pip() {
info "── STEP 2: Python pip tools ──"
pip3 install --upgrade --break-system-packages pip &>/dev/null
PIP_TOOLS=(
# Username / social OSINT
sherlock-project maigret blackbird-osint nexfil
social-analyzer socid-extractor osrframework
socialscan holehe gitrecon
# Email OSINT
h8mail theHarvester mailto-analyzer
# Phone OSINT
phoneinfoga ignorant
# DNS / domain
dnsrecon sublist3r
# Social media scrapers
instaloader snscrape twayback toutatis
telepathy telethon
# Forensics / metadata
volatility3 metagoofil
# AI / face
deepface face_recognition opencv-python
# Web / fuzzing
wfuzz paramspider
# Misc
spiderfoot recon-ng
# Mobile
frida-tools objection
)
for pkg in "${PIP_TOOLS[@]}"; do
if pip3 install --break-system-packages "$pkg" &>/dev/null; then
ok "pip: $pkg"
else
warn "pip: $pkg (skipped/failed)"
fi
done
}
# ── 3. GO TOOLS ───────────────────────────────────────────
step_go() {
info "── STEP 3: Go-based tools ──"
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin:/root/go/bin
export GOPATH=$HOME/go
GO_TOOLS=(
"github.com/owasp-amass/amass/v4/...@master"
"github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest"
"github.com/projectdiscovery/httpx/cmd/httpx@latest"
"github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest"
"github.com/projectdiscovery/katana/cmd/katana@latest"
"github.com/OJ/gobuster/v3@latest"
"github.com/s-rah/onionscan@latest"
"github.com/kgretzky/evilginx2@latest"
"github.com/drk1wi/Modlishka@latest"
)
for pkg in "${GO_TOOLS[@]}"; do
name=$(basename "${pkg%%@*}")
if go install "$pkg" &>/dev/null; then
ok "go: $name"
else
warn "go: $name (failed)"
fi
done
}
# ── 4. RUBY GEMS ──────────────────────────────────────────
step_gems() {
info "── STEP 4: Ruby gems ──"
run "gem: wpscan" gem install wpscan
}
# ── 5. GIT CLONE TOOLS ────────────────────────────────────
step_git() {
info "── STEP 5: Git clone tools → $TOOLS_DIR ──"
mkdir -p "$TOOLS_DIR"
cd "$TOOLS_DIR" || exit 1
declare -A REPOS=(
# Username / social
["userrecon"]="https://github.com/wishihab/userrecon.git"
# Email
["EmailAnalyzer"]="https://github.com/keraattin/EmailAnalyzer.git"
["MailHeaderDetective"]="https://github.com/akajhon/MailHeaderDetective.git"
["WhatMail"]="https://github.com/z0m31en7/WhatMail.git"
["Infoga"]="https://github.com/m4ll0k/Infoga.git"
# Domain / IP
["IPGeoLocation"]="https://github.com/maldevel/IPGeoLocation.git"
# Image / forensics
["Depix"]="https://github.com/beurtschipper/Depix.git"
# Social media
["Osintgram"]="https://github.com/Datalux/Osintgram.git"
["TeleGram-OSINTer"]="https://github.com/Alb-310/TeleGram-OSINTer.git"
# Credential / password
["LaZagne"]="https://github.com/AlessandroZ/LaZagne.git"
["Responder"]="https://github.com/lgandx/Responder.git"
# Dark web
["OSINT-SPY"]="https://github.com/SharadKumar97/OSINT-SPY.git"
["pwndb"]="https://github.com/coj337/pwndb.git"
# Privacy / anon
["kali-anonsurf"]="https://github.com/Und3rf10w/kali-anonsurf.git"
["Anon-SMS"]="https://github.com/HACK3RY2J/Anon-SMS.git"
# Web app scanning
["LinkFinder"]="https://github.com/GerbenJavado/LinkFinder.git"
["Photon"]="https://github.com/s0md3v/Photon.git"
["URLCADIZ"]="https://github.com/PerezMascato/URLCADIZ.git"
["webhack"]="https://github.com/yan4ikyt/webhack.git"
# Phishing / social engineering
["zphisher"]="https://github.com/htr-tech/zphisher.git"
["nexphisher"]="https://github.com/htr-tech/nexphisher.git"
["Storm-Breaker"]="https://github.com/ultrasecurity/Storm-Breaker.git"
["shorturl"]="https://github.com/htr-tech/shorturl.git"
["SocialFish"]="https://github.com/UndeadSec/SocialFish.git"
["AdvPhishing"]="https://github.com/Ignitetch/AdvPhishing.git"
# Vuln / exploitation
["commix"]="https://github.com/commixproject/commix.git"
# Wireless
["fluxion"]="https://github.com/FluxionNetwork/fluxion.git"
["bluemaho"]="https://github.com/pysec/bluemaho.git"
# Mobile
["PhoneSploit"]="https://github.com/aerosol-can/PhoneSploit.git"
["AhMyth-Android-RAT"]="https://github.com/AhMyth/AhMyth-Android-RAT.git"
["msfpc"]="https://github.com/g0tmi1k/msfpc.git"
# Financial OSINT
["Orbit"]="https://github.com/s0md3v/Orbit.git"
# All-in-one frameworks
["fsociety"]="https://github.com/Manisso/fsociety.git"
["hackingtool"]="https://github.com/Z4nzu/hackingtool.git"
["lscript"]="https://github.com/arismelachroinos/lscript.git"
# Wordlists
["SecLists"]="https://github.com/danielmiessler/SecLists.git"
["cupp"]="https://github.com/Mebus/cupp.git"
# Google dorking
["pagodo"]="https://github.com/opsdisk/pagodo.git"
["GooFuzz"]="https://github.com/m3n0sd0n4ld/GooFuzz.git"
["dorkScanner"]="https://github.com/madhavmehndiratta/dorkScanner.git"
# ReconAIzer (Burp extension)
["ReconAIzer"]="https://github.com/hisxo/ReconAIzer.git"
)
for name in "${!REPOS[@]}"; do
url="${REPOS[$name]}"
if [[ -d "$name" ]]; then
warn "git: $name already exists, pulling latest"
git -C "$name" pull &>/dev/null && ok "git: $name (updated)" || warn "git: $name (pull failed)"
else
if git clone --depth=1 "$url" "$name" &>/dev/null; then
ok "git: $name"
else
fail "git: $name"
ERRORS+=("git clone $name")
fi
fi
done
# Install pip requirements where available
info "Installing per-repo pip requirements..."
for dir in IPGeoLocation Photon LinkFinder Osintgram OSINT-SPY webhack commix; do
if [[ -f "$TOOLS_DIR/$dir/requirements.txt" ]]; then
pip3 install --break-system-packages -r "$TOOLS_DIR/$dir/requirements.txt" &>/dev/null \
&& ok "requirements: $dir" || warn "requirements: $dir (partial)"
fi
done
}
# ── 6. SPECIAL INSTALLS ───────────────────────────────────
step_special() {
info "── STEP 6: Special installs ──"
# Metasploit (if not present)
if ! command -v msfconsole &>/dev/null; then
info "Installing Metasploit Framework..."
curl -s https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb \
| sed 's/apt-get/apt-get -y/g' | bash &>/dev/null \
&& ok "Metasploit installed" || warn "Metasploit (failed - install manually)"
else
ok "Metasploit already installed"
fi
# PhoneInfoga binary
if ! command -v phoneinfoga &>/dev/null; then
info "Installing PhoneInfoga binary..."
curl -sSL https://raw.githubusercontent.com/sundowndev/phoneinfoga/master/support/scripts/install \
| bash &>/dev/null && ok "phoneinfoga binary" || warn "phoneinfoga binary (failed)"
else
ok "phoneinfoga already installed"
fi
# AnonSurf
if [[ -d "$TOOLS_DIR/kali-anonsurf" ]]; then
cd "$TOOLS_DIR/kali-anonsurf" && bash installer.sh &>/dev/null \
&& ok "anonsurf installed" || warn "anonsurf (manual install needed)"
fi
# Nuclei templates
if command -v nuclei &>/dev/null; then
nuclei -update-templates &>/dev/null && ok "nuclei templates updated"
fi
}
# ── 7. ADDITIONAL TOOLS (suggested extras) ────────────────
step_extras() {
info "── STEP 7: Extra tools not in original list ──"
# These complement the OSINT arsenal nicely
EXTRA_PIP=(
trufflehog # Git secret scanning
git-dumper # Dump exposed .git repos
waybackpy # Wayback Machine API client
dnstwist # Domain phishing detection
shodan # Shodan CLI
censys # Censys CLI
xeuledoc # Google Docs OSINT
redditsfinder # Find Reddit accounts by email
linkedin2username # Generate username lists from LinkedIn
)
EXTRA_APT=(
tor # Tor daemon (for dark web tools)
proxychains4 # Route traffic through proxies/tor
steghide # Steganography analysis
stegseek # Fast steghide cracker
exiv2 # Alternative metadata tool
jq # JSON parsing (useful for API tools)
whois # WHOIS lookups
dnsutils # dig, nslookup
traceroute # Network path tracing
beef-xss # Browser Exploitation Framework
)
EXTRA_GIT=(
"EyeWitness|https://github.com/RedSiege/EyeWitness.git" # Web screenshots
"gitrob|https://github.com/michenriksen/gitrob.git" # GitHub secret scanner
"GitLeaks|https://github.com/gitleaks/gitleaks.git" # Git secret leaks
"theHarvester|https://github.com/laramies/theHarvester.git" # Email/domain (latest)
"crosslinked|https://github.com/m8sec/CrossLinked.git" # LinkedIn name scraper
"recon-ng|https://github.com/lanmaster53/recon-ng.git" # Latest recon-ng
"spiderfoot|https://github.com/smicallef/spiderfoot.git" # Latest SpiderFoot
"osmedeus|https://github.com/j3ssie/osmedeus.git" # Full recon workflow
"finalrecon|https://github.com/thewhiteh4t/FinalRecon.git" # All-in-one web recon
"URLextractor|https://github.com/eschultze/URLextractor.git" # URL extraction
"phoneinfoga-web|https://github.com/sundowndev/phoneinfoga.git" # PhoneInfoga web UI
)
for pkg in "${EXTRA_APT[@]%%#*}"; do
pkg=$(echo "$pkg" | xargs)
apt-get install -y "$pkg" &>/dev/null && ok "extra apt: $pkg" || warn "extra apt: $pkg"
done
for pkg in "${EXTRA_PIP[@]%%#*}"; do
pkg=$(echo "$pkg" | xargs)
pip3 install --break-system-packages "$pkg" &>/dev/null && ok "extra pip: $pkg" || warn "extra pip: $pkg"
done
cd "$TOOLS_DIR" || exit 1
for entry in "${EXTRA_GIT[@]}"; do
name="${entry%%|*}"
url="${entry##*|}"
if [[ ! -d "$name" ]]; then
git clone --depth=1 "$url" "$name" &>/dev/null && ok "extra git: $name" || warn "extra git: $name"
else
ok "extra git: $name (already exists)"
fi
done
# Shodan CLI setup hint
if command -v shodan &>/dev/null; then
warn "Remember to init Shodan: shodan init YOUR_API_KEY"
fi
# Tor config for dark web tools
if command -v tor &>/dev/null; then
systemctl enable tor &>/dev/null
systemctl start tor &>/dev/null
ok "Tor service enabled (SOCKS proxy on 127.0.0.1:9050)"
fi
}
# ── SUMMARY ───────────────────────────────────────────────
summary() {
local END_TIME=$(date +%s)
local DURATION=$(( END_TIME - START_TIME ))
local MINS=$(( DURATION / 60 ))
local SECS=$(( DURATION % 60 ))
echo ""
echo -e "${BOLD}════════════════════════════════════════${NC}"
echo -e "${GREEN} Install complete!${NC}"
echo -e " Duration: ${CYAN}${MINS}m ${SECS}s${NC}"
echo -e " Log file: ${CYAN}$LOG_FILE${NC}"
echo -e " Tools directory: ${CYAN}$TOOLS_DIR${NC}"
echo ""
if [[ ${#ERRORS[@]} -gt 0 ]]; then
echo -e "${YELLOW} Failed installs (${#ERRORS[@]}):${NC}"
for e in "${ERRORS[@]}"; do echo " - $e"; done
else
echo -e "${GREEN} No errors!${NC}"
fi
echo ""
echo -e "${YELLOW} Quick-start commands:${NC}"
echo " sherlock USERNAME"
echo " maigret USERNAME"
echo " theHarvester -d domain.com -b all"
echo " recon-ng"
echo " spiderfoot -l 127.0.0.1:5001"
echo " nuclei -u https://target.com"
echo " subfinder -d domain.com"
echo " amass enum -d domain.com"
echo -e "${BOLD}════════════════════════════════════════${NC}"
}
# ── MAIN ──────────────────────────────────────────────────
banner
exec > >(tee -a "$LOG_FILE") 2>&1
check_root
echo ""
echo -e "${BOLD}This will install 100+ OSINT & security tools.${NC}"
echo -e "${YELLOW}Use only on systems you own or have authorization to test.${NC}"
echo ""
read -rp "Continue? [y/N]: " confirm
[[ "$confirm" =~ ^[Yy]$ ]] || { echo "Aborted."; exit 0; }
step_apt
step_pip
step_go
step_gems
step_git
step_special
step_extras
summary