#!/bin/bash # Bluetooth Classic and LE function blueztools_soft_install() { goodecho "[+] Installing bluez tools" install_dependencies "bluez bluez-tools bluez-hcidump bluez-btsco bluez-obexd libbluetooth-dev" } function mirage_soft_install() { goodecho "[+] Installing bettercap dependencies" echo apt-fast keyboard-configuration/variant string "English (US)" | debconf-set-selections echo apt-fast keyboard-configuration/layout string "English (US)" | debconf-set-selections echo apt-fast console-setup/codeset47 string "Guess optimal character set" | debconf-set-selections echo apt-fast console-setup/charmap47 string "UTF-8" | debconf-set-selections install_dependencies "libpcsclite-dev pcsc-tools kmod kbd python3-pip python3-build" pip3install "keyboard" pip3install "pycryptodomex" goodecho "[+] Installing Mirage" [ -d /root/thirdparty ] || mkdir -p /root/thirdparty cd /root/thirdparty installfromnet "git clone https://github.com/RCayre/mirage" cd mirage/ python3 setup.py install } function sniffle_soft_install() { # Get current architecture local arch=$(uname -m) # Only proceed if architecture is x86_64, amd64, arm64, or aarch64 if [[ "$arch" == "x86_64" ]] || [[ "$arch" == "amd64" ]] || [[ "$arch" == "arm64" ]] || [[ "$arch" == "aarch64" ]]; then goodecho "[+] Installing Sniffle with OpenDroneID decoder/encoder" [ -d /rftools/bluetooth ] || mkdir -p /rftools/bluetooth cd /rftools/bluetooth install_dependencies "gfortran" installfromnet "git clone https://github.com/bkerler/Sniffle.git" cd Sniffle/python_cli pip3install -r requirements.txt pip3 uninstall numpy -y pip3install "numpy<2.0" else goodecho "[!] Skipping Sniffle installation: unsupported architecture ($arch)" fi } function bluing_soft_install() { echo "[+] Installing necessary packages" # Update package lists and install Python 3.10 along with necessary packages sudo apt-get update install_dependencies "python3.10 python3.10-venv python3.10-dev libgirepository1.0-dev" # Create directories [ -d /rftools/bluetooth/bluing ] || mkdir -p /rftools/bluetooth/bluing cd /rftools/bluetooth/bluing # Upgrade pip and set up the virtual environment python3.10 -m pip install --upgrade pip python3.10 -m venv bluing source bluing/bin/activate # Install necessary Python packages python3.10 -m pip install dbus-python==1.2.18 python3.10 -m pip install pygobject==3.50.0 python3.10 -m pip install --no-dependencies bluing docopt btsm btatt bluepy configobj btl2cap pkginfo xpycommon halo pyserial bthci btgatt log_symbols colorama spinners six termcolor # Define the name of the script to create SCRIPT_FILE="bluing_run" # Create the script with execution permissions cat > $SCRIPT_FILE << 'EOF' #!/bin/bash # Activate the bluing environment /rftools/bluetooth/bluing/bluing/bin/activate # Print a message to confirm activation echo "Bluing environment has been activated inside a Python environment" EOF # Make the script executable chmod +x $SCRIPT_FILE echo "Created $SCRIPT_FILE with execution permissions" echo "You can run it with: ./$SCRIPT_FILE" } function bdaddr_soft_install() { goodecho "[+] Installing bdaddr" [ -d /rftools/bluetooth ] || mkdir /rftools/bluetooth cd /rftools/bluetooth installfromnet "git clone https://github.com/thxomas/bdaddr" cd bdaddr make } # RFID package function proxmark3_soft_install() { set +e # TODO: debug that function set +o pipefail goodecho "[+] Installing proxmark3 dependencies" install_dependencies "git ca-certificates build-essential pkg-config libreadline-dev" install_dependencies "gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev libgd-dev" goodecho "[+] Installing proxmark3" [ -d /rftools/rfid ] || mkdir -p /rftools/rfid cd /rftools/rfid installfromnet "git clone https://github.com/RfidResearchGroup/proxmark3.git" cd proxmark3/ make clean && make -j$(nproc) ln -s $(pwd)/pm3 /usr/sbin/pm3 ln -s $(pwd)/proxmark3 /usr/bin/proxmark3 set -e set -o pipefail } function libnfc_soft_install() { goodecho "[+] Installing libnfc dependencies" install_dependencies "autoconf libtool libusb-dev libpcsclite-dev build-essential pcsc-tools" goodecho "[+] Installing libnfc" install_dependencies "libnfc-dev libnfc-bin" } function mfoc_soft_install() { goodecho "[+] Installing mfoc" install_dependencies "mfoc" } function mfcuk_soft_install() { goodecho "[+] Installing mfcuk" install_dependencies "mfcuk" } function mfread_soft_install() { goodecho "[+] Installing mfread dependencies" pip3install "bitstring" install_dependencies "gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev libgd-dev" goodecho "[+] Installing mfdread" [ -d /rftools/rfid ] || mkdir -p /rftools/rfid cd /rftools/rfid installfromnet "git clone https://github.com/zhovner/mfdread.git" } function rfidler_soft_install() { # Check if architecture is x86_64 or amd64 if [[ "$(uname -m)" == "x86_64" || "$(uname -m)" == "amd64" ]]; then echo "[+] Installing rfidler dependencies" cd /tmp gitinstall "https://github.com/AdamLaurie/mphidflash.git" "mphidflash" cd mphidflash sudo make install64 [ -d /rftools/rfid ] || mkdir -p /rftools/rfid cd /rftools/rfid gitinstall "https://github.com/AdamLaurie/RFIDler.git" "RFIDler" else echo "This function is only supported on x86_64/amd64 architectures. Skipping installation." fi } function miLazyCracker_soft_install() { install_dependencies "mfoc" [ -d /rftools/rfid ] || mkdir -p /rftools/rfid cd /rftools/rfid goodecho "[+] Cloning miLazyCracker repo" gitinstall "https://github.com/nfc-tools/miLazyCracker.git" "miLazyCracker" cd miLazyCracker [ -f craptev1-v1.1.tar.xz ] || installfromnet "wget https://web.archive.org/web/20190221140220if_/https://www2.vaneay.fr/mifare/craptev1-v1.1.tar.xz" [ -f crapto1-v3.3.tar.xz ] || installfromnet "wget https://web.archive.org/web/20190221140255if_/https://www2.vaneay.fr/mifare/crapto1-v3.3.tar.xz" goodecho "[+] Installing crypto1_bs for miLazyCracker" gitinstall "https://github.com/aczid/crypto1_bs" "crypto1_bs" cd crypto1_bs git reset --hard git clean -dfx # patch initially done against commit 89de1ba5: if patch -p1 < ../crypto1_bs.diff; then echo "Patch applied successfully." else echo "Patch failed? Continuing with the script..." # Optionally, log more details about the failure or handle it specifically fi tar Jxvf ../craptev1-v1.1.tar.xz mkdir crapto1-v3.3 tar Jxvf ../crapto1-v3.3.tar.xz -C crapto1-v3.3 # Replace the original CFLAGS line with conditional statements for different architectures sed -i '/^CFLAGS =/c\ ifeq ($(shell uname -m), riscv64)\n\ CFLAGS = -std=gnu99 -O3 -march=rv64gc\n\ else ifeq ($(shell uname -m), aarch64)\n\ CFLAGS = -std=gnu99 -O3 -march=armv8-a\n\ else\n\ CFLAGS = -std=gnu99 -O3 -march=native\n\ endif' Makefile make sudo cp -a libnfc_crypto1_crack /usr/local/bin } # Wi-Fi Package function common_nettools() { install_dependencies "iproute2" echo apt-fast macchanger/automatically_run boolean false | debconf-set-selections installfromnet "apt-fast install -y -q macchanger" echo apt-fast wireshark-common/install-setuid boolean true | debconf-set-selections installfromnet "apt-fast install -y -q tshark" } function aircrack_soft_install() { goodecho "[+] Installing aircrack-ng" install_dependencies "aircrack-ng" } function reaver_soft_install() { goodecho "[+] Installing reaver" install_dependencies "reaver" } function bully_soft_install() { goodecho "[+] Installing bully" install_dependencies "bully" } function pixiewps_soft_install() { goodecho "[+] Installing pixiewps" install_dependencies "pixiewps" } function Pyrit_soft_install() { #TODO: tofix for total Python3 support goodecho "[+] Installing Pyrit" [ -d /rftools/wifi ] || mkdir -p /rftools/wifi cd /rftools/wifi installfromnet "pip3 install psycopg2-binary" install_dependencies "scapy" gitinstall "https://github.com/JPaulMora/Pyrit.git" "Pyrit_soft_install" cd Pyrit python3 setup.py clean python3 setup.py build python3 setup.py install } function eaphammer_soft_install() { goodecho "[+] Installing eaphammer" [ -d /rftools/wifi ] || mkdir -p /rftools/wifi cd /rftools/wifi installfromnet "git clone https://github.com/s0lst1c3/eaphammer.git" cd eaphammer/ ./ubuntu-unattended-setup } function airgeddon_soft_install() { # TODO: install all dependencies goodecho "[+] Installing airgeddon" [ -d /rftools/wifi ] || mkdir -p /rftools/wifi cd /rftools/wifi installfromnet "git clone https://github.com/v1s1t0r1sh3r3/airgeddon.git" cd airgeddon/ } function wifite2_soft_install () { goodecho "[+] Installing wifite2" [ -d /rftools/wifi ] || mkdir -p /rftools/wifi cd /rftools/wifi installfromnet "git clone https://github.com/derv82/wifite2.git" cd wifite2/ } function sparrowwifi_sdr_soft_install () { # TODO: to debug [ -d /rftools/wifi ] || mkdir -p /rftools/wifi cd /rftools/wifi goodecho "[+] Cloning and installing sparrow-wifi" gitinstall "https://github.com/ghostop14/sparrow-wifi.git" "sparrowwifi" cd sparrow-wifi install_dependencies "pyqt5chart-dev python3-pip gpsd gpsd-clients python3-tk python3-setuptools qt5-qmake qtbase5-dev python3-pyqt5 python3-pyqt5.qsci python3-pyqt5.qtsvg python3-sip-dev pyqt5-dev pyqt5-dev-tools" pip3install "gps3 dronekit manuf python-dateutil matplotlib" pip3install --upgrade manuf } function krackattacks_script_soft_install () { [ -d /rftools/wifi ] || mkdir -p /rftools/wifi cd /rftools/wifi install_dependencies "libnl-3-dev libnl-genl-3-dev pkg-config libssl-dev net-tools git sysfsutils python3-venv iw" goodecho "[+] Cloning and installing krackattacks-scripts" gitinstall "https://github.com/vanhoefm/krackattacks-scripts.git" "krackattacks-scripts.git" cd krackattacks-scripts/krackattack ./build.sh ./pysetup.sh } ## Other softs function whad_soft_install () { goodecho "[+] Installing WHAD from PIP" pip3install "whad" } function rfquak_soft_install () { goodecho "[+] Installing RFQuack from PIP" [ -d /rftools ] || mkdir -p /rftools cd /rftools git clone --recursive https://github.com/rfquack/RFQuack cd RFQuack pip3install -r requirements.pip make clean build } function artemis_soft_install () { # Check system architecture ARCH=$(uname -m) if [[ "$ARCH" != "x86_64" && "$ARCH" != "amd64" && "$ARCH" != "aarch64" && "$ARCH" != "arm64" ]]; then echo "[-] Unsupported architecture: $ARCH" exit 0 fi goodecho "[+] Installing Artemis" [ -d /rftools/docs ] || mkdir -p /rftools/docs cd /rftools/docs gitinstall "https://github.com/AresValley/Artemis.git" "artemis_soft_install" cd Artemis pip3install -r requirements.txt sed -i '1s|^|#!/bin/env python3\n|' app.py chmod +x app.py ln -s $(pwd)/app.py /usr/sbin/Artemis }