본문 바로가기

정보보호

Microsoft Windows Domain Name Server Service Remote Procedure Call Interface Vulnerability

Microsoft Windows Domain Name Server Service Remote Procedure Call Interface Vulnerability

요 약

Bugtraq ID: 23470
Class: Boundary Condition Error
CVE: CVE-2007-1748
Remote: Yes
Local: No
Published: Apr 13 2007 12:00AM
Updated: Apr 15 2007 08:41PM
Credit: The vendor disclosed this issue.
Vulnerable: Microsoft Windows 2000 Server SP4
Microsoft Small Business Server 2003 Premium Edition
Microsoft Small Business Server 2003
Microsoft Small Business Server 2000 0
3DM Software Disk Management Software SP2
3DM Software Disk Management Software SP1
Not Vulnerable: Microsoft Windows XP 0
Microsoft Windows Vista 0
Microsoft Windows 2000 Professional SP4

 

 

토론

 Microsoft Windows Domain Name System (DNS) Server Service is prone to a stack-based buffer-overflow vulnerability in its Remote Procedure Call (RPC) interface.

A remote attacker may exploit this issue to run arbitrary code in the context of the DNS Server Service. The DNS service runs in the 'SYSTEM' context.

Successfully exploiting this issue allows attackers to execute arbitrary code, facilitating the remote compromise of affected computers.

Windows Server 2000 Service Pack 4, Windows Server 2003 Service Pack 1, and Windows Server 2003 Service Pack 2 are confirmed vulnerable to this issue.

Microsoft Windows 2000 Professional SP4, Windows XP SP2, and Windows Vista are not affected by this vulnerability.

 

공격코드

/data/vulnerabilities/exploits/msdns_zonename.rb  [msdns_zonename.rb]

/data/vulnerabilities/exploits/23470-devcode.c        [23470-devcode.c]

 

해결방법

  • 아직 마이크로 소프트에서 패치가 나오지 않았다


    마이크로 소프트에서 긁어온 해결방법

    Microsoft has tested the following workarounds. While this workaround will not correct the underlying vulnerability, it helps block known attack vectors. When a workaround reduces functionality, it is identified in the following section.

    Disable remote management over RPC capability for DNS Servers through the registry key setting.

    Note Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk.

    For information about how to edit the registry, view the "Changing Keys And Values" Help topic in Registry Editor (Regedit.exe) or view the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in regedit.exe.

    Note We recommend backing up the registry before you edit it.

    1.

    On the start menu click 'Run' and then type 'Regedit' and then press enter.

    2.

    Navigate to the following registry location:
    “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters”

    3.

    On the 'Edit' menu select 'New' and then click 'DWORD Value'

    4.

    Where 'New Value #1' is highlighted type 'RpcProtocol' for the name of the value and then press enter.

    5.

    Double click on the newly created value and change the value's data to '4' (without the quotes).

    6.

    Restart the DNS service for the change to take effect.

    Managed Deployment Script

    The following sample registry script can be used to enable this registry setting:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters]

    "RpcProtocol"=dword:00000004

    The above registry script can be saved to a file with a .REG file extension and can be deployed silently as part of an automated deployment script using regedit.exe using the /s command line switch.

    The DNS service needs to be restarted for this change to take effect.

    For help using regedit.exe to deploy registry scripts please refer to Microsoft Knowledge Base Article Q82821: Registration Info Editor (REGEDIT) Command-Line Switches.

    How to undo workaround: To undo the workaround perform the following steps:

    1.

    On the start menu click 'Run' and then type 'Regedit' and then press enter.

    2.

    Navigate to the following registry location:
    “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters”

    3.

    Select Registry Key RpcProtocol.

    4.

    Right click on the RpcProtocol Key and select Delete.

    5.

    Restart the DNS service for the change to take effect.

    6.

    On the start menu click 'Run' and then type 'Regedit' and then press enter.

    7.

    Navigate to the following registry location:

    RpcProtocol registry key values

    The value ‘4’ being used above restricts the DNS RPC interface to LPC-only.  Combine values from the table below to change the transport mechanisms allowed set to the RpcProtocol key.

    #define DNS_RPC_USE_TCPIP0x1

    #define DNS_RPC_USE_NAMED_PIPE0x2

    #define DNS_RPC_USE_LPC0x4

    You can re-configure the DNS server’s management interface to accept only LPC by setting a value in the registry Other registry values will modify or disable RPC communication differently. For more information on the RpcProtocol registry key please see the following TechNet article. Setting the value to 4 will mitigate a remote attempt to exploit the vulnerability. Setting the value to 0 will disable all DNS RPC functionality and will protect against both local and remote attempts to exploit the vulnerability.

    Impact of Workaround: Setting the registry value to 4 will disable remote management and configuration of DNS server functionality using RPC or WMI will be disabled. DNS management tools, will fail to work remotely. Local management and remote management through terminal services can be still used to manage your DNS Server configuration.

    You will still be able to use the DNS management MMC Snap-in, DNSCMD.exe, and the DNS WMI provider.

    Setting the registry value to 0 will disable all DNS RPC management capability including local administration and configuration

    DNS Server local administration and configuration may not work if the server being managed has a computer name of 15 characters or longer and is selected by its computer name. To avoid this issue, use the Fully Qualified Domain Name (FQDN) of the computer being managed in the DNS administration tools.

    Block the following at the firewall:

    Block TCP and UDP port 445 as well as all unsolicited inbound traffic on ports greater than 1024.

    The RPC interface of Windows DNS is bound to a port greater than 1024. While the majority of RPC port binding occurs between the 1024 to 5000 range it is possible for the RPC interface to potentially bind to higher unreserved port numbers. Blocking them at the firewall will help protect systems that are behind that firewall from attempts to exploit this vulnerability. We recommend that you block all unsolicited inbound communication from the Internet to help prevent attacks that may use other ports. For more information about ports that RPC uses, visit the following Web site. To block all unsolicited RPC requests while preserving DNS management functionality please see Microsoft Knowledge Base Article 555381

    Impact of Workaround: Remote management of DNS server functionality using RPC will be disabled. DNS management tools, will fail to work remotely. Local and remote management through terminal services can be still used to manage your DNS Server configuration

    This includes the DNS management MMC Snap-in, DNSCMD.exe, DNS WMI provider. Additional management and control functionality may be lost for applications or components that use the affected ports.

    Blocking port 445 will prevent computers connecting to the server through SMB as well as the server will being unable to access folders shared on the network. Management tools that depend on SMB for connectivity will be unable to connect to the server.

    Enable advanced TCP/IP filtering on systems

    You can enable advanced TCP/IP filtering to block all unsolicited inbound traffic. For more information about how to configure TCP/IP filtering, see Microsoft Knowledge Base Article 309798.

    Block TCP and UDP port 445 as well as affected ports greater than 1024 by using IPsec on the affected systems

    Use Internet Protocol security (IPsec) to help protect network communications. Detailed information about IPsec and about how to apply filters is available in Microsoft Knowledge Base Article 313190 and Microsoft Knowledge Base Article 813878.

    Impact of Workaround: Remote management of DNS server functionality using RPC will be disabled. DNS management tools, will fail to work remotely. Local and remote management through terminal services can be still used to manage your DNS Server configuration

    This includes the DNS management MMC Snap-in, DNSCMD.exe, DNS WMI provider. Additional management and control functionality may be lost for applications or components that use affected ports.

    Blocking port 445 will prevent computers connecting to the server through SMB as well as the server will being unable to access folders shared on the network. Management tools that depend on SMB for connectivity will be unable to connect to the server.

 

 참고자료

 

이 글은 스프링노트에서 작성되었습니다.