设为首页   加入最爱           最新更新:全方位英文文章资料库
 
资料坊搜索: 标题 全文     
黑客实战技术
   首页>>YesizeCOM>>论文坊>>农医学类>>正文       
 
广告招租,e-mail:yesize@hotmail.com

广告招租,e-mail:yesize@hotmail.com


黑客实战技术(一)

  我们在阅读和学习系统安全文献和黑客技术文章时,经常看到的是一些攻击策略和
系统安全漏洞,但无法理解黑客是如何攻击系统的每个环节,因此系统管理员无法具体
地进行安全防范。
    为了使每一位爱好系统安全的朋友能够具体了解系统安全知识,INTERNET安全委员
会(http://security.yeah.net)将逐步推出《黑客实战技术》教学文章。INTERNET上的
主机多数使用UNIX主机,包括Solaris、Digital Unix、Linux等,因此首先推出UNIX篇
,主要内容包括:目标分析、智取文档、破解密码、打扫战场等技术。

第一章、目标分析[UNIX篇]

    1、锁定目标

    INTERNET上每一台主机都有一个符合自己的名字,就像每个人都有一个合适得称呼
一样,称做域名;然而一个人可能会有几个名字,域名的定义也会有同样的情况,在
INTERNET上能真正标识主机的是IP地址,域名只是用IP指定的主机用于好记的而起的名
字。当然利用域名和IP地址都可以顺利找到主机(除非你的网络不通)。要攻击谁首先要
确定目标,就是要知道这台主机的域名或者IP地址,例如:www.yahoo.com、1.1.1.1
等。知道了要攻击目标的位置还很不够,还需要了解系统类型、操作系统、提供服务等
全面的资料,才能做到“知己知彼,百战不怠”,如何获取相关信息,下面我们将详细
介绍,如果对网络域名和IP地址不清楚的,赶紧翻一下手头的书吧!并且现在练习一下
PING命令吧!相信在实战中会用得到!有什么用?如果PING目标主机返回时间太长或
你根本PING不通目标主机,你如何继续呢!(目标不在你的射程之内)

    2、服务分析

    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工具
吧!没有,快去下载吧!

    3、系统分析

    现在开始讲解如何了解系统,目标主机采用的是什么操作系统,其实很简单,
首先打开WIN95的RUN窗口,然后输入命令:
TELNET xx.xx.xx.xx(目标主机)
然后[确定],看一看你的屏幕会出现什么?

Digital UNIX (xx.xx.xx) (ttyp1)

login:
 
不用我说你也会知道你的目标主机和操作系统是什么啦!对,当然是DEC机,使用的是
Digital UNIX啦!好,我们再看一个:

UNIX(r) 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安全委员会的系统工具中,地址是http://security.yeah.net。不信
可以试一试!

    4、深入探讨
    上面介绍的内容都非常简单,多试几次便会轻松掌握。由于系统管理员对系统进行了一
些限制,因此即使得到了这些信息也不能轻松地对系统攻击,还要进一步掌握情况。进行这些
工作都是为下一步的工作做准备,破解UNIX主机最主要是想方设法获得UNIX的密码文件,通过
破解口令,获得较高权限帐户的口令,主要是ROOT的口令,如何获得口令将在第二章中详细介
绍,在第三章介绍如何利用工具进行破解口令,在第四章介绍如何打扫战场。后面几章将在进
期推出,敬请留意!

黑客实战技术(二)

突破防线  

无论怎么说,INTERNET安全委员会(Internet Security Committee,简称ISC)始终认为系统安全防范技术和黑客的破解技术是一个问题,只是从不同的方面和角度去看待这个问题,无论从那一个方面研究这个问题,都能够提高我们对系统安全的认识,有时从反面的角度看问题更能够反映问题所在,能更好地弥补系统安全的漏洞和缺陷。ISC在几个镜像站点推出黑客实战技术一书,欢迎参考使用。

    在上一章,介绍了一下如何对系统的目标分析,实际上如果要得到系统详细资料还真的费一番工夫。如果能得到我们上一章的资料也就足够,在以后的工作要好好利用这些资料。当前的问题是如何取得系统密码文件,从而对对密码文件进行破解,得到较高权限帐户的口令。

    现在我们来分两种情况,第一种是你是目标主机一个普通用户,第二种当然你不是目标主机的用户。对于第一种用户应该对目标主机的系统资料应该有一定了解,当然可能还不知道具体,例如:你是一个免费主页空间的用户。无论第一种用户还是第二种用户,每一个人都想成为目标主机的超级用户,这就象解一道数学题,越难的题就越想解出来,尽管可能要花费好几天的时间。

    得到密码文件又有两种情况,通过普通用户登陆后取得文件,例如利用FTP、TELNET等工具,第二种是利用其它服务端口的BUG或漏洞取得密码文件,例如利用:WWW服务,电子邮件等服务。象第二种情况的安全漏洞在其他文章中都有介绍,如果没有可以到INTERNET安全委员会(http://security.yeah.net)看看其他文章和BUG介绍。

    对于使用普通用户登陆取得密码文件,除了你本身已经是目标主机的普通用户的有利条件外,对于陌生的目标主机可能只知道它有一个ROOT用户,至于其他帐户我们一无所知,这又是我们面临的难题,要想登陆目标主机我们至少要知道一个普通用户,现在我们连帐号都不知道,就更不用说密码了。怎么办?真是急死人!

    不要急,我们有办法可以获得一些帐号,具体方法有很多,我们现在就介绍几种:

    1、利用目标主机的FINGER功能
还记得上一章介绍的工具吗?对就是HAKTEK,它的FINGER功能可以完全胜任,在TARGET中输入目标主机的地址,域名或IP都可以,选择FINGER按钮,就会出现例如下面的信息:

Target changed to xx.xx.xx


Establishing real-time userlist... (Only works if the sysadmin is a moron)

---[ Finger session ]-----------------------------------------------------

Login Name TTY Idle When Where

xxxx ???? pts/8 2d      fri 16:15 xx.xx.xx.xx

....


    记录上述帐号信息,经过一段时间的监测,就会积累一定的帐号信息。


    2、来源于电子邮件地址

    有些用户电子邮件地址(是@符号前面的部分)与其取邮件的帐号是一致的,这样就能使我们轻松地获得目标主机的一个普通帐号,当然你可能没有目标主机的邮件地址,你可以去找啊,到其公司的主页上去寻找,肯定有一些业务联系,制作人员的邮件地址,这不是就有所收获了吗!

    3、非常全面的X.500功能
    有些主机提供了X.500的目录查询服务,这就给我们提供了非常好的获得信息的途径,如何知道是否提供X.500的功能,我们不是有HAKTEK这个工具吗?扫描目标主机的端口,如果端口105的状态就知道了,在自己的机器上安装一个X.500的客户查询的工具,选择目标主机,可以获得意想不到的信息。

    4、习惯性常用帐号
    根据平时的经验,一些系统总有一些习惯性的常用的帐号,这些帐号都是系统中因为某种应用而设置的。例如:制作的WWW主页的帐号可能是html、www、web等,安装ORACLE数据库的可能有oracle的帐号,用户培训或教学而设置的user1、user2、student1、student2、client1、client2等帐户,一些常用的英文名字也经常会使用,例如:tom、john等,因此可以根据系统所提供的服务和在其主页得到的工作人员的名字信息进行猜测。

    说了这么多,还是没有用啊?只得到了一些帐号,那密码怎样能够得到呢?得到一个帐号都这么难,就别说得到相关对应的密码了。如何找到密码那只有靠运气了,其实对很多机器的分析,由于普通用户对系统安全没有具体的认识,因此其密码很容易被猜测出来,不相信,你可以到查看一下INTERNET安全委员会的安全调查的统计数据(http://security.yeah.net),一般用户的密码大部分和其帐号相同,这根本没有一点安全性,在得到其帐号信息后就得到了它的密码,真让人兴奋,另外一部分使用的密码比较简单,例如:将帐号的第一个字母大写、后面加一个数字,或者使用简单数字0、1等作为密码。还有一些成对的帐号和密码,例如:帐号是admin,那么密码可能是:manager等,对于这些都是在长时间积累的经验。
在对普通用户进行测试密码时,实际上也可以对目标主机系统的重要帐号进行猜测,例如:一些系统管理员将ROOT的密码定为主机的名字,象Sun、Digital、sparc20、alpha2100等,oracle数据库的帐号密码为oracle7、oracle8等,如果能迅速得到高级权限的密码,我们将能节省很多工作,但这并
不容易,因为经常发生系统安全的事故,现在很难在系统的帐号的密码有所突破。

    一般用户常用口令:(经验所得)

1、用户帐号本身(使用率最高)

2、帐号第一字母大写、全部大写、后面加简单数字

3、简单数字,一般是:0、1、123、12345、888、168等

4、system、manager、admin等词或简单变化

5、系统或主机的名字


    我们还是继续以普通用户的身份进入吧!   现在每个系统管理员都有一定系统安全管理的知识,利用一些系统帐号不能轻易进入,虽然这样,但它却没有注意一般用户对系统安全的理解,因此我们突破口也就在这里,我用上面的猜测方法试过不少机器,大都可以成功,甚至有一次,我竟把一台主机的制作主页的帐号和口令猜中,我可以随便在它的主页留下任何信息。

    现在我们用普通用户进入了主机,当然是用TELNET或FTP啦!对于某些系统能够进入系统已经是致命的打击了,例如:上面的主页制作帐号我可以轻松的更改它的主页,在Solaris中可以使用PING命令使其反复REBOOT等,因为毕竟一些系统存在着一些系统BUG,这些BUG在INTERNET安全委员会的系统BUG和补救措施中可以找到一些,如果系统没有即使更新和补救,你完全可以给它致命一击。但我们不应该做这些,我们只想对这道难题有一个完美的答案。

    好了,现在可以轻松一下了,因为已经取得了一个小小的胜利,但这并不是我们这道数学题的最后结果,我们现在只是找到计算这道题的一个公式,如何利用这个公式计算出结果,还有一条比较漫长的路。请留意INTERNET安全委员会后面的文章。


黑客实战技术(三)

第三章:智取文档[UNIX篇]

    通过自己的努力进入别人的主机,可能有很大的运气因素,但只要进入,就是一件让人非常兴奋的事。现在我们做什么,是啊!我们现在只是一个没有任何权限的普通用户,我们能做什么呢?对于一个只想进入看一看或者做一些轻微的破坏活动,到这里也就足够了,但我们想成为管理者,成为这台主机临时的主人,但我们不想伤害任何人和破坏任何系统。

    为了实现这个目标,我们将如何进行?要想成为超级用户最简单的方法是拥有超级用户的口令,通常UNIX所指的root用户的口令。但是每个系统管理员都不是“傻子”,他们不会使用一个非常简单易猜的口令让你那么容易成为英雄,但如果你运气很好,可能会碰上这样的系统管理员。所以使用猜的方法效果非常小。所以只有使用其他的方法使自己成为超级用户。

    第一种方法:程序突破法

    利用UNIX系统的某些具有超级用户SID、UID等权限的应用程序和一些系统漏洞,利用C语言开发一些突破程序,使自己成为超级用户。这种方法有很强的实用性,但是会受到很多的限制,例如你需要有系统的C的编译功能。因此首先你要判断你是否有这样的权限,进入系统后,敲cc或者gcc等命令,看一看系统会有那些提示,你便知道你有没有这样的使用权限。

    有关UNIX的C语言介绍可以参考INTERNET安全委员会(http://security.yeah.net)提供C语言的编程手册。这里对C语言的程序开发进行了非常详细的介绍,并且对其文件进行了压缩打包,欢迎爱好者下载。同时提供100多个有关系统安全的C语言的源程序。

    第二种方法:密码破解法

    对于第一种方法对人的要求比较高,你必须了解系统的内部结构和原理,并且要有非常熟练的程序开发能力,才能很好地利用第一种方法,因此第一种方法只适合于各种系统的测试。密码破解法适合于各种水平的人使用,现在唯一的问题就是如何取的系统的密码文件,这就是我们这篇文章的主要内容。

    先让我们看一看,我们要找的文件放在了什么地方?叫什么名字?各种系统有着自己独特的方式。好先看一看下面这张表吧!虽然系统版本比较旧了,但其文件系统基本没有改变。

Unix                   Path                       
-------------------------------------------------
AIX 3                  /etc/security/passwd        
       or              /tcb/auth/files//
A/UX 3.0s              /tcb/files/auth/?/*
BSD4.3-Reno           /etc/master.passwd         
ConvexOS 10           /etc/shadpw                
ConvexOS 11           /etc/shadow                
DG/UX                  /etc/tcb/aa/user/          
EP/IX                  /etc/shadow                
HP-UX                  /.secure/etc/passwd        
IRIX 5                 /etc/shadow                
Linux 1.1              /etc/shadow                
OSF/1                  /etc/passwd[.dir|.pag]      
SCO Unix #.2.x        /tcb/auth/files//
SunOS4.1+c2            /etc/security/passwd.adjunct
SunOS 5.0              /etc/shadow
                      System V Release 4.0  /etc/shadow               
System V Release 4.2  /etc/security/* database
Ultrix 4               /etc/auth[.dir|.pag]          

    大部分的系统都对其密码文件进行了SHADOW处理,我们只能看到密码文件文件的用户名,而不能看到和用户名对应的加密后密码的文本,但有些系统没有SHADOW的,就可以抓取,例如象Digital Unix等。对于被SHADOW的密码我们根本看不到。怎样才能获得真正的密码文件呢?
    
    一、利用系统管理员的失误。系统管理员经常对系统的重要文件进行备份,但在备份时忘记了文件权限的限制,找到这些文件快点下载它吧!

    二、利用系统安全漏洞。某些系统在安装后忘记安装了PATCH,因此系统系统便留下许多后门,利用这些后门我们可以轻松获得这些文档。这些安全漏洞请参考INTERNET安全委员会(http://isc.yeah.net)公布的系统BUG和安全补救措施。好好利用吧!

    三、某些系统工具的错误文件。例如Solaris的FTPD进程产生的CORE文档,WWW服务器可以抓取密码文件等。

    四、编程的方法。通过利用语言工具将SHADOW文件进行转换。

    第三种方法:信息截取法。

    这种方法要求比较高,利用软件和硬件工具时刻监视系统主机的工作,等待用户登陆,记录登陆信息,从而取得用户密码。

    取得密码文件的方法是非常多的,我们这里不能详细介绍,针对于各种系统和环境的不同,应该采取非常灵活的方法。我们将在第四章详细介绍如何利用工具破解密码。敬请留意!


上一篇:网络的安全策略 下一篇:电子锁

版权说明:作品来源于网上,版权归作者所有,如果无意中侵犯了您的版权,请来信告知,本站将在3个工作日内删除。yesize@hotmail.com
  热门小游戏分类 
射击小游戏 连连看小游戏
台球小游戏 成人小游戏
CS小游戏 化妆小游戏
赛车小游戏 休闲小游戏
篮球小游戏 换装小游戏
儿童小游戏 牛牛小游戏
麻将小游戏 冒险小游戏
美媚小游戏 益智小游戏
体育小游戏  
Society Recreation & Sports
Travel & Leisure Communications
Vehicles Computers
Fashion Arts & Entertainment
Reference & Education Disease & Illness
Writing & Speaking Politics
Product Reviews Food & Beverage
Finance Internet Business
Self Improvement Home & Family
Health & Fitness Business
最新更新内容
警惕“公务员报考热”背
公务员考试不是丈母娘考
一名新公务员的自白:我
公务员考脑筋急转弯与挂
北努斗:2006行政能力测
大讨论:06行测BT题目大
过来人回忆:当年,我也
一家之言:公务员热折射
公务员考试申论要是有正
数十万大学生走进公务员
      粤ICP备05005424         Copyright ©2000 - 2004 Yesize.COM