前言
我们可以通过渗透测试技术来评估系统的安全性,从而做到尽早发现系统中存在的安全漏洞,避免发生更大的损失。
渗透测试可以通过使用一系列安全工具来测试系统安全性。在这篇文章中,主要包括了渗透测试平台、渗透测试实验环境搭建、各个渗透测试生命周期实战等内容,详细梳理渗透测试的步骤、方法。
一、渗透测试技术
渗透测试技术,或者说渗透,是一套技术过程和方法论,是技术专家模拟黑客的动作和技术去尝试利用网络或者信息系统。具体就是,技术专家使用黑客技术去侵入网络,但并不会破坏系统,只是去发现系统中存在的漏洞或者系统安全的薄弱点。
二、搭建渗透测试平台
渗透测试平台使用 Kali Linux系统, Kali Linux是Offensive Security社区发行的版本。它拥有超过300多种的安全和渗透测试工具,并且将这些安全和渗透测试工具按照使用频率和对评估系统是否有帮助来进行分组。Kali Linux基于Debian发行版。使用 Kali Linux进行渗透测试,可以很方便的使用集成的各种工具,从而缩短渗透测试的时间。
我们可以自建将 Kali Linux安装在计算机中,也可以将 Kali Linux安装到虚拟机中,前者可以更加流畅的运行系统,但是需要全新安装到一台计算机中,可能会破坏计算机的硬盘数据。后者可以在windows、OS X 或者Linux 中通过虚拟机安装,但是可能性能不佳,对宿主主机的性能要求较高,大家需要根据自己的实际情况选择安装。我这里选择通过虚拟机来安装Kali Linux系统,其中安装虚拟机和Kali Linux的方法可以查看 kali渗透技术实战——搭建渗透测试环境 的前两节。
文章链接:http://www.tujing.site/1497
三、渗透测试实验环境搭建
如何更好的学习渗透测试,最好的办法就是搭建一个渗透测试环境。即使用虚拟化技术,在电脑中模拟一个计算机环境,在这个环境中进行渗透测试。使用渗透测试环境最大的好处是可以放心的进行测试,而不用担心法律问题,如果你对未经授权的计算机系统进行测试,那就是违反法律的行为。
在学习中我们通过使用VMware Workstation软件搭建Metasploitable作为渗透测试实验环境。
Metasploitable是一个系统镜像,已经在计算机中预置了大量安全漏洞,并且极易受到攻击,可以方便我们学习渗透测试技术。
Metasploitable的安装方法可以查看 kali渗透技术实战——搭建渗透测试环境 的第三节。
文章链接:http://www.tujing.site/1497
四、侦察
一次成功的渗透测试,在进行渗透前,必然会详细分析能够获得的所有信息。通过互联网进行搜索或者对目标网络的可用链接进行扫描获取信息的方式就是侦察。侦察要找出尽可能多的目标网络信息,包括:
- 组织架构,包括详细的组织结构图、部门架构图、团队组织结构图;
- 组织的基础设施,包括IP地址和网络拓扑;
- 使用的技术,包括使用的硬件平台和软件。
- 员工电子邮箱地址;
- 组织的合作伙伴;
- 组织设施的物理位置;
- 手机号码;
侦察使用的手段:
1、浏览目标网站
目标网站通常提供了大量的信息用于展示。
可以通过浏览目标网站获取组织架构图和主要领导简介,这些信息可以进一步用于获取其在社交媒体网站的信息,甚至可以进行社会工程攻击。 目标网站可能会暴露工作招聘页面,从中可以确定该组织使用的技术。
2、网站镜像
有时候可以复制整个目标网站进行离线评估。当离线时,拥有目标网站的整个镜像也可进行有效的侦察。 网站镜像可以使用wget 工具或者 HTTrack Website Copier 软件进行。
3、使用搜索引擎
使用搜索引擎的高级选项,可以获得意想不到的收获,例如,使用搜索引擎可以精确搜索到目标网站的相关信息。
4、Google Hacking
可以通过特定的Google 操作符和术语,以获得有价值的信息就是Google Hacking技术。 可以通过GHDB查找这些搜索字符串。GHDB (又名谷歌黑客数据库)是HTML / JavaScript的封装应用,使用的先进的JavaScript技术搜索黑客所需的信息,而不借助于本地服务器端脚本。尽管数据库更新频率不高,但里边仍然可以找到黑客经常用于Web信息挖掘的Google搜索字符串。 GHDB网址:https://www.exploit-db.com/google-hacking-database/
5、社交媒体
在社交媒体中搜索信息可以获得非常宝贵的个人信息和个人简历,在社会工程阶段,这些信息会非常有用。
五、扫描
但渗透测试人员完成了组织的侦察阶段后,就进入到了扫描阶段。在扫描阶段,渗透测试人员可以获取组织雇员、信息系统的心理系,来帮助了解组织内物理设施和逻辑系统的信息系统。扫描阶段的主要目标是确定连接到组织目标网络中的计算机和其他设备的指定信息。在本阶段,要获取的信息包括:
- 可用的主机
- 节点类别(台式机、笔记本、服务器、网络设备)
- 操作系统
- 提供的服务(WEB、FTP、DNS、SMTP、MAIL等)
本阶段使用的扫描工具是Nmap和Nessus.
Nmap的使用可以查看这篇文章:
六、渗透
渗透阶段使用的工具是metasploit。
Metasploit是一款开源的安全漏洞检测工具,因此渗透测试人员常用Metasploit工具来检测系统的安全性。Metasploit Framework (MSF) 在2003年以开放源码方式发布,是可以自由获取的开发框架。
Metasploit是一个强大的开源平台,供开发,测试和使用恶意代码,这个环境为渗透测试、shellcode 编写和漏洞研究提供了一个可靠平台。这种可以扩展的模型将渗透模块、辅助模块、攻击载荷、监听模块、shellcode模块整合在一起,使 Metasploit Framework 成为一种研究高危漏洞的途径。
Metasploit集成了各平台上常见的溢出漏洞和流行的 shellcode ,并且不断更新。目前的版本收集了数千个实用的溢出攻击程序及一些辅助工具,让人们使用简单的方法完成安全漏洞检测。
metasploit其核心中一小部分由汇编和C语言实现,其余由ruby实现。
七、维持访问
渗透进入一台计算机后,还需要维持访问,即使用Metadploit创建后门程序,以便随时再次登陆系统。
八、总结
本文详细讲解了渗透测试的环境搭建以及渗透测试过程,同时渗透测试学习需要搭建渗透测试实验环境,分别的对渗透测试的生命周期的侦察、扫描、渗透、维持访问、清楚痕迹五个阶段进行讲解。
渗透测试的每个阶段有相应的方法,渗透测试技术是需要不断实践的,只有熟练掌握扫描、渗透工具,不断的进行实践,才能提高渗透能力。
很想学习高大上的技术
那就去学
哎呦,不错哦!欢迎互访,诚交友链! http://www.xevip.cn
不错哦,赞一个,求认识,求回访
这个文章写的好,转走了! 欢迎回访