站长天空|站长|服务器|安全|程序|SEO|工具

当前位置: 主页 > 程序语言 > ASP/.NET/VB > VB >

adsutil.vbs自制后门教程(2)

时间:2012-10-12 12:15来源: 作者:小糊涂神 点击:
取到之后把自己的ISAPI路径也加进去。 adsutil.vbs set /W3SVC/InProcessIsapiApps C:\WINNT\System32\idq.dll C:\WINNT\System32\inetsrv\httpext.dll ScriptMaps的设定同InProcessIsapiApps。 当然这样比较麻烦,也无法写入0x08这样的键值,所以我干脆自己

取到之后把自己的ISAPI路径也加进去。
 adsutil.vbs set /W3SVC/InProcessIsapiApps "C:\WINNT\System32\idq.dll" "C:\WINNT\System32\inetsrv\httpext.dll" ………………
 
 scriptMaps的设定同InProcessIsapiApps。
 
 当然这样比较麻烦,也无法写入0x08这样的键值,所以我干脆自己写个VBS一次性搞定。至于那个做后门的ISAPI,能实现的功能就完全取决于想象力了。这里是一个简单例子的屏幕拷贝:
 
 # nc 10.11.0.26 80
 POST /%08/anything.tom
 
 Microsoft Windows 2000 [Version 5.00.2195]
 (C) 版权所有 1985-1998 Microsoft Corp.
 
 C:\WINNT\system32>whoami
 NT AUTHORITY\SYSTEM
 
 C:\WINNT\system32>exit
 HTTP/1.1 200 OK
 Server: Microsoft-IIS/5.0
 Date: Wed, 08 Jan 2003 06:49:37 GMT
 
 
 更隐蔽的方法是写一个特殊的ISAPI,并注册为解析asp的。通常情况下,该程序把收到的请求转给系统原来的asp.dll,并把结果返回,当收到一个特殊POST请求时就启动自己的后门代码,这样日志里面也不会有什么显示。审核时也很难发现。
 
 除了上面所述利用脚本映射的方法外,还可以赋予某个虚拟目录AccessWrite和AccessExecute权限。需要运行后门的时候利用WEBDAV上载ISAPI,然后运行,使用完了再删除。(是否能删除?还是需要restart W3SVC ?我没有试验。)如果上载的不是DLL而是EXE文件,那么把该目录下的CreateProcessAsUser设为0也可以获得local system权限,这个方法早有人撰文论述。但AccessWrite和AccessExecute的改变都可以在“intenet服务管理器”中看出来,隐蔽性就差了。
 
 2.具体实现:
 方法1.
 我们知道,asp脚本是由C:\WINNT\system32\inetsrv目录下面的asp.dll文件解释执行的。默认的,asp.dll不在数组InProcessIsapiApps中,所以asp.dll是由svchost.exe派生的dllhost.exe进程启动的,运行的身份是IWAM_NAME。那么,如果我们手动将asp.dll文件加入到数组InProcessIsapiApps中,asp.dll岂不是由inetinfo.exe直接启动,继承inetinfo.exe的local system权限,以至于我们得到system权限的后门?对,就这样!
 
 在C:\Inetpub\Adminscripts目录有个文件adsutil.vbs,它就是修改iis的配置用的,我们先查看数组InProcessIsapiApps中有哪些isapi,注意我用红线框出的地方,这个地方要注意别写错了~还有,看第一行有idq.dll吧,所以以前的那个idq溢出得到的是system权限,呵。好了,现在我们把asp.dll也加进去,注意:这个数组不能够修改,只能够覆盖,所以记得把所有的一起加进去,看我怎么做的,
 
 看最后面,有asp.dll了吧?这样,所有的asp脚本都是以system权限运行的了~~这样的后门够隐蔽吧?看看我的asp后门运行结果?
 
 方法2
 第四种方法,这种方法是最困难的,但是也是最隐蔽的一种。在IIS的配置文件MetaBase.bin中有scriptMaps键,即脚本映射。在某个目录下设定该值后,则向该目录请求的特定扩展名的文件会交给指定的ISAPI执行。这样,只要创建一个特定扩展名的脚本映射,比如china,呵呵,指向一个特殊的ISAPI,并把该ISAPI添加到InProcessIsapiApps数组中。那么向服务器请求该扩展名类型文件时就会在服务器上以local system权限执行该ISAPI。我刚学写程序,还没有这种实力写个dll文件运行,幸好已经有高手摆平了~,听envymask说安全焦点http://www.xfocus.net)的isno写了个iisapi.dll文件,能够得到shell,并且envymask为这个dll写了个安装批处理,有兴趣的可以去envymask的主页下载,地址是envymask.3322.org,他可是脚本狂呀…去我的烂叶子也可以,我特地也放了个。这个后门确实比较阴险,也难以查出来,而且可以突破防火墙的封锁,因为他利用的是80端口,一个网站,80端口总是要开的呀!
 
 3.adsutil.vbs的其他知识:
 
 有关《Windows2000IIS 管理实用程序Adsutil.vbs使用方法》自己重新使了使,后来想想在Admins cripts文件下,还有许多的VBS工具呢,不如也研究研究余下的19个工具吧。闲着也闲着,呵呵,这不好记性不如烂键盘,还是记下的好!
 
 配置目录的存取权限
 C:\Inetpub\Admins cripts>chaccess.vbs -a w3svc/1/ROOT -verbose
 Usage: chaccess <--ADSPath|-a ADSPATH> 控制配置路径
 [--computer|-c COMPUTER1[,COMPUTER2...]]指定机器名,IP也可。
 [+read|-read] 主目录下的读取权限
 [+write|-write]主目录下的写入权限
 [+s cript|-s cript]主目录下的执行许可权限为纯脚本
 [+execute|-execute]主目录下的执行许可权限为脚本和可执行程序
 [+browse|-browse]主目录下的目录浏览权限
 [--verbose|-v]当前版本
 [--help|-?]
 
 显示指定路径的属性及状态信息
 C:\Inetpub\Admins cripts>dispnode help
 Usage: dispnode <--ADSPath|-a ADS PATH OF NODE> [--help|-h]
 ADS PATH - The Path of the node to be displayed
 Example 1: dispnode -a IIS://LocalHost/w3svc显示当前IIS的主属性
 Example 2: dispnode --adspath IIS://MachineName/w3svc/1 显示当前站点的状态信息
 寻找命名的Web,并显示节点号、描述、主机名、端口和IP地址
 C:\Inetpub\Admins cripts>findweb
 Web Site Number = 1
 Web Site Des cription = 默认 Web 站点
 Hostname =
 Port = 80
 IP Address =

(责任编辑:小糊涂神)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容