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