hacktricks/network-services-pentesting/pentesting-web
2024-02-23 17:48:55 +00:00
..
buckets Translated to Greek 2024-02-10 22:40:18 +00:00
electron-desktop-apps Translated to Greek 2024-02-10 22:40:18 +00:00
php-tricks-esp Translated to Greek 2024-02-10 22:40:18 +00:00
tomcat Translated to Greek 2024-02-10 22:40:18 +00:00
403-and-401-bypasses.md Translated to Greek 2024-02-10 22:40:18 +00:00
aem-adobe-experience-cloud.md Translated to Greek 2024-02-10 22:40:18 +00:00
angular.md Translated to Greek 2024-02-10 22:40:18 +00:00
apache.md Translated to Greek 2024-02-10 22:40:18 +00:00
artifactory-hacking-guide.md Translated to Greek 2024-02-10 22:40:18 +00:00
bolt-cms.md Translated to Greek 2024-02-10 22:40:18 +00:00
cgi.md Translated to Greek 2024-02-10 22:40:18 +00:00
code-review-tools.md Translated to Greek 2024-02-10 22:40:18 +00:00
dotnetnuke-dnn.md Translated to Greek 2024-02-10 22:40:18 +00:00
drupal.md Translated to Greek 2024-02-10 22:40:18 +00:00
flask.md Translated to Greek 2024-02-10 22:40:18 +00:00
git.md Translated to Greek 2024-02-10 22:40:18 +00:00
golang.md Translated to Greek 2024-02-10 22:40:18 +00:00
grafana.md Translated to Greek 2024-02-10 22:40:18 +00:00
graphql.md Translated to Greek 2024-02-10 22:40:18 +00:00
gwt-google-web-toolkit.md Translated to Greek 2024-02-10 22:40:18 +00:00
h2-java-sql-database.md Translated to Greek 2024-02-10 22:40:18 +00:00
iis-internet-information-services.md Translated to Greek 2024-02-10 22:40:18 +00:00
imagemagick-security.md Translated to Greek 2024-02-10 22:40:18 +00:00
jboss.md Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-18 15:16:07 +00:00
jira.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2024-02-23 17:48:55 +00:00
joomla.md Translated to Greek 2024-02-10 22:40:18 +00:00
jsp.md Translated to Greek 2024-02-10 22:40:18 +00:00
laravel.md Translated to Greek 2024-02-10 22:40:18 +00:00
moodle.md Translated ['forensics/basic-forensic-methodology/specific-software-file 2024-02-18 15:16:07 +00:00
nginx.md Translated to Greek 2024-02-10 22:40:18 +00:00
nodejs-express.md Translated to Greek 2024-02-10 22:40:18 +00:00
put-method-webdav.md Translated to Greek 2024-02-10 22:40:18 +00:00
python.md Translated to Greek 2024-02-10 22:40:18 +00:00
README.md Translated ['generic-methodologies-and-resources/external-recon-methodol 2024-02-23 17:48:55 +00:00
rocket-chat.md Translated to Greek 2024-02-10 22:40:18 +00:00
special-http-headers.md Translated to Greek 2024-02-10 22:40:18 +00:00
spring-actuators.md Translated to Greek 2024-02-10 22:40:18 +00:00
symphony.md Translated to Greek 2024-02-10 22:40:18 +00:00
tomcat.md Translated to Greek 2024-02-10 22:40:18 +00:00
uncovering-cloudflare.md Translated to Greek 2024-02-10 22:40:18 +00:00
vmware-esx-vcenter....md Translated to Greek 2024-02-10 22:40:18 +00:00
waf-bypass.md Translated to Greek 2024-02-10 22:40:18 +00:00
web-api-pentesting.md Translated to Greek 2024-02-10 22:40:18 +00:00
werkzeug.md Translated to Greek 2024-02-10 22:40:18 +00:00
wordpress.md Translated to Greek 2024-02-10 22:40:18 +00:00

80,443 - Μεθοδολογία Ελέγχου Ασφάλειας Ιστού

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks AWS)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Αν σας ενδιαφέρει η καριέρα στο χάκινγκ και το χάκαρισμα του αχάκαρτου - σας προσλαμβάνουμε! (απαιτείται άριστη γνώση γραπτού και προφορικού Πολωνικών).

{% embed url="https://www.stmcyber.com/careers" %}

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

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

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

{% content-ref url="web-api-pentesting.md" %} web-api-pentesting.md {% endcontent-ref %}

Σύνοψη μεθοδολογίας

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

  • Ξεκινήστε με το εντοπισμό των τεχνολογιών που χρησιμοποιούνται από τον διακομιστή web. Αναζητήστε κόλπα που πρέπει να έχετε υπόψη σας κατά τη διάρκεια του υπόλοιπου τεστ αν μπορείτε να αναγνωρίσετε με επιτυχία την τεχνολογία.
  • Υπάρχει κάποια γνωστή ευπάθεια της έκδοσης της τεχνολογίας;
  • Χρησιμοποιείται κάποια γνωστή τεχνολογία; Κάποιο χρήσιμο κόλπο για εξαγωγή περισσότερων πληροφοριών;
  • Υπάρχει κάποιο εξειδικευμένο σαρωτή που πρέπει να εκτελέσετε (όπως το wpscan);
  • Εκκινήστε τους σαρωτές γενικής χρήσης. Δεν ξέρετε ποτέ αν θα βρουν κάτι ή αν θα βρουν κάποιες ενδιαφέρουσες πληροφορίες.
  • Ξεκινήστε με τους αρχικούς ελέγχους: ρομπότ, χάρτης ιστότοπου, σφάλμα 404 και σάρωση SSL/TLS (εάν χρησιμοποιεί HTTPS).
  • Ξεκινήστε την ανάρριχηση της ιστοσελίδας: Ήρθε η ώρα να βρείτε όλα τα πιθανά αρχεία, φακέλους και παραμέτρους που χρησιμοποιούνται. Επίσης, ελέγξτε για ειδικές ευρήματα.
  • Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος κατάλογος κατά την αναγκαστική εισβολή ή την ανάρριχηση, πρέπει να γίνει ανάρριχηση.
  • Επίθεση με αναζήτηση καταλόγων: Δοκιμάστε να εκτελέσετε αναζήτηση καταλόγων σε όλους τους ανακαλυφθέντες φακέλους αναζητώντας νέα αρχεία και καταλόγους.
  • Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος κατάλογος κατά την αναγκαστική εισβολή ή την ανάρριχηση, πρέπει να γίνει επίθεση με αναζήτηση καταλόγων.
  • Έλεγχος αντιγράφων ασφαλείας: Δοκιμάστε να βρείτε αντίγραφα ασφαλείας των ανακαλυφθέντων αρχείων προσθέτοντας κοινές επεκτάσεις αντιγράφων ασφαλείας.
  • Επίθεση με αναζήτηση παραμέτρων: Δοκιμάστε να βρείτε κρυμμένες παράμετρους.
  • Αφού έχετε αναγνωρίσει όλα τα πιθανά σημεία εισόδου που δέχονται είσοδο χρήστη, ελέγξτε όλους τους τύπους ευπαθειών που σχετίζονται με αυτά.
  • Ακολουθήστε αυτό τον κατάλογο ελέγχου

Έκδοση Διακομιστή (Ευπαθής;)

Αναγνώριση

Ελέγξτε αν υπάρχουν γνωστές ευπαθείες για την έκδοση του διακομιστή που εκτελείται.
Τα κεφαλίδες HTTP και τα cookies της απόκρισης μπορεί να είναι πολύ χρήσιμα για την αναγνώριση των τεχνολογιών και/ή έκδοσης που χρησιμοποιούνται. Η σάρωση Nmap μπορεί να αναγνωρίσει την έκδοση του διακομιστή, αλλά μπορεί επίσης να είναι χρήσιμα τα εργαλεία 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

Αναζητήστε ευπάθειες της έκδοσης της εφαρμογής web.

Έλεγχος αν υπάρχει WAF

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

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

Λάβετε υπόψη ότι το ίδιο domain μπορεί να χρησιμοποιεί διαφορετικές τεχνολογίες σε διαφορετικές θύρες, φάκελους και υποτομείς.
Αν η εφαρμογή web χρησιμοποιεί κάποια καλά γνωστή τεχνολογία/πλατφόρμα που αναφέρθηκε πριν ή οποιαδήποτε άλλη, μην ξεχάσετε να ψάξετε στο Internet για νέα κόλπα (και ενημερώστε με!).

Αναθεώρηση κώδικα πηγής

Αν ο πηγαίος κώδικας της εφαρμογής είναι διαθέσιμος στο github, εκτός από την διεξαγωγή ενός White box τεστ της εφαρμογής, υπάρχουν κάποιες πληροφορίες που μπορεί να είναι χρήσιμες για την τρέχουσα Black-Box δοκιμή:

  • Υπάρχει αρχείο αλλαγών ή Readme ή αρχείο έκδοσης ή οποιαδήποτε πληροφορία με πληροφορίες έκδοσης προσβάσιμη μέσω του web;
  • Πώς και πού αποθηκεύονται οι διαπιστεύσεις; Υπάρχει κάποιο (προσβάσιμο;) αρχείο με διαπιστεύσεις (ονόματα χρηστών ή κωδικούς πρόσβασης);
  • Οι κωδικοί πρόσβασης είναι σε καθαρό κείμενο, κρυπτογραφημένοι ή ποιος αλγόριθμος κατακερματισμού χρησιμοποιείται;
  • Χρησιμοποιεί κάποιο κύριο κλειδί για την κρυπτογράφηση κάτι; Ποιος αλγόριθμος χρησιμοποιείται;
  • Μπορείτε να έχετε πρόσβαση σε οποιοδήποτε από αυτά τα αρχεία εκμεταλλευόμενοι κάποια ευπάθεια;
  • Υπάρχουν ενδιαφέρουσες πληροφορίες στο github (λυμένα και μη λυμένα) θέματα; Ή στο ιστορικό δέσμευσης (ίσως κάποιος κωδικός εισήχθη μέσα σε μια παλιά δέσμευση)?

{% content-ref url="code-review-tools.md" %} code-review-tools.md {% endcontent-ref %}

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

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

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 ιστοσελίδες για θέματα ασφαλείας. (Γραφικό περιβάλλον)
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 που χρησιμοποιείται από τον πελάτη (εάν έχει δοθεί κάποια δεδομένα) και μερικά κόλπα που πρέπει να έχετε υπόψη κατά τη διάρκεια της δοκιμής. Αν είστε τυχεροί, μπορεί να έχετε βρει ακόμα ένα CMS και να έχετε εκτελέσει κάποιο scanner.

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

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

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

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

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

Εξαναγκασμός σφαλμάτων

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

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

Ελέγξτε εάν μπορείτε να μεταφορτώσετε αρχεία (Μέθοδος PUT, WebDav)

Αν ανακαλύψετε ότι το WebDav είναι ενεργοποιημένο αλλά δεν έχετε αρκετές άδειες για τη μεταφόρτωση αρχείων στον ριζικό φάκελο, προσπαθήστε:

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

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

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

Χρησιμοποιήστε το testssl.sh για να ελέγξετε τις ευπάθειες (Σε προγράμματα ανταμοιβής ευρημάτων ενδέχεται να μην γίνουν δεκτές αυτού του είδους οι ευπάθειες) και χρησιμοποιήστε το a2sv για επαναέλεγχο των ευπαθειών:

./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>

Πληροφορίες σχετικά με ευπάθειες SSL/TLS:

Spidering

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

  • gospider (go): HTML αράχνη, LinkFinder σε αρχεία JS και εξωτερικές πηγές (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
  • hakrawler (go): HTML αράχνη, με LinkFinder για αρχεία JS και το Archive.org ως εξωτερική πηγή.
  • dirhunt (python): HTML αράχνη, επίσης εντοπίζει "juicy αρχεία".
  • evine (go): Διαδραστική CLI HTML αράχνη. Αναζητά επίσης στο Archive.org.
  • meg (go): Αυτό το εργαλείο δεν είναι μια αράχνη, αλλά μπορεί να είναι χρήσιμο. Μπορείτε απλά να υποδείξετε ένα αρχείο με hosts και ένα αρχείο με μονοπάτια και το meg θα ανακτήσει κάθε μονοπάτι σε κάθε host και θα αποθηκεύσει την απόκριση.
  • urlgrab (go): HTML αράχνη με δυνατότητες απεικόνισης JS. Ωστόσο, φαίνεται ότι δεν συντηρείται, η προεπιλεγμένη έκδοση είναι παλιά και ο τρέχων κώδικας δεν μεταγλωτίζεται.
  • gau (go): HTML αράχνη που χρησιμοποιεί εξωτερικούς παρόχους (wayback, otx, commoncrawl).
  • ParamSpider: Αυτό το σενάριο θα βρει URLs με παραμέτρους και θα τα καταχωρίσει.
  • galer (go): HTML αράχνη με δυνατότητες απεικόνισης JS.
  • LinkFinder (python): HTML αράχνη, με δυνατότητες ομορφοποίησης JS ικανή να αναζητήσει νέα μονοπάτια σε αρχεία JS. Μπορεί να αξίζει επίσης να ρίξετε μια ματιά στο JSScanner, το οποίο είναι ένα περιτύλιγμα του LinkFinder.
  • goLinkFinder (go): Για την εξαγωγή σημείων αναφοράς τόσο από την πηγή HTML όσο και από ενσωματωμένα αρχεία javascript. Χρήσιμο για κυνηγούς ευκαιριών ευπάθειας, ομάδες ερυθρού τόξου, infosec ninjas.
  • JSParser (python2.7): Ένα σενάριο python 2.7 που χρησιμοποιεί Tornado και JSBeautifier για να αναλύσει σχετικές διευθύνσεις URL από αρχεία JavaScript. Χρήσιμο για την εύκολη ανακάλυψη αιτημάτων AJAX. Φαίνεται να μην συντηρείται.
  • relative-url-extractor (ruby): Δεδομένου ενός αρχείου (HTML) θα εξάγει URLs από αυτό χρησιμοποιώντας εξυπνούς κανόνες εκφράσεων για να βρει και να εξάγει τα σχετικά URLs από άσχημα (συμπιεσμένα) αρχεία.
  • JSFScan (bash, πολλά εργαλεία): Συγκεντρώνει ενδιαφέρουσες πληροφορίες από αρχεία JS χρησιμοποιώντας πολλά εργαλεία.
  • subjs (go): Εύρεση αρχείων JS.
  • page-fetch (go): Φορτώνει μια σελίδα σε ένα headless πρόγραμμα περιήγησης και εκτυπώνει όλες τις διευθύνσεις URL που φορτώθηκαν για να φορτώσει τη σελίδα.
  • Feroxbuster (rust): Εργαλείο ανακάλυψης περιεχομένου που συνδυάζει διάφορες επιλογές των προηγούμενων εργαλείων.
  • Javascript Parsing: Μια επέκταση Burp για την εύρεση μονοπατιών και παραμέτρων σε αρχεία JS.
  • Sourcemapper: Ένα εργαλείο που δεδομένου του URL .js.map θα σας δώσει τον κωδικό JS σε μορφή beautified.
  • xnLinkFinder: Αυτό είναι ένα εργαλείο που χρησιμοποιείται για την ανακάλυψη σημείων αναφοράς για ένα συγκεκριμένο στόχο.
  • waymore: Ανακάλυψη συνδέσμων από το wayback machine (και λήψη των απαντήσεων στο wayback και αναζήτηση περισσότερων συνδέσμων
  • HTTPLoot (go): Αναζήτηση (ακόμα και με συμπλήρωση φορμών) και εύρεση ευαίσθητων πληροφοριών χρησιμοποιώντας συγκεκριμένες regexes.
  • SpiderSuite: Το Spider Suite είναι ένα προηγμένο πολυχαρακτηριστικό GUI εργαλείο ασφάλειας ιστού Crawler/Spider σχεδιασμένο για επαγγελματίες κυβερνοασφάλειας.
  • jsluice (go): Είναι ένα πακέτο Go και εργαλείο γραμμής εντολών για την εξαγωγή διευθύνσεων URL, μονοπατιών, μυστικών και άλλων ενδιαφέρουσων δεδομένων από τον κώδικα πηγής JavaScript.
  • ParaForge: Το ParaForge είναι μια απλή επέκταση Burp Suite για εξαγωγή των παραμέτρων και των σημείων αναφοράς από το αίτημα για τη δημιουργία προσαρμοσμένης λίστας λέξεων για fuzzing και απαρίθμηση.

Επίθεση με βία σε καταλόγους και αρχεία

Ξεκινήστε την επίθεση με βία από τον ριζικό φάκελο και βεβαιωθείτε ότι επιτελείτε επίθεση με βία σε όλους τους εντοπισμένους καταλόγους χρησιμοποιώντας αυτήν τη μέθοδο και όλους τους καταλόγους που ανακαλύφθηκαν από την αράχνηση (μπορείτε να κάνετε αυτήν την επίθεση με βία αναδρομικά και να προσθέτετε στην αρχή της χρησιμοποιούμενης λίστας λέξεων τα ονόματα των εντοπισμένων καταλόγων).
Εργαλεία:

  • Dirb / Dirbuster - Συμπεριλαμβάνεται στο Kali, παλιό (και αργό) αλλά λειτουργικό. Επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά και αναδρομική αναζήτηση. Πολύ αργό σε σύγκριση με τις άλλες επιλογές.
  • Dirsearch (python): Δεν επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά αλλά επιτρέπει αναδρομική αναζήτηση.
  • Gobuster (go): Επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά, δεν έχει αναδρομική αναζήτηση.
  • Feroxbuster **- Γρήγορο, υποστηρίζει αν
  • https://github.com/google/fuzzing/tree/master/dictionaries
  • https://github.com/six2dez/OneListForAll
  • https://github.com/random-robbie/bruteforce-lists
  • /usr/share/wordlists/dirb/common.txt
  • /usr/share/wordlists/dirb/big.txt
  • /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

Σημείωση ότι κάθε φορά που ανακαλύπτετε ένα νέο κατάλογο κατά τη διαδικασία της επίθεσης με δύναμη ή της ανάλυσης ιστού, πρέπει να γίνει επίθεση με δύναμη.

Τι να ελέγξετε σε κάθε αρχείο που βρίσκετε

  • Έλεγχος χαλασμένων συνδέσμων: Βρείτε χαλασμένους συνδέσμους μέσα σε HTML που μπορεί να είναι επιρρεπείς σε κατάληψη
  • Αντίγραφα αρχείων: Αφού βρείτε όλα τα αρχεία, ψάξτε για αντίγραφα όλων των εκτελέσιμων αρχείων (".php", ".aspx"...). Συνήθεις παραλλαγές ονομασίας για ένα αντίγραφο είναι: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp και file.old. Μπορείτε επίσης να χρησιμοποιήσετε το εργαλείο bfac ή backup-gen.
  • Ανακάλυψη νέων παραμέτρων: Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το Arjun, parameth, x8 και Param Miner για να ανακαλύψετε κρυμμένες παραμέτρους. Αν μπορείτε, μπορείτε να δοκιμάσετε κρυμμένες παραμέτρους σε κάθε εκτελέσιμο αρχείο ιστού.
  • Όλες οι προεπιλεγμένες λίστες λέξεων του Arjun: 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
  • Σχόλια: Ελέγξτε τα σχόλια όλων των αρχείων, μπορείτε να βρείτε διαπιστευτήρια ή κρυφή λειτουργικότητα.
  • Αν παίζετε CTF, ένα "συνηθισμένο" κόλπος είναι να κρύψετε πληροφορίες μέσα στα σχόλια στα δεξιά της σελίδας (χρησιμοποιώντας εκατοντάδες κενά ώστε να μην βλέπετε τα δεδομένα αν ανοίξετε τον κώδικα πηγής με τον περιηγητή). Άλλη πιθανότητα είναι να χρησιμοποιήσετε πολλές νέες γραμμές και να κρύψετε πληροφορίες σε ένα σχόλιο στο κάτω μέρος της ιστοσελίδας.
  • Κλειδιά API: Αν βρείτε οποιοδήποτε κλειδί API υπάρχει οδηγός που υποδεικνύει πώς να χρησιμοποιήσετε κλειδιά API διαφορετικών πλατφορμών: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
  • Κλειδιά Google API: Αν βρείτε οποιοδήποτε κλειδί API που μοιάζει με AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik μπορείτε να χρησιμοποιήσετε το έργο gmapapiscanner για να ελέγξετε ποιες APIs μπορεί να έχει πρόσβαση το κλειδί.
  • Κάδοι S3: Κατά τη διαδικασία της ανάλυσης ιστού, ελέγξτε αν κάποιο υποτομέα ή οποιοδήποτε σύνδεσμος σχετίζεται με κάποιον κάδο S3. Σε αυτήν την περίπτωση, ελέγξτε τις άδειες του κάδου.

Ειδικές ευρήματα

Κατά την εκτέλεση της ανάλυσης ιστού και της επίθεσης με δύναμη μπορείτε να βρείτε ενδιαφέροντα πράγματα που πρέπει να προσέξετε.

Ενδιαφέροντα αρχεία

  • Αναζητήστε συνδέσμους προς άλλα αρχεία μέσα στα αρχεία CSS.
  • Αν βρείτε ένα αρχείο .git μπορεί να εξαχθούν πληροφορίες
  • Αν βρείτε ένα .env μπορεί να βρεθούν πληροφορίες όπως κλειδιά API, κωδικοί βάσεων δεδομένων και άλλες πληροφορίες.
  • Αν βρείτε σημεία πρόσβασης API θα πρέπει επίσης να τα ελέγξετε. Δεν είναι αρχεία, αλλά πιθανότατα θα "μοιάζουν" με αυτά.
  • Αρχεία JS: Στην ενότητα της ανάλυσης ιστού αναφέρθηκαν διάφορα εργαλεία που μπορούν να εξάγουν διαδρομές από αρχεία JS. Επίσης, θα ήταν ενδιαφέρον να παρακολουθείτε κάθε αρχείο JS που βρίσκετε, καθώς σε ορισμένες περιπτώσεις, μια αλλαγή μπορεί να υποδείξει ότι εισήχθη μια πιθανή ευπάθεια στον κώδικα. Μπορείτε να χρησιμοποιήσετε, για παράδειγμα, το JSMon.
  • Θα πρέπει επίσης να ελέγχετε τα ανακαλυφθέντα αρχεία JS με το RetireJS ή το JSHole για να δείτε αν είναι ευάθροι.
  • Αποκωδικοποιητής και αποσυμπιεστής Javascript: https://lelinhtinh.github.io/de4js/, https://www.dcode.fr/javascript-unobfuscator
  • Ομορφοποιητής Javascript: http://jsbeautifier.org/, http://jsnice.org/
  • Αποκωδικοποίηση JsFuck (javascript με χαρακτήρες:"[]!+" https://ooze.ninja/javascript/poisonjs/)
  • TrainFuck: +72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.
  • Σε πολλές περιπτώσεις θα χρειαστεί να κατανοήσετε τις τακτικές εκφράσεις που χρησιμοποιούνται, αυτό θα είναι χρήσιμο: https://regex101.com/
  • Μπορείτε επίσης να παρακολουθείτε τα αρχεία όπου ανιχνεύθηκαν φόρμες, καθώς μια αλλαγή στην παράμετρο ή η εμφάνιση μιας νέας φόρμας μπορεί να υποδείξει μια πιθανή νέα ευάθεια λειτουργικότητας.

403 Forbidden/Βασική Ταυτοποίηση/401 Μη εξουσιοδοτημένο (παράκαμψη)

{% content-ref url="403-and-401-bypasses.md" %} 403-and-401-bypasses.md {% endcontent-ref %}

502 Σφάλμα Προϊστορίας

Αν μια σελίδα απαντά με αυτόν τον κωδικό, πιθανότατα έχει κακή ρύθμιση προξενητή. Αν στείλετε ένα αίτημα HTTP όπως: GET https://google.com HTTP/1.1 (με την κεφαλίδα host και άλλες κοινές κεφαλίδες), ο προξενητής θα προσπαθήσει να έχει πρόσβαση στο google.com και θα έχετε βρει ένα SSRF.

**Ταυτοποίη

Έλεγχος Ευπαθειών Ιστού

Τώρα που έχει πραγματοποιηθεί μια σφαιρική απαρίθμηση της ιστοσελίδας, είναι καιρός να ελεγχθούν πολλές πιθανές ευπαθείες. Μπορείτε να βρείτε τον έλεγχο εδώ:

{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology/" %} web-vulnerabilities-methodology {% endcontent-ref %}

Βρείτε περισσότερες πληροφορίες σχετικά με ευπαθείες ιστού σε:

Παρακολούθηση Σελίδων για Αλλαγές

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

Αν σας ενδιαφέρει η καριέρα στο χάκινγκ και να χακεύετε το αχάκευτο - προσλαμβάνουμε! (απαιτείται άριστη γνώση γραπτού και προφορικού Πολωνικών).

{% embed url="https://www.stmcyber.com/careers" %}

Αυτόματες Εντολές HackTricks

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.xyz/pentesting/pentesting-web

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}
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks: