Bruteforce bei ssh?

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Bruteforce bei ssh?

Beitrag von tobb » 27.07.2006 09:42:10

Hi,

mich würde mal interessieren ob die Bruteforce Methode zum Passwörter knacken auch mit ssh funktioniert.
Versucht jetzt also irgendjemand auf meinen PC per ssh einzuloggen (mal angenommen er wäre frei erreichbar) und er wüsste meinen usernamen, wie kann er dann Bruteforce anwenden?
Er hat doch keinen zugriff auf meine Passwortdateien um irgendwelche Programme drüber jagen zu lassen. Und wenn man ein Passwort bei ssh oder unix allgemein falsch eingibt, dauert es 2 Sekunden bis man wieder darf.

Also wie soll es funktionieren?

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 27.07.2006 09:46:59

Brute Force heisst einfach nur alles durchprobieren. Und da stoeren auch die Verzoegerungen nicht, wenn mans lange genug probiert und das Passwort simpel genug ist, kommt man irgendwann zum Erfolg.
Wenn man Brute Force dann noch um ein Dictionary erweitert, das oft benutzte Worte/Passwoerter enthaelt, gehts noch fixer.

tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Beitrag von tobb » 27.07.2006 09:54:32

Besteht mein Passwort also aus 5 Zeichen und nur aus Kleinbuchstaben (einer sehr schlechter Fall) dann wären 26^5 = 11881376 Kombinationen Möglich.
Dauert jeder Versuch 2 Sekunden braucht man für alle Kombinationen 23762752 Sekunden = 275 Tage. (auch wenn es schon nach 50 Tagen das richtige Passwirt wäre, so lange will doch keiner warten).
Guter Fall: 8 Buchstaben (groß und klein) = 53459728531456 Möglichkeite = 106919457062912 Sekunden = 3390393 Jahre.
Das kanns doch nicht sein.

Bruteforce basiert (so dachte ich immer) auf der Rechenleistung die heutige PC bieten. Also das Tausende von Passwörtern pro Sekunde ausprobiert werden.

daedalus
Beiträge: 286
Registriert: 04.02.2005 17:06:16

Beitrag von daedalus » 27.07.2006 10:17:44

Brute Force = Rohe Gewalt. Das ist das, was manche machen, wenn ihnen nichts anderes mehr einfällt, so wie George Bush zum Beispiel. Es hat zunächst nichts mit Passwörtern zu tun.

Wieso 2 Sec warten? Men kann den Prozess parallelisieren.
Wieso würde keiner 50 Tage warten? Für den root-Zugang zu google o.ä. würden das einige...
Das Problem ist der Parser. Der ist nicht fuzzy genug.
--Klaus Knopper

tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Beitrag von tobb » 27.07.2006 10:25:42

Ich sprach ja auch von: "Bruteforce Methode zum Passwörter knacken"

Parallelisieren bedeutet mehrer ssh Verbindungen gleichzeitig öffnen?
Gibt es da keine Beschränkung?

Schafft der Hacker-PC 5 Millionen Passwörter pro Sekunde und der Wartevorgang dauert 2 Sekunden um ein neues Passwort einzugeben, muss er sozusagen 10Millionen ssh Anfragen senden um mit voller Leistung zu testen.
Wäre das theoretisch Möglich?

Ich frage deshalb so blöd, weil ich einfach wissen will, wie sicher mein Netzwerk ist, wenn es über das Internet von überall über ssh erreichbar ist.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 27.07.2006 10:35:48

Wenn du SSH gegen Brute Force absichern willst gibts 2 ganz oft genutzte Massnahmen:
1.) Den SSH-Daemon nicht auf Port 22 lauschen lassen (da gehen glaub ich 99% der automatischen Angriffe drauf los)
2.) Sowas wie fail2ban nutzen. Damit werden die IPs, von denen die Brute Force-Attacke kommt auch mal gesperrt.

tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Beitrag von tobb » 27.07.2006 10:48:02

Hm funktioniert fail2ban denn auch bei einem NAT Netzwerk?
Der Router ist ein kleines Gerät, also kiein PC. Er forwarded port xx zu einem Netzwerkinternen PC auf port 22 (also ssh). Wenn ich dort auf fehlgeschlagene Passwortversuche mit fail2ban checke, wird immer die IP des Routers rauskommen oder?

Benutzeravatar
C_A
Beiträge: 1082
Registriert: 22.04.2004 14:51:01
Lizenz eigener Beiträge: GNU General Public License

Beitrag von C_A » 27.07.2006 10:53:43

fail2ban wird nicht auf dem Router laufen sondern auf dem Computer auf dem per ssh zugegriffen wird.
tobb hat geschrieben:Wenn ich dort auf fehlgeschlagene Passwortversuche mit fail2ban checke, wird immer die IP des Routers rauskommen oder?
Nein.

_mh_
Beiträge: 171
Registriert: 10.07.2006 11:52:28

Beitrag von _mh_ » 27.07.2006 11:22:44

Meistens werden allerdings keine BruteForce attacken benutzt um sich einloggen zu koennen, zumindest nicht bei automatischen Angriffen. Hier scheint man mehr auf standard-passwoerter zu setzen. Mir sind bis jetzt nicht mehr als 20 - 30 auf einen Schlag untergekommen.

Fail2ban und konsorten ist natuerlich eine adequate Methode um dem ganzen von vorn herein einen Riegel vorzuschieben.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Beitrag von ThorstenS » 27.07.2006 13:17:16

Ich lasse meine ssh daemons nicht auf port 22 lauschen. Damit fange ich mir nur von den Leute eine brute-force-atacke ein, die den host auch vorher gescannt haben.

tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Beitrag von tobb » 27.07.2006 13:48:27

Der SSH-Server funktioniert auch gleichzeitig als Samba-Fileserver. Deshalb sind dort alle User aus unserem Netzwerk angemeldet, damit sie auf die Sambafreigaben Zugreifen können.

Das dumme daran ist, dass ich keinen Einfluss habe, was für leichte Passwörter die User wählen.


Es wäre also ganz gut, dass ich dem SSH-Deamon sagen könnte, das nur ein bestimmter User sich daran anmelden darf.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 27.07.2006 13:56:23

tobb hat geschrieben:Es wäre also ganz gut, dass ich dem SSH-Deamon sagen könnte, das nur ein bestimmter User sich daran anmelden darf.
Genau das kannst du machen. Schau dir mal in der Man-Page zu sshd_config die Option AllowUsers bzw. AllowGroups und ihre Gegenparts DenyUsers und DenyGroups an.
Mit diesen Optionen solltest du auf deinem Server recht genau regeln koennen, wer sich einloggen darf und wer nicht.

daedalus
Beiträge: 286
Registriert: 04.02.2005 17:06:16

Beitrag von daedalus » 27.07.2006 15:59:09

Als Administrator hast Du sehr wohl die Möglichkeit, die Passwortwahl zu beeinflussen. Wenn Du die Passwort-Datei mit John The Ripper o.ä. auf schwache Passwörter überprüfst, verwendest Du diese Tools für genau die Aufgabe, für die sie entwickelt wurden. Wenn denn herauskommt, dass einer der Nutzer ein schwaches Passwort hat, kannst Du den Account sperren und ihm einen entsprechenden Hinweis geben. Oder Du gibst einfach von vorne herein die Passwörter vor und sperrst den Zugriff auf die Passwartdatei für die normaln User.

Zur Parallelisierung: der schnellste ssh-BF-PW-Cracker den ich kenne (hier folgt beabsichtigter Weise kein Link, denn auch wenn sich diese Programme recht leicht finden lassen muss ich es den Scriptkiddies nicht noch einfacher machen) bringt etwa 30 PW/sec, und ich bin mir ziemlich sicher, dass das ein Limit der Server darstellt. Aber wenn jemand PW=Username verwendet, dann reicht das eben... (und mal unter uns: wer ein <8 Zeichen Passwort verwendet, macht sich auch nicht die Mühe, hier eine "beliebige" Kombination zu wählen. Da reichen dann i.d.R Namenslisten u.ä.)
Das Problem ist der Parser. Der ist nicht fuzzy genug.
--Klaus Knopper

tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Beitrag von tobb » 28.07.2006 11:42:30

Und nochwas:

Bei ssh muss man ja zusätzlich noch den Benutzernamen raten, right? Also sind es praktisch zwei Passwörter...

Benutzeravatar
mauser
Beiträge: 1854
Registriert: 27.01.2005 22:34:48

Beitrag von mauser » 28.07.2006 11:52:25

hi,

kommt drauf an ob du root logins gesperrt hast. Ansonsten hast du zumindest schonmal einen Angriffspunkt..
mfg
mauser

tobb
Beiträge: 1032
Registriert: 27.01.2006 17:48:13

Beitrag von tobb » 28.07.2006 21:02:16

Ich habe gerade john ausprobiert.

username birger
pwd birgeR

findet er sofort.

Nach dem Passwort "gollum" sucht er jetzt schon seit Stunden, dabei hat es nur 6 Buchstaben. Er schaft 8200 Passwörter pro Sekunde (P4 3GHz)... sehr komisch.

daedalus
Beiträge: 286
Registriert: 04.02.2005 17:06:16

Beitrag von daedalus » 28.07.2006 21:35:10

AFAIK sucht John zuerst nach username-ähnlichen Passwörtern (was ja leider sinnvoll ist, "Because there is no patch against human stupidity"). Kannst ja mal nachschauen woran es noch liegen kann, dazu ist es OSS.
Das Problem ist der Parser. Der ist nicht fuzzy genug.
--Klaus Knopper

Antworten