80,443 - Pentesting Web Methodology
Tip
Lernen & üben Sie AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Grundlegende Infos
Der Web-Service ist der häufigste und umfangreichste Dienst und es gibt viele verschiedene Arten von Schwachstellen.
Standardport: 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
Web API Leitfaden
Methodologie-Zusammenfassung
In dieser Methodologie gehen wir davon aus, dass Sie eine Domain (oder Subdomain) und nur diese angreifen. Wenden Sie diese Methodologie daher auf jede entdeckte Domain, Subdomain oder IP mit unbestimmtem Webserver im Scope an.
- Start by identifying the technologies used by the Webserver. Look for tricks to keep in mind during the rest of the Test if you can successfully identify the tech.
- Gibt es bekannte Schwachstellen der Version der verwendeten Technologie?
- Setzt die Seite eine well known tech ein? Gibt es nützliche Tricks um mehr Informationen zu extrahieren?
- Gibt es einen specialised scanner der ausgeführt werden sollte (z. B. wpscan)?
- Führen Sie general purposes scanners aus. Man weiß nie, ob sie etwas finden oder interessante Informationen liefern.
- Starten Sie mit den initial checks: robots, sitemap, 404 error und SSL/TLS scan (bei HTTPS).
- Start spidering der Webseite: Es ist Zeit, alle möglichen files, folders und parameters zu finden, die verwendet werden. Prüfen Sie auch auf special findings.
- Beachte, dass jedes Mal, wenn ein neues Verzeichnis während brute-forcing oder spidering entdeckt wird, es gespidert werden sollte.
- Directory Brute-Forcing: Versuchen Sie, alle entdeckten Ordner zu brute-forcen, um neue files und directories zu finden.
- Beachte, dass jedes Mal, wenn ein neues Verzeichnis während brute-forcing oder spidering entdeckt wird, es Brute-Forced werden sollte.
- Backups checking: Prüfen Sie, ob Sie backups von entdeckten Dateien finden können, indem Sie gängige Backup-Erweiterungen anhängen.
- Brute-Force parameters: Versuchen Sie, versteckte parameter zu finden.
- Sobald Sie alle möglichen endpoints identifiziert haben, die user input akzeptieren, prüfen Sie diese auf alle Arten von Schwachstellen, die damit zusammenhängen.
- Follow this checklist
Server-Version (anfällig?)
Identifizieren
Prüfen Sie, ob es bekannte Schwachstellen für die ausgeführte Server-Version gibt.
Die HTTP headers und cookies der response können sehr nützlich sein, um die verwendeten technologies und/oder version zu identifizieren. Ein Nmap scan kann die Server-Version identifizieren, aber auch die Tools whatweb, webtech oder https://builtwith.com/:
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
Suche nach vulnerabilities of the web application version
Prüfe, ob ein WAF vorhanden ist
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
Web tech tricks
Einige Tricks für finding vulnerabilities in verschiedenen bekannten Technologien, die verwendet werden:
- 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
Berücksichtige, dass dieselbe Domain in verschiedenen Ports, Ordnern und Subdomains unterschiedliche Technologien verwenden kann.
Wenn die Webanwendung eine der zuvor aufgeführten bekannten Tech/Plattformen oder eine andere verwendet, vergiss nicht, im Internet nach neuen Tricks zu suchen (und sag mir Bescheid!).
Quellcode-Review
Wenn der Quellcode der Anwendung auf github verfügbar ist, gibt es — zusätzlich zu einem von dir selbst durchgeführten White box test der Anwendung — einige Informationen, die für das aktuelle Black-Box testing nützlich sein könnten:
- Gibt es eine Change-log or Readme or Version file oder irgendetwas mit version info accessible via web?
- Wie und wo werden die credentials gespeichert? Gibt es irgendeine (zugängliche?) file mit credentials (usernames or passwords)?
- Sind passwords im plain text, encrypted oder welcher hashing algorithm wird verwendet?
- Wird ein master key zum Verschlüsseln verwendet? Welcher algorithm wird genutzt?
- Kannst du durch Ausnutzung einer Schwachstelle auf any of these files zugreifen?
- Gibt es interessante Informationen im github (solved and not solved) issues? Oder in der commit history (vielleicht wurde ein password introduced inside an old commit)?
Source code Review / SAST Tools
Automatische Scanner
Allgemeine automatische Scanner
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"
CMS-Scanner
Wenn ein CMS verwendet wird, vergiss nicht, run a scanner, vielleicht findest du etwas Interessantes:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin — Websites auf Sicherheitsprobleme prüfen. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal oder (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
An diesem Punkt sollten Sie bereits einige Informationen über den vom Client verwendeten Webserver haben (falls Daten vorliegen) und einige Tricks, die Sie während des Tests beachten sollten. Wenn Sie Glück haben, haben Sie sogar ein CMS gefunden und einen Scanner ausgeführt.
Schritt-für-Schritt Web Application Discovery
Ab jetzt werden wir beginnen, mit der Webanwendung zu interagieren.
Initial checks
Default pages with interesting info:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- Prüfen Sie auch Kommentare auf den Haupt- und Nebenseiten.
Forcing errors
Webserver können sich unerwartet verhalten, wenn ihnen ungewöhnliche Daten gesendet werden. Das kann zu vulnerabilities oder zur Offenlegung sensibler Informationen führen.
- Zugriff auf fake pages wie /whatever_fake.php (.aspx,.html,.etc)
- Fügen Sie “[]”, “]]” und “[[” in cookie values und parameter-Werten ein, um Fehler zu erzeugen
- Erzeugen Sie einen Fehler, indem Sie Eingabe als
/~randomthing/%sam Ende der URL anfügen - Probieren Sie verschiedene HTTP Verbs wie PATCH, DEBUG oder ungültige wie FAKE
Prüfen Sie, ob Sie Dateien hochladen können (PUT verb, WebDav)
Wenn Sie feststellen, dass WebDav aktiviert ist, Sie aber nicht ausreichende Berechtigungen zum Hochladen von Dateien im Root-Ordner haben, versuchen Sie:
- Brute Force credentials
- Upload files via WebDav to the rest of found folders inside the web page. You may have permissions to upload files in other folders.
SSL/TLS Schwachstellen
- Wenn die Anwendung die Verwendung von HTTPS nicht in allen Teilen erzwingt, ist sie anfällig für MitM
- Wenn die Anwendung sensible Daten (Passwörter) über HTTP sendet. Dann ist das eine hohe Schwachstelle.
Use testssl.sh to checks for vulnerabilities (In Bug Bounty programs probably these kind of vulnerabilities won’t be accepted) and use a2sv to recheck the 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>
Information about SSL/TLS vulnerabilities:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Spidering
Starte eine Art spider im Web. Das Ziel des spider ist es, so viele Pfade wie möglich zu finden innerhalb der getesteten Anwendung. Daher sollten web crawling und externe Quellen genutzt werden, um so viele gültige Pfade wie möglich zu entdecken.
- gospider (go): HTML spider, LinkFinder in JS files und externe Quellen (Archive.org, CommonCrawl.org, VirusTotal.com).
- hakrawler (go): HML spider, mit LinkFinder für JS files und Archive.org als externe Quelle.
- dirhunt (python): HTML spider, zeigt außerdem “juicy files” an.
- evine (go): Interaktiver CLI HTML spider. Sucht ebenfalls in Archive.org.
- meg (go): Dieses Tool ist kein spider, kann aber nützlich sein. Du kannst einfach eine Datei mit Hosts und eine Datei mit Pfaden angeben; meg wird jeden Pfad auf jedem Host abrufen und die Antworten speichern.
- urlgrab (go): HTML spider mit JS-Rendering-Fähigkeiten. Sieht aber unmaintained aus; die vorkompilierte Version ist alt und der aktuelle Code kompiliert nicht.
- gau (go): HTML spider, der externe Provider verwendet (wayback, otx, commoncrawl).
- ParamSpider: Dieses Script findet URLs mit Parametern und listet sie auf.
- galer (go): HTML spider mit JS-Rendering-Fähigkeiten.
- LinkFinder (python): HTML spider mit JS-beautify-Fähigkeiten, fähig, neue Pfade in JS files zu suchen. Es lohnt sich auch, sich JSScanner anzusehen, das ein Wrapper für LinkFinder ist.
- goLinkFinder (go): Extrahiert Endpunkte sowohl aus HTML-Source als auch eingebetteten javascript files. Nützlich für bug hunters, red teamer, infosec ninjas.
- JSParser (python2.7): Ein python 2.7 Script mit Tornado und JSBeautifier, um relative URLs aus JavaScript files zu parsen. Nützlich, um AJAX-Requests leicht zu entdecken. Sieht unmaintained aus.
- relative-url-extractor (ruby): Gibt man eine Datei (HTML) an, extrahiert es URLs daraus, verwendet nette Regexes, um relative URLs aus uglified/minified Dateien zu finden.
- JSFScan (bash, mehrere Tools): Sammelt interessante Informationen aus JS files mithilfe mehrerer Tools.
- subjs (go): Findet JS files.
- page-fetch (go): Lädt eine Seite in einem headless Browser und gibt alle URLs aus, die geladen wurden, um die Seite zu rendern.
- Feroxbuster (rust): Content-discovery-Tool, das mehrere Optionen der vorherigen Tools mischt.
- Javascript Parsing: Eine Burp-Extension, um Pfade und Parameter in JS files zu finden.
- BurpJSLinkFinder Enhanced: Burp-Extension (Jython), die JavaScript-Antworten (nach MIME-Type und
/js-Pfade) passiv analysiert, Endpunkte/Links extrahiert und optional eingebettete Secrets mit Severity markiert. - Sourcemapper: Ein Tool, das, gegeben die .js.map URL, dir den beautified JS-Code liefert.
- xnLinkFinder: Tool zur Entdeckung von Endpunkten für ein gegebenes Target.
- waymore: Discover links from the wayback machine (auch das Herunterladen der Responses in der Wayback und das Suchen nach weiteren Links).
- HTTPLoot (go): Crawl (auch durch Ausfüllen von Formularen) und findet außerdem sensitive info mittels spezifischer Regexes.
- SpiderSuite: Spider Suite ist ein fortgeschrittener Multi-Feature GUI Web Security Crawler/Spider für Cyber-Security-Profis.
- jsluice (go): Ein Go-Package und command-line tool zum Extrahieren von URLs, Pfaden, Secrets und anderen interessanten Daten aus JavaScript-Sourcecode.
- ParaForge: ParaForge ist eine einfache Burp Suite extension, um Paramter und Endpoints aus Requests zu extrahieren, um custom wordlists für Fuzzing und Enumeration zu erstellen.
- katana (go): Großartiges Tool dafür.
- Crawley (go): Gibt jeden Link aus, den es finden kann.
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): This isn’t a spider but a tool that given the list of found URLs will to delete “duplicated” URLs.
- Scavenger: Burp Extension to create a list of directories from the burp history of different pages
- TrashCompactor: Remove URLs with duplicated functionalities (based on js imports)
- Chamaleon: It uses wapalyzer to detect used technologies and select the wordlists to use.
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: Find broken links inside HTMLs that may be prone to takeovers
- File Backups: Once you have found all the files, look for backups of all the executable files (“.php”, “.aspx”…). Common variations for naming a backup are: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp and file.old. You can also use the tool bfac or backup-gen.
- Discover new parameters: You can use tools like Arjun, parameth, x8 and Param Miner to discover hidden parameters. If you can, you could try to search hidden parameters on each executable web file.
- 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: Prüfe die Kommentare aller Dateien, dort können credentials oder hidden functionality zu finden sein.
- If you are playing CTF, a “common” trick is to hide information inside comments at the right of the page (using hundreds of spaces so you don’t see the data if you open the source code with the browser). Other possibility is to use several new lines and hide information in a comment at the bottom of the web page.
- API keys: If you find any API key there is guide that indicates how to use API keys of different platforms: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: If you find any API key looking like AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik you can use the project gmapapiscanner to check which apis the key can access.
- S3 Buckets: While spidering look if any subdomain or any link is related with some S3 bucket. In that case, 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
- Look for links to other files inside the CSS files.
- If you find a .git file some information can be extracted
- If you find a .env information such as api keys, dbs passwords and other information can be found.
- If you find API endpoints you should also test them. These aren’t files, but will probably “look like” them.
- JS files: In the spidering section several tools that can extract path from JS files were mentioned. Also, It would be interesting to monitor each JS file found, as in some ocations, a change may indicate that a potential vulnerability was introduced in the code. You could use for example JSMon.
- You should also check discovered JS files with RetireJS or JSHole to find if it’s vulnerable.
- 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. - On several occasions, you will need to understand the regular expressions used. This will be useful: https://regex101.com/ or https://pythonium.net/regex
- You could also monitor the files were forms were detected, as a change in the parameter or the apearance f a new form may indicate a potential new vulnerable functionality.
403 Forbidden/Basic Authentication/401 Unauthorized (bypass)
502 Proxy Error
If any page responds with that code, it’s probably a bad configured proxy. If you send a HTTP request like: GET https://google.com HTTP/1.1 (with the host header and other common headers), the proxy will try to access google.com and you will have found a SSRF.
NTLM Authentication - Info disclosure
If the running server asking for authentication is Windows or you find a login asking for your credentials (and asking for domain name), you can provoke an information disclosure.
Send the header: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” and due to how the NTLM authentication works, the server will respond with internal info (IIS version, Windows version…) inside the header “WWW-Authenticate”.
You can automate this using the nmap plugin “http-ntlm-info.nse”.
HTTP Redirect (CTF)
It is possible to put content inside a Redirection. This content won’t be shown to the user (as the browser will execute the redirection) but something could be hidden in there.
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
You can use tools such as https://github.com/dgtlmoon/changedetection.io to monitor pages for modifications that might insert vulnerabilities.
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>
## Referenzen
- [https://github.com/panchocosil/burp-js-linkfinder-enhanced](https://github.com/panchocosil/burp-js-linkfinder-enhanced)
> [!TIP]
> Lernen & üben Sie AWS Hacking:<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;">\
> Lernen & üben Sie GCP Hacking: <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;">
> Lernen & üben Sie Azure Hacking: <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>Unterstützen Sie HackTricks</summary>
>
> - Überprüfen Sie die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
> - **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Teilen Sie Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos senden.
>
> </details>


