Burpsuite之Burp Collaborator模塊介紹


 

Burp Collaborator.是從Burp suite v1.6.15版本添加的新功能,它幾乎是一種全新的滲透測試方法。Burp Collaborator.會漸漸支持blind XSS,SSRF, asynchronous code injection等其他還未分類的漏洞類型。

本文主要介紹使用Burp Collaborator.對這幾種類型漏洞進行探測。

概念:In-band attack與 out-band attack(帶內與帶外攻擊)

首先介紹兩個概念,帶內與帶外的區別核心在於是否使用不同的通信通道。

在一次攻擊當中,只有一條通道,屬於in-band(帶內)攻擊:

31

現在同一次攻擊下,不止一條信道,則屬於out-band(帶外)攻擊:

222

常規web測試模型

簡單的講,常規的web測試模型就是我們向目標發送payloads,然后分析目標返回的數據。

33

這個模型很容易建立並且容易理解,但是這個簡單的模型漏掉很多bugs,比如:

  1. “super-blind” injection。”blind SQL injection”表示當一個payload破壞了正常的sql查詢然而應用程序返回的內容沒有任何有幫助的錯誤信息。但是在有些情況下,一個成功的注入在目標應用的返回里面是完全看不到區別的,意思就是,不論返回的內容還是返回的時間,都沒有任何區別。舉個例子,注入asynchronous logging function就是一個典型的情況
  2. 需要存儲數據的情況。比如存儲型xss理論上通過先提交payloads然后觀察返回值是可以發現的。但是其他的存儲型bugs很難發現,比如,stored (or second-order) SQL injection,數據先是以安全的方式存儲在數據庫中,然后再從數據庫取出再拼接sql語句。要使用常規滲透模型發現這種漏洞,我們需要爆破每一種請求的組合,要先發送第一個request請求,然后在發送第二個request請求,然后觀察返回值。
  3. 我們還會漏掉一種漏洞,一次成功的攻擊只發生在應用內部,對攻擊者是不可見的。比如,存儲型xss攻擊成功要求管理員訪問管理地址。
  4. 還有很多涉及到內部系統與外部資源交互的情況,比如SSRF和RFI等漏洞。

加入Burp Collaborator后的web測試模型

Burp Collaborator 給傳統web測試模型添加了一個新的部分,Burp Collaborator的功能有:

  • 捕捉由Burp發出的payloads觸發的目標與外部系統發生數據交互行為
  • 把Burp Collaborator與目標數據交互行為產生的返回數據傳回攻擊者
  • 對很多新型漏洞進行可靠的探測。 34

Burp Collaborator模塊包含如下特征:

  • Burp Collaborator 服務器通常運行在公網上。
  • 它使用自己的專用域名,並且這個服務器已注冊為該域名的權威DNS服務器。
  • 它提供一個DNS服務,可以響應任何對他的dns請求
  • 它提供HTTP/HTTPS 服務,使用一個有效的SSL證書
  • 將來可以添加其他的服務,比如smtp和ftp。

探測external service interaction(外部服務交互攻擊)

與外部服務交互行為發生在一個payload提交到目標應用上,導致目標通過某個網絡協議和一個外部的域名進行信息交互。

35

這種行為有時候被稱為SSRF,我們更偏向於稱之為外部服務交互(”external service interaction”)攻擊,因為這種情況里面,很多行為不僅僅通過HTTP協議觸發,還有SMB或者FTP等。

外部服務交互可以代表一個嚴重的漏洞,因為他可以允許應用服務器作為一個代理來攻擊其他的服務器。這包裹公網上面的第三方系統,同一個組織下的內部系統或者監聽在本地的服務。根據網絡結構,這可以將內部容易被攻擊的系統暴露給外部的攻擊者。

Burp payload包含Brup Collaborator主域名的隨機子域名列表。當一個基於HTTP的外部服務交互攻擊發生的時候,Collaborator服務器將會收到指定子域名的一個DNS查詢。接收到DNS查詢足夠確認存在問題。如果一個payload以http://…開頭只導致了一個DNS交互,那么幾乎可以確定目標服務器阻止了對外http請求。在這種情況下,后續的攻擊可以針對其他組織服務或目標其他IP。因為這個原因,Burp分開報告觸發到的DNS和HTTP交互行為。

在Burp的issue advisory中,Burp報告中顯示了嘗試讓目標服務器進行外部服務交互行為的請求和Collaborator server交互的所有細節。36

37

38

39

探測out-of-band resource load(帶外資源加載)

Out-of-band resource load發生的情況是將payload發送到目標應用上面導致目標先嘗試通過一個域名獲取內容,然后將獲取到的內容整合到原始的返回數據之中。

40

這種行為有時候歸類為為遠程文件包含。但是遠程文件包含這個名詞有PHP文件包含等含義。我們更偏向於稱之為” out-of-band resource load”攻擊,因為這種情況里面,有時候應用從外部獲取內容然后將其放入應用的返回結果當中。

Out-of-band resource load攻擊是一種威脅很高的問題,一個攻擊者發送payload,然后從可以交互的應用中獲取數據。另外,這也可以導致暴露第三方系統或者敏感的內部系統。

另外,應用程序處理out-of-band content時暴露了一些重要而且不傳統的攻擊面。

Burp會詳細報告Collaborator server產生的的交互行為信息,並展示內容如何從Collaborator反向傳輸到應用帶內再返回給用戶。

41

42

探測out-of-band XSS(帶外XSS)

在外部資源加載漏洞已經確認存在的情況下,這時候很可能也存在out-of-band XSS

43

Out-of-band XSS不屬於通常的XSS分類下

  • 不是反射型,payload並不是在當前in-band 請求中發送給目標應用。
  • 不是存儲型,payload並沒有存儲在目標應用當中
  • 不是DOM XSS:並沒有已有的JavaScript。

探測”super-blind” injection漏洞
在一個code injection 攻擊不能觸發任何可以被探測到的信息的情況下,我們可以在注入成功的時候通過觸發一次外部服務交互,從而確認注入成功。

44

可以注入的payload類型包括SQL注入,XXE注入,OS命令注入等。使用這些payloads的時候,Burp不需要從目標服務器獲取任何返回的信息,但是可以成功的探測到注入漏洞。在這種情況下,只需要一次DNS查詢就可以確定注入漏洞存在。因為目標服務器需要進行域名查詢所以總是允許外部DNS查詢。

探測 out-of-band 注入漏洞

當探測到任何類型的外部服務交互,我們可以使用Collaborator server的返回數據來向目標服務器傳輸傳統的輸入型payloads。由於目標應用會處理Collaborator的返回數據,常規的漏洞就會存在,包括SQL注入,server-side code execution等。

45

這種漏洞可能會很常見,畢竟當前還沒有完全被測試過。

探測stored out-of-band 漏洞

目標應用程序會處理從Collaborator server獲取的數據並存儲。

探測stored out-of-band resource load 很直接:

46

基於上圖的行為,我們可以測試stored out-of-band XSS漏洞:

47

48

 

探測blind stored類型的漏洞

我們已經描述了如何探測”super-blind”注入漏洞,同樣我們也可以探測那種先需要被存儲下來,然后再被目標取出從而產生的漏洞。與Collaborator server之間的延遲的交互行為能讓我們發現很多這種存儲型的漏洞。

比如,XSS盲打(blind stored xss)這個漏洞,攻擊者是無法探測到攻擊是否成功,因為攻擊者沒有訪問后台的權限。但是我們可以先提交存儲型xss payloads,然后使用Collaborator server觸發交互行為。

49

在這個例子中,當應用管理員訪問被保護的頁面,Burp通過Collaborator server可以確定存儲型攻擊發生。並且,通過從Collaborator獲的HTTP Refer可以知道管理的管理地址(即后台地址)。

支持其他協議類型 

上文中的漏洞類型主要涉及DNS和HTTP協議,事實上,我們也可以使用其他協議觸發Collborator和目標應用交互行為:

  • 通過SMTP協議注入mail頭進行探測
  • 觸發一次SMB共享連接並且抓取NTLM handshake
  • 觸發一次SSH連接然后抓取認證憑據。

 原文:https://portswigger.net/burp/

首發:https://www.91ri.org/

譯於2016.7.1。


免責聲明!

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



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