基於selenium的釣魚工具:關於ReelPhish神器的使用

轉載自公衆號:newdooneSec

特此聲明: 本文僅限於技術交流,禁止用於非法途徑!!

前幾周鬥哥給大家介紹了一款自動化測試工具selenium,本週帶來跟selenium應用相關的實時雙因子釣魚工具。什麼是雙因子認證?簡單解釋一下:正常的網站登錄界面都需要賬號密碼(something you know)爲登錄憑證,但是某些安全性高的網站會開啓雙因子認證,即在原來的基礎上再加上一重認證,比如常見的手機短信驗證碼、銀行的U盾的PIN碼(something you have)或者指紋以及其他生物識別的方法(something you are)等身份雙因子認證。本篇文章重點想傳遞的信息是:使用雙因子認證的網站並不能避免釣魚網站的威脅,希望通過對該工具的測試來了解雙因子釣魚的原理,以此來更好的防範實時雙因子釣魚網站的危害,推動新的防禦機制。

0x01****工具介紹****&****準備

ReelPhish實時雙因子釣魚工具是以命令的方式運行的,主要有兩個組件,一個組件是嵌入釣魚網站的PHP腳本(需根據確定的目標網站對腳本代碼進行設置修改),用來獲取釣魚的數據(賬戶、密碼、雙因子驗證等)併發送到攻擊者電腦中的python腳本,另一個組件是用來監聽釣魚網站數據的ReelPhish.py(需要python2.7環境運行),當偵聽到賬戶密碼等信息時就會啓動selenium框架驅動瀏覽器自動與HTML對象交互,以此來達到實時釣魚的目的。

  1. 下載工具:ReelPhish實時雙因子釣魚工具github地址,下載後放到本地文件夾,打開文件如下圖:

其中ReelPhish的兩個組件分別以examplesitecode下的examplecode.php和ReelPhish.py兩個腳本體現,其中examplecode.php需要放置到釣魚網站的目錄下並根據目標網站實際情況做修改。

  1. 另外除了下載好ReelPhish工具,我們還需下載相關的webdriver: Chrome:chromedriver_win32.zip
    這裏鬥哥給出 Chrome的win32爲的下載地址,其他的小夥伴可自行根據需要下載。
    下載好chromedriver.exe一起放到ReelPhish-master文件夾下即可:
  1. 安裝Selenium ,用來運行瀏覽器驅動程序的自動化框架,這裏鬥哥已經安裝過了。
pip install selenium

0x02****環境說明****&****準備

爲了模擬和測試ReelPhish實時雙因子釣魚工具的使用,鬥哥找研發小姐姐搞了一個簡單的網站用來模擬真實網站(這裏鬥哥模仿的是Google站點的登錄過程),網站的登錄步驟分爲三步:輸入郵箱->輸入密碼->輸入短信驗證碼(手機號已綁定郵箱),
網站訪問地址爲:192.168.159.135/Paer/index.html

正式開始:

OK,這裏假設我們確定好要釣魚的網站就是上面的這個網站後,我們就可以開始搭建測試環境,整個測試環境的搭建主要分爲兩個部分,第一是ReelPhish.py組件的設置運行,第二個是釣魚網站和php組件的設置,這個兩個組件支持放在不同的服務器上,這裏鬥哥爲了操作方便,將兩個組件放置在同一個windows主機上,如果是運行在不同的服務器,則需要修改php組件中$local_url爲實際ReelPhish.py組件服務器的IP地址即可。

如2135端口衝突或被佔用則需要同步修改ReelPhish.py組件的端口,更換可以使用的端口,否則端口不做改變。

第一部分:

0x01****工具介紹****&****準備部分中我們已經完成具備運行ReelPhish.py組件的基本環境配置,除此之外我們還需要設置哪些參數呢?運行ReelPhish.py組件-h,我們可以查看組件所有要參數如下:

–browser 用來指定瀏覽器
–submit 用來指定登錄頁面的提交按鈕的ID,默認只支持一個按鈕
–url 用來指定真實網站的IP
–numpages 用來指定認證頁面的數量
–logging 用來查看腳本運行的信息,這裏使用debug看的信息最全。
–override 用來指定忽略報錯信息

那麼根據上面我們的測試環境,設置–browser爲Chrome; 真實網站是的–url爲http://192.168.159.135/Paer/index.html ;登錄的頁面有三個–numpages設爲3,通過審查元素可以查看各個頁面的下一步按鈕(這裏由於是鬥哥自己搭建的網站因此將下一步按鈕的name均設置爲Next),即這裏–submit設置爲Next;

注:其實–submit參數這裏有個坑點,該參數按照ReelPhish.py的默認情況下僅支持接收一個按鈕的name,那麼如果多個頁面的下一步的按鈕的名稱不一樣則需要對ReelPhish.py做修改以支持接收多個參數。

那麼我們第一部分的ReelPhish.py的運行參數設置具體如下:

ReelPhish.py –browser Chrome –url http://192.168.159.135/Paer/index.html –numpages 3 –submit Next –logging debug

第二部分:

第二部分主要是釣魚網站的搭建和php組件的具體設置:

這裏鬥哥將釣魚環境部署在phpstudy上,並且通過右鍵保存網站源碼的方式直接克隆網站(就是這麼簡單粗暴),或者可以使用kali下自帶的SET(Social Engineering Tool)等專業工具對目標網站進行克隆。
運行PHPstudy,將網頁修改爲php後綴文件保存到本地的PHPstudy下的/www/phishing目錄下:

認證流程分別由三個頁面and登錄成功的頁面,這裏分別保存爲user.php、pass.php、phone.php、succeed.htm。

由於每三個頁面都需要將獲取的數據(從HTTP POST請求中獲取用戶郵箱、密碼、短信驗證碼等憑證)發送到ReelPhish.py組件進行實時交互,因此這裏php組件需要設置三個腳本,這裏分別創建命名爲get_user.php、get_pass.php、get_phone.php 。

在編輯器中打開上述文件,進行分析:

1.修改user.php的表單action,使get_user.php獲取到表單提交的email參數的值

2.將獲取到的數據發送到ReelPhish.py組件,此時接收到數據的ReelPhish.py組件自動打開瀏覽器輸入獲取到的郵箱數據,實時進行交互

3.get_user.php的header(‘Location: ./pass.php’);跳轉到輸入密碼頁面(pass.php)

4.重複步驟1的設置

eq:以user.php和get_user.php的頁面交互爲例,具體修改設置如下:

以上我們完成了整體測試環境的搭建和設置。

0x03****模擬受害者登錄釣魚網站過程

下面我們模擬受害者訪問虛假的頁面地址並開始認證的過程:

與此同時攻擊者的系統就會收到受害者的消息,並自動啓動新的web瀏覽器,訪問真實網站的頁面,提交受害者的用戶憑證進行登錄。

ReelPhish.py接收數據:

ReelPhish.py打開瀏覽器自動化交互過程:

防止釣魚網站的威脅,目前最主要還是要加強自身的防範意識,當然本篇的重點是想告訴大家採用雙因子認證的網站並不能有效的避免釣魚的威脅。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章