1. 程式人生 > 實用技巧 >2020年IDA外掛大賽:DynDataResolver奪冠

2020年IDA外掛大賽:DynDataResolver奪冠

今年IDA官方舉辦的外掛開發比賽,結果已經出爐,前三名分別為:

  1. DynDataResolver

  2. Lucid 與 grap

  3. efiXplorer

01

DynDataResolver

專案地址:

https://github.com/Cisco-Talos/DynDataResolver

DynDataResolver簡稱DDR,由Cisco安全團隊成員開發,使用DynamoRIO框架進行二進位制插樁,幫助從執行的軟體中提取有價值的資訊並顯示出來,比如執行過的指令、暫存器值、API呼叫日誌等等。雖然安裝比較麻煩,但畢竟開源免費,通常被用來分析惡意軟體。

更多資訊可以參考:

https://blog.talosintelligence.com/2020/05/dynamic-data-resolver-1-0.html

02

Lucid

專案地址:

https://github.com/gaasedelen/lucid

Lucid是一款互動式檢視IDA 微碼(中間語言)的外掛,它能夠將F5程式碼與對應微碼高亮顯示出來,其提供的互動功能非常適合用來學習反編譯器中的微程式碼轉換,通過微碼可以對抗軟體混淆,對付花指令、亂序等情況。

03

grap

專案地址:

https://github.com/QuoSecGmbH/grap/

grap是基於彙編和控制流的二進位制相似度匹配檢測外掛,支援DOT圖形描述語言來自定義規則,可以考慮用來識別一些歷史漏洞函式。


04

efiXplorer

專案地址:

https://github.com/binarly-io/efiXplorer

efiXplorer是一款UEFI韌體分析外掛,可以解壓UEFI韌體中的所有模組,並自動分析整合到同一個IDB,實現跨模組的交叉引用識別。


05

bf

下載地址:

https://www.hex-rays.com/wp-content/static/contests_details/contest2020/bf/bf.zip


bf是brainfuck語言反編譯器外掛,這種語言實在是太小眾了,而且該外掛不穩定,可能導致IDA崩潰。

06

bip

專案地址:

https://github.com/synacktiv/bip/

Bip是一個旨在簡化Python與IDA互動的外掛,提升在IDA的Python互動式控制檯的使用和外掛編寫效率,它安裝簡單,且有相關文件和示例程式碼。

07

capa explorer

專案地址:

https://github.com/fireeye/capa/

capa explorer是由Fireeye使用Python開發的一款與capa框架互動的IDA外掛,capa是用來識別PE可執行程式行為的,比如檢測shellcode、後門、病毒的行為,通過一套可檢視和設定的規則來定義

08

FingerMatch

專案地址:

https://github.com/jendabenda/fingermatch

FingerMatch用於二進位制程式間的模糊匹配的Python外掛,基於函式、資料、型別和註釋等資訊進行檢測。在無符號的程式逆向分析中,有時可以藉助它與疑似的開源庫作相似度比對,若找到其使用的開源庫,對於提高分析效率將有很大幫助。

09

idaDiscover

下載地址:

https://www.hex-rays.com/wp-content/static/contests_details/contest2020/idaDiscover/idaDiscover.7z

idaDiscover是一款輔助分析惡意軟體的外掛,支援搜尋加密和動態生成的字串,內嵌PE檔案、可疑迴圈、加密和Hash演算法等等。

10

idahunt

專案地址:

https://github.com/nccgroup/idahunt

idahunt是Python指令碼開發的命令列工具,算不上嚴格意義上的IDA外掛,通過命令列呼叫IDA分析二進位制程式,支援/PE/ELF/MACH-O等程式,可以同時開啟多個IDB進行分析,指定相應的Python指令碼進行自動化分析。比較適用的場景包括微軟補丁分析、同家族的惡意軟體分析、分析打包的二進位制壓縮包(比如UEFI, HP iLO, Cisco IOS 路由器, Cisco ASA 防火牆等等)。

11

ida_medigate

專案地址:

https://github.com/medigate-io/ida_medigate

ida_medigate用於逆向C++的外掛,用於輔助分析虛擬函式分發,支援虛擬函式的交叉引用識別。

12

idapm

專案地址:

https://github.com/tkmru/idapm

idapm是IDA外掛管理器,可以幫助使用者完成棘手的外掛管理任務:新增,刪除,羅列外掛。

13

PacXplorer

下載地址:

https://www.hex-rays.com/wp-content/static/contests_details/contest2020/PacXplorer/pacxplorer.zip

PacXplorer支援分析ARM64 PAC指令,以提供一種新型的交叉引用:從呼叫方到虛擬函式,反之亦然。通過分析每個啟用PAC的虛擬方法呼叫方,並使用在其中找到的資訊來解析目標,對使用Apple的指標驗證碼(PAC)功能的任何二進位制檔案分析提供很大的幫助。

14

PETree

專案地址:

https://github.com/blackberry/pe_tree

PETree提供在IDA中分析PE檔案格式的功能,並提供直觀漂亮的視覺化影象,以樹結構形式展示分析結果,可以幫助分析加殼或加密的惡意軟體。

15

qiling

下載地址:

https://raw.githubusercontent.com/qilingframework/qiling/dev/qiling/extensions/idaplugin/qilingida.py


qiling是一款二進位制模擬的Python外掛,在Qiling二進位制模擬框架與IDA之間架起橋樑,使得可以像在實際除錯會話中一樣檢視暫存器和堆疊。

16

Renamer

下載地址:

https://github.com/ClarotyICS/ResearchTools/tree/master/IDA/Renamer

Renamer是基於字串來重新命名函式的外掛。

17

SmartJump

專案地址:

https://github.com/PwCUK-CTO/SmartJump

SmartJump通過在除錯中解引用暫存器和記憶體的功能,將IDA自帶的“ g”快捷鍵已提供的功能新增到列表中。這樣就可以編寫出功能更強大的表示式,例如:[[rsp] + ebx,確實方便許多。