在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

介紹VBA隱藏技術stomping

蛇矛實驗室 ? 來源:蛇矛實驗室 ? 2023-06-11 10:19 ? 次閱讀

1.簡介

之前我們介紹了VBA腳本文件的重定向,修改文件中的加載結構并將腳本的二進制文件進行偽裝,達到宏代碼隱藏的目的。該技術具有一定的局限性,只使用腳本重定向技術無法繞過Microsoft OLE分析工具的檢測。因此再介紹一種VBA隱藏技術"VBA stomping",stomping 是指破壞 Microsoft Office 文檔中的 VBA 源代碼,對Microsoft OLE分析工具進行欺騙,干擾其分析結果。

2.OLE分析工具原理

介紹OLE分析工具原理之前,我們使用OLE分析工具"oletools"來分析一份使用了VBA重定向腳本技術的OFFICE文檔,該文檔內嵌了自動執行彈窗功能的VB腳本。

SubAutoOpen()
MsgBox "Hello World"
End Sub

6064c11a-074a-11ee-962d-dac502259ad0.png

我們使用oletools對該文件進行分析,oletools將宏源碼完整的還原了出來,因自動運行是敏感操作,oletools標注了IOC。

607c3afc-074a-11ee-962d-dac502259ad0.png

因此,在實現欺騙這類工具前,我們需要了解OLE解析工具是如何將我們的宏代碼提取出來的,通過查看oletools的源碼,找到宏檢測部分,可以發現檢測工具是通過搜索"Attribut"這個特征來定位宏的位置。

608fe552-074a-11ee-962d-dac502259ad0.png

根據該信息,我們打開VBA腳本的二進制文件,然后搜索"Attribut"字符,在該字符附近,我們可以看到VBA宏的源碼相關字符,OLE分析工具便是將這些內容進行提取,并展示出來,然后對其中的敏感字符進行匹配,提示IOC。

60d63444-074a-11ee-962d-dac502259ad0.png

3.stomping

因此我們需要stomping的部分便是VBA二進制腳本中Attribute附近的字符,但是,如果我們破壞了這部分字符,宏代碼是否能夠正常執行?

在回答這個問題之前,需要引入P-Code這個知識點,P-code,即Pseudo Code(偽代碼),這一概念最早出現在Pascal編譯器中,它是為了提供跨平臺可移植性而產生的,實現這一編譯機制的Pascal編譯器被稱為"Pascal P Compiler"。

VBA二進制腳本文件中即包含了源碼字符,又包含了P-Code,VBA中的P-Code,其本質是對源碼字符的編譯壓縮,因此實現的功能是相同的,即VBA二進制腳本中存在兩份功能一致的代碼,只是存在的形式不同,而oletools不會去解析P-Code。

需要注意的是,執行P-Code的條件的前提條件是編譯腳本的VBA版本需要與運行時版本一致,因為不同版本VBA編譯的P-Code代碼存在差異,解釋器無法解析不同版本的P-Code,因此會讀取源代碼并重新編譯當前版本可執行的P-Code。

如果滿足腳本編譯環境和執行環境的VBA版本一致,可以修改源碼部分,這樣oletools解析的結果就是我們修改后的代碼,而解釋器依舊會執行舊代碼,我們將腳本二進制中的源碼部分進行修改,修改代碼如下。

Subshowdata()
getnum "12345 67890"
End Sub

60fa84f2-074a-11ee-962d-dac502259ad0.png

修改后,打開文件,可以發現宏執行結果沒有改變,證明修改源碼部分不會影響宏的執行。

611e1f84-074a-11ee-962d-dac502259ad0.png

接下來,我們使用工具檢測一下該文件。發現工具檢測出的代碼為我們修改后的代碼,解析結果與實際執行內容不同,到達欺騙目的,因為沒有了自動執行函數AutoOpen,工具沒找到IOC指標,認為該文件正常。

614674ca-074a-11ee-962d-dac502259ad0.png

4.總結

由于各種工具對VBA的檢測角度不同,單一宏隱藏技術不能不能滿足我們的要求,因此在對抗檢測工具時,我們需要打出一套組合拳,將文件重定向與VBA stomping相結合,使其無法通過解析源碼方式分析腳本,也無法通過找到腳本的二進制文件來提取P-Code。




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    795

    瀏覽量

    41698
  • VBA
    VBA
    +關注

    關注

    0

    文章

    19

    瀏覽量

    11920
  • 編譯器
    +關注

    關注

    1

    文章

    1637

    瀏覽量

    49197
  • OLE
    OLE
    +關注

    關注

    0

    文章

    14

    瀏覽量

    11626

原文標題:VBA隱藏技術stomping

文章出處:【微信號:蛇矛實驗室,微信公眾號:蛇矛實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何實現VBA編譯器崩潰

    本篇文章為VBA腳本隱藏技術的最后一篇,將介紹如何在保證VBA腳本正常執行的情況下,使分析人員無法打開編譯器。
    發表于 07-15 10:02 ?946次閱讀
    如何實現<b class='flag-5'>VBA</b>編譯器崩潰

    請求ENA VBA援助

    大家好,我正在嘗試讓VBA應用程序在第二個5071C上運行。 VBA應用程序已在另一臺5071C上運行,但我無法在第二臺機器上運行它。我收到“Microsoft Forms - 無法加載對象,因為
    發表于 05-17 12:23

    什么是VBA?為什么這么多軟件支持VBA

    什么是VBA?什么是VBS?二者有什么不同?為什么這么多軟件支持VBA
    發表于 07-02 06:35

    空間域LSB的信息隱藏檢測技術研究

    基于圖象的信息隱藏檢測技術是隱寫分析技術的基礎,對于保障網絡信息安全和提高信息隱藏算法的安全性具有重要意義。本文針對基于空間域圖象的LSB 信息偽裝的方法,
    發表于 05-26 14:32 ?25次下載

    VBA程序源代碼

    VBA程序源代碼
    發表于 02-09 15:16 ?12次下載

    VBA開發手冊

      本章將為你介紹AutoCAD   VBA工程及VBA交互開發環境(VBA IDE)。盡管大部分VBA環境在行為上都是相似的,但Auto
    發表于 08-11 16:00 ?0次下載

    VBA 基礎及與VB的區別

      Visual Basic 的應用程序版(VBA)是Microsoft 公司長期追求的目標,使可編程應用軟件得到完美的實現,它作為一種通用的宏語言可被所有的Microsoft 可編程應用軟件所共享。在沒有VBA
    發表于 08-11 17:03 ?3260次閱讀

    AutoCAD VBA二次開發教程

    AutoCAD VBA二次開發教程,學習二次開發的頂起
    發表于 11-02 16:16 ?0次下載

    Excel 2010VBA編程與實踐

    主要介紹了Excel 2010VBA的編程知識,與部分實際案例。
    發表于 11-20 16:14 ?0次下載

    Excel VBA程序開發自學寶典

    VBA自學提供了很好的教材,方式簡單易懂容易掌握
    發表于 11-20 16:14 ?0次下載

    VBA數據處理全流程寶典

    學習VBA理想教材
    發表于 05-27 08:00 ?0次下載

    excel vba代碼 示例講解

    excel vba代碼 示例講解
    發表于 09-07 09:36 ?25次下載
    excel <b class='flag-5'>vba</b>代碼 示例講解

    密文域可逆信息隱藏技術發展

    隱藏是實現云環境下隱私保護的研究重點之一。針對當前密文域可逆信息隱藏技術技術要求,介紹了該技術
    發表于 12-09 10:28 ?0次下載
    密文域可逆信息<b class='flag-5'>隱藏</b><b class='flag-5'>技術</b>發展

    基于vba自動批量修改照片大小

    基于vba自動批量修改照片大小
    發表于 02-11 16:35 ?1次下載

    虹科CANEasy的開發-VBA

    如果想要在CANEasy中實現自動化功能,那么最快的方式就是使用里面的VBA功能。VBA最常見的是在excel和word中被用于開發的宏。在CANEasy中使用的方式和它們也差不多:我們需要在宏內,讓變量匹配到軟件中的對象,然后用代碼去控制它們。
    的頭像 發表于 09-27 11:37 ?761次閱讀
    虹科CANEasy的開發-<b class='flag-5'>VBA</b>篇
    主站蜘蛛池模板: 1024国产手机视频基地| 欧美日操| 国产欧美一区二区三区观看| 久久都是精品| 韩国三级在线视频| 成人毛片在线播放| 永久在线| 秋霞麻豆| 91久久天天躁狠狠躁夜夜| 日处女穴| 久久久xxx| 免费手机黄色网址| 欧美一级黄色影片| 久久精品国产2020观看福利色| 国产乱理论片在线观看理论| 91在线激情在线观看| 天天操夜操| 91精品久久久久含羞草| 91av在线免费观看| 国产福利vr专区精品| 特毛片| 人与牲动交xx| 国产一区二区三区乱码| av在线天堂网| 可以免费播放的在线视频| 日本xxxxxx69| 中文天堂最新版www| 中文字幕一区二区三区四区| 日本不卡在线一区二区三区视频| 欲色天天| 日本三级吹潮| 日韩三级中文字幕| 巨乳色网站| 亚洲综合黄色| 91久久国产青草亚洲| 欧美人成a视频www| 情趣店上班h系列小说| 亚洲色图欧美激情| 免费在线观看黄色| 在线亚洲精品中文字幕美乳| 久久九九国产|