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































