Hikvision Critical Vulnerability Discovered And Analyzed

bm
bashis mcw
Published Dec 01, 2022 13:34 PM

**** *********** ********* ** ***** *************, it ******* ******* ** *********, ******** to ********* ****** ***** ********, *** did *** ***** *** ***** ** Concept.

IPVM Image

***, **** *** ************* ******** *** Ezviz ************* *** ***** **** ************* impacting ********* ******* *** *** ******* impacting **** **** ~***,*** ********-********* ****** 1,000 ****** ****** ***** ** ********* ~3.3 ******* ********* ******* ***** ** Shodan.

** *** ******** *******, ** ******* in ****** *** *** ************* *****, key *********** ** ******** ** *********'* software, *** **** ******* *****, *********, and *** ****** ***********, **** ***** a **** ***** ** *******, ** Python.

SDK ***********

*** *** **** *** *** ****** of *** *** *** *** ******* in **** *************, ************, **** ************* was ********* *********** ** *** *.* up ***** ********* ***** ** ******* this ****. *** *.* ** **** in ********** ***** **** ** *****. Hikvision ******* *** ********* *** ********* use *** *.*.

***** **** *** ******* *** *** 5.x **** ***** **********, * ***** minority ****. *** **** ********** **** is **** ********* ************* ***** **** in *.* ******** ** ****, ***** 5.x *** ***** ********. ******* **** early ******** ** *.* **** **** not **** ******** ***** *** *** partners ***** ***** *** *** *.* SDK ******** *** ********.

Proof ** ******* **** ****

****** *** *** ***-****-****, *** ******** *********** ***** *** PoC **** ******* *** ***** ** use ** *** ******** *******.

Background ********

*************, *** *********** ****** **** ******* a ***** ** ******* (***), ** IPVM *** ** *********** *** ************* on *** *** **** * ****** help **** *** ***** ******** ****** and *** *********** ******** *****.

**** ******** ******** ******, **** *********** *** *****, **** as:

[*] *****-***** ****** ******** ************* (***-****-****)

[*] ******** ****** ************** ************* (***-****-****)

[*] ******** ****** ****** ********* ************* in ***** *** *********

Fix ********:

*** ******** *************** [*] *** [*] have **** ******* ** *** ****** EZVIZ ********, ***** *** **** ******** to *** ******** ***** *** ******** update *** *** ***** ***. *** reported ************* [*] *** **** ***** on *** ***** ********.

*************** [*] *** [*] ****** ** only ****** ***** *********** *** ***** be ********* ********** ** *********** ** these ****** **** **** *********. *** with [*] ***-****-****, ******* ******** *** possible

Administrator ******** ******** ************* (***-****-****)

IPVM Image

*** ******** ***** ******* ******** *******, such **:

  • ***** **** ****
  • ** ** ****** *** ************* ***** the ******* *******, **** ****** ** not *********** *** **** ******* *********** data
  • *** ****** *** **** * ****** request ***** ******** **** **** **** be ** **** ****** *** *** server **** ******** **
  • **********************
  • ****** **** ****** *** ***** ********, XORed **** ***** **********

**** ******* ** *********** *** ****** the ************* **** ** ***** **-***-**-*****, with ******** ******* *.*.*, *****: **.**.**, and * ********* **-********-** **** ******** version *.*.** ***** ******.

*** ********* **-********-** *** *************** ** ***-****-*****, ** ***** **** ***** ** ** ******** ** log **** *** ********* *** *** ****** ***********, ***** will ** ***** *** ******* ****** analysis ** *** ****** *********** ***** IDA *** *** *** ****** ***** Server **** ******* ****** ********.

Analysis *******

******* **** *** **** ******** **** a *********** ** ****** ******** ** the ****** ***********, ******* ******** ** runtime ** *** ****** ***********, *** fuzzing **** *** ****** ****** ******.

*** ***** **** ** ** ******* what *** ******* *** ******** **** look **** **** ** ************* *******, to **** *** **** ** **** to **** ****, ** ***** *****.

IPVM Image

*** *** ******* *** ** *** at *** **** ******** ***** ** the ******** *** ******* *** *** other ******* *** ** *** ** RECV ******** *** ******* ********.

**** ******** **** *** ******** ****** from *** ***** ****** ******* ********** along **** *** *** ****12 ** ** ** **, which was verified to contain the username admin when XORing with **********.

IPVM Image

** **** **** ** ******* *** understand *** *** **-**** ****** ****** for *** ******* ** ********** *** break *** ****** **** ******* *****, to *** ** ******* ******* ***** and *** ** **** *********** ********* parts.

  • 00 ** ** ** - Size of the packet in hex
  • 63 ** ** ** - Function unknown
  • e0 ** ** ** - Packet checksum
  • 00 ** ** ** - SDK Command (NETCMD_GET_USERCFG_V30)
  • 0a ** ** ** - Provided IP address in hex (192.168.5.10)
  • 05 ** ** ** - Session ID
  • 00 ** ** ** ** ** - Provided MAC Address (00:e0:4c:XX:XX:XX)
  • 00 ** - Function unknown

**** **** ********** ******* **********, **** as ****** ****, *** *******, ******** IP, ******** *** *******, *** *** session ** ******** ******* **** ***** came **** *** ******* ***** ********** authentication.

*** ****** ******** *** * *** more **** ** **********, **** ***** are * ****** ** *** ****** request **** *** ***** *******.

Vulnerable ********

** **** *** *** *** ******* ID ************** ****** *****, ** **** to ********** ***** *** ************* ** and **** ** ****** ** ************ exploit **.

** ** ****** *** ************* ***** the ******* *******, *** ****** **** look **** ****, ***** *** ********** value ** ** ** ** ** the ****** ******* ** ****** ********.

IPVM Image

** *** ********** ********, *** ********* session ** ** *** ******* **** be ********* **** ** ** ***** to *** ****** ******* **.

***** *** ****** ******** ** *** stored ******* ** ******** ** ** FF **, *** ******** ** ** FF ** ******* ** **** *** request ** *********.

IPVM Image

** *** ********* ********, *** ********* session ** ** *** ******* **** be *********, **** *** ******* ** is *** ***** ** ** ** FF ** *** **** ** ** equal ** *** ****** ******* **.

******* *** ****** ******** ** *** stored ******* ** ******** ** ** FF **, *** ******** ******* ** of ** ** ** ** **** the ******* ** *** *********.

IPVM Image

Forged *******

**** ***** **** *** *********** **** was **** *** ******* ** *** provided *** ******* ** *** *******, where *** ******* ** **** ** 0xFFFFFFFF *** *** ******** *** ******* must *** ** ****, ***** ** a ************ ****** ******* ** *** vulnerable ***** ****** **** ******* *** same **** ** *** ************* *******.

IPVM Image

***** ****** **** ** *** ******'* checksum, ********* ** *******, *** *** 2 ******* ********* **** ***** ** IPVM's ******** ** **** ** ****** on *************. *******, *** ********* ** address ** *** ** ****, *** packet ******** ** ****, *** *** 2 ******* ********* *** *********.

*** ***** ** *** ****** **** and *** ******* ****** ** ******* in **** ****** *******.

*********

**** ****** *** **** **** ** forged ******* ** ** *** ********* DS-2CD2020F-IW, **** ******** ******* *.*.** ***** 180203, *** *** ******* ******.

IPVM Image

***** ** * ********* *****, *** functionality ** *** ************* ******** ** port **** ** ******* *** ****, where ***** ** *** ***** **** are **** ***** **** *** ********* SDK, **** ***** *** ******** *** be **** ***** ** ****** * comparison ** *** *********.

*****

IPVM Image

*********

IPVM Image

***** **** *** ********* ***.

******* ******** ** *** ****** ********, now ** *** ***** ********, ***** IPVM ******** ******-******* *** ******* ** RSA-encrypted, ******* **** *** ***** ****** uses *** **.*, ***** *** ********* camera **** *** **.*.

********* ***** *** ******* *.* *****: 2010-03-01

IPVM Image

********* *** ******* *.* *****: ****-**-**

IPVM Image

*******, ***** ********* ** *** *** version *.* *** *** ******* *** vulnerable ******** **** * ********* ******* ID *****, ******* **** **** ******* at *** *** ******* *** ***** date ** *** ****** ** ********* whether *** ****** ***** ****** ** vulnerable ** ***.

**** ******** *** ******** *** ********** Ezviz **-***-**-*****, **** ******** ******* *.*.* build **.**.** ** *.*.* ***** ******, the ******** *** ******* *** ***** date ******* *** ****.

Shodan ********

**** ******** ******.** *** ***** **** than *.* ******* ********* ******* *** research ********, ********* ********* *** ***** non-Hikvision *******.

IPVM Image

**** ********** ***** **% (***,***) ** them **** ****** *** ******* ******** for *** ******* *** *** ***-****-**** vulnerability, ** *** ****** *** **** will ***** *** ******** ******* *** model **** ** **** ********** ******.

**** **********,********* ***** *** *****,************* **** ******, **********, ****** **** us**,************* **** ** ***'* *****, ***** is *** ****** **** *** ****.

******* ****:

  • ******* ** **** **** (*******): ***,*** (74%)
  • ******* ** **** **** (*******): **,*** (26%)

*** *******:

  • *** **.*: **,*** (**.**%)
  • *** **.*: ***,*** (**.**%)

***-****-****:

  • *** **.* *******: *,*** (**.*%)
  • *** **.* *******: **,*** (**.*%)
  • *** **.* *******: ** (*.**%)
  • *** **.* *******: ***,*** (**.**%)

************, **** ***** * *** *** v5.x ******* **** *** ****** **** results ** **********, ***** *** ********** known **** ****'* ********* ******** **** SDK **.* ******* ***** *** ** vulnerable.

*** ****** *** ** *******, *** it ** ****** ** ***** *** same ********, ** *** **** **********, currently, ** **** **** ********** ** Hikvision ******* **** ***** ** **** in **** **** ******* ******* ** fixed * *************.

**** ***** ********* ******* *** *** most ****** ********** *** **.* ******* are **** ****, *** ********* ********* devices ***** ** ****, ****, *** 2020, *** *** ***** **** **** firmware ***** ** ****, ****, ****, and ****, *** **** *********** *** be ***** ******* **** **** ****** with *** ***********.

*******, ***** *** **** *** ********* vulnerable *** **.* ******* ******** ** SDK **.*.

Now ***'* ** **** **********

**** *** ********, **** ***** **** SDK **.* ** ********** *** ********* statistically ********** ******* ****** ** ****************,****** ***,***,***(**.**%).

** **** **** **** ******** **** Ezviz ********* ** *** *** **.* with ******* *************. **** *** ****, IPVM ***** * ********** ***** ******* and **** ****** **** *** * number ** ******* ***** ******* **** should *** ** ******* ** ********** devices, *** *************, **** ****** ***** not ****** *** ********** ** *** to *********.

**** *** **** ************* ******** *** number ** ********** *** **.* ******* to ** ******************* ***,***,***** ******* ** *** ********** ** verified *** **.* *** ********* ********** SDK **.* ******* ***** *** *******:

*** = *****((******* * *.****) * 0.0003)

** *** ***** ********** *** ** be ********, *** *** *** *** SDK **.* ******* ********* ********** ** the **** *** **** ** *** v5.x ******* ***** ****** ** ****** 88, **** ** ****** ******** *** following **** *** ********:

** ** ****** *** ************* ***** the ******* *******, *** ****** **** look **** ****, ***** *** ********** value ** ** ** ** ** the ****** ******* ** ****** ********.

IPVM Image

**** ***** **** *** ******* ********* by **** *** ** ****** ************* before *** ****.

************

****'* ******** **** ******** ************ ******** and ******** ******** ********, ****** **** 2013 ** ****, ******** **** **** found *** ******** **** ******** ***** in ****-****, ***** *** ** ***** in *** ***** **** ***** **** model *** ******** ********.

************* ****** ********** ****** *** ******** versions **** *** **.*

*********** ****** ********** ****** *** ******** versions **** *** **.*

****

*************, ***** ***** **** ****, ** the *********** ******** *******, ** *** written *** **********:** *** **** ***** *******.

**** ******** ******* ** **** ************** **** ******* ******** **** *** ********* ** ******* by ******* ** ******** ****** *.*.*, where *** ** *** ***** ******** is *** "****** ****" (*******/******* ****), while ****************** ****** ********* ****** ** **** known ** *** ****.

IPVM Image

** ** ****** **** ** ** surprise **** **% ** *********'* ******** on *** ****** *********** ****** **** port **** ** *** ********, *** will **** ****** ** ** *** years ** ****.

Proof ** ******* ***********

SDK **.*

********* **-********-* **** *** **.* *** firmware ******* *.*.*, *****: **.**.**

IPVM Image

***** **-*******-**-* **** *** **.* *** firmware ******* *.*.*, *****: **.**.**

IPVM Image

******* **-***-*-* **** *** **.* *** firmware ******* *.*.*, *****: **.**.**

IPVM Image

SDK **.*

********* **-********-**** **** *** **.* *** firmware ******* *.*.**, *****: **.**.**

IPVM Image

********* **-********-** **** *** **.* *** firmware ******* *.*.*, *****: **.**.**

IPVM Image

**** ********* **** *** **.* *** firmware ******* *.*.*, *****: **.**.**

IPVM Image

Comments (2)
Avatar
Brian Karas
Dec 01, 2022
Pelican Zero

***** ***** **, **** ******** *** helpful *** ************* **** ****** *************.

bm
bashis mcw
Dec 01, 2022

****** *****, **** *** *** ********.