Fake-Service: Ein selbst erdachtes/gemachtes Sicherheitskonzept

  Goran Mladenovic   Lesezeit: 2 Minuten  🗪 8 Kommentare Auf Mastodon ansehen

Fake-Services, die loggen, wenn jemand versucht einen Fake-Service zu nutzen.

fake-service: ein selbst erdachtes/gemachtes sicherheitskonzept

Im Allgemeinen ist es ja so, dass, wenn es um Sicherheit geht, schon unzählige Skripte, Programme und Software existieren und einfach installiert und gebraucht werden können. Wahrscheinlich hat schon jeder Pentester, Hacker oder andere Profis von Kali Linux gehört :-) und benutzen es einfach.

Ich habe mir ein eigenes Sicherheitskonzept erdacht und auch selbst programmiert. Es geht darum, Fake-Services oder falsche Dienste laufen zu lassen und einfach nur zu loggen, wenn jemand versucht sich zu verbinden. Anhand der Log-Datei kann man dann sehen, wie oft versucht wird, mit irgendwelchen sinnlosen Diensten zu kommunizieren und schauen, ob ein Netzwerk, z.B. an Flughäfen, Bahnhöfen usw., sicher sind, oder man doch lieber das Surfen lässt oder nach einer Weile einstellt.

Im Folgenden erkläre ich kurz das Skript. Man kann es sich aber auch gerne auf meinem Github downloaden, wobei man dann vielleicht auch schon auf eine neuere Version dieses Skriptes oder auch anderer Programme stoßen kann.

Das Skript beginnt folgendermaßen:

! /usr/bin/bash
LOGFILE="attacks.log" declare -a ports
show_help () {
    local format="%-20s %s\n"
    printf "$format" "start:" "fake 4000 {5000..5005}"
    printf "$format" "list:" "ps -e | sort -k 4"
    printf "$format" "terminate:" "killall {fake.sh,netcat}"
}

Es wird einmal eine Variable und ein Array deklariert, die dann beide später auch benutzt werden. Hier an dieser Stelle habe ich auf etwas ungewöhnliche Art und Weise in der show_help-Funktion formatiert. Der Printf-Befehl ist ja nicht immer leserlich, und so habe ich das Format in einer Variablen abgespeichert und den Printf-Befehl und dessen Parameter weiträumig auseinandergezogen und in Spalten arrangiert. Das sieht dann vielleicht etwas cobol-artig aus. Man muss es nicht immer so machen, wie es die Allgemeinheit macht.

Als Nächstes kommt dann der Block, der entscheidet, ob eine Hilfe angezeigt wird oder nicht:

if ( grep -q -E "help|h"

Quelle: https://github.com/LastCaballero/Bash-Warrior/tree/main/FakeService

Tags

bash, netcat, fake, read, random

The_Raven
Geschrieben von The_Raven am 1. Oktober 2024 um 09:39

Gute Idee. Ein "Honeypot" 👍😎 Könnte man ev. noch mit fail2ban koppeln um den Angreiffer gleich zu blockieren.

tux0r
Geschrieben von tux0r am 1. Oktober 2024 um 09:49

Nein, öffentliche Netze sind nie sicher.

The_Raven
Geschrieben von The_Raven am 1. Oktober 2024 um 13:31

Was willst du damit sagen? 🤔 Es gibt keine sicheren Netze. Egal ob öffentlich oder nicht. Schon mal einen Randsomware-Angriff mit erlebt? Die sind Tage, Wochen oder sogar Monate vorher im Netz und suchen gezielt nach Schwachstellen. Darum macht es durchaus Sinn auch Geräte in vermeintlich sicheren Netzen zu schützen. 😉

Naja
Geschrieben von Naja am 1. Oktober 2024 um 10:40

Ich kann ehrlich gesagt nicht ganz folgen… Versteh ich das richtig, das ist quasi ein Honeypot und du protokollierst damit Portscans?

Kommt mir vor als wäre der Artikel nicht ganz vollständig. Geht das nur mir so?

Goran
Geschrieben von Goran am 2. Oktober 2024 um 13:16

War nur ein kleiner Fehler bei der Übermittlung. Aber die README im Github ist in etwa so wie ein kleiner Artikel.

Jonny
Geschrieben von Jonny am 2. Oktober 2024 um 07:33

Es gibt ein FOSS tool welches deine Idee noch etwas umfangreicher implementiert hat. (fake Samba, ftp, etc...)

https://canary.tools

und weiter?
Geschrieben von und weiter? am 2. Oktober 2024 um 08:01

Auf deiner Github-Seite geht es nach der Erklärung der Hilfe weiter. Hast du hier mittendrin abgebrochen?

Goran
Geschrieben von Goran am 2. Oktober 2024 um 13:14

War ein kleiner Fehler bei der Übermittlung. Sollte noch weiter gehen. Aber die README ist in etwa so wie ein kurzer Artikel.