[Programm-Suche] AP Brutforce

Neurosis404

Angehöriger
Hoy,
ich habe da so ein privates Problem. Ich habe einen AccessPoint privat gekauft und wollte ihn per Web konfigurieren, blöderweise hat das Ding ein PW drauf und weder ich noch der Vorbesitzer wissen es... reset klappt leider nicht.
Frage: Kennt jemand ein Programm, mit dem ich eine BrutForce Attacke auf den AP abfeuern kann, um das Web-Admin Passwort herauszubekommen?
Ob Windoof oder Linux ist egal, vorzugsweise aber natürlich Linux :>
Danke schonmal
 
Ich debke ma das das hinweisen auf Fundort dieser Art von Software illegal oder Grauzone ist ;) Da es dein eigener Webserver ist dürfte aber zumindestens die Anwendung legal sein. Ich würde sagen du googlelst einfach ma ;)
 
Jetzt wäre es interessant, mehr über deine Kenntnisse zu wissen. Spontan ein paar Gedanken: schau nach, ob das Passwort als Postdata oder Getdata übertragen wird. Weiterhin brauchst du den Namen des Parameters. Damit kannst du dann schon mal automatisch Anfragen an den Router zusammenbasteln, z.B. mit wget (Linux):

Get (Beispiel, muss angepasst werden):
wget http://192.168.0.1/index.html?password=$PASS

Post:
wget http://192.168.0.1/index.html --post-data="password=$PASS"

Damit sollte die Datei index.html in das aktuelle Verzeichnis geladen werden. Diese kannst du mit grep -q 'Permission denied' index.html überprüfen (Permission denied durch die Meldung die wirklich kommt ersetzen.

Problem bleibt, systematisch Passwörter zu generieren. Ich müsste irgendwo ein c-Programm haben, dass ich so umbiegen kann dass es das macht. Müsstest du dir halt kompilieren.

Wenn das alles klappt baust du ein Skript mit einer Schleife, etwa so:


Code:
PASS='a'
do
    wget ...
    if ! grep -q 'Permission denied' index.html ; then
        echo "Passwort: $PASS"
        break
    fi
    PASS = $(./genpass $PASS)
while true

Das ist eine Endlosschleife, die im Erfolgsfall abgebrochen wird.

Im Grunde ist das hier ein grober Ansatz, müsstest du noch einige Arbeit reinstecken, aber es sollte funktionieren, ist aber vermutlich recht langsam...
 
  • Like
Reaktionen: Neurosis404
Wieso illegal? Ist ja mein eigenes Zeug :roll:
Klingt recht verwirrend Jubidu, weiß zwar nich so ganz ob ich alles verstanden habe aber spätestens, wenn ichs austeste, merk ichs :D

Code:
grep: index.html: Datei oder Verzeichnis nicht gefunden
Passwort: a
./test: line 6: break: only meaningful in a `for', `while', or `until' loop
./test: line 8: ./genpass: Datei oder Verzeichnis nicht gefunden
./test: line 8: PASS: command not found
./test: line 10: syntax error: unexpected end of file

Das kommt bei mir als Fehler.
Benutzername ist übrigens admin, das wissen wir
 
Zuletzt bearbeitet:
Wäre geschickt, dein Script mit dazuzuposten :p

Zeile 6: die Datei, die du grepst, muss natürlich die sein, die du runtergeladen hast. Wenn du nicht genau weißt, wie die Datei heißt, wechsle in ein leeres Verzeichnis und wgete sie, dann siehst du den Dateinamen ;)

Zeile 8: Das Programm müsste ich erst entsprechend umbauen und dir geben - das mach ich aber nur, wenn du den Rest hinkriegst, sonst spar ich mir die Mühe

Zeile 8: Mein Fehler, sie müsste PASS=$(./genpass $PASS) lauten

Zeile 10: auch mein Fehler, bash kennt ja kein do ... until -.-

Komplett etwa so:

Code:
PASS='a'
wget ...
if ! grep -q 'Permission denied' ... ; then
    echo "Passwort: $PASS"
    exit
fi
while true; do
    PASS=$(./genpass $PASS)
    wget ...
    if ! grep -q 'Permission denied' ... ; then
        echo "Passwort: $PASS"
        break
    fi
done

Edit: den Benutzernamen musst du dem wget mitgeben, bei get vermutlich einfach &user=admin an die URL anhängen, bei post must du das gleiche an post-data anhängen
 
Zuletzt bearbeitet:
:lol: viel glück, bei einer ausreichenden verschlüsselung dauert das mitunter ewig

Das hat jetzt aber recht wenig mit der Verschlüsselung zu tun - es geht hier um ein vermutlich 4-8 stelliges Passwort - das dauert zwar eine Weile, aber sollte machbar sein. Ich habe solche Angriffe als Übungsaufgaben selbst schon gefahren (daher stammt auch der Code für genpass), zB habe ich für ein 6stelliges PW aus Großbuchstaben und Zahlen auf meinem AthlonXP 2400+ 13 Minuten gebraucht.
Bei 8 Stellen, Groß-, Kleinbuchstaben und Zahlen dauert es signifikant länger, aber nach 1-2 Tagen sollte er eigentlich fertig sein.

Ich hab jetzt Spaßeshalber das Programm genpass umgebaut, hier ist der c_code:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>

/**
 * Increments the password to the next combination. The last character of the
 * password is incremented. If the last possible character is reached, the
 * character to the left is incremented in the same way. If the leftmost
 * character reaches the maximum, 0 is returned to indicate the end.
 *
 * Possible characters are '0' to '9' and 'A' to 'Z'.
 *
 * @param pw  A pointer to the password to be incremented. The pointer target is
 *            modified!
 * @param pos The position on which to increment
 *
 * @return 1 if the password was incremented, 0 otherwise
 */
int incr(char *pw, size_t pos) {
	/* Jump over some letters not used in this case */
	if (pw[pos] == '9') {
		pw[pos] = 'A';
	} else if (pw[pos] == 'Z') {
		pw[pos] = 'a';
	/* If we cycled through increment the left character recursively */
	} else if (pw[pos] == 'z') {
		if (pos == 0) return 0; /* Last possible combination reached */
		pw[pos] = '0';
		return incr(pw, pos - 1);
	/* Normal case. Increment the actual character */
	} else {
		++pw[pos];
	}
	return 1;
}

int main(int argc, char **argv) {
	char *pass;
	size_t len;
	unsigned int i;
	
	if (argc != 2) {
		fprintf(stderr, "Usage: %s altesPW\n", *argv);
		exit(EXIT_FAILURE);
	}
	
	len = strlen(argv[1]);
	
	if (!(pass = (char *) malloc(sizeof(char) * (len + 1)))) {
		perror("malloc");
		exit(EXIT_FAILURE);
	}
	
	strcpy(pass, argv[1]); /* Safe because of malloc of strlen + 1 bytes */
	
	if (incr(pass, len - 1) == 1) {
		printf("%s", pass);
	} else {
		for (i = 0; i <= len; ++i) {
			printf("0");
		}
	}
	
	exit(EXIT_SUCCESS);
}

Ein ausführbares Programm erhältst du, wenn du gcc -o genpass genpass.c aufrufst.

Ich empfehle, den Angriff mit dem Passwort 0000 zu initialisieren, wenn du meinst es ist kürzer oder länger kannst du die Länge entsprechend anpassen (also in dem Skript 2 Posts drüber die Zeile PASS="a" durch PASS="0000" ersetzen)
 
  • Like
Reaktionen: Neurosis404
Ich mein nich das WLAN Netz als solches, sondern den Web-Bereich :roll: Und das müsste ja wohl zu machen sein.. Ausserdem habe ich eh nen Samba Server Tag und Nacht rennen, da kanns ruhig dauern...
 
Gibts da keine Funktion "Passwort vergessen"?
Korrigiere mich, wenn ich falsch liege.:-D
Aber ich denke, dann hättest du die Funktion schon benutzt, richtig?
Naja, hmm... Such doch einfach mal bei der HerstellerSite, vllt. steht da was davon.;)
 
Klar, der Hersteller wird bestimmt auf seiner Seite veröffentlichen wie man die eigenen Produkte hackt :roll:
 
Nee, ich meinte eine Lösung zu dem Code. Schliesslich ist der ja nicht einfach da...:?

Oder der Vorhaber wollte sich einfach einen kleinen Spaß erlauben.:-D
In Anführungsstrichen "kleinen"...;)