Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

SSH Connection C# (Brute force spielerei) mit SharpSsh

Diskussion: SSH Connection C# (Brute force spielerei) mit SharpSsh im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo Leute, mir ist die letzten tage vor langer Weile in den Sinn gekommen, dass ich ja mal ein ...

Like Tree1Likes
  • 1 Post By WhiTeY

Antwort
Alt 25.10.11, 16:38   #1 (permalink)
 
Registriert seit: 08.11.07
WhiTeY Leistung: Facit NTK
WhiTeY eine Nachricht über AIM schicken WhiTeY eine Nachricht über Yahoo! schicken
Likes: 1
Standard SSH Connection C# (Brute force spielerei) mit SharpSsh

Anzeige

Hallo Leute,
mir ist die letzten tage vor langer Weile in den Sinn gekommen, dass ich ja mal ein Brute-force-Tool schreiben könnte.

Nachdem ich mich im WWW ein wenig belesen hatte, ist mir aufgefallen dass es für SSH und SFTP kaum "bekannte" Tools gibt. Hydra war da so das erste was mir in meine Augen sprang.

Nun muss ich ja das Rad nicht neu erfinden und hab mir kurzerhand mal angeschaut was Hydra so kann. Dabei ist mir aufgefallen, das Hydra nur mit Dicts arbeitet und keinen Permutations-Algorithmus in der Hinterhand hat. Das hab ich mir also auch noch vorgenommen

Die Frage die sich mir danach noch stellte war : In welcher Sprache machste das denn nun ? Da ich sonst nur in Java progge und neues lernen nie schlcht ist entschied ich mich für C#

Ich bin also, von der Syntax her, C# Anfänger.

Nun es läuft soweit ganz gut. Die Permutationen laufen, auch mit einer vorgegebenen länge. Files zeilenweise einlesn und die Strings zu verwenden ist auch nicht das Problem.

Mein grundsätzliches Problem besteht nun darin, dass ich andauernd eine Fehlermeldung erhalte und zwar :

Code:
SSH_MSG_DISCONNECT : 2 Too many authentication failures for username
Kurzerhand hab ich gegoogled und bekamm die Antwort, dass es was mit den PublicKeys zu tun habe.

Daraufhin wollte ich alle Keys mit dem Command
Code:
ssh-add -D
löschen. Das hat aber auch nicht funktioniert.

Die Fehlermeldung:
Code:
Der Objektverweis wurde nicht auf eine Objectinstanz festgelegt.
Ich arbeite mit den DLL's von Tamir ( SharpSsh). Folgender Code kümmert sich um den "Loginversuch":

Code:
   public bool connectionStream(string host, string username, string passwd)
        {
            bool test = false;
            try
            {
                SshExec exc = new SshExec(host, username, passwd);
                //exc.RunCommand("ssh-add -D");
                Console.WriteLine("ich verbinde mit dem Passwort "+passwd);
                exc.Connect(66);
                Console.WriteLine("ich bin verbunden");
                test = exc.Connected;
                
            }
            catch (Exception e)
            {
                Console.WriteLine("Verbindung nicht erfolgt");
                Console.WriteLine(e.Message);
            }

            return test;
            
        }
Hat jemand einen Tipp für mich was ich da falsch mache ?


Danke schon mal im voraus

LG

WhiTeY
WhiTeY ist offline   Mit Zitat antworten
Alt 25.10.11, 19:57   #2 (permalink)
 
Benutzerbild von fabuloes
 
Registriert seit: 26.01.11
fabuloes Leistung: Z3
Likes: 9
Standard

Also zum Code kann ich dir leider nicht helfen, aber wenn der Bruteforcer später mal "professionell" eingesetzt werden soll dann wähle eine systemnahere Sprache als C# mit seiner Laufzeitumgebung, Garbage Collector und den ganzen Performance-Bremsen.
Am besten geeignet wäre C, wobei dich das als Java-Coder vllt. mehr Einarbeitungszeit als C# kostet.

Das soll jetzt keine Kritik an deinem Projekt sein, ich finde es sogar sehr kreativ und nützlich.
Das soll lediglich ein Tipp für dich sein, aber wenn das Projekt nur um des Lernens Willen ist, ist Performance ja eher zweitrangig.
__________________
http://sourceforge.net/projects/my-connect/
fabuloes ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 25.10.11, 21:12   #3 (permalink)
Themenstarter
 
Registriert seit: 08.11.07
WhiTeY Leistung: Facit NTK
WhiTeY eine Nachricht über AIM schicken WhiTeY eine Nachricht über Yahoo! schicken
Likes: 1
Standard

Hey Ho,

erstmal danke für die Anregungen. Allerdings muss ich sagen dass ich für reines C derzeit zu faul bin.

Wenn ich mir die Strucktur zurecht gelegt habe und sie erstmal OO umgesetzt ist werde ich das sicherlich nochmal in Angrif nehmem.
Deine Argumente sind gut und richtg bedeuten aber im gegenzug auch das ich selber aufräumen muss. Da ist wirklich mehr Einarbeitung nötig.
Derzeit beschränt sich mein Denken in sachen Speicherverwaltung auf Rekursionen, Komplexitäten und unnötige Redundanzen. Ich glaube in C bedarf es ein wenig mehr

LG

WhiTeY
WhiTeY ist offline   Mit Zitat antworten
Alt 26.10.11, 17:24   #4 (permalink)
Themenstarter
 
Registriert seit: 08.11.07
WhiTeY Leistung: Facit NTK
WhiTeY eine Nachricht über AIM schicken WhiTeY eine Nachricht über Yahoo! schicken
Likes: 1
Standard

Hallo Leute,

ich schmeiß mich gerade voll wech. Zum testen und analysieren hab ich mich per console an meinen auth-Logfile gehangen.

OFFTOPIC
Kleiner Tipp für interessierte und noch nicht so versierte User unter Linux:
Life-Logfile-Beobachtungen mach man am besten mit
Code:
tail -f logfilename.log
/OFFTOPIC

Ich beobachte fleißig und schau mir den immer wiederkehrenden Fehler an und lese dann zwischendurch folgenden Abschnitt:

Code:
Oct 26 16:59:55 XXXX sshd[31941]: PAM 5 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=XXXXXX  user=test

Oct 26 16:59:55 XXXX sshd[31941]: PAM service(sshd) ignoring max retries; 6 > 3

Oct 26 16:59:55 XXXX sshd[31943]: Accepted password for test from XXXXXXXXXX port 50537 ssh2
Momentmal? Accepted? Wie geil ist dass denn! Bei allen Fehlern die ich ausgegeben bekomme funktioniert es doch.
Ich hab die nette Zeile , "ich bin Verbunden", bei all dem Exceptiongedönse einfach nicht gesehen.

Doch das resultierende Problem bei der ganzen sache mit den Exceptions:

Jeder loginversuch dauert mehr als 5 Sec. Das stellt mich auch irgendwie nicht zufrieden. Ich dachte eher an was im ms bereich und nicht 25 Sec. bei 5 Permutationen...

Naja ich fummel mal weiter und lass mir was einfallen.

Bis dahin

LG

WhiTeY
fabuloes likes this.

Geändert von WhiTeY (26.10.11 um 17:26 Uhr)
WhiTeY ist offline   Mit Zitat antworten
Alt 26.10.11, 19:55   #5 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Hi,

vielleicht solltest du mit ein paar Threads arbeiten, die parallel die Lister deiner Permutationen abarbeiten. Das würde das ganze sicher etwas beschleunigen.

ciao
serow
Serow ist offline   Mit Zitat antworten
Alt 27.10.11, 11:36   #6 (permalink)
Themenstarter
 
Registriert seit: 08.11.07
WhiTeY Leistung: Facit NTK
WhiTeY eine Nachricht über AIM schicken WhiTeY eine Nachricht über Yahoo! schicken
Likes: 1
Standard

Hey Ho,

ja Threads würden durch "Paralelisierung" einen Geschwindigkeitsvorteil erzeugen. Aber das eigentliche Problem wäre damit nicht gelößt.

Die Permutation als solches ist im ms-Bereich, lediglich die Verbindungsversuche als solche dauern mehrere Sekunden. Daraus folgt, dass auch jeder Therad mehre Sekunden braucht um den Versuch abzuschließen.

Mein Fokus liegt daher darin, meine SSH-Verbindung zu optimieren. Ich denke ich muss da eine andere Lib oder gar einen ganz anderen Ansatz wählen.

Vilt. mache ich mir auch die heiden arbeit eine eigene DLL für SSH zu schreiben. Da bin ich allerdings noch nicht ganz grün mit mir selbst, denn das bedeutet wirlich Arbeit.

LG

WhiTeY
WhiTeY ist offline   Mit Zitat antworten
Alt 27.10.11, 13:13   #7 (permalink)
Senior Member
 
Registriert seit: 26.03.06
Serow Leistung: 8086
Likes: 16
Standard

Vllt ist es aber auch Prinzipbedingt bei SSH, ich hab nicht im Kopf was alles beim Verbindungsaufbau passieren muss. Evtl erlaubt die dir API irgendein Timeout runterzusetzen?

ciao
serow
Serow ist offline   Mit Zitat antworten
Alt 27.10.11, 14:13   #8 (permalink)
Themenstarter
 
Registriert seit: 08.11.07
WhiTeY Leistung: Facit NTK
WhiTeY eine Nachricht über AIM schicken WhiTeY eine Nachricht über Yahoo! schicken
Likes: 1
Standard

Hey Ho,

das habe ich noch garnicht rausfinden können. Ich werd mal schauen, dass ich die Tage dazu komme mir die API-Doc mal richtig von forn bis hinten durch zulesen.

Bin gerade ein wenig gestresst, weshalb meine Projekt ein wenig in den Hintergrund gedrängt wird.

Dafür darf ich mich mit J2EE Datenbakanwendungen rumprügeln. Naja Gott sei dank gibt es JSF und die JPA

Bis Dahin

LG

WhiTeY
WhiTeY ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » SSH Connection C# (Brute force spielerei) mit SharpSsh
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MD5 Brute Force lightf (In)security allgemein 11 30.09.11 23:19
Brute Force etc. NoJustice Doppelte Beiträge 0 30.07.11 13:16
C99 & Brute Force R619m Webmaster-Security 9 16.09.07 23:04
?(Brute Force != Brute Force) Unicate Virenschutz · Tools & Aggressive Software 6 15.05.06 16:56


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61