Cipher Block Chaining CBC-MAC
Last updated
Last updated
Jifunze na zoezi la AWS Hacking:Mafunzo ya HackTricks kwa Wataalam wa Timu Nyekundu ya AWS (ARTE) Jifunze na zoezi la GCP Hacking: Mafunzo ya HackTricks kwa Wataalam wa Timu Nyekundu ya GCP (GRTE)
Ikiwa cookie ni tu jina la mtumiaji (au sehemu ya kwanza ya cookie ni jina la mtumiaji) na unataka kujifanya kuwa jina la mtumiaji "admin". Kisha, unaweza kuunda jina la mtumiaji "bdmin" na kufanya jaribio la nguvu ya byte ya kwanza ya cookie.
Msimbo wa uthibitishaji wa ujumbe wa kufungwa kwa mnyororo (CBC-MAC) ni njia inayotumiwa katika kriptografia. Inafanya kazi kwa kuchukua ujumbe na kuuweka kwa kufungwa kwa kila kibodi, ambapo kufungwa kwa kila kibodi kunahusishwa na ile iliyotangulia. Mchakato huu unajenga mnyororo wa kibodi, ukisafisha kwamba kubadilisha hata kidogo tu biti ya ujumbe halisi kutapelekea mabadiliko yasiyotabirika katika kibodi ya mwisho ya data iliyofungwa. Ili kufanya au kubadilisha mabadiliko kama hayo, ufunguo wa kufungwa unahitajika, ikisimamia usalama.
Ili kuhesabu CBC-MAC ya ujumbe m, mtu anafunga m katika hali ya CBC na vector ya kuanzisha sifuri na kuhifadhi kibodi ya mwisho. Mchoro unaofuata unapanga hesabu ya CBC-MAC ya ujumbe unaoundwa na kibodi ukitumia ufunguo wa siri k na kibodi ya kibodi E:
Kwa CBC-MAC kawaida IV iliyotumiwa ni 0.
Hii ni tatizo kwa sababu ujumbe 2 uliojulikana (m1
na m2
) kila mmoja utazalisha saini 2 (s1
na s2
). Kwa hivyo:
E(m1 XOR 0) = s1
E(m2 XOR 0) = s2
Kisha ujumbe uliojumuisha m1 na m2 (m3) utazalisha saini 2 (s31 na s32):
E(m1 XOR 0) = s31 = s1
E(m2 XOR s1) = s32
Ambayo inawezekana kuhesabu bila kujua ufunguo wa kufungwa.
Fikiria unafunga jina Msimamizi katika kibodi za 8bytes:
Administ
rator\00\00\00
Unaweza kuunda jina la mtumiaji linaloitwa Administ (m1) na kupata saini (s1).
Kisha, unaweza kuunda jina la mtumiaji lililopatikana kutoka 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 Msimamizi.
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 cookie kwa s32 na itakuwa cookie halali kwa mtumiaji Msimamizi.
Ikiwa unaweza kudhibiti IV iliyotumiwa mashambulizi yanaweza kuwa rahisi sana. Ikiwa vidakuzi ni tu jina la mtumiaji lililofungwa, kujifanya kuwa mtumiaji "msimamizi" unaweza kuunda mtumiaji "Msimamizi" na utapata cookie yake. Sasa, ikiwa unaweza kudhibiti IV, unaweza kubadilisha Byte ya kwanza ya IV ili IV[0] XOR "A" == IV'[0] XOR "a" na kuzalisha upya cookie kwa mtumiaji Msimamizi. Cookie hii itakuwa halali kwa kujifanya kuwa mtumiaji msimamizi na IV ya awali.
Maelezo zaidi kwenye https://en.wikipedia.org/wiki/CBC-MAC
Jifunze na zoezi la AWS Hacking:Mafunzo ya HackTricks kwa Wataalam wa Timu Nyekundu ya AWS (ARTE) Jifunze na zoezi la GCP Hacking: Mafunzo ya HackTricks kwa Wataalam wa Timu Nyekundu ya GCP (GRTE)