二、常见网络安全软件简介
Local Port Scanner
本地端口扫描器:通过这个软件可以监测本地电脑被打开的端口。此软件可以监测大多数黑客入侵或者木马占用的端口,它有五种不同的扫描方式并可以获得有关端口的详细扫描信息。
软件下载地址:http://24.8.193.241/1515/Anti-Hacker/lps.exe
Win Trinoo Server Sniper
清除Win.Trinoo Server程序:Win.Trinoo是一个类似DOS攻击的木马程序,被植入它的电脑将变成一台Win.Trinoo Server,黑客通过这个Server能够“借刀杀人”攻击其他电脑系统。Win Trinoo Server Sniper可以高速的监测电脑是否存在此问题。
软件下载地址:http://24.8.193.241/1515/Anti-Hacker/trinooss.zip
SubSeven Server Sniper
清除SubSeven Server程序:同上面的工具一样,SubSeven也是一个木马程序,而SubSeven Server Sniper则是用来检测并清除SubSeven而设计的。不同的是,这个软件不但可以清楚SubSeven,而且还能搜集攻击者在您电脑中留下的蛛丝马迹,找到攻击者的ICQ号码、email地址等内容,从而为反跟踪提供了详尽的信息。
软件下载地址:http://24.8.193.241/1515/Anti-Hacker/s7sniper.zip
Isecure IP Scanner
netbios共享扫描器:黑客利用netbios的共享可以进入存在问题的电脑并对硬盘进行操作,同时还可以获得入侵电脑上的隐私资料。这个扫描器就是专门为防止此类事件发生开发的,运行软件会自动扫描目标并报告有关资料。
软件下载地址:http://24.8.193.241/1515/Anti-Hacker/isis.exe
AnalogX Port Blocker
端口屏蔽程序:当使用者的电脑上开放某个端口的时候,任何人都可以通过其开放端口访问相应资源,而AnalogX Port Blocker可以屏蔽某个端口,或者设置特殊IP地址禁止对指定端口的请求,这从一定程度上方便了程序调试人员为在本地系统上从事软件的测试工作。
软件下载地址:http://24.8.193.241/1515/Anti-Hacker/pblocki.exe
Tambu Dummy Server
端口屏蔽程序:这个工具同上面一个程序的功能是一样的,不过不同的是,这个工具是基于控制台模式,更加适合于高手。
软件下载地址:http://24.8.193.241/1515/Anti-Hacker/tambu_dummy_server.zip
Pinging www.abc.com [204.202.136.32] with 32 bytes of data:
Reply from 204.202.136.32: bytes=32 time=302ms TTL=240
Reply from 204.202.136.32: bytes=32 time=357ms TTL=240
Reply from 204.202.136.32: bytes=32 time=288ms TTL=240
Reply from 204.202.136.32: bytes=32 time=274ms TTL=240
Ping statistics for 204.202.136.32:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 274ms, Maximum = 357ms, Average = 305ms
这些信息的意思是:www.abc.com的IP 地址是204.202.136.32,对他发送了四次数据包,数据包的大小是32字节,每一次返回的时间分别是302ms、357ms、288ms、 274ms。综合看,发送了四个数据包全部返回,最小时间是274ms,最大时间357ms,他们的平均时间是305ms。
这样黑客就了解了连接对方服务器使用的时间。另外这个命令还有一些特殊的用法,例如可以通过IP地址反查服务器的NetBIOS名,现在以 211.100.8.87为例,使用ping配合“-a”,在控制台下输入命令ping -a 211.100.8.87,它的返回结果是:
Pinging POPNET-FBZ9JDFV [211.100.8.87] with 32 bytes of data:
Reply from 211.100.8.87: bytes=32 time=96ms TTL=120
Reply from 211.100.8.87: bytes=32 time=110ms TTL=120
Reply from 211.100.8.87: bytes=32 time=110ms TTL=120
Reply from 211.100.8.87: bytes=32 time=109ms TTL=120
Ping statistics for 211.100.8.87:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 96ms, Maximum = 110ms, Average = 106ms
从这个结果会知道服务器的NetBIOS名称是POPNET-FBZ9JDFV。另外在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,例如上面的www.abc.com返回的TTL是240,对方的系统很可能是Linux,而第二个目标的TTL是120,那么说明它使用的系统也许是Windows。
另外ping还有很多灵活的应用,我不在这里过多的介绍,读者请另行查阅此命令相关帮助文件。
二、net命令:
NET命令是很多网络命令的集合,在Windows ME/NT/2000内,很多网络功能都是以net命令为开始的,通过net help可以看到这些命令的详细介绍:
NET CONFIG 显示系统网络设置
NET DIAG 运行MS的DIAGNOSTICS程序显示网络的DIAGNOSTIC信息
NET HELP 显示帮助信息
NET INIT 不通过绑定来加载协议或网卡驱动
NET LOGOFF 断开连接的共享资源
NET LOGON 在WORKGROUP中登陆
NET PASSWORD 改变系统登陆密码
NET PRINT 显示或控制打印作业及打印队列
NET START 启动服务,或显示已启动服务的列表
NET STOP 停止网络服务
NET TIME 使计算机的时钟与另一台计算机或域的时间同步
NET USE 连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息
NET VER 显示局域网内正在使用的网络连接类型和信息
NET VIEW 显示域列表、计算机列表或指定计算机的共享资源列表
这些命令在Win95/98中支持的比较少,只有几个基本常见的,而在NT或者2000中又元元多于上面的介绍,不过大多数对于初学者也没有必要掌握,所以我选择了WindowsME进行介绍,其中最常用到的是NET VIEW和NET USE,通过者两个命令,学习者可以连接网络上开放了远程共享的系统,并且获得资料。这种远程共享本来是为便捷操作设计的,但是很多网络管理员忽视了它的安全性,所以造成了很多不应该共享的信息的暴露,对于学习者来说,则可以轻易获得它人电脑上的隐私资料。
例如在控制台下输入net view //202.96.50.24则可以获得对应IP的系统共享目录,进而找到他们的共享文件,当然这需要202.96.50.24系统的确存在共享目录,具体如何找到这些存在共享的系统,我将会在后面的文章中进行介绍。
三、telnet和ftp命令:
这两个命令分别可以远程对系统进行telnet登陆和ftp登陆,两种登陆使用的不同的协议,分别属于两种不同的网络服务,ftp是远程文件共享服务,也就是说学习者可以将自己的资料上传、下载,但是它并没有过多的权利,无法在远程电脑上执行上传的文件;而telnet则属于远程登陆服务,也就是说可以登陆到远程系统上,并获得一个解释器权限,拥有解释器就意味着拥有了一定的权限,这种权限可能是基本的文件操作、也可能是可以控制系统的管理员权限。
四、netstat命令:
这个程序有助于我们了解网络的整体使用情况。它可以显示当前正在活动的网络连接的详细信息,如采用的协议类型、当前主机与远端相连主机(一个或多个)的IP地址以及它们之间的连接状态等。 使用netstat ?可以显示它的命令格式和参数说明:
netstat [-a] [-e] [-n] [-s] [-p proto] [-r] [interval] 其中的参数说明如下:
-a 显示所有主机的端口号;
-e 显示以太网统计信息;
-n 以数字表格形式显示地址和端口;
-p proto 显示特定的协议的具体使用信息;
-r 显示本机路由表的内容;
-s 显示每个协议的使用状态(包括TCP、UDP、IP);
interval 重新显示所选的状态,每次显示之间的间隔数(单位秒)。
netstat命令的主要用途是检测本地系统开放的端口,这样做可以了解自己的系统开放了什么服务、还可以初步推断系统是否存在木马,因为常见的网络服务开放的默认端口轻易不会被木马占用,例如:用于FTP(文件传输协议)的端口是21;用于TELNET(远程登录协议)的端口是23;用于SMTP(邮件传输协议)的端口是25;用于DNS(域名服务,即域名与IP之间的转换)的端口是53;用于HTTP(超文本传输协议)的端口是80;用于POP3(电子邮件的一种接收协议)的端口是110;WINDOWS中开放的端口是139,除此以外,如果系统中还有其他陌生的到口,就可能是木马程序使用的了。通过 netstat或者netstat -a可以观察开放的端口,如果发现下面的端口,就说明已经有木马程序在系统中存在:
31337号端口是BackOffice木马的默认端口;1999是Yai木马程序;2140或者3150都是DEEP THROAT木马使用的端口;还有NETBUS、冰河或者SUB7等木马程序都可以自定义端口,因此发现了陌生端口一定要提高警惕,使用防火墙或者查病毒软件进行检测。
五、tracert命令:
这个命令的功能是判定数据包到达目的主机所经过的路径、显示数据包经过的中继节点清单和到达时间。tracert命令的格式如下:
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
命令行中的参数-d是要求tracert不对主机名进行解析,-h是指定搜索到目的地址的最大轮数,-j的功能是沿着主机列表释放源路由,-w用来设置超时时间间隔。
通过tracert可以判断一个服务器是属于国内还是国际(网络服务器的物理未知不能依靠域名进行判断),根据路由路经可以判断信息从自己的系统发送到网络上,先后经过了哪些IP到大对方服务器,这就好像乘公共汽车的时候从起点出发到达终点站的时候,中途会出现很多路牌一个道理,我们清楚了自己的信息的传送路径,才能够更清晰的了解网络、对服务器进行攻击。
六、winipcfg:
winipcfg和ipconfig都是用来显示主机内IP协议的配置信息。只是winipcfg适用于Windows 95/98,而ipconfig适用于Windows NT。winipcfg不使用参数,直接运行它,它就会采用Windows窗口的形式显示具体信息。这些信息包括:网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,点击其中的“其他信息”,还可以查看主机的相关信息如:主机名、DNS服务器、节点类型等。其中网络适配器的物理地址在检测网络错误时非常有用。
ipconfig的命令格式如下:ipconfig [/? | /all | /release [adapter] | /renew [adapter]]
其中的参数说明如下:
使用不带参数的ipconfig命令可以得到以下信息:IP地址、子网掩码、默认网关。而使用ipconfig
/? 显示ipconfig的格式和参数的英文说明;
/all 显示所有的配置信息;
/release 为指定的适配器(或全部适配器)释放IP地址(只适用于DHCP);
/renew 为指定的适配器(或全部适配器)更新IP地址(只适用于DHCP)。
/all,则可以得到更多的信息:主机名、DNS服务器、节点类型、网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等。
第二节、扫描器
一、扫描器的使用:
这里我使用x-scanner作为介绍对象,原因是x-scanner集成了多种扫描功能于一身,它可以采用多线程方式对指定IP地址段(或独立IP地址)进行安全漏洞扫描,提供了图形界面和命令行两种操作方式,扫描内容包括:标准端口状态及端口banner信息、CGI漏洞、RPC漏洞、SQL- SERVER默认帐户、FTP弱口令,NT主机共享信息、用户信息、组信息、NT主机弱口令用户等。扫描结果保存在/log/目录中, index_*.htm为扫描结果索引文件。对于一些已知的CGI和RPC漏洞,x-scanner给出了相应的漏洞描述、利用程序及解决方案,节省了查找漏洞介绍的时间。
首先x-scanner包括了两个运行程序:xscann.exe和xscan_gui.exe,这两个程序分别是扫描器的控制台版本和窗口版本,作为初学者可能更容易接受窗口版本的扫描软件,因为毕竟初学者使用最多的还是“应用程序”,无论运行那一个版本,他们的功能都是一样的。首先让我们运行窗口版本看看:窗口分为左右两部分,左面是进行扫描的类型,这包括前面提到的漏洞扫描、端口扫描等基本内容;另一部分是有关扫描范围的设定,xscanner可以支持对多个IP地址的扫描,也就是说使用者可以利用xscanner成批扫描多个IP地址,例如在IP地址范围内输入211.100.8.1- 211.100.8.255就会扫描整个C类的255台服务器(如果存在的话),这样黑客可以针对某一个漏洞进行搜索,找到大范围内所有存在某个漏洞的服务器。当然如果只输入一个IP地址,扫描程序将针对单独IP进行扫描。
剩下的端口设定在前面已经介绍过,一般对于网站服务器,这个端口选取80或者8080,对于某些特殊的服务器也许还有特殊的端口号,那需要通过端口扫描进行寻找。多线程扫描是这个扫描器的一大特色,所谓多线程就是说同时在本地系统开辟多个socket连接,在同一时间内扫描多个服务器,这样做的好处是提高了扫描速度,节省时间,根据系统的资源配置高低,线程数字也可以自行设定(设定太高容易造成系统崩溃)。
在图形界面下我们看到了程序连接地址“./xscan.exe”,这实际上就是xscanner的控制台程序,也就是说图形窗口只是将控制台扫描器的有关参数设置做了“傻瓜化”处理,程序运行真正执行的还是控制台程序。因此学习控制台是黑客所必需的,而且使用控制台模式的程序也是真正黑客喜爱的操作方式。
现在我们进行一个简单的cgi漏洞扫描,这次演练是在控制台模式下进行的:xscan 211.100.8.87 -port
这个命令的意思是让xscanner扫描服务器211.100.8.87的开放端口,扫描器不会对65535个端口全部进行扫描(太慢),它只会检测网络上最常用的几百个端口,而且每一个端口对应的网络服务在扫描器中都已经做过定义,从最后返回的结果很容易了解服务器运行了什么网络服务。扫描结果显示如下:
Initialize dynamic library succeed.
Scanning 211.100.8.87 ......
[211.100.8.87]: Scaning port state ...
[211.100.8.87]: Port 21 is listening!!!
[211.100.8.87]: Port 25 is listening!!!
[211.100.8.87]: Port 53 is listening!!!
[211.100.8.87]: Port 79 is listening!!!
[211.100.8.87]: Port 80 is listening!!!
[211.100.8.87]: Port 110 is listening!!!
[211.100.8.87]: Port 3389 is listening!!!
[211.100.8.87]: Port scan completed, found 7.
[211.100.8.87]: All done.
这个结果还会同时在log目录下生成一个html文档,阅读文档可以了解发放的端口对应的服务项目。从结果中看到,这台服务器公开放了七个端口,主要有 21端口用于文件传输、80端口用于网页浏览、还有110端口用于pop3电子邮件,如此一来,我们就可以进行有关服务的漏洞扫描了。
然后可以使用浏览看看这个服务器到底是做什么的,通过浏览发现原来这是一家报社的电子版面,这样黑客可以继续对服务器进行漏洞扫描查找服务器上是否存在perl漏洞,之后进行进一步进攻。
漏洞扫描的道理和端口扫描基本上类似,例如我们可以通过扫描器查找61.135.50.1到61.135.50.255这255台服务器上所有开放了80 端口的服务器上是否存在漏洞,并且找到存在什么漏洞,则可以使用xscan 61.135.50.1-61.135.50.255 -cgi进行扫描,因为结果比较多,通过控制台很难阅读,这个时候xscanner会在log下生成多个html的中文说明,进行阅读这些文档比较方便。
二、扫描器使用问题:
载使用漏洞扫描器的过程中,学习者可能会经常遇到一些问题,这里给出有关问题产生的原因和解决办法。扫描器的使用并不是真正黑客生涯的开始,但它是学习黑客的基础,所以学习者应该多加练习,熟练掌握手中使用的扫描器,了解扫描器的工作原理和问题的解决办法。
1、为什么我找不到扫描器报告的漏洞?
扫描器报告服务器上存在某个存在漏洞的文件,是发送一个GET请求并接收服务器返回值来判断文件是否存在,这个返回值在HTTP的协议中有详细的说明,一般情况下“200”是文件存在,而“404”是没有找到文件,所以造成上面现象的具体原因就暴露出来了。
造成这个问题的原因可能有两种:第一种可能性是您的扫描器版本比较低,扫描器本身存在“千年虫”问题,对于返回的信息扫描器在判断的时候,会错误的以为时间信息2000年x月x日中的200是“文件存在”标志,这样就会造成误报;
另外一种可能性是服务器本身对“文件不存在”返回的头部信息进行了更改,如果GET申请的文件不存在,服务器会自动指向一个“没有找到页面”的文档,所以无论文件是否存在,都不会将“404”返回,而是仍然返回成功信息,这样做是为了迷惑漏洞扫描器,让攻击者不能真正判断究竟那个漏洞存在于服务器上。
这一问题的解决办法也要分情况讨论,一般说来第一种情况比较容易解决,直接升级漏洞扫描器就可以了,对于第二种情况需要使用者对网络比较熟悉,有能力的话可以自己编写一个漏洞扫描器,自己编写的扫描器可以针对返回文件的大小进行判断,这样就可以真正确定文件是否存在,但这种方法对使用者的能力要求较高。
2、我使用的扫描器速度和网络速度有关系嘛?
关系不大。扫描器发送和接收的信息都很小,就算是同时发送上百个GET请求一般的电话上网用户也完全可以做得到,影响扫描器速度的主要因素是服务器的应答速度,这取决于被扫描服务器的系统运行速度。如果使用者希望提高自己的扫描速度,可以使用支持多线程的扫描器,但是因为使用者本地电脑档次问题,也不可能将线程设置到上百个,那样的话会造成本地系统瘫痪,一般使用30个线程左右比较合适。
另外对于很多网络服务器来说,为了防止黑客的扫描行为,可能会在防火墙上设置同一IP的单位时间GET申请数量,这样做目的就是避免黑客的扫描和攻击,所以在提高本地扫描速度之前,应该先确认服务器没有相应的过滤功能之后再使用。
3、扫描器报告给我的漏洞无法利用是什么原因?
确切地说扫描器报告的不是“找到的漏洞”,而是找到了一个可能存在漏洞的文件,各种网络应用程序都可能存在漏洞,但是在更新版本的过程中,老版本的漏洞会被修补上,被扫描器找到的文件应该经过手工操作确认其是否是存在漏洞的版本,这可以通过阅读网络安全网站的“安全公告”获得相应知识。
对于已经修补上漏洞的文件来说,也不代表它一定不再存有漏洞,而只能说在一定程度上没有漏洞了,也许在明天,这个新版本的文件中又会被发现还存在其他漏洞,因此这需要网络安全爱好者时刻关注安全公告。当然如果攻击者或者网络管理员对编程比较熟悉,也可以自己阅读程序并力图自己找到可能的安全隐患,很多世界著名的黑客都是不依靠他人,而是自己寻找漏洞进行攻击的。
4、扫描器版本比较新,然而却从来没有找到过漏洞是什么原因?
有一些扫描器专门设计了“等待时间”,经过设置可以对等待返回信息的时间进行调整,这就是说在“网络连接超时”的情况下,扫描器不会傻傻的一直等待下去。但如果你的网络速度比较慢,有可能造成扫描器没有来得及接收返回信息就被认为“超时”而越了过去继续下面的扫描,这样当然是什么也找不到啦。
如果问题真的如此,可以将等待时间设置的长一些,或者换个ISP拨号连接。
5、扫描器报告服务器没有提供HTTP服务?
网络上大多数HTTP服务器和漏洞扫描器的默认端口都是80,而有少量的HTTP服务器并不是使用80端口提供服务的,在确认服务器的确开通了网站服务的情况下,可以用端口扫描器察看一下对方究竟使用什么端口进行的HTTP服务,网络上常见的端口还有8080和81。
另外这种情况还有一种可能性,也许是使用者对扫描器的参数设置不正确造成的,很多扫描器的功能不仅仅是漏洞扫描,有可能还提供了rpc扫描、ftp默认口令扫描和NT弱口令扫描等多种功能,因此在使用每一款扫描器之前,都应该自己阅读有关的帮助说明,确保问题不是出在自己身上。
6、扫描器使用过程中突然停止响应是为什么?
扫描器停止响应是很正常的,有可能是因为使用者连接的线程过多,本地系统资源不足而造成系统瘫痪、也可能是因为对方服务器的响应比较慢,依次发送出去的请求被同时反送回来而造成信息阻塞、还有可能是服务器安装了比较恶毒的防火墙,一旦察觉有人扫描就发送特殊的数据报回来造成系统瘫痪……
因此扫描器停止响应不能简单的说是为什么,也没有一个比较全面的解决方案,不过一般情况下遇到这种问题,我建议你可以更换其他扫描器、扫描另外一些服务器试试,如果问题还没有解决,就可能是因为扫描器与你所使用的系统不兼容造成的,大多数基于微软视窗的漏洞扫描器都是运行在Windows9X下的,如果是 Win2000或者NT也有可能造成扫描器无法正常工作。
7、下载回来的扫描器里面怎么没有可执行文件?
扫描器不一定非要是可执行的exe文件,其他例如perl、cgi脚本语言也可以编写扫描器,因此没有可执行文件的扫描器也许是运行在网络服务器上的,这种扫描器可以被植入到网络上的其它系统中,不需要使用者上网就能够24小时不停的进行大面积地址扫描,并将结果整理、分析,最后通过Email发送到指定的电子信箱中,因此这是一种比较高级的扫描器,初学者不适合使用。
另外注意载下在扫描器的时候注意压缩报文件的扩展名,如果是tar为扩展名,那么这个扫描器是运行在Linux系统下的,这种其它操作平台的扫描器无法在视窗平台下应用,文件格式也和FAT32不一样。
8、扫描器只报告漏洞名称,不报告具体文件怎么办?
只要漏洞被发现,网络安全组织即会为漏洞命名,因此漏洞名称对应的文件在相当广泛的范围内都是统一的,只要知道了漏洞的名称,黑客就可以通过专门的漏洞搜索引擎进行查找,并且学习到与找到漏洞相关的详细信息。这种“漏洞搜索引擎”在网络上非常多,例如我国“绿盟”提供的全中文漏洞搜索引擎就是比较理想的一个。
三、如何防范IIS漏洞:
由于微软的IIS是一套商业软件,他们并没有公开这套软件的源代码,所以软件的补丁程序只能等待微软公司在它的产品升级主页下载,这比起Apache等开放源代码的应用程序,可能在安全性上体现的更差,这也正是为什么黑客都说“微软的东西玩儿起来没有意思”,因为这个被封闭的很严的软件产品,既没有源代码可供黑客分析,一旦出现了问题也只能做一些基本的操作进行黑客(也就是上面的内容),这对初学黑客的人来说自然是一件好事情,但对高级黑客是不屑一顾的。
微软公司的主页是http://www.microsoft.com/,但是没有很多人愿意从国外下载软件补丁回来,国内也有很多不错的网络安全主页,例如http://www.xfocus.org和http://www.nsfocus.com/main.php等都是非常不错的,读者可以到这些站点阅读最新的安全公告或下载升级补丁。
另外对于codebrws.asp等程序造成的安全问题,这不是产品本身存在漏洞,而属于管理员在安装软件是的疏忽造成的,因此管理员安装完系统之后,一定要使用漏洞扫描软件对自己的系统进行检测,确认没有提供任何存在问题的程序给使用者,对于codebrws.asp等软件如果必须安装,也可以更换文件名或改变它的目录位置,这样黑客就无法从漏洞扫描的途径发现这些文件的存在了。
四、另一次入侵过程:
假设这次攻击的目标是www.soft.com,首先使用ping命令察看一下对方系统的应答时间ping www.soft.com:
Pinging www.soft.com [127.168.0.1] with 32 bytes of data:
Reply from 127.168.0.1: bytes=32 time=425ms TTL=240
Reply from 127.168.0.1: bytes=32 time=420ms TTL=240
Reply from 127.168.0.1: bytes=32 time=419ms TTL=240
Reply from 127.168.0.1: bytes=32 time=421ms TTL=240
看上去,time还是比较快的,而且通过TTL猜测到对方使用的是Linux之类的系统,比较有挑战性。使用nc命令(NT中提供)登陆到其他主机上,这在黑客里的行话叫“跳板”,我到更觉得像是“借刀杀人”,因为登陆到其他服务器上进行攻击,那么收到攻击的服务器将会纪录下那个黑客登陆的服务器,而不会纪录黑客真正的IP地址,这样一旦追踪起来,黑客的真实位置不容易被发现。
之后使用端口扫描程序对目标127.168.0.1进行扫描,看看它开放了什么端口:结果是开放了十多个端口,提供的服务越多、服务器存在漏洞的可能性就越大!之后分别用不同的检测方法检测每一个服务可能存在的漏洞,因为我们主要介绍80端口的攻击,所以其他攻击过程在这里设略,直接进行80端口的检测:
# (echo "head /http/1.0";echo;echo)|./nc -w 3 127.168.0.1 80
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>501 Method Not Implemented</TITLE>
</HEAD><BODY>
<H1>Method Not Implemented</H1>
head to /http/1.0 not supported.<P>
Invalid method in request head /http/1.0<P>
<HR>
<ADDRESS>Apache/1.3.9 Server at 127-168-0-1 Port 80</ADDRESS>
</BODY></HTML>
看到<ADDRESS>内的系统版本了吗?这说明服务器的确使用的Linux等系统,而且服务器使用的是Apache版本,因为这是一套开放了源代码的软件,所以它被世界上所有顶尖黑客所关注,其中的漏洞很快会被发现,而相应的对策也能够及时出台,所以它从诞生到现在,更新速度是惊人的,其安全程度也是非常惊人的,存在漏洞的希望并不大,作为初学者一般应该放弃,但是我还是介绍一下剩下来的工作,让读者从感性上接触一下黑客攻击的全部过程。
使用finger调出服务器上的用户列表,如果成功的话则可以使用+ username命令为自己增加一个用户登陆权限。使用下面的脚本将可能的用户列表逐个寻找出来:
# chmod 700 rsh.sh
# nohup ./rsh.sh www.targe.com
这会自动的在/etc/passwd和/etc/shadow里加上finger出来的用户名,再对远程目标127.168.0.1执行rsh命令,成功则返回该用户名,这个操作需要很长的时间,也许是几个小时后也不能获得什么有用的信息,因此这里需要一点点运气。等待一段时间后,读取报告结果:
# cat ./.rsh.txt
guest
报告结果文件“.rsh.txt”中获得了一个guest用户名(初学者很难有如此好的运气),通过rlogin登陆这个用户名看看有什么权限:
# rlogin -l guest 127.168.0.1
Last login: Fri Jan 12 03:01:10 from 61.135.50.24
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California. All rights reserved.