當前位置:
首頁 > 最新 > 在Go中使用反向代理進行網路釣魚測試

在Go中使用反向代理進行網路釣魚測試

免責聲明:本文僅用於教育目的。切勿使用文中提及的技術從事任何非法活動!

對於一個攻擊者來說,要想實施一次網路釣魚攻擊,往往需要做大量的準備工作。例如搭建釣魚站點,引誘受害者上鉤,捕獲受害者的登錄憑證等。為了避免這些繁雜的過程,本文我將教大家使用Go自動化這些過程。

完整的代碼和使用說明可以在Github查看:https://github.com/JonCooperWorks/judas

代理被用來釣魚TechOnRoad用戶。你能看出它們之間的差別嗎?


我們的代理需要接收來自受害者的請求,並在發送到目標網站之前重寫它們。Go有著許多在原生層面對並發編程進行支持的優秀特性,比如Goroutines、Channels等。我們建立了一個簡單的TCP偵聽器,spawn了一個新的goroutine來處理每個傳入的連接和一個goroutine worker來處理請求和響應。結果通過channel從請求處理goroutine傳遞給worker。

由於Go的優秀標準庫,請求處理非常簡潔。http包提供ReadRequest方法,用於解析從連接中讀取數據的請求。

將所有內容解析成Golang http.Request後,我們將它傳遞給目標。代理需要重寫來自受害者的HTTP頭,以防止目標站點連接中斷,特別是主機頭和URL。

在代理上使用HTTP客戶端,我們發起請求並確保請求成功。

一旦我們得到響應,我們使用傳遞給代理的ResponseTransformers(後面會詳細介紹)轉換它,使用標準庫httputil.DumpResponse函數將響應轉換為位元組,並將請求和響應發送給goroutine worker之後處理。

我們通過一個channel將HTTP事務傳遞給worker,以加快我們的操作進程避免受害者發生某些錯誤。

只需指向該代理,就能完美克隆目標網站。

ResponseTransformer允許你修改響應。我們可以用它來任何想做的事情,例如將自定義JavaScript注入到頁面,或者將比特幣地址替換成我們自己的。這對於那些在默認代理中無法100%工作的網站也很有用。

JavaScriptInjectionTransformer使用GoQuery將HTML響應解析到DOM樹中,並使用我們傳遞給transformer的URL注入腳本標籤。我們可以使用它來注入BeEF hook或繞過網站的安全防護。


這類的釣魚攻擊並不是沒有破綻,其實只要我們稍微細心觀察,就能避免掉落壞人的陷阱。為此,我向大家提出以下幾點建議:

為你登錄的網站添加書籤,並僅使用該書籤訪問該網站

即使看到綠色安全提示,也要在登錄前仔細檢查網站的URL是否正常

仔細檢查通過電子郵件發送給你的任何鏈接並謹慎點擊

完整代碼可在GitHub上查看。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 瘋貓網路 的精彩文章:

微軟聯手英特爾,在Windows更新中推送Sepctre微代碼升級
從一道CTF題目看Gopher攻擊MySql

TAG:瘋貓網路 |