80,443 - Pentesting Web Methodology
Tip
Impara e pratica il hacking AWS:
HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP:HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos github.
Informazioni di base
Il servizio web è il più comune e diffuso e ci sono molti tipi diversi di vulnerabilità.
Porta predefinita: 80 (HTTP), 443(HTTPS)
PORT STATE SERVICE
80/tcp open http
443/tcp open ssl/https
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0
Linee guida Web API
Riepilogo della metodologia
In questa metodologia supporremo che tu stia per attaccare un dominio (o subdomain) e solo quello. Dunque, dovresti applicare questa metodologia a ciascun dominio, subdomain o IP scoperto con web server non determinato all’interno del perimetro.
- Inizia identificando le tecnologie utilizzate dal web server. Cerca trucchi da tenere a mente durante il resto del test se riesci a identificare con successo la tech.
- Ci sono vulnerabilità conosciute per la versione della tecnologia?
- Stai usando qualche well known tech? Qualche trucco utile per estrarre più informazioni?
- Qualche specialised scanner da eseguire (come wpscan)?
- Lancia general purposes scanners. Non sai mai se troveranno qualcosa o informazioni interessanti.
- Inizia con i controlli iniziali: robots, sitemap, errore 404 e SSL/TLS scan (se HTTPS).
- Avvia spidering della pagina web: è il momento di trovare tutti i possibili file, cartelle e parametri in uso. Controlla anche eventuali scoperte speciali.
- Nota che ogni volta che viene scoperta una nuova directory durante brute-forcing o spidering, questa dovrebbe essere spidered.
- Directory Brute-Forcing: prova a brute-forzare tutte le cartelle scoperte alla ricerca di nuovi file e directory.
- Nota che ogni volta che viene scoperta una nuova directory durante brute-forcing o spidering, questa dovrebbe essere Brute-Forced.
- Backups checking: verifica se riesci a trovare backup dei file scoperti aggiungendo estensioni di backup comuni.
- Brute-Force parameters: prova a trovare parametri nascosti.
- Una volta che hai identificato tutti i possibili endpoint che accettano input dall’utente, verifica tutti i tipi di vulnerabilità correlate.
- Segui questa checklist
Server Version (Vulnerable?)
Identificazione
Controlla se esistono vulnerabilità conosciute per la versione del server in esecuzione.
Le HTTP headers e i cookies della response possono essere molto utili per identificare le tecnologie e/o la versione in uso. Una Nmap scan può identificare la versione del server, ma possono essere utili anche gli strumenti whatweb, webtech o https://builtwith.com/:
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
Cerca per vulnerabilities of the web application version
Controlla se è presente un WAF
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
Trucchi per tecnologie Web
Alcuni tricks per finding vulnerabilities in diverse e ben note technologies in uso:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- Custom UDP RPC Protocols
- Dotnet SOAP WSDL client exploitation
- Drupal
- Flask
- Fortinet FortiWeb
- Git
- Golang
- GraphQL
- H2 - Java SQL database
- ISPConfig
- IIS tricks
- Microsoft SharePoint
- JBOSS
- Jenkins
- Jira
- Joomla
- JSP
- Laravel
- Moodle
- Nginx
- PHP (php has a lot of interesting tricks that could be exploited)
- Python
- Roundcube
- Spring Actuators
- Symphony
- Tomcat
- VMWare
- Web API Pentesting
- WebDav
- Werkzeug
- Wordpress
- Electron Desktop (XSS to RCE)
- Sitecore
- Zabbix
Tieni conto che lo stesso dominio può usare diverse technologies su diverse ports, folders e subdomains.
Se la web application sta usando una delle tech/platform listed before o qualsiasi altra, non dimenticare di search on the Internet nuovi tricks (e fammi sapere!).
Revisione del codice sorgente
Se il source code dell’applicazione è disponibile su github, oltre a eseguire da te stesso un White box test dell’applicazione, ci sono alcune informazioni che potrebbero essere utili per il corrente Black-Box testing:
- Esiste un Change-log or Readme or Version file o qualsiasi cosa con version info accessibile via web?
- Come e dove vengono salvate le credentials? Esiste qualche file (accessibile?) con credentials (usernames o passwords)?
- Le passwords sono in plain text, encrypted o quale hashing algorithm viene usato?
- Sta usando qualche master key per cifrare qualcosa? Quale algorithm è usato?
- Puoi access any of these files sfruttando qualche vulnerability?
- Ci sono informazioni interessanti su github (issues risolte e non risolte)? O nella cronologia dei commit (magari qualche password introdotta in un vecchio commit)?
Source code Review / SAST Tools
Scanner automatici
Scanner automatici di uso generale
nikto -h <URL>
whatweb -a 4 <URL>
wapiti -u <URL>
W3af
zaproxy #You can use an API
nuclei -ut && nuclei -target <URL>
# https://github.com/ignis-sec/puff (client side vulns fuzzer)
node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi2rVUN/?query=FUZZ"
Scanner per CMS
Se viene utilizzato un CMS, non dimenticare di eseguire uno scanner, potresti trovare qualcosa di interessante:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin per rilevare problemi di sicurezza nei siti web. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal o (M)oodle
droopscan: Drupal, Joomla, Moodle, Silverstripe, Wordpress
cmsmap [-f W] -F -d <URL>
wpscan --force update -e --url <URL>
joomscan --ec -u <URL>
joomlavs.rb #https://github.com/rastating/joomlavs
A questo punto dovresti già avere alcune informazioni sul web server utilizzato dal client (se vengono forniti dati) e alcuni trucchi da tenere a mente durante il test. Se sei fortunato hai anche trovato un CMS e lanciato qualche scanner.
Scoperta passo-passo dell’applicazione Web
Da questo punto inizieremo a interagire con l’applicazione web.
Controlli iniziali
Pagine di default con informazioni interessanti:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- Verifica anche i commenti nelle pagine principali e secondarie.
Forzare errori
I web server possono comportarsi in modo inaspettato quando vengono inviati dati strani. Questo può aprire vulnerabilities o causare disclosure sensitive information.
- Accedi a pagine false come /whatever_fake.php (.aspx,.html,.etc)
- Aggiungi “[]”, “]]”, e “[[” nei valori dei cookie e nei parametri per creare errori
- Genera un errore fornendo l’input
/~randomthing/%salla fine dell’URL - Prova different HTTP Verbs come PATCH, DEBUG o errati come FAKE
Verifica se puoi caricare file (PUT verb, WebDav)
Se scopri che WebDav è abilitato ma non hai permessi sufficienti per uploading files nella cartella root prova a:
- Brute Force credentials
- Upload files via WebDav nelle altre cartelle trovate all’interno della pagina web. Potresti avere i permessi per caricare file in altre cartelle.
SSL/TLS vulnerabilità
- Se l’applicazione non obbliga l’uso di HTTPS in nessuna parte, allora è vulnerable to MitM
- Se l’applicazione invia dati sensibili (password) tramite HTTP. Allora è una vulnerabilità critica.
Usa testssl.sh per verificare la presenza di vulnerabilities (Nei programmi Bug Bounty probabilmente questo tipo di vulnerabilità non verranno accettate) e usa a2sv to ricontrollare le vulnerabilities:
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
# You can also use other tools, by testssl.sh at this momment is the best one (I think)
sslscan <host:port>
sslyze --regular <ip:port>
Informazioni sulle vulnerabilità SSL/TLS:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Spidering
Lancia una sorta di spider all’interno del web. L’obiettivo dello spider è trovare il maggior numero possibile di percorsi dell’applicazione testata. Pertanto, web crawling e fonti esterne dovrebbero essere usate per trovare il maggior numero possibile di percorsi validi.
- gospider (go): HTML spider, LinkFinder nei file JS e fonti esterne (Archive.org, CommonCrawl.org, VirusTotal.com).
- hakrawler (go): HML spider, con LinkFinder per i file JS e Archive.org come fonte esterna.
- dirhunt (python): HTML spider, indica anche i “juicy files”.
- evine (go): CLI interattivo HTML spider. Cerca anche in Archive.org
- meg (go): Questo strumento non è uno spider ma può essere utile. Puoi indicare un file con hosts e un file con paths e meg farà fetch di ogni path su ogni host e salverà la response.
- urlgrab (go): HTML spider con capacità di rendering JS. Tuttavia, sembra non più mantenuto, la versione precompilata è vecchia e il codice attuale non compila
- gau (go): HTML spider che usa provider esterni (wayback, otx, commoncrawl)
- ParamSpider: Questo script troverà URL con parametri e li elencherà.
- galer (go): HTML spider con capacità di rendering JS.
- LinkFinder (python): HTML spider, con funzionalità di JS beautify in grado di cercare nuovi percorsi nei file JS. Potrebbe valere la pena dare un’occhiata anche a JSScanner, che è un wrapper di LinkFinder.
- goLinkFinder (go): Per estrarre endpoint sia nel sorgente HTML che nei javascript embedded. Utile per bug hunters, red teamers, infosec ninjas.
- JSParser (python2.7): Uno script python 2.7 che usa Tornado e JSBeautifier per parsare URL relativi dai file JavaScript. Utile per scoprire facilmente richieste AJAX. Sembra non più mantenuto.
- relative-url-extractor (ruby): Dato un file (HTML) estrae URL usando una regex ingegnosa per trovare ed estrarre gli URL relativi da file uglificati/minify.
- JSFScan (bash, diversi tool): Raccoglie informazioni interessanti dai file JS usando vari tool.
- subjs (go): Trova file JS.
- page-fetch (go): Carica una pagina in un headless browser e stampa tutti gli urls caricati per caricare la pagina.
- Feroxbuster (rust): Tool di content discovery che mixa diverse opzioni dei tool precedenti
- Javascript Parsing: Una Burp extension per trovare path e params nei file JS.
- BurpJSLinkFinder Enhanced: Burp extension (Jython) che analizza passivamente le risposte JavaScript (per MIME type e percorsi
/js) per estrarre endpoint/link e opzionalmente segnalare embedded secrets con severità. - Sourcemapper: Uno strumento che dato l’URL .js.map ti restituisce il codice JS beatified
- xnLinkFinder: Strumento per scoprire endpoint per un dato target.
- waymore: Discover links from the wayback machine (also downloading the responses in the wayback and looking for more links)
- HTTPLoot (go): Crawl (anche riempiendo form) e trova anche info sensibili usando regex specifiche.
- SpiderSuite: Spider Suite è un avanzato web security Crawler/Spider GUI multi-feature progettato per professionisti della cybersecurity.
- jsluice (go): È un package Go e command-line tool per estrarre URLs, paths, secrets e altri dati interessanti dal codice sorgente JavaScript.
- ParaForge: ParaForge è una semplice Burp Suite extension per estrarre i parametri e gli endpoint dalla request per creare wordlist custom per fuzzing ed enumeration.
- katana (go): Ottimo tool per questo.
- Crawley (go): Stampa ogni link che riesce a trovare.
Brute Force directories and files
Start brute-forcing from the root folder and be sure to brute-force all the directories found using this method and all the directories discovered by the Spidering (you can do this brute-forcing recursively and appending at the beginning of the used wordlist the names of the found directories).
Tools:
- Dirb / Dirbuster - Included in Kali, old (and slow) but functional. Allow auto-signed certificates and recursive search. Too slow compared with th other options.
- Dirsearch (python): It doesn’t allow auto-signed certificates but allows recursive search.
- Gobuster (go): It allows auto-signed certificates, it doesn’t have recursive search.
- Feroxbuster - Fast, supports recursive search.
- wfuzz
wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ - ffuf - Fast:
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ - uro (python): Questo non è uno spider ma uno strumento che dato l’elenco di URL trovati provvede a eliminare URL “duplicati”.
- Scavenger: Burp Extension per creare una lista di directory dalla burp history di diverse pagine
- TrashCompactor: Rimuove URL con funzionalità duplicate (basato su import js)
- Chamaleon: Usa wapalyzer per rilevare le tecnologie usate e selezionare le wordlists da usare.
Recommended dictionaries:
- https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/bf_directories.txt
- Dirsearch included dictionary
- http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10
- Assetnote wordlists
- https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content
- raft-large-directories-lowercase.txt
- directory-list-2.3-medium.txt
- RobotsDisallowed/top10000.txt
- https://github.com/random-robbie/bruteforce-lists
- https://github.com/google/fuzzing/tree/master/dictionaries
- https://github.com/six2dez/OneListForAll
- https://github.com/random-robbie/bruteforce-lists
- https://github.com/ayoubfathi/leaky-paths
- /usr/share/wordlists/dirb/common.txt
- /usr/share/wordlists/dirb/big.txt
- /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Note that anytime a new directory is discovered during brute-forcing or spidering, it should be Brute-Forced.
What to check on each file found
- Broken link checker: Trova broken links all’interno degli HTML che potrebbero essere prone a takeover
- File Backups: Una volta trovati tutti i file, cerca backup di tutti i file eseguibili (“.php”, “.aspx”…). Variazioni comuni per il naming di un backup sono: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp and file.old. Puoi anche usare lo strumento bfac or backup-gen.
- Discover new parameters: Puoi usare tool come Arjun, parameth, x8 and Param Miner per scoprire parametri nascosti. Se puoi, prova a cercare parametri nascosti in ogni file web eseguibile.
- Arjun all default wordlists: https://github.com/s0md3v/Arjun/tree/master/arjun/db
- Param-miner “params” : https://github.com/PortSwigger/param-miner/blob/master/resources/params
- Assetnote “parameters_top_1m”: https://wordlists.assetnote.io/
- nullenc0de “params.txt”: https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773
- Comments: Controlla i commenti di tutti i file, puoi trovare credentials o funzionalità nascoste.
- Se stai giocando in CTF, un trucco “comune” è nascondere informazioni dentro commenti a destra della pagina (usando centinaia di spazi così non vedi i dati se apri il sorgente con il browser). Un’altra possibilità è usare diverse nuove linee e nascondere informazioni in un commento in fondo alla pagina web.
- API keys: Se trovi una API key c’è una guida che indica come usare API keys di diverse piattaforme: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: Se trovi una API key che inizia con AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik puoi usare il progetto gmapapiscanner per verificare quali apis la key può accedere.
- S3 Buckets: Mentre fai spidering guarda se qualche subdomain o qualche link è relativo a qualche S3 bucket. In quel caso, check the permissions of the bucket.
Special findings
While performing the spidering and brute-forcing you could find interesting things that you have to notice.
Interesting files
- Cerca link ad altri file all’interno dei file CSS.
- If you find a .git file some information can be extracted
- Se trovi un file .env possono essere trovate informazioni come api keys, password db e altre informazioni.
- Se trovi API endpoints dovresti also test them. Questi non sono file, ma probabilmente “sembra” che lo siano.
- JS files: Nella sezione spidering sono stati menzionati diversi tool che possono estrarre path dai file JS. Sarebbe interessante anche monitorare ogni file JS trovato, poiché in alcune occasioni una modifica potrebbe indicare che è stata introdotta una potenziale vulnerabilità nel codice. Potresti usare per esempio JSMon.
- Dovresti anche controllare i file JS scoperti con RetireJS o JSHole per verificare se sono vulnerabili.
- Javascript Deobfuscator and Unpacker: https://lelinhtinh.github.io/de4js/, https://www.dcode.fr/javascript-unobfuscator
- Javascript Beautifier: http://jsbeautifier.org/, http://jsnice.org/
- JsFuck deobfuscation (javascript with chars:“[]!+” https://enkhee-osiris.github.io/Decoder-JSFuck/)
- TrainFuck:
+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23. - In diverse occasioni, sarà necessario capire le regular expressions usate. Questo sarà utile: https://regex101.com/ o https://pythonium.net/regex
- Potresti anche monitorare i file dove sono stati rilevati form, poiché una modifica nel parametro o la comparsa di un nuovo form potrebbe indicare una potenziale nuova funzionalità vulnerabile.
403 Forbidden/Basic Authentication/401 Unauthorized (bypass)
502 Proxy Error
Se una pagina risponde con quel codice, probabilmente è un proxy mal configurato. Se invii una richiesta HTTP tipo: GET https://google.com HTTP/1.1 (con l’header host e altri header comuni), il proxy cercherà di accedere a google.com e avrai trovato una SSRF.
NTLM Authentication - Info disclosure
Se il server che richiede autenticazione è Windows o trovi una login che chiede le tue credentials (e chiede il domain name), puoi provocare una information disclosure.
Invia l’header: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” e, a causa di come funziona l’NTLM authentication, il server risponderà con info interne (versione IIS, versione Windows…) dentro l’header “WWW-Authenticate”.
Puoi automatizzare questo usando il nmap plugin “http-ntlm-info.nse”.
HTTP Redirect (CTF)
È possibile inserire contenuto dentro una Redirection. Questo contenuto non sarà mostrato all’utente (poiché il browser eseguirà la redirezione) ma qualcosa potrebbe essere nascosto lì dentro.
Web Vulnerabilities Checking
Now that a comprehensive enumeration of the web application has been performed it’s time to check for a lot of possible vulnerabilities. You can find the checklist here:
Web Vulnerabilities Methodology
Find more info about web vulns in:
- https://six2dez.gitbook.io/pentest-book/others/web-checklist
- https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web_application_security_testing/configuration_and_deployment_management_testing.html
- https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection
Monitor Pages for changes
Puoi usare tool come https://github.com/dgtlmoon/changedetection.io per monitorare pagine per modifiche che potrebbero inserire vulnerabilità.
HackTricks Automatic Commands
HackTricks Automatic Commands
```yaml Protocol_Name: Web #Protocol Abbreviation if there is one. Port_Number: 80,443 #Comma separated if there is more than one. Protocol_Description: Web #Protocol Abbreviation Spelled outEntry_1: Name: Notes Description: Notes for Web Note: | https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/index.html
Entry_2: Name: Quick Web Scan Description: Nikto and GoBuster Command: nikto -host {Web_Proto}://{IP}:{Web_Port} &&&& gobuster dir -w {Small_Dirlist} -u {Web_Proto}://{IP}:{Web_Port} && gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
Entry_3: Name: Nikto Description: Basic Site Info via Nikto Command: nikto -host {Web_Proto}://{IP}:{Web_Port}
Entry_4: Name: WhatWeb Description: General purpose auto scanner Command: whatweb -a 4 {IP}
Entry_5: Name: Directory Brute Force Non-Recursive Description: Non-Recursive Directory Brute Force Command: gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
Entry_6: Name: Directory Brute Force Recursive Description: Recursive Directory Brute Force Command: python3 {Tool_Dir}dirsearch/dirsearch.py -w {Small_Dirlist} -e php,exe,sh,py,html,pl -f -t 20 -u {Web_Proto}://{IP}:{Web_Port} -r 10
Entry_7: Name: Directory Brute Force CGI Description: Common Gateway Interface Brute Force Command: gobuster dir -u {Web_Proto}://{IP}:{Web_Port}/ -w /usr/share/seclists/Discovery/Web-Content/CGIs.txt -s 200
Entry_8:
Name: Nmap Web Vuln Scan
Description: Tailored Nmap Scan for web Vulnerabilities
Command: nmap -vv –reason -Pn -sV -p {Web_Port} –script=banner,(http* or ssl*) and not (brute or broadcast or dos or external or http-slowloris* or fuzzer) {IP}
Entry_9: Name: Drupal Description: Drupal Enumeration Notes Note: | git clone https://github.com/immunIT/drupwn.git for low hanging fruit and git clone https://github.com/droope/droopescan.git for deeper enumeration
Entry_10: Name: WordPress Description: WordPress Enumeration with WPScan Command: | ?What is the location of the wp-login.php? Example: /Yeet/cannon/wp-login.php wpscan –url {Web_Proto}://{IP}{1} –enumerate ap,at,cb,dbe && wpscan –url {Web_Proto}://{IP}{1} –enumerate u,tt,t,vp –passwords {Big_Passwordlist} -e
Entry_11: Name: WordPress Hydra Brute Force Description: Need User (admin is default) Command: hydra -l admin -P {Big_Passwordlist} {IP} -V http-form-post ‘/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location’
Entry_12: Name: Ffuf Vhost Description: Simple Scan with Ffuf for discovering additional vhosts Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H “Host:FUZZ.{Domain_Name}” -c -mc all {Ffuf_Filters}
</details>
## Riferimenti
- [https://github.com/panchocosil/burp-js-linkfinder-enhanced](https://github.com/panchocosil/burp-js-linkfinder-enhanced)
> [!TIP]
> Impara e pratica il hacking AWS:<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> Impara e pratica il hacking GCP: <img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
> Impara e pratica il hacking Azure: <img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training Azure Red Team Expert (AzRTE)**](https://training.hacktricks.xyz/courses/azrte)<img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
>
> <details>
>
> <summary>Supporta HackTricks</summary>
>
> - Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
> - **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos github.
>
> </details>


