当前位置: 首页 > 科技观察

恶意代码分析工具——scdbg

时间:2023-03-19 18:11:03 科技观察

什么是scdbgscdbg是一个多平台开源的Shellcode模拟分析工具。其基于libemulibrary的虚拟环境模拟了一个32位处理器、内存和基本的WindowsAPI运行环境来虚拟执行Shellcode来分析其行为。有了VirtualExecutiveMom,我再也不用担心计算机中的病毒了。其基本原理众所周知,为了实现特定的功能,shellcode必须通过调用系统API来完成——无论如何变形或加密,黑客都会调用系统API。scdbg通过模拟执行和连接200多个API来检测shellcode的行为。当然,创建文件、访问网络等危险的API实际上并没有在本机执行,而是回传虚假的返回值来欺骗shellcode,使其顺利运行。例子直接在命令行输入scdbg.exeexample.sc看输出结果:example.sc文件就是以二进制形式保存的Shellcode,我们可以看到这个shellcode调用了两个关键函数——CreateProcessA,***调用了tftp.exe程序第一次下载winapi32.exe,准备第二次执行。非常典型的下载和执行行为。有了scdbg,我们就不用再花大量时间搭建测试环境,解码shellcode,调试理解各种分支跳转,担心机器是不是被坑了。.....容易明白。scdbg和常见的命令行工具一样,有很多参数选项。这里我们只做最基本的演示,就不一一列举了。想必每个人在命令行上都有过痛苦的经历。命令行的历史就是我的血泪史。好在scdbg有GUI图形界面版本:指定偏移量,自定义参数一目了然。亮点A.跨平台开源同时支持unix和windows系统。对于执着于系统整洁的同学,大可放心在Unix下搭建环境来“鼠”shellcode。B.文档格式漏洞scdbg可以很方便地以交互的方式分析pdf、excel、word等文档格式漏洞释放的shellcode。这几类漏洞的共同点是肯定会先调用GetFileSize找到宿主文件句柄,然后进行下一步(是不是这样:)。感觉这个功能还是有很多应用场景的。命令行如下:$./scdbg-ftest.sc-fopenbad.pdf-ifopen(bad.pdf)=4d565cLoaded312bytesfromfiletest.scInitializationComplete..InteractiveHookenabled401083GetFileSize(4)=2031b401112GlobalAlloc(sz=2031b)=60000401118SetFile4,hSetFile4,hdist=0,FILE_BEGIN)401132ReadFile(hFile=4,buf=60000,numBytes=2031b)401147CreateFile(x.exe)Interactivemodelocalfile:/tmp/WHhUmhtM401158WriteFile()401176exeWinExecOtherimportant(函数内存监控-简单调试Shell-ROPshellcode分析-内存dump...资源下载WIN32可执行程序:http://sandsprite.com/CodeStuff/scdbg.zip源代码:https://github.com/dzzie/VS_LIBEMUgitclonegit://github.com/dzzie/VS_LIBEMU.git*nix/CygwinSource源码:https://github.com/dzzie/SCDBGgitclonegit://github.com/dzzie/SCDBG.git原文链接:http://www.freebuf.com/tools/16320.html