RDS(Remote Data Services) 제거
취약점 개요
■ 위험도
- 상
■ 점검 목적
- 취약한 RDS 서비스를 제거하여 불법적인 원격 공격을 차단하기 위함
■ 보안 위협
- 취약한 플랫폼의 RDS가 사용되는 경우 서비스 거부 공격이나 원격에서 관리자 권한으로 임의의 명령을 실행할 수 있는 위험이 존재함
점검 및 조치 방법
■ 판단 기준
- 양호 : 다음 중 한 가지라도 해당되는 경우(2008 이상 양호)
1. IIS를 사용하지 않는경우
2. Windows 2000 서비스팩 4, Windows 2003 서비스팩 2 이상 설치되어 있는 경우
3. 디폴트 웹 사이트에 MSADC 가상 디렉토리가 존재하지 않는 경우
4. 해당 레지스트리 값이 존재하지 않는 경우
- 취약 : 양호 기준에 한 가지도 해당되지 않는 경우
■ 조치 방법
- 사용하지 않는 경우 IIS 서비스 중지/사용 안 함, 사용할 경우 레지스트리 키 값 제거 또는 관련 패치 적용
■ 점검 및 조치 사례
● Windows NT, 2000, 2003 < RDS 제거 방법 >
Step 1) 웹 사이트로부터 “/msadc” 가상 디렉토리 제거
시작> 실행> INETMGR> 웹 사이트 선택 후 오른쪽 디렉토리에서 msadc 제거
Step 2) 다음의 레지스트리 키/디렉토리 제거
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\
ADCLaunch\RDSServer.DataFactory
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\
ADCLaunch\AdvancedDataFactory
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\
ADCLaunch\VbBusObj.VbBusObjCls
■ 스크립트
echo. W-30 START
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo [ W-30 "RDS(RemoteDataService)제거" ] >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. # '/MSADC' 디렉터리 존재 확인 # >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
reg query "HKLM\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots" | find /I "MSADC" >> [RESULT]_%COMPUTERNAME%_WINSVR.txt 2>&1
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. # 'RDSServer.DataFactory' 레지스트리 키 존재 확인 # >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch" | find /I "RDSServer.DataFactory" >> [RESULT]_%COMPUTERNAME%_WINSVR.txt 2>&1
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. # 'AdvancedDataFactory' 레지스트리 키 존재 확인 # >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch" | find /I "AdvancedDataFactory" >> [RESULT]_%COMPUTERNAME%_WINSVR.txt 2>&1
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. # 'VbBusObj.VbBusObjCls' 레지스트리 키 존재 확인 # >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\ADCLaunch" | find /I "VbBusObj.VbBusObjCls" >> [RESULT]_%COMPUTERNAME%_WINSVR.txt 2>&1
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo W-30 END >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo ====================================================================================== >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
echo. >> [RESULT]_%COMPUTERNAME%_WINSVR.txt
■ 용어 설명 / 팁
※ MDAC 2.7 미만의 버전에서 웹 서버와 웹 클라이언트 모두 이 취약점으로 인해 위험해질 수 있으므로 RDS가 불필요할 경우 제거하는 것이 안전함
RDS(Remote Data Services) : MDAC(Microsoft Data Access Components)의 한 컴포넌트로 클라이언트에 있는 데이터를 다룰 수 있도록 하는 서비스