Family Asyst IoT設備及伺服器弱點導致可控制任意設備 - HITCON ZeroDay

Vulnerability Detail Report

Vulnerability Overview

  • ZDID: ZD-2017-00466
  •  發信 Vendor: 台灣智慧服務股份有限公司
  • Title: Family Asyst IoT設備及伺服器弱點導致可控制任意設備
  • Introduction: IoT設備及伺服器弱點導致可控制任意設備

處理狀態

目前狀態

公開
Last Update : 2017/07/16
  • 新提交
  • 已審核
  • 已通報
  • 已修補
  • 已複測
  • 公開

處理歷程

  • 2017/06/01 17:50:25 : 新提交 (由 Lionbug 更新此狀態)
  • 2017/06/02 10:09:46 : 審核完成 (由 HITCON ZeroDay 平台自動更新)
  • 2017/06/08 01:27:29 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/06/08 01:27:30 : 通報未回應 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/06/08 13:10:36 : 修補中 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/06/19 09:59:00 : 已修補 (由 組織帳號 更新此狀態)
  • 2017/06/25 01:56:09 : 未修補完成 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/06/26 12:26:49 : 已修補 (由 組織帳號 更新此狀態)
  • 2017/07/11 15:25:32 : 確認已修補 (由 HITCON ZeroDay 服務團隊 更新此狀態)
  • 2017/07/16 03:00:05 : 公開 (由 HITCON ZeroDay 平台自動更新)

詳細資料

  • ZDID:ZD-2017-00466
  • 通報者:lionbug (Lionbug)
  • 風險:嚴重
  • 類型:其他 (Other)

參考資料

暫無資料
(本欄位資訊由系統根據漏洞類別自動產生,做為漏洞參考資料。)

相關網址

http://iserver.tiscservice.com/
https://tisc002-001.s3.amazonaws.com/
http://iserver.tiscservice.com/phpmyadmin/

敘述

貴公司控制IoT裝置都會透過網站 http://iserver.tiscservice.com/iserver/api/api_sec.php 來做溝通,該api確認是否為合法使用者時是透過參數中的hashtoken,hashtoken參數是本地透過clientphone和hashkey參數經由與一把key做xor運算後再進行md5所產生的,因此hashtoken是可以任意被偽造的,另外使用者在第一次登入成功時是會配發一個usertoken,應該使用該usertoken來認證,但只有在部分請求才會驗證因而產生弱點。

網站所有參數都沒有受到保護導致可以sql injection弱點所攻擊,因此上述的驗證其實也可以不必偽造就可直接注入資料庫。另外資料庫在驗證hashtoken時使用的是clientphone參數,而資料庫實際在查詢時使用的是phone參數,導致總算不偽造hashtoken也可以使用當前合法的hashtoken只要修改phone參數就可以任意存取他人設備。

===========以下測試都只控制及存取自己裝置,無控制他人裝置及帳號行為===========

下圖為getplugauth_2的功能,在phone參數進行sql injection注入並偽造一個不存在的使用者的hashtoken進行測試,該phone參數存在sql injection,也可以任意偽造存在的電話,導致洩漏使用者電話、裝置ID、名稱、WIFI ID:
圖片

任意請求裝置訊息,洩漏電話 使用者 裝置訊息:
gettype=getplugauth&phone=XXXXXXXXXX
gettype=getplugauth_2&phone=XXXXXXXXXX

任意請求裝置訊息,洩漏裝置當前狀態:
gettype=getiplugmessagestate&outletid=XXXXXXXXXX

任意重製他人DEVICE_TOKEN:
gettype=setpushtoken&devicetoken=XXXXXXXXXX&phone=XXXXXXXXXX&usertoken=XXXXXXXXXX&devicetype=XXXXXXXXXX&phonetype=XXXXXXXXXX&pushtype=gcm

不需要簡訊驗證即可任意創建帳號或導致存在用戶usertoken被劫持,劫持後就可以直接取得該帳號控制權限:
gettype=adduser
圖片

任意控制他人裝置開啟關閉,沒有檢驗usertoken,可以幫別人開關門:
gettype=setstate
圖片

任意取得鏡頭串流:
gettype=getaiguardcam
圖片

任意上傳檔案,建議修補方式嚴格檢查是否為圖檔及限制目錄不解析為php:
iserver/api/api_upload.php

因貴公司API功能較多及通報平台圖片數量限制因此沒有一一列出來,基本上每個功能都存在弱點,只要確實將每個參數做好保護及驗證,使用登入時所配發的usertoken進行用戶認證就可以修正上述問題。

圖床伺服器未做好保護,可任意清單及他人圖片:
https://tisc002-001.s3.amazonaws.com/
圖片

phpmyadmin後台洩漏,建議直接禁止外部訪問:
http://iserver.tiscservice.com/phpmyadmin/
圖片

===========以下測試為設備端弱點===========

貴公司終端設備初始階段透過手機APP進行對裝置端進行初始化,如下圖:
圖片

終端設備與伺服器進行配對後並沒有關閉該裝置的HTTP服務或對請求進行認證,導致在相同網路環境下可以重新對裝置進行配置請求,建議再配對結束後關閉該功能需要重新設定時需要實體按壓重設。

裝置還存在其他弱點如下:

洩漏裝置控制及訊息頁面:
/smartplug.html

網路配置及帳號密碼洩漏:
/gainspan/system/config/network

擷圖

留言討論

聯絡組織

 發送私人訊息
您也可以透過私人訊息的方式與組織聯繫,討論有關於這個漏洞的相關資訊。
;