hacktricks/crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md

82 lines
5.4 KiB
Markdown
Raw Normal View History

2024-04-06 19:39:38 +00:00
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
2024-04-06 19:39:38 +00:00
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
2024-04-06 19:39:38 +00:00
</details>
# CBC
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 **kuvunja nguvu** **baiti ya kwanza** ya cookie.
2024-04-06 19:39:38 +00:00
# CBC-MAC
**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**, ikisafisha kwamba kubadilisha hata biti moja tu ya ujumbe halisi kutapelekea mabadiliko yasiyotabirika katika kibodi ya mwisho ya data iliyofungwa. Ili kufanya au kubadilisha mabadiliko kama hayo, ufunguo wa kufungwa unahitajika, ikisafisha usalama.
2024-04-06 19:39:38 +00:00
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![https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5](https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5) ukitumia ufunguo wa siri k na kibodi ya kibodi E:
2024-04-06 19:39:38 +00:00
![https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/CBC-MAC\_structure\_\(en\).svg/570px-CBC-MAC\_structure\_\(en\).svg.png](https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/CBC-MAC\_structure\_\(en\).svg/570px-CBC-MAC\_structure\_\(en\).svg.png)
# Udhaifu
Kwa kawaida CBC-MAC **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:
2024-04-06 19:39:38 +00:00
* `E(m1 XOR 0) = s1`
* `E(m2 XOR 0) = s2`
Kisha ujumbe uliojumuisha m1 na m2 (m3) utazalisha saini 2 (s31 na s32):
2024-04-06 19:39:38 +00:00
* `E(m1 XOR 0) = s31 = s1`
* `E(m2 XOR s1) = s32`
**Ambayo inawezekana kuhesabu bila kujua ufunguo wa kufungwa.**
2024-04-06 19:39:38 +00:00
Fikiria unafunga jina **Msimamizi** katika kibodi za **8baiti**:
2024-04-06 19:39:38 +00:00
* `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 **Msimamizi**.
### Muhtasari
1. Pata saini ya jina la mtumiaji **Administ** (m1) ambayo ni s1
2. Pata saini ya jina la mtumiaji **rator\x00\x00\x00 XOR s1 XOR 0** ni s32**.**
3. Weka cookie kwa s32 na itakuwa cookie halali kwa mtumiaji **Msimamizi**.
2024-04-06 19:39:38 +00:00
# Kudhibiti Shambulio la IV
2024-04-06 19:39:38 +00:00
Ikiwa unaweza kudhibiti IV iliyotumiwa shambulio linaweza 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 Baiti ya kwanza ya IV ili **IV\[0] XOR "A" == IV'\[0] XOR "a"** na kuzalisha upya cookie kwa mtumiaji **Msimamizi.** Cookie hii itakuwa halali kudukua mtumiaji **msimamizi** na IV ya awali.
2024-04-06 19:39:38 +00:00
## Marejeo
Maelezo zaidi katika [https://en.wikipedia.org/wiki/CBC-MAC](https://en.wikipedia.org/wiki/CBC-MAC)
2024-04-06 19:39:38 +00:00
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
2024-04-06 19:39:38 +00:00
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
2024-04-06 19:39:38 +00:00
</details>