基於HTTP協議的隧道木馬


1、為什么要采用HTTP協議木馬

木馬基於TCP和UDP協議會產生明顯的通訊特征,如獨有的端口、協議數據格式等。這些通訊特征很容易被發現,進而導致木馬被攔截。而基於已有的應用層協議,如

http/https等,將木馬的控制命令和數據包含在這些協議的內容部分,使得木馬的通信和正常的軟件相比,不再具有明顯的特征;同時還可以穿透一些安全軟件的過濾檢測,

保證木馬的正常通信。

2、HTTP協議介紹

http協議是一種應用層協議,是請求---應答式協議。

1)請求格式

    帶參數的get請求方法:
GET /listNews?pageSize=20&pageIndex=1 http/1.1
Host: 127.0.0.1:8080
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Accept: application/json

帶參數的post請求方法
POST /listNews http/1.1 Host: 127.0.0.1:8080 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Accept: application/json Content-Type: application/x-www-form-urlencoded pageIndex=1&pageSize=20

2)相應格式

 

3、通信流程

 

1)被控端每隔一段時間發送get請求

 

 

2)控制端接收get請求時,查詢控制端"命令槽"

 

 

3)如果"命令槽"中存在需要發送的命令,則控制端從"命令槽"中取出一條命令,包含在get響應包中,控制端發送get響應

 

 

4)如果"命令槽"中不存在需要發送的命令,則控制端將“nan”包含在get響應中,控制端發送get響應

5)被控端接收get響應,解析出包含的命令,如果是"nan",則回到1)執行。

6)被控端接收get響應,解析出包含的命令,如果是需要指令的命令,則在被控端本地指令。

 

 

7)被控端發送post請求,包含“命令執行結果”。

 

 

 

 

8)控制端接收post請求,解析出包含的“命令執行結果“

9)控制端發送post響應

 

 

 

 4、執行結果

 

5、wireshark抓包查看

應用層數據通訊已經是通過http協議了,抓包如下:

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM