Version 2.1

This commit is contained in:
rawfilejson 2026-05-10 02:23:05 +01:00
parent 91048feb22
commit 63abebdc14
13 changed files with 20977 additions and 489 deletions

21
LICENSE
View File

@ -1,21 +0,0 @@
MIT License
Copyright (c) 2026 barni
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

2067
README.md

File diff suppressed because it is too large Load Diff

149
blueteam.sh Normal file
View File

@ -0,0 +1,149 @@
#!/usr/bin/env bash
# ===================================================================
# 🛡️ Blue team / defensive + threat intel
# Part of awesome-osint-arsenal v3.4
# Auto-detects: Kali / Debian / Ubuntu / Parrot / Mint / Pop!_OS /
# Arch / Manjaro / EndeavourOS /
# Fedora / RHEL / CentOS / Rocky / Alma
# Best support: Kali / Debian / Ubuntu (apt-based)
# ===================================================================
set -uo pipefail
RED="\033[0;31m"; GRN="\033[0;32m"; YLW="\033[1;33m"; BLU="\033[0;34m"; CYN="\033[0;36m"; NC="\033[0m"
LOGFILE="${LOGFILE:-$HOME/osint-install-errors.log}"
INSTALLED=${INSTALLED:-0}; SKIPPED=${SKIPPED:-0}; FAILED=${FAILED:-0}
declare -ga FAILED_TOOLS=()
say() { echo -e "${BLU}[*]${NC} $*"; }
ok() { echo -e "${GRN}[✓]${NC} $*"; INSTALLED=$((INSTALLED+1)); }
skip() { echo -e "${YLW}[~]${NC} $*"; SKIPPED=$((SKIPPED+1)); }
fail() { echo -e "${RED}[✗]${NC} $*"; FAILED=$((FAILED+1)); FAILED_TOOLS+=("$1"); echo "FAIL: $*" >> "$LOGFILE"; }
require_root() {
if [ "$EUID" -ne 0 ]; then echo "Please run as root: sudo bash $0"; exit 1; fi
}
detect_distro() {
if [ -f /etc/os-release ]; then
. /etc/os-release
case "${ID,,}" in
kali|debian|ubuntu|parrot|raspbian|linuxmint|pop|elementary) PKG="apt" ;;
arch|manjaro|endeavouros|garuda|artix) PKG="pacman" ;;
fedora|rhel|centos|rocky|almalinux|ol) PKG="dnf" ;;
*) PKG="unknown" ;;
esac
else
PKG="unknown"
fi
export PKG
echo -e "${CYN}[i]${NC} Detected package manager: $PKG"
if [ "$PKG" = "unknown" ]; then
echo -e "${YLW}[!]${NC} Unknown distro — git/pip/go installs will work, system-package installs will be skipped."
fi
}
pkg_install() {
local pkg="$1"
case "$PKG" in
apt)
if dpkg -s "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if apt install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (apt)"; else fail "$pkg (apt)"; fi
;;
pacman)
if pacman -Qi "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if pacman -S --noconfirm --needed "$pkg" >/dev/null 2>&1; then ok "$pkg (pacman)"; else fail "$pkg (pacman — may not be in repo, try AUR)"; fi
;;
dnf)
if rpm -q "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if dnf install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (dnf)"; else fail "$pkg (dnf — may not be in repo)"; fi
;;
*)
fail "$pkg — unknown package manager, install manually"
;;
esac
}
install_pip() {
local pkg="$1"
if pip3 show "$pkg" >/dev/null 2>&1; then skip "$pkg (pip) already installed"; return; fi
if pip3 install --break-system-packages "$pkg" >/dev/null 2>&1; then ok "$pkg (pip)"; else fail "$pkg (pip)"; fi
}
install_go() {
local mod="$1" name="$2"
if ! command -v go >/dev/null 2>&1; then fail "$name — go not installed"; return; fi
if command -v "$name" >/dev/null 2>&1; then skip "$name already installed"; return; fi
if go install "$mod" >/dev/null 2>&1; then ok "$name (go)"; else fail "$name (go)"; fi
}
install_git() {
local repo="$1" dst="$2"
mkdir -p /opt/osint-arsenal
if [ -d "/opt/osint-arsenal/$dst" ]; then skip "$dst already cloned"; return; fi
if git clone --depth=1 "$repo" "/opt/osint-arsenal/$dst" >/dev/null 2>&1; then ok "$dst (git)"; else fail "$dst (git)"; fi
}
install_docker() {
local image="$1" name="$2"
if ! command -v docker >/dev/null 2>&1; then fail "$name — docker not installed"; return; fi
if docker image inspect "$image" >/dev/null 2>&1; then skip "$name (docker) already pulled"; return; fi
if docker pull "$image" >/dev/null 2>&1; then ok "$name (docker)"; else fail "$name (docker)"; fi
}
bootstrap_basics() {
case "$PKG" in
apt)
apt update -y >/dev/null 2>&1 || true
apt install -y python3 python3-pip git curl wget golang-go >/dev/null 2>&1 || true
;;
pacman)
pacman -Sy --noconfirm >/dev/null 2>&1 || true
pacman -S --noconfirm --needed python python-pip git curl wget go >/dev/null 2>&1 || true
;;
dnf)
dnf install -y python3 python3-pip git curl wget golang >/dev/null 2>&1 || true
;;
esac
}
print_summary() {
echo
echo "============================================="
echo -e " Installed: ${GRN}$INSTALLED${NC}"
echo -e " Skipped: ${YLW}$SKIPPED${NC}"
echo -e " Failed: ${RED}$FAILED${NC}"
echo "============================================="
if (( FAILED > 0 )); then
echo -e "${RED}Failed tools:${NC} ${FAILED_TOOLS[@]:-}"
echo "See $LOGFILE for details."
fi
}
require_root
detect_distro
bootstrap_basics
echo; say "Installing: 🛰️ Threat Intel Platforms (2 tools)"
install_docker opencti/platform OpenCTI # OpenCTI
install_git https://github.com/yeti-platform/yeti.git yeti # Yeti
echo; say "Installing: 🛡️ Blue Team & Defensive Security (20 tools)"
install_git https://github.com/redcanaryco/atomic-red-team.git atomic-red-team # Atomic Red Team
install_git https://github.com/WithSecureLabs/chainsaw.git chainsaw # Chainsaw
install_docker thehiveproject/cortex:latest 'Cortex (TheHive)' # Cortex (TheHive)
install_docker docker.elastic.co/elasticsearch/elasticsearch:latest 'Elastic Stack (ELK)' # Elastic Stack (ELK)
install_git https://github.com/falcosecurity/falco.git falco # Falco
install_docker graylog/graylog:latest Graylog # Graylog
install_git https://github.com/Yamato-Security/hayabusa.git hayabusa # Hayabusa
install_git https://github.com/Neo23x0/Loki.git Loki # Loki
install_git https://github.com/mitre/caldera.git caldera # MITRE CALDERA
pkg_install osquery # osquery
install_git https://github.com/activecm/rita.git rita # RITA
install_git https://github.com/SigmaHQ/sigma.git sigma # Sigma
install_pip sigma-cli # sigma-cli
pkg_install snort # Snort
pkg_install suricata # Suricata
install_docker strangebee/thehive:latest TheHive # TheHive
install_git https://github.com/aquasecurity/tracee.git tracee # Tracee
install_git https://github.com/Velocidex/velociraptor.git velociraptor # Velociraptor
install_git https://github.com/wazuh/wazuh.git wazuh # Wazuh
pkg_install zeek # Zeek (Bro)
print_summary

132
extras.sh Normal file
View File

@ -0,0 +1,132 @@
#!/usr/bin/env bash
# ===================================================================
# 🔧 Misc / catch-all
# Part of awesome-osint-arsenal v3.4
# Auto-detects: Kali / Debian / Ubuntu / Parrot / Mint / Pop!_OS /
# Arch / Manjaro / EndeavourOS /
# Fedora / RHEL / CentOS / Rocky / Alma
# Best support: Kali / Debian / Ubuntu (apt-based)
# ===================================================================
set -uo pipefail
RED="\033[0;31m"; GRN="\033[0;32m"; YLW="\033[1;33m"; BLU="\033[0;34m"; CYN="\033[0;36m"; NC="\033[0m"
LOGFILE="${LOGFILE:-$HOME/osint-install-errors.log}"
INSTALLED=${INSTALLED:-0}; SKIPPED=${SKIPPED:-0}; FAILED=${FAILED:-0}
declare -ga FAILED_TOOLS=()
say() { echo -e "${BLU}[*]${NC} $*"; }
ok() { echo -e "${GRN}[✓]${NC} $*"; INSTALLED=$((INSTALLED+1)); }
skip() { echo -e "${YLW}[~]${NC} $*"; SKIPPED=$((SKIPPED+1)); }
fail() { echo -e "${RED}[✗]${NC} $*"; FAILED=$((FAILED+1)); FAILED_TOOLS+=("$1"); echo "FAIL: $*" >> "$LOGFILE"; }
require_root() {
if [ "$EUID" -ne 0 ]; then echo "Please run as root: sudo bash $0"; exit 1; fi
}
detect_distro() {
if [ -f /etc/os-release ]; then
. /etc/os-release
case "${ID,,}" in
kali|debian|ubuntu|parrot|raspbian|linuxmint|pop|elementary) PKG="apt" ;;
arch|manjaro|endeavouros|garuda|artix) PKG="pacman" ;;
fedora|rhel|centos|rocky|almalinux|ol) PKG="dnf" ;;
*) PKG="unknown" ;;
esac
else
PKG="unknown"
fi
export PKG
echo -e "${CYN}[i]${NC} Detected package manager: $PKG"
if [ "$PKG" = "unknown" ]; then
echo -e "${YLW}[!]${NC} Unknown distro — git/pip/go installs will work, system-package installs will be skipped."
fi
}
pkg_install() {
local pkg="$1"
case "$PKG" in
apt)
if dpkg -s "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if apt install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (apt)"; else fail "$pkg (apt)"; fi
;;
pacman)
if pacman -Qi "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if pacman -S --noconfirm --needed "$pkg" >/dev/null 2>&1; then ok "$pkg (pacman)"; else fail "$pkg (pacman — may not be in repo, try AUR)"; fi
;;
dnf)
if rpm -q "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if dnf install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (dnf)"; else fail "$pkg (dnf — may not be in repo)"; fi
;;
*)
fail "$pkg — unknown package manager, install manually"
;;
esac
}
install_pip() {
local pkg="$1"
if pip3 show "$pkg" >/dev/null 2>&1; then skip "$pkg (pip) already installed"; return; fi
if pip3 install --break-system-packages "$pkg" >/dev/null 2>&1; then ok "$pkg (pip)"; else fail "$pkg (pip)"; fi
}
install_go() {
local mod="$1" name="$2"
if ! command -v go >/dev/null 2>&1; then fail "$name — go not installed"; return; fi
if command -v "$name" >/dev/null 2>&1; then skip "$name already installed"; return; fi
if go install "$mod" >/dev/null 2>&1; then ok "$name (go)"; else fail "$name (go)"; fi
}
install_git() {
local repo="$1" dst="$2"
mkdir -p /opt/osint-arsenal
if [ -d "/opt/osint-arsenal/$dst" ]; then skip "$dst already cloned"; return; fi
if git clone --depth=1 "$repo" "/opt/osint-arsenal/$dst" >/dev/null 2>&1; then ok "$dst (git)"; else fail "$dst (git)"; fi
}
install_docker() {
local image="$1" name="$2"
if ! command -v docker >/dev/null 2>&1; then fail "$name — docker not installed"; return; fi
if docker image inspect "$image" >/dev/null 2>&1; then skip "$name (docker) already pulled"; return; fi
if docker pull "$image" >/dev/null 2>&1; then ok "$name (docker)"; else fail "$name (docker)"; fi
}
bootstrap_basics() {
case "$PKG" in
apt)
apt update -y >/dev/null 2>&1 || true
apt install -y python3 python3-pip git curl wget golang-go >/dev/null 2>&1 || true
;;
pacman)
pacman -Sy --noconfirm >/dev/null 2>&1 || true
pacman -S --noconfirm --needed python python-pip git curl wget go >/dev/null 2>&1 || true
;;
dnf)
dnf install -y python3 python3-pip git curl wget golang >/dev/null 2>&1 || true
;;
esac
}
print_summary() {
echo
echo "============================================="
echo -e " Installed: ${GRN}$INSTALLED${NC}"
echo -e " Skipped: ${YLW}$SKIPPED${NC}"
echo -e " Failed: ${RED}$FAILED${NC}"
echo "============================================="
if (( FAILED > 0 )); then
echo -e "${RED}Failed tools:${NC} ${FAILED_TOOLS[@]:-}"
echo "See $LOGFILE for details."
fi
}
require_root
detect_distro
bootstrap_basics
echo; say "Installing: 📚 Learning Resources (2 tools)"
install_git https://github.com/cipher387/linux-for-OSINT-21-days.git linux-for-OSINT-21-days # Linux for OSINT (cipher387)
install_git https://github.com/cipher387/python-for-OSINT-21-days.git python-for-OSINT-21-days # Python for OSINT (cipher387)
echo; say "Installing: 🔧 Miscellaneous / Niche Tools (3 tools)"
install_git https://github.com/RedSiege/EyeWitness.git EyeWitness # EyeWitness
install_pip opencv-python # OpenCV
install_pip trufflehog # trufflehog
print_summary

136
forensics.sh Normal file
View File

@ -0,0 +1,136 @@
#!/usr/bin/env bash
# ===================================================================
# 🔬 Digital forensics & RE
# Part of awesome-osint-arsenal v3.4
# Auto-detects: Kali / Debian / Ubuntu / Parrot / Mint / Pop!_OS /
# Arch / Manjaro / EndeavourOS /
# Fedora / RHEL / CentOS / Rocky / Alma
# Best support: Kali / Debian / Ubuntu (apt-based)
# ===================================================================
set -uo pipefail
RED="\033[0;31m"; GRN="\033[0;32m"; YLW="\033[1;33m"; BLU="\033[0;34m"; CYN="\033[0;36m"; NC="\033[0m"
LOGFILE="${LOGFILE:-$HOME/osint-install-errors.log}"
INSTALLED=${INSTALLED:-0}; SKIPPED=${SKIPPED:-0}; FAILED=${FAILED:-0}
declare -ga FAILED_TOOLS=()
say() { echo -e "${BLU}[*]${NC} $*"; }
ok() { echo -e "${GRN}[✓]${NC} $*"; INSTALLED=$((INSTALLED+1)); }
skip() { echo -e "${YLW}[~]${NC} $*"; SKIPPED=$((SKIPPED+1)); }
fail() { echo -e "${RED}[✗]${NC} $*"; FAILED=$((FAILED+1)); FAILED_TOOLS+=("$1"); echo "FAIL: $*" >> "$LOGFILE"; }
require_root() {
if [ "$EUID" -ne 0 ]; then echo "Please run as root: sudo bash $0"; exit 1; fi
}
detect_distro() {
if [ -f /etc/os-release ]; then
. /etc/os-release
case "${ID,,}" in
kali|debian|ubuntu|parrot|raspbian|linuxmint|pop|elementary) PKG="apt" ;;
arch|manjaro|endeavouros|garuda|artix) PKG="pacman" ;;
fedora|rhel|centos|rocky|almalinux|ol) PKG="dnf" ;;
*) PKG="unknown" ;;
esac
else
PKG="unknown"
fi
export PKG
echo -e "${CYN}[i]${NC} Detected package manager: $PKG"
if [ "$PKG" = "unknown" ]; then
echo -e "${YLW}[!]${NC} Unknown distro — git/pip/go installs will work, system-package installs will be skipped."
fi
}
pkg_install() {
local pkg="$1"
case "$PKG" in
apt)
if dpkg -s "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if apt install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (apt)"; else fail "$pkg (apt)"; fi
;;
pacman)
if pacman -Qi "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if pacman -S --noconfirm --needed "$pkg" >/dev/null 2>&1; then ok "$pkg (pacman)"; else fail "$pkg (pacman — may not be in repo, try AUR)"; fi
;;
dnf)
if rpm -q "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if dnf install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (dnf)"; else fail "$pkg (dnf — may not be in repo)"; fi
;;
*)
fail "$pkg — unknown package manager, install manually"
;;
esac
}
install_pip() {
local pkg="$1"
if pip3 show "$pkg" >/dev/null 2>&1; then skip "$pkg (pip) already installed"; return; fi
if pip3 install --break-system-packages "$pkg" >/dev/null 2>&1; then ok "$pkg (pip)"; else fail "$pkg (pip)"; fi
}
install_go() {
local mod="$1" name="$2"
if ! command -v go >/dev/null 2>&1; then fail "$name — go not installed"; return; fi
if command -v "$name" >/dev/null 2>&1; then skip "$name already installed"; return; fi
if go install "$mod" >/dev/null 2>&1; then ok "$name (go)"; else fail "$name (go)"; fi
}
install_git() {
local repo="$1" dst="$2"
mkdir -p /opt/osint-arsenal
if [ -d "/opt/osint-arsenal/$dst" ]; then skip "$dst already cloned"; return; fi
if git clone --depth=1 "$repo" "/opt/osint-arsenal/$dst" >/dev/null 2>&1; then ok "$dst (git)"; else fail "$dst (git)"; fi
}
install_docker() {
local image="$1" name="$2"
if ! command -v docker >/dev/null 2>&1; then fail "$name — docker not installed"; return; fi
if docker image inspect "$image" >/dev/null 2>&1; then skip "$name (docker) already pulled"; return; fi
if docker pull "$image" >/dev/null 2>&1; then ok "$name (docker)"; else fail "$name (docker)"; fi
}
bootstrap_basics() {
case "$PKG" in
apt)
apt update -y >/dev/null 2>&1 || true
apt install -y python3 python3-pip git curl wget golang-go >/dev/null 2>&1 || true
;;
pacman)
pacman -Sy --noconfirm >/dev/null 2>&1 || true
pacman -S --noconfirm --needed python python-pip git curl wget go >/dev/null 2>&1 || true
;;
dnf)
dnf install -y python3 python3-pip git curl wget golang >/dev/null 2>&1 || true
;;
esac
}
print_summary() {
echo
echo "============================================="
echo -e " Installed: ${GRN}$INSTALLED${NC}"
echo -e " Skipped: ${YLW}$SKIPPED${NC}"
echo -e " Failed: ${RED}$FAILED${NC}"
echo "============================================="
if (( FAILED > 0 )); then
echo -e "${RED}Failed tools:${NC} ${FAILED_TOOLS[@]:-}"
echo "See $LOGFILE for details."
fi
}
require_root
detect_distro
bootstrap_basics
echo; say "Installing: 🔬 Digital Forensics & Reverse Engineering (11 tools)"
install_git https://github.com/rizinorg/cutter.git cutter # Cutter
install_pip dissect # Dissect
install_git https://github.com/NationalSecurityAgency/ghidra.git ghidra # Ghidra
pkg_install testdisk # PhotoRec
install_pip plaso # Plaso (log2timeline)
pkg_install radare2 # radare2
install_git https://github.com/keydet89/RegRipper3.0.git RegRipper3.0 # RegRipper
install_pip rekall # Rekall
install_git https://github.com/rizinorg/rizin.git rizin # rizin
pkg_install sleuthkit # The Sleuth Kit
install_pip volatility3 # Volatility 3
print_summary

135
hardware.sh Normal file
View File

@ -0,0 +1,135 @@
#!/usr/bin/env bash
# ===================================================================
# 🔌 Hardware hacking & SDR
# Part of awesome-osint-arsenal v3.4
# Auto-detects: Kali / Debian / Ubuntu / Parrot / Mint / Pop!_OS /
# Arch / Manjaro / EndeavourOS /
# Fedora / RHEL / CentOS / Rocky / Alma
# Best support: Kali / Debian / Ubuntu (apt-based)
# ===================================================================
set -uo pipefail
RED="\033[0;31m"; GRN="\033[0;32m"; YLW="\033[1;33m"; BLU="\033[0;34m"; CYN="\033[0;36m"; NC="\033[0m"
LOGFILE="${LOGFILE:-$HOME/osint-install-errors.log}"
INSTALLED=${INSTALLED:-0}; SKIPPED=${SKIPPED:-0}; FAILED=${FAILED:-0}
declare -ga FAILED_TOOLS=()
say() { echo -e "${BLU}[*]${NC} $*"; }
ok() { echo -e "${GRN}[✓]${NC} $*"; INSTALLED=$((INSTALLED+1)); }
skip() { echo -e "${YLW}[~]${NC} $*"; SKIPPED=$((SKIPPED+1)); }
fail() { echo -e "${RED}[✗]${NC} $*"; FAILED=$((FAILED+1)); FAILED_TOOLS+=("$1"); echo "FAIL: $*" >> "$LOGFILE"; }
require_root() {
if [ "$EUID" -ne 0 ]; then echo "Please run as root: sudo bash $0"; exit 1; fi
}
detect_distro() {
if [ -f /etc/os-release ]; then
. /etc/os-release
case "${ID,,}" in
kali|debian|ubuntu|parrot|raspbian|linuxmint|pop|elementary) PKG="apt" ;;
arch|manjaro|endeavouros|garuda|artix) PKG="pacman" ;;
fedora|rhel|centos|rocky|almalinux|ol) PKG="dnf" ;;
*) PKG="unknown" ;;
esac
else
PKG="unknown"
fi
export PKG
echo -e "${CYN}[i]${NC} Detected package manager: $PKG"
if [ "$PKG" = "unknown" ]; then
echo -e "${YLW}[!]${NC} Unknown distro — git/pip/go installs will work, system-package installs will be skipped."
fi
}
pkg_install() {
local pkg="$1"
case "$PKG" in
apt)
if dpkg -s "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if apt install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (apt)"; else fail "$pkg (apt)"; fi
;;
pacman)
if pacman -Qi "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if pacman -S --noconfirm --needed "$pkg" >/dev/null 2>&1; then ok "$pkg (pacman)"; else fail "$pkg (pacman — may not be in repo, try AUR)"; fi
;;
dnf)
if rpm -q "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if dnf install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (dnf)"; else fail "$pkg (dnf — may not be in repo)"; fi
;;
*)
fail "$pkg — unknown package manager, install manually"
;;
esac
}
install_pip() {
local pkg="$1"
if pip3 show "$pkg" >/dev/null 2>&1; then skip "$pkg (pip) already installed"; return; fi
if pip3 install --break-system-packages "$pkg" >/dev/null 2>&1; then ok "$pkg (pip)"; else fail "$pkg (pip)"; fi
}
install_go() {
local mod="$1" name="$2"
if ! command -v go >/dev/null 2>&1; then fail "$name — go not installed"; return; fi
if command -v "$name" >/dev/null 2>&1; then skip "$name already installed"; return; fi
if go install "$mod" >/dev/null 2>&1; then ok "$name (go)"; else fail "$name (go)"; fi
}
install_git() {
local repo="$1" dst="$2"
mkdir -p /opt/osint-arsenal
if [ -d "/opt/osint-arsenal/$dst" ]; then skip "$dst already cloned"; return; fi
if git clone --depth=1 "$repo" "/opt/osint-arsenal/$dst" >/dev/null 2>&1; then ok "$dst (git)"; else fail "$dst (git)"; fi
}
install_docker() {
local image="$1" name="$2"
if ! command -v docker >/dev/null 2>&1; then fail "$name — docker not installed"; return; fi
if docker image inspect "$image" >/dev/null 2>&1; then skip "$name (docker) already pulled"; return; fi
if docker pull "$image" >/dev/null 2>&1; then ok "$name (docker)"; else fail "$name (docker)"; fi
}
bootstrap_basics() {
case "$PKG" in
apt)
apt update -y >/dev/null 2>&1 || true
apt install -y python3 python3-pip git curl wget golang-go >/dev/null 2>&1 || true
;;
pacman)
pacman -Sy --noconfirm >/dev/null 2>&1 || true
pacman -S --noconfirm --needed python python-pip git curl wget go >/dev/null 2>&1 || true
;;
dnf)
dnf install -y python3 python3-pip git curl wget golang >/dev/null 2>&1 || true
;;
esac
}
print_summary() {
echo
echo "============================================="
echo -e " Installed: ${GRN}$INSTALLED${NC}"
echo -e " Skipped: ${YLW}$SKIPPED${NC}"
echo -e " Failed: ${RED}$FAILED${NC}"
echo "============================================="
if (( FAILED > 0 )); then
echo -e "${RED}Failed tools:${NC} ${FAILED_TOOLS[@]:-}"
echo "See $LOGFILE for details."
fi
}
require_root
detect_distro
bootstrap_basics
echo; say "Installing: 🔌 Hardware Hacking & SDR (10 tools)"
install_git https://github.com/firmadyne/firmadyne.git firmadyne # Firmadyne
install_git https://github.com/craigz28/firmwalker.git firmwalker # firmwalker
pkg_install flashrom # flashrom
pkg_install gnuradio # GNU Radio
pkg_install gqrx-sdr # Gqrx SDR
pkg_install hackrf # HackRF One
pkg_install openocd # OpenOCD
install_git https://github.com/RfidResearchGroup/proxmark3.git proxmark3 # Proxmark3
pkg_install rtl-sdr # RTL-SDR
pkg_install ubertooth # Ubertooth One
print_summary

42
install.sh Normal file
View File

@ -0,0 +1,42 @@
#!/usr/bin/env bash
# ===================================================================
# Awesome OSINT Arsenal — install everything
# Runs each category installer in order.
# Best support: Kali / Debian / Ubuntu / Parrot.
# Partial: Arch / Manjaro / Fedora / RHEL.
# For Android, use: bash termux.sh
# ===================================================================
set -uo pipefail
cd "$(dirname "$0")"
if [ "$EUID" -ne 0 ]; then
echo "Run me as root: sudo bash install.sh"
exit 1
fi
INSTALLERS=(
"osint.sh"
"redteam.sh"
"blueteam.sh"
"forensics.sh"
"hardware.sh"
"labs.sh"
"extras.sh"
)
LOGFILE="$HOME/osint-install-errors.log"
: > "$LOGFILE"
for inst in "${INSTALLERS[@]}"; do
echo
echo "==========================================="
echo " Running: $inst"
echo "==========================================="
bash "$inst"
done
echo
echo "==========================================="
echo " ALL DONE"
echo " Failures (if any) logged to: $LOGFILE"
echo "==========================================="

View File

@ -1,422 +0,0 @@
#!/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

129
labs.sh Normal file
View File

@ -0,0 +1,129 @@
#!/usr/bin/env bash
# ===================================================================
# 🎓 Training / vulnerable apps
# Part of awesome-osint-arsenal v3.4
# Auto-detects: Kali / Debian / Ubuntu / Parrot / Mint / Pop!_OS /
# Arch / Manjaro / EndeavourOS /
# Fedora / RHEL / CentOS / Rocky / Alma
# Best support: Kali / Debian / Ubuntu (apt-based)
# ===================================================================
set -uo pipefail
RED="\033[0;31m"; GRN="\033[0;32m"; YLW="\033[1;33m"; BLU="\033[0;34m"; CYN="\033[0;36m"; NC="\033[0m"
LOGFILE="${LOGFILE:-$HOME/osint-install-errors.log}"
INSTALLED=${INSTALLED:-0}; SKIPPED=${SKIPPED:-0}; FAILED=${FAILED:-0}
declare -ga FAILED_TOOLS=()
say() { echo -e "${BLU}[*]${NC} $*"; }
ok() { echo -e "${GRN}[✓]${NC} $*"; INSTALLED=$((INSTALLED+1)); }
skip() { echo -e "${YLW}[~]${NC} $*"; SKIPPED=$((SKIPPED+1)); }
fail() { echo -e "${RED}[✗]${NC} $*"; FAILED=$((FAILED+1)); FAILED_TOOLS+=("$1"); echo "FAIL: $*" >> "$LOGFILE"; }
require_root() {
if [ "$EUID" -ne 0 ]; then echo "Please run as root: sudo bash $0"; exit 1; fi
}
detect_distro() {
if [ -f /etc/os-release ]; then
. /etc/os-release
case "${ID,,}" in
kali|debian|ubuntu|parrot|raspbian|linuxmint|pop|elementary) PKG="apt" ;;
arch|manjaro|endeavouros|garuda|artix) PKG="pacman" ;;
fedora|rhel|centos|rocky|almalinux|ol) PKG="dnf" ;;
*) PKG="unknown" ;;
esac
else
PKG="unknown"
fi
export PKG
echo -e "${CYN}[i]${NC} Detected package manager: $PKG"
if [ "$PKG" = "unknown" ]; then
echo -e "${YLW}[!]${NC} Unknown distro — git/pip/go installs will work, system-package installs will be skipped."
fi
}
pkg_install() {
local pkg="$1"
case "$PKG" in
apt)
if dpkg -s "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if apt install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (apt)"; else fail "$pkg (apt)"; fi
;;
pacman)
if pacman -Qi "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if pacman -S --noconfirm --needed "$pkg" >/dev/null 2>&1; then ok "$pkg (pacman)"; else fail "$pkg (pacman — may not be in repo, try AUR)"; fi
;;
dnf)
if rpm -q "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if dnf install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (dnf)"; else fail "$pkg (dnf — may not be in repo)"; fi
;;
*)
fail "$pkg — unknown package manager, install manually"
;;
esac
}
install_pip() {
local pkg="$1"
if pip3 show "$pkg" >/dev/null 2>&1; then skip "$pkg (pip) already installed"; return; fi
if pip3 install --break-system-packages "$pkg" >/dev/null 2>&1; then ok "$pkg (pip)"; else fail "$pkg (pip)"; fi
}
install_go() {
local mod="$1" name="$2"
if ! command -v go >/dev/null 2>&1; then fail "$name — go not installed"; return; fi
if command -v "$name" >/dev/null 2>&1; then skip "$name already installed"; return; fi
if go install "$mod" >/dev/null 2>&1; then ok "$name (go)"; else fail "$name (go)"; fi
}
install_git() {
local repo="$1" dst="$2"
mkdir -p /opt/osint-arsenal
if [ -d "/opt/osint-arsenal/$dst" ]; then skip "$dst already cloned"; return; fi
if git clone --depth=1 "$repo" "/opt/osint-arsenal/$dst" >/dev/null 2>&1; then ok "$dst (git)"; else fail "$dst (git)"; fi
}
install_docker() {
local image="$1" name="$2"
if ! command -v docker >/dev/null 2>&1; then fail "$name — docker not installed"; return; fi
if docker image inspect "$image" >/dev/null 2>&1; then skip "$name (docker) already pulled"; return; fi
if docker pull "$image" >/dev/null 2>&1; then ok "$name (docker)"; else fail "$name (docker)"; fi
}
bootstrap_basics() {
case "$PKG" in
apt)
apt update -y >/dev/null 2>&1 || true
apt install -y python3 python3-pip git curl wget golang-go >/dev/null 2>&1 || true
;;
pacman)
pacman -Sy --noconfirm >/dev/null 2>&1 || true
pacman -S --noconfirm --needed python python-pip git curl wget go >/dev/null 2>&1 || true
;;
dnf)
dnf install -y python3 python3-pip git curl wget golang >/dev/null 2>&1 || true
;;
esac
}
print_summary() {
echo
echo "============================================="
echo -e " Installed: ${GRN}$INSTALLED${NC}"
echo -e " Skipped: ${YLW}$SKIPPED${NC}"
echo -e " Failed: ${RED}$FAILED${NC}"
echo "============================================="
if (( FAILED > 0 )); then
echo -e "${RED}Failed tools:${NC} ${FAILED_TOOLS[@]:-}"
echo "See $LOGFILE for details."
fi
}
require_root
detect_distro
bootstrap_basics
echo; say "Installing: 🎓 Training, Labs & CTF (4 tools)"
install_git https://github.com/digininja/DVWA.git DVWA # DVWA
install_docker bkimminich/juice-shop 'OWASP Juice Shop' # OWASP Juice Shop
install_docker webgoat/webgoat 'OWASP WebGoat' # OWASP WebGoat
install_git https://github.com/practisec/pwnedhub.git pwnedhub # PwnedHub
print_summary

360
osint.sh Normal file
View File

@ -0,0 +1,360 @@
#!/usr/bin/env bash
# ===================================================================
# 🔍 OSINT toolkit
# Part of awesome-osint-arsenal v3.4
# Auto-detects: Kali / Debian / Ubuntu / Parrot / Mint / Pop!_OS /
# Arch / Manjaro / EndeavourOS /
# Fedora / RHEL / CentOS / Rocky / Alma
# Best support: Kali / Debian / Ubuntu (apt-based)
# ===================================================================
set -uo pipefail
RED="\033[0;31m"; GRN="\033[0;32m"; YLW="\033[1;33m"; BLU="\033[0;34m"; CYN="\033[0;36m"; NC="\033[0m"
LOGFILE="${LOGFILE:-$HOME/osint-install-errors.log}"
INSTALLED=${INSTALLED:-0}; SKIPPED=${SKIPPED:-0}; FAILED=${FAILED:-0}
declare -ga FAILED_TOOLS=()
say() { echo -e "${BLU}[*]${NC} $*"; }
ok() { echo -e "${GRN}[✓]${NC} $*"; INSTALLED=$((INSTALLED+1)); }
skip() { echo -e "${YLW}[~]${NC} $*"; SKIPPED=$((SKIPPED+1)); }
fail() { echo -e "${RED}[✗]${NC} $*"; FAILED=$((FAILED+1)); FAILED_TOOLS+=("$1"); echo "FAIL: $*" >> "$LOGFILE"; }
require_root() {
if [ "$EUID" -ne 0 ]; then echo "Please run as root: sudo bash $0"; exit 1; fi
}
detect_distro() {
if [ -f /etc/os-release ]; then
. /etc/os-release
case "${ID,,}" in
kali|debian|ubuntu|parrot|raspbian|linuxmint|pop|elementary) PKG="apt" ;;
arch|manjaro|endeavouros|garuda|artix) PKG="pacman" ;;
fedora|rhel|centos|rocky|almalinux|ol) PKG="dnf" ;;
*) PKG="unknown" ;;
esac
else
PKG="unknown"
fi
export PKG
echo -e "${CYN}[i]${NC} Detected package manager: $PKG"
if [ "$PKG" = "unknown" ]; then
echo -e "${YLW}[!]${NC} Unknown distro — git/pip/go installs will work, system-package installs will be skipped."
fi
}
pkg_install() {
local pkg="$1"
case "$PKG" in
apt)
if dpkg -s "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if apt install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (apt)"; else fail "$pkg (apt)"; fi
;;
pacman)
if pacman -Qi "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if pacman -S --noconfirm --needed "$pkg" >/dev/null 2>&1; then ok "$pkg (pacman)"; else fail "$pkg (pacman — may not be in repo, try AUR)"; fi
;;
dnf)
if rpm -q "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if dnf install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (dnf)"; else fail "$pkg (dnf — may not be in repo)"; fi
;;
*)
fail "$pkg — unknown package manager, install manually"
;;
esac
}
install_pip() {
local pkg="$1"
if pip3 show "$pkg" >/dev/null 2>&1; then skip "$pkg (pip) already installed"; return; fi
if pip3 install --break-system-packages "$pkg" >/dev/null 2>&1; then ok "$pkg (pip)"; else fail "$pkg (pip)"; fi
}
install_go() {
local mod="$1" name="$2"
if ! command -v go >/dev/null 2>&1; then fail "$name — go not installed"; return; fi
if command -v "$name" >/dev/null 2>&1; then skip "$name already installed"; return; fi
if go install "$mod" >/dev/null 2>&1; then ok "$name (go)"; else fail "$name (go)"; fi
}
install_git() {
local repo="$1" dst="$2"
mkdir -p /opt/osint-arsenal
if [ -d "/opt/osint-arsenal/$dst" ]; then skip "$dst already cloned"; return; fi
if git clone --depth=1 "$repo" "/opt/osint-arsenal/$dst" >/dev/null 2>&1; then ok "$dst (git)"; else fail "$dst (git)"; fi
}
install_docker() {
local image="$1" name="$2"
if ! command -v docker >/dev/null 2>&1; then fail "$name — docker not installed"; return; fi
if docker image inspect "$image" >/dev/null 2>&1; then skip "$name (docker) already pulled"; return; fi
if docker pull "$image" >/dev/null 2>&1; then ok "$name (docker)"; else fail "$name (docker)"; fi
}
bootstrap_basics() {
case "$PKG" in
apt)
apt update -y >/dev/null 2>&1 || true
apt install -y python3 python3-pip git curl wget golang-go >/dev/null 2>&1 || true
;;
pacman)
pacman -Sy --noconfirm >/dev/null 2>&1 || true
pacman -S --noconfirm --needed python python-pip git curl wget go >/dev/null 2>&1 || true
;;
dnf)
dnf install -y python3 python3-pip git curl wget golang >/dev/null 2>&1 || true
;;
esac
}
print_summary() {
echo
echo "============================================="
echo -e " Installed: ${GRN}$INSTALLED${NC}"
echo -e " Skipped: ${YLW}$SKIPPED${NC}"
echo -e " Failed: ${RED}$FAILED${NC}"
echo "============================================="
if (( FAILED > 0 )); then
echo -e "${RED}Failed tools:${NC} ${FAILED_TOOLS[@]:-}"
echo "See $LOGFILE for details."
fi
}
require_root
detect_distro
bootstrap_basics
echo; say "Installing: 👤 Username & Social Media OSINT (33 tools)"
install_git https://github.com/ArthurHeitmann/arctic_shift.git arctic_shift # Arctic Shift
install_pip blackbird-osint # Blackbird
install_git https://github.com/misiektoja/github_monitor.git github_monitor # github_monitor
install_pip gitrecon # Gitrecon
install_go github.com/ibnaleem/gosearch@latest gosearch # GoSearch
install_pip holehe # Holehe
install_git https://github.com/misiektoja/instagram_monitor.git instagram_monitor # instagram_monitor
install_pip instaloader # Instaloader
install_go github.com/tdh8316/investigo@latest investigo # Investigo
install_git https://github.com/l4rm4nd/LinkedInDumper.git LinkedInDumper # LinkedInDumper
install_pip maigret # Maigret
install_pip nexfil # NExfil
install_git https://github.com/Datalux/Osintgram.git Osintgram # Osintgram
install_pip osrframework # OSRFramework
install_git https://github.com/seekr-osint/seekr.git seekr # Seekr
install_pip sherlock-project # Sherlock
install_pip snoop # Snoop
install_pip snscrape # snscrape
install_pip social-analyzer # Social Analyzer
install_pip socialscan # socialscan
install_pip socid-extractor # Socid-extractor
install_git https://github.com/tejado/telegram-nearby-map.git telegram-nearby-map # Telegram Nearby Map
install_git https://github.com/Alb-310/TeleGram-OSINTer.git TeleGram-OSINTer # TeleGram-OSINTer
install_pip telepathy # Telepathy
install_git https://github.com/sockysec/Telerecon.git Telerecon # Telerecon
install_pip telethon # Telethon
install_git https://github.com/eth0izzle/the-endorser.git the-endorser # the-endorser
install_git https://github.com/drego85/tosint.git tosint # TOsint
install_pip toutatis # Toutatis
install_pip twayback # Twayback
install_pip twint # Twint
install_git https://github.com/kaifcodec/user-scanner.git user-scanner # user-scanner
install_git https://github.com/wishihab/userrecon.git userrecon # UserRecon
echo; say "Installing: 📧 Email & Phone Intelligence (13 tools)"
install_git https://github.com/keraattin/EmailAnalyzer.git EmailAnalyzer # EmailAnalyzer
install_git https://github.com/Giritharram/EmailHeader-Analyzer-CLI-Python.git EmailHeader-Analyzer-CLI-Python # EmailHeader-Analyzer
install_pip ghunt # GHunt
install_pip h8mail # h8mail
install_pip ignorant # Ignorant
install_git https://github.com/m4ll0k/Infoga.git Infoga # Infoga
install_git https://github.com/akajhon/MailHeaderDetective.git MailHeaderDetective # MailHeaderDetective
install_pip mailto-analyzer # mailtoanalyzer
install_pip phoneinfoga # PhoneInfoga
install_git https://github.com/aerosol-can/PhoneSploit.git PhoneSploit # PhoneSploit
install_git https://github.com/nettitude/Prowl.git Prowl # Prowl
install_pip theHarvester # theHarvester
install_git https://github.com/z0m31en7/WhatMail.git WhatMail # WhatMail
echo; say "Installing: 🌐 Domain & IP / Network Recon (68 tools)"
pkg_install aircrack-ng # Aircrack-ng
install_pip py-altdns # altdns
install_go github.com/owasp-amass/amass/v4/...@master ... # Amass
install_go github.com/tomnomnom/anew@latest anew # anew
install_go github.com/michenriksen/aquatone@latest aquatone # Aquatone
install_go github.com/tomnomnom/assetfinder@latest assetfinder # assetfinder
install_pip git # AutoRecon
install_git https://github.com/pry0cc/axiom.git axiom # Axiom
install_pip bbot # BBOT
pkg_install bettercap # Bettercap
install_git https://github.com/commixproject/commix.git commix # Commix
pkg_install dirb # Dirb
install_pip dirsearch # dirsearch
install_pip dnsrecon # dnsrecon
install_pip dnstwist # dnstwist
pkg_install ettercap-common # Ettercap
pkg_install fern-wifi-cracker # Fern Wifi Cracker
pkg_install feroxbuster # Feroxbuster
install_go github.com/ffuf/ffuf/v2@latest v2 # ffuf
install_git https://github.com/Findomain/Findomain.git Findomain # Findomain
install_git https://github.com/FluxionNetwork/fluxion.git fluxion # Fluxion
install_go github.com/lc/gau/v2/cmd/gau@latest gau # gau (getallurls)
install_go github.com/tomnomnom/gf@latest gf # gf
install_go github.com/OJ/gobuster/v3@latest v3 # Gobuster
install_git https://github.com/jseidl/GoldenEye.git GoldenEye # GoldenEye
install_go github.com/jaeles-project/gospider@latest gospider # GoSpider
install_go github.com/sensepost/gowitness@latest gowitness # gowitness
install_go github.com/hakluke/hakrawler@latest hakrawler # hakrawler
pkg_install hcxtools # hcxtools
install_go github.com/tomnomnom/httprobe@latest httprobe # httprobe
install_go github.com/projectdiscovery/httpx/cmd/httpx@latest httpx # HTTPx
install_git https://github.com/codingo/Interlace.git Interlace # Interlace
install_git https://github.com/maldevel/IPGeoLocation.git IPGeoLocation # IPGeoLocation
install_git https://github.com/Threezh1/JSFinder.git JSFinder # JSFinder
install_go github.com/projectdiscovery/katana/cmd/katana@latest katana # Katana
pkg_install kismet # Kismet
install_git https://github.com/guelfoweb/knock.git knock # knock
install_pip knock-subdomains # Knockpy
install_git https://github.com/GerbenJavado/LinkFinder.git LinkFinder # LinkFinder
pkg_install masscan # Masscan
install_git https://github.com/blechschmidt/massdns.git massdns # massdns
install_go github.com/tomnomnom/meg@latest meg # meg
pkg_install metasploit-framework # Metasploit
install_go github.com/projectdiscovery/naabu/v2/cmd/naabu@latest naabu # Naabu
pkg_install netcat-openbsd # Netcat
pkg_install nikto # Nikto
pkg_install nmap # Nmap
install_go github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest nuclei # Nuclei
pkg_install openvas # OpenVAS
install_pip paramspider # ParamSpider
install_git https://github.com/s0md3v/Photon.git Photon # Photon
pkg_install reaver # Reaver
install_git https://github.com/six2dez/reconftw.git reconftw # reconFTW
install_git https://github.com/RustScan/RustScan.git RustScan # RustScan
install_pip shodan # Shodan
install_go github.com/s0md3v/smap/cmd/smap@latest smap # smap
install_git https://github.com/1N3/Sn1per.git Sn1per # Sn1per
pkg_install sqlmap # SQLMap
install_go github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest subfinder # Subfinder
install_pip sublist3r # Sublist3r
pkg_install tcpdump # tcpdump
install_git https://github.com/urbanadventurer/urlcrazy.git urlcrazy # URLCrazy
install_go github.com/tomnomnom/waybackurls@latest waybackurls # waybackurls
install_git https://github.com/yan4ikyt/webhack.git webhack # WebHack
install_pip wfuzz # Wfuzz
pkg_install whatweb # Whatweb
pkg_install wifite # Wifite
pkg_install wireshark # Wireshark
echo; say "Installing: 🖼️ Image & Facial Recognition (6 tools)"
install_pip deepface # DeepFace
install_git https://github.com/beurtschipper/Depix.git Depix # Depix
pkg_install libimage-exiftool-perl # ExifTool
install_pip face_recognition # facerecognition
install_git https://github.com/ElevenPaths/FOCA.git FOCA # FOCA
install_git https://github.com/GuidoBartoli/sherloq.git sherloq # Sherloq
echo; say "Installing: 🕶️ Dark Web & Tor Intelligence (5 tools)"
install_git https://github.com/itsmehacker/DarkScrape.git DarkScrape # DarkScrape
install_go github.com/s-rah/onionscan@latest onionscan # OnionScan
install_pip onionsearch # OnionSearch
install_git https://github.com/SharadKumar97/OSINT-SPY.git OSINT-SPY # OSINT-SPY
install_git https://github.com/githacktools/TorghostNG.git TorghostNG # TorghostNG
echo; say "Installing: 💥 Data Breach & Leak Detection (11 tools)"
pkg_install cewl # CeWL
pkg_install crunch # Crunch
install_git https://github.com/Mebus/cupp.git cupp # Cupp
pkg_install hashcat # Hashcat
pkg_install hydra # Hydra
pkg_install john # John the Ripper
install_git https://github.com/AlessandroZ/LaZagne.git LaZagne # LaZagne
pkg_install medusa # Medusa
install_git https://github.com/gentilkiwi/mimikatz.git mimikatz # Mimikatz
install_git https://github.com/lgandx/Responder.git Responder # Responder
install_git https://github.com/danielmiessler/SecLists.git SecLists # SecLists
echo; say "Installing: 🏢 Company & Business Intel (2 tools)"
install_pip opencorporates # opencorporates-cli
install_git https://github.com/s0md3v/Orbit.git Orbit # Orbit
echo; say "Installing: ₿ Cryptocurrency & Blockchain (1 tools)"
install_pip etherscan-python # etherscan-py
echo; say "Installing: 🦠 Malware & Threat Intelligence (2 tools)"
install_git https://github.com/MISP/MISP.git MISP # MISP
pkg_install yara # YARA
echo; say "Installing: 🔍 Search & Dorking Tools (6 tools)"
install_pip censys # Censys CLI
install_git https://github.com/jgor/dork-cli.git dork-cli # dork-cli
install_git https://github.com/m3n0sd0n4ld/GooFuzz.git GooFuzz # GooFuzz
install_git https://github.com/opsdisk/pagodo.git pagodo # Pagodo
install_pip shodan # Shodan CLI
install_go github.com/projectdiscovery/uncover/cmd/uncover@latest uncover # uncover
echo; say "Installing: 📄 Document & Metadata Analysis (10 tools)"
pkg_install autopsy # Autopsy
pkg_install binwalk # Binwalk
pkg_install bulk-extractor # Bulk Extractor
pkg_install foremost # Foremost
install_go github.com/tillson/git-hound@latest git-hound # git-hound
install_go github.com/gitleaks/gitleaks/v8@latest v8 # gitleaks
install_pip metagoofil # Metagoofil
pkg_install scalpel # Scalpel
install_pip volatility3 # Volatility
install_pip xeuledoc # XeuleDoc
echo; say "Installing: 🧑 People & Identity OSINT (16 tools)"
install_git https://github.com/Ignitetch/AdvPhishing.git AdvPhishing # AdvPhishing
install_git https://github.com/An0nUD4Y/blackeye.git blackeye # BlackEye
install_pip crosslinked # CrossLinked
install_git https://github.com/daprofiler/DaProfiler.git DaProfiler # DaProfiler
install_go github.com/kgretzky/evilginx2@latest evilginx2 # Evilginx2
install_git https://github.com/initstring/linkedin2username.git linkedin2username # linkedin2username
install_go github.com/drk1wi/Modlishka@latest Modlishka # Modlishka
install_git https://github.com/Lucksi/Mr.Holmes.git Mr.Holmes # Mr.Holmes
install_git https://github.com/htr-tech/nexphisher.git nexphisher # NexPhisher
install_git https://github.com/thewhiteh4t/seeker.git seeker # Seeker
pkg_install set # SET (Social Engineering Toolkit)
install_git https://github.com/UndeadSec/SocialFish.git SocialFish # SocialFish
install_git https://github.com/ultrasecurity/Storm-Breaker.git Storm-Breaker # Storm-Breaker
install_git https://github.com/PerezMascato/URLCADIZ.git URLCADIZ # URLCADIZ
install_pip zehef # Zehef
install_git https://github.com/htr-tech/zphisher.git zphisher # Zphisher
echo; say "Installing: 📡 IoT & Device Intelligence (10 tools)"
install_git https://github.com/AhMyth/AhMyth-Android-RAT.git AhMyth-Android-RAT # AhMyth Android RAT
pkg_install apktool # Apktool
install_pip frida-tools # Frida
install_pip greynoise # GreyNoise CLI
pkg_install jadx # jadx
install_git https://github.com/g0tmi1k/msfpc.git msfpc # MSFPC
install_pip objection # Objection
install_pip shodan # Shodan (IoT)
install_git https://github.com/shubhamrooter/ShodanSpider.git ShodanSpider # ShodanSpider
install_pip zoomeye # ZoomEye CLI
echo; say "Installing: 🧰 Frameworks & All-in-One Platforms (12 tools)"
install_git https://github.com/thewhiteh4t/FinalRecon.git FinalRecon # FinalRecon
install_git https://github.com/Manisso/fsociety.git fsociety # fsociety
install_git https://github.com/Z4nzu/hackingtool.git hackingtool # Hackingtool
install_pip harpoon # Harpoon
pkg_install maltego # Maltego
install_git https://github.com/ninoseki/mitaka.git mitaka # Mitaka
install_git https://github.com/loseys/Oblivion.git Oblivion # Oblivion
install_git https://github.com/Bafomet666/OSINT-SAN.git OSINT-SAN # OSINT-SAN
install_git https://github.com/j3ssie/osmedeus.git osmedeus # osmedeus
install_pip recon-ng # Recon-ng
pkg_install sn0int # sn0int
install_pip spiderfoot # SpiderFoot
echo; say "Installing: 🔒 Free VPN & Privacy Tools (12 tools)"
install_git https://github.com/trailofbits/algo.git algo # Algo VPN
install_git https://github.com/HACK3RY2J/Anon-SMS.git Anon-SMS # Anon-SMS
install_git https://github.com/Und3rf10w/kali-anonsurf.git kali-anonsurf # Anonsurf
pkg_install bleachbit # BleachBit
pkg_install macchanger # MAC Changer
pkg_install mullvad-vpn # Mullvad VPN
pkg_install openvpn # OpenVPN
install_pip protonvpn-cli # Proton VPN Free
pkg_install riseup-vpn # RiseupVPN
pkg_install torbrowser-launcher # Tor Browser
pkg_install veracrypt # VeraCrypt
pkg_install wireguard # WireGuard
print_summary

156
redteam.sh Normal file
View File

@ -0,0 +1,156 @@
#!/usr/bin/env bash
# ===================================================================
# ⚔️ Red team / offensive
# Part of awesome-osint-arsenal v3.4
# Auto-detects: Kali / Debian / Ubuntu / Parrot / Mint / Pop!_OS /
# Arch / Manjaro / EndeavourOS /
# Fedora / RHEL / CentOS / Rocky / Alma
# Best support: Kali / Debian / Ubuntu (apt-based)
# ===================================================================
set -uo pipefail
RED="\033[0;31m"; GRN="\033[0;32m"; YLW="\033[1;33m"; BLU="\033[0;34m"; CYN="\033[0;36m"; NC="\033[0m"
LOGFILE="${LOGFILE:-$HOME/osint-install-errors.log}"
INSTALLED=${INSTALLED:-0}; SKIPPED=${SKIPPED:-0}; FAILED=${FAILED:-0}
declare -ga FAILED_TOOLS=()
say() { echo -e "${BLU}[*]${NC} $*"; }
ok() { echo -e "${GRN}[✓]${NC} $*"; INSTALLED=$((INSTALLED+1)); }
skip() { echo -e "${YLW}[~]${NC} $*"; SKIPPED=$((SKIPPED+1)); }
fail() { echo -e "${RED}[✗]${NC} $*"; FAILED=$((FAILED+1)); FAILED_TOOLS+=("$1"); echo "FAIL: $*" >> "$LOGFILE"; }
require_root() {
if [ "$EUID" -ne 0 ]; then echo "Please run as root: sudo bash $0"; exit 1; fi
}
detect_distro() {
if [ -f /etc/os-release ]; then
. /etc/os-release
case "${ID,,}" in
kali|debian|ubuntu|parrot|raspbian|linuxmint|pop|elementary) PKG="apt" ;;
arch|manjaro|endeavouros|garuda|artix) PKG="pacman" ;;
fedora|rhel|centos|rocky|almalinux|ol) PKG="dnf" ;;
*) PKG="unknown" ;;
esac
else
PKG="unknown"
fi
export PKG
echo -e "${CYN}[i]${NC} Detected package manager: $PKG"
if [ "$PKG" = "unknown" ]; then
echo -e "${YLW}[!]${NC} Unknown distro — git/pip/go installs will work, system-package installs will be skipped."
fi
}
pkg_install() {
local pkg="$1"
case "$PKG" in
apt)
if dpkg -s "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if apt install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (apt)"; else fail "$pkg (apt)"; fi
;;
pacman)
if pacman -Qi "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if pacman -S --noconfirm --needed "$pkg" >/dev/null 2>&1; then ok "$pkg (pacman)"; else fail "$pkg (pacman — may not be in repo, try AUR)"; fi
;;
dnf)
if rpm -q "$pkg" >/dev/null 2>&1; then skip "$pkg already installed"; return; fi
if dnf install -y "$pkg" >/dev/null 2>&1; then ok "$pkg (dnf)"; else fail "$pkg (dnf — may not be in repo)"; fi
;;
*)
fail "$pkg — unknown package manager, install manually"
;;
esac
}
install_pip() {
local pkg="$1"
if pip3 show "$pkg" >/dev/null 2>&1; then skip "$pkg (pip) already installed"; return; fi
if pip3 install --break-system-packages "$pkg" >/dev/null 2>&1; then ok "$pkg (pip)"; else fail "$pkg (pip)"; fi
}
install_go() {
local mod="$1" name="$2"
if ! command -v go >/dev/null 2>&1; then fail "$name — go not installed"; return; fi
if command -v "$name" >/dev/null 2>&1; then skip "$name already installed"; return; fi
if go install "$mod" >/dev/null 2>&1; then ok "$name (go)"; else fail "$name (go)"; fi
}
install_git() {
local repo="$1" dst="$2"
mkdir -p /opt/osint-arsenal
if [ -d "/opt/osint-arsenal/$dst" ]; then skip "$dst already cloned"; return; fi
if git clone --depth=1 "$repo" "/opt/osint-arsenal/$dst" >/dev/null 2>&1; then ok "$dst (git)"; else fail "$dst (git)"; fi
}
install_docker() {
local image="$1" name="$2"
if ! command -v docker >/dev/null 2>&1; then fail "$name — docker not installed"; return; fi
if docker image inspect "$image" >/dev/null 2>&1; then skip "$name (docker) already pulled"; return; fi
if docker pull "$image" >/dev/null 2>&1; then ok "$name (docker)"; else fail "$name (docker)"; fi
}
bootstrap_basics() {
case "$PKG" in
apt)
apt update -y >/dev/null 2>&1 || true
apt install -y python3 python3-pip git curl wget golang-go >/dev/null 2>&1 || true
;;
pacman)
pacman -Sy --noconfirm >/dev/null 2>&1 || true
pacman -S --noconfirm --needed python python-pip git curl wget go >/dev/null 2>&1 || true
;;
dnf)
dnf install -y python3 python3-pip git curl wget golang >/dev/null 2>&1 || true
;;
esac
}
print_summary() {
echo
echo "============================================="
echo -e " Installed: ${GRN}$INSTALLED${NC}"
echo -e " Skipped: ${YLW}$SKIPPED${NC}"
echo -e " Failed: ${RED}$FAILED${NC}"
echo "============================================="
if (( FAILED > 0 )); then
echo -e "${RED}Failed tools:${NC} ${FAILED_TOOLS[@]:-}"
echo "See $LOGFILE for details."
fi
}
require_root
detect_distro
bootstrap_basics
echo; say "Installing: ⚔️ Red Team & Offensive Security (31 tools)"
install_git https://github.com/infosecn1nja/AD-Attack-Defense.git AD-Attack-Defense # AD Attack & Defense
install_pip arjun # Arjun
install_git https://github.com/BloodHoundAD/BloodHound.git BloodHound # BloodHound
install_docker specterops/bloodhound:latest 'BloodHound CE' # BloodHound CE
install_pip certipy-ad # Certipy
install_pip crackmapexec # CrackMapExec
install_go github.com/dwisiswant0/crlfuzz/cmd/crlfuzz@latest crlfuzz # CRLFuzz
install_go github.com/hahwul/dalfox/v2@latest v2 # Dalfox
pkg_install evil-winrm # Evil-WinRM
install_git https://github.com/r0oth3x49/ghauri.git ghauri # Ghauri
install_go github.com/KathanP19/Gxss@latest Gxss # Gxss
install_git https://github.com/HavocFramework/Havoc.git Havoc # Havoc
install_pip impacket # Impacket
install_go github.com/ropnop/kerbrute@latest kerbrute # Kerbrute
install_go github.com/assetnote/kiterunner/cmd/kr@latest kr # kiterunner
install_go github.com/Ne0nd0g/merlin@latest merlin # Merlin
pkg_install metasploit-framework # Metasploit Framework
install_git https://github.com/its-a-feature/Mythic.git Mythic # Mythic
install_pip git # NetExec (nxc)
install_git https://github.com/codingo/NoSQLMap.git NoSQLMap # NoSQLMap
install_git https://github.com/projectdiscovery/nuclei-templates.git nuclei-templates # Nuclei Templates
install_git https://github.com/PortSwigger/param-miner.git param-miner # ParamMiner (Burp ext)
install_git https://github.com/swisskyrepo/PayloadsAllTheThings.git PayloadsAllTheThings # PayloadsAllTheThings
install_git https://github.com/topotam/PetitPotam.git PetitPotam # PetitPotam
install_git https://github.com/BC-SECURITY/Empire.git Empire # PowerShell Empire
install_git https://github.com/GhostPack/Rubeus.git Rubeus # Rubeus
install_git https://github.com/BloodHoundAD/SharpHound.git SharpHound # SharpHound
install_go github.com/bishopfox/sliver/server@latest server # Sliver
install_git https://github.com/swisskyrepo/SSRFmap.git SSRFmap # SSRFmap
install_git https://github.com/t3l3machus/Villain.git Villain # Villain
install_git https://github.com/s0md3v/XSStrike.git XSStrike # XSStrike
print_summary

93
termux.sh Normal file
View File

@ -0,0 +1,93 @@
#!/usr/bin/env bash
# ===================================================================
# Awesome OSINT Arsenal — Termux (Android) installer
# Subset of tools known to work on Termux.
# Run from Termux:
# pkg install -y git && git clone <repo> && cd <repo> && bash install-termux.sh
# ===================================================================
set -uo pipefail
RED="\033[0;31m"; GRN="\033[0;32m"; YLW="\033[1;33m"; BLU="\033[0;34m"; NC="\033[0m"
LOGFILE="$HOME/osint-install-errors.log"
: > "$LOGFILE"
INSTALLED=0; SKIPPED=0; FAILED=0
declare -a FAILED_TOOLS=()
say() { echo -e "${BLU}[*]${NC} $*"; }
ok() { echo -e "${GRN}[✓]${NC} $*"; INSTALLED=$((INSTALLED+1)); }
skip() { echo -e "${YLW}[~]${NC} $*"; SKIPPED=$((SKIPPED+1)); }
fail() { echo -e "${RED}[✗]${NC} $*"; FAILED=$((FAILED+1)); FAILED_TOOLS+=("$1"); echo "FAIL: $*" >> "$LOGFILE"; }
install_pkg() {
local p="$1"
if dpkg -s "$p" >/dev/null 2>&1; then skip "$p already installed"; return; fi
if pkg install -y "$p" >/dev/null 2>&1; then ok "$p (pkg)"; else fail "$p (pkg)"; fi
}
install_pip() {
local p="$1"
if pip show "$p" >/dev/null 2>&1; then skip "$p (pip) already installed"; return; fi
if pip install "$p" >/dev/null 2>&1; then ok "$p (pip)"; else fail "$p (pip)"; fi
}
install_git() {
local repo="$1" dst="$2"
mkdir -p "$HOME/osint-arsenal"
if [ -d "$HOME/osint-arsenal/$dst" ]; then skip "$dst already cloned"; return; fi
if git clone --depth=1 "$repo" "$HOME/osint-arsenal/$dst" >/dev/null 2>&1; then ok "$dst (git)"; else fail "$dst (git)"; fi
}
say "Updating Termux..."
pkg update -y >/dev/null 2>&1 || true
pkg upgrade -y >/dev/null 2>&1 || true
say "Installing core packages..."
pkg install -y python python-pip git curl wget openssh nmap hydra perl >/dev/null 2>&1 || true
termux-setup-storage 2>/dev/null || true
say "Installing Termux-compatible tools..."
install_pkg aircrack-ng # Aircrack-ng
install_pip blackbird-osint # Blackbird
install_pip censys # Censys CLI
install_pip dnsrecon # dnsrecon
install_pip dnstwist # dnstwist
install_pkg libimage-exiftool-perl # ExifTool
install_git https://github.com/Manisso/fsociety.git fsociety # fsociety
install_pip gitrecon # Gitrecon
install_pip h8mail # h8mail
install_pip holehe # Holehe
install_pkg hydra # Hydra
install_pip instaloader # Instaloader
install_git https://github.com/maldevel/IPGeoLocation.git IPGeoLocation # IPGeoLocation
install_pkg john # John the Ripper
install_pip maigret # Maigret
install_pip metagoofil # Metagoofil
install_git https://github.com/htr-tech/nexphisher.git nexphisher # NexPhisher
install_pkg nmap # Nmap
install_git https://github.com/s0md3v/Orbit.git Orbit # Orbit
install_pip phoneinfoga # PhoneInfoga
install_git https://github.com/aerosol-can/PhoneSploit.git PhoneSploit # PhoneSploit
install_pip sherlock-project # Sherlock
install_pip shodan # Shodan
install_pip shodan # Shodan CLI
install_pip snoop # Snoop
install_pip snscrape # snscrape
install_pip social-analyzer # Social Analyzer
install_git https://github.com/ultrasecurity/Storm-Breaker.git Storm-Breaker # Storm-Breaker
install_pip sublist3r # Sublist3r
install_pip theHarvester # theHarvester
install_pip trufflehog # trufflehog
install_git https://github.com/wishihab/userrecon.git userrecon # UserRecon
install_git https://github.com/htr-tech/zphisher.git zphisher # Zphisher
echo
echo "============================================="
echo -e " Installed: ${GRN}$INSTALLED${NC}"
echo -e " Skipped: ${YLW}$SKIPPED${NC}"
echo -e " Failed: ${RED}$FAILED${NC}"
echo "============================================="
if (( FAILED > 0 )); then
echo -e "${RED}Failed tools:${NC} ${FAILED_TOOLS[*]}"
echo "See $LOGFILE for details."
fi
echo
echo "Tools cloned to: $HOME/osint-arsenal/"
echo "For more tools, see the README.md — many require x86 Linux and won't run on Android."

17624
tools.json Normal file

File diff suppressed because it is too large Load Diff