@@Joh8145 vlt solltest mal kalui linux als Distro testen. Ich finde es erweitert ungemein die möglichkeiten. Dann is dir und deinem Pi vlt nicht mehr so oft langweilig.
Eine Idee wäre ja auch, eine erfolgreich eingeloggte ssh-Verbindung zu simulieren und so lauter Fake-Erfolge rauszusenden, so dass die Angreifer am Ende nicht mehr wissen, welche Daten sie gebrauchen können und welche nicht :D
das stimmt, wird hoffentlich in zukunft darauf angepasst. Aber fürs erste sollte dies reichen, bis halt die angreifer mehrheitlich ihr skript angepasst haben.
Danke für den Hinweis :) Hatte mich im Video schon gefragt, welches Terminal er nutzt, dass strg + c funktioniert. Naja, bis dann wenige Sekunden später...
SChöne Sache. Bitte mehr davon. 👍 Ähnliches hatte ich früher auf einem Webserver laufen. SSH auf einen irregulären Port verlegt und mit Zertifikat authentifiziert. Auf dem Port 22 lag ein Dummy, der lediglich die Kennwortabfrage ausgab, jegliche Eingabe mit "Wrong password" quittierte und wieder zu "Enter Password" zurückging. Die eingegebenen Versuche wurden angezeigt.... wir habe oft am Monitor gestanden und uns kaputtgelacht.
Ist ja trotzdem noch aktuell. Ich habe vor 2 Wochen einen Pi ins Internet gehängt mit aktiviertem SSH und als exposed Host an der FritzBox. Passwort habe ich so gelassen, wie in Raspbian vorgegeben. Es hat nur einen Tag gedauert, bis jemand sich seiner bemächtigt hatte. War schön zu sehen mit tcpdump, wohin der Pi plötzlich telefonieren wollte.
@@marcelstoff Du fügst einfach am Ende des Befehls der den ssh-tapit server zum lauschen bringt ein " > tarpit.log" an. Achte allerdings bitte darauf, dass wenn du sowas in ein Skript packst, es mit entsprechenden Schreibrechten versiehst. LG
@@blackasthesky Ich wollte halt ein wenig experimentieren 😎 Auf dem Pi war natürlich nichts drauf, was irgendwie wichtig gewesen wäre. Aber darum ging es dem Angreifer wohl gar nicht. Der wollte den wohl als Portscanner nutzen und für DDOS-Angriffe.
Das könnte man noch etwas aufhübschen, in dem man die log Daten z.B. mit FileBeats, Logstash, Prometheus, InfluxDB o.ä. wegschreibt, noch ein GeoIP dazu und das dann auf einer Weltkarte visualisiert z.B. in Grafana, Kibana o.ä.
Coole Sache, auch wenn der Nutzen eher fraglich ist. Die Bots können an solche "Teergruben" leicht angepasst werden, man sieht ja auch in dem gezeigten log File, dass manche Bots schon nach ein paar Sekunden aussteigen. Außerdem müssten dann sehr viele Rechner im Internet so eine "Teergrube" haben, damit dass eine nachhaltige Wirkung auf die Angreifer hätte. Trotzdem ein lustiges Projekt, gefällt mir.
Ja, aber meist ist es für die deutlich einfacher auf Masse zu gehen und dann so solche Fällen inkauf zu nehmen, die ein wenig ausbremsen. Weil das machen ja kaum welche und ist entsprechend selten. Ähnlich wie bei Emailadressen im Impressum zu schützen, indem man das @ durch {at} oder ähnliches ersetzt. Man kann die Bots theoretisch auch an diese Fälle anpassen, aber macht offenbar niemand. Es gibt einfach genügend Fälle, wo der unangepasste Bot problemlos arbeiten kann.
Ich habe alleine in 4 Stunden fast 50 Fest gehalten ein Inder sogar seit 3:45:00 der es alle 120 Sekunden neu versucht. Der wird sich morgen richtig Ärgern die haben aktuell ~22 Uhr. Es reichen ja schon wenige aus um den Prozess auf Millionen Adressen ewig in die Länge zu ziehen. Kein Bot hat bisher unter 12 Sekunden hier stecken geblieben das sind 12000 Adressen die nicht abgesucht werden konnten
@@WosesTM Das ergibt keinen Sinn. Nur weil ein Angreifer sich bei dir dieses Banner 12 Sekunden runterlädt kann er mit anderen Threads und CPU-Kernen weiterhin andere Server angreifen. Wenn man dann noch so 'moderne' Dinge wie epoll/asyncio/non-blocking io benutzt kann ein einzelner Thread sogar mehrere Ziele gleichzeitig angreifen. Das ist mal wieder ein typischer Fall eines falschen Threat models, nur weil auf der Kommandozeile 'ssh' hängt beim Verbinden mit dem Tarpit, heißt das ja nicht, dass ein gut geschriebener SSH Scanner hängt. Ein SSH Scanner ist immer durch die Bandbreite beschränkt, so ein Tarpit klaut vielleicht wenn überhaupt CPU-Zeit aber die is sowie so nicht der limitierende Faktor.
@@N3name Trotzdem hat der Angreifer auf dem Host wo der Scanner/Bot läuft ein Problem seitens des TCP/IP-Stacks. Wenn der in genügend Teergruben läuft gehen ihm irgendwann die Tupel Dst-Ip/Random Source Port aus und dann ist Ende Gelände, weil dann der TCP/IP Stack nicht mehr in der Lage ist neue Verbindungen aufzubauen. Klar ist das ein enorm hohes Limit (32 Bit IPv4 Adresse + 16 Bit Src Port ergibt halt 'ne ganze Menge mögliche offene Verbindungen), aber es kostet eben doch Ressourcen und das ist i.d.R. nicht die CPU, sondern so Sachen wie RAM. Zudem kann man die Logdaten aus so einem Tarpit wunderbar als Honeypot verwenden um eine Liste von bösartigen Hosts zu pflegen und diese temporär in Firewalls zu werfen (und wenn man die nur loggen und im Dashboard als Botnet-Hosts darstellen lässt mit Verbindungsziel(en)) um diese auf der gesamten Infrastruktur zu blocken. Natürlich sollte man aufpassen, dass man nicht bei jedem Verbindungsversuch sofort einen Block-Eintrag vornimmt (mögliches "SelfDoS" wenn der Angreifer IP-Spoofing betreibt), aber ein Client der da wiederholt die Verbindung länger als 2 Sekunden aufrecht hält und Daten sendet/empfängt wäre ein guter Indikator. Weiterhin täuscht es den Angreifer, der mit so einem Bot-Scanner ja die "breite Masse" und "Low Hanging Fruit" abfarmen will, über die Existenz des SSH Server auf einem alternativen Port. Beliebt ist ja SSH auf Ports zu 2222, 10022 oder 22222 zu konfigurieren, die solche Bots inzwischen auch nach dem Test auf Port 22 direkt abklappern - aber nur wenn auf Port 22 nix antwortet. Kurzum: Tarpits sind zwar kein Allheilmittel, schaden aber auch i.d.R. nicht und bieten ähnlich wie Honeypots viel Potenzial um Informationen zu sammeln über angreifende Hosts, die man dann bspw. auch direkt mal in einer eigenen privaten RBL für die eigene Mailinfrastruktur temporär listen und in Dashboards grafisch darstellen kann, da solche Bots auch gerne Spam verschicken.
@@FSdarkkilla Professioneller Angreifer kennen aber so etwas wie Timeout, also wieder alles für die Katz. Wenn der Aufruf kein schnelles Feedback gibt, wird eben der Thread zu gemacht. Da eine kritische Masse zu erhalten, bis selbst diese kleinen Verzögerung massive Auswirkungen haben, halte ich für utopisch.
Danke für das Video. Ist eine gute Idee. Habe mir diesen Gaudi gegönnt und ssh-tarpit sowohl auf einem Webserver als auch auf einem Raspberry Pi am Heimanschluss installiert. Man kann nicht abstreiten, dass die Logfile ein Grinsen ins Gesicht zaubert. Die ersten Angriffe kamen nach wenigen Sekunden. Einige "kleben" ewig in der "Teergrube" fest. Viele Bots reagieren jedoch auf das Script und der Disconnect kommt schon nach wenigen Sekunden. Auf jeden Fall hat das Ganze einen sehr guten positiven Nebeneffekt: Seit ich ssh-tarpit auf Port 22 betreibe, wird der "richtige SSH-Dienst" (anderer offener Port) nicht mehr angegriffen. Offenbar interessieren sich die Bots nicht mehr für andere Ports, wenn die Standardports offen sind bzw. zu sein scheinen :D.
Das ist toll. Da hab ich direkt meinen uralt Pi 1 aus der Schublade geholt und gleich mal dafür eingerichtet, damit dieser noch eine sinnvolle Aufgabe hat :) Gerne mehr solcher Videos! Vll eine neue Videoreihe: Ganoven ärgern :)
@@rlZeroTwo Alle Interfaces? Was meinst du damit. Der Port wird doch explizit vom router durchgereicht. Oder meinst du alle Netzwerkschnittstellen am Server?
Ich denke, dass ein ausreichend starkes Passwort vollkommen in Ordnung ist. Nur so Passwörter wir "admin", "root", "Malle123", o.Ä. zu nehmen ist wirklich dämlich.
@@maitremanta3672 Das stimmt. Aber Schlüsselpaare haben den Vorteil, dass man sie sich nicht merken muss. Das kann aber natürlich auch ein Sicherheitsrisiko sein.
@@maitremanta3672 ein Freund von mir hat sich einen Raspberry Pi geholt und einfach ALLE Ports nach außen geöffnet und sein SSH Passwort war 1234. Du kannst dir nicht vorstellen wie ich mir an den Kopf gefasst habe
So, meinen alten Pi 1A+ hervorgekramt und meine Teergrube gebuddelt. Seit ca. 2,5 Std. beschäftige ich einen Port-Scanner mit gleicher IP. Ein Spässken. :-))
Coole Sache! Danke fürs drauf aufmerksam machen. Ich habs mir gerade als docker container auf meinem VPS und meinem Odroid zu hause eingerichtet, hören auf 22, 2222 und 2022 ;-) Aus Interesse habe ich auch gleich mal ein paar andere Logs gecheckt (ufw, nginx). Ist schon ganz interessant, was es so an Hintergrundrauschen im Netz gibt. Z.B. wie öfter mal Leute versuchen, irgendwelche standard Anmeldeseiten-URLs auf meiner Domain aufzurufen (wordpress login und so), die natürlich gar nicht existieren.
Ja und jedes Mal denke ich mir dabei: "Mit mir nicht!" xD Es sind aber auch immer wieder die üblichen verdächtigen, wenn's dir auf den Keks gehen sollte... einfach IP's sperren und gut ist. ;)
Danke für das Video. Ich hab es gleich installiert und ich freue seit dem diebisch darauf in den log zu schauen, wer den da in meine Falle getappt ist.
Kleiner Tipp: Den Bildschirm im Terminal löschen geht besser mit -L als immer "clear" zu tippen. Copy-Paste im Terminal unter Linux geht mit --C für Copy und synonym --V für Paste!
An alle: Wenn ihr den Spaß nachmacht und nicht den Standart-SSH-Port abgeändert habt, dann werdet ihr von außerhalb des eigenen Netzwerkes nicht mehr auf dieses Gerät per SSH zugreifen können (wie im Video schon erwähnt)! Außerdem empfehle ich euch dringend vor dem ändern des Standart-SSH-Ports eine entsprechende Regel in der von euch benutzten Firewall hinzuzufügen, da sonst gar nicht mehr per SSH zugegriffen werden kann. Ich hoffe ich konnte das Schlimmste verhindern, liebe Grüße!
Vielen Dank für das super Video. Endlich mal wieder eins, weshalb ich diesen Kanal abonniert habe. Habe ich richtig gesehen, dass das Programm nicht als Service läuft und man es jedes Mal manuell neu starten muss, wenn man den Pi neu startet?
Genau das hab ich mir auch gedacht. edit: Es startet nicht automatisch, deshalb habe ich den Befehl in eine teer.sh geschrieben, sie ausführbar gemacht und starte diese mit /etc/crontab (@reboot mit einem plep-user). Klappt nun wunderbar :)
Dann bastel dir ein init script... z.b. hier: www.techgrube.de/tutorials/programme-unter-ubuntu-als-dienst-ausfuehren-lassen oder Beispiel: github.com/fhd/init-script-template/blob/master/template
ich habe mir einen tarpit.service angelegt, der von systemd verwaltet wird und z.b. den Dienst automatisch startet nach einem reboot. th-cam.com/video/fYQBvjYQ63U/w-d-xo.html
Nice! 😊 Als es G+ noch gab, gab es eine Community, wo die Mitglieder ähnliche Ideen kommunizierten. Ist immer schön, wenn Systeme, deren Funktionsweise auf diese Weise erstens verstanden und zweitens; Strategien erdacht werden. Was nützt z.B. nen Programm, wenn man im Grunde gar nicht weiß, was tatsächlich passiert? Es aber nutzt & dabei hofft, dass es auch macht, was es soll? Eben: ist wie Lotto oder die Wettervorhersage. 😋 Sehr elegante Herangehensweise. 👍👍👍
Zu 14:30 sei vielleicht noch gesagt, dass es (noch) sicherer und bequemer ist sich einfach per VPN ins Heimnetz zu verbinden. Dann braucht man nicht mit Portfreigaben herumhantieren, sondern kann einfach alles "wie gewohnt" nutzen, sobald man mit dem VPN verbunden ist.
Da ich letztens bemerkt habe das es wieder einen größeren Angriff auf Port 443 der FritzBox (myFritz) gibt, kam mir das hier sehr gelegen. Sofort auf dem Raspberry installiert. Und schon nach nur 3 Stunden hatte ich 9 Attacken von der IP 45.155.205.225. Ich muss gestehen es macht diebischen Spaß in der Log Datei nachzusehen ;-)
ich hatte schon mehrere angriffe auf mein QNAP-Nas, meist aus russischer Umgebung laut IP-Info. seitdem ich den Standartport auf einen völlig abnormalen geändert habe ist Ruhe. Immerhin gibts direkt nach dem ersten Loginversuch nen Blacklisteintrag
habe aktuell einen in der Grube sitzen, der sich in der Zeit von 20:56:42 Uhr bis 21:08:30 Uhr ganze 731 mal verbunden hat. Bin gespannt wie langen der noch bleibt. Aktuelle Zeit 23:58
Kann man auch mit einem Skript sich im Log auch ausrechnen lassen, wie lange jeder Scanner stecken geblieben ist? Vielleicht auch mit einer Gesamtsumme von wegen: Sie haben Angreifern bereits 43:23:12 gekostet.
zu Win95 zeiten hätte ich alternativ an die ip vom angreifer einen ping of death von nem linux rechner geschickt 😅 (was natürlich nur funktioniert sofern Angreifer auch tatsächlich Win95 für die SSH Anfrage genutzt hätte) die hier gezeigte Variante finde ich aber wirklich auch originell 😃
Sehr cool, aber da scheint mir in deinen Erklärungen ein generelles Missverständnis vorzuliegen, wie TCP/IP funktioniert, und meines Wissens verwendet SSH nur eine einzige Verbindung zur Shell (im Gegensatz zu FTP). Es wird nicht auf "einen anderen port als 22" geeinigt, sondern z.B. der 222.187.222.55 spricht immer mit deinem Port 22, auf SEINER Seite aber wird der willkürliche Port 49118 verwendet. Also 222.187.222.55 Port 49118 spricht mit deiner IP Port 22, und das bleibt auch die ganze Zeit über. Dein Computer kann bei mehreren Zugriffen verschiedener Clients (hier: Angreifer) gleichzeitig anhand der Absenderadresse/Port-Kombination die Kommunikation zwischen allen unterscheiden. Es bleibt aber auf deiner Seite immer bei Ports 22. Es gibt Protokolle wie, die eine Vorkommunikation über einen sogenannten Control Port aufbauen und z.B. den ganzen Loginvorgang und die Directorylistings damit abwickeln, die anderen Sachen (hier: das eigentliche Senden oder Empfangen von Dateien) aber über eine zweite Connection machen, und über den Control Port wird dann quasi ausgehandelt, welche Ports etc. diese zweite Connection bekommt auf beiden Seiten, aber bei fast allen normalen Kommunikationen (http, https, smtp, ...) geht es über einen TCP-Port.
Möglicherweise ein kleiner inhaltlicher Fehler: Eine Verbindung besteht immer aus 2 Port und 2 IPs, da wird nicht ein Port gewechselt. Es ist egal, wie viele Anfragen an einen Port kommen, solange jede Anfrage von einer eigenen IP + Port Kombi kommt. Da kümmert sich aber grundsätzlich eh die Gegenseite, dass dies eindeutig ist
Klar, wird da nur der Port "ausgehandelt" an den der Server die Antwort senden soll, während der Client weiterhin Port 22 verwendet. Nur sollen die Videos auch für normal sterbliche verständlich gehalten werden. Ich glaube fürs OSI-Modell ist in dieser viertel Stunde kein Platz mehr ;)
@@luzidd7414 Einfach nur zu sagen, dass es falsch ist, bringt hier niemanden weiter. Wenn du es besser weißt, dann kläre uns auf. Nachdem allem was ich eben im Wireshark gesehen habe und in der RFC4254 Nachlesen konnte, kann ich absolut nicht nachvollziehen, was du sagen willst. Weil ich konnte nur Folgendes sehen: Client zu Server: "192.168.0.10:44763 -> 192.168.0.2:22" Server zu Client "192.168.0.2:22 -> 192.168.0.10:44763".
@@sparkfuchs Sorry, vielleicht habe ich dich falsch verstanden. Als du geschrieben hast, dass der Client weiterhin den Port 22 verwendet dachte ich du meinst damit der Client benutzt Port 22 als seinen Source Port. Natürlich geht die Anfrage an Port 22 des Servers, insofern benutzt der Client Port 22 als Destination Port.
@@luzidd7414 Achso, na dann hat es sich immerhin aufgeklärt ;) Mir fällt so im Nachhinein auf, dass meine Antwort etwas bissig formuliert war... Tut mir leid, dafür. Ich sollte meinen Stress nicht an unbeteiligten auslassen ^^'
Cooles Ding. Was ich richtig nice fände, wäre eine Anwendung, die man so einstellen kann, dass wenn jemand versucht, auf Port 22 eine Konsole zu öffnen, einfach die IP komplett bannt :D Wenn man (wie ich es sowieso für sinnvoller halte) seinen SSH nur lokal hat und von außen tunneln müsste, gibt es ja keinen Grund, selbst den Port 22 über die Weiterleitung zu kontaktieren.
So was gab's schon mal, aber gut wenn es mal wieder aufbereitet wurde ;) Dürfte aber für den "Angreifer" ein Leichtes sein, einen Timeout zu setzen und weiter zu ziehen.
@@jobcentertycoon Das haben die bis heute noch nicht "gerafft"? 😂 👍 hätte ich jetzt erwartet ... irgendwie schon etwas "enttäuschend" :P Das bedeutet wohl auch, dass die nur die Ergebnisse abfischen, das Ganze gar nicht auffällt, sich gar nicht aktiv damit auseinandersetzen Oder ganz einfach nicht wissen, das zu verhindern 😂😂😂
@@brandonoderso5175Klingt ja wirklich nach Spaß. Ok, überredet! Heute Abend mal nen PI zurecht machen :D Ist ja alles dicht bei mir, was ich nicht brauche bzw auf ungewöhnlichen Ports. (hoffe, Vodafone lässt den 22er durch? lol)
Wie lasse ich das ganze beim PI dann automatisch beim Hochfahren starten? Die Umleitung der Ausgabe in eine Textdatei bereitet mir irgendwie auch Probleme. Eine einfache Krokodilsklammer (>) scheint bei mir jedenfalls nicht zu funktionieren
Jo, Selbsthilfegruppe trifft's ganz gut :D Ich schau demnächst auch mal wieder vorbei, ist tatsächlich lustiger als erwartet. Etwas hintergrundgedüdel wäre nicht schlecht. Und wenn ihr noch mehr teer verteilen wollt, schaut euch mal LaBrea an.
Um Befehle von der Konsole zu kopieren unter Linux Mint Rechtsklick oder Strg + shift + c Mit Strg + shift + v kann man das Kopierte wieder einfügen in der Konsole.
Irgendwie sehr erschreckend. Ich habe die Software auf meinem Intel NUC, den ich für Home Assistant und diverse andere Dienste benutze in einem Docker Container installiert und nach 7 Minuten kam schon der erste Angreifer rein... Und das obwohl bei unserem Internetanschluss wird jede Nacht die IP Adresse gewechselt wird.
Für den echten Server ist fail2ban ganz praktisch. Nach ein paar fehlgeschlagenen Logins werden die IP-Adresse für ein paar Minuten von der Firewall geblockt. Das bremst dann auch kräftig aus.
Das könnte man sogar noch etwas aufmotzen für die Angreifer die alle Ports scannen? 2 Weiterleitungen am Router, z.B. Port 22 und 24, und seinen echten SSH setzt man auf die 23. ...dann hat jeder Spaß
hey ich habe zwei probleme mit dem tarpit, das erste ist das ich kein log datei geschriben wird 4 &** /home/pi/Desktop/tarpit.log. das zweite problem ist das ich eine komischen fehlermeldung bekomme ""Fatal write error on socket transport protocol: transport: Traceback (most recent call last): File "/usr/lib/python3.7/asyncio/selector_events.py", line 857, in write n = self._sock.send(data) TimeoutError: [Errno 110] Connection timed out""
super Sache, aber wird das ssh tarpit bei einem Neustart wieder aktiviert oder muss ich die Zeile jedes mal neu eingeben? Ich hatte schnell nachgesehen und nichts gefunden, ähm oder etwas übersehen?
Frage mich, wie es aussieht, wenn man falsche SSH Logins Vortäuscht, und dann mal mit loggt, und guckt, was dann da an Benutzer und Passwort rein geht. Weil dann kann man direkt bei Vermutung den jenigen in ne Ban-List (Online) eintragen mit loggs.
Honeypots sind genau das. Die faken ein komplettes System (oder stellen es sogar bereit), loggen mit und die Betreiber ziehen daraus Erkenntnisse. Mittlerweile z.B. mit Honeytrap (low interaction honeypot) oder anderen, high interaction honeypots, verbreitet im Einsatz.
Hallo, der Beitrag ist gut. Das System funktioniert soweit auch, bis das Terminalfenster geschlossen oder der Pi neu gestartet wird. Gibt es eine Möglichkeit es mit der Crontab zustarten? Mir ist es nicht gelungen. Ich würde es nur nutzen wenn sicher ist das das System automatisch startet. Gruß
Nicht bei allen Provider, bei Vodafone Kabel z.B. behält man seine IP bis man den Router neu startet. Natürlich macht dies bei Vodafone nur Sinn wenn Dual-Stack und kein DS-Lite hat.
wäre schön ein folge video zu bekommen, wie m an das ganze in ein autostart bekommt und wie das mit dem log funktioniert (verstehe die spitzklammer nicht)
Hallöchen, schönes Video :) Danke dafür. @SemperVideo Nach bestätigen der Port-Freigabe kommt in der FB nun der Hinweis in der Spalte "Port extern vergeben IP v4: "Für diese Freigabe wurden andere Ports extern vergeben als von Ihnen gewünscht". Und da steht nun, neben einem gelben Dreieck "2222" - ist das richtig? Müsste nicht 22 drin stehen? Oder hab ich was falsch verstanden. VG Jenn
Welchen Vorteil hat man bei ssh-tarpit im gegensatz zu einer block-lösung wie z.B fail2ban? Bei ssh-tarpit muss mein Server im schlimmsten Fall mehrere Teergruben-Verbindungen offen halten, bei fail2ban wird nach x falschen versuchen die Angreifer IP direkt per iptables geblockt. Nur weil man den Angreifer ärgern will?
Frage zu der Freigabe: Hab auch eine Fritzbox (7490) nur ist bei mir das Menü anders. Ich hab folgendes eingegeben: unter Internet>Freigaben (gibt es nur [Freigaben für Gerät], bei Gerät [IP-Adresse manuell eingeben] bei IPv4 Adresse [Adresse der Fritzbox]. Folgend eine Neue Freigabe anlegen, bzw. kann ich dort dann die Daten wie aus dem Beispiel eintragen. Passt das so? Oder muss ich als Gerät dort den Pi eintragen? Nachtrag: ok kommt eine Fehlermeldung: ip wird bereits verwendet Nachtrag 2: ip vom pi geht auch nicht. Weiß nicht was ich dort eintragen soll...
Hab damit jetzt mal etwas herumgespiel. Mir ist es schon 2 mal passiert das eine IP im Sekundentakt Verbindungen geöffnet hat und auch offen gehalten hat, bis Python abgeschmiert ist mit "socket.accept() out of system resouce". Dann war das Logfile innerhalb 30min 1.3GB groß. Nur gut das ich das etwas im Auge behalten hatte.
Danke für dein tolles Video. Gibt es nicht eine Möglichkeit einen definierten Port für SSH freizuschalten, nachdem vorher ein Ping oder SSH Versuch auf einem anderen Port versucht wurden (Port Knocking). Muss man dafür immer mit iptables arbeiten (Videoidee)?
Das Logfile ist unter "/home/pi/tarpit.log" zu finden, wenn man das ganze auf einem Raspberry Pi laufen hat. Das muss aber zusammen mit den anderen Parametern angegeben werden sonst wird kein Logfile angelegt. Jedenfalls war das bei mir so. So sieht es bei mir aus: ssh-tarpit -f /home/pi/tarpit.log -i 4 -a -p 2222
"... kostet nix..." stimmt so nicht. Jeder gefangene Verbindungsaufbau reserviert RAM und CPU time in Form eines Sockets bis die Verbindung geschlossen wird. Das heißt bei z.B. mehreren tausend gleichzeitig gefangen Verbindungsversuchen auf einem vServer oder einem Raspberry Pi opfert man selbst einen unter Umständen nicht unerheblichen Teil der eigenen Ressourcen. Bei einem vServer zahlt man sogar noch dafür und läuft Gefahr bei einem OpenVZ basierten Server das Socket Limit zu treffen.
@Lulonaut Das hast du falsch verstanden. Wenn du einen vServer bestellst um darauf deinen Blog oder irgend einen anderen Server zu hosten, dann fehlen diesem Dienst unter Umständen die Ressourcen. Als Analogie, wenn du dir einen teuren Gaming-PC kaufst um damit zu zocken und dabei im Hintergrund die ganze Zeit folding@home laufen lässt, dann musst du dir im Klaren sein, dass der PC für seinen eigentlichen Zweck nicht die vollständige Performance leistet. Was mich aber interessiert, kennst du einen vServer Anbieter der Crypto mining erlaubt? Das würde mich ernsthaft interessieren. Alle Anbieter innerhalb DE, die ich kenne, schließen das rigoros in ihren AGBs aus.
Sag' mal, hast Du 'n Port offen?
Made my day 😂😂😂
Ne n port gesoffen
Made my day, too 😂😂😂
8080 :-P
@@FilmfanOliver1992 httphttp
Mehr solch lustigen Ganoven-Schreck😎😂
Ja bitte HTTP und SMTP nachlegen denn mein pi langweilt sich
@@Joh8145 vlt solltest mal kalui linux als Distro testen.
Ich finde es erweitert ungemein die möglichkeiten. Dann is dir und deinem Pi vlt nicht mehr so oft langweilig.
foll fool style 17% skill zZzzzzzzz 😁😎👍
wird doch bestimmt wieder als gefährlich angesehen von youtube.
Anzeige ist raus!
hab das video schon gemeldet ^^
@@TheCheffmaster @Sal Kin Hoffe das dass nur ein Scherz war !!!
@@manfredpaulsen6232 ist ein scherz
@@TheCheffmaster xd
Eine Idee wäre ja auch, eine erfolgreich eingeloggte ssh-Verbindung zu simulieren und so lauter Fake-Erfolge rauszusenden, so dass die Angreifer am Ende nicht mehr wissen, welche Daten sie gebrauchen können und welche nicht :D
das stimmt, wird hoffentlich in zukunft darauf angepasst. Aber fürs erste sollte dies reichen, bis halt die angreifer mehrheitlich ihr skript angepasst haben.
@@Duesi2024 Gibt nen älteren DefCon talk darüber, mal nach "defcon21 defense by numbers" suchen.
Strg + Shift + c ist kopieren im Terminal. Für die Zukunft, falls das gelesen wird.
Danke
Danke für den Hinweis :)
Hatte mich im Video schon gefragt, welches Terminal er nutzt, dass strg + c funktioniert. Naja, bis dann wenige Sekunden später...
Unter Linux benutze ich Ctrl+insert zum Kopieren und Shift+insert zum Einfügen.
gut zu wissen
Rechtsklick geht auch meistens.
Der nächste Rechtsklick in die Kommandozeile und fertig.
SChöne Sache. Bitte mehr davon. 👍
Ähnliches hatte ich früher auf einem Webserver laufen.
SSH auf einen irregulären Port verlegt und mit Zertifikat authentifiziert.
Auf dem Port 22 lag ein Dummy, der lediglich die Kennwortabfrage ausgab, jegliche Eingabe mit "Wrong password" quittierte und
wieder zu "Enter Password" zurückging.
Die eingegebenen Versuche wurden angezeigt.... wir habe oft am Monitor gestanden und uns kaputtgelacht.
Da ist es wieder! Das gute alte Semper Video! Rezept!!😎✌️
klasse Bericht - immerhin erst 2 Jahre nach Chris Wellons Idee aufgegriffen und für die breite Masse gut erklärt 👍🏻
Ist ja trotzdem noch aktuell.
Ich habe vor 2 Wochen einen Pi ins Internet gehängt mit aktiviertem SSH und als exposed Host an der FritzBox. Passwort habe ich so gelassen, wie in Raspbian vorgegeben. Es hat nur einen Tag gedauert, bis jemand sich seiner bemächtigt hatte. War schön zu sehen mit tcpdump, wohin der Pi plötzlich telefonieren wollte.
@@marcelstoff Du fügst einfach am Ende des Befehls der den ssh-tapit server zum lauschen bringt ein
" > tarpit.log"
an.
Achte allerdings bitte darauf, dass wenn du sowas in ein Skript packst, es mit entsprechenden Schreibrechten versiehst.
LG
@@e1woqf Hab ich auch schonmal gehört:
"...ja ich wurde mal gehackt [...] offenes ssh und sclechtes pw..."
@@e1woqf Warum Exposed Host?! Man muss doch bloß Port 22 (außen) auf 2222 (innen) mappen!
@@blackasthesky Ich wollte halt ein wenig experimentieren 😎
Auf dem Pi war natürlich nichts drauf, was irgendwie wichtig gewesen wäre. Aber darum ging es dem Angreifer wohl gar nicht. Der wollte den wohl als Portscanner nutzen und für DDOS-Angriffe.
Das könnte man noch etwas aufhübschen, in dem man die log Daten z.B. mit FileBeats, Logstash, Prometheus, InfluxDB o.ä. wegschreibt, noch ein GeoIP dazu und das dann auf einer Weltkarte visualisiert z.B. in Grafana, Kibana o.ä.
Hab ich auch am laufen 😂
@@maddoggLP Eine Visualisierung? Wenn ja, bitte um anleitung! :D
Wäre ne richtig geile Sache
Coole Sache, auch wenn der Nutzen eher fraglich ist. Die Bots können an solche "Teergruben" leicht angepasst werden, man sieht ja auch in dem gezeigten log File, dass manche Bots schon nach ein paar Sekunden aussteigen. Außerdem müssten dann sehr viele Rechner im Internet so eine "Teergrube" haben, damit dass eine nachhaltige Wirkung auf die Angreifer hätte. Trotzdem ein lustiges Projekt, gefällt mir.
Ja, aber meist ist es für die deutlich einfacher auf Masse zu gehen und dann so solche Fällen inkauf zu nehmen, die ein wenig ausbremsen. Weil das machen ja kaum welche und ist entsprechend selten. Ähnlich wie bei Emailadressen im Impressum zu schützen, indem man das @ durch {at} oder ähnliches ersetzt. Man kann die Bots theoretisch auch an diese Fälle anpassen, aber macht offenbar niemand. Es gibt einfach genügend Fälle, wo der unangepasste Bot problemlos arbeiten kann.
Ich habe alleine in 4 Stunden fast 50 Fest gehalten ein Inder sogar seit 3:45:00 der es alle 120 Sekunden neu versucht. Der wird sich morgen richtig Ärgern die haben aktuell ~22 Uhr. Es reichen ja schon wenige aus um den Prozess auf Millionen Adressen ewig in die Länge zu ziehen. Kein Bot hat bisher unter 12 Sekunden hier stecken geblieben das sind 12000 Adressen die nicht abgesucht werden konnten
@@WosesTM Das ergibt keinen Sinn. Nur weil ein Angreifer sich bei dir dieses Banner 12 Sekunden runterlädt kann er mit anderen Threads und CPU-Kernen weiterhin andere Server angreifen. Wenn man dann noch so 'moderne' Dinge wie epoll/asyncio/non-blocking io benutzt kann ein einzelner Thread sogar mehrere Ziele gleichzeitig angreifen.
Das ist mal wieder ein typischer Fall eines falschen Threat models, nur weil auf der Kommandozeile 'ssh' hängt beim Verbinden mit dem Tarpit, heißt das ja nicht, dass ein gut geschriebener SSH Scanner hängt. Ein SSH Scanner ist immer durch die Bandbreite beschränkt, so ein Tarpit klaut vielleicht wenn überhaupt CPU-Zeit aber die is sowie so nicht der limitierende Faktor.
@@N3name Trotzdem hat der Angreifer auf dem Host wo der Scanner/Bot läuft ein Problem seitens des TCP/IP-Stacks. Wenn der in genügend Teergruben läuft gehen ihm irgendwann die Tupel Dst-Ip/Random Source Port aus und dann ist Ende Gelände, weil dann der TCP/IP Stack nicht mehr in der Lage ist neue Verbindungen aufzubauen. Klar ist das ein enorm hohes Limit (32 Bit IPv4 Adresse + 16 Bit Src Port ergibt halt 'ne ganze Menge mögliche offene Verbindungen), aber es kostet eben doch Ressourcen und das ist i.d.R. nicht die CPU, sondern so Sachen wie RAM. Zudem kann man die Logdaten aus so einem Tarpit wunderbar als Honeypot verwenden um eine Liste von bösartigen Hosts zu pflegen und diese temporär in Firewalls zu werfen (und wenn man die nur loggen und im Dashboard als Botnet-Hosts darstellen lässt mit Verbindungsziel(en)) um diese auf der gesamten Infrastruktur zu blocken. Natürlich sollte man aufpassen, dass man nicht bei jedem Verbindungsversuch sofort einen Block-Eintrag vornimmt (mögliches "SelfDoS" wenn der Angreifer IP-Spoofing betreibt), aber ein Client der da wiederholt die Verbindung länger als 2 Sekunden aufrecht hält und Daten sendet/empfängt wäre ein guter Indikator. Weiterhin täuscht es den Angreifer, der mit so einem Bot-Scanner ja die "breite Masse" und "Low Hanging Fruit" abfarmen will, über die Existenz des SSH Server auf einem alternativen Port. Beliebt ist ja SSH auf Ports zu 2222, 10022 oder 22222 zu konfigurieren, die solche Bots inzwischen auch nach dem Test auf Port 22 direkt abklappern - aber nur wenn auf Port 22 nix antwortet.
Kurzum: Tarpits sind zwar kein Allheilmittel, schaden aber auch i.d.R. nicht und bieten ähnlich wie Honeypots viel Potenzial um Informationen zu sammeln über angreifende Hosts, die man dann bspw. auch direkt mal in einer eigenen privaten RBL für die eigene Mailinfrastruktur temporär listen und in Dashboards grafisch darstellen kann, da solche Bots auch gerne Spam verschicken.
@@FSdarkkilla Professioneller Angreifer kennen aber so etwas wie Timeout, also wieder alles für die Katz. Wenn der Aufruf kein schnelles Feedback gibt, wird eben der Thread zu gemacht. Da eine kritische Masse zu erhalten, bis selbst diese kleinen Verzögerung massive Auswirkungen haben, halte ich für utopisch.
Danke für das Video. Ist eine gute Idee. Habe mir diesen Gaudi gegönnt und ssh-tarpit sowohl auf einem Webserver als auch auf einem Raspberry Pi am Heimanschluss installiert.
Man kann nicht abstreiten, dass die Logfile ein Grinsen ins Gesicht zaubert.
Die ersten Angriffe kamen nach wenigen Sekunden. Einige "kleben" ewig in der "Teergrube" fest.
Viele Bots reagieren jedoch auf das Script und der Disconnect kommt schon nach wenigen Sekunden.
Auf jeden Fall hat das Ganze einen sehr guten positiven Nebeneffekt: Seit ich ssh-tarpit auf Port 22 betreibe, wird der "richtige SSH-Dienst" (anderer offener Port) nicht mehr angegriffen. Offenbar interessieren sich die Bots nicht mehr für andere Ports, wenn die Standardports offen sind bzw. zu sein scheinen :D.
Andreas sagt "Shoutout" - als nächstes begrüßt er mit "Whats up bro?"
Das ist toll. Da hab ich direkt meinen uralt Pi 1 aus der Schublade geholt und gleich mal dafür eingerichtet, damit dieser noch eine sinnvolle Aufgabe hat :)
Gerne mehr solcher Videos! Vll eine neue Videoreihe: Ganoven ärgern :)
Wirklich genial! Danke Mike, für das zur Verfügung stellen. Werde ich heute Abend gleich mal umsetzen.
Habe das schon seit monaten auf meinem Hauptserver und im auth.log sieht man eindeutig, wie viel es bringt.
Kann es nur sehr weiter empfehlen ! :D
achja und sehe gerade man kann auch einfach "-a 0.0.0.0" setzen um auf alle interfaces zu hören :D
@@rlZeroTwo Alle Interfaces? Was meinst du damit. Der Port wird doch explizit vom router durchgereicht. Oder meinst du alle Netzwerkschnittstellen am Server?
@@danielbachmayer alle Netzschnittstellen, 0.0.0.0 halt xD
Es ist natürlich auch zu empfehlen, den SSH-Port nicht mit einem Passwort zu schützen, sondern mit einem Schlüsselpaar. Das ist viel sicherer.
Ich denke, dass ein ausreichend starkes Passwort vollkommen in Ordnung ist. Nur so Passwörter wir "admin", "root", "Malle123", o.Ä. zu nehmen ist wirklich dämlich.
@@maitremanta3672 Das stimmt. Aber Schlüsselpaare haben den Vorteil, dass man sie sich nicht merken muss. Das kann aber natürlich auch ein Sicherheitsrisiko sein.
@@maitremanta3672 ein Freund von mir hat sich einen Raspberry Pi geholt und einfach ALLE Ports nach außen geöffnet und sein SSH Passwort war 1234. Du kannst dir nicht vorstellen wie ich mir an den Kopf gefasst habe
@@amp08021
Der Freund schreit ja nahezu nach einem Hackerangriff.
@@maitremanta3672 schönen Dank, jetzt darf ich diese Passwörter ändern! 😡
So, meinen alten Pi 1A+ hervorgekramt und meine Teergrube gebuddelt. Seit ca. 2,5 Std. beschäftige ich einen Port-Scanner mit gleicher IP. Ein Spässken. :-))
Coole Sache! Danke fürs drauf aufmerksam machen. Ich habs mir gerade als docker container auf meinem VPS und meinem Odroid zu hause eingerichtet, hören auf 22, 2222 und 2022 ;-)
Aus Interesse habe ich auch gleich mal ein paar andere Logs gecheckt (ufw, nginx). Ist schon ganz interessant, was es so an Hintergrundrauschen im Netz gibt. Z.B. wie öfter mal Leute versuchen, irgendwelche standard Anmeldeseiten-URLs auf meiner Domain aufzurufen (wordpress login und so), die natürlich gar nicht existieren.
Ja und jedes Mal denke ich mir dabei: "Mit mir nicht!" xD
Es sind aber auch immer wieder die üblichen verdächtigen, wenn's dir auf den Keks gehen sollte... einfach IP's sperren und gut ist. ;)
wwas fuerne geile idee
genial
Danke für das Video. Ich hab es gleich installiert und ich freue seit dem diebisch darauf in den log zu schauen, wer den da in meine Falle getappt ist.
Genial. Wird sofort eingerichtet
Kleiner Tipp: Den Bildschirm im Terminal löschen geht besser mit -L als immer "clear" zu tippen. Copy-Paste im Terminal unter Linux geht mit --C für Copy und synonym --V für Paste!
Danke, den kannte ich auch noch ned ;)
An alle: Wenn ihr den Spaß nachmacht und nicht den Standart-SSH-Port abgeändert habt, dann werdet ihr von außerhalb des eigenen Netzwerkes nicht mehr auf dieses Gerät per SSH zugreifen können (wie im Video schon erwähnt)!
Außerdem empfehle ich euch dringend vor dem ändern des Standart-SSH-Ports eine entsprechende Regel in der von euch benutzten Firewall hinzuzufügen, da sonst gar nicht mehr per SSH zugegriffen werden kann.
Ich hoffe ich konnte das Schlimmste verhindern, liebe Grüße!
Vielen Dank für das super Video. Endlich mal wieder eins, weshalb ich diesen Kanal abonniert habe.
Habe ich richtig gesehen, dass das Programm nicht als Service läuft und man es jedes Mal manuell neu starten muss, wenn man den Pi neu startet?
Genau das hab ich mir auch gedacht.
edit: Es startet nicht automatisch, deshalb habe ich den Befehl in eine teer.sh geschrieben, sie ausführbar gemacht und starte diese mit /etc/crontab (@reboot mit einem plep-user). Klappt nun wunderbar :)
Dann bastel dir ein init script...
z.b. hier: www.techgrube.de/tutorials/programme-unter-ubuntu-als-dienst-ausfuehren-lassen
oder
Beispiel: github.com/fhd/init-script-template/blob/master/template
ich habe mir einen tarpit.service angelegt, der von systemd verwaltet wird und z.b. den Dienst automatisch startet nach einem reboot.
th-cam.com/video/fYQBvjYQ63U/w-d-xo.html
Nice! 😊 Als es G+ noch gab, gab es eine Community, wo die Mitglieder ähnliche Ideen kommunizierten. Ist immer schön, wenn Systeme, deren Funktionsweise auf diese Weise erstens verstanden und zweitens; Strategien erdacht werden.
Was nützt z.B. nen Programm, wenn man im Grunde gar nicht weiß, was tatsächlich passiert? Es aber nutzt & dabei hofft, dass es auch macht, was es soll? Eben: ist wie Lotto oder die Wettervorhersage. 😋
Sehr elegante Herangehensweise. 👍👍👍
1. (5²)² Pis kaufen
2. (5²)² Pis mit ssh-tarpit laufen lassen
3. Freuen.
Du musst aber noch einige öffentliche IPs auf deine Geräte zuweisen :/ ansonsten könnte das ganze ein einzelner Pi erledigen.
/Klugscheißer modus aus.
warum nicht einfach 2³² Raspberry Pi kaufen und damit den kompletten IP-Adressraum ausnutzen?
Zu 14:30 sei vielleicht noch gesagt, dass es (noch) sicherer und bequemer ist sich einfach per VPN ins Heimnetz zu verbinden. Dann braucht man nicht mit Portfreigaben herumhantieren, sondern kann einfach alles "wie gewohnt" nutzen, sobald man mit dem VPN verbunden ist.
Erstaunlich wie viele verbindungen aufgebaut wurden, ich glaub da muss ich auch mal was machen^^
Und schwupps programmieren sich die Entwickler von solchen Angriffsskripts einen timeout, dass nach 5 Sekunden abgebrochen werden soll...
hilft dennoch dagegen das dein server offen liegt am ende :)
Teergruben sind nun wirklich nichts neues und trotzdem hängen da viele fest. Ist einfach zu verlockend ...
Hast du in den Logs ja schon gesehen.
Zu mal man mit der Tarpit seine Adresse als potentiell jucy kennzeichnet, denn niemand hat grundlos eine tarpit
Da ich letztens bemerkt habe das es wieder einen größeren Angriff auf Port 443 der FritzBox (myFritz) gibt, kam mir das hier sehr gelegen.
Sofort auf dem Raspberry installiert. Und schon nach nur 3 Stunden hatte ich 9 Attacken von der IP 45.155.205.225.
Ich muss gestehen es macht diebischen Spaß in der Log Datei nachzusehen ;-)
Bei "um den Angreifern nun ein Schnippchen zu schlagen" (0:42)
musste ich an einen Politiker aus Würselen denken...
ich hatte schon mehrere angriffe auf mein QNAP-Nas, meist aus russischer Umgebung laut IP-Info. seitdem ich den Standartport auf einen völlig abnormalen geändert habe ist Ruhe. Immerhin gibts direkt nach dem ersten Loginversuch nen Blacklisteintrag
Läuft jetzt 2 Tage bei mir. Manche schnallen es nicht und bauen 2-3 Verbindungen auf.... spannender als jeder Krimi.
Wie wäre es mit einem kurzen Video über die windowseigene Sandbox (seit Version 1909 in der Pro-Version integriert)?
einfach aber effektiv, nett
Wie startet man das automatisch beim start von dem Linux? will das bei meinem Proxmox container ins startup einbauen.
Sehr gutes Video!!! Wieder sehr hilfreich für die Sicherheit. LG Sascha
Ich glaube ich werde mir ein paar Cloudserver holen wieder und dann auf allen Tarpit installieren.
Staatsgefährdende Erläuterungen, egal weiter so Super 👍👏
habe aktuell einen in der Grube sitzen, der sich in der Zeit von 20:56:42 Uhr bis 21:08:30 Uhr ganze 731 mal verbunden hat. Bin gespannt wie langen der noch bleibt. Aktuelle Zeit 23:58
Kann man auch mit einem Skript sich im Log auch ausrechnen lassen, wie lange jeder Scanner stecken geblieben ist?
Vielleicht auch mit einer Gesamtsumme von wegen: Sie haben Angreifern bereits 43:23:12 gekostet.
zu Win95 zeiten hätte ich alternativ an die ip vom angreifer einen ping of death von nem linux rechner geschickt 😅
(was natürlich nur funktioniert sofern Angreifer auch tatsächlich Win95 für die SSH Anfrage genutzt hätte)
die hier gezeigte Variante finde ich aber wirklich auch originell 😃
Hahaha, sofort installiert :-)
Danke erstmals
nach 10 Minuten, 3 IP Addressen gefunden, die mich angreifen!
Nun ist dem PI auch nimmer fad ^^ :-)
Also quasi nen reverse slow loris "Angriff". nett.
Sehr cool, aber da scheint mir in deinen Erklärungen ein generelles Missverständnis vorzuliegen, wie TCP/IP funktioniert, und meines Wissens verwendet SSH nur eine einzige Verbindung zur Shell (im Gegensatz zu FTP).
Es wird nicht auf "einen anderen port als 22" geeinigt, sondern z.B. der 222.187.222.55 spricht immer mit deinem Port 22, auf SEINER Seite aber wird der willkürliche Port 49118 verwendet. Also 222.187.222.55 Port 49118 spricht mit deiner IP Port 22, und das bleibt auch die ganze Zeit über. Dein Computer kann bei mehreren Zugriffen verschiedener Clients (hier: Angreifer) gleichzeitig anhand der Absenderadresse/Port-Kombination die Kommunikation zwischen allen unterscheiden. Es bleibt aber auf deiner Seite immer bei Ports 22.
Es gibt Protokolle wie, die eine Vorkommunikation über einen sogenannten Control Port aufbauen und z.B. den ganzen Loginvorgang und die Directorylistings damit abwickeln, die anderen Sachen (hier: das eigentliche Senden oder Empfangen von Dateien) aber über eine zweite Connection machen, und über den Control Port wird dann quasi ausgehandelt, welche Ports etc. diese zweite Connection bekommt auf beiden Seiten, aber bei fast allen normalen Kommunikationen (http, https, smtp, ...) geht es über einen TCP-Port.
wurde direkt umgesetzt auf meinen Server :) nach 6 sekunden waren es schon 8 verbindungen :D
Und wie siehst du die Logs ? ich finde keine
@@norbertruthers2408 im bash script hinten dran gehangen 2> /pfad/zu/logdatei.log
Hab's mir gestern spaßeshalber mal auf meinem öffentlichen Server eingrichtet und über einen Tag sind 220 Leute im Teer gelandet.^^
SSH wechselt nicht den Port. Der im Log angezeigte Port ist der vom Angreifer verwendete Source Port.
… dieses. Und viele weitere Fragwürdigkeiten.
Möglicherweise ein kleiner inhaltlicher Fehler:
Eine Verbindung besteht immer aus 2 Port und 2 IPs, da wird nicht ein Port gewechselt.
Es ist egal, wie viele Anfragen an einen Port kommen, solange jede Anfrage von einer eigenen IP + Port Kombi kommt. Da kümmert sich aber grundsätzlich eh die Gegenseite, dass dies eindeutig ist
Klar, wird da nur der Port "ausgehandelt" an den der Server die Antwort senden soll, während der Client weiterhin Port 22 verwendet. Nur sollen die Videos auch für normal sterbliche verständlich gehalten werden. Ich glaube fürs OSI-Modell ist in dieser viertel Stunde kein Platz mehr ;)
@@sparkfuchs Der Port 22 im Fall von SSH ist nur der Listening Port. Der Source Port ist für den Verbindungsaufbau völlig irrelevant.
@@luzidd7414 Einfach nur zu sagen, dass es falsch ist, bringt hier niemanden weiter. Wenn du es besser weißt, dann kläre uns auf. Nachdem allem was ich eben im Wireshark gesehen habe und in der RFC4254 Nachlesen konnte, kann ich absolut nicht nachvollziehen, was du sagen willst. Weil ich konnte nur Folgendes sehen:
Client zu Server: "192.168.0.10:44763 -> 192.168.0.2:22"
Server zu Client "192.168.0.2:22 -> 192.168.0.10:44763".
@@sparkfuchs Sorry, vielleicht habe ich dich falsch verstanden. Als du geschrieben hast, dass der Client weiterhin den Port 22 verwendet dachte ich du meinst damit der Client benutzt Port 22 als seinen Source Port. Natürlich geht die Anfrage an Port 22 des Servers, insofern benutzt der Client Port 22 als Destination Port.
@@luzidd7414 Achso, na dann hat es sich immerhin aufgeklärt ;)
Mir fällt so im Nachhinein auf, dass meine Antwort etwas bissig formuliert war... Tut mir leid, dafür. Ich sollte meinen Stress nicht an unbeteiligten auslassen ^^'
Cooles Ding.
Was ich richtig nice fände, wäre eine Anwendung, die man so einstellen kann, dass wenn jemand versucht, auf Port 22 eine Konsole zu öffnen, einfach die IP komplett bannt :D
Wenn man (wie ich es sowieso für sinnvoller halte) seinen SSH nur lokal hat und von außen tunneln müsste, gibt es ja keinen Grund, selbst den Port 22 über die Weiterleitung zu kontaktieren.
das hier sollte es können:
de.wikipedia.org/wiki/Fail2ban
Klingt in Verbindung mit einem Portknocking interessant. Ohne die Sequenz gibts einfach das tarpit.
So was gab's schon mal, aber gut wenn es mal wieder aufbereitet wurde ;)
Dürfte aber für den "Angreifer" ein Leichtes sein, einen Timeout zu setzen und weiter zu ziehen.
Bezweifel ich ein Inder hängt schon seit Stunden Fest und läuft immer wieder rein.
Genau deswegen wird ja alle 4 Sekunden ein Paket gesendet um es möglichst weit hinaus zu zögern. Siehst ja der eine klebte 20 minuten fest
@@jobcentertycoon Das haben die bis heute noch nicht "gerafft"? 😂 👍 hätte ich jetzt erwartet ... irgendwie schon etwas "enttäuschend" :P
Das bedeutet wohl auch, dass die nur die Ergebnisse abfischen, das Ganze gar nicht auffällt, sich gar nicht aktiv damit auseinandersetzen
Oder ganz einfach nicht wissen, das zu verhindern 😂😂😂
hier hängt gerade jemand aus paraquay fest :D versuchts seit ein paar stunden immer wieder
@@brandonoderso5175Klingt ja wirklich nach Spaß.
Ok, überredet! Heute Abend mal nen PI zurecht machen :D
Ist ja alles dicht bei mir, was ich nicht brauche bzw auf ungewöhnlichen Ports.
(hoffe, Vodafone lässt den 22er durch? lol)
Wie lasse ich das ganze beim PI dann automatisch beim Hochfahren starten?
Die Umleitung der Ausgabe in eine Textdatei bereitet mir irgendwie auch Probleme. Eine einfache Krokodilsklammer (>) scheint bei mir jedenfalls nicht zu funktionieren
Mega, sehe über meine FW ja immer die Angreifer/Scanner - endlich mal eine Möglichkeit ein wenig zurückzuärgern
Jo, Selbsthilfegruppe trifft's ganz gut :D Ich schau demnächst auch mal wieder vorbei, ist tatsächlich lustiger als erwartet. Etwas hintergrundgedüdel wäre nicht schlecht. Und wenn ihr noch mehr teer verteilen wollt, schaut euch mal LaBrea an.
was richtig feines
Sehr gute Idee, aber wie funktioniert das mit der Log Datei? ist das einfach aus dem Terminal Kopiert? PS:bin Neu bei Linux Mint
Einfach ein >> logdatei.txt hinter die Startparameter
@ wie genau? (Bin ebenfalls Einsteiger :))
Servus, weiß vielleicht jemand wie ich das Tarpit in den Cron packen muss damit er nach einem Neustart gleich startet? Danke.
Kann das seriöser Nutzung in die Quere kommen? Also, wenn ein Passwort nur einmal eingegeben wird?
Um Befehle von der Konsole zu kopieren unter Linux Mint Rechtsklick oder Strg + shift + c
Mit Strg + shift + v kann man das Kopierte wieder einfügen in der Konsole.
Installiere ich mir gleich auf mein Pi3
Wo finde ich den Log von Tarpit?
Internet-Teergrube.Die perfekte Aufgabe für einen Intel Atom
Irgendwie sehr erschreckend. Ich habe die Software auf meinem Intel NUC, den ich für Home Assistant und diverse andere Dienste benutze in einem Docker Container installiert und nach 7 Minuten kam schon der erste Angreifer rein... Und das obwohl bei unserem Internetanschluss wird jede Nacht die IP Adresse gewechselt wird.
Das ist ja eine geniale Idee, kann ich das auch auf einen Linux Server im Internet machen?
Ich sehe nix was dagegen spricht. Ich glaube das werde ich heute mal austesten auf meinem Server. Melde mich nochmal bei Ergebnissen.
@@DeHub94 das ist super, bekomme auf dem nämlich massenhaft extrem viele ssh Anfragen von sehr vielen ipadressen aus aller Welt
@@eflose fail2ban würde auch sinnvoll sein wenn nicht schon installiert
Ich hab die Federn für den Angreifer vermisst.
Hat sich erledigt
Für den echten Server ist fail2ban ganz praktisch. Nach ein paar fehlgeschlagenen Logins werden die IP-Adresse für ein paar Minuten von der Firewall geblockt. Das bremst dann auch kräftig aus.
Habe die Tarpit jetzt auf meinem Server laufen, mich erfreut es ja immer, wenn ich solche Leute ärgern kann. XD
Das könnte man sogar noch etwas aufmotzen für die Angreifer die alle Ports scannen? 2 Weiterleitungen am Router, z.B. Port 22 und 24, und seinen echten SSH setzt man auf die 23. ...dann hat jeder Spaß
hey ich habe zwei probleme mit dem tarpit, das erste ist das ich kein log datei geschriben wird 4 &** /home/pi/Desktop/tarpit.log. das zweite problem ist das ich eine komischen fehlermeldung bekomme ""Fatal write error on socket transport
protocol:
transport:
Traceback (most recent call last):
File "/usr/lib/python3.7/asyncio/selector_events.py", line 857, in write
n = self._sock.send(data)
TimeoutError: [Errno 110] Connection timed out""
super Sache, aber wird das ssh tarpit bei einem Neustart wieder aktiviert oder muss ich die Zeile jedes mal neu eingeben? Ich hatte schnell nachgesehen und nichts gefunden, ähm oder etwas übersehen?
Danke! Was haltet der Meister und seine Kollegen von Open Canary? Könnt ihr da vielleicht mal ein RPi Video machen?
"We're not worthy!".
Best of aus meinem Tarpit:
Pc aus Singapur, der >300 mal versucht hat auf mein "ssh" zu kommen
Frage mich, wie es aussieht, wenn man falsche SSH Logins Vortäuscht, und dann mal mit loggt, und guckt, was dann da an Benutzer und Passwort rein geht.
Weil dann kann man direkt bei Vermutung den jenigen in ne Ban-List (Online) eintragen mit loggs.
Honeypots sind genau das. Die faken ein komplettes System (oder stellen es sogar bereit), loggen mit und die Betreiber ziehen daraus Erkenntnisse. Mittlerweile z.B. mit Honeytrap (low interaction honeypot) oder anderen, high interaction honeypots, verbreitet im Einsatz.
das will ich auch haben...weiß aber leider überhaupt nicht wovon der Mann da redet 😁
Hallo, der Beitrag ist gut. Das System funktioniert soweit auch, bis das Terminalfenster geschlossen oder der Pi neu gestartet wird. Gibt es eine Möglichkeit es mit der Crontab zustarten? Mir ist es nicht gelungen. Ich würde es nur nutzen wenn sicher ist das das System automatisch startet. Gruß
11:33
(ich hab gehört, dass ) Provider alle 24h neue IPv4-Adressen vergeben, demnach ist dieses BlackListing nicht von großer Dauer.
Nicht bei allen Provider, bei Vodafone Kabel z.B. behält man seine IP bis man den Router neu startet. Natürlich macht dies bei Vodafone nur Sinn wenn Dual-Stack und kein DS-Lite hat.
Timeout ist das Zauberwort
wäre schön ein folge video zu bekommen, wie m an das ganze in ein autostart bekommt und wie das mit dem log funktioniert (verstehe die spitzklammer nicht)
Hallöchen, schönes Video :) Danke dafür.
@SemperVideo
Nach bestätigen der Port-Freigabe kommt in der FB nun der Hinweis in der Spalte "Port extern vergeben IP v4: "Für diese Freigabe wurden andere Ports extern vergeben als von Ihnen gewünscht". Und da steht nun, neben einem gelben Dreieck "2222" - ist das richtig? Müsste nicht 22 drin stehen? Oder hab ich was falsch verstanden. VG Jenn
Hi!
Hast Du es lösen können? Ich habe es jetzt gerade versucht und stehe vor dem gleichen Problem!!
@@thorstenposer Hi, nein, ich hab die Tarpit-Sache erst mal verworfen. Werd mich irgendwann mal wieder damit beschäftigen.
Ich glaube nicht, dass ich den Port öffnen werde, jedoch würde ich womöglich ein Rick-Roll einbauen. xD
Welchen Vorteil hat man bei ssh-tarpit im gegensatz zu einer block-lösung wie z.B fail2ban? Bei ssh-tarpit muss mein Server im schlimmsten Fall mehrere Teergruben-Verbindungen offen halten, bei fail2ban wird nach x falschen versuchen die Angreifer IP direkt per iptables geblockt. Nur weil man den Angreifer ärgern will?
So sieht es aus. Der Angreifer soll aufgehalten werden
Und wenn ein rasperry pi das hin bekommt wird ein Server erst recht keine Probleme haben.
das Honeypot des kleinen Mannes!
Frage zu der Freigabe: Hab auch eine Fritzbox (7490) nur ist bei mir das Menü anders. Ich hab folgendes eingegeben: unter Internet>Freigaben (gibt es nur [Freigaben für Gerät], bei Gerät [IP-Adresse manuell eingeben] bei IPv4 Adresse [Adresse der Fritzbox]. Folgend eine Neue Freigabe anlegen, bzw. kann ich dort dann die Daten wie aus dem Beispiel eintragen. Passt das so? Oder muss ich als Gerät dort den Pi eintragen?
Nachtrag: ok kommt eine Fehlermeldung: ip wird bereits verwendet
Nachtrag 2: ip vom pi geht auch nicht. Weiß nicht was ich dort eintragen soll...
danke für den hinweiß werde ich machen
Hab damit jetzt mal etwas herumgespiel. Mir ist es schon 2 mal passiert das eine IP im Sekundentakt Verbindungen geöffnet hat und auch offen gehalten hat, bis Python abgeschmiert ist mit "socket.accept() out of system resouce". Dann war das Logfile innerhalb 30min 1.3GB groß. Nur gut das ich das etwas im Auge behalten hatte.
Danke für dein tolles Video. Gibt es nicht eine Möglichkeit einen definierten Port für SSH freizuschalten, nachdem vorher ein Ping oder SSH Versuch auf einem anderen Port versucht wurden (Port Knocking). Muss man dafür immer mit iptables arbeiten (Videoidee)?
Was sehen meine trüben Augen? Ein cmder :D Beschde!
Wäre natürlich auch lustig gewesen zu sehen wie das nebenher in Wireshark aussähe
Danke, ...und läuft
Könnt ihr Mal ein Video zu cmder in schön machen? Da gibt es viele Design Features
Habe erst letzte Woche 2 Raspberry gekauft, gleich einen einsetzen😁😁😁😁
Geile Idee
Bekommt ein PI das gehandelt neben einem PiHole?
ja, ist nicht sehr anspruchsvoll.
@@remotecontrol1408 Läuft nun... Wie bekomme ich das am schnellsten automatisch im Hintergrund gestartet? ssh script schreiben für init.d?
@@JensDessloch oder einfach in crontab nach (neu)start starten (würde dennoch empfehlen das zu nem service zu machen)
Leider scheint "ssh-tarpit v.0.41" seit dem Upgrade auf "Bullseye" nicht mehr zu funktionieren. Es gibt leider auch keine Fehlerausgabe.
*lol ... clever muss man sein ... danke euch 😁💕
Wo finde ich das Logfile?
Das Logfile ist unter "/home/pi/tarpit.log" zu finden, wenn man das ganze auf einem Raspberry Pi laufen hat. Das muss aber zusammen mit den anderen Parametern angegeben werden sonst wird kein Logfile angelegt. Jedenfalls war das bei mir so. So sieht es bei mir aus: ssh-tarpit -f /home/pi/tarpit.log -i 4 -a -p 2222
Teeren 🕳 und Federn 🪶 👍
"... kostet nix..." stimmt so nicht. Jeder gefangene Verbindungsaufbau reserviert RAM und CPU time in Form eines Sockets bis die Verbindung geschlossen wird. Das heißt bei z.B. mehreren tausend gleichzeitig gefangen Verbindungsversuchen auf einem vServer oder einem Raspberry Pi opfert man selbst einen unter Umständen nicht unerheblichen Teil der eigenen Ressourcen. Bei einem vServer zahlt man sogar noch dafür und läuft Gefahr bei einem OpenVZ basierten Server das Socket Limit zu treffen.
@Lulonaut Das hast du falsch verstanden. Wenn du einen vServer bestellst um darauf deinen Blog oder irgend einen anderen Server zu hosten, dann fehlen diesem Dienst unter Umständen die Ressourcen. Als Analogie, wenn du dir einen teuren Gaming-PC kaufst um damit zu zocken und dabei im Hintergrund die ganze Zeit folding@home laufen lässt, dann musst du dir im Klaren sein, dass der PC für seinen eigentlichen Zweck nicht die vollständige Performance leistet. Was mich aber interessiert, kennst du einen vServer Anbieter der Crypto mining erlaubt? Das würde mich ernsthaft interessieren. Alle Anbieter innerhalb DE, die ich kenne, schließen das rigoros in ihren AGBs aus.