Stránka 1 z 1

bq40z50 - lamanie unseal hesla

Napsal: 27 bře 2023, 22:45
od rnbw
Mam tu bateriu z notebooku Asus, ktora sa po skrate zablokovala. Skrat v notebooku som opravil, ale bateria je mrtva.

Bateria ma clanky nabite, poistku neporusenu. Akurat blby status a nulovy nabijaci prud aj napatie:

Kód: Vybrat vše

SMBusb Firmware Version: 1.0.1
-------------------------------------------------
Manufacturer Name:          AS19QOc3jB
Device Name:                X705--36
Device Chemistry:           PAI0
Serial Number:              5984
Manufacture Date:           2018.11.29

Manufacturer Access:        6b80
Remaining Capacity Alarm:   372 mAh(/10mWh)
Remaining Time Alarm:       228 min
Battery Mode:               6001
At Rate:                    0 mAh(/10mWh)
At Rate Time To Full:       65535 min
At Rate Time To Empty:      65535 min
At Rate OK:                 1
Temperature:                21.25 degC
Voltage:                    12046 mV
Current:                    0 mA
Average Current:            0 mA
Max Error:                  1 %
Relative State Of Charge    100 %
Absolute State Of Charge    10 %
Remaining Capacity:         364 mAh(/10mWh)
Full Charge Capacity:       364 mAh(/10mWh)
Run Time To Empty:          65535 min
Average Time To Empty:      65535 min
Average Time To Full:       65535 min
Charging Current:           0 mA
Charging Voltage:           0 mV
Battery Status:             4ae0
Cycle Count:                378
Design Capacity:            3727 mAh(/10mWh)
Design Voltage:             11550 mV
Specification Info:         0031
Cell 0 voltage:             0 mV
Cell 1 voltage:             4023 mV
Cell 2 voltage:             4011 mV
Cell 3 voltage:             4013 mV
bq40z50 nezapne vstupne/vystupne FETy, pretoze ma vo flash ulozenu Permanent Failure (preto aj nulove nabijacie napatie a prud):

Kód: Vybrat vše

./smbusb_comm -a 16 -c 00 -w 0054 && ./smbusb_comm -a 16 -c 23 -r 2
00080000
-> ASCDL (Bit 11): Short-circuit During Discharge Latch detected

Datasheet aj technical reference su dostupne - takze viem, ze je potrebne najprv urobit unseal. Lenze defaultne heslo (0x0414 0x3672) nefunguje.

Vraj na tieto bq existuje nejaky backdoorovy prikaz na prechod do FULL ACCESS modu - pouzivaju ho drahe resetovacie programy, ale nikto ho nezverejnil.

Takze ostava este moznost zlomit to nejakou inou metodou. Brute force celych 32-bitov je nerealny. Je tam ale sanca, ze by sa to dalo zlomit ako 2x 16-bitov - znizit zlozitost pomocou bocneho kanala - napr. merat odber prudu po odoslani prikazu. Pri spravnej casti hesla by mohol mat iny priebeh.

Mate nejake skusenosti s takymto postupom? Chcelo by to zaznamenavat a vyhodnocovat ten prud automaticky nejakym skriptom - rucne to je nerealne.

Napsal: 28 bře 2023, 09:02
od Zaky
Problém je, že nevíš, zda a jak velkou změnu proudu očekávat. Zkoušel jsi měřit proud při zadání nesprávného hesla, jak moc kolísá? Protože by to dost pravděpodobně potřebovalo relativně sofistikované zařízení s MCU a převodníkem, poslat tomu nějaký start, potom poslat hesla do BQ a udělat komparaci s referenčním průběhem. Odladit tolerance proti tomu referenčnímu průběhu a nechat to louskat. Potřebná vzorkovací frekvence je otázka, ale očekávám, že to pomalé nebude. Z jednoho projektu mám vyvinuté zařízení s 32 bit ADC na 1 MSPS, do PC to sype přes SPI to USB konvertor. S tím by to asi šlo. Ale práce by na tom byla kupa, to je jen pro ten pocit, že se to podařilo, ekonomicky je to nesmysl.

Napsal: 28 bře 2023, 09:23
od rnbw
Merat som neskusal. Ma to totiz este jeden problem - napajanie z baterie odpojit nemozem, ked to nechcem rozosrat uplne.

Takze zostava moznost, ze spravna prva cast hesla nejako ovplyvni vykonanie nasledujuceho prikazu. Bud funkcnostou alebo casovanim.

V datasheete je totiz poznamka, z ktorej vyplyva, ze sa platnost hesla vyhodnocuje uz po prvej casti:

Kód: Vybrat vše

NOTE: The first word of the keys cannot be the same. That means an UNSEAL key with 0xABCD 0x1234 and FULL ACCESS key with 0xABCD 0x5678 are not valid because the first word is the same.
This is because the first word is used as a “detection” for the right command. This also means the first word cannot be the same as any existing MAC command.
Dalsi bz40z50 nemam, ale mozno by sa dalo nieco zistit z ineho bq, ktory sa odomyka rovnakym sposobom.

Napsal: 28 bře 2023, 10:03
od rnbw
Inak zaujimave je video "FULLACCESS & UNSEAL BQ40z50" https://www.youtube.com/watch?v=kaYimeXnIU8

Je tam nejaky divny adapter a program (nikde na webe neexistuje) Master SMBus (M-SB), ktory ma funkciu "Find key".

Napsal: 28 bře 2023, 13:09
od piCZus
Bolševici to většinou dávají na yandex disk, verze 3.08 (3.21 tam asi není)
https://disk.yandex.ru/d/nRF4PGrZqiN1ew

na VT jen 2 varování
https://www.virustotal.com/gui/file/014 ... 9c90c89aa8

Napsal: 28 bře 2023, 13:12
od rnbw
Ten link som nasiel pod jednym videom. Nespustal som to, ale dekompiloval (je to pisane v Delphi) a vyzera to tak, ze algoritmus je vo firmwari toho adapteru...

Napsal: 28 bře 2023, 13:18
od piCZus
To je odkaz na ten adaptér za 3000 rublů, ale asi už vypršel.

Napsal: 28 bře 2023, 16:50
od Mahoney
(Zde byl závadný příspěvek, který už je smazaný. Editace vyžaduje zadání textu, je zde tedy tento).

Napsal: 28 bře 2023, 17:26
od rnbw
Snad kazda veta je uplne mimo, ani sa k tomu nebudem vyjadrovat...

Napsal: 28 bře 2023, 18:13
od Mahoney
Už ses vyjádřil… Omlouvám se za snahu pomoci.

Napsal: 31 bře 2023, 16:01
od RayeR
Tak to sem zvedav, jak s tim side channel atakem / brute pochodis, to uz je vyssi divci... ja sem vetsinou skoncil zahy tim, ze k danemu bq nebyl datsheet a i kdyz mam ucet na TI E2E, tak mi pri nejlepsim odepsali, ze je to specificky cip pro daneho zakaznika a k nemu nic ostatnim nedaji... Nojo tydle baterkivy kurvitka sou docela sofistikovany...