gophish釣魚平臺搭建
1 背景
近期需要組織個應急演練,其中有個科目就是郵件釣魚,為了這個科目進行相關環境搭建,主要利用Gophish搭建釣魚平臺,由于是使用ubuntu所以使用
Postfix+mailutils搭建郵件服務器
如果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/v0.11.0/gophish-v0.11.0-linux-64bit.zip unzip gophish-v0.11.0-linux-64bit.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字段可以寫 xxxx@qq.com。
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:xx@163.com" "="">xx@163.com 進行測試,進行郵件發送,可成功收到郵件

我們需要嘗試偽造發件人信息,在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安全團隊
原文鏈接:https://mp.weixin.qq.com/s?__biz=MzAxMjE3ODU3MQ==&mid=2650543607&idx=3&sn=132d408a81ab8e4ea4ff02cb14f69e58&chksm=83bd7013b4caf9053fb08a223b9b2fe1eece71097e28dd912657ea3a82d9e729904ccdce84a2&scene=132#wechat_redirect