From 9c25f40010d912b12efce5ade1604b616e1de2ec Mon Sep 17 00:00:00 2001 From: w12 Date: Sun, 29 Sep 2024 21:33:07 +0200 Subject: [PATCH] =?UTF-8?q?discord=5Fssh.sh=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- discord_ssh.sh | 74 -------------------------------------------------- 1 file changed, 74 deletions(-) delete mode 100644 discord_ssh.sh diff --git a/discord_ssh.sh b/discord_ssh.sh deleted file mode 100644 index 6e2ba1b..0000000 --- a/discord_ssh.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash - -# Discord Webhook URL -WEBHOOK_URL="https://discord.com/api/webhooks/11111111/aa1122ssbbcc333-_KEinsG11bs231b4eie" - -# Bash function to send POST request to Discord webhook -send_discord_message() { - local message="$1" - curl -s -H "Content-Type: application/json" -X POST -d "{\"content\":\"$message\"}" "$WEBHOOK_URL" > /dev/null -} - -# PAM Session Open Hook for SSH connections -session_open_hook() { - local username="$1" - local remote_ip="$2" - - # Compose message for Discord - local message="🔓 **Neue SSH-Sitzung gestartet**\n**Benutzer:** $username\n**IP:** $remote_ip" - - # Send message to Discord - send_discord_message "$message" -} - -# PAM Session Close Hook for SSH connections -session_close_hook() { - local username="$1" - local remote_ip="$2" - - # Compose message for Discord - local message="🔒 **SSH-Sitzung beendet**\n**Benutzer:** $username\n**IP:** $remote_ip" - - # Send message to Discord - send_discord_message "$message" -} - -# Logfile zum Debugging (optional) -DEBUG_LOG="/tmp/ssh_monitor_debug.log" - -# Monitor auth.log file for SSH session events -tail -Fn0 /var/log/auth.log | while read line; do - # Debugging: Ausgabe der gelesenen Zeile in eine Logdatei - echo "$(date '+%Y-%m-%d %H:%M:%S') - $line" >> "$DEBUG_LOG" - - # Erkennung von erfolgreichen Anmeldungen - if echo "$line" | grep -q "sshd.*Accepted.*for"; then - # Extrahiere Benutzername - username=$(echo "$line" | awk '{for(i=1;i<=NF;i++) if($i=="for") print $(i+1)}') - # Extrahiere IP-Adresse - remote_ip=$(echo "$line" | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}') - - # Rufe die Hook-Funktion auf - session_open_hook "$username" "$remote_ip" - fi - - # Erkennung von Abmeldungen (verschiedene Muster) - if echo "$line" | grep -qE "sshd.*(Disconnected from|Received disconnect from|session closed for user)"; then - # Extrahiere Benutzername - username=$(echo "$line" | awk '{for(i=1;i<=NF;i++) if($i=="user") print $(i+1)}') - - # Extrahiere IP-Adresse (kann in dieser Zeile fehlen) - remote_ip=$(echo "$line" | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}') - - # Überprüfe, ob Username und IP gefunden wurden - if [ -z "$username" ]; then - username="Unbekannt" - fi - if [ -z "$remote_ip" ]; then - remote_ip="Unbekannt" - fi - - # Rufe die Hook-Funktion auf - session_close_hook "$username" "$remote_ip" - fi -done