1.3 软件要求
本节我们关注你的实验室里的软件要求,包括操作体统和应用软件。你可能会疑惑该如何选择正确的操作系统或者怎样判断哪款操作系统才是你最需要的。在搭建 络安全实验室过程中,你使用的软件起着至关重要的作用。如果你的预算紧张,那么正确选择适合你的软件尤为重要,有几款软件是你必须安装的。
最大程度利用你的预算的一个办法就是购置虚拟机。这个选择节省硬件的开销因而性价比非常高。此外你也需要考虑一下哪些应用程序和工具需要安装在新系统里。最后不要忘了你搭建这个测试实验室的最终目标:实验室是专门用来做实验和测试的,而你永远不要在你工作所在的生产 络上运行测试软件或实验。当几个你不熟悉的程序同时运行时,它们可能相互影响并产生不可预估的后果,最严重的甚至可以导致系统的崩溃。你当然不希望来承担系统崩溃造成的损失,因此,实验室一定要建在非生产 络上。
1.3.1 操作系统
在安装操作系统和应用软件之前,你的硬件几乎什么都干不了。所以,下一节我们来讨论一下各种不同的操作系统的优劣。我们从微软公司的操作系统开始。
1.微软公司的Windows系列
不用我说你也知道,任何一个测试 络中都会或多或少运行某个版本的Windows系统。在过去的20年中,在微软公司的帮助下,计算的概念已经被重新定义。 这段历史最早可以追溯到Window 3.11和Windows for Workgroups的那个时代。这款操作系统是微软公司早期的畅销产品之一,它给用户提供了图形用户界面和连接 络的功能。在1994年,微软发布了Windows NT 3.5系统,这是一个为企业打造的用户/服务器模式的操作系统。随后的版本包括Windows XP、Server 2003、Server 2008、Server 2012、Vista、Windows 7、Windows 8和Windows 10等。
第一个要考虑的问题就是你需要安装哪个版本的Windows系统。如果你能找来一份Server 2003系统的拷贝,对你来说它是个不错的选择,因为有相当多的针对该系统的漏洞攻击程序可供你学习。此外,出于在企业中普遍性的考虑,你可以选择Windows 7。如果你决定安装Windows 7操作系统了,先检查一下你的硬件是否满足安装该系统的最低要求。
处理器——1GHz主频,32位处理器或64位处理器。
内存——1GB RAM(32位系统)或2GB RAM(64位系统)。
硬盘——16GB(32位系统)或20GB(64位系统)的可用硬盘空间。
显示器——VGA(800 × 600)。
光盘驱动——支持CD-ROM或DVD。
其他配件——键盘和鼠标。
以上配置对比起Windows Server 2012系统,会发现Windows Server 2012的最低要求高出了很多。
处理器——1.4 GHz主频,64位处理器。
内存——4GB RAM。
硬盘——32GB的可用硬盘空间。
显示器——Super VGA(1024 × 768)或高分辨率显示器。
光盘驱动——DVD。
其他配件——键盘、鼠标和互联 接入。
以上数据可以清楚看出,满足Windows 7系统的最低要求要比达到Windows Server 12系统容易很多。本书中所涉及的大多数内容,Windows 7操作系统可以完全应对。你可能会考虑升级到Windows 8系统,当然没有问题,不过需要注意并不是所有人都喜欢Metro风格界面。我们刚刚说到硬件,值得一提的是微软公司发布过一个硬件兼容性列表:www.microsoft.com/whdc/hcl/default.mspx。在你安装前一定要去该站点进行检查,确保你的硬件设施和你要安装的软件完美兼容。如果你购买的是二手设备的话,这一步就更加必要。
如果你现在还不确定应该购买哪个版本的Windows系统,表1-2列出了对几款Windows系统的评价,哪些是“必安装的”,哪些是“推荐安装的”。
你选择好要下载的版本后,你就进入到了该版本的下载界面。
图1-7显示了Fedora 安全实验室版本的下载界面。
Shadow与Salt的对比
计算机领域曾经是一个充满信任的世界。在不久的过去,Linux系统里的密码还是以明文的形式存储在passwd文件里。而passwd文件是完全可读的,也就是说任何人可以访问这个文件并读取密码,不光包括正规用户和进程,也包括入侵系统的坏人。这也促使了shadow文件的引入。
shadow文件只允许root用户访问,这就防止了未授权的用户偷看这些他们本不应该看的密码文件。现在即使他们看见了密码,他们看见的也不是未加密的明文,而是经过散列函数散列过的密文。散列函数被视为不可逆的单向函数,即由原始值散列出散列值很容易,但由散列值逆推出原始值非常困难。而散列函数存在的问题是如果两个原始值相同的话就会得到相同的散列值。Salt值正是为了解决这个问题而出现,它能为加密提供一层随机性。一个完整的散列值是这样的:$1$_SALT_$_HASH_。$1$表示生成这个hash的算法,在这个例子里,就是指MD5算法。Salt值可以是任意长度,一般使用两个随机字符,并且作为加密后密文的前两个字符来存储。比如,加密后的密文是1yAkjfqifnips,那么1y就是salt值。这个值不仅在用户登录时要用到,在黑客攻击想要破解账户时也要面对。
由于散列过程是不可逆的,目前没有已知的破解方法可以根据散列值逆推出原始值。然而,攻击者可以从密文中提取出salt值,然后从密码字典中选择密码,把salt值逐一与密码字典中的密码匹配计算MD5的散列值,然后比较得到的散列值和密文。如果某个用户的密码正好出现在密码字典中,这种穷举法破解就能生效。
现在你熟悉了Linux系统的基本操作了,接下来了解一下苹果公司的Mac OS X操作系统。
5.苹果公司Mac OS X
自1984年发行至20世纪90年代末由于更新而停止生产,Macintosh操作系统一直被认为是极具创新性的。而这个更新则是Mac OS X系统的发布。NeXT软件公司开发的OS系统就是OS X的前身。OS X是一款基于FreeBSD的类Unix操作系统,该系统为了满足当前和未来的计算需求而特别开发的。截止到本书出版时,OS X发布了10.10 Yosemite版本。10.44版本发布以来,该系统从原先的只支持PowerPC处理器转变成兼容Intel处理器。不过当你还沉醉于能在自己的因特尔计算机上运行苹果系统的喜悦之中时,苹果公司宣布Mac OS X只能在他们自己生产的基于因特尔处理器的苹果电脑上运行,其他的计算机不行。最后的结果是,如果你想在你的计算机上安装OS X系统,需要添加额外的硬件。所以你不得不考虑值不值得应用这项技术。
Alpha软件和Beta软件
Beta一词据说在20世纪60年代起源于IBM公司。Alpha测试是程序员和质量工程师对软件进行的第一轮测试,目的是检测软件是否正常运行。Beta测试在其之后。Beta测试在软件开发产业被广泛地应用。这个第二轮的产品开发过程包括潜在用户对产品进行的内部和外部的测试。
尽管此时软件可能仍然性能不稳定,但是会比Alpha测试阶段更加用户友好,并能给程序员、质量工程师、用户展现出产品的最终模样。在从这些初始用户收集到足够多的反馈后,产品会在最终发布前进行新一轮的改良和优化。
1.3.2 软件和应用程序
安装操作系统只是革命胜利的一半。安装好操作系统后,你需要部署一些客户端的安全工具进行一些实际探索工作了。安全应用已经出现有一段时间了。Dan Farmer和Wietse Venema在1995年开创了安全应用程序流派并且开发了最早的漏洞评估程序之一:安全管理员的 络分析工具(SATAN)。这个程序为之后的众多安全工具定下了标准,它不仅允许用户通过互联 扫描防范薄弱的计算机,还提供了包含许多可调用函数的包文件。尽管SATAN对于安全管理员来说是不可多得的工具,但它同样为黑客们提供了便利。工具没有善恶之分,主要看使用者如何使用。
撒旦的日子屈指可数
在1995年,当时 络漏洞工具还很少。这也是SATAN能在 络安全领域产生轰动的原因。在那时,争论的焦点是关于开发出这项工具的真正意图,到底是为了让安全管理员更好地检验安全配置还是为了黑客更好地扫描和入侵系统1996年Dan Farmer做的一项调查时争论进入了白热化,在该调查中,Dan Farmer利用SATAN扫描了互联 上的2200个主机,发现超过半数的系统很容易被攻陷。Dan Farmer是在系统的所有者不知情的情况下进行的扫描,而且这些扫描对象并不是个体小商户,而是银行、金融机构这样的知名大企业。
另外一个问题是关于这个程序的名字。为了解决这个问题,程序的安装包里包含一个叫repent(忏悔)的程序。这个repent程序可以把所有的以SATAN(撒旦)命名的实例转变成以SANTA(圣诞老人)命名。
SATAN是在Web浏览器上运行,这使得它易于使用并且能以简明的格式总结出结果。尽管SATAN在现如今看来有些过时了,但它掀起了 络安全软件的开发热潮,这项功绩是空前的。如今,以SATAN为基础开发的后续产品包括SARA、SAINT和Nessus等。
如今,有不计其数的客户端安全工具可以用来扫描和探测漏洞,评估安全级别。一部分安全工具是合法的然而另一部分是由黑客或一些心术不正的人编写的。作为安全领域专家,你当然需要一些趁手的工具,不过在把它们部署到 络上之前要确认你得到了授权。
1.3.3 学习软件
本章的最后一小节关于学习软件和黑客软件,这些软件可以帮助你分析常见的安全问题,修正错误的配置。我们使用学习软件的根本目的是用它来提高你的 络安全技能。https://www.vulnhub.com/ 站是开启你学习之旅的一个不错的起点。该 站提供应用程序的下载和任务挑战,适合任何水平的人汲取 络安全工作的实际操作经验,如图1-9所示。实验室的创建者研究主机或服务器系统的缺陷,然后利用这些缺陷去完成任务挑战比如入侵“hack me”站点。该 站订阅服务的可接受使用策略规定禁止订阅者对 站进行任何形式的攻击行为。

下一个 站是www.wechall.net/。这个 站内包含了各种任务挑战 站的链接,包括黑客技术、密码学、信息伪装等。如果这些挑战还不能满足你的话,下面还有两个 站值得一看。
Hacme Bank——这是一个基于 络的银行系统,可供练习你的黑客技术,这并不是真正的银行 络,所以你完全没有后顾之忧。
Damn Vulnerable Linux——这是一个Linux发行版,但里面的应用程序有不少漏洞让你练手。
Hacme Bank和我们之前列出的那些工具工作原理相近。它可以从Foundstone公司的 站下载:www.foundstone.com/us/resources-free-tools.asp。该应用也会安装一个虚拟的银行系统用来教你如何创建安全的软件。Hacme Bank里也被预先植入了各种各样的常见漏洞,比如SQL注入和跨站脚本攻击。这项工具也被用在Foundstone的安全培训课程中。
Damn Vulnerable Linux可能并不是最新的有关黑客技术的发行版,但它一直很受欢迎。 你可以在这个站点下载: http://distrowatch.com/table.phpistribution=dvl。Damn Vulnerable Linux上安装了许多不完整的、有错的、过时的、可被攻陷的程序。它的主要目的就是为像你这样的实验室管理员提供一个超级脆弱的Linux系统,你可以在上面尝试各种攻击和实验,比如代码注入、缓冲区溢出攻击、shell编写、 络漏洞攻击、SQL注入等。
1.3.4 黑客软件
可能你已经被本节的标题所吸引了。其实,黑客程序是指黑客和安全专家们经常使用的软件和应用程序。事实上,你建立 络实验的过程就是建立了一个你可以完全控制并且随意“入侵”的环境。此时必须再一次提醒你,永远不要把攻击程序部署在外部 络或不属于你个人的 络上,除非你得到了该 络管理员的允许。不要因为学到了知识而忽视了法律。
许多软件不仅可以用来做好事,也可能用来做坏事。比如端口扫描器,攻击者用它来扫描开放端口,利用这些端口实施他的攻击;安全专家用端口扫描器检测端口是否关闭,防火墙规则是否工作良好。因此,如果你想列一个表总结一下这些双用软件,如下列出的工具会对你有所帮助。
http://sectools.org是收集这些黑客工具的最好 站。这个 站由Insecure.Org维护,在2000年起一直在发布热门安全工具排名。登录这家的 站就能查看到完整排名,这里我们只列举以下最热门的前十名。
Wireshark——包嗅探工具。
Metasploit——漏洞攻击程序框架。
Nessus——漏洞评估工具。
Aircrack——无线漏洞攻击工具。
Cain&Abel——各类Windows系统漏洞攻击工具。
Netcat——后端命令行隧道工具。
tcpdump——包嗅探工具。
John the Ripper——密码恢复工具。
Kismet——无线黑客工具。
Burp suite—— 络代理和 络应用测试器。
还有下面几个是必须提到的。
OWASP Web Proxy。
Capsa Network Analyzer。
Nmap。
BeEf Browser Exploit Framework。
IDA Pro。
OWASP Xenotix Exploit Framework
FOCA Network Intelligence tool。
另外还有许多其他的黑客工具可以在 络上找到,但其中一大部分除了传播恶意软件和病毒外没有任何实际作用,比如病毒制造机和远程登录木马。本书不会花时间讲解这类软件,但是不要忽略它们的存在。
文章知识点与官方知识档案匹配,可进一步学习相关知识 络技能树首页概览22505 人正在系统学习中 相关资源:1stopt数据拟合软件_曲线拟合软件-深度学习文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!