Cipher Block Chaining CBC-MAC
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ikiwa keki ni tu jina la mtumiaji (au sehemu ya kwanza ya keki ni jina la mtumiaji) na unataka kujifanya kuwa jina la mtumiaji "admin". Kisha, unaweza kuunda jina la mtumiaji "bdmin" na bruteforce byte ya kwanza ya keki.
Cipher block chaining message authentication code (CBC-MAC) ni njia inayotumika katika cryptography. Inafanya kazi kwa kuchukua ujumbe na kuuficha block kwa block, ambapo kila block ya usimbuaji inahusishwa na ile iliyotangulia. Mchakato huu unaunda mnyororo wa blocks, kuhakikisha kwamba kubadilisha hata bit moja ya ujumbe wa asili kutasababisha mabadiliko yasiyotabirika katika block ya mwisho ya data iliyofichwa. Ili kufanya au kubadilisha mabadiliko kama hayo, funguo ya usimbuaji inahitajika, kuhakikisha usalama.
Ili kuhesabu CBC-MAC ya ujumbe m, mtu anaficha m katika hali ya CBC na vector ya mwanzo ya sifuri na anahifadhi block ya mwisho. Mchoro ufuatao unachora hesabu ya CBC-MAC ya ujumbe unaojumuisha blocks ukitumia funguo ya siri k na cipher block E:
Na CBC-MAC kwa kawaida IV inayotumika ni 0.
Hii ni shida kwa sababu ujumbe 2 unaojulikana (m1
na m2
) kwa uhuru utaweza kuzalisha saini 2 (s1
na s2
). Hivyo:
E(m1 XOR 0) = s1
E(m2 XOR 0) = s2
Kisha ujumbe ulio na m1 na m2 uliounganishwa (m3) utaweza kuzalisha saini 2 (s31 na s32):
E(m1 XOR 0) = s31 = s1
E(m2 XOR s1) = s32
Ambayo inawezekana kuhesabu bila kujua funguo ya usimbuaji.
Fikiria unaficha jina Administrator katika 8bytes blocks:
Administ
rator\00\00\00
Unaweza kuunda jina la mtumiaji linaloitwa Administ (m1) na kupata saini (s1).
Kisha, unaweza kuunda jina la mtumiaji linaloitwa matokeo ya rator\00\00\00 XOR s1
. Hii itazalisha E(m2 XOR s1 XOR 0)
ambayo ni s32.
sasa, unaweza kutumia s32 kama saini ya jina kamili Administrator.
Pata saini ya jina la mtumiaji Administ (m1) ambayo ni s1
Pata saini ya jina la mtumiaji rator\x00\x00\x00 XOR s1 XOR 0 ni s32**.**
Weka keki kuwa s32 na itakuwa keki halali kwa mtumiaji Administrator.
Ikiwa unaweza kudhibiti IV inayotumika shambulio linaweza kuwa rahisi sana. Ikiwa keki ni jina la mtumiaji tu lililofichwa, ili kujifanya kuwa mtumiaji "administrator" unaweza kuunda mtumiaji "Administrator" na utapata keki yake. Sasa, ikiwa unaweza kudhibiti IV, unaweza kubadilisha byte ya kwanza ya IV hivyo IV[0] XOR "A" == IV'[0] XOR "a" na kuunda upya keki kwa mtumiaji Administrator. Keki hii itakuwa halali ili kujifanya kuwa mtumiaji administrator na IV ya awali.
Maelezo zaidi katika https://en.wikipedia.org/wiki/CBC-MAC
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)