Tide安全團(tuán)隊—gophish釣魚平臺搭建
時間:2023-06-26 15:36:01 | 來源:網(wǎng)站運營
時間:2023-06-26 15:36:01 來源:網(wǎng)站運營
Tide安全團(tuán)隊—gophish釣魚平臺搭建:
1 背景
近期需要組織個應(yīng)急演練,其中有個科目就是郵件釣魚,為了這個科目進(jìn)行相關(guān)環(huán)境搭建,主要利用Gophish搭建釣魚平臺,由于是使用ubuntu所以使用
Postfix+mailutils搭建郵件服務(wù)器
如果vps是centos,有更好用的平臺EwoMail搭建,參考官方文檔進(jìn)行一步步搭建http://doc.ewomail.com/docs/ewomail/install
具體搭建過程如下:
2 Gophish搭建釣魚平臺
Gophish 是一個功能強(qiáng)大的開源網(wǎng)絡(luò)釣魚框架。
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,外網(wǎng)直接訪問就要0.0.0.0釣魚網(wǎng)站開放的端口:listen_url也要是0.0.0.0:89,由于默認(rèn)80端口被占用了,所以修改為89修改之后的配置文件如下:
配置完成后直接運行
chmod 777 gophish./gophish
開啟后admin密碼會在啟動信息中顯示 2a1774145a66fbfc
登錄管理后臺地址,端口為3333,利用獲取的登錄賬號密碼,admin,2a1774145a66fbfc
到此釣魚平臺搭建完成。
3 Gophish功能介紹
安裝完成后頁面如下:
官方指導(dǎo)手冊地址:https://docs.getgophish.com/user-guide/
2.1 Groups
該功能主要是設(shè)置要進(jìn)行釣魚攻擊的郵箱地址,可進(jìn)行單個添加
也支持表格導(dǎo)入,下載模板,
批量導(dǎo)入
2.2 Email Templates
“模板”是發(fā)送到目標(biāo)的電子郵件的內(nèi)容。它們可以從現(xiàn)有電子郵件中導(dǎo)入,也可以從頭開始創(chuàng)建。他們還支持發(fā)送附件。
此處嘗試導(dǎo)入現(xiàn)有電子郵件,將要保存的郵件另存為eml格式,然后粘貼導(dǎo)入
在點擊“Import”之前需要勾選上“Change Links to Point to Landing Page”,該功能實現(xiàn)了當(dāng)創(chuàng)建釣魚事件后,會將郵件中的超鏈接自動轉(zhuǎn)變?yōu)獒烎~網(wǎng)站的URL。
2.3 Landing Pages
登陸頁面是用戶點擊收到的釣魚鏈接時返回給用戶的實際 HTML 頁面。登錄頁面支持模板化、捕獲憑據(jù)以及在用戶提交憑據(jù)后將其重定向到另一個網(wǎng)站。選擇導(dǎo)入一個網(wǎng)站
Capture Submitted Data
Gophish 可以輕松地從登錄頁面捕獲憑據(jù)。要捕獲憑據(jù),只需選中“捕獲提交的數(shù)據(jù)”復(fù)選框。
Redirect to:
為了防止懷疑。為了防止用戶在輸入憑據(jù)后變得可疑,您可能希望將他們重定向到原始 URL。
Gophish 可以在用戶提交憑據(jù)后輕松重定向用戶。要重定向用戶,請在選中“捕獲提交的數(shù)據(jù)”復(fù)選框后出現(xiàn)的“重定向到:”文本字段中輸入 URL。
2.4 Sending Profiles
要發(fā)送電子郵件,Gophish 要求您配置稱為“發(fā)送配置文件”的 SMTP 中繼詳細(xì)信息。要設(shè)置發(fā)送配置文件,請單擊側(cè)欄中的“發(fā)送配置文件”導(dǎo)航條目,然后單擊“新建配置文件”按鈕。我的郵件服務(wù)器和釣魚網(wǎng)站部署在一臺機(jī)器上,所以設(shè)置127.0.0.1
Name:Name字段是為新建的發(fā)件策略進(jìn)行命名,不會影響到釣魚的實施,建議以發(fā)件郵箱為名字,例如使用qq郵箱來發(fā)送釣魚郵件,則Name字段可以寫 xxxx@qq.com。
Password:Password 是SMTP服務(wù)認(rèn)證的密碼,例如qq郵箱,需要在登錄qq郵箱后,依次點擊 “設(shè)置”—>“賬戶”—>“開啟SMPT服務(wù)”—>“生成授權(quán)碼”來獲取SMTP服務(wù)授權(quán)碼,Password的值則填寫我們收到的授權(quán)碼。由于本次測試是用的我的vps搭建的郵件服務(wù)器,所以host地址寫127.0.0.1,username和password為空。
配置完成后可進(jìn)行郵件發(fā)送測試
2.5 Campaigns
開始釣魚Campaigns 的作用是將上述四個功能Sending Profiles 、Email Templates 、Landing Pages 、Users & Groups聯(lián)系起來,并創(chuàng)建釣魚事件。在Campaigns中,可以新建釣魚事件,并選擇編輯好的釣魚郵件模板,釣魚頁面,通過配置好的發(fā)件郵箱,將釣魚郵件發(fā)送給目標(biāo)用戶組內(nèi)的所有用戶。點擊“New Campaign”新建一個釣魚事件:
Name:Name 是為新建的釣魚事件進(jìn)行命名。
Email Template:Email Template 即釣魚郵件模板。
Landing Page:Landing Page 即釣魚頁面。
URL(重點):URL 是用來替換選定釣魚郵件模板中超鏈接的值,該值指向部署了選定釣魚頁面的url地址。簡單來說,這里的URL需要填寫當(dāng)前運行Gophish腳本主機(jī)的IP。因為啟動Gophish后,Gophish默認(rèn)監(jiān)聽了3333端口和80端口(我們這配置的是81端口),其中3333端口是后臺管理系統(tǒng),而89端口就是用來部署釣魚頁面的。當(dāng)URL填寫了http://主機(jī)IP/,并成功創(chuàng)建了當(dāng)前的釣魚事件后,Gophish會在主機(jī)的81端口部署當(dāng)前釣魚事件所選定的釣魚頁面,并在發(fā)送的釣魚郵件里,將其中所有的超鏈接都替換成部署在81端口的釣魚頁面的url。所以,這里的URL填寫我本地當(dāng)前運行Gophish的vps主機(jī)IP和端口,即我這里是
http://47.xxx.xxx.72:81/。
Launch Date:Launch Date 即釣魚事件的實施日期,通常如果僅發(fā)送少量的郵箱,該項不需要修改。如果需要發(fā)送大量的郵箱,則配合旁邊的“Send Emails By”效果更佳。
Send Emails By(可選):Send Emails By 配合Launch Date使用,可以理解為當(dāng)前釣魚事件下所有釣魚郵件發(fā)送完成的時間。Launch Date作為起始發(fā)件時間,Send Emails By 作為完成發(fā)件時間,而它們之間的時間將被所有郵件以分鐘為單位平分。例如,Launch Date的值為 2020.07.22,09:00,Send Emails By的值為 2020.07.22,09:04,該釣魚事件需要發(fā)送50封釣魚郵件。那么經(jīng)過以上設(shè)定,從9:00到9:04共有5個發(fā)件點,這5個發(fā)件點被50封郵件平分,即每個發(fā)件點將發(fā)送10封,也就是每分鐘僅發(fā)送10封。這樣的好處在于,當(dāng)需要發(fā)送大量的釣魚郵件,而發(fā)件郵箱服務(wù)器并未限制每分鐘的發(fā)件數(shù),那么通過該設(shè)定可以限制釣魚郵件不受約束的發(fā)出,從而防止因短時間大量郵件抵達(dá)目標(biāo)郵箱而導(dǎo)致的垃圾郵件檢測,甚至發(fā)件郵箱服務(wù)器IP被目標(biāo)郵箱服務(wù)器封禁。
Sending Profile:Sending Profile 即上文中我們配置的發(fā)件郵箱策略,這里選擇剛剛編輯好的名為 發(fā)件策略profile。
Groups:Groups 即接收釣魚郵件的目標(biāo)用戶組,這里選擇剛剛編輯好的名為ceshi。
填寫完以上字段,點擊“Launch Campaign”后將會創(chuàng)建本次釣魚事件(注意:如果未修改“Launch Date”,則默認(rèn)在創(chuàng)建釣魚事件后就立即開始發(fā)送釣魚郵件):釣魚成功
釣魚成功過后可查看釣魚詳情:
4 郵件服務(wù)器搭建
1、安裝 postfixapt-get install postfix,安裝過程只需對這一步進(jìn)行配置,inernet site填寫注冊的域名
開啟 postfixservice postfix start
2、安裝 mailxapt-get install mailutils安裝完成后,利用echo “I am a monster” | mail -s “test” <a href="mailto:xx@163.com" "="">xx@163.com 進(jìn)行測試,進(jìn)行郵件發(fā)送,可成功收到郵件
我們需要嘗試偽造發(fā)件人信息,在ubuntu新建service賬戶,adduser service,切換到該賬戶再次進(jìn)行發(fā)送,可改變發(fā)件人信息
5 問題點
簡單記錄下搭建過程中遇到的問題,網(wǎng)上的搭建資料已經(jīng)很多了,參考他人的搭建過程,從gophish搭建到郵箱服務(wù)器搭建都比較順利,最后出現(xiàn)的兩個問題都在Landing Pages搭建釣魚頁面,第一、無法獲取受害者輸入的數(shù)據(jù);第二、無法點擊登錄按鈕,這里確實很坑,找了很多資料才發(fā)現(xiàn)導(dǎo)入網(wǎng)站的數(shù)據(jù)必須要有form表單,需要自己修改,頓時覺得為啥別人知道我不知道,繼續(xù)翻它的官方文檔才發(fā)現(xiàn)人家的Q&A給出了答案
上面也提到過了Landing Pages有個比較方便的功能就是直接克隆目標(biāo)url地址,所以需要在修改source中修改源碼,修改為form結(jié)構(gòu),其實也比較好修改,直接調(diào)用該代碼本身就能生成一個登錄框如下圖
<form action="" method="POST"> <input name="username" type="text" placeholder="username" /> <input name="password" type="password" placeholder="password" /> <input type="submit" value="Submit" /></form>
該登錄框是最原始的登錄框,在該基礎(chǔ)上加入原有頁面的、div標(biāo)簽就能成功展示,如下是克隆的freebuf的登錄頁面
受害者收到郵件后點擊點擊相關(guān)鏈接調(diào)轉(zhuǎn)到登錄頁面
受害點擊后能獲取到輸入的相關(guān)信息
另外還發(fā)現(xiàn)除了以郵件形式發(fā)送該釣魚地址,還可進(jìn)行url群發(fā),這樣也能記錄登錄的信息
嘗試了克隆了幾個不同的網(wǎng)站,基本都需要進(jìn)行源碼修改,在保留原有網(wǎng)頁情況下刪除不必要的一些函數(shù)或js加載,圖中標(biāo)記處為需要修改的地方,有時候網(wǎng)頁調(diào)用js腳本進(jìn)行加密,但是我們需要的是明文的密碼,在我們克隆的頁面中可找到加密js文件,并刪除調(diào)用。
也有時候會存在網(wǎng)頁克隆后,頁面資源打不開,這時候可把頁面資源全部打包下載,放在自己的vps上,新建一個網(wǎng)站,然后再利用Landing Pages進(jìn)行導(dǎo)入。
下面列舉幾個收集郵箱的網(wǎng)站:https://intelx.iohttps://phonebook.cz/https://hunter.io/http://www.skymem.info/參考文章:https://mp.weixin.qq.com/s/ZU8LrUENEnCSX9Q9ZxiyyAhttps://security.tencent.com/index.php/blog/msg/165https://xz.aliyun.com/t/11400form action="" method="POST"> <input name="username" type="text" placeholder="username" /> <input name="password" type="password" placeholder="password" /> <input type="submit" value="Submit" /></form>