banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

攻防演練 | 記一次社工釣魚全過程

作為一個剛入門的釣魚攻擊者,我對釣魚攻擊的經驗也很有限,同時在製作免殺馬和捆綁方面還有很大的提升空間。本文重點在於社工構思以及場景的構建,故不會過多描述免殺技術的細節,具體免殺技術可以上谷歌一下。

現在的免殺技術確實有很多選擇,其中常見的一種是使用分離加載的方法。在這裡,我選擇使用 C++ 編寫的加載器,並使用 MSF 作為 C2。(當時我的馬兒只能過火絨和卡巴)我就大概講下實現的原理,很常規的操作流程:
1、使用 msf 生成原始格式的 shellcode。

2、對 shellcode 進行加密,以確保其不易被殺軟檢測。

3、將加密後的 shellcode 嵌入到一張圖片中,生成一個木馬圖片。

4、將木馬圖片上傳至 HVV 提供的 VPS 中並啟一個可對外訪問的服務,以便被害者能夠訪問並下載。

5、誘導被害者點擊加載器,加載器會自動下載 VPS 上的木馬圖片。

6、加載器會解密木馬圖片中的 shellcode,並將解密後的 shellcode 注入到內存中,從而實現上線。

這種方法的優點是利用了常見的圖片格式作為載體,使得木馬更不易被殺軟檢測。同時,加密和解密的過程增加了執行過程的隱蔽性,提高了免殺能力。

(注:在 MSF 生成 shellcode 時,可以添加一些參數來進行混淆。在編寫 shellcode 加載器時,盡量選擇一些冷門的 Windows API,以增加隱匿性。)

我最終鎖定了一個地方性的綜合網站。這個網站包含了該地區的論壇、裝修、買車、二手房、招聘等多個模塊。我選擇這個網站的原因是它擁有招聘模塊,這對於進行釣魚攻擊來說非常合適。我意識到通過投遞簡歷的環節進行釣魚是一個非常合理的策略。

然而,一個關鍵問題是如何讓受害者在沒有察覺到安全隱患的情況下下意識地點擊木馬鏈接,從而使其上線。作為一個沒有釣魚佬並且身邊也沒有專家的新手,我不得不通過在各大論壇中尋找答案來解決這個問題。最終,我選定了壓縮捆綁這種方法。

壓縮捆綁的基本原理是製作一個看似合法的簡歷文件,並將加載器與其捆綁在一起。這樣,當受害者下載並解壓縮文件時,他們很可能會下意識地點擊並查看簡歷,從而執行加載器。

這種方法的優點在於利用了人們常見的行為習慣,即下載和解壓縮文件,以及應聘者常見的操作,即查看簡歷。通過偽裝成一個合法的簡歷文件,我可以引導受害者在沒有懷疑的情況下點擊並查看其內容,從而執行加載器。

壓縮捆綁的步驟是先製作一張簡歷與 shellcode 加載器。

然後同時選中點擊加壓,然後再加壓界面選中創建自解壓格式壓縮文件。

然後選中高級 -> 自解壓選項。

在設置中的提取後運行這裡將加載器名稱寫進去。

選中模式 -> 靜默模式 -> 全部隱藏。

加壓後,最終得到以下文件。

但是,生成的文件為 exe,這我使用了 Unicode RTLO 方法構建惡意文件名,在本地實驗是能雙擊成功上線的。

問題是經過微信傳遞的時候會顯示該文件為 EXE,並且下載後 Unicode RTLO 方法構建惡意的文件名會被打亂順序。

這個該如何是好呢,時間也來不及去研究如何繞過微信的檢測機制啊,也試過在 VPS 上啟一個服務讓 HR 去服務器上下載,但是這可行嗎?

後來我只想到一個辦法,就是在 exe 捆綁馬的外面再加一層壓縮文件,這樣可以讓 HR 覺得更合理。他們解壓了一層,還沒得到簡歷,需要再次雙擊打開,這樣操作起來更加合理。為了保護個人隱私,我還設置了密碼。

所以現在的流程就是:發送木馬簡歷給 HR -> HR 從微信接受木馬簡歷 -> HR 解壓後得到加密的簡歷(其實是捆綁器) -> 加密的簡歷解碼後 -> 觸發加載器 -> 上線到我控制端 -> HR 得到簡歷文件

垂釣開始
當我點擊簡歷投遞的時候,發現該網站不支持自己編寫的簡歷,只能從網站上進行編寫。正當我百愁莫展的時候,看到該網站主頁有客服二維碼,於是抱著試一試的心態通過微信加上了客服好從微信下手,可能是企業微信的原因吧加了一段時間後別人都沒鳥我。

躺平了一天後我繼續尋找獵物。第二天中午,我在目標網站的招聘模塊頂部發現了一個微小的二維碼。我立即掃描添加,並在下午成功通過了微信驗證。這讓我心中升起一股勝利的喜悅,畢竟這是釣魚中的一次重要進展。

我迅速向目標發送了一條消息,期待著對方的回應。沒想到的是,對方竟然很快回復了!

接著開始製作上一步中的簡歷,製作好設置解壓密碼後便將加載器與簡歷進行打包,然後最後再本地測試一下,雙擊輸入密碼上線成功。自我祈禱一下然後將 “簡歷” 發給客服。

接下來,我就忐忑不安地等待著,盯著監控端,希望能看到新的會話上線。然而,時間一分一秒過去,已經過去了兩個小時,卻還沒有看到任何會話上線。

我開始思考,是不是在某個環節出了錯誤,或者我的免殺馬被發現了,或者還有其他問題發生了...

當我主動發送了一條消息後,我發現監控端終於出現了一個會話上線的提示。我確認了一下,果然是客服解壓了我發送的文件並上線了。於是,我開始了愉快的信息收集之旅。

經驗與總結
1、在進行社工時,最重要的是準確判斷出關鍵人物。本次釣魚行動失敗的原因是在後續信息收集中發現目標使用的是個人 PC。

2、在進行釣魚行動時,最好能廣撒網,但對於專項釣魚,務必在執行社工等操作之前確定對方的身份。

3、我之後會擴充其他的捆綁技術和 word 宏木馬等。因為我所使用的捆綁木馬在解壓後會一直停留在文件夾中,沒有找到合適的位置隱藏起來,這顯得比較明顯。此外,在上線後,我還需要立即執行進程遷移,以防對方在任務管理器中直接終止我的 shellcode,否則我們的行動就會失敗。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。