经典黑客远程攻击过程概要
程序员文章站
2022-03-18 15:11:22
一、锁定目标 internet上每一台主机都有一个符合自己的名字,就像每个人都有一个合适得称呼一样,称做域名;然而一个人可能会有几个名字...
一、锁定目标
internet上每一台主机都有一个符合自己的名字,就像每个人都有一个合适得称呼一样,称做域名;然而一个人可能会有几个名字,域名的定义也会有同样的情况,在internet上能真正标识主机的是ip地址,域名只是用ip指定的主机用于好记的而起的名字。当然利用域名和ip地址都可以顺利找到主机(除非你的网络不通)。
要攻击谁首先要确定目标,就是要知道这台主机的域名或者ip地址,例如:www.123.com、1.1.1.1等。知道了要攻击目标的位置还很不够,还需要了解系统类型、操作系统、提供服务等全面的资料,才能做到“知己知彼,百战不怠”,如何获取相关信息,下面我们将详细介绍,如果对网络域名和ip地址不清楚的,赶紧翻一下手头的书吧!并且现在练习一下 ping 命令吧!相信在实战中会用得到!有什么用?如果 ping目标主机返回时间太长或你根本ping不通目标主机,你如何继续呢!(目标不在你的射程之内)
二、服务分析
internet上的主机大部分都提供www、mail、ftp、bbs等网络信息服务,基本每一台主机都同时提供几种服务,一台主机为何能够提供如此多的服务呢?unix系统是一种多用户多任务的系统,将网络服务划分许多不同的端口,每一个端口提供一种不同服务,一个服务会有一个程序时刻监视端口活动,并且给予应有的应答。并且端口的定义已经成为了标准,例如:ftp服务的端口是21,telent服务的端口是23,www服务的端口是80等,如果还想了解更多请进行下面的步骤: 进入ms-dos prompt c:\windows>edit services (回车) 慢慢阅读吧!不过很多的端口都没有什么用,不必把它们都记住!
我们如何知道目标主机提供了什么服务呢?很简单用用于不同服务的应用程序试一试就知道了,例如:使用telnet、ftp等用户软件向目标主机申请服务,如果主机有应答就说明主机提供了这个服务,开放了这个端口的服务,但我们现在只需知道目标主机的服务端口是否是“活 ”的,不过这样试比较麻烦并且资料不全,我会经常使用一些象 portscan 这样的工具,对目标主机一定范围的端口进行扫描。这样可以全部掌握目标主机的端口情况。现在介绍一个好工具,缺少好工具,就不能顺利完成工作。 haktek是一个非常实用的一个工具软件,它将许多应用集成在一起的工具,其中包括:ping 、ip范围扫描、目标主机端口扫描、邮件炸弹、过滤邮件、finger主机等都是非常实用的工具。
完成目标主机扫描任务,首先告诉haktek目标主机的位置,即域名或ip地址。然后选择端口扫描,输入扫描范围,开始扫描,屏幕很快返回“活”的端口号以及对应的服务。对资料的收集非常迅速完整。为什么掌握目标的服务资料?如果目标主机上几个关键的端口的服务都没有提供,还是放弃进攻的计划吧,不要浪费太多时间放在这个胜率不大的目标上,赶紧选择下一个目标。
先看一个扫描实例: scanning host xx.xx.xx, ports 0 to 1000 port 7 found. desc='echo' port 21 found. desc='ftp' port 23 found. desc='telnet' port 25 found. desc='smtp' port 53 found. desc='domain/nameserver' port 79 found. desc='finger' port 80 found. desc='www' port 90 found. port 111 found. desc='portmap/sunrpc' port 512 found. desc='biff/exec' port 513 found. desc='login/who' port 514 found. desc='shell/syslog' port 515 found. desc='printer' done!
如果系统主要端口是“活”的,也不要高兴太早,因为系统可能加了某些限制,不允许任何用户远程连接或不允许root远程连接,或者进入后限制用户只能做指定的活动便又被强行中断,这仅仅指telnet服务而言,其实还会遇到很多复杂的情况。 这里只介绍目标主机是否开放了端口,而我们还不知目标主机使用的是什么系统,每一个端口的服务程序使用的是什么版本的系统,不要急,先联系一下haktek工具吧!没有,快去下载吧!
三、系统分析
现在开始讲解如何了解系统,目标主机采用的是什么操作系统,其实很简单,首先打开wi n95的run窗口,然后输入命令: telnet xx.xx.xx.xx(目标主机) 然后[确定],看一看你的屏幕会出现什么? digital unix (xx.xx.xx) (ttyp1) login: 不用我说你也会知道你的目标主机和操作系统是什么啦!对,当然是dec机,使用的是 digital unix啦!好,我们再看一个: unix? system v release 4.0 (xx.xx.xx) login: 这是什么?
可能是sun主机,sun os或solaris,具体是什么?我也说不清楚!这一方法不是对所有的系统都有用,例如象下面的情况,就不好判断是什么系统: xxxx os (xx.xx.xx) (ttyp1) login: 有些系统将显示信息进行了更改,因此就不好判断其系统的信息,但根据一些经验可以进行初步的判断,它可能是hp unix。 另外利用上面介绍的工具haktek,利用目标主机的finger功能也可以泄露系统的信息。
establishing real-time userlist… (only works if the sysadmin is a moron) ---[ finger session ]-------------------------------------- welcome to linux version 2.0.30 at xx.xx.xx …
上面的这句话就已经足够! 如何知道系统中其它端口使用的是什么服务?例如23、25、80等端口。 采用同样上面的手段,利用telnet和本身的应用工具,ftp等。 使用telnet是请将端口号作为命令行参数,例如: telnet xx.xx.xx 25 就会有类似下面的信息提供给你: 220 xx.xx.xx sendmail 5.65v3.2 (1.1.8.2/31jan97-1019am) wed, 3 jun 1998 13:50:47 +0900 这样很清楚目标主机sendmail的版本。当然对很多端口和不同的系统根本没有用。 因此需要对应的应用工具才能获得相应的信息。例如: connected to xx.xx.xx.220 xx.xx.xx ftp server (digital unix version 5.60) ready. user (xx.xx.xx none)): internet上大多数是www主机,如何知道目标主使用的是什么样的web server,介绍一个页面的查询工具,只要你告诉它目标主机的地址和web服务断口,它立刻会告诉你有关信息。
internet上每一台主机都有一个符合自己的名字,就像每个人都有一个合适得称呼一样,称做域名;然而一个人可能会有几个名字,域名的定义也会有同样的情况,在internet上能真正标识主机的是ip地址,域名只是用ip指定的主机用于好记的而起的名字。当然利用域名和ip地址都可以顺利找到主机(除非你的网络不通)。
要攻击谁首先要确定目标,就是要知道这台主机的域名或者ip地址,例如:www.123.com、1.1.1.1等。知道了要攻击目标的位置还很不够,还需要了解系统类型、操作系统、提供服务等全面的资料,才能做到“知己知彼,百战不怠”,如何获取相关信息,下面我们将详细介绍,如果对网络域名和ip地址不清楚的,赶紧翻一下手头的书吧!并且现在练习一下 ping 命令吧!相信在实战中会用得到!有什么用?如果 ping目标主机返回时间太长或你根本ping不通目标主机,你如何继续呢!(目标不在你的射程之内)
二、服务分析
internet上的主机大部分都提供www、mail、ftp、bbs等网络信息服务,基本每一台主机都同时提供几种服务,一台主机为何能够提供如此多的服务呢?unix系统是一种多用户多任务的系统,将网络服务划分许多不同的端口,每一个端口提供一种不同服务,一个服务会有一个程序时刻监视端口活动,并且给予应有的应答。并且端口的定义已经成为了标准,例如:ftp服务的端口是21,telent服务的端口是23,www服务的端口是80等,如果还想了解更多请进行下面的步骤: 进入ms-dos prompt c:\windows>edit services (回车) 慢慢阅读吧!不过很多的端口都没有什么用,不必把它们都记住!
我们如何知道目标主机提供了什么服务呢?很简单用用于不同服务的应用程序试一试就知道了,例如:使用telnet、ftp等用户软件向目标主机申请服务,如果主机有应答就说明主机提供了这个服务,开放了这个端口的服务,但我们现在只需知道目标主机的服务端口是否是“活 ”的,不过这样试比较麻烦并且资料不全,我会经常使用一些象 portscan 这样的工具,对目标主机一定范围的端口进行扫描。这样可以全部掌握目标主机的端口情况。现在介绍一个好工具,缺少好工具,就不能顺利完成工作。 haktek是一个非常实用的一个工具软件,它将许多应用集成在一起的工具,其中包括:ping 、ip范围扫描、目标主机端口扫描、邮件炸弹、过滤邮件、finger主机等都是非常实用的工具。
完成目标主机扫描任务,首先告诉haktek目标主机的位置,即域名或ip地址。然后选择端口扫描,输入扫描范围,开始扫描,屏幕很快返回“活”的端口号以及对应的服务。对资料的收集非常迅速完整。为什么掌握目标的服务资料?如果目标主机上几个关键的端口的服务都没有提供,还是放弃进攻的计划吧,不要浪费太多时间放在这个胜率不大的目标上,赶紧选择下一个目标。
先看一个扫描实例: scanning host xx.xx.xx, ports 0 to 1000 port 7 found. desc='echo' port 21 found. desc='ftp' port 23 found. desc='telnet' port 25 found. desc='smtp' port 53 found. desc='domain/nameserver' port 79 found. desc='finger' port 80 found. desc='www' port 90 found. port 111 found. desc='portmap/sunrpc' port 512 found. desc='biff/exec' port 513 found. desc='login/who' port 514 found. desc='shell/syslog' port 515 found. desc='printer' done!
如果系统主要端口是“活”的,也不要高兴太早,因为系统可能加了某些限制,不允许任何用户远程连接或不允许root远程连接,或者进入后限制用户只能做指定的活动便又被强行中断,这仅仅指telnet服务而言,其实还会遇到很多复杂的情况。 这里只介绍目标主机是否开放了端口,而我们还不知目标主机使用的是什么系统,每一个端口的服务程序使用的是什么版本的系统,不要急,先联系一下haktek工具吧!没有,快去下载吧!
三、系统分析
现在开始讲解如何了解系统,目标主机采用的是什么操作系统,其实很简单,首先打开wi n95的run窗口,然后输入命令: telnet xx.xx.xx.xx(目标主机) 然后[确定],看一看你的屏幕会出现什么? digital unix (xx.xx.xx) (ttyp1) login: 不用我说你也会知道你的目标主机和操作系统是什么啦!对,当然是dec机,使用的是 digital unix啦!好,我们再看一个: unix? system v release 4.0 (xx.xx.xx) login: 这是什么?
可能是sun主机,sun os或solaris,具体是什么?我也说不清楚!这一方法不是对所有的系统都有用,例如象下面的情况,就不好判断是什么系统: xxxx os (xx.xx.xx) (ttyp1) login: 有些系统将显示信息进行了更改,因此就不好判断其系统的信息,但根据一些经验可以进行初步的判断,它可能是hp unix。 另外利用上面介绍的工具haktek,利用目标主机的finger功能也可以泄露系统的信息。
establishing real-time userlist… (only works if the sysadmin is a moron) ---[ finger session ]-------------------------------------- welcome to linux version 2.0.30 at xx.xx.xx …
上面的这句话就已经足够! 如何知道系统中其它端口使用的是什么服务?例如23、25、80等端口。 采用同样上面的手段,利用telnet和本身的应用工具,ftp等。 使用telnet是请将端口号作为命令行参数,例如: telnet xx.xx.xx 25 就会有类似下面的信息提供给你: 220 xx.xx.xx sendmail 5.65v3.2 (1.1.8.2/31jan97-1019am) wed, 3 jun 1998 13:50:47 +0900 这样很清楚目标主机sendmail的版本。当然对很多端口和不同的系统根本没有用。 因此需要对应的应用工具才能获得相应的信息。例如: connected to xx.xx.xx.220 xx.xx.xx ftp server (digital unix version 5.60) ready. user (xx.xx.xx none)): internet上大多数是www主机,如何知道目标主使用的是什么样的web server,介绍一个页面的查询工具,只要你告诉它目标主机的地址和web服务断口,它立刻会告诉你有关信息。
推荐阅读