Dahua DSS Software 12 Vulnerabilities Discovered and Analyzed

bm
bashis mcw
Published Jan 04, 2023 13:33 PM

* ***** ** ** **** (* Critical, * ****, *** * ******) were ********** ** ** **** ************* audit *******'* ******** ****** (***)******** ******* *.*.* ** *.*.*.

IPVM Image

** ******** ** ***** ***** ** October **** ******** ******** *** ******** ******** ** December **, ****(******** ******* ******** ** ***** *******).

****** *** ********, **** ***** ******* security *************** **** ***** ** ******* together, ********* ** * ******** ******** of *****'* *** ******, ********, *****, and ***** ********, ********* *** ********** operating ******. ************, * ****** ** hidden ********, **** ** ***** ***** Server-Side ******* ******* (****), ****** **** Execution (***), *** ********* **** ********, can ** **** *** *********** ****** of ******* (****) *******.

** **** ******** ******, **** ******** the *************** *** ****** * ****** proof ** ******* **** * *********** of *** *************.

Disclosure *******

*** ********** ******* **** ***** ***** following ****'* ******* ******* ** ******* 2022, ***** **** *** ************* ****** and ***** ** *******, **** ********** smoothly, **** **** * *** **************. Dahua ******** *********** ******** ** ******** **, ********* **** **** **** ** ******** products.

IPVM Image

******

*** ****** ** *********** ********** *** accessible ***** ** *** ******** ** not ****, +*,*** ** *** ** seen ** *** ****** ****** *****.

IPVM Image

*******, **** ** ***** ******* ******* dozens, ********, ** **** ********* ** cameras, ** **** ******* ** ******** to ** **** ** ******-*** ************ that **** ******* ************* *** *********** than ************ *** **********.

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

*** ****** *** *** ***** ***/*** vulnerabilities******* *** ***** ** *** ** the ******** *******.

*** *** ** ******* ** ****** 3, **** *** ********* *** **********:

  • *** **** **** * ***** ******* of *** **** ******** (*****) ********* to ******* *** **** **** **** to ******* *** *** ********. **** is *** ** ***-*** ******** ***** by *****. ***** *** ******* *** is **** *** ********** *** ****** key *** **********.

*** **** **** ******* **, *** then *** *** ******** **** *** be *********.

  • *** **** ************ ** *******-***** *******, the ****** ********** "**.***" *** ***********, gzipped, ****** *******, *** ******** ** the ***.

****** **** *** ***** *********** ************ are ******** ** *** ***, ***********, and *********** ** *** ******** "**.***" is ******** *********** ****** ***.

** *** ****** ** ** *** want ** *******:

  1. *** *** ** **** *** ****
  2. ****** **** "**.***" *** *** ********* SHA256 ****:**************************************************************
  3. *** *** **** ** ***-********** ********

IPVM Image

********** ******* **** * *** ** 72 ******** ******* **** "**.***" ** malicious.

IPVM Image

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

******* *** ******** ** *** **** takeover ** ***** *** *** ****** including *** ********** **, ***** ******** only *** ** ******* (**** ** not ******* *****/***) ***** ******* ** the ******** **** *** ******* ** chain ****.

IPVM Image

  • ******* *** ****** ***********

IPVM Image

  • **** ******* *** ****** *** ********** the ******** **

IPVM Image

  • **** ******* *** ***** ******** ******

IPVM Image

  • ******* *** ****** **** ***********

IPVM Image

  • ******* *** ****** *** *** ***/** providing ****** *** *** *** *******

IPVM Image

  • ******* **** *********** **** ********* *** CBC ***/**

IPVM Image

  • ******* ** *** ****** ******** ******* and ******** *** ***** *****

IPVM Image

*** *** **** ********** *** *** Super ***** *** ******* ******** ** the ********* ********* ** ******** *** Redis *** ***** *********** *** *** to ******* **** ***** *** ***** services.

** *** ********** ** ***** ***/** MySQL ******** *****, ** ***** **** the *******/***** ******** ** ********* (***** is *** **** ** *******).

IPVM Image

*** ******** * ********** ********** **** Redis *** ***** ********, *** *** will *********** ********** *** ******** ****:

  • ***-****-*****, ************ **** ******** *** ********* the *********** ****
  • ***-****-*****, ************ **** ****** *** *********** one **** *** ********** *** *******.
  • ***-****-*****, **** ******* *** ******** ******* the ********* *******.

IPVM Image

*** *** **** ******* ** *** Redis ****** ** ******** *** *** & ** ********* *** *******/****** **** from *** ***** ***** *** ******* AES ***/** **** *** ********* *** private ***.

IPVM Image

*** *** **** ******* ** ***** database *** **** *** ***** *** private & ****** **** ********* *****, decrypt **** ***** **** ******** *** CALL *** ***.

IPVM Image

******, *** *** **** *** **** delivery ****** ** ****** *** ********* the *********** **** *** ******** *** firewall ************* *****.

IPVM Image

Optional *** ********

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

  • ******** ******* (*******/*****)
  • **** *** ****** ******* (*******/*****)
  • **** *** ****** ***** (*******/*****)
  • *** *** ************* **** **** *****/********: pwn/pwn (*******/*****)
  • ********* ********* (*******/*****)

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

  • **** ******* ***********
  • ***** ******* *** ***/***** ****** *** Enable / ******* **** (*****)
  • ***** ******* *** ***/***** ****** *** Reboot (*****)
  • ***** ******* *** ***/***** ****** *** do ********** ** ****** (*******)
  • ***** ******* *** ***/***** ****** *** do ****** *** ******* (*******)
  • ***** ******* *** ***/***** ****** *** do **** ** ****** (*******)

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

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

  1. ***-****-*****, *************** ******* ********* **** ***********, where *** ******** *** **** *********** generated *** ****** ************ *** ** AES *********.
  2. ***-****-*****, *************** ******* ********* *** ******** AES **** ** ******* *** **** password, ***** *** **** *********** ********* per ****** ************.
  3. ***-****-*****, ******-**** ******* ******* (****) ** exploit ****** ** ***** ********* ******** via ***.*.*.*, ***** ****** ** ******* directly **** *** ********* ******'* *****-** firewall ** ****** **, ** **** as ** ***** ******** ***** ** well ** ******** *****.

*** ***** **** *** ** ******** the ********** ********* ******** ************** *** *** ******** ******. Since ** ******* **** **** *********** to *****, *** ****** **** ** using *** ***** ******, *** *** the ******* **** ******* **** ******, because ** **** ** **** *** request ******* ** **** *** *** encoded ** *****, ***** ****** *** not ** ** ******** **** *** MQTT ******.

**** ******** **************, ** *** ************ ********* ** super ***** *** **** ** ******** have **** ******* **** *** ******.

*** ****** **** *** ** *** Remote **** ********* (***) ************* **** the ******** *** ******** ***** *********** *******. **** *** ******** ** chaining ******** * ***** *********** ***************, where ** ***** ** ********** *** operating ******'* *****-** ********.

**** ** ** **** ****** ** the ***** *** ***** ******* *** productively *** *** *********** ******** **** superadmin **********.

**** *** ************* ** *********** ***** three ********* *************** (***-****-*****, ***-****-*****, ***-****-*****), so *** *** ***** ***** **** this *** ****** ** ******** * CVE ******.

***-****-*****

***** ***/****/***/**.*/***/******/************** **** *** ********** ********* **** credentials.

**** *** **** *** ************* ************ excluded **** *** ************** ** **********.****

  • ***-***: ******** ****** *******
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

***** ***/****/***/**.*/******/*******/***/*********** **** *** ********** *** *** server ************ *********** ********* *** *** and **.

**** *** **** *** ************* ************ excluded **** *** ************** ** **********.****

  • ***-***: ******** ****** *******
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

*** ****** *** ************************************** ********************* ***** ** ** **** *** various **** **********/********** ***** *** ******** encryptByAesCbcGDPR()

  • ***-***: *** ** ****-***** ************* ***
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

***** ***/****/***/**.*/*******/****/****?********* **** ******** **** ********** ********* per *** ****** ************ *********** ********* AES *** *** ** ** ******* the *******, ***** *** ********** *** dot-dot-slash (../) *** ******** **** *** request ** ********* ** *** *** Server.

  • ***-**: ******** ******* ** **** **** or ****
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

***** ***/****/***/**.*/*******/********* **** ******** **** ******* ******* ZIP *******, ***** ** *** ********* for ***-***-***** (../) *** ********, **** the *** ******* ** ******** ** the *** ******.

  • ***-***: ************ ****** ** **** **** Dangerous ****
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

******** ************* ********* ************* *** ***** in *** *** ******, ***** *** reachable ***** ********** *** ***** ***** unauthenticated. *** *** **** *** *** developer ********* *** ********** ********* ***** and ***** ***********.

  • ***-***: ******** ** ********* *********** ** an ************ *****
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

***** *****/**/******* **** ** *****.****, ****** *************** remote ***** ******** *** *** ****** with ****** ****/***** ********.

  1. *** ***.*.*.* ** ***** ******** ******** protected ********
  2. ******** ***** ****** *** ******* *******(*)
  3. ******** ******** *****

** ****** ** ***** **** **** the *****-** ******** *** **** ******** with ** ********, ********** ***-****-***** ** not ******** ** ***** ******** ********.

  • ***-***: ******-**** ******* ******* (****)
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

********-****-******** ********** ** ********/****/***/**.*/********/******?************ **** ***** ****** ****** *************** enable *** ******* ** *** ******'* SSH ******.

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

  • ***-***: ******** ****** *******
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

********-****-******** ********** ** ********/****/***/**.*/******/********** **** ***** ****** ****** *************** restart ** *** ****** *** ****** underlaying ********* ******.

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

  • ***-***: ******** ****** *******
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

********-****-******** ********** ** ********/**********/**************?********** **** ***** ****** ****** *************** search *** ***** *******.

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

  • ***-***: ******** ****** *******
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

********-****-******** ********** ** ********/**********/*******?******** **** ***** ****** ****** *************** search *** ***** *******.

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

  • ***-***: ******** ****** *******
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)

***-****-*****

********-****-******** ********** ** ********/**********/****?******** **** ***** ****** ****** *************** ICMP ********.

*** **** ************** ** ********.*** ** without *** **********, ***** *** ** used ** ******* **** ***** **** attack.

***** **** ***** ********** ******** ** ping **,***,*** ***** **** *** ***** in **** **** ******* ** ** average ******* ******* ******* *** ******* using **** *** **** ******** ** 98% *** *********** *** +*** **** network ***********.

IPVM Image

**** *** **** ** ***** *** attacked ****** ******* *********** **** *** +500 **** ******. *** *** ******* indicates *** *** *** **** ********* "Video ****"

IPVM Image

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

  • ***-***: ********** ** ********* ******* ****** or **********
  • **** *****: *.*(**:*/**:*/**:*/**:*/*:*/*:*/*:*/*:*)
Comments