在本文中,我们将为您详细介绍KaliLinuxWeb渗透测试手册(第二版)-2.8-利用robots.txt的相关知识,并且为您解答关于web渗透测试使用kalilinux的疑问,此外,我们还会提供一
在本文中,我们将为您详细介绍Kali Linux Web渗透测试手册(第二版) - 2.8 - 利用robots.txt的相关知识,并且为您解答关于web渗透测试使用kali linux的疑问,此外,我们还会提供一些关于 轻量级Web渗透测试工具jSQL、01.Kali_Linux 渗透测试 -- 介绍、cURL在Web渗透测试中怎么用、Kali Linux Web 渗透测试手册 (第二版) - 1.1 - 渗透测试环境搭建的有用信息。
本文目录一览:- Kali Linux Web渗透测试手册(第二版) - 2.8 - 利用robots.txt(web渗透测试使用kali linux)
- 轻量级Web渗透测试工具jSQL
- 01.Kali_Linux 渗透测试 -- 介绍
- cURL在Web渗透测试中怎么用
- Kali Linux Web 渗透测试手册 (第二版) - 1.1 - 渗透测试环境搭建
Kali Linux Web渗透测试手册(第二版) - 2.8 - 利用robots.txt(web渗透测试使用kali linux)
翻译来自:掣雷小组
成员信息:
thr0cyte,Gr33k,花花,MrTools,R1ght0us,7089bAt,
这个公众号,一定要关注哦,慢慢会跟上面老哥们一起分享很多干货哦~~
标记红色的部分为今日更新内容。
第二章:侦察
介绍
2.1、被动信息收集
2.2、使用Recon-ng收集信息
2.3、使用Nmap扫描和识别应用服务
2.4、识别web应用防火墙
2.5、识别HTTPS加密参数
2.6、使用浏览器自带的开发工具来做基本的分析和修改
2.7、获取和修改cookie
2.8、利用robots.txt
2.8、利用robots.txt
更进一步,我们需要弄清楚站点中是否有任何页面或目录没有链接到向普通用户显示的内容,例如,到内部网或内容管理系统(CMS)的登录页面。找到类似的站点将大大扩展我们的测试表面,并为我们提供关于应用程序及其基础结构的一些重要线索。
在这小节中,我们将使用robots.txt文件,用于发现一些在主要应用程序中无法链接到的文件和目录。
怎么做…
为了说明渗透测试如何利用robots.txt。我们将在vm_1中使用vicnum,这是一个脆弱的web应用程序,它包含三个数字和单词猜测游戏。我们将使用通过robots.txt获得的信息。为了增加我们赢得这些比赛的机会:
1. 浏览器打开 http://192.168.56.11/vicnum/.
2. 现在,我们添加robots.txt到URL中,我们将看到如下结果:
这个文件告诉搜索引擎,对于每个浏览器(用户代理),不允许对目录jotto和cgi-bin进行索引。然而,这并不意味着我们不能浏览它们。
3. 让我们打开 http://192.168.56.11/vicnum/cgi-bin/:
我们可以单击并直接导航到任何Perl脚本(.pl文件)在这个目录中。
4. 让我们打开 http://192.168.56.11/vicnum/jotto/.
5. 单击名为jotto的文件,你将看到类似下面的截图:
jotto是一个猜五字的游戏,这可能是答案的列表吗?使用列表中的单词作为答案进行游戏,我们已经破解了这个游戏:
它是如何工作的…
Robots.txt是web服务器用来告诉搜索引擎他们应该索引的目录或文件以及他们不允许查看的内容的文件。从攻击者的角度来看,这告诉我们服务器中是否有一个目录是可以访问的,但是通过隐藏的方式将其隐藏起来(也就是说,假设用户不知道某个目录的存在,他们就不会发现这个目录)。
轻量级Web渗透测试工具jSQL
轻量级Web渗透测试工具jSQL
jSQL是Kali集成的一款轻量级的Web渗透测试工具。最初该工具主要实施SQL注入,后来增加更多的功能,扩展形成一个综合性的Web渗透测试工具。Kali提供的版本较老,并且无法自动更新。用户需要手动从代码托管网站https://github.com/ron190/jsql-injection下载最新版的v0.79,替换本地的/user
/jsql/jsql-injection.jar文件。
在新版本中,jSQL不仅提供更为强大的数据库注入功能,还支持管理页面暴力扫描、敏感文件猜测、Web shell、SQL shell、上传等功能。为了方便用户测试,它还提供了哈希值的暴力破解、编码转化和批量测试功能。同时为了方便用户学习,该软件还提供了几个存在漏洞的网站,供用户测试使用。
01.Kali_Linux 渗透测试 -- 介绍
Kali_Linux 渗透测试第一章 ---- 简介
一:网络安全的根源
1. 分层思想的优劣:分层思想非常伟大,但是也导致了一些很现实的问题,就是导致网络安全的研究人员、或者系统的开发人员考虑问题的时候,往往只关注本层问题,如应用层的开发人员考虑的应用层的安全,传输层只考虑传输层的安全问题,而实际安全问题往往需要多方面考虑,这就导致了多层之间出现漏洞。
2. 只追求功能的实现:很多开发人员在实际开发程序的过程中,并没有做到安全开发,甚至无法避免一些很常见的安全问题,因为其只追求代码功能的实现,同样容易产生漏洞,从而产生安全问题。
3. 最大的威胁是人:其实安全问题最大的威胁是人,我们可能有意无意地会产生安全问题,如开发能力不足导致漏洞、懂得网络安全而非法利用,凡此等等,都是网络安全的根源之一,如果人人都是维护网络安全的,那么也就不存在网络安全这个问题。
二:网络安全类型
1. 防御型安全:传统的网络安全往往是防御型的网络安全,从各个方面防守,如关闭所有不必要的服务、端口,配备一些防御型的安全软硬件。这种类型的网络安全往往投入的人力、物力、财力巨大,但是收效甚微,因为一处漏洞没有堵住,可能一个脚本小子就能渗透攻击进入系统,对系统产生威胁。
2. 攻击型安全:近年来安全行业推崇攻击型安全。所谓攻击型安全就是从非法入侵的攻击者的角度思考,尝试去攻击挫败目标系统的安全防御机制,发现系统的安全弱点,测量安全防护的有效性。但是这种方法只是证明安全问题的存在,而非破坏。但是实际情况中,是否破坏往往取决于道德与法律的约束,因为一旦攻入系统,意味着渗透测试人员已经掌握了系统的部分或者全部数据,也就是说已经接触到了有价值的数据了。但是我们一定要洁身自好,在黑与白之间一步踏错就难以回头。
三:渗透测试标准
PETS(Penetration Execution Test Standard)(http://www.pentest-standard.org)
这里推荐两本书:《Metasploit 渗透测试指南》
这本书详细介绍了渗透测试标准的各个阶段,虽然没有深入,但是覆盖面较广。
另一本书是《Metasploit 渗透测试魔鬼训练营》
这本书有一点深度,覆盖面也较广,但是新手理解比较困难。
这两本书新书更推荐看第一本,能更好地了解渗透测试的标准,虽然没有深入,但是能整体掌握如何去执行一次标准的、规范的、完全的渗透测试,相比较掌握具体的工具而言,这更像是掌握一些方法论,或者说是原理,个人觉得更有裨益。仁者见仁,智者见智,对这两本书有一定了解或者有一定基础的可以自由选择。
标准的渗透测试有七个阶段:
1. 前期交互阶段:简单来说就是作为安全公司的渗透测试人员,与目标公司进行沟通,确认渗透测试人员可以选用哪些攻击方式、攻击目标是哪些、是否选用社会工程学攻击、是否使用 DDOS、攻击到什么程度等... 最重要的是要拿到目标公司的渗透测试书面授权书,这样才属于合法测试 (实际工作中往往客户往往不会选用社会工程学和 DDOS)。
2. 情报搜集阶段:在前期交互阶段之后,就可以正式开始渗透工作。情报搜集就是搜集目标系统的各种信息。情报搜集有两种方式,一种是被动信息搜集,也就是不和目标系统产生任何直接的网路连接接触,通过间接的渠道获取目标系统的相关信息,例如通过搜索引擎搜索目标系统的公司地址等。另一种情报搜集方式是主动搜集,这种方式需要和目标系统产生接触行为,通过一些数据交互来获得目标系统的一些信息,这样存在暴露自己的风险。两种情报搜集方式往往是综合利用,被动情报搜集虽然可以保护自己不被目标系统发现,但是所搜集到的信息更多的不是最新或者是最有用的,而是只能提供一些辅助参考,而主动情报搜集就能搜集到更多最及时的信息,但也可能被目标所检测到从而暴露自己的渗透行为。
情报搜集首先进行各种情报收集,也就是搜集目标系统的尽可能多的相关信息,例如邮箱地址、联系人、公司地址、DNS 地址、服务器的 IP 地址、域名、Google Haking、搜索引擎对公司信息搜集,这些都属于被动信息搜集。主动的信息搜集就是对目标系统进行主动的探测,进行主机扫描发现以判断目标系统所存活 (可理解为在线) 的主机、进行端口扫描以发现主机开放的端口、进行端口上所运行的服务类型的发现等等这些信息的搜集,所搜集的信息都将用于下一个阶段 ---- 威胁建模。
3. 威胁建模阶段:经过情报搜集之后,我们对目标系统已经有了一个大概的了解。但是这些信息并不能直接让我们渗透进入目标系统,所以我们需要进一步分析这些信息,从这些情报中理出一条或者几条效率最高、最快捷、可以渗透进入目标系统的途径。这是威胁建模的任务 ---- 确定攻击途径或方法。
4. 漏洞分析阶段:沿着我们上一阶段所确定的思路,在我们所搜集的情报中,查看相关信息,如目标系统所运行的软件版本,是不是版本比较低、是不是已经有可利用的公开漏洞、或者某些软件部分是不是要使用逆向工程的分析等。也就是说在上一阶段我们确定的是哪些渗透攻击方法可能有效,而这一阶段是验证上一阶段方法的可行性,并在下一阶段具体实施。
5. 渗透攻击阶段:有的渗透测试人员会有这样的困惑,当我们在漏洞分析阶段已经确认攻击方法的可行性之后,那不就直接攻击进入系统了吗?其实不然,真正的渗透攻击工程往往都不像电影中的那样顺利,因为可能有些信息搜集是不完整的,例如某些防御机制我们没有发现,所以我们又需要重新进行信息搜集、威胁建模、漏洞分析,特别要分清楚 3,4,5 阶段的区别。
6. 后渗透测试阶段:在渗透攻击结束后,如果渗透测试工作人员真的取得了目标系统的一台或者多台服务器的权限,很多人就认为工作已经完成了,可以写渗透测试报告交工了。其实这个时候,渗透测试工作人员的工作并没有完成,因为这种情况下你需要向客户证明,你往往可以通过这一个漏洞控制更多的服务器,或者通过这一台服务器为跳板,可以向内网渗透,也就是向客户证明你还可以在目前的基础上进一步渗透,取得客户公司更多有价值的信息,通过这些将渗透测试的结果向客户展示,会对其公司造成什么损失。这样是双赢的结果,一来可以提升渗透测试人员的技能,二来可以更加使得客户信赖安全公司的责任态度。
7. 渗透测试报告:在完成 “全部” 渗透测试工作以后,就可以写总结报告,基本都是证明从头到尾,漏洞是如何被发现、被利用,如何去执行攻击,最初怎么攻入系统的,以及如何扩大攻击范围 (即后渗透测试如何执行的),如何修补漏洞以避免漏洞被真正的黑客所利用。往往有些安全从事人员不喜欢写冗长的报告,但是这个阶段同样非常重要,作为一名渗透测试人员,仅仅拥有渗透的技能往往还不足以体现自身对客户的价值,因为客户往往都是外行,所以我们要提供一套完整的方案去供客户使用,也就是体现在渗透测试的报告中。
一个系统往往是指一个应用系统,比如一个电商网站,包括支撑这个系统的网络、交换机、防火墙、入侵检测、waf、服务器、OS、各种第三方的应用平台插件、数据库等...
四:授权
渗透测试与攻击,虽然我们平时并不严格区分,但其真正的区别就在于是否取得客户的授权,获得授权之后,测试、控制目标客户的系统,甚至接触到一些客户的敏感信息都是合法的,当然不能用这些信息去获取灰色利益。如果没有客户的客户的授权,对目标系统进行扫描、攻击、甚至窃取机密信息都是犯法的,在不同的国家、地区处罚也是不同。所以作为安全行业从事人员,应该取得客户的书面授权再进行渗透测试,否则就属于非法攻击。
五:渗透测试误区
渗透测试往往都是很复杂的一个项目,很多人有误区,认为渗透测试就使用各种扫描器进行扫描,然后发现漏洞就攻击测试一下,否则就认为是安全的。其实所有的自动化的扫描,不论是 nmap 还是 Appscan 等,对于业务逻辑层面的漏洞,完全无能为力,它只能查出一些常见的技术层面的漏洞。而真正的渗透测试的高手,是很少使用甚至完全不使用扫描器,就能攻击进入目标系统的,完全是靠自己的能力。所以不要过度的依赖于扫描器,而不去了解其原理。其实扫描器并不是必须的,当然新手或者在提高工作效率的时候是可以使用的,强调的是不要依赖于它。
六:Kali Linux 简介
Kali 在 2013 年 3 月份发布,包含有数百种工具,支持 ARM 以及手机平台,本身也是开源免费的。它的前身是大名鼎鼎的 BackTrack,也就是 BT,最新的 BT 是 BT5,现在已经停止更新。Kali 现在已经更新到 2.0 版本。这个系统开发的目的就是渗透测试和安全审计使用的。
为什么 BT 停止更新而 Kali 成为其替代版本?并且 Kali 所包含的工具和工具的使用方式都和 BT 大同小异?主要原因就是 Kali 本身是基于 Debian 的 Linux 发行版本,而 BT 是基于 Ubuntu 的。Kali 和 Ubuntu 本身都是遵循 FHS 标准目录结构的,所谓 FHS 标准目录结构,是所有的 Linux 发行版本都遵循的一个目录结构,也就是说在 /etc 下放配置文件、/var 放日志、邮件文件、/dev 下放所有的设备文件等。但是在 BT 这个系统中,它把所有的渗透测试用的工具都放在 /pentest 下,然后在这个目录中再分类各种工具。这样划分就会存在问题,比如一个工具可能在数据库类的工具中可以使用,又在 web 中可以使用,那到底该怎么划分?这就很难界定。在后来 BT 的工具越来越多的时候,这个系统就无法继续使用它本身习惯使用的工具分类方法,这会造成工具分类维护更新混乱,系统继续发展阻力更大。所以 BT 就停止更新,继续使用 FHS 的目录结构,也就是更新到 Kali。
Kali 可以定制内核,主要是针对无线驱动。
七:Kali Linux 策略
1.Root 用户策略:一般 Linux 的系统都是使用普通用户为默认用户,但是 Kali 是使用 root 为默认用户。
2. 网络服务策略:Kali 作为一个渗透测试和安全审计的平台,默认所有的网络服务都是关闭的,而且即使新装一个服务程序在 Kali 上,这个程序所有的默认启动脚本都是不启动的。这与其他版本的 Linux 版本不同,比如在 Ubuntu 等 Linux 中,如果安装了 Apache,在下次系统启动的时候会有一些脚本自动启动,但是在 Kali 里面这些都不会自动启动,但是也可以手动指定启动。
3. 更新升级策略:Kali 本身是基于 Debian 的,如果 Debian 本身存在一些安全漏洞,那么 Kali 会自动同步过来。
八:Kali 题外话
1. 为什么 kali 这个系统叫 kali?或许可以自己百度一番;
2. 渗透测试要多动手,不要只纸上谈兵,一定要实践实践再实践;
3. 所有 Kali 的工具都要掌握?没必要,掌握最常用的即可,也不能全部掌握所有工具的。
Kali 很强大,但不是全部!
cURL在Web渗透测试中怎么用
这篇文章主要为大家展示了“cURL在Web渗透测试中怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“cURL在Web渗透测试中怎么用”这篇文章吧。
1、概述
cURL是一个命令行下用于传输数据的工具,支持多种协议
cURL有如下特性:
1、支持多种协议,包括:DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET, TFTP等。
2、可以在shell脚本中使用
3、支持断点续传等功能,支持进度条,速率限制和下载时间详细信息显示
4、包含 120 个命令行选项用于不同的任务
5、支持几乎所有操作系统(超过40个操作系统)
6、支持 cookies、forms和SSL
7、curl和libcurl库都是开源软件,可以在任何程序中使用它们
8、支持配置文件
9、单条命令上传多文件
10、支持 ipv6 协议
大部分Linux发行版都默认安装有curl工具,如果没有安装,可以使用apt install curl(ubuntu,debian,kali)或者yum install curl(CentOS)进行安装。
本教程所用环境为Web For Pentester,这是一个包含多种 web应用程序漏洞的环境。
2、命令注入漏洞测试
打开Web For Pentester环境,它长这样:
点击命令注入(Commands injection)中的 Example1
默认是执行了一个ping命令。我们通过curl发送http请求,执行其他命令试试,比如ls查看目录文件命令。
命令如下:
curl "http://192.168.177.137/commandexec/example1.PHP?ip=127.0.0.1;ls"
返回结果如下:
可以发现ls命令执行成功,返回了目录下的三个文件信息,分别是example1.PHP、example2.PHP、example3.PHP。
当然也可以查看其他目录下的文件信息,比如这样:
curl "http://192.168.177.137/commandexec/example1.PHP?ip=127.0.0.1;ls%20\/"
返回的信息中,则是 /根目录下载的文件列表信息
相关操作学习:
PHP命令注入攻击:通过command-injection实验理解命令注入工作原理。(复制如下链接打开网页即可操作)
http://www.hetianlab.com/expc.do?ec=2cf0139a-9d8a-4e91-96aa-f3fbec33205e
curl可以从任何网站或主机下载数据,比如下载一个putty工具
curl -O https://the.earth.li/~sgtatham/putty/latest/putty.exe
可以看到有速度、进度等详细信息。
4、HTTP 标头信息识别
curl可以用来测试目标网站支持的HTTP方法
命令如下:
curl -v -X OPTIONS http://www.example.com
从返回的信息可以看到该网站支持的HTTP方法
相关操作学习:
HTTP协议基础:复制如下链接打开网页即可操作
http://www.hetianlab.com/expc.do?ec=ECID9d6c0ca797abec2017041814433700001
5、文件包含漏洞测试
文件包含漏洞是指允许攻击者包含Web服务器上任意文件,从而达到读取敏感信息的目的。
同样我们可以用curl进行测试
使用File Include中的example1进行测试。
我们尝试包含服务器上的/etc/passwd文件,命令如下:
curl "http://192.168.177.137/fileincl/example1.PHP?page=/etc/passwd"
返回结果如下:
成功返回了/etc/passwd文件的内容。
相关操作学习:
文件包含漏洞:文件包含分为远程文件包含和本地文件包含(复制如下链接打开网页即可操作)
http://www.hetianlab.com/expc.do?ec=ECID172.19.104.182015060917272000001
使用curl可以实现HTTP基础身份认证,从而登录目标网站。
命令如下:
curl --data "uname=test&pass=test" http://testPHP.vulnweb.com/userinfo.PHP
从返回结果来看,包含了地址,用户名等信息,说明登录成功了
文件上传漏洞是指 Web应用程序允许图像或其他文件上传,如过滤不严格可以导致任意文件上传,比如上传恶意的代码文件。
使用File Upload中的example1进行测试。
我们尝试将putty.exe文件上传到目标服务器。
命令如下:
curl -F 'image=@/root/putty.exe' http://192.168.177.137/upload/example1.PHP
返回结果提示,文件上传到了/upload/images/目录,说明文件上传成功了。
我们可以访问这个目录看看是否如此:
可以看到,确实上传成功了。
以上是“cURL在Web渗透测试中怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注小编行业资讯频道!
Kali Linux Web 渗透测试手册 (第二版) - 1.1 - 渗透测试环境搭建
翻译来自:掣雷小组
成员信息:
thr0cyte,
博客链接:
http://thr0cyte.xyz/
Gr33k,
博客链接:
http://www.zhanghuijun.top/
花花,
博客链接:
http://to0ls.cn/
小丑,
博客链接:
https://www.tcp.red/
R1ght0us,
博客链接:
http://www.r1ght0us.xyz/
7089bAt,
只有此公众号,一定要关注哦,慢慢会有很多干货的~
前言:
从今天开始呢,我每天更新一小节。这样大家每天也都能学习到一个知识点,到最后量变产生质变,收获是很大的。
关于这个第一章呢,原本有八个小节吧,但是我归为了三类:
一是 kali 的安装与更新,
二是浏览器需要安装的一些插件,
三是靶机的安装,
前面也都发出来了,但不算原文翻译,其中有自己的东西,这两个结合着看吧。
标记红色的部分为今日更新内容。
一.建立 KALI Linux 和测试环境
在这一章,我们将覆盖以下内容:
l 在 Windows 和 Linux 上安装 VirtualBox
l 创建一个 Kali Linux 虚拟机
l 更新和升级 Kali Linux
l 为渗透测试配置 web 浏览器
l 创建一个属于自己的靶机
l 为正确的通信配置虚拟机
l 了解易受攻击的虚拟机上的 web 应用程序
介绍
在第一章中,我们将介绍如何准备我们的 Kali Linux 安装,以便能够遵循书中所有的方法,并使用虚拟机建立一个具有脆弱 web 应用程序的实验室。
1.1、在 Windows 和 Linux 上安装 VirtualBox
虚拟化可能是建立测试实验室或试验不同操作系统时最方便的工具,因为它允许我们在自己的内部运行多个虚拟计算机,而不需要任何额外的硬件。
在本书中,我们将使用 VirtualBox 作为虚拟化平台来创建我们的测试目标以及我们的 Kali Linux 攻击机器。
在第一个 “秘籍” 中,我们将向您展示如何在 Windows 和任何基于 debian 的 GNU/Linux 操作系统 (例如 Ubuntu) 上安装 VirtualBox。
TIP: 读者没有必要同时安装这两个操作系统。这个配方显示这两种选择都是为了完成后续一些操作。
准备
如果我们使用 Linux 作为基础操作系统,在安装任何东西之前,我们需要更新我们的软件存储库的信息。打开终端并输入以下命令:
|# sudo apt-get update
怎么做…
安装 VirtualBox 需要执行以下步骤:
1. 要在任何基于 debian 的 Linux VirtualBox 中安装 VirtualBox,只需打开终端,输入以下命令:
|# sudo apt-get install virtualbox
2. 安装完成后,我们将通过导航到 “Applications | Accessories | VirtualBox” 在菜单中找到 VirtualBox。或者,我们可以从终端调用它:
|# virtualbox
Tip:如果您使用 Windows 计算机作为基本系统,请跳至第 3 步。
3. 在 Windows 中,我们需要从下面的网站,下载 VirtualBox 安装程序
https://www.virtualbox.org/wiki/Downloads
4. 下载文件后,我们打开它并启动安装过程。
5. 在第一个对话框中,单击 “下一步” 并按照安装过程进行操作。
6. 我们可能会被问到从 Oracle 公司安装网络适配器的问题;为了使虚拟机中的网络正常工作,我们需要安装这些设备:
7. 安装完成后,我们只需从菜单中打开 VirtualBox:
8. 现在我们已经运行了 VirtualBox,我们准备建立虚拟机来建立我们自己的测试环境。
它是如何工作的…
VirtualBox 将允许我们通过虚拟化在计算机中运行多台机器。有了这个,我们就可以在不同的计算机上安装一个完整的实验室,使用不同的操作系统,并在主机的内存资源和处理能力允许的范围内并行地运行它们。
更多…
VirtualBox 扩展包为 VirtualBox 的虚拟机提供了额外的特性,比如 USB 2.0/3.0 支持和远程桌面功能。可以从 https://www.virtualbox.org/wiki/Downloads 下载。下载后,只需双击它,VirtualBox 将完成其余的工作。
另请参阅
还有其他一些虚拟化选项。如果你不喜欢使用 VirtualBox,你可以尝试以下方法:
l VMware Player/Workstation
l QEMU
l Xen
l Kernel-based Virtual Machine(KVM)
1.2、创建一个 Kali Linux 虚拟机
Kali 是一个 GNU/Linux 发行版,由攻击安全构建,主要关注安全性和渗透测试。它附带了许多预先安装的工具,包括安全专业人员用于逆向工程、渗透测试和取证分析的最流行的开源工具。
我们将在本书中使用 Kali Linux 作为攻击平台,我们将从头创建一个虚拟机,并在此 “秘籍” 中安装 Kali Linux。
准备
Kali Linux 可以从它的官方下载页面 https://www.kali.org/downloads/.html 获得,对于这个食谱,我们将使用 64 位系统 (页面上的第一个选项)。
怎么做……
在 VirtualBox 中创建虚拟机的过程非常简单,让我们看看这个并执行以下步骤:
1. 要在 VirtualBox 中创建新的虚拟机,可以使用主菜单、Machine | New 或单击 new 按钮。
2. 弹出新对话框;这里,我们为虚拟机选择一个名称、类型和操作系统的版本:
3. 接下来,我们将询问这个虚拟机的内存大小。Kali Linux 至少需要 1Gb; 我们将为虚拟机设置 2Gb,这个值取决于你的系统可分配的资源。
4. 我们单击 Next 进入硬盘设置,选择 “现在创建虚拟硬盘”,然后点击创建,在主机文件系统中创建新的虚拟磁盘文件:
5. 在下一个屏幕上,选择以下选项:
l 动态分配 (Dynamically allocated): 这意味着当我们在虚拟系统中添加或编辑文件时,这个虚拟机的磁盘映像的大小将会增加 (实际上,它将添加新的虚拟磁盘文件)。
l 对于硬盘文件类型,选择 VDI (VirtualBox 磁盘映像) 并单击 Next。
l 接下来,我们需要选择文件存储在主机文件系统中的位置和它们的最大容量;这是虚拟操作系统的存储容量。我们保留默认位置,选择 35.36 GB 大小。这取决于你的基础机器的资源,但是为了安装必需的工具,至少应该是 20 GB。现在,点击创建:
6. 创建虚拟机之后,选择它并单击 Settings,然后转到 Storage 并选择 Controller: IDE 下的 CD 图标。在属性面板中,单击 CD 图标,选择 “虚拟光盘文件”,浏览从官方页面下载的 Kali 图像。然后单击 OK:
7. 我们已经创建了一个虚拟机,但是我们仍然需要安装操作系统。启动虚拟机,它将使用我们配置为虚拟 CD/DVD 的 Kali 映像启动。使用箭头选择图形安装和按回车:
8. 我们正在开始安装过程。在下一个页,选择系统的语言、键盘分布、主机名和域。
9. 之后,您将被要求输入 root 密码;在基于 unix 的系统中,root 是最高管理员账户,在 Kali 中,它是默认的登录帐户。设置密码,确认,点击继续:
10. 接下来,我们需要选择时区,然后配置硬盘;我们将使用引导设置使用整个磁盘:
11. 选择您想在其上安装系统的磁盘 (只能有一个)。
12. 下一步是选择分区选项,我们选择将所有文件放在同一个分区中。
13. 接下来,我们需要通过选择 “结束分区设定并将修改写入磁盘”,然后单击继续。然后选择 Yes 写入更改并在下一个屏幕上继续。这将启动安装过程:
14. 安装完成后,安装程序将要求您配置包管理器。回答 “是” 可以使用网络镜像并设置代理配置,如果不使用代理连接 internet,请将其留空。
15. 最后一步是配置 GRUB 引导:只需回答 Yes,然后在下一个屏幕上从列表中选择硬盘。然后,单击 Continue,安装将完成。
16. 单击安装完成窗口中的 Continue 以重新启动 VM。
17. 当 VM 重新启动时,它将请求用户名;键入 root 并按下回车键。然后输入你为 root 用户登录设置的密码。现在我们已经安装了 Kali Linux。
它是如何工作的…
在这个 “秘籍” 中,我们在虚拟机中创建了我们的第一虚拟机,设置了我们的操作系统所共享的内存预留量,并为 VM 创建了一个新的虚拟硬盘文件,以使用和设置最大容量。我们还将 VM 配置为从 CD/DVD 映像开始,然后以在物理计算机上安装 Kali Linux 的方式安装它。
为了安装 Kali Linux, 我们使用了图形安装程序并选择引导磁盘分区,这是当我们安装一个操作系统,特别是基于 unix 的一个,我们需要定义系统的哪部分 (或安装), 安装硬盘的分区;幸运的是,Kali Linux 的安装可以解决这个问题,我们只需要选择硬盘并确认建议的分区。我们还将 Kali 配置为使用包管理器的网络存储库。这将允许我们安装和更新软件从互联网和保持我们的系统最新。
更多…
在虚拟机中运行 Kali Linux 有不同的方法。例如,可以从攻击安全站点下载预先构建的虚拟机映像:
https://www.offensi-security.com/kali-linux-vm-vmware-virtualbox-hyperv-image-download/
我们选择这种方法是因为它涉及创建虚拟机和从头安装 Kali Linux 的完整过程。
1.3、更新和升级 Kali Linux
在开始测试 web 应用程序的安全性之前,我们需要确保拥有所有必需的最新工具。这个方法涵盖了维护最新的 Kali Linux 工具及其最新版本的基本任务。我们还将安装 web 应用程序测试包。
怎么做……
一旦完成 Kali Linux 的工作实例后运行并执行以下步骤:
1. 以 Kali Linux 上的 root 用户登录并打开一个终端。
2. 运行 apt-get 更新命令。这将下载可用于安装的更新包 (应用程序和工具) 列表:
3. 更新完成后,运行 apt-get full upgrade 命令将系统更新到最新版本:
4. 当被要求继续时,按 Y,然后按回车。
5. 现在,我们有了最新的 Kali Linux,可以继续使用了。
6. 尽管 Kali 附带了一套很好的预先安装的工具,但是它的软件存储库中还包括一些其他的工具,但默认情况下是不安装的。为了确保我们拥有 web 应用程序渗透测试所需的一切,我们通过输入 apt-get install kali-linux-web 命令来安装 kali-linux-web 测试包:
7. 我们可以找到我们在应用菜单上安装的工具,03 – Web Application Analysis:
它是如何工作的…
在这个 “秘籍” 中,我们介绍了在基于 debian 的系统 (如 Kali Linux) 中使用标准软件管理器 apt 进行包更新的基本过程。由于 Kali Linux 现在是一个滚动发行版,这意味着它会不断更新,并且在一个版本和下一个版本之间没有中断;完整的升级参数下载和安装系统 (如内核和内核模块) 和非系统包,直到它们的最新版本。如果没有进行重大更改,或者我们只是试图保持已安装版本的最新,我们可以使用升级参数。
在本教程的最后一部分中,我们安装了 kli -linux-web 元包。apt 的元包是一个可安装的包,包含许多其他包,所以我们只需要安装一个包,所有包含的包都将被安装。在本例中,我们安装了 Kali Linux 中包含的所有 web 渗透测试工具。
今天关于Kali Linux Web渗透测试手册(第二版) - 2.8 - 利用robots.txt和web渗透测试使用kali linux的介绍到此结束,谢谢您的阅读,有关 轻量级Web渗透测试工具jSQL、01.Kali_Linux 渗透测试 -- 介绍、cURL在Web渗透测试中怎么用、Kali Linux Web 渗透测试手册 (第二版) - 1.1 - 渗透测试环境搭建等更多相关知识的信息可以在本站进行查询。
本文标签: