80,443 - Pentesting Web Methodology

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Βασικές Πληροφορίες

Η web υπηρεσία είναι η πιο συνηθισμένη και εκτεταμένη υπηρεσία και υπάρχουν πολλά διαφορετικά είδη ευπαθειών.

Προεπιλεγμένη θύρα: 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

Web API Pentesting

Περίληψη μεθοδολογίας

Σε αυτή τη μεθοδολογία υποθέτουμε ότι θα επιτεθείτε σε ένα domain (ή subdomain) και μόνο σε αυτό. Άρα, πρέπει να εφαρμόσετε αυτή τη μεθοδολογία σε κάθε εντοπισμένο domain, subdomain ή IP με αδιευκρίνιστο web server εντός του scope.

  • Ξεκινήστε με το εντοπισμό των τεχνολογιών που χρησιμοποιεί ο web server. Αναζητήστε κόλπα που πρέπει να έχετε υπόψη κατά την υπόλοιπη διάρκεια του test εάν καταφέρετε να αναγνωρίσετε την τεχνολογία.
  • Υπάρχει κάποια γνωστή ευπάθεια στην έκδοση της τεχνολογίας;
  • Χρησιμοποιείται κάποια γνωστή τεχνολογία; Υπάρχει κάποιο χρήσιμο κόλπο για να εξάγετε περισσότερες πληροφορίες;
  • Υπάρχει κάποιο ειδικευμένο scanner για να τρέξετε (like wpscan)?
  • Εκκινήστε general purposes scanners. Ποτέ δεν ξέρετε αν θα βρουν κάτι ή αν θα εντοπίσουν κάποια ενδιαφέρουσα πληροφορία.
  • Ξεκινήστε με τους αρχικούς ελέγχους: robots, sitemap, 404 error και SSL/TLS scan (αν είναι HTTPS).
  • Ξεκινήστε το spidering της σελίδας: Ήρθε η ώρα να βρείτε όλα τα πιθανά αρχεία, φακέλους και παραμέτρους που χρησιμοποιούνται. Επίσης, ελέγξτε για ειδικά ευρήματα.
  • Σημείωση: κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά το brute-forcing ή το spidering, θα πρέπει να spider-αριστεί.
  • Directory Brute-Forcing: Προσπαθήστε να brute-force-άρετε όλους τους εντοπισμένους φακέλους ψάχνοντας για νέα αρχεία και καταλόγους.
  • Σημείωση: κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά το brute-forcing ή το spidering, θα πρέπει να Brute-Forced.
  • Backups checking: Ελέγξτε αν μπορείτε να βρείτε backups των εντοπισμένων αρχείων προσθέτοντας κοινές επεκτάσεις backup.
  • Brute-Force parameters: Προσπαθήστε να βρείτε κρυφές παραμέτρους.
  • Μόλις έχετε εντοπίσει όλα τα πιθανά endpoints που δέχονται user input, ελέγξτε για κάθε είδους vulnerabilities που σχετίζονται με αυτά.
  • Follow this checklist

Server Version (Vulnerable?)

Αναγνώριση

Ελέγξτε αν υπάρχουν γνωστές ευπάθειες για την έκδοση του server που τρέχει.
Οι HTTP headers και τα cookies της απάντησης μπορεί να είναι πολύ χρήσιμα για να αναγνωρίσετε τις τεχνολογίες και/ή την έκδοση που χρησιμοποιείται. Ένα Nmap scan μπορεί να αναγνωρίσει την έκδοση του server, αλλά χρήσιμα μπορεί να είναι και τα εργαλεία whatweb, webtech ή https://builtwith.com/:

whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2

Αναζήτηση για vulnerabilities of the web application version

Ελέγξτε αν υπάρχει οποιοδήποτε WAF

Κόλπα Web τεχνολογίας

Κάποια κόλπα για το εντοπισμό ευπαθειών σε διαφορετικές γνωστές τεχνολογίες που χρησιμοποιούνται:

Λάβετε υπόψη ότι το ίδιο domain μπορεί να χρησιμοποιεί διαφορετικές τεχνολογίες σε διαφορετικά ports, φακέλους και subdomains.
Εάν η web εφαρμογή χρησιμοποιεί οποιαδήποτε γνωστή tech/platform listed before ή οποιαδήποτε άλλη, μην ξεχάσετε να αναζητήσετε στο Internet νέα κόλπα (και ενημερώστε με!).

Ανασκόπηση κώδικα πηγής

Εάν ο source code της εφαρμογής είναι διαθέσιμος στο github, εκτός από το να πραγματοποιήσετε από μόνος σας ένα White box test της εφαρμογής, υπάρχουν ορισμένες πληροφορίες που θα μπορούσαν να είναι χρήσιμες για το τρέχον Black-Box testing:

  • Υπάρχει κάποιο Change-log or Readme or Version αρχείο ή κάτι με version info προσβάσιμο μέσω web;
  • Πώς και πού αποθηκεύονται τα credentials; Υπάρχει κάποιο (προσβάσιμο;) file με credentials (usernames ή passwords);
  • Είναι τα passwords σε plain text, encrypted ή ποιος hashing algorithm χρησιμοποιείται;
  • Χρησιμοποιεί κάποιο master key για να κρυπτογραφεί κάτι; Ποιος algorithm χρησιμοποιείται;
  • Μπορείτε να προσπελάσετε κάποιο από αυτά τα files εκμεταλλευόμενοι κάποια ευπάθεια;
  • Υπάρχει κάποια ενδιαφέρουσα πληροφορία στο github (solved and not solved) issues; Ή στο commit history (ίσως κάποιο password εισήχθη σε κάποιο παλιό commit;)

Source code Review / SAST Tools

Αυτόματοι σαρωτές

Σαρωτές γενικής χρήσης αυτόματης ανίχνευσης

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

Εάν χρησιμοποιείται CMS μην ξεχάσετε να τρέξετε έναν σαρωτή, ίσως βρεθεί κάτι ενδιαφέρον:

Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin ιστότοποι για ζητήματα ασφαλείας. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal ή (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

Σε αυτό το σημείο θα πρέπει να έχετε ήδη κάποιες πληροφορίες για τον web server που χρησιμοποιεί ο client (εάν δόθηκαν δεδομένα) και μερικά κόλπα που πρέπει να έχετε υπόψη κατά τη διάρκεια του test. Αν είστε τυχεροί μπορεί να έχετε βρει ακόμα ένα CMS και να έχετε τρέξει κάποιο scanner.

Βήμα-βήμα Ανακάλυψη Web Εφαρμογής

Από εδώ και πέρα θα αρχίσουμε να αλληλεπιδρούμε με την web εφαρμογή.

Αρχικοί έλεγχοι

Προεπιλεγμένες σελίδες με ενδιαφέρουσες πληροφορίες:

  • /robots.txt
  • /sitemap.xml
  • /crossdomain.xml
  • /clientaccesspolicy.xml
  • /.well-known/
  • Ελέγξτε επίσης τα σχόλια στις κύριες και δευτερεύουσες σελίδες.

Πρόκληση σφαλμάτων

Οι web servers ενδέχεται να συμπεριφέρονται απρόβλεπτα όταν τους αποστέλλονται περίεργα δεδομένα. Αυτό μπορεί να ανοίξει vulnerabilities ή να αποκαλύψει ευαίσθητες πληροφορίες.

  • Πρόσβαση σε ψεύτικες σελίδες όπως /whatever_fake.php (.aspx,.html,.etc)
  • Προσθέστε “[]”, “]]”, and “[[” σε τιμές cookie και τιμές παραμέτρων για να δημιουργήσετε σφάλματα
  • Δημιουργήστε σφάλμα δίνοντας είσοδο ως /~randomthing/%s στο τέλος του URL
  • Δοκιμάστε διάφορα HTTP Verbs όπως PATCH, DEBUG ή λανθασμένα όπως FAKE

Ελέγξτε αν μπορείτε να ανεβάσετε αρχεία (PUT verb, WebDav)

Αν διαπιστώσετε ότι WebDav είναι enabled αλλά δεν έχετε επαρκή δικαιώματα για ανέβασμα αρχείων στον root φάκελο, δοκιμάστε να:

  • Brute Force διαπιστευτήρια
  • Ανεβάστε αρχεία μέσω WebDav στο υπόλοιπο των ευρεθέντων φακέλων μέσα στη σελίδα. Ίσως έχετε δικαιώματα να ανεβάσετε αρχεία σε άλλους φακέλους.

SSL/TLS ευπάθειες

  • Αν η εφαρμογή δεν εξαναγκάζει τη χρήση HTTPS σε κανένα σημείο, τότε είναι ευάλωτη σε MitM
  • Αν η εφαρμογή στέλνει ευαίσθητα δεδομένα (passwords) μέσω HTTP. Τότε είναι υψηλή ευπάθεια.

Χρησιμοποιήστε testssl.sh για έλεγχο των vulnerabilities (Σε Bug Bounty programs πιθανότατα αυτού του είδους οι vulnerabilities δεν θα γίνουν αποδεκτές) και χρησιμοποιήστε 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:

Spidering

Εκκινήστε κάποιο είδος spider μέσα στο web. Ο στόχος του spider είναι να βρει όσες περισσότερες διαδρομές είναι δυνατόν από την εφαρμογή που δοκιμάζεται. Επομένως, web crawling και εξωτερικές πηγές πρέπει να χρησιμοποιηθούν για να εντοπιστούν όσο το δυνατόν περισσότερες έγκυρες διαδρομές.

  • gospider (go): HTML spider, LinkFinder in JS files and external sources (Archive.org, CommonCrawl.org, VirusTotal.com).
  • hakrawler (go): HML spider, with LinkFider for JS files and Archive.org as external source.
  • dirhunt (python): HTML spider, also indicates “juicy files”.
  • evine (go): Interactive CLI HTML spider. It also searches in Archive.org
  • meg (go): This tool isn’t a spider but it can be useful. You can just indicate a file with hosts and a file with paths and meg will fetch each path on each host and save the response.
  • urlgrab (go): HTML spider with JS rendering capabilities. However, it looks like it’s unmaintained, the precompiled version is old and the current code doesn’t compile
  • gau (go): HTML spider that uses external providers (wayback, otx, commoncrawl)
  • ParamSpider: This script will find URLs with parameter and will list them.
  • galer (go): HTML spider with JS rendering capabilities.
  • LinkFinder (python): HTML spider, with JS beautify capabilities capable of search new paths in JS files. It could be worth it also take a look to JSScanner, which is a wrapper of LinkFinder.
  • goLinkFinder (go): To extract endpoints in both HTML source and embedded javascript files. Useful for bug hunters, red teamers, infosec ninjas.
  • JSParser (python2.7): A python 2.7 script using Tornado and JSBeautifier to parse relative URLs from JavaScript files. Useful for easily discovering AJAX requests. Looks like unmaintained.
  • relative-url-extractor (ruby): Given a file (HTML) it will extract URLs from it using nifty regular expression to find and extract the relative URLs from ugly (minify) files.
  • JSFScan (bash, several tools): Gather interesting information from JS files using several tools.
  • subjs (go): Find JS files.
  • page-fetch (go): Load a page in a headless browser and print out all the urls loaded to load the page.
  • Feroxbuster (rust): Content discovery tool mixing several options of the previous tools
  • Javascript Parsing: A Burp extension to find path and params in JS files.
  • Sourcemapper: A tool that given the .js.map URL will get you the beatified JS code
  • xnLinkFinder: This is a tool used to discover endpoints for a given target.
  • waymore: Discover links from the wayback machine (also downloading the responses in the wayback and looking for more links)
  • HTTPLoot (go): Crawl (even by filling forms) and also find sensitive info using specific regexes.
  • SpiderSuite: Spider Suite is an advance multi-feature GUI web security Crawler/Spider designed for cyber security professionals.
  • jsluice (go): It’s a Go package and command-line tool for extracting URLs, paths, secrets, and other interesting data from JavaScript source code.
  • ParaForge: ParaForge is a simple Burp Suite extension to extract the paramters and endpoints from the request to create custom wordlist for fuzzing and enumeration.
  • katana (go): Awesome tool for this.
  • Crawley (go): Print every link it’s able to find.

Brute Force directories and files

Ξεκινήστε το brute-forcing από τον root φάκελο και βεβαιωθείτε ότι θα κάνετε brute-force σε όλους τους φακέλους που βρέθηκαν χρησιμοποιώντας this method και σε όλους τους φακέλους ανακαλυφθέντες από το Spidering (μπορείτε να κάνετε αυτό το brute-forcing αναδρομικά και να προσαρτήσετε στην αρχή της χρησιμοποιούμενης wordlist τα ονόματα των φακέλων που βρέθηκαν).
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:

Σημειώστε ότι κάθε φορά που ένας νέος κατάλογος εντοπίζεται κατά το brute-forcing ή το spidering, θα πρέπει να υποβληθεί σε Brute-Forcing.

What to check on each file found

  • Broken link checker: Find broken links inside HTMLs that may be prone to takeovers
  • File Backups: Μόλις έχετε βρει όλα τα αρχεία, ψάξτε για backups όλων των εκτελέσιμων αρχείων (“.php”, “.aspx”…). Συνηθισμένες παραλλαγές ονοματοδοσίας για backup είναι: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp and file.old. Μπορείτε επίσης να χρησιμοποιήσετε το εργαλείο bfac or backup-gen.
  • Discover new parameters: Μπορείτε να χρησιμοποιήσετε εργαλεία όπως 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: Ελέγξτε τα comments όλων των αρχείων, μπορεί να βρείτε credentials ή hidden functionality.
  • 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: Εάν βρείτε κάποιο API key υπάρχει ένας οδηγός που δείχνει πώς να χρησιμοποιήσετε API keys από διάφορες πλατφόρμες: 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

403 Forbidden/Basic Authentication/401 Unauthorized (bypass)

403 & 401 Bypasses

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 pluginhttp-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:

Monitor Pages for changes

Μπορείτε να χρησιμοποιήσετε εργαλεία όπως https://github.com/dgtlmoon/changedetection.io για να παρακολουθείτε σελίδες για τροποποιήσεις που μπορεί να εισάγουν ευπάθειες.

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 out

Entry_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>

> [!TIP]
> Μάθετε & εξασκηθείτε στο 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;">\
> Μάθετε & εξασκηθείτε στο 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;">
> Μάθετε & εξασκηθείτε στο 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>Υποστηρίξτε το HackTricks</summary>
>
> - Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
> - **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
>
> </details>