.. | ||
buckets | ||
drupal | ||
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).
- Ξεκινήστε το αραχνο-δίκτυο: Ήρθε η ώρα να βρείτε όλα τα πιθανά αρχεία, φακέλους και παραμέτρους που χρησιμοποιούνται. Επίσης, ελέγξτε για ειδικές ευρήματα.
- Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος κατάλογος κατά τη διαδικασία brute-forcing ή αραχνο-δικτύου, πρέπει να γίνει αραχνο-δίκτυο.
- Αναζήτηση Καταλόγων με Βία: Δοκιμάστε να εκτελέσετε με βία όλους τους ανακαλυφθέντες φακέλους αναζητώντας νέα αρχεία και καταλόγους.
- Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος κατάλογος κατά τη διαδικασία brute-forcing ή αραχνο-δικτύου, πρέπει να γίνει Βία-Εξερεύνηση.
- Έλεγχος Αντιγράφων Ασφαλείας: Δοκιμάστε να βρείτε αντίγραφα ασφαλείας των ανακαλυφθέντων αρχείων προσθέτοντας κοινές επεκτάσεις αντιγράφων ασφαλείας.
- Βία-Εξερεύνηση Παραμέτρων: Δοκιμάστε να βρείτε κρυμμένες παραμέτρους.
- Αφού έχετε αναγνωρίσει όλα τα πιθανά σημεία εισόδου που δέχονται είσοδο χρήστη, ελέγξτε όλους τους τύπους ευπαθειών που σχετίζονται με αυτά.
- Ακολουθήστε αυτό τον κατάλογο ελέγχου
Έκδοση Διακομιστή (Ευπάθειες;)
Αναγνώριση
Ελέγξτε αν υπάρχουν γνωστές ευπάθειες για την έκδοση του διακομιστή που εκτελείται.
Τα κεφαλίδες 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 application έκδοση
Έλεγχος εάν υπάρχει 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 application χρησιμοποιεί κάποια καλά γνωστή τεχνολογία/πλατφόρμα που αναφέρθηκε πριν ή οποιαδήποτε άλλη, μην ξεχάσετε να αναζητήσετε στο Internet νέα κόλπα (και ενημερώστε με!).
Αναθεώρηση Κώδικα Πηγής
Εάν ο κώδικας πηγής της εφαρμογής είναι διαθέσιμος στο github, εκτός από το να πραγματοποιήσετε μόνοι σας ένα Λευκό κουτί τεστ της εφαρμογής, υπάρχει κάποια πληροφορία που θα μπορούσε να είναι χρήσιμη για το τρέχον Μαύρο-Κουτί τεστ:
- Υπάρχει Αρχείο Αλλαγών ή 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,.κλπ)
- Προσθήκη "[]", "]]" και "[[" σε τιμές cookie και τιμές παραμέτρων για δημιουργία σφαλμάτων
- Δημιουργία σφάλματος δίνοντας είσοδο ως
/~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 θα ανακτήσει κάθε μονοπάτι σε κάθε κόμβο και θα αποθηκεύσει την απόκριση.
- 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. Χρήσιμο για κυνηγούς ευκαιριών ευπάθειας, ομάδες ερυθρού και ειδικούς ασφάλειας πληροφοριών.
- 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.
- xnLinkFinder: Αυτό είναι ένα εργαλείο που χρησιμοποιείται για την ανακάλυψη σημείων αναφοράς για ένα συγκεκριμένο στόχο.
- waymore: Ανακαλύψτε συνδέσμους από το wayback machine (και κατεβάστε τις απαντήσεις στο wayback και αναζητήστε περισσότερους συνδέσμους
- HTTPLoot (go): Αναζητήστε (ακόμα και συμπληρώνοντας φόρμες) και βρείτε επίσης ευαίσθητες πληροφορίες χρησιμοποιώντας συγκεκριμένες regexes.
- SpiderSuite: Το Spider Suite είναι ένα προηγμένο πολυχαρακτηριστικό GUI εργαλείο ασφάλειας ιστού Crawler/Spider σχεδιασμένο για επαγγελματίες κυβερνοασφάλειας.
- jsluice (go): Είναι ένα πακέτο Go και εργαλείο γραμμής εντολών για την εξαγωγή διευθύνσεων URL, μονοπατιών, μυστικών και άλλων ενδιαφερουσών δεδομένων από τον κώδικα πηγής JavaScript.
- ParaForge: Το ParaForge είναι μια απλή επέκταση του Burp Suite για εξαγωγή των παραμέτρων και των σημείων αναφοράς από το αίτημα για τη δημιουργία προσαρμοσμένης λίστας λέξεων για fuzzing και απαρίθμηση.
- katana (go): Εξαιρετικό εργαλείο για αυτό.
Επίθεση Brute Force σε καταλόγους και αρχεία
Ξεκινήστε την επίθεση Brute Force από τον ριζικό φάκελο και βεβαιωθείτε ότι εφαρμόζετε επίθεση Brute Force σε όλους τους βρεθέντες καταλόγους χρησιμοποιώντας αυτήν τη μέθοδο και όλους τους καταλόγους που ανακαλύφθηκαν από την αράχνη (μπορείτε να κάνετε αυτήν την επίθεση Brute Force αναδρομικά και να προσθέτετε στην αρχή της χρησιμοποιούμενης λίστας λέξεων τα ονόματα των βρεθέντων καταλόγων).
Εργαλεία:
- Dirb / Dirbuster - Συμπεριλαμβάνεται στο Kali, παλιό (και αργό) αλλά λειτουργικό. Επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά και αναδρομική αναζήτηση. Πολύ αργό σε σύγκριση με τις άλλες επιλογές.
- Dirsearch (python): Δεν επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά αλλά επιτρέπει αναδρομική αναζήτηση.
- Gobuster (go): Επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά,
- 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
Σημείωση ότι κάθε φορά που ανακαλύπτετε ένα νέο κατάλογο κατά τη διαδικασία της επίθεσης με δύναμη ή της ανάρριψης ιστοσελίδων, πρέπει να γίνει επίθεση με δύναμη.
Τι να ελέγξετε σε κάθε αρχείο που βρίσκετε
- Έλεγχος σπασμένων συνδέσμων: Βρείτε σπασμένους συνδέσμους μέσα σε 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 endpoints θα πρέπει επίσης να τα δοκιμάσετε. Δεν είναι αρχεία, αλλά πιθανότατα θα "μοιάζουν" με αυτά.
- Αρχεία 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 Απαγορευμένο/Βασική Ταυτοποίηση/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
(με την κεφαλή και άλλες κοινές κεφαλίδες), ο **διαμεσο
Έλεγχος Ευπαθειών Ιστού
Τώρα που έχει πραγματοποιηθεί μια σφαιρική απαρίθμηση της εφαρμογής ιστού, είναι καιρός να ελεγχθούν πολλές πιθανές ευπαθείες. Μπορείτε να βρείτε τον έλεγχο εδώ:
{% content-ref url="../../pentesting-web/web-vulnerabilities-methodology.md" %} web-vulnerabilities-methodology.md {% 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.