1. 程式人生 > >經驗分享 | Burpsuite抓取非HTTP流量

經驗分享 | Burpsuite抓取非HTTP流量

使用Burp對安卓應用進行滲透測試的過程中,有時候會遇到某些流量無法攔截的情況,這些流量可能不是HTTP協議的,或者是“比較特殊”的HTTP協議(以下統稱非HTTP流量)。遇到這種情況,大多數人會選擇切換到Wireshark等抓包工具來分析。下面要介紹的,是給測試人員另一個選擇——通過Burpsuite外掛NoPE Proxy對非HTTP流量抓包分析,並可實現資料包截斷修改、重放等功能。

## NoPE Proxy簡介

NoPE Proxy外掛為Burpsuite擴充套件了兩個新的特性:

1. 一個可配置的DNS伺服器

這個DNS伺服器將所有的域名解析到Burp所在主機或其它預先配置好的主機,幫助我們輕鬆的將所有手機流量傳送到Burp。

2. 非HTTP協議截斷代理

Burp的監聽器開啟允許invisable流量,這些就能使用Burp截斷HTTP流量,Burp無法處理的非HTTP流量,通過NoPE Proxy外掛處理。

## 專案地址

## 安裝

NoPE Proxy專案Github [Relaases](https://github.com/summitt/Burp-Non-HTTP-Extension/releases)頁面下載最新版本的NopeProxy.jar檔案,在Burp的Extender中安裝,安裝完成後Burpsuite新增一個Tab。

Clipboard Image.png

## 使用演示

### 演示環境

測試工具:Win 10 + VMware 14 + Kali 2017.3 + Burpsuite 1.7.30

物理機為Win 10,通過VMware執行Kali虛擬機器,Kali通過NAT網路訪問網際網路,Kali的IP為192.168.211.100。在Kali上開啟Burpsuite(我在Windows下測試NoPE Proxy外掛無法抓包,沒細查原因)。

測試物件:夜神模擬器6.0(Android版本4.4.2) + 四川移動掌上營業廳

安卓4.4之後的版本無法將所有流量通過配置的代理伺服器傳輸。

四川移動掌上營業廳在賬號登陸時,Burpsuite無法攔截請求簡訊驗證碼的資料包。

### 手機端配置

證書匯入後,配置手機代理,

### DNS服務配置

選擇需要監聽的網絡卡,填寫序號,然後點選綠色按鈕開始執行DNS服務端。

Clipboard Image.png 

### Burp Proxy設定

所有埠開啟Invisible。

Clipboard Image.png 

### 手機端設定

安卓的設定中,修改手機的代理伺服器,填寫Burp監聽IP和埠,DNS伺服器填寫之前設定的192.168.211.100。

Clipboard Image.png 

### 開啟流量監聽

NoPE Proxy的DNS History標籤下,點選Port Monitor按鈕,開始流量監聽。

手機端開啟APP,NoPE開始接收到DNS解析請求並將所有域名解析到Burpsuite地址。

手機端切換到賬號登陸介面,填寫手機號獲取簡訊驗證碼。

Clipboard Image.png 

請求地址為wap.sc.10086.cn,右邊的監流量監聽發現獲取簡訊時的通訊埠為18080。

Clipboard Image.png 

切換到NoPE Server的Server Config標籤,新增流量記錄中發現的地址和埠。

Clipboard Image.png 

再次傳送獲取簡訊驗證碼請求,可以看到NoPE Proxy已攔截到該請求內容。

Clipboard Image.png 

TCP流量資料重放。

Clipboard Image.png

TCP流量歷史記錄

Clipboard Image.png 

Automated

Clipboard Image.png 

## 結語

對安卓手機APP測試遇到Burpsuite無法攔截的流量時,可以試試NoPE Proxy外掛,說不定會有意想不到的收穫。