admin管理员组

文章数量:1535467

2023年12月29日发(作者:)

端口扫描器与扫描方式

10.1 扫描器与扫描方式

作为一切的开始,扫描是必须掌握的,从本章开始,我们就来看看在成功获取对方AP 的WEP或者WPA-PSK密码,并成功连接至对方的无线网络后,涉及的一些黑客渗透使用

的工具和技术。这部分内容和传统的有线网络黑客攻击技术基本一致,所以大家可以借鉴的 资料应该有很多,这里就看看一些典型的内容!当然,下述内容依然以无线攻防测试中常用 到的BackTrack4 Linux系统为例。 10.1.1 NMAP扫描器

我们先来看看全球最为强大和有名的扫描器之--NMAP。这款被评为 全球100强黑客工具之一的高级扫描器不但支持标准、隐秘及各种如FIN、NULL、Xmas 扫描,甚至还可以通过对目标IP的指定端口探测来获得其对应服务的标识信息。

此外由于这款工具是开源的,所以很多民间自发的及各种商业化的扫描工具中都能看到 其身影,比如常见的XScan、流光、Nessus等。

目前的最新版本为5.50。NMAP原来是用于UNIX系统

的命令行应用程序。自2000年 以来,这个应用程序就有了Windows版本。现在我们来学习NMAP经典的几个扫描功能。

1.判断主机是否Alive(在线)

这令功能极其有用,可以说在渗透到了内网之后,黑客都会先做的就是这一步,判断当 前网络中有哪些主机在线。由于NMAP发送的ICMP报文与Ping命令极为相似,所以下面 的命令式可以探测到防火墙后面的主机,尤其是那些没有禁止ICMP协议的软件防火墙,下 述方法成功率高达95%以上且不会引起防火墙报警,具体命令如下:

其中,-sP这就是常说的Ping扫描。

按【Enter]键后,可以看到图10-1所示的内容,其中,可以看到很多IP显示为Host is up,意思是这个IP的主机当前是开机状态,而该主机当前虽然已经安装了卡巴斯基安全套 装,但并没有提示遭到扫描。

2,端口扫描

作为扫描器最主要的功能当然是扫描端口了。NMAP支持很多种扫描方式,从常见的T 扫描、SYN半开式扫描到Null扫描、Xmas圣诞树扫描及Fin标记位扫描等,根据不同的网

络环境、不同的主机对象有着不同的选择。这里就了解一下最有效的扫描方式之---SYN 半开式扫描,具体命令如下:

参数解释:

●-vv:显示详细的扫描过程,这个是可选的。

●-sS:使用SYN半开式扫描,这个扫描方式会使得扫描结果更精确,比XScan之类

使用connect扫描方式的工具来说要准确得多。

按【Enter]键后看到的界面如图10-2所示。

若觉得上述扫描结果有些繁多不容易查看,也可以将-vv参数省略,这样将只显示结果, 如图10-3所示,会简洁很多。

3.服务版本识别

对于已经开放的端口,NMAP还支持对该端口上运行的服务进行详细判断,比如在该端 口运行的服务类型、具体版本,具体命令如下:

其中,-sV用于探测详细的服务版本号。

按【Enter]键后即可看到图10-4所示的内容,其中,53端口对应的服务就是Windows 的DNS,389端口对应的是LDAP服务。

4.操作系统判断

NMAP -个特有的功能就是可以对远程主机当前的操作系统进行判断。通过自身内置的 操作系统指纹库,能够有效地识别出绝大多数的操作系统及网络设备。由于操作系统的英文 就是OS,所以这个参数也就以大写的字母0来表明。有意思的是,这个功能被其他很多工 具所采用,如流光、XScan等。现在想起来,几年前我在主讲网络安全深入课程

的时候,有 学生还问我为什么不讲流光、XScan,而只讲NMAP,我的回答是:因为你们以前所用的很 多扫描工具的关键组件及功能都是来自NMAP的。NMAP的具体命令如下:

参数解释:

●-O:该参数主要用于对远程主机当前正在使用的操作系统进行判断,通过内置的操作系统指纹库,NMAP能够轻松地判断出目前世界上绝大多数不同类型的操作系统及网络设备。

●IP:这里的IP就是我们要扫描的主机。

如图10-5所示,在输入上述命令后,可以看到NMAP先进行了端口扫描,然后经过和内置 的操作系统指纹库匹配后,判断出该主机当前系统为Windows Server 2003 SP2,可以看到这个 结果是非常精准的,不俚给出了系统版本,甚至连当前的补丁版本也给出了。

10.1.2 Zenmap扫描器

作为NMAP的图形界面版本,Zenmap不但保持了NMAP以往的简洁风格,还增加了 扫描结果彩色化、预定义主扫描等方便新手使用的设置考虑。此外,Zenmap还内置了许多

已经设置好的参数,以便于新手直接调用。

如图10-5所示,我们在Zenmap主界面的Target(目标)文本框中输入要扫描的IP地 址或者地址段,在Profile(预定义设置)下拉列表中选择Intense scan(细化扫描),

然后单 击Scan按钮。稍等片刻后,就能看到图10-6所示的内容,可以看到,Zenmap不但扫描出 了目标当前开放的端口及对应的服务,还识别出了目标操作系统为Windows

Serrer 2003 SP2。

除了对内网的主机进行探测之外,同样地,还可以使用Zenmap对内网中是否存在无线 网络设备进行验证。图10-7所示为Zenmap工作界面,在Nmap Output扫描结果中可以看到 目标为TP-LINK WR541G无线路由器。

图10-6

10.1.3 AMAP扫描器

AMAP是一款由THC组织出品的渗透测试及安全扫描工具,其主要用于操作系统判断、 端口对应服务版本判断等。以其较为精准的结果出名,一般来说,我们可以使用NMAP先 对目标进行预扫描,查看当前开启的端口情况,然后再使用诸如AMAP这样的工具对端口 进行细化的探查。

对服务版本探查的具体命令如下:

参数解释:

●IP:预扫描的目标IP地址。

●Port:该目标IP所对应主机上开启的端口。

如图10-8所示,在对目标IP为 192.200.4.203这台主机的22端口进行细 化的探测后,成功获取到该端口上对应的 服务版本为“SSH-2.O-OpenSSH_ ”, 该版本当

前运行环境为ubuntu。

若需要对banner进行详细的探查,可 以使用-b参数,具体命令如下:

其中,-b用于例举出响应的banner内容。 如图10-9所示,可以看到,和图10-8不同的是给出了详细的banner匹配显示,同时也 成功获取到该端口上对应的服务版本为“SSH-2.O-OpenSSH_”。

图10-9

若黑客需要对全部响应的内容进行查看,也可以使用.v参数实现,具体命令如下:

其中,-v用于显示详细的交互过程。

如图10-10所示,针对lP地址为192.168.2.9、端口为80的服务进行探查,其完整的交 互过程被显示出来,可以清晰地看到其中出现的Apache的检查及匹配过程。最终判断为 ubuntuT的Apache 2.2.9版。

图10-10

10.1.4 Hping2扫描器

Hping2是一个基于命令行的TCP/IP工具,不过它并非仅仅是一个ICMP请求/响应工具, 可以发送自定义的ICMP、UDP和TCP数据包,并接收所有反馈信息。它的灵感来源于Ping 命令,但其功能远远超过Ping。它还包含一个小型的路由跟踪模块,并支持IP分段。此工 具可以在常用

工具无法对有防火墙保护的主机进行路由跟踪/Ping/探测时大显身手。在 BackTrack4中,默认已经安装好该程序。大家随意打开一个Shell,直接输入Hping2就可以 使用了。

下面看一些典型操作实例来参考学习使用该工具,具体命令如下:

参数解释:

●-A设置ACK标志位。

●一F设置FIN标志位。

●.S设置SYN标志位。

●一p port后跟端口号,指向指定端口进行探测。

具体命令的执行效果如图10- 11所示,我们先使用Ping探测192.168.7.14,发现没有返 回的报文,无法确定远程主机是否开机还是有防火墙防护。我们再使用Hping2 -F进行探测, 结果发现目标lP返回了响应,也就是说对方足开机的,但启用了防火墙。

在正常Ping的时候,目标主机上的防护墙会出现提示。图10-12所示为安装了天网防火 墙的Windows XP,在正常情况下天网拦截了所有的Ping数据包即ICMP协议报文,所以使 得发起Ping的一方将无法收到回复,也就无法确定目标主机是否开机。

图10-11

10.2 密码坡解的方法(Telnet、SSH)

由于本书并不涉及本地密码坡解的内容,所以将主要在OnlineAttack,即在线密码坡解 上讲述。在BackTrack4

Linux下,我们可以通过以下步骤查看可以使用的密码坡解类工具。 选择BackTrack—Priviliege

Escalation—PasswordAttacks- OnlineAttacks命令即在线密码破 解,就能看到所有的在线坡解工具,如图10-13所示。

图10-13

10.2.1 Hydra

Hydra,听起来是一个很奇怪的名字,不过这个名字还是有些典故的。Hydra是希腊神 话中九头蛇怪Lernaean

Hydra的名字,拥有强大的再生能力,砍掉它的一个头后就立即会在 伤口处长出两个新的头,这个名字明确表达出该工具强大的功能和攻击特性。这是由著名黑 客组织THC出品的一款可以根据需要对Samba、SMB、SSH、SMTP、Telnet、MySQL、FTP、 VNC、ICQ、Soeks5、PCNFS、Cisco等各类主流服务进行在线密码攻击尝试的工具,支持 SSL加密。作为安全审计人员及攻击者必备的一款内网测试工具,为满足不同需要,该工具 有Windows和Linux两个版本。

在其官方主页上只有一句评价A verjr fast network

logon cracker which support many different services。我想其实通过名字就已经能够说明其能力了。

下面,我们就来使用Hydra来进行内网在线密码坡解,当然,前提是要先进入这个局域 网,具体步骤如下:

打开Hydra并设置攻击目标lP。

进入到BackTrack4 Linux的图形界面,在菜单中侬次选择Backtrack - Privilege Escalation

—PasswordAttacks - OnlineAttacks命令,然后在弹出的子菜单中选择Hydra的图形版本 XHydra(也就是HydraGTK),打开后就能看到图10-14所示的界面,在Single Target文本 框中输入攻击内网目标IP。在Protocol下拉列表中选择预攻击的目标服务,这里演示的是对 内网Windows 2003主机账户的在线坡解,所以选择smb。

若想看到在线密码坡解攻击的过程,则勾选Show

Attempts复选框。

设置坡解攻击所用到的账户名及字典。

由于是对Windows 2003主机管理员的在线密码坡解,如图10-15所示,选择Passwords 选项卡,在Usemame文本框中输入Administrator,然后在Password List中选择所使用的字 典文件。当鼠标单击该栏时,会看到图10-15所示的内容。

在图10-16中选择具体的字典,这里用BT4下默认的字典,它的路径是在

/pentest/passwords/wordlists下,这个字典中包含了170

多万个常见密码。关亍其他字典的制 作以及载入,这里不再赘述,大家可以参考前面的章节。

图10-14

开始在线密码坡解攻击。

选择Start选项卡,单击Start按钮即可开始攻击。如图10-17所示,我们可以看到会有 大量的密码从字典载入,此时会出现一个较快的刷屏。

图10-16

经过几分钟的等待后,我们看到 Administrator的密码已经被成功坡解出, 如图10-18所示,密码为“009b”。

若是希望对其他服务进行在线破 解,只需要在首页面中的Protocol下拉 列表中选择即可,我们能看到大量的服 务/协议被支持,包括Cisco设备、ftp、 pop3、snmp、ssh2、ldap等,如图10-19 所示。

图10-18

10.2.2 BruteSSH

BruteSSH全称是SSH Brutefocer,目前是0.2版本。顾名思义,该工具主要用于对SSH 的在线坡解。BT4下默认已经安装,并且类似地,还有针对TFTP等其他服务的在线坡解 工具。

在BT4下初次使用时,可以在OnlineAttacks菜单中选择BruteSSH命令,或者直接输入 下述命令,能够看到具

体的参数及解释说明。

需要注意的是,上述命令需要在/pentest/passwords/brutessh目录下方运行,运行后将会

看到图10-23所示的内容。

下面,我们就使用Brutessh来对开启的SSH服务进行在线密码坡解攻击,具体命令 如下:

● 参数解释:

●-hip: ip指的是预攻击目标的IP,这里是192.200.4.25。

●一u用户名:后跟用户名称,这里是root。

●一d字典:后跟字典位置,这里使用的还是BT4下默认的字典文件。 按【Enterl键后,就能看到已经开始坡解了,如图10-24所示。

这些工具都很相似,就不再一一举例了,感兴趣的朋友可以搭建环境进行测试。不过这 些都是针对内网的在线密码坡解工具,基本上是不能对外网进行攻击测试的。

10.3缓冲区溢出

估计有的读者对缓冲区溢出还是似懂非懂吧,为了便于理解,这里举一个上课时经常用 到的例子。

缓冲区溢出好比是正常情况下,容积为1升的杯子最多只能盛1升的水,但是当我们将 3升的水倒入这个1升的杯子中时,可想而知,多出来的部分会溢出杯子,洒到桌上

甚至满 地都是。计算机也是一样,当黑客向缓冲区内填充数据,而数据长度超过了缓冲区本身的容 量后,数据就会溢出存储空间,装不下的数据则会覆盖在合法的数据上,导致程序出错乃至 崩溃,这就是缓冲区溢出原理。但是,如果缓冲区仅仅溢出,这只是一个问题。到此为止, 它还没有破坏性。但如果说能够精确地导入事先准备好的水,比如1.325升水,那么溢出来 的也就是0.325开水。

黑客用精心编写的攻击代码使得操作系统或者应用程序等出现缓冲区溢出,由于是事先 已经精确定义的,所以也将会导致黑客想要得到的结果,如死机、重启、获取Rootshell、下 载木马等。此时的系统或者程序已经完全被黑客所操纵了。

10.3.1 关于Metasploit 3

作为缓冲区溢出攻击工具,鼎鼎有名的就是Metasploit Exploitation Framework,简称为 Metasploit。目前最新版本为Metasploit 3,在BT4下默认已经安装。这款工具是免费的,最 早在2005年Black Hat全球黑客集会上公开,经过长时间的发展,已经被誉为缓冲区攻击 平台。

该工具通过加载预先制作好的缓冲区溢出代码包,定义细化的溢出种类,来达到组建多 种不同类型溢出攻击工具共存的统一攻击平台。在其网站提供了详细的参数及相关文档说 明,同时该工具提供Windows和Linux两种版本,

大家可以根据需要下载对应的安装版本按 默认安装即可。

在BackTrack4 Linux下,我们可以通过以下步骤打开Metasploit 3。选择菜单中的

Backtrack—Penetration—FrameworkVersion 3命令,就能看到Metasploit 3所有的子工具,如 图10-25所示。

10.3.2 Metasploit 3的升级

在使用前,应养成习惯先升级Metasploit 3的攻击代码库。选择图10-25所示的菜单中 的msfconsole,就可以看到当前包含的代码数量,如图10-26所示,我们可以看到“379 exploits” 的提示,即379个攻击代码。

下面开始进行升级操作,先进入到Metasploit 3的目录下,即/pentest/exploits/framework3/ 下,输入命令如下:

按【Enter]键后,稍等片刻,就能看到图10-27所示的升级界面,会有大量的文件被下 载并放置在当前目录下,我们可以在当前界面中看到具体的升级状态。

图10-27

稍等片刻后,升级完成,就会提示我们新的版本号,如图10-28所示,升级完毕后显 示“Updated to revision

7123”,即当前版本已经升级到7123,此为内部版本号。注意,升 级的时间完全取决于网络状态,快的话一两分钟即可完成。

图10-28

升级完毕后,还在当前目录下,输入./msfconsole,如图10-29所示,我们可以看到此时 的exploits数量达到了412,较刚才相比增加了33个,因此在进行测试前,应该及时升级 Metasploit的exploits库。

图10-29

升级完毕后,接下来就可以使用Metasploit 3进行溢出实战了。

10.3.3 Metasploit 3操作实战

我想大家应该都厌倦了MS08067、DNS溢出等已经被引用的烂得一塌糊涂的溢出攻击 范例,那么这里我就以其他类型的溢出来举例。我们都知道,缓冲区溢出成功后,对于不同 的服务导致的结果和危害程度也是不一样的,比如有些溢出攻击能够获取一个具有管理员权 限的Shell,如MS08067,而有的溢出则是能够导致目标服务崩溃或者重启,比如针对某些 版本的防火墙及杀毒软件,这次我们将要学习的就是此类溢出,由于Metasploit中设置的内 容基本相似,所以学会了一个就学会了所有的溢出参数设置。

下面将以Serv-U的服务停止漏洞为例。首先,确保目标主机上的Serv-U已经正常运行, 如图10-30所示。

图10-30

接下来,我们开始使用Metasploit 3进行溢出,详

细步骤如下。

先对目标进行扫描,确认开放端口及服务版本。

首先是确定目标,这里我们就使用NMAP对目标进行端口扫描,命令如下:

按【Enterl链后即可,这些命令前面已经讲过,这里不再重复,如图10-31所示。

图10-31

由图10-31可知,目标开启了21端口,那么,我们需要对该端口上开启的服务进行进 一步的确认,这里依旧使用NMAP来实现,具体命令如下:

参数解释:

●-sV:该参数用于判断服务版本。

●-p:该参数用于指定端口,后跟具体的端口号,这里即21。

@按IEnter]键后,我们可以看到图10-32所示的内容,NMAP识别出21端口对应

的FTP服务程序的版本,即“Serv-U 5.0”,对方操作系统是Windows。

图10-32

在Metasploit 3上配置攻击代码。

◇既然知道了服务版本号,现在在图10-25所示的菜单中选择msfgui,打开MetasploitGUI版本,如图10-33所

示。 图10-33

@然后依次选择Windows - FTP—servu mdtm,如图10-34所示,可以看到下方出现的描述,该攻击代码针对运行在Windows 2000/XP/2003上的Serv-U 4.0.0.4、4.1.0.0、4.1.0.3、5,0.0.0版本都有效。刚才我们查看了目标上运行的Serv-U版本是5,0,所 以可以使用该攻击代码。

图10-34

既然可以使用,那么在servu mdtm上直接右击,在弹出的快捷菜单中选择Execute命令,如图10-35所示。

◇弹出图10-36所示的对话框,选择Serv-U 5.0.0.0

,单击Forward按钮继续下一步。

图10-35 图10-36

④看到图10-37所示的内容,选择generic/debug_trap,因为默认已选择,所以保持默认即可,单击Forward按钮继续下一步。

@接下来,我们就能够看到图10-38所示的内容,在RHOST文本框中输入刚才扫描过的主机IP,这里输入192.168.2.5,其他保持默认即可,单击Forward按钮继续下一步。

◇最后,我们会看到图10-39所示的内容,这里确认之前的设置无误后,就可以单击Apple按钮进行攻击了。

图10-39

使用Metasploit 3对目标实施攻击。

在攻击过程中,如图10-40所示,在Metasploit主界面的右侧,攻击的Shell会一闪 而过。

查看攻击效果

一旦攻击数据包被成功发送,那么在遭到攻击的Serv-U服务器上,原本正常运行的服 务就会出现图10-41所示的提示,即Server is stoppedo这是由于该版本的Serv-U存在漏洞, 在遭到攻击后,服务崩溃所致。

而与此同时,安全人员在服务已被非正常停止的服务器上查看系统日志时,会看到 图10-42所示的日志内容。在日志中,提示Serv-U服务出现意外停止的情况。换句话说, 就是现在所有已经连接到该Serv-U的用户都被踢下线,包括远程的管理员。该服务必须手 动重启才可以恢复正常。

图10-41 图10-42

若是网站后台维护服务用Serv-U反复遭到这样的攻击,将严重影响到正常的更新、维 护工作。而若是企业内部的FTP资源服务器遭到此类攻击,一样会对正常的办公业务造成 不同程度的影响,而且攻击者是从无线网络进来的,基本上查找不到来源。这才是最可怕的, 现在大家都明白了吧,一旦坡解了WEP或者WPA-PSK加密,从外部连入到内部的非法用 户,其潜在威胁性非常大,中小型企业办公室和家庭用户可要引以为戒。端口扫描器与扫描方式来自:

本文标签: 攻击扫描进行服务溢出