實戰(zhàn) | 網(wǎng)絡(luò)釣魚案例,從制作到實施
時間:2023-06-23 22:57:01 | 來源:網(wǎng)站運營
時間:2023-06-23 22:57:01 來源:網(wǎng)站運營
實戰(zhàn) | 網(wǎng)絡(luò)釣魚案例,從制作到實施:
今天給大家分享一個自己釣自己的網(wǎng)絡(luò)釣魚攻擊案例,我將從創(chuàng)建到實施做一個完整的講解,其中會使用 docker,更方便的搭建環(huán)境,主要用到的工具包括:Gophish(一個釣魚框架)、Mailhog(郵件發(fā)送服務(wù))。
攻擊活動這里使用的釣魚魚餌是 pdf,將惡意的 js 代碼注入到 pdf 文件,然后創(chuàng)建一個虛假登錄網(wǎng)站,讓受害者打開虛假網(wǎng)站,輸入賬號密碼,或者下載附件執(zhí)行惡意 js 代碼。
第一步:創(chuàng)建惡意 pdf 文件
使用到的開源工具 JS2PDFInjector,項目地址:
https://github.com/cornerpirate/JS2PDFInjector
可以將一個簡單的惡意 js 注入到 pdf 文件:
這個 js 的功能是彈出警告框,作為演示,代碼:
app.alert("alter alert");
使用方法:
java -jar JS2PDFInjector-1.0.jar $(pwd)/sample.pdf app.js
注意:參數(shù)中需要提供 pdf 的絕對路徑,否則會報錯,如圖:
第二步:創(chuàng)建網(wǎng)絡(luò)釣魚服務(wù)
使用下面的 docker 配置文件,啟動 docker 服務(wù):
services:
啟動服務(wù):
gophish 服務(wù)使用的是 3333 端口,默認(rèn)用戶名密碼為
admin/gophish
。由于 docker 每次啟動時密碼都不同,所以無法使用默認(rèn)密碼登錄,可以在控制臺看到密碼:
docker run -it --rm -p 3333:3333 gophish/gophish
然后使用獲得的密碼登錄系統(tǒng):
然后首次登錄需要修改密碼:
登錄系統(tǒng)之后:
第三步:自建 SMTP 服務(wù)
我們使用 mailhog 來創(chuàng)建 SMTP 服務(wù),啟動服務(wù)之后,綁定的地址是 0.0.0.0:1025:
可以使用 GUI 登錄:
第四步:配置 gophish
1、創(chuàng)建發(fā)送的配置
phish-test@mail.com 是發(fā)送郵件的郵箱地址,填寫 SMTP 的地址
0.0.0.0:1025
:
然后發(fā)送測試郵件,我用來接收測試郵件的地址是 hello-testme@mail.com:
點擊發(fā)送按鈕,看到一個報錯信息:
如果我們不是使用 docker 來創(chuàng)建服務(wù),可能不會存在這個問題,因為兩個服務(wù)不在同一個 docker 中運行,無法鏈接 smtp 服務(wù)器,我們必須使用 IP 而不是綁定的本地地址。
如果兩個 docker 在橋接網(wǎng)絡(luò)中,他們是可以相互通信的,首先要注意釣魚服務(wù)創(chuàng)建的網(wǎng)絡(luò) ID:
docker network ls
接下來查看其分配的 IP 地址,我們需要知道 mailhog 的 IP :
docker network inspect fcff01c8be6a
上圖是分配的網(wǎng)段信息,向下翻找出 mailhob 服務(wù)的 IP:
然后返回之前的郵箱配置,再次嘗試:
重復(fù)之前的測試過程發(fā)現(xiàn)成功發(fā)送:
去郵箱查看是否收到郵件:
接下來保存配置文件,進(jìn)行后續(xù)的操作。
2、制作虛假登錄頁
這個頁面是展示給受害者查看的,需要結(jié)合一些用戶感興趣的內(nèi)容,才能提高成功率,比如彩票中獎、熱點話題、緊急密碼重置頁面等。
作為攻擊者,如果制作的登錄頁面太假,受害者將不會上當(dāng),按你的期望執(zhí)行,我這里做了一個簡單的登錄頁面,然后在用戶登錄之后,將會記錄它的賬號密碼信息,源碼:
<!DOCTYPE html>
使用 ngrok 創(chuàng)建一個隧道,可以設(shè)置在公網(wǎng)上,供任意人訪問:
ngrok http 9002
我們還需要在本地創(chuàng)建一個服務(wù),否則無法遠(yuǎn)程連接到本地:
本地使用 python 創(chuàng)建 http 服務(wù):
我們可以通過導(dǎo)入網(wǎng)站的方式,也可以通過復(fù)制源代碼的方式新建頁面:
導(dǎo)入之后,就可以看到頁面的展示:
在增加一個登錄完成之后,重定向之后的頁面:
頁面內(nèi)容如圖:
保存之后,你也可以對其進(jìn)行修改或者刪除:
3、制作電子郵件內(nèi)容
目標(biāo)是否點擊你的釣魚鏈接,取決于你的郵件內(nèi)容是否有足夠的吸引力,這個環(huán)節(jié)失敗,那么整個釣魚過程就失敗了,為了驗證技術(shù),我簡單創(chuàng)建了一個,在實際釣魚中,一定會失敗,因為很假:
{{.URL}}
會自動替換為 gophish 的服務(wù)器 IP,
{{.FirstName}}
會自動替換為目標(biāo)郵箱的名字。
接下來可以添加一個圖片,用來記錄用戶是否打開郵件并查看內(nèi)容,何時打開的:
這里我已經(jīng)創(chuàng)建了一個電子郵件模板:
忘記添加附件了,我們來編輯一下,點擊增加文件的功能,添加惡意附件:
4、用戶和組
我們可以在 gophish 上導(dǎo)入受害者列表:
我們添加了一個測試用戶
john wick,可以修改,也可以刪除。
5、攻擊嘗試
創(chuàng)建一個新的釣魚活動,選擇我們之前創(chuàng)建的電子郵件模板、登錄頁面和用戶組,用戶訪問的 URL 是 gophish 的監(jiān)聽端口,服務(wù)器 IP 是 172.18.0.2,直接用 IP 可能不那么可信,可以注冊域名并配置解析,這里我簡單用 host 來修改:
由于郵件模板中使用的是
{{.URL}}
,所以需要配置 gopher 的監(jiān)聽 URL:
啟動攻擊之后,可以在儀表盤看到郵件發(fā)送成功,是否打開郵件,是否點擊鏈接等行為:
我們再次進(jìn)入 mailhog 的控制面板,可以看到收件箱有一封電子郵件:
打開之后,內(nèi)容如圖:
我們在 MIME 中可以看到我們添加的附件:
下載 pdf 附件,當(dāng)我們打開郵件內(nèi)容中的 URL 時,會看到登錄頁面:
填寫信息后登錄:
會跳轉(zhuǎn)到我們預(yù)定義好的頁面:
再來看看儀表盤,我們看到信息有變化,記錄了詳細(xì)的信息:
點擊查看詳情的按鈕:
結(jié)果如圖:
我們看到了獲得的用戶名和密碼,接下來嘗試打開我們制作好的 pdf,發(fā)現(xiàn) js 執(zhí)行成功,彈出了警報框:
當(dāng)然,執(zhí)行 js 不只是這個,還能做很多其他的事兒,需要大家自己去拓展。腳本中還有鏈接遠(yuǎn)程服務(wù)器的代碼,執(zhí)行如圖:
點擊允許之后,會在 burp 的協(xié)作服務(wù)器收到 DNS 和 HTTP 的請求記錄:
這就是一次完整的釣魚攻擊活動記錄。
如何分析
分析釣魚郵件或者附件,需要在沙盒中完成,不然自己就成了受害者,偷雞不成蝕把米。
查看釣魚郵件分析可可疑內(nèi)容
1、分析來源
2、嘗試查找電子郵件的來源,例如發(fā)件人的 IP,分析電子郵件標(biāo)題
兩個消息頭分析的網(wǎng)站:
https://toolbox.googleapps.com/apps/messageheader/analyzeheader
https://mha.azurewebsites.net/
3、提取分析 URL
https://gchq.github.io/CyberChef/#recipe=Extract_URLs%28false%29Defang_URL%28true,true,true,%27Valid%20domains%20and%20full%20URLs%27%29&input=aHR0cDovL2dvb2dsZS5jb20
4、檢查可疑 URL 或 IP 地址的 DNS 記錄
5、截取可疑 URL 或 IP 地址的屏幕截圖
https://www.url2png.com/
6、檢測 URL 或者 IP 是否已被加黑
https://www.ipvoid.com/ip-blacklist-check/
7、檢測 URL 或者 IP 是否存在惡意
https://www.virustotal.com/gui/home/upload
8、下載附件,上傳分析,看是否是已知威脅
https://www.virustotal.com/gui/home/upload
https://talosintelligence.com/talos_file_reputation
9、最后使用手工或者工具分析惡意軟件
以 pdf 為例做惡意分析
REMnux 是一個用于逆向工程和分析惡意軟件的 Linux 工具包。REMnux 提供由社區(qū)創(chuàng)建的精選免費工具集合。分析師可以使用它來調(diào)查惡意軟件,而無需查找、安裝和配置工具。
使用 docker 來安裝部署該工具:
docker pull remnux/remnux-distro
進(jìn)入 docker 之后:
首先檢查 pdf 是否具有正確的 magic 數(shù):
檢查方式,可以參考:
https://en.wikipedia.org/wiki/List_of_file_signatures
接下來使用一個名為 pdfid 的工具來分析 pdf 文件:
pdfid lastone.pdf
可以看到 pdf 中包含了 javascript 內(nèi)容,而且不能打開 pdf,因為 /OpenAction 也是 1 ,這個意思是打開 pdf 文件時會執(zhí)行一些操作。其他內(nèi)容的意思:
/Page - pdf 的頁數(shù)
我還發(fā)現(xiàn)一個工具 peepdf 比 pdfid 更好,因為 peepdf 可以提供相同的信息:
peepdf lastone.pdf
接下來,我們提取 pdf 中的 js 代碼,首先將下面的內(nèi)容保存到 extract.txt:
extract js > extracted.txt
然后執(zhí)行命令:
peepdf -s extract.txt malicouspdf.pdf
到這里,整個分析就結(jié)束了。
關(guān)鍵詞:實施,網(wǎng)絡(luò),實戰(zhàn)