什么是scdbg
scdbg是一款多服务平台开源系统的Shellcode模拟运作、分析工具。其根据libemulibrary搭建的虚拟环境,通过模拟32位CPU、运行内存和基本上Windows API软件环境来虚似执行Shellcode以研究其个人行为。拥有虚似执行母亲再也不需要害怕我的电脑中毒了。
基本概念
大家都知道,shellcode为了更好地完成特殊的作用务必根据调用系统API来进行-无论此前怎如何形变如何数据加密***都是会调用系统API。scdbg便是根据模拟执行及其hook高达200好几个API来检测shellcode的个人行为。自然例如创建文件和浏览互联网这种风险的API并没真正意义上的在远程服务器执行,反而是根据传到虚报的传参来蒙骗shellcode让其稳定运作。
实例
立即命令行键入scdbg.exe example.sc 一起来看看輸出:
在其中example.sc文档便是以二进制方式储存的Shellcode,我们可以见到这一段shellcode调用了2次较重要的函数公式-CreateProcessA,***次调用tftp.exe程序流程下载winapi32.exe,第二次提前准备执行之。很经典的免费下载并执行个人行为。拥有scdbg大家就不要花许多的时间在搭建接口测试、编解码shellcode、调节了解各种各样发枝自动跳转、担忧设备是不是有没有中招。。。。。。简洁明了。
scdbg和通常的命令行专用工具一样,拥有诸多主要参数选择项,这儿只做最主要的演试,也不一一列举。想来各位都是有在命令行下痛楚的历经,命令行的历史时间便是我等凉拌菜的辛酸史,还好scdbg有GUI用户界面版:
特定偏位,自定主要参数一目了然。
闪光点
A. 混合开发开源系统
与此同时适用unix和windows系统。对有系统洁癖症的朋友而言可以安心在unix下搭建自然环境“戏弄”shellcode了。
B.文本文档类文件格式系统漏洞
scdbg能非常容易根据交互技术剖析例如pdf,excel,word等文本文档类系统漏洞释放出的shellcode。这类系统漏洞的相同之处便是最先毫无疑问会根据调用GetFileSize寻找寄主文
件句柄随后开展下一步实际操作(是如此的吧:)。觉得此项作用或是有很多应用领域的,命令行如下所示:
$ ./scdbg -f test.sc -fopen bad.pdf -i fopen(bad.pdf) = 4d565c Loaded 312 bytes from file test.sc Initialization Complete.. Interactive Hooks enabled 401083 GetFileSize(4) = 2031b 401112 GlobalAlloc(sz=2031b) = 60000 401118 SetFilePointer(hFile=4, dist=0, FILE_BEGIN) 401132 ReadFile(hFile=4, buf=60000, numBytes=2031b) 401147 CreateFile(x.exe) Interactive mode local file: /tmp/WHhUmhtM 401158 WriteFile() 401176 WinExec(x.exe)别的关键作用
运行内存监控-简易调节Shell-ROPshellcode剖析-运行内存dump。。。。。。
资源分享
WIN32
可执行程序流程: http://sandsprite.com/CodeStuff/scdbg.zip
源码:https://github.com/dzzie/VS_LIBEMU
git clone git://github.com/dzzie/VS_LIBEMU.git
*nix/Cygwin Source
源代码 : https://github.com/dzzie/SCDBG
git clone git://github.com/dzzie/SCDBG.git