大部分的杀毒软件其内置的主动防御功能,通常考虑到用户易用性的问题,都是采用的智能HIPS拦截,也就是说内置一些HIPS拦截规则,智能判断未知运行的程序安全性。智能HIPS为了解决兼容性的问题,通常拦截规则都比较宽松,否则会弹出许多拦截提示,而且会造成误杀正常应用程序的问题,因此智能HIPS往往会对一些特殊的内核操作不进行拦截,这也给木马病毒留下了可供利用的空间。
上面提到的ByShell是通过加载驱动的方式实现恢复SSDT表的,这种方法目前已被杀毒软件所查杀,然而有许多木马开始采用了无驱方式恢复SSDT表,例如通过修改内存、发送消息等,都可让杀毒软件的HIPS主动防御功能失效。
例如有一个名为"路过主动工具"的免杀程序,这个小工具可以让目前最新的瑞星杀毒软件2010、江民杀毒软件KV2010、诺顿、卡巴斯基等主动防御功能全部失效。工具的使用很简单,点击"打开"按钮,浏览指定要进行过主动防御免杀的木马程序,确定后点击"路过一下主动"按钮,指定保存路径即可生成一个过所有杀毒软件主动防御功能的木马程序(图1)。
图1 路过主动工具#p#
运行经过处理的木马程序,瑞星杀毒软件2010、江民杀毒软件KV2010等杀毒软件的主动防御功能根本没有任何提示,木马被正常执行加载。如果查看系统SSDT表,将会发现所有挂钩的API函数已经被恢复成系统原始状态。
如果采用手工HIPS软件进行保护防御,则可以看到经过免杀的木马程序是通过直接修改物理内存的方式,实现恢复SSDT表功能的(图2)。这也说明了手工专业的HIPS软件主动防御功能,远比杀毒软件的智能HIPS防御更强。
图2 修改物理内存过主动防御#p#
完全过主动防御的木马--Poison Ivy
Poison Ivy是一款极为特殊的木马程序,它采用了特殊的ShellCode生成方式,并且可以突破各种杀毒软件和一些专业HIPS软件的主动防御功能,无声无息的运行于系统中。Poison Ivy的最新版本为2.3.2(图3),被发布于2008年,然而直到2010年,Poison Ivy的过主动防御方式依然未能被各种杀毒软件所拦截查杀,可见其生命力之强!
图3 Poison Ivy木马
Poison Ivy的功能也是极为的强大和全面,而且支持插件扩展其功能,这也使得Poison Ivy木马被广泛利用。#p#
生成木马服务端程序
运行Poison Ivy,点击菜单"File"→"New Server"命令,打开服务端生成对话框(图4)。点击"Create Profile"按钮将新建一个配置文件,在打开的对话框中输入一个配置文件名称。完成后左边项目栏中的原本灰色的按钮将被激活,然后按其排列顺序完成服务端的其它配置。
图4 创建配置文件
点击界面中的"Connection"按钮,将出现设置连接信息的界面(图5)。
图5 反弹连接设置#p#
poison ivy是一个具有反向连接的木马程序,可在"DNS/PORT"文本框中,输入正确的客户端IP地址和监听服务器端的端口。默认设置为"127.0.0.1:3460:0"以连接本机进行测试,可点击"Add"按钮添加设置(图6)。
图6 设置连接域名与端口
其它项目用于设置Poison Ivy被控端只有指定用户可进行控制和连接,可以保持默认的空设置。其中,ID项中可输入建立的用户名,在"GROUP"中输入组名,在"Password"输入连接密码。另外,可设置通过代理连接被控端。
点击"Next"按钮,进入"Install"配置项。在Install配置界面,可以指定文件名、安装到系统中的什么位置。为了突破主动防御,可选择ActiveX Key方式启动,并设置ActiveX插件名称(图7)。下方的Copy File使用默认设置即可。其中有一个特殊的选项"Copy to Alternate Data Streams",这是采用NTFS分区数据流隐藏木马,非常独特少见的一种木马隐藏方式。
图7 选择ActiveX Key启动方式可过主动防御#p#
点击Next下一步,在Advanced高级设置界面中,可以选择"key logger"启用记录键盘输入功能。在Format选项中,可以设置最终生成程序格式,一般生成PE文件格式,也可选择生成ShellCode方式。这里选择生成PE格式(图8)。
图8 点击Icon按钮
点击Next下一步按钮,点击Icon按钮,可为木马程序设置一个图标。
再点击"Generate"按钮(图9),指定木马保存路径,即可生成一个EXE格式的木马程序了。生成的木马程序体积仅有7KB,非常小巧。
图9 生成木马#p#
监听上线远程控制
当远程目标主机运行了木马程序后,就可打开客户端进行监控了。
在Poison Ivy界面中点击菜单"File"→"New Client"命令,打开生成客户端界面(图10)。在生成客户端界面的"Listen on Port"下拉框中选择建立服务端时设置的端口号,在"Password"文本框中输入建立服务端时设置的密码,或直接导入软件产生的"KEY"文件,然后点击"Start"按钮就可以开始新的监听服务。
图10 显示上线主机信息
木马上线后,在界面中会显示上线主机信息,包括远程主机IP地址、CPU、内存、系统版本等(图11)。
图11 木马上线#p#
在上线主机列表中,双击主机名,可打开控制界面,就可以进行各种远程控制了(图12)。Poison Ivy的远程控制功能很强,包括远程文件、注册表、进程、硬件设备、安装程序、窗口管理,还可查看远程端口、管理员密码和网络密码,键盘记录、声音记录、桌面与视频捕获等。
图12 远程控制功能
【编辑推荐】