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
本文轉自d1net(轉載)