gophish釣魚平臺搭建

語言: CN / TW / HK

1 背景

近期需要組織個應急演練,其中有個科目就是郵件釣魚,為了這個科目進行相關環境搭建,主要利用Gophish搭建釣魚平臺,由於是使用ubuntu所以使用

如果vps是centos,有更好用的平臺EwoMail搭建,參考官方文件進行一步步搭建

http: / /doc.ewomail.com/docs /ewomail/install

具體搭建過程如下:

2 Gophish搭建釣魚平臺

Gophish 是一個功能強大的開源網路釣魚框架。

Github 地址 :https ://github .com/gophish/gophish

在github上查詢合適的版本,本次的搭建的vps是ubuntu,Gophish版本為gophish-v0.11.0

解壓並啟動

wget https: / /github.com/gophish /gophish/releases /download/v 0 . 11.0 /gophish-v 0 . 11.0 -linux- 64 bit.zip

unzip gophish-v 0 . 11.0 -linux- 64 bit.zip

修改config.json:

後臺管理頁面開放的埠:admin_server 把 127.0.0.1 改為 0.0.0.0,外網直接訪問就要0.0.0.0

釣魚網站開放的埠:listen_url也要是0.0.0.0:89,由於預設80埠被佔用了,所以修改為89

修改之後的配置檔案如下:

配置完成後直接執行

chmod 777 gophish

./gophish

開啟後admin密碼會在啟動資訊中顯示  2a1774145a66fbfc

登入管理後臺地址,埠為3333,利用獲取的登入賬號密碼,admin,2a1774145a66fbfc

到此釣魚平臺搭建完成。

3 Gophish功能介紹

安裝完成後頁面如下:

官方指導手冊地址:https: //docs.getgophish.com/user-guide/

2.1 Groups

該功能主要是設定要進行釣魚攻擊的郵箱地址,可進行單個新增

也支援表格匯入,下載模板,

批量匯入

2.2 Email Templates

“模板”是傳送到目標的電子郵件的內容。它們可以從現有電子郵件中匯入,也可以從頭開始建立。他們還支援傳送附件。

此處嘗試匯入現有電子郵件,將要儲存的郵件另存為eml格式,然後貼上匯入

在點選“Import”之前需要勾選上“Change Links to Point to Landing Page”,該功能實現了當建立釣魚事件後,會將郵件中的超連結自動轉變為釣魚網站的URL。

2.3  Landing Pages

登陸頁面是使用者點選收到的釣魚連結時返回給使用者的實際 HTML 頁面。登入頁面支援模板化、捕獲憑據以及在使用者提交憑據後將其重定向到另一個網站。選擇匯入一個網站

Capture Submitted Data

Gophish 可以輕鬆地從登入頁面捕獲憑據。要捕獲憑據,只需選中“捕獲提交的資料”複選框。

Redirect to:

為了防止懷疑。為了防止使用者在輸入憑據後變得可疑,您可能希望將他們重定向到原始 URL。

Gophish 可以在使用者提交憑據後輕鬆重定向使用者。要重定向使用者,請在選中“捕獲提交的資料”複選框後出現的“重定向到:”文字欄位中輸入 URL。

2.4  Sending Profiles

要傳送電子郵件,Gophish 要求您配置稱為“傳送配置檔案”的 SMTP 中繼詳細資訊。要設定傳送配置檔案,請單擊側欄中的“傳送配置檔案”導航條目,然後單擊“新建配置檔案”按鈕。我的郵件伺服器和釣魚網站部署在一臺機器上,所以設定127.0.0.1

Name:Name欄位是為新建的發件策略進行命名,不會影響到釣魚的實施,建議以發件郵箱為名字,例如使用qq郵箱來發送釣魚郵件,則Name欄位可以寫 [email protected]

Password:Password 是SMTP服務認證的密碼,例如qq郵箱,需要在登入qq郵箱後,依次點選 “設定”—>“賬戶”—>“開啟SMPT服務”—>“生成授權碼”來獲取SMTP服務授權碼,Password的值則填寫我們收到的授權碼。由於本次測試是用的我的vps搭建的郵件伺服器,所以host地址寫127.0.0.1,username和password為空。

2.5  Campaigns

開始釣魚

Campaigns 的作用是將上述四個功能Sending Profiles 、Email Templates 、Landing Pages 、Users & Groups聯絡起來,並建立釣魚事件。在Campaigns中,可以新建釣魚事件,並選擇編輯好的釣魚郵件模板,釣魚頁面,通過配置好的發件郵箱,將釣魚郵件傳送給目標使用者組內的所有使用者。點選“New Campaign”新建一個釣魚事件:

Name:Name 是為新建的釣魚事件進行命名。

Email Template:Email Template 即釣魚郵件模板。

Landing Page:Landing Page 即釣魚頁面。

URL(重點):URL 是用來替換選定釣魚郵件模板中超連結的值,該值指向部署了選定釣魚頁面的url地址。簡單來說,這裡的URL需要填寫當前執行Gophish指令碼主機的IP。因為啟動Gophish後,Gophish預設監聽了3333埠和80埠(我們這配置的是81埠),其中3333埠是後臺管理系統,而89埠就是用來部署釣魚頁面的。當URL填寫了http://主機IP/,併成功建立了當前的釣魚事件後,Gophish會在主機的81埠部署當前釣魚事件所選定的釣魚頁面,並在傳送的釣魚郵件裡,將其中所有的超連結都替換成部署在81埠的釣魚頁面的url。所以,這裡的URL填寫我本地當前執行Gophish的vps主機IP和埠,即我這裡是 http://47.xxx.xxx.72:81/。

Launch Date:Launch Date 即釣魚事件的實施日期,通常如果僅傳送少量的郵箱,該項不需要修改。如果需要傳送大量的郵箱,則配合旁邊的“Send Emails By”效果更佳。

Send Emails By(可選):Send Emails By 配合Launch Date使用,可以理解為當前釣魚事件下所有釣魚郵件傳送完成的時間。Launch Date作為起始發件時間,Send Emails By 作為完成發件時間,而它們之間的時間將被所有郵件以分鐘為單位平分。例如,Launch Date的值為 2020.07.22,09:00,Send Emails By的值為 2020.07.22,09:04,該釣魚事件需要傳送50封釣魚郵件。那麼經過以上設定,從9:00到9:04共有5個發件點,這5個發件點被50封郵件平分,即每個發件點將傳送10封,也就是每分鐘僅傳送10封。這樣的好處在於,當需要傳送大量的釣魚郵件,而發件郵箱伺服器並未限制每分鐘的發件數,那麼通過該設定可以限制釣魚郵件不受約束的發出,從而防止因短時間大量郵件抵達目標郵箱而導致的垃圾郵件檢測,甚至發件郵箱伺服器IP被目標郵箱伺服器封禁。

Sending Profile:Sending Profile 即上文中我們配置的發件郵箱策略,這裡選擇剛剛編輯好的名為 發件策略profile。

Groups:Groups 即接收釣魚郵件的目標使用者組,這裡選擇剛剛編輯好的名為ceshi。

填寫完以上欄位,點選“Launch Campaign”後將會建立本次釣魚事件(注意:如果未修改“Launch Date”,則預設在建立釣魚事件後就立即開始傳送釣魚郵件):

釣魚成功

釣魚成功過後可檢視釣魚詳情:

4  郵件伺服器搭建

1、安裝   postfix

apt-get install postfix,安裝過程只需對這一步進行配置,inernet site填寫註冊的域名

開啟   postfix

service  postfix  start

2、安裝  mailx

apt-get install mailutils

安裝完成後,利用echo “I am a monster” | mail -s “test” <a href="mailto:[email protected]" "="">[email protected] 進行測試,進行郵件傳送,可成功收到郵件

我們需要嘗試偽造發件人資訊,在ubuntu新建service賬戶,adduser service,切換到該賬戶再次進行傳送,可改變發件人資訊

5 問題點

簡單記錄下搭建過程中遇到的問題,網上的搭建資料已經很多了,參考他人的搭建過程,從gophish搭建到郵箱伺服器搭建都比較順利,最後出現的兩個問題都在Landing Pages搭建釣魚頁面,第一、無法獲取受害者輸入的資料;第二、無法點選登入按鈕,這裡確實很坑,找了很多資料才發現匯入網站的資料必須要有form表單,需要自己修改,頓時覺得為啥別人知道我不知道,繼續翻它的官方文件才發現人家的Q&A給出了答案

上面也提到過了Landing Pages有個比較方便的功能就是直接克隆目標url地址,所以需要在修改source中修改原始碼,修改為form結構,其實也比較好修改,直接呼叫該程式碼本身就能生成一個登入框如下圖

<form action="" method="POST">
    <input name="username" type="text" placeholder="username" />
    <input name="password" type="password" placeholder="password" />
    <input type="submit" value="Submit" /></form>

該登入框是最原始的登入框,在該基礎上加入原有頁面的、div標籤就能成功展示,如下是克隆的freebuf的登入頁面

受害者收到郵件後點擊點選相關連結調轉到登入頁面

受害點選後能獲取到輸入的相關資訊

另外還發現除了以郵件形式傳送該釣魚地址,還可進行url群發,這樣也能記錄登入的資訊

嘗試了克隆了幾個不同的網站,基本都需要進行原始碼修改,在保留原有網頁情況下刪除不必要的一些函式或js載入,圖中標記處為需要修改的地方,有時候網頁呼叫js指令碼進行加密,但是我們需要的是明文的密碼,在我們克隆的頁面中可找到加密js檔案,並刪除呼叫。

也有時候會存在網頁克隆後,頁面資源打不開,這時候可把頁面資源全部打包下載,放在自己的vps上,新建一個網站,然後再利用Landing Pages進行匯入。

下面列舉幾個收集郵箱的網站:
https://intelx.io
https://phonebook.cz/
https://hunter.io/
http://www.skymem.info/
參考文章:
https://mp.weixin.qq.com/s/ZU8LrUENEnCSX9Q9ZxiyyA
https://security.tencent.com/index.php/blog/msg/165
https://xz.aliyun.com/t/11400

Tide安全團隊正式成立於2019年1月,是新潮資訊旗下以網際網路攻防技術研究為目標的安全團隊,團隊致力於分享高質量原創文章、開源安全工具、交流安全技術,研究方向覆蓋網路攻防、系統安全、Web安全、移動終端、安全開發、物聯網/工控安全/AI安全等多個領域。

團隊作為“省級等保關鍵技術實驗室”先後與哈工大、齊魯銀行、聊城大學、交通學院等多個高校名企建立聯合技術實驗室。 團隊公眾號自建立以來,共釋出原創文章400餘篇,自研平臺達到31個,目有18個平臺已開源。此外積極參加各類線上、線下CTF比賽並取得了優異的成績。如有對安全行業感興趣的小夥伴可以踴躍加入或關注我們