Shellcode分析非常重要。然而,靜態分析效果不佳,并且很容易失敗。另外,靜態分析工具通常不是免費的。而動態分析需要在適當的環境中,將shellcode加載到另一個進程中,通常是一個虛擬機。
PyAna原理
本文中我們將介紹一款新工具PyAna,該工具旨在使得分析shellcode更容易。PyAna使用Unicorn框架來模擬CPU,并創建一個虛擬的Windows進程,shellcode就是注入到該進程中來分析的。這使得它能夠做到自動化分析,并能夠提供一個靈活的輕量級環境,而不需要一個虛擬機。
在未來,PyAna將可以應用于其他領域的安全研究,如fuzzing或漏洞利用檢測。
使用方法
命令行類型:PyAna.py [shellcode]
例如:PyAna.py Samples/UrlDownloadToFile.sc
顯示結果報告:
依賴環境
PyAna依賴于以下環境:
1、Nguyen Anh Quynh開發的Unicorn框架和Capstone
2、Ero Carrera開發的pefile
目前功能
1、使用Unicorn綁定并以Python語言實現
2、模擬一個簡單的shellcode:calc、UrlDownloadToFile
3、Windows系統結構模擬器目前還不完整
4、一些Win32 API hook
5、僅僅支持32位
后續工作
1、支持Windows上的PE文件
2、支持拆包
3、應用到fuzzing、漏洞利用檢測方面
下載地址:
https://github.com/PyAna/PyAna