.. | ||
buckets | ||
electron-desktop-apps | ||
php-tricks-esp | ||
tomcat | ||
403-and-401-bypasses.md | ||
aem-adobe-experience-cloud.md | ||
angular.md | ||
apache.md | ||
artifactory-hacking-guide.md | ||
bolt-cms.md | ||
cgi.md | ||
code-review-tools.md | ||
dotnetnuke-dnn.md | ||
drupal.md | ||
flask.md | ||
git.md | ||
golang.md | ||
grafana.md | ||
graphql.md | ||
gwt-google-web-toolkit.md | ||
h2-java-sql-database.md | ||
iis-internet-information-services.md | ||
imagemagick-security.md | ||
jboss.md | ||
jira.md | ||
joomla.md | ||
jsp.md | ||
laravel.md | ||
moodle.md | ||
nginx.md | ||
nodejs-express.md | ||
put-method-webdav.md | ||
python.md | ||
README.md | ||
rocket-chat.md | ||
special-http-headers.md | ||
spring-actuators.md | ||
symphony.md | ||
tomcat.md | ||
uncovering-cloudflare.md | ||
vmware-esx-vcenter....md | ||
waf-bypass.md | ||
web-api-pentesting.md | ||
werkzeug.md | ||
wordpress.md |
80,443 - Μεθοδολογία Ελέγχου Ασφάλειας Ιστού
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Red Team του HackTricks AWS)!
Άλλοι τρόποι υποστήριξης του HackTricks:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια στο GitHub.
Αν σας ενδιαφέρει η καριέρα στο χάκινγκ και το χάκαρισμα του αχάκαρτου - σας προσλαμβάνουμε! (απαιτείται άριστη γνώση γραπτού και προφορικού Πολωνικών).
{% 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
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
Κόλπα τεχνολογίας web
Μερικά κόλπα για την εύρεση ευπαθειών σε διαφορετικές καλά γνωστές τεχνολογίες που χρησιμοποιούνται:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- Drupal
- Flask
- Git
- Golang
- GraphQL
- H2 - Java SQL database
- IIS tricks
- JBOSS
- Jenkins
- Jira
- Joomla
- JSP
- Laravel
- Moodle
- Nginx
- PHP (το php έχει πολλά ενδιαφέροντα κόλπα που μπορούν να εκμεταλλευτούν)
- Python
- Spring Actuators
- Symphony
- Tomcat
- VMWare
- Web API Pentesting
- WebDav
- Werkzeug
- Wordpress
- Electron Desktop (XSS to RCE)
Λάβετε υπόψη ότι το ίδιο 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:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
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://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
Παρακολούθηση Σελίδων για Αλλαγές
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το 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:
- Αν θέλετε να δείτε την εταιρεία σας διαφημισμένη στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.