---
# System prepended metadata

title: 好厲駭學習紀錄

---

# 好厲駭學習紀錄
## 1. 上週回顧

1. MQTT 安全方面研究
2. H.W. 修補韌體並打包

尚未完成
目前解法 -> 
squashfs-tools 
提取檔案標頭不動 
把剩下檔案系統結合dd 、cat 放入到 header.bin裡面
最後再用binwalk看

## 2. 學習紀錄

- MQTT 架設、場景、攻擊運用
- ZYXEL



## 3. MQTT安全協議

- 一種物聯網的通訊協定
- 目的是為了在**窄寬帶**以及**低耗能**條件下，傳送與接收處理訊息
- 採用 Publish／Subscribe 的方式，透過 Broker 做訊息溝通。
- 輕量化的格式
- 預設port 為TCP 1883 ，websocket port為 8083 ，預設不加密，但8883 port 透過TLS加密的MQTT協議

![](https://i.imgur.com/VYjC6R4.png)


> MQTT 採用 Publish／Subscribe 模式，其中 Publisher 和 Subscriber 都是用戶端(Client)，Broker 是 伺服器端(Server) 負責轉發 Topic

> 由於 Publisher／Subscriber 之間有 Broker 當作中繼站，所以兩邊並不需要知道彼此的 IP

[MQTT應用參考教學](https://medium.com/%E5%BD%BC%E5%BE%97%E6%BD%98%E7%9A%84-swift-ios-app-%E9%96%8B%E7%99%BC%E6%95%99%E5%AE%A4/ios-x-iot-2-mqtt-%E7%B0%A1%E4%BB%8B-e750aa420162)

## 4. MQTT安裝
MQTT 軟體 Mosquitto

1. 加入 apt 下載package

![](https://i.imgur.com/PP2KKDF.png)

---

2. 更新套件

![](https://i.imgur.com/bYbgF1o.png)

---
3. 安裝 Mosquitto broker
 
![](https://i.imgur.com/pOguZrc.png)
---

4. 啟用mosquitto ，以及在localhost 架起broker 並命名一個主題 test

![](https://i.imgur.com/yhR21IK.png)


---

5. 建立一個 publisher 並傳送一串文字做測試就會看到Topic、Qos等...資訊


![](https://i.imgur.com/zmCh3A1.png)

---

6. 訂閱該主題的 subscribe 就會馬上看到資訊 / publisher 剛傳送的資訊

![](https://i.imgur.com/nnCmJnZ.png)


7.　測試新的一個 subscribe ，訂閱一樣的主題
![](https://i.imgur.com/UJJydFt.png)

8. publisher 再次傳送一個 message 

![](https://i.imgur.com/VpYurGR.png)

9. 新的subscribe也成功收到

![](https://i.imgur.com/ZGSEEcO.png)


## 4. MQTT攻擊面

這部分安全問題還是比較少

1. **授權**：匿名連接問題，任何人都可以發布或訂閱消息如果存在敏感數據或指令，將導致資訊洩漏或被惡意攻擊者發起惡意指令

2. **傳輸**：完全未加密，則可被中間人攻擊。可獲取其驗證的用戶名和密碼

3. **認證**：弱密碼問題，由於可被爆力破解，設置了弱密碼，同樣也會存在安全風險

4. **應用**：訂閱端明文配置導致洩漏其驗證的使用者名稱和密碼

6. **漏洞**：服務端軟件本身存在缺陷可被利用，或者訂閱端或服務端解析內容不當產生安全漏洞，這將導致整個系統。



## 5. MQTT exploit

[MQTT_PWN Github](https://github.com/akamai-threat-research/mqtt-pwn)

[MQTT_PWN Doc](https://mqtt-pwn.readthedocs.io/en/latest/plugins/brute.html)


>利用docker 安裝完成後會看見下面畫面

![](https://i.imgur.com/7Ly6pcy.png)

>參數 connect -h

![](https://i.imgur.com/Jwip9YK.png)



> 現在是再docker 環境裡，讓他連接本機IP並用 system_info 可看到目標的資訊

![](https://i.imgur.com/hEwLRg5.png)


> 怎麼確定是正確的資訊? 來看一下

![](https://i.imgur.com/oT5h9Wv.png)


> 用法: discovery 後接 scans

![](https://i.imgur.com/GmpPXrI.png)

> 選擇scan後的結果ID 可以進一步看Topics

![](https://i.imgur.com/YnkWfxM.png)

> Messages 可以看見資訊

![](https://i.imgur.com/xhvr9GA.png)

>進一步參數 -i 可看見更多資訊

![](https://i.imgur.com/OnHbkhB.png)


> 還有 **暴力破解**、**Owntracks 追蹤定位**、**Sonoff Exploiter 控制開關** 等用法，仍在研究


## 6. MQTT有關的CVE

- [CVE-2017-7296](https://www.cvedetails.com/cve/CVE-2017-7296/) : web介面上的XSS
- [CVE-2017-7650](https://mosquitto.org/blog/2017/05/security-advisory-cve-2017-7650/) : Pattern based ACLs can be bypassed by clients that set their username/client id to '#' or '+'. This allows locally or remotely connected clients to access MQTT topics that they do have the rights to. The same issue may be present in third party authentication/access control plugins for Mosquitto.


## 7. ZYXEL

上上週新聞

![](https://i.imgur.com/tOvLFik.png)

> 依照受害設備下去搜索
果然發現不少設備能有連網


![](https://i.imgur.com/BH7w4Kq.png)


> 先確認目標開啟哪些服務，
發現 ftp 、ssh 

![](https://i.imgur.com/v8fB9MS.png)


> ssh 過去 輸入帳密  成功 !! 但下 ls 和一些linux  command 沒反應 不確定是甚麼檔案系統

![](https://i.imgur.com/abToA41.png)




> 到官方下載韌體來做分析

下載韌體還需要註冊會員 

但成功找到上一版本的韌體

![](https://i.imgur.com/7ukOx9v.png)


> 拿 binwalk 來拆解看看 

![](https://i.imgur.com/WZKUbjq.png)

> etc 資料夾 但內部的檔案都被需要密碼過 無法打開

![](https://i.imgur.com/Hv3e19K.png)

> 想到可以用tab的方式 
果真有東西

![](https://i.imgur.com/T4yb3bz.png)

> 看個版本號 指令結尾要加上 ; 
權限還可以 重開機、關機、寫入config檔、修改服務

![](https://i.imgur.com/6a2eupt.png)
