《30天打造专业红客》

下载本书

添加书签

30天打造专业红客- 第1部分


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!


    『第1天』何谓黑客?
    何谓“黑客”
    黑客是英文“HACKER”的音译。动词原形为“HACK”,意为“劈”、“砍”。英文词典是这样解释黑客行为:未经授权进入一个计算机的存储系统,如数据库。中文译成“黑客”贬义比英文原义似乎略重,有“未经允许”等不合法的含义。另一种说法是,HACK是本世纪早期麻省理工学院俚语,有“恶作剧”之意,尤其指手法巧妙,技术高明的恶作剧,并且带有反既有体制的色彩。
    四代黑客铸就了网络
    有人说,美国人创造了黑客,如同他们创造了牛仔。
    本世纪60至70年代,一群大学计算机系教室里的知识分子利用“分时系统”技术把计算机主机变成了事实上的个人计算机,从而使更多的人有机会接触到计算机。这些人就是第一代黑客。当时做一名计算机黑客是一件很荣耀的事,它意味着对电脑的全身心的投入,虽然可能被外人视为疯狂之举。
    70年代后期,第二代黑客领头人是大名鼎鼎的史蒂夫。乔布斯、史蒂夫、伍兹尼亚克和费尔森斯坦,发明并产生了个人计算机。他们都是非学术界的,属铁杆反文化的类型。作为坚定的反文化分子,他们使计算机王国的老大IBM颜面尽失。
     80年代初出现的第三代黑客;为个人计算机设计了各种应用教育和娱乐程序。特别是米彻·凯普发明的LOTUS1 1…2…3电子报表程序促成了IBM PC的成功。
      第四代黑客出现在80年代中期。他们发明了包罗万象的电子公告牌(BBS)和自由平等的以非层级方式连接的USENET,并且将美国国防部的阿帕网(ARPANET)改造成了今天的互联网络。
    黑客的“道德准则”
    互联网现在有上千万用户,平均年龄为30岁。很多人深信,就像个人计算机改变了80年代一样,互联网将改变90年代。
      “想真正成为黑客,你必须真枪实弹去做黑客应该做的事情。”这是黑客的宣言,并且广告天下,他们声称:不要将你已破解的任何信息与人分享,除非此人绝对可以信赖。不在家庭电话中谈论你HACK的任何事情。当你发送相关信息的BBS时,对你当前所做的黑事尽可能说得含糊一些,以避免BBS受到警告。将你的黑客资料放在安全的地方。在BBS上POST文章的时候不要使用真名和真实的电话号码。如果你黑了某个系统,绝对不要留下任何蛛丝马迹。
    显然,一些所谓的道德准则是需要打上一个引号的。但也确实有一些是较为人称道的。如:不要侵入或破坏政府机关的主机;不恶意破坏任何系统;不破化别人的软件或资料……
    一切信息都应该是免费的
    “一切信息都应该是免费的”。黑客们也有自己的伦理原则。他们深信,任何一个人都能在计算机上创造艺术与美,计算机能够使生活变得更美好。
    黑客最重要的信条是不相信权威当局,提倡依*自己。他们把美国已故肯尼迪的话,“不要问你的国家能为你做些什么,要问你能为国家做些什么”改成了“不要问你的国家能为你做些什么,你自己做”。因此,他们中大多数人一改过去学术界蔑视商界的传统,半途辍学支办自己的公司。他们认为信息应该是免费的信息创造了“免费软件”和“共享软件”的概念,使得每个需要这些软件的人都可以得到它们。
    坚持“三项基本原则”
    国外《PHRACK》杂志被认为是黑客的“官方”新闻通讯,它把黑客的思想扩展成一些基本原则,被概括为一些基本原则。主要内容为“因为设备的高代价超出了大多数黑客的财力,它在感觉上造成的结果是,劈和砍是把计算机知识传给大众的唯一办法”。黑客们坚决反对“权利”只属于那些有权进入和使用现代技术的群体。
      基于上述的分析来看,要认识黑客的确不是一件容易的事。不过我们似乎已经明白,黑客不应该总在贬义上被使用。而是应该记住雨果、康沃尔在《黑客手册》一书说的话:“黑客活动的乐趣和报偿纯粹是智力上的”,他们“不过沿袭了一个长期的历史传统,人类社会中,总有那么一批人对机器和技术着迷,他们使用技术时抱着一种嬉戏的态度,以观察会有什么结果发生”。
    还有我希望提醒大家严格遵守守则,另外中国的法律在健全,请不要随意做破坏网络的事。
    『第2天』从端口说起
    有些端口是比较重要的比如135,137,138,139,445之类,那我扫描到的端口到底有什么用?我想你肯定要问,这样今天,我就用一个真实的扫描向你讲述扫到的端口的用途。
    被扫的主机:192。***。xx。x
    主机IP数:4
    发现的安全漏洞:7个
    安全弱点:45个
    系统: Standard: Solaris 2。x; Linux 2。1。???; Linux 2。2; MacOS
     
    Telnet (23/tcp) 
    ssh (22/tcp) 
    ftp (21/tcp) (发现安全漏洞) 
    netstat (15/tcp) 
    daytime (13/tcp) 
    systat (11/tcp) 
    echo (7/tcp) 
    time (37/tcp) 
    smtp (25/tcp) 
    www (80/tcp) (发现安全漏洞) 
    finger (79/tcp) 
    auth (113/tcp) 
    sunrpc (111/tcp) 
    pop…2 (109/tcp) 
    linuxconf (98/tcp) 
    imap2 (143/tcp) 
    printer (515/tcp) 
    shell (514/tcp) 
    login (513/tcp) 
    exec (512/tcp) 
    unknown (693/tcp) 
    unknown (698/tcp) 
    unknown (727/tcp) 
    swat (910/tcp) 
    unknown (1025/tcp) 
    unknown (1039/tcp) 
    unknown (1038/tcp) 
    unknown (1037/tcp) 
    unknown (1035/tcp) 
    unknown (1034/tcp) 
    unknown (3001/tcp) 
    unknown (6000/tcp) 
    echo (7/udp) 
    general/tcp 
    daytime (13/udp) 
    unknown (728/udp) (发现安全漏洞) 
    unknown (2049/udp) 
    unknown (681/udp) 
    unknown (2049/tcp)(发现安全漏洞) 
     
    可用telnet登录的端口 (23/tcp) 
    这个信息表明远程登录服务正在运行,在这里你可以远程登录到该主机,这种不用密码的远程登录服务是危险的,如果可以匿名登录,任何人可以在服务器和客户端之间发送数据。
     
     
    发现的可攻击弱点 (21/tcp) 
    我在那里发现了一个目录是可写的:
    /ining
    ftp端口 (21/tcp) 
    ftp服务TELNET服务一样,是可以匿名登录的,而且在有的机器上它还允许你执行远程命令,比如CWD ~XXXX,如果你能CWD ROOT成功,那你就可以获得最高权限了,不过这样的好事好像不多。另外,有时还能用它获得一个可用的帐号(guest);或得知主机在运行什么系统
    13/tcP(daytime)
    从这里可以得知服务器在全天候运行,这样就有助于一个入侵者有足够的时间获取该主机运行的系统,再加上udp也在全天候的运行,这样可以使入侵者通过UDP欺骗达到主机拒绝服务的目的
    ECHO(7/tcp)
    这个端口现在没什么用处,但它可能成为一个问题的来源,顺着它有可能找到其它端口以达到拒绝服务的目的。
    (25/tcp)smtp端口
    该端口开放邮件传输协议
    回应可执行EXPN和VRFY命令
    EXPN可以发现发送邮件的名称或者能找到一个完整的邮件接收人的名称。
    VRFY命令可以用来检测一个帐号的合法性
    我们可以试着发这样一个类型的邮件给它: 
    user@hostname1@victim
    我们会收到一个这样的邮件:
    user@hostname1
    也许我们就能用它穿过防火墙
    WWW(80/TCP)端口
    它表明WWW服务在该端口运行
    finger (79/tcp) 端口
    finger服务对入侵者来说是一个非常有用的信息,从它可以获得用户信息,查看机器的运行情况等
    auth (113/tcp) 
    ident服务披露给入侵者的将是较敏感的信息,从它可以得知哪个帐号运行的是什么样的服务,这将有助于入侵者集中精力去获取最有用的帐号(也就是哪些人拥有ROOT权限)
    (98/tcp) LINUX在这个端口上运行
    (513/tcp) RLOGIN在这个端口上运行
    这种服务形同于TELNET,任何人可以在它的引导下在客户端和服务端之间传送数据。
    exec (512/tcp) 
    rexecd在该端口开放;该服务使一个破译者有机会从它那里扫描到另外一个IP,或者利用它穿过防火墙。 
    也许你还能发现很多端口,不同的端口会有不同的作用 
    我最喜欢开135端口的,我们学校的几个FTP和主机都开了135端口,还用默认密码(不知道是为什么,我想主要是管理员考虑我们找不到肉鸡了『都2004年了,肉鸡很难找的,因为各位大侠都用着呢』,所以特地给我们准备好了),把我高兴的几天都没睡好,可惜里面没什么东西。只能当空间用着了。不过我们学校的主机大都用的是UNIX的,不是瘟二钱的,所以也让人有点郁闷啊,UNIX有点复杂,我只得从0学,还有点难,我会在后面讲到的,现在我们主要是关注WIN2000操作系统的主机了,说到这不能不提一下WIN2K源代码的泄漏,兄弟我在第一时间拿到了这个泄漏的源代码,有230M,还真多,看了一个晚上,也不怎么了解,反正有的是时间,先贴一段,大家瞧瞧,有看懂的,就不用来这看这了,呵呵
    贴在网络技术里了
    至于软件方面我喜欢用流光(有些人或许不知道这是什么),是扫描器,很好用,是国产的,就是前面访问的小容做的,但他在里面设置了限制不许PING国内的主机,但好多大哥早就破掉了(感觉很幸福啊,不用自己破了),现在的最高版本好像是流光5。0吧,到GOOGLE 上搜一下就能找到N个,我就不说了(要提高动手能力嘛)
    下面我来介绍几种常见的扫描器:
    一。NSS(网络安全扫描器)
    NSS由Perl语言编成,它最根本的价值在于它的速度,它运行速度非常快,它可以执行下列常规检查:
    ■Sendmail
    ■匿名FTP
    ■NFS出口
    ■TFTP
    ■Hosts。equiv
    ■Xhost
    注:除非你拥有最高特权,否则NSS不允许你执行Hosts。equiv。
    利用NSS,用户可以增加更强大的功能,其中包括:
    ■AppleTalk扫描
    ■Novell扫描
    ■LAN管理员扫描
    ■可扫描子网
    简单地说,NSS执行的进程包括:
    ■取得指定域的列表或报告,该域原本不存在这类列表
    ■用Ping命令确定指定主机是否是活性的
    ■扫描目标主机的端口
    ■报告指定地址的漏洞
    尽管没有详尽讨论NSS,但我在这里要说明一些次要的问题:
    ■在对NSS进行解压缩后,不能立即运行NSS,需要对它进行一些修改,必须设置一些环境变量,以适应你的机器配置。主要变量包括:
    ■TmpDir_NSS使用的临时目录
    ■YPX…ypx应用程序的目录
    ■PING_可执行的ping命令的目录
    ■XWININFO_xwininfo的目录
    提示:如果你隐藏了Perl include目录(目录中有Perl include文件),并且在PATH环境变量中没有包含该目录,你需要加上这个目录;同时,用户应该注意NSS需要ftplib。pl库函数。NSS具有并行能力,可以在许多工作站之间进行分布式扫描。而且,它可以使进程分支。在资源有限的机器上运行NSS(或未经允许运行NSS)应该避免这种情况,在代码中有这方面的选项设置。
    你可在下面地址找到NSS拷贝。 giga。or。at/pub/hacker/unix 
    二。Strobe(超级优化TCP端口检测程序)
    strobe是一个TCP端口扫描器,它可以记录指定机器的所有开放端口。strobe运行速度快(其作者声称在适中的时间内,便可扫描整个一个国家的机器)。
    strobe的主要特点是,它能快速识别指定机器上正在运行什么服务。strobe的主要不足是这类信息是很有限的,一次strobe攻击充其量可以提供给“入侵者”一个粗略的指南,告诉什么服务可以被攻击。但是,strobe用扩展的行命令选项弥补了这个不足。比如,在用大量指定端口扫描主机时,你可以禁止所有重复的端口描述。(仅打印首次端口定义)其他选项包括:
    ■定义起始和终止端口
    ■定义在多长时间内接收不到端口或主机响应,便终止这次扫
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架