拓展知识

APT (Advanced Package Tool,高级软件包工具)是一个打包管理 系统。APT允许使用命令行的方式,快速便捷地安装、更新、删除软件。 除了茴单以外,APT最大的优势是它可以自动解析软件之间的依赖关系。 也就是说,如果安装的软件包还需要其他软件,APT会自动地定位并安 装这个软件。这种自动解析软件依赖关系的 方法是对过去“依赖地狱” (dependency hell)的重大改进。
通过APT来安装软件非常直观。举例来说,假如你想安装网络映 射工具Cheops。只要你知道了想要安装的软件包的名字,在命令行输 入apt-get install加软件的名字即可。安装软件之前最好先运行apt-get ^update,这样可以确保获得安装软件的最新版本。安装Cheops时,可以输入以下命令:

apt-get update
apt-get Install cheops

软件安装之前,你会看到还有多少磁盘空间可用,并询问你是否继 续。你可以输入“Y”并按回车键来进行新软件的安装。
如果你不喜欢使用命令行,有几个GUI可用于与API交互。当前最 流行的图形交互前端软件是Aptitudeo其他软件包管理器的讨论我们日后再说。

Backtrack Linux 介绍

用于渗透测试的最常用的发行版之一是“Backtrack”。Backtrack Linux 是学习黑客知识和执行渗透测试最便捷的工具。Backtrack Linux让我想起了 《黑客帝国》第—部中的一个场景,当时探克(Tank)问尼奥(Neo):“除了 奇迹你还需要什么?”尼奥回答说:“枪。许多枪。”这时,一排又一排的枪 涌现在电影画面中。这里有各种能够想到的供尼奥和崔妮蒂(Trinity)使用 的枪:手枪、步枪、猎枪,半自动的、全自动的、大小不同的手枪,从发射 到爆破不一而同,各种武器源源不断地供他们选择。对于大多数新手来说, 当他们第一次使用Backtrack时,会有同样的感受,那就是他们面对着“工 具。许多工具”。

Backtrack Linux让黑客爱好者梦想成真。Backtrack Linux完整版是专 为渗透测试人员定制的。它预先加载了成百上千种安装并配置好的安全工 具,以方便用户使用。尤其是,Backtrack是免费的!你可以从http://www. Backtrack-linux.org/downloads/ 上下载。

Backtrack网站提供了 .iso或VMware映像两种下载格式。如果选择下 载.iso格式的文件,需要将该文件刻录到DVD中。如果你不知道如何刻录 DVD,请在Google ±搜索“刻录iso格式文件”(burning an iso)。一旦你 完成了刻录,你就拥有了一张启动盘。大多数情况下,使用这张启动盘启动 Backtrack是非常简单的,只需要将光盘放入光驱并重启机器即可。但有些时 候,你可能需要在BIOS中将光驱设置为优先启动。

如果你下载的是VMware映像格式的文件,你还需要能够打开、部署或 者能直接运行该映像文件的软件。幸运的是,有几个很好的工具能完成这项工 作。你可以根据自己的喜好选择VMware公司的VMware Player, Sun公司 Microsystem的VirtualBox,或微软公司的Virtual PCO如果你不喜欢上面提 到的三款软件,还有很多其他的选择。你只需要选择一款适合自己的就行了。
上面列出的三个虚拟化软件都是免费的,都能运行VM映像文件。你 需要决定哪个版本最适合自己。

VMware Player的下载地址是:http://www.vmware.eom/products/player/o你需要先注册一个账号才能下载该 软件,注册过程非常简单而且是免费的。

如果你不知道该选择哪个软件,建议你使用VMware0它不仅是一种值 得称道的技术,而且可以让你在单机上搭建一个完整的渗透测试实验环境。 如果你使用笔记本电脑,你就拥有了一个“可移动的”渗透测试实验环境, 可以随时随地练习你的技能。
若你使用DVD启动盘来运行Backtrack,系统启动之后,你会马上看 到一个菜单列表。你必须仔细阅读菜单列表,它包含几个不同的选项,最开 始的两个选项用来设置屏幕分辨率的一些基本信息。如果你无法正常启动 Backtrack,请选择“图形界面安全模式启动Backtrackwo菜单中的其他选项 本书就不再讨论了。要选择所需的引导方式,只需移动箭头来高亮显示相应 的选项,按回车键确认即可。图1-1就是Backtrack启动时的一个截图。
使用Backtrack不需要完全照搬本书的内容,也不需要什么黑客知识。 Backtrack可以在Linux的任何版本上运行。Backtrack的最大优势是它已 经为你预加载了所有的工具。如果你使用与本文不同版本的Linux,就需要 在阅读相关章节之前安装必要的工具。请记住,本文侧重于基础知识,任
何版本的Backtrack都是可以的。本文研究和使用的所有工具在任何版本的 Backtrack 中都有。

图1-1

使用Backtrack:启动引擎

不管选择VM来运行Backtrack还是选择Live DVD启动Backtrack,系 统加载后就会看到一个登录提示符,默认的用户名是root,默认密码是toor。
请注意,默认的密码只是反过来拼写的“root”。这种默认用户名和密码 的组合方法从Backtrack 1开始沿用至今,很可能会在以后的版本中继续使 用。当输入默认的用户名和密码之后,就可以登录系统了,登录后会看到系 统提示符:“root@bt:〜#”。虽然本文讨论的很多工具直接通过命令行就能运 行,但对于初学者而言,使用图形化的X Window System会更加容易。启动 GUI需要在“root@bt〜#”提示符后边输入命令:

startx

输入这条命令后按回车键,X将开始加载。对于它的环境,大多数计算 机用户都非常熟悉。一旦完成加载,就会看到桌面、图标、任务栏和系统托 盘。这个界面与微软的Windows操作系统类似,可以通过移动鼠标并草击所 需对象与系统进行交互。
本文用到的大多数程序都是在终端中运行的。
默认情况下,Backtrack并不启用网络功能,这与微软的Windows系统 以及大多数当今流行的Linux操作系统不同。这种设置是故意的,因为作为 渗透测试人员,我们通常会设法隐藏自己来避免被人发现。计算机一旦接入 网络,启动之后就会马上通过广播的方式向整个网络申请DHCP服务器和IP 地址,好似无声的呐喊:“快看! !快看! !我在这里! ! ”为了避免这种情 况,Backtrack机器的网络接口默认是关闭的。
启用网络最简单的方法就是通过终端。单击最左边箭头形状的终端图标 可以打开一个终端窗口,终端打开后,输入如下指令:

ifconfig -a

这条命令会把计算机上所有可用的接口以列表的形式罗列出来。大多数 计算机至少都会有一个eth0网卡和一个Io接口。“Io”接口是计算机的环回 接口。“eth0”是计算机上的第一张以太网卡。根据计算机的硬件配置,可能 会有其他的接口或接口设备清单。如果通过VM来运行Backtrack,主接口 一般就是eth0。
要打开网卡,需要在终端窗口中输入如下命令:
ifconfig eth0 up
我们详细解析一下这条命令,“ifconfig”是一条Linux命令,其含义是 “我想要配置一个网络接口”。众所周知,“eth0”是计算机系统的第一个网络 设备(记住计算机的计数是从0开始而不是1),关键字“up”用于激活接口。 因此我们大致可以将这条命令翻译为“我想将第一个接口配置成打开状态”。
现在,接口打开了,需要配置一个IP地址。配置IP地址有两种基本方 法。第一种方法是手动分配IP地址,在上述命令(ifconfig eth0 up)的后 边添加要配置的IP地址即可。例如,如果我们想给网卡分配一个IP地址 192.168.1.23,应该输入:

if config eth0 up 192.168.1.23

现在IP地址配好了,还需要配置网关和域名系统(DNS)服务器。在 Google 上搜索"设置linux网络接口卡” (setting up nic linux),我们就会了 解到相关知识。通过在终端窗口执行如下命令来验证输入是否有效:

ifconfig

运行该命令后,你就会看到网络接口的所有当前配置信息。因为本文面 向的是初学者,为了简单起见,这里不考虑网络隐身。在这种情况下,获取 地址最简单的方法是使用DHCP。通过DHCP分配地址,只需执行命令:

dhcllent eth0

请注意,使用上述命令的前提是已经运行相关命令,并成功地打开了网 络接口(本例中为eth0)。
现在,我们已经成功地分配了 IP地址,最后要解决的问题是如何关闭 Backtracko和大多数Linux系统一样,有很多方法可以关Backtracko其 中最简单的一个方法是在终端窗口中输入命令:

poweroff

如果你想重启系统而不是关闭系统,那么也可以使用reboot命令来代替 poweroff。

黑客实验环境的搭建与使用

每个道德黑客都需要一个能够进行实践和探测的环境。学习使用黑客工 具怎样才能不违法,或者怎样才能确保不侵犯未授权的目标,这让大多数新 手都感到迷惑。通常搭建一个个人“黑客实验环境”就可以解决上述问题。 黑客实验环境是一个沙箱环境,在这里的流量和攻击被隔离起来,或者不会 触及未授权和未经同意的目标。在这个环境中,你可以任意利用所有的工具 和技术,不用担心某些流量或者攻击脱离了你的网络。搭建实验环境至少需 要两台计算机:一台模拟攻击机器,另一台模拟受攻击机器。还可以有其他 的配置方法,同时部署多个受攻击机器能够模拟更真实的网络环境。

合理的使用和搭建黑客实验环境是至关重要的,因为这是最有效的学习 手段之一。学习和掌握渗透测试的基本知识也需如此。

对黑客实验环境而言,至关重要的一点是要保证网络的隔离。你必须通 过配置实验室的网络环境以确保通信流量不会逃逸或流出本网络之外。错误 总会发生,即使最谨慎的人也有可能输错ip地址。即使是输错ip地址中的 一个数字这样简单的错误,都有可能给你带来非常严重的后果。如果在黑客 实验环境中本打算设置的目标地址是172.16.1.1,并对其进行了一系列的扫 描和攻击,后来却发现实际上录入的IP地址是122.16.1.1,这会令你感到惭 愧,而且更重要的是,这样的错误有可能会违法。

搭建沙箱或隔离的环境,最简单、最有效的方式就是从物理上断开网络 或将你的网络与互联网断开连接。如果你使用的是物理设备,那么通过调整 以太网线缆和交换机来改变路由流量是最好的方法。另外要再三检查你的无 线NIC是不是关闭了。继续下一步工作之前要经常地检査你的网络是否存在 潜在的流量泄露。

虽然用物理机器搭建黑客实验环境是一个不错的解决方案,但是,使用 虚拟机来做这件事有几个明显的好处。首先,基于当前处理器的处理能力, 在单个台式机或笔记本电脑上搭建一个“迷你”的黑客实验环境是很容易的。 大多数情况下,我们会使用最少的资源来建立攻击目标,因此-台普通的计 算机能同时运行两台或三台虚拟机。即使是在笔记本电脑上,也能同时运行 两台虚拟机。使用笔记本电脑的另一个好处是实验环境是可移动的。现在外 部存储器成本非常便宜,将几百台虚拟机器装入一个外置硬盘驱动器上很容 易,携带起来也方便,安装也就几分钟的事情。每次你想实践的时候,或者 想研究一下新工具的时候,只要打开Backtrace并将虚拟机部署为目标对象 就可以了。搭建一个这样的实验环境可以让你拥有快速的、以即插即用的方 式安装和配置不同操作系统的能力。
在渗透测试实验环境中使用虚拟机的另一个好处是,它可以很轻松地使 整个系统沙箱化。只需要关闭无线网卡并拔出网线,这时物理机和虚拟机仍 可互相通信,并且确保了没有攻击流量能流出你的物理机器。
一般而言,渗透测试是一个破坏性的过程。我们使用的许多工具和漏洞 利用方法都有可能导致系统损坏或掉线。有些时候,重装操作系统或应用程 序比修复更容易。这也是虚拟机的另一个优势。虚拟机可以快速地重置或恢 复到它的初始配置,既不需要重新安装像SQL Server这样的程序,也不需要 重新安装整个操作系统。

渗透测试的步骤

与大多数工作一样,渗透测试的整个过程可以分解为一系列的步骤或阶 段。各个步骤放到一起,就形成了一个完成渗透测试的全面方法论。如果对 未涉密事件的响应报告或已泄密公开的文件进行仔细分析,那么就能发现大 部分黑帽黑客在进行目标攻击时也会遵循一定的流程。规范的测试流程很重 要,这不仅能让渗透测试人员集中注意力并不断推进工作,而且每一步的测 试结果或输出也能在接下来的测试阶段得到使用。

运用一套已成体系的方法论,可以将一个复杂的过程分解为一系列小的、 易操作的任务。理解并遵循某个方法论对于掌握黑客基础知识十分重要。不 同的方法论其步骤也不尽相同,但一般都包括4〜7个步骤或阶段。虽然每 套方法论拥有不同的名称和步骤数,但重要的是,这些方法论都提供了一个 与渗透测试过程相关的完整概述。

例如,有的方法论使用术语“信息收集”,而其他的方法论则把这个同样 的过程叫做“侦察w (Reconnaissance)0本书侧重于不同阶段的活动内容而 不是它们的名称。当你掌握了基本知识以后,就可以从众多的渗透测试方法 论中选择最适合自己的那一个了。

为了简单起见,我们用一个包括四个步骤的方法论来学习和探讨渗透测 试。如果你搜索和研究其他的方法论(这样做很重要),你会发现它们采用的 步骤与我们使用的不同,也许多一些,也许少一些,并且每个步骤的名称也 不相同。重要的是要了解,虽然每个渗透测试方法论使用的术语不同,但大 多数所涵盖的主题是一样的。

上述规则中有一个例外:许多黑客方法论的最后一步称为“隐藏”、“掩 藏痕迹”或者“销毁证据”。因为本书侧重于基本概念的理解,所以我们使用 的方法论不包含这一步。一旦你掌握了扎实的基础知识,你就可以继续研究 和学习关于这一步骤的更多知识了。

图 黑客渗透测试入门方法论
倒三角方法论很好地契合了本书由广泛到具体的讨论方法。例如,侦査 阶段,我们要尽可能多地捜集网络上的信息。关于目标的每一个细节和每一 条信息都要搜集并保存。在渗透测试领域里有很多经典的例子,那些在渗透 测试初始阶段收集到的看似微不足道的信息,后来被证明是成功完成漏洞攻 击并获取系统权限的重要组成部分。在后续的阶段,我们就可以关注目标更 加具体的细节问题了。目标在哪里?它的IP地址是多少?它运行的是什么操作系统?它开启了哪些服务和哪些版本的软件?正如你所看到的,每一个问 题都变得越来越细化了。

理解每个步骤的次序也是很重要的。这些步骤执行的先后顺序非常关键, 因为某一步的输出或者结果就是后续步骤的输入。你不仅需要了解如何简单 地运行本书介绍的安全工具,更要知道,以正确的顺序运行这些工具对执行 一个全面且真实的渗透测试来说至关重要。

例如,很多初学者跳过了侦査阶段直接开始对目标进行漏洞攻击。跳过 了第一步和第二步,结果只能是在每个目标上搜集到少量的目标列表和攻击 向量(attack vector)。换句话说,这是在投机取巧。虽然知道如何使用一套 工具能够引起他人的关注,但这并不是安全从业者和专业人士所采用的严谨 的工作方法。

对于初学者而言,将介绍的这些步骤想象成一个环是很有帮助的。当前, 重要系统都不会将自己直接暴露在互联网上。大多数情况下,在渗透测试人 员找到一条到达预定目标的路径之前,他们必须先对一系列相关的目标进行 访问和渗透。在这种情况下,每一个步骤常常会重复出现。

黑客入门:四步模型法

我们粗略地讨论一下四步模型法涉及的内容,以便你对它有一个直观的 认识。任何渗透测试方法的第一步都是“侦查”。这个阶段负责收集目标的信 息。如前所述,你从目标上搜集到的信息越多,你就越有可能在后续阶段取 得成功。第2章将详细地讨论侦査。

不管你有什么样的初始信息,在完成深入侦査之后,你都应该获得了目 标的IP地址列表。该方法论的第二步可以分解为两个截然不同的活动。一个 是执行端口扫描。一旦完成了端口扫描,就拥有了目标的开放端口和可能已 开启服务的列表。第二个活动是漏洞扫描。漏洞扫描用于定位和识别在目标 计算机上运行的软件和服务所存在的缺陷。

依据步骤2得到的相关结果,继续“漏洞利用”阶段。一旦我们确切地 知道了目标计算机上开启了哪些端口,端口上都运行了哪些服务以及这些服 务存在着什么样的漏洞,就可以开始进行目标攻击了。大多数新手都认为这 一步才是“真正”的黑客行为。漏洞利用包含许多不同的技巧、工具和代码。 第4章会讨论一些最常用的工具。漏洞利用的最终目标是在目标计算机上获 得管理员权限(即完全控制权)。

要掌握的最后一个步骤是“维持访问”。通常,在漏洞利用阶段提供的攻击 载荷只能提供开启系统的临时访问权限。因为大多数攻击载荷都是临时的,所 以需要创建一个可以永久控制目标系统的后门进程。这个后门进程可以让我们 以管理员的权限重新开启已经关闭的程序,甚至是重新启动目标计算机。作为 一名道德黑客,对于这一阶段的使用和实现我们必须非常小心谨慎。我们将讨 论如何完成这一步骤,以及使用后门或远程控制软件所涉及的道德问题。

每一个渗透测试最后的工作就是编写报告(这无疑是最重要的),但是它 并不作为渗透测试方法论中的一个正式步骤。不管你花了多少时间和心血来 实施渗透测试,客户通常只会根据报告的质最来评判你的工作效果。渗透测 试的最终报告应当包含测试过程中发现的所有相关信息,还要说明测试实施 的细节和测试内容。报告应当尽可能地针对发现的安全问题给出缓解和解决 的方案。最后,每一个渗透测试报告都要包括一个总结。总结的目的是对你 的成果进行一个简短的(大约1〜2页纸)、非技术性的概述。报告应对你发 现的最关键的安全问题进行强调并做简要总结。一定要注意,报告对技术人 员和非技术人员来说都要通俗易懂。这才是详细报告的真正目的,千万别在 报告中涉及太多的技术细节。

渗透测试学习笔记_Day1相关推荐

  1. KALI LINUX渗透测试学习笔记

    KALI LINUX渗透测试学习笔记 (苑房弘主讲) 第1章 课程介绍 任务1:Kali Linux渗透测试介绍.exe 安全问题的根源: 分层思想 只求功能实现 最大的威胁是人 渗透测试: 尝试挫败 ...

  2. kali linux 渗透测试学习笔记——被动信息收集

    kali linux 渗透测试学习笔记--linux 被动信息收集 被动信息收集 被动信息收集 公开渠道可获得的信息 已公开的信息,通过互联网等渠道去获得 与目标系统不产生直接交互 不对目标访问,扫描 ...

  3. 渗透测试学习笔记之案例二

    0x00 前言 渗透是个持续的过程,不断地搜集信息,整理信息,以及利用信息,最终的目标就是拿到系统乃至整个网络的最高权限.在笔者看来,渗透测试与安全研究的最大不同就是前者擅长利用后者的研究成果并运用到 ...

  4. 渗透测试学习笔记20.11.20

    目录 杂项 Kali linux Metasploitable2 (Linux) POC.EXP.Payload与Shellcode dvwa Apache cdn如何防止DDOS攻击 Kali抓包破 ...

  5. 渗透测试 学习笔记 思维导图

    资源简介 此资源为本人自学渗透测试过程中做的一些笔记,为思维导图模式,用XMind ZEN 可打开,主要涉及到渗透测试的基本步骤,所用到的工具和渗透方法,ruby语言的简单学习,近源渗透测试的详细学习 ...

  6. 【Linux_Kali网络渗透测试学习笔记总结(五)】社会工程学攻击

    网络渗透测试(五):社会工程学攻击 社会工程学时利用人性弱点体察,获取有价值信息的实践方法,它是一种欺骗的艺术.在缺少目标系统的必要信息时,社会工程学技术是渗透测试人员获取信息的至关重要的手段.对所有 ...

  7. Web渗透测试学习笔记

    文章目录 第一章 信息收集 1.1域名信息 1.1.1whois查询 1.1.2备案信息查询 1.2敏感信息 1.3子域名信息 1.3.1 子域名检测工具 1.3.2搜索引擎枚举 1.3.3第三方聚合 ...

  8. 渗透测试学习笔记(metasploit)

    METASPLOIT exploit-db.com •Metasploit就是一个漏洞框架.它的全称叫做The Metasploit Framework,简称叫做MSF.Metasploit作为全球最 ...

  9. 渗透测试学习笔记之案例五

    0x00 前言 今天这篇文章主要来分享一个在渗透测试过程中如何通过逐步收集信息并最终拿下目标主机的案例. 0x01 案例分析 实验环境: 目标靶机:10.11.1.0/24 攻击机:Kali Linu ...

最新文章

  1. Wireshark筛选常用命令
  2. python中的any函数_python函数-any()
  3. RGB和RGBQUAD的区别
  4. 怎样洗头使头发变黑变多
  5. Sublime text3装入插件Anaconda
  6. 关于2d物理引擎box2d与ape的评论
  7. Mysql Cluster集群实现高可用
  8. h3cIP和TCP抓包分析实验
  9. 多张DXF格式图纸网页上转换成PDF格式如何操作?
  10. Omi教程-生命周期和事件处理
  11. php 判断3g,php 3g{WAp}网站编写注意事项
  12. 免费的html代码大全,html代码大全,搜集最全的html代码.doc
  13. 测试鼠标点击速度软件编程,怎么测试鼠标自动点击速度
  14. 如何将3DMAX参数重置为默认值?
  15. 2472 莫斯方块——题解与C++示例代码
  16. object-c 字符串 c语言字符,Objective-C中字符串的拼接方法小结
  17. u3d:200个插件免费分享
  18. 刀片服务器切换显示,刀片机服务器切换
  19. “不限流量卡”真的不限量,但是却限制了这些!
  20. php微信卡包代码,微信卡券,在卡包中跳转到小程序的字段怎么填写

热门文章

  1. CGB2105-Day09
  2. C语言—猜数字游戏的实现
  3. 7、帆软填报-分页预览
  4. 深入理解 Linux 内核---访问文件
  5. 大数据系列——什么是hive?hive用来干什么的?hive常见问题是啥?
  6. 古龙妙语大全 下 朱近墨
  7. 周志华《机器学习》西瓜书新出算法推导视频!(超级详细)
  8. Oracle 后台进程(六)PMON进程
  9. 一些基础条件判断语句
  10. 2015年培养学员25万人,每年增长25%,请问按此增长速度,哪一年培训学员人数到达100万人?