RDS는 과거 IIS에서 사용되던 데이터베이스 연동 기능으로, 심각한 보안 취약점(MDAC 취약점 등)이 알려져 있습니다.
1
2
3
# IIS msadc 가상 디렉터리 확인Import-ModuleWebAdministrationGet-WebVirtualDirectory-Site"Default Web Site"|Where-Object{$_.Path-like"*msadc*"}
양호 출력 예시:
1
(결과 없음)
취약 출력 예시:
1
2
Name : msadc
Path : C:\Program Files\Common Files\System\msadc
1
2
# 레지스트리 키 확인Get-Item"HKLM:\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch"-ErrorActionSilentlyContinue
양호 출력 예시:
1
Get-Item: Cannot find path
취약 출력 예시:
1
2
3
4
Hive: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters
Name Property
---- --------
ADCLaunch {AdvancedDataFactory}
1
2
# 파일 존재 여부 확인
dir"C:\Program Files\Common Files\System\msadc\msadcs.dll"
1
2
# IIS 핸들러 매핑 확인 (구형 ISAPI)Get-WebConfiguration-Filter"/system.webServer/handlers"-PSPath"IIS:\"|Where-Object{$_.path-like"*.idc"-or$_.path-like"*.ida"}
3. 조치 방법
Windows IIS 서버 설정
msadc 가상 디렉터리 제거
1
2
3
4
5
# 가상 디렉터리 제거Remove-WebVirtualDirectory-Site"Default Web Site"-Name"msadc"# 또는Remove-WebVirtualDirectory-Site"IIS여러사이트이름"-Application"/"-Name"msadc"
레지스트리 키 제거
1
2
# ADCLaunch 레지스트리 키 삭제Remove-Item-Path"HKLM:\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch"-Recurse-ErrorActionSilentlyContinue
IIS 핸들러 매핑 제거
1
2
3
4
# 구형 ISAPI 확장 제거Remove-WebConfigurationProperty-Filter"/system.webServer/handlers"-PSPath"IIS:\"-Name"."-AtElement@{path="*.idc"}Remove-WebConfigurationProperty-Filter"/system.webServer/handlers"-PSPath"IIS:\"-Name"."-AtElement@{path="*.ida"}Remove-WebConfigurationProperty-Filter"/system.webServer/handlers"-PSPath"IIS:\"-Name"."-AtElement@{path="*.idq"}
IIS 관리자에서 제거 (GUI)
1
2
3
4
1. IIS 관리자 실행
2. 기본 웹 사이트(또는 운영 중인 사이트) 확장
3. "msadc" 가상 디렉터리 우클릭
4. [제거] 클릭
IIS 관리자에서 핸들러 매핑 제거 (GUI)
1
2
3
4
1. IIS 관리자 > 서버 노드 선택
2. "핸들러 매핑" 더블클릭
3. *.idc, *.ida, *.idq 등 구형 ISAPI 확장 검색
4. 해당 항목 선택 > [제거]