Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2020-01-15, 11:38
  #13
Medlem
r4ll3s avatar
Citat:
Ursprungligen postat av Bleppe_Bf
På Telias lådor gäller 10 hexadecimala tecken, 0-9+a-f. Det blir alltså 15^10/500-800k blir rufft tre veckor till en vecka per grafikkort. Satt man på en mining rig eller två eller hade guldkort på AWS genom jobbet samt hade en drös handskakningar från olika ISP:ers accesspunkter kanske man skulle kunna reverse engineera hur de genererat nycklarna med hjälp av deep learning.

Vid det laget att billig konsumenthårdvara kan hasha WPA-EAPOL-PBKDF2 riktigt snabbt har ISP:erna gått vidare till antingen säkrare nycklar (från 15 möjliga tecken till säg full ASCII på 127 eller till starkare kryptering).

Med 0-9+a-z så blir bruteforce direkt omöjligt och även med en dictionary mask så ökar tiden per handshake så mycket att det blir utom räckvidd för någon med tillgång till bara ett modernt grafikkort.

Blir det inte 16^10 kombinationer med 10 HEX-tecken?

Tecken: ABCDEF0123456789
Antalet tecken i lösen: 10
Antalet olika tecken: 16

16^10

På min GeForce 1050 Ti skulle det ta ca 140 dygn att knäcka sådan kombination i Hashcat.

Enligt denna sida verkar man kunna reducera antalet kombinationer med hjälp av vissa regler:
https://github.com/wpatoolkit/10-Hex-Generator

Verkar ej vara routerspecifik. Dock reducerar det till enbart hälften, vilket blir 70 dagar, dvs fortfarande tok för högt för att vara realistiskt. Mer intressant hade kanske varit att försöka hitta mer router-specifika lösningar.

Jag har samlat olika lösenord från flera Comhem routrar jag hittat på Tradera/blocket m.m.
Citat:
TG389ac
SSID: comhem_E8D2E1
Pass: D13537FA7F

TG389
SSID: comhem1D7CC8
Pass: 65AA9578FB

TG389ac
SSID: comhem_AD60FD
Pass: 03EA64D9B5

TG389ac
SSID: comhem_34B331
Pass: 854BEBC7EA

TG389ac
SSID: comhem_534D3D
Pass: 9D9B9B3FC7

TG389ac
SSID: comhem_AE8509
Pass: F66C47D1C3

TG389ac
SSID: comhem_E1130D
Pass: 32B56C1E18

TG389ac
SSID: comhem_AD173B
Pass: B463553FE7

Förmodligen lär detta inte reducera antalet möjliga kombinationer särskilt mycket att analysera regler. Jag har root access till nämnda router. Tidigare Thomson routrar har man ju mha reverse engineering kunnat hittat algoritmen för hur lösenorden genereras och på så sätt kunnat reducera antalet kombinationer mycket: https://www.gnucitizen.org/blog/defa...e-hub-routers/ Det hade man hittat mha deras Setup Wizard fil. Antar att det är svårt att lösa via nuvarande firmware.
Citera
2020-01-15, 12:05
  #14
Medlem
Citat:
Ursprungligen postat av r4ll3
Blir det inte 16^10 kombinationer med 10 HEX-tecken?

Tecken: ABCDEF0123456789
Antalet tecken i lösen: 10
Antalet olika tecken: 16

16^10

På min GeForce 1050 Ti skulle det ta ca 140 dygn att knäcka sådan kombination i Hashcat.

Enligt denna sida verkar man kunna reducera antalet kombinationer med hjälp av vissa regler:
https://github.com/wpatoolkit/10-Hex-Generator

Verkar ej vara routerspecifik. Dock reducerar det till enbart hälften, vilket blir 70 dagar, dvs fortfarande tok för högt för att vara realistiskt. Mer intressant hade kanske varit att försöka hitta mer router-specifika lösningar.

Jag har samlat olika lösenord från flera Comhem routrar jag hittat på Tradera/blocket m.m.


Förmodligen lär detta inte reducera antalet möjliga kombinationer särskilt mycket att analysera regler. Jag har root access till nämnda router. Tidigare Thomson routrar har man ju mha reverse engineering kunnat hittat algoritmen för hur lösenorden genereras och på så sätt kunnat reducera antalet kombinationer mycket: https://www.gnucitizen.org/blog/defa...e-hub-routers/ Det hade man hittat mha deras Setup Wizard fil. Antar att det är svårt att lösa via nuvarande firmware.

Dum fråga kanske men varför skulle folk skriva ut sina lösenord till routern på Blocket?
Citera
2020-01-15, 12:15
  #15
Medlem
r4ll3s avatar
Citat:
Ursprungligen postat av ToddChavez
Dum fråga kanske men varför skulle folk skriva ut sina lösenord till routern på Blocket?

De säljer routern och tar bild på baksidan för att visa vilken modell det är. Det är ingen säkerhetsbrist, då de ofta inte ens använder routern och/eller har bytt lösenord.

Intressant studie om reverse enginerring:
https://www.usenix.org/system/files/...er-lorente.pdf

Någon bloggare verkar kunnat lösa det på en australiensk router:
https://enovella.github.io/mips/reve...argentina.html

Jag vet ej ännu ifall det är möjligt att lyckas lösa det på Technicolor-routrarna. Denna metod går alltså ut på hitta hur lösenorden genereras via routerns firmware. Men detta tar lär ta tid att sätta sig in i, som jag inte har just nu.
__________________
Senast redigerad av r4ll3 2020-01-15 kl. 12:18.
Citera
2020-01-15, 12:22
  #16
Medlem
Citat:
Ursprungligen postat av r4ll3
De säljer routern och tar bild på baksidan för att visa vilken modell det är. Det är ingen säkerhetsbrist, då de ofta inte ens använder routern och/eller har bytt lösenord.

Intressant studie om reverse enginerring:
https://www.usenix.org/system/files/...er-lorente.pdf

Någon bloggare verkar kunnat lösa det på en australiensk router:
https://enovella.github.io/mips/reve...argentina.html

Jag vet ej ännu ifall det är möjligt att lyckas lösa det på Technicolor-routrarna. Denna metod går alltså ut på hitta hur lösenorden genereras via routerns firmware. Men detta tar lär ta tid att sätta sig in i, som jag inte har just nu.

Ah... Det är ju briljant ju
Citera
2020-01-15, 20:37
  #17
Medlem
Bleppe_Bfs avatar
Citat:
Ursprungligen postat av r4ll3
De säljer routern och tar bild på baksidan för att visa vilken modell det är.

Jag vet ej ännu ifall det är möjligt att lyckas lösa det på Technicolor-routrarna. Denna metod går alltså ut på hitta hur lösenorden genereras via routerns firmware. Men detta tar lär ta tid att sätta sig in i, som jag inte har just nu.

Är rätt säker på att det inte är routern som genererat lösenorden.
Routern har ett löpnummer (hexadecimalt) som (förmodligen) används som salt för hashen som är framslumpad.
Denna skriver man sedan ut en klisterlapp med. Det behöver inte vara mer än att man ber /dev/random plocka 6 hexadecimala tecken som används till SSID och sen plocka 10 tecken till som används till lösenordet.
Citera
2020-01-19, 10:58
  #18
Medlem
r4ll3s avatar
Citat:
Ursprungligen postat av Bleppe_Bf
Är rätt säker på att det inte är routern som genererat lösenorden.
Routern har ett löpnummer (hexadecimalt) som (förmodligen) används som salt för hashen som är framslumpad.
Denna skriver man sedan ut en klisterlapp med. Det behöver inte vara mer än att man ber /dev/random plocka 6 hexadecimala tecken som används till SSID och sen plocka 10 tecken till som används till lösenordet.

Möjligt att det är så. Vid närmare granskning verkar bara vissa routrar vara sårbara för detta. Fördelen med Technicolorroutrarna är att de redan är enkla att roota, både med netcat via Wusemans metod eller AutoglashGUI, och därför inte behöver vidta några invasiva metoder. Man kommer sedan åt filsystemet då operativssystemet verkar vara någon modifierad variant av OpenWRT.

Jag fick ut lite intressant information, kanske det ändock inte säger särskilt mycket om att nycklarna skulle genereras i mjukvaran.

Jag tittade runt lite i filsystemet på TG389ac. Under usr/sbin finns följande fil wireless_fix_uci_config.sh:

Citat:
r4ll3@r4ll3-HP-Compaq-Elite-8300-SFF:~/Hämtningar/hej/usr/sbin$ cat wireless_init_uci_env.sh
#!/bin/sh

ENV_FILE=/tmp/hostapd.env
KEYGEN_OUTPUT=/tmp/hostapd_keygen.out

#Generate env
hostapd_env.sh $ENV_FILE

#Generate keys
hostapd_keygen -e $ENV_FILE > $KEYGEN_OUTPUT


#Read in keys
. $KEYGEN_OUTPUT

#Update UCI
#Radio 0
uci set env.var.ssid_mac_postfix_r0=$SSID_MAC_POSTFIX_R0

uci set env.var.default_key_r0_s0=$KEY_R0_S0
uci set env.var.default_wep_key_r0_s0=$WEP_KEY_R0_S0
uci set env.var.default_wps_ap_pin_r0_s0=$PIN_R0_S0

uci set env.var.default_key_r0_s1=$KEY_R0_S1
uci set env.var.default_wep_key_r0_s1=$WEP_KEY_R0_S1
uci set env.var.default_wps_ap_pin_r0_s1=$PIN_R0_S1

uci set env.var.default_key_r0_s2=$KEY_R0_S2
uci set env.var.default_wep_key_r0_s2=$WEP_KEY_R0_S2
uci set env.var.default_wps_ap_pin_r0_s2=$PIN_R0_S2

uci set env.var.default_key_r0_s3=$KEY_R0_S3
uci set env.var.default_wep_key_r0_s3=$WEP_KEY_R0_S3
uci set env.var.default_wps_ap_pin_r0_s3=$PIN_R0_S3

#Radio 1
uci set env.var.ssid_mac_postfix_r1=$SSID_MAC_POSTFIX_R1

uci set env.var.default_key_r1_s0=$KEY_R1_S0
uci set env.var.default_wep_key_r1_s0=$WEP_KEY_R1_S0
uci set env.var.default_wps_ap_pin_r1_s0=$PIN_R1_S0

uci set env.var.default_key_r1_s1=$KEY_R1_S1
uci set env.var.default_wep_key_r1_s1=$WEP_KEY_R1_S1
uci set env.var.default_wps_ap_pin_r1_s1=$PIN_R1_S1

uci set env.var.default_key_r1_s2=$KEY_R1_S2
uci set env.var.default_wep_key_r1_s2=$WEP_KEY_R1_S2
uci set env.var.default_wps_ap_pin_r1_s2=$PIN_R1_S2

uci set env.var.default_key_r1_s3=$KEY_R1_S3
uci set env.var.default_wep_key_r1_s3=$WEP_KEY_R1_S3
uci set env.var.default_wps_ap_pin_r1_s3=$PIN_R1_S3


uci commit env

rm $KEYGEN_OUTPUT

hostapd_keygen är en ELF-fil:
Citat:
file hostapd_keygen
hostapd_keygen: ELF 32-bit MSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked, interpreter /lib/ld-, corrupted section header size

^^ Jag laddade ned filerna via scp så möjligt att den därför inte hittar lib-filen där.

Skriver jag ut läsbara strängar av hostapd_keygen får jag följande:
Citat:
Usage: hostapd_keygen [-e]
Options are as follows:
-e ENV file
-t Use fixed random A/B for test
_WL_MACADDR
%s: handle_options - Error: Invalid option given...
the:
_BOARD_SERIAL_NBR
CP000000001
_PROD_SERIAL_NBR
CPCP000000001
_BOARD_NAME
TEST_BOARD
_SSID_SERIAL_PREFIX
TNCAP
_COMPANY_NAME
Technicolor
_PROD_NAME
Technicolor TG
_PROD_NUMBER
587Tn v3
_PROD_FRIENDLY_NAME
Technicolor TG587Tn v3
00-01-02-03-04-05
SSID_MAC_POSTFIX_R%d=%s
WEP_KEY_R%d_S%d=%s
PIN_R%d_S%d=%s
WLAN
CP0123EGABC
WPSAPProxy#
%s%d%s%d%s
_WEPKEY_SERIAL
_WPAKEY_SERIAL
_SSID_SERIAL
_SSID_PREFIX
_BASE52_SERIAL
%02X%02X%02X
_MAC_POSTFIX
_MAC_POSTFIX_4DIGIT
%08u
_PIN_SERIAL
_UUID_E_SERIAL
_UUID_R_SERIAL
_SSID_WL_MACADDR_POSTFIX
_SSID_POSTFIX_LEGACY_OR_MAC
%02X-%02X-%02X-%02X-%02X-%02X
_LWL_MACADDR
%08X
SpeedTouch
2345679abcdefghjkmnpqrstuvwxyzACEFGHJKLMNPQRSTUVWX YZ
/proc/rip/%04x
bind
dns_q_sock_%d
hapd_dns_resolv_sock_
hapd_resolv_res_%p
/tmp/dhcp.leases
%*d %s %s
[HOSTAPD] save settings

Jag har ingen erfarenhet av att debugga ELF-filer så jag fastnar här ändå. Förstår jag det rätt att man behöver kunskap inom lågnivåspråk för att öht ens kunna förstå vad man gör sedan? Det såg ut som assemblerkod i artikeln jag länkade tidigare.
Citera
2020-01-19, 12:00
  #19
Medlem
Bleppe_Bfs avatar
Citat:
Ursprungligen postat av r4ll3
Förstår jag det rätt att man behöver kunskap inom lågnivåspråk för att öht ens kunna förstå vad man gör sedan? Det såg ut som assemblerkod i artikeln jag länkade tidigare.

Ser ut som vanliga miljövariabler och ett bash script.

Regex kan man använda sig av överallt.

https://media.cheatography.com/stora...ast=1463066188

https://www.rexegg.com/regex-quickstart.html

%02x = hexadecimalt tecken
%08u = 8 bit unicode char
%s%d = matches a single character that is either whitespace or a digit.

Osv.

Openwrt ligger i botten. Löpnumret som är flashat i firmwaren läses och används för att hasha rätt lösenord för wpa och wpa2.

Självklart sätts det ur spel om användaren byter SSID, kör en factory reset eller sätter ett nytt lösenord själv.
__________________
Senast redigerad av Bleppe_Bf 2020-01-19 kl. 12:33.
Citera
2020-02-09, 20:06
  #20
Medlem
r4ll3s avatar
Citat:
Ursprungligen postat av Bleppe_Bf
Ser ut som vanliga miljövariabler och ett bash script.

Regex kan man använda sig av överallt.

https://media.cheatography.com/stora...ast=1463066188

https://www.rexegg.com/regex-quickstart.html

%02x = hexadecimalt tecken
%08u = 8 bit unicode char
%s%d = matches a single character that is either whitespace or a digit.

Osv.

Openwrt ligger i botten. Löpnumret som är flashat i firmwaren läses och används för att hasha rätt lösenord för wpa och wpa2.

Självklart sätts det ur spel om användaren byter SSID, kör en factory reset eller sätter ett nytt lösenord själv.

Verkar som du varit inne på rätt spår och att routern är säker. Hur kände du till detta? Enbart spekulation eller egen erfarenhet?

Tydligen genereras enhetsnycklarna från eripv2 partition som finns i routern. Går att dekryptera denna partition mha av en ECK nyckel som går att lösa genom dessa instruktioner: https://github.com/pedro-n-rocha/secr. Krävs att man först får root access vilket man kan få genom antingen ping method eller DDNS beroende på vilken firmware routern har.

Nycklarna i partitionen är enhetsspecifika och används för att generera access nyckel, serienummer, MAC-adresser, WPA-nyckel etc. Om nycklarna läcker någon information om originalmaterialet så kan man lösa lsenorden men hittills ser det mesta säkert ut.

När man har root access kan man även dumpa den partition som kör hela filsystemet i routern, vilket är mtd3 om active bank är bank_1 (denna skiftar varje gång ISP:en uppdaterar firmware) och sen extrahera det med binwalk. Jag har inte hittat något känsligt material ännu.
Citera
2020-02-10, 15:25
  #21
Medlem
Bleppe_Bfs avatar
Citat:
Ursprungligen postat av r4ll3
Verkar som du varit inne på rätt spår och att routern är säker. Hur kände du till detta? Enbart spekulation eller egen erfarenhet?

Mer slutledningsförmåga än spekulation.
Det finns bara så många sätt att lösa givna problem.

Citat:
Ursprungligen postat av r4ll3
Tydligen genereras enhetsnycklarna från eripv2 partition som finns i routern. Går att dekryptera denna partition mha av en ECK nyckel som går att lösa genom dessa instruktioner: https://github.com/pedro-n-rocha/secr. Krävs att man först får root access vilket man kan få genom antingen ping method eller DDNS beroende på vilken firmware routern har.

Nycklarna i partitionen är enhetsspecifika och används för att generera access nyckel, serienummer, MAC-adresser, WPA-nyckel etc. Om nycklarna läcker någon information om originalmaterialet så kan man lösa lsenorden men hittills ser det mesta säkert ut.

När man har root access kan man även dumpa den partition som kör hela filsystemet i routern, vilket är mtd3 om active bank är bank_1 (denna skiftar varje gång ISP:en uppdaterar firmware) och sen extrahera det med binwalk. Jag har inte hittat något känsligt material ännu.

Tror du borde börja med att reverse engineera något simplare till att börja med.
MAC addressen används för att validera den givna nyckeln, de jobbar inte med running/golden config som CISCO utan de får en egen firmware image som innehåller nyckeln/nycklarna som står på undersidan.

Vill du göra det lätt för dig så tycker jag att du skall kolla på reaver.

https://tools.kali.org/wireless-attacks/reaver
https://rootsh3ll.com/rwsps-cracking...attack-ch3pt5/

De flesta isp:er använder sig fortfarande av WPS kompatibla accesspunkter.

Du får ut WPA2 nyckeln när/om attacken lyckats.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback