背景介绍
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
*参考来源: blog.vsec ,FB小编JackFree编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.com)