0
目前,恶意程序Trojan-Dropper.Win32.VB.jen正在广泛传播,该病毒运行后在各盘中都会创建一个autorun.inf文件,导致各盘双击或右键均无法打开,隐藏用户原有的文件夹并创建以用户原有文件夹名命名,图标为文件夹图标的.exe文件,篡改首页为http://www.redtube.com,并修改IE窗口标题为反腐字眼(STOP CORRUPTION!!!)。
一、病毒相关分析:
病毒标签:
病毒名称:Trojan-Dropper.Win32.VB.jen
病毒别名:反腐蠕虫
感染平台:Windows
病毒大小:206336 bytes
S H A 1 :f57aae6c1fbcf52be41333633fc00d2e625e31f1
加壳类型:UPX V2.00-V3.00
开发工具:Microsoft Visual Basic 5.0 / 6.0
病毒行为:
1、在各盘下创建autorun.inf,导致各盘均无法使用双击或右键打开。
2、生成以下病毒文件:
%Windir%\kagwang.exe 206,336字节
%Windir%\asifucan.exe 167,424 字节
%Windir%\details.bat 167,424 字节
%Windir%\important.mp3.scr 167,424 字节
%Windir%\important.htm.scr 167,424 字节
%Windir%\info.exe 167,424 字节
%Windir%\news.bat 167,424 字节
一、病毒相关分析:
病毒标签:
病毒名称:Trojan-Dropper.Win32.VB.jen
病毒别名:反腐蠕虫
感染平台:Windows
病毒大小:206336 bytes
S H A 1 :f57aae6c1fbcf52be41333633fc00d2e625e31f1
加壳类型:UPX V2.00-V3.00
开发工具:Microsoft Visual Basic 5.0 / 6.0
病毒行为:
1、在各盘下创建autorun.inf,导致各盘均无法使用双击或右键打开。
2、生成以下病毒文件:
%Windir%\kagwang.exe 206,336字节
%Windir%\asifucan.exe 167,424 字节
%Windir%\details.bat 167,424 字节
%Windir%\important.mp3.scr 167,424 字节
%Windir%\important.htm.scr 167,424 字节
%Windir%\info.exe 167,424 字节
%Windir%\news.bat 167,424 字节
认识USP10.dll:
USP是Unicode Scripts Processor的简称,意思就是“Unicode文字系统处理器”。它是微软开发的Windows作业系统为正确演示Unicode文字而开发的组件,系统的核心即一个名为USP10.DLL的DLL。它从Windows 2000开始连同Windows一起捆绑,Win 9x的用户在更新至Internet Explorer 5.0之后,系统亦会安装有本组件。USP的当前最新版本是随同Windows Server 2008 RTM、Windows Vista SP1等所附带的1.626.6001.18000。
USP主要包括以下的部件:
1.把文字从输入次序重排成为显示次序
2.把文字按前文后理作出适当的变换
3.按文字显示的方向作出字元的替换
虽然Uniscribe从Windows 2000开始随系统提供,但不同版本的Uniscribe对各地不同的文字有不同的支持:最初的版本只支持泰语、越南语,之后到希伯来语和阿拉伯语。从Windows XP开始支援几个主要的南亚文字及亚述语,但僧加罗语、高棉语、缅甸语及各种使用蒙古文字的语言,由于他们的具体编码方式在Windows XP推出时还未落实,因此未能正式支持。现时不少为这些语言而设计的软体,在USP10.dll未更新之前,都不能正确操作。
总结一下:
DLL文件:usp10或者usp10.dll
DLL名称:Uniscribe Unicode script processor
描述:usp10.dll是字符显示脚本应用程序接口相关文件。
属于:Uniscribe
系统 DLL文件:是
常见错误:File Not Found, Missing File, Exception Errors
USP10.dll病毒原理:
USP是Unicode Scripts Processor的简称,意思就是“Unicode文字系统处理器”。它是微软开发的Windows作业系统为正确演示Unicode文字而开发的组件,系统的核心即一个名为USP10.DLL的DLL。它从Windows 2000开始连同Windows一起捆绑,Win 9x的用户在更新至Internet Explorer 5.0之后,系统亦会安装有本组件。USP的当前最新版本是随同Windows Server 2008 RTM、Windows Vista SP1等所附带的1.626.6001.18000。
USP主要包括以下的部件:
1.把文字从输入次序重排成为显示次序
2.把文字按前文后理作出适当的变换
3.按文字显示的方向作出字元的替换
虽然Uniscribe从Windows 2000开始随系统提供,但不同版本的Uniscribe对各地不同的文字有不同的支持:最初的版本只支持泰语、越南语,之后到希伯来语和阿拉伯语。从Windows XP开始支援几个主要的南亚文字及亚述语,但僧加罗语、高棉语、缅甸语及各种使用蒙古文字的语言,由于他们的具体编码方式在Windows XP推出时还未落实,因此未能正式支持。现时不少为这些语言而设计的软体,在USP10.dll未更新之前,都不能正确操作。
总结一下:
DLL文件:usp10或者usp10.dll
DLL名称:Uniscribe Unicode script processor
描述:usp10.dll是字符显示脚本应用程序接口相关文件。
属于:Uniscribe
系统 DLL文件:是
常见错误:File Not Found, Missing File, Exception Errors
USP10.dll病毒原理:
作者:螺螺
科普文,牛人请绕道,谢谢。
ms07029和ms08067这两个NB漏洞都使用ret-into-libc方法来绕过DEP数据执行保护,首先来科普下什么是ret-into- libc,一般的栈溢出控制eip后通过一些op code来跳到栈里执行shellcode,但是开启了数据执行保护的话,这种方法就不行了,那么我们只能控制eip往可以执行的地方跳,我们只能在可执 行的地方找到符合我们要求的指令,来帮我们干活,干完活后我们还需要收回控制权,那么在干活指令后必须有一个ret(n),这样我们才有可能继续控制流程 跳转到另一个地方去干下一个活,理论上,通过构造stack frame也能完成shellcode的功能。但是这只是理论上说,谁也不会傻到整个shellcode通过stack frame跳来跳去来实现,一般只是利用这个技巧去执行ZwSetInformationProcess函数来关闭DEP,然后ret(n)回去用普通的 办法执行shellcode。
科普完来到正题,以ms08067为例子,XP上可以通过上述方法来关闭DEP,但是SP2 CHS和SP3 CHS的跳转地址不一样,那么如何实现通用呢,仔细想想如果我们能利用ret-to-libc先跳到一个地址,假设这个地址在SP2系统上是 pop/pop/pop/.../ret,在SP3系统上是pop/pop/pop/pop/.../ret,只要SP2和SP3上pop的次数不一致导 致ret的时候esp不一致,那么就可以通过构造stack frame来分别跳转到各自系统的地址。有了这样一个大胆的假设后,我们需要小心的求证,随便一搜发现这样的地址很多,但是符合ms08067的具体情况 不异常的就难找了,尝试了多个地址后,功夫不负有心人,找到了一个符合要求且满足ms08067漏洞的特殊要求的地址,实现了SP2 CHS和SP3 CHS的Bypass DEP的Exp的通用,相关构造代码如下(XP其他语言版本可以用类似方法):
科普文,牛人请绕道,谢谢。
ms07029和ms08067这两个NB漏洞都使用ret-into-libc方法来绕过DEP数据执行保护,首先来科普下什么是ret-into- libc,一般的栈溢出控制eip后通过一些op code来跳到栈里执行shellcode,但是开启了数据执行保护的话,这种方法就不行了,那么我们只能控制eip往可以执行的地方跳,我们只能在可执 行的地方找到符合我们要求的指令,来帮我们干活,干完活后我们还需要收回控制权,那么在干活指令后必须有一个ret(n),这样我们才有可能继续控制流程 跳转到另一个地方去干下一个活,理论上,通过构造stack frame也能完成shellcode的功能。但是这只是理论上说,谁也不会傻到整个shellcode通过stack frame跳来跳去来实现,一般只是利用这个技巧去执行ZwSetInformationProcess函数来关闭DEP,然后ret(n)回去用普通的 办法执行shellcode。
科普完来到正题,以ms08067为例子,XP上可以通过上述方法来关闭DEP,但是SP2 CHS和SP3 CHS的跳转地址不一样,那么如何实现通用呢,仔细想想如果我们能利用ret-to-libc先跳到一个地址,假设这个地址在SP2系统上是 pop/pop/pop/.../ret,在SP3系统上是pop/pop/pop/pop/.../ret,只要SP2和SP3上pop的次数不一致导 致ret的时候esp不一致,那么就可以通过构造stack frame来分别跳转到各自系统的地址。有了这样一个大胆的假设后,我们需要小心的求证,随便一搜发现这样的地址很多,但是符合ms08067的具体情况 不异常的就难找了,尝试了多个地址后,功夫不负有心人,找到了一个符合要求且满足ms08067漏洞的特殊要求的地址,实现了SP2 CHS和SP3 CHS的Bypass DEP的Exp的通用,相关构造代码如下(XP其他语言版本可以用类似方法):
Author: wzt
EMail: wzt@xsec.org
Site: http://www.xsec.org & http://hi.baidu.com/wzt85
Date: 2008-6-13
一. 绪 论
二. X86的硬件寻址方法
三. 内核对页表的设置
四. 实例分析映射机制
一. 绪 论
我们经常在程序的反汇编代码中看到一些类似0x32118965这样的地址,操作系统中称为线性地址,或虚拟地址。虚拟地址有什么用?虚拟地址又是如何转换为物理内存地址的呢?本章将对此作一个简要阐述。
1.1 Linux内存寻址概述
现代意义上的操作系统都处于32位保护模式下。每个进程一般都能寻址4G的物理空间。但是我们的物理内存一般都是几百M,进程怎么能获得4G的物理空间呢?这就是使用了虚拟地址的好处,通常我们使用一种叫做虚拟内存的技术来实现,因为可以使用硬盘中的一部分来当作内存使用。例外一点现在操作系统都划分为系统空间和用户空间,使用虚拟地址可以很好的保护内核空间被用户空间破坏。
对于虚拟地址如何转为物理地址,这个转换过程有操作系统和CPU共同完成. 操作系统为CPU设置好页表。CPU通过MMU单元进行地址转换。
EMail: wzt@xsec.org
Site: http://www.xsec.org & http://hi.baidu.com/wzt85
Date: 2008-6-13
一. 绪 论
二. X86的硬件寻址方法
三. 内核对页表的设置
四. 实例分析映射机制
一. 绪 论
我们经常在程序的反汇编代码中看到一些类似0x32118965这样的地址,操作系统中称为线性地址,或虚拟地址。虚拟地址有什么用?虚拟地址又是如何转换为物理内存地址的呢?本章将对此作一个简要阐述。
1.1 Linux内存寻址概述
现代意义上的操作系统都处于32位保护模式下。每个进程一般都能寻址4G的物理空间。但是我们的物理内存一般都是几百M,进程怎么能获得4G的物理空间呢?这就是使用了虚拟地址的好处,通常我们使用一种叫做虚拟内存的技术来实现,因为可以使用硬盘中的一部分来当作内存使用。例外一点现在操作系统都划分为系统空间和用户空间,使用虚拟地址可以很好的保护内核空间被用户空间破坏。
对于虚拟地址如何转为物理地址,这个转换过程有操作系统和CPU共同完成. 操作系统为CPU设置好页表。CPU通过MMU单元进行地址转换。
公司禁用U盘和移动硬盘的原因多种多样,最响亮的原因就是防止员工带走机密资料,在这里我提供一种不用专业软件的小技巧给大家,因为你的老板永远相信“自己能解决的事,别花钱”。
方法一,BIOS设置法(快刀斩乱麻法)
进入BIOS设置,选择“Integrated Peripherals”选项,展开后将“USB 1.1 Controller”和“USB 2.0 Contr01ler”选项的属性设置为“Disableed”,即可禁用USB接口。最后别忘记给BIOS设置上一个密码,这样他人就无法通过修改注册表解“锁”上述设备了。
注意:这个方法是完全禁止了USB接口,也就是说各种USB接口的设备均不能用了,当然也包括了U盘和移动盘。由于此发过于霸道,请慎用。
方法二,禁止闪盘或移动硬盘的启动(适用于Windows XP/2000/2003)
打开注册表编辑器,依次展开如下分支[HKEY_LOCAL_MACHINE\SYSTEM\CurrentCntrolSet\Services\USBSTOR],在右侧的窗格中找到名为“Start”的DWORD值,双击,在弹出的编辑对话框中将其数值数据修改为十六位进制数值“4”。点“确定”按钮并关闭注册表编辑器,重新启动计算机,使设置生效。重启后,当有人将USB存储设备连接到计算机时,虽然USB设备上的指示灯在正常闪烁,但在资源管理器当中就是无法找到其盘符,因此也就无法使用USB设备了。
方法三,隐藏盘符和禁止查看(适用于Windows系统)
打开注册表编辑器,依次展开如下分支[HKEY_CURRENT_USER\software\Microsoft\Windows\CurrentVersion\Ploicies\Explorer],新建二进制值“NoDrives”,其缺省值均是00 00 00 00,表示不隐藏任何驱动器。键值由四个字节组成,每个字节的每一位(bit)对应从A:到Z:的一个盘,当相应位为1时,“我的电脑”中相应的驱动器就被隐藏了。第一个字节代表从A到H的8个盘,即01为A,02为B,04为C……依次类推,第二个字节代表I到P,第三个字节代表Q到X,第四个字节代表Y和Z。比如要关闭C盘,将键值改为04 00 00 00;要关闭D盘,则改为08 00 00 00,若要关闭C盘和D盘,则改为0C 00 00 00(C是十六进制,转成十进制就是12)。
方法一,BIOS设置法(快刀斩乱麻法)
进入BIOS设置,选择“Integrated Peripherals”选项,展开后将“USB 1.1 Controller”和“USB 2.0 Contr01ler”选项的属性设置为“Disableed”,即可禁用USB接口。最后别忘记给BIOS设置上一个密码,这样他人就无法通过修改注册表解“锁”上述设备了。
注意:这个方法是完全禁止了USB接口,也就是说各种USB接口的设备均不能用了,当然也包括了U盘和移动盘。由于此发过于霸道,请慎用。
方法二,禁止闪盘或移动硬盘的启动(适用于Windows XP/2000/2003)
打开注册表编辑器,依次展开如下分支[HKEY_LOCAL_MACHINE\SYSTEM\CurrentCntrolSet\Services\USBSTOR],在右侧的窗格中找到名为“Start”的DWORD值,双击,在弹出的编辑对话框中将其数值数据修改为十六位进制数值“4”。点“确定”按钮并关闭注册表编辑器,重新启动计算机,使设置生效。重启后,当有人将USB存储设备连接到计算机时,虽然USB设备上的指示灯在正常闪烁,但在资源管理器当中就是无法找到其盘符,因此也就无法使用USB设备了。
方法三,隐藏盘符和禁止查看(适用于Windows系统)
打开注册表编辑器,依次展开如下分支[HKEY_CURRENT_USER\software\Microsoft\Windows\CurrentVersion\Ploicies\Explorer],新建二进制值“NoDrives”,其缺省值均是00 00 00 00,表示不隐藏任何驱动器。键值由四个字节组成,每个字节的每一位(bit)对应从A:到Z:的一个盘,当相应位为1时,“我的电脑”中相应的驱动器就被隐藏了。第一个字节代表从A到H的8个盘,即01为A,02为B,04为C……依次类推,第二个字节代表I到P,第三个字节代表Q到X,第四个字节代表Y和Z。比如要关闭C盘,将键值改为04 00 00 00;要关闭D盘,则改为08 00 00 00,若要关闭C盘和D盘,则改为0C 00 00 00(C是十六进制,转成十进制就是12)。




2009/03/25
21:38
132






