in letzter Zeit stolpere ich auffallend oft über das Thema USB-Sticks/Tassenwärmer/Ventilatoren/Leuchten/Raketenwerfer, die sich unerwartet und heimlich als Eingabegerät melden und im Auftrag von wemauchimmer die Kontrolle über den Rechner übernehmen könnten. Unabhängig davon wie realistisch das Angriffsszenario ist, habe ich ein kleines Skript geschrieben, dass es einem USB-Stick und ähnlichen Geräte etwas schwerer machen soll sich unbemerkt als Eingabegerät zu melden.
Das ganze besteht aus einer udev-Regel, die das Skript aussführen soll, wenn ein neues Eingabegerät am Rechner angeschlossen wird und dem Skript selbst:
/etc/udev/rules.d/71-input-notification.rules
Code: Alles auswählen
ACTION=="add", KERNEL!="event*", SUBSYSTEM=="input", RUN+="/usr/local/bin/input-notification"
Code: Alles auswählen
#!/bin/sh
for SESSIONID in $(loginctl --no-legend list-sessions | awk '{print $1}')
do
SESSION=$(loginctl show-session ${SESSIONID})
USERNAME=$(echo "${SESSION}" | sed -ne 's/^Name=//p')
DISPLAY=$(echo "${SESSION}" | sed -ne 's/^Display=//p')
TYPE=$(echo "${SESSION}" | sed -ne 's/^Type=//p')
REMOTE=$(echo "${SESSION}" | sed -ne 's/^Remote=//p')
ACTIVE=$(echo "${SESSION}" | sed -ne 's/^Active=//p')
if [ ${ACTIVE} = "yes" ] && [ ${TYPE} = "x11" ] && [ ${REMOTE} = "no" ]
then
export XAUTHORITY="$(getent passwd ${USERNAME} | cut -d: -f6)/.Xauthority"
export DISPLAY
su ${USERNAME} -c "notify-send -u critical -i keyboard -c device.added 'neues Eingabegerät' ${NAME}"
fi
done
Wenn ihr es ausprobieren wollt, nicht vergessen das Skript ausführbar zu machen und ein
Code: Alles auswählen
# udevadm control --reload-rules
lg smutbert