前言
信息安全是一门实践性很强的学科,对从事信息安全学习、工作和研究的人员来说,要真正掌握信息安全技术,成为相关领域的专家,除了要具备扎实的理论基础外,进行大量的信息安全实践同样是必不可少的,其中就包括各种安全工具的使用。
然而,随着信息技术的发展,信息安全问题日益严重,各种安全工具层出不穷,版本繁多,呈现种类多,数量大、更新快的特点。这些安全工具的甄别、获取本身就给从事信息安全的人员制造了不小的麻烦。“工欲善其事,必先利其器”,如果有这样一个系统,它能够囊括几乎所有常用的安全工具并能够自动升级就好了,这就是kali。当然,不只是kali如此。那么kali到底是什么?
一、kali简介
kali首先是一个操作系统,更确切的说它是一个基于Linux kernel的操作系统,该系统从BackTrack发展而来。而BT是2006年推出的一个用于渗透测试及黑客攻防的专用平台,基于Knoppix(linux的一个发行版)开发。Backtrack从2006年的起始版本BackTrack v.1.0Beta开始,到2012年推出最终版本BackTrack 5 R3 relerse。之后,2013年offensive Security的Mati Aharoni和Devon Kearns基于Debian重新实现了BackTrack,新的产品命名为kali,从此kali成为新的替代品和后继者。
kali有以下几个主要特性:
1、kali是基于Debian的Linux发行版;
2、kali预装了大量的安全工具;
3、kali是永久免费的;
4、kali支持大量的无线设备;
5、kali系统自身是安全的。
二、kali的功能
kali是一个面向安全的基于Debian的Linux发行版,预装了大量的安全软件。其主要功能有三个:数字取证、安全审计、渗透测试。
1、数字取证
数字取证主要是针对各种电子证据进行识别、收集、保存和分析,用爱发现网络和系统的各种入侵行为,为进一步的安全处理提供依据。数字取证处理的对象是电子证据,是指以存储的电子化信息资料来证明案件真实情况的电子物品或电子记录。数字取证往往涉及与数字产品相关的犯罪或过失行为,是目前公安机关应对新型计算机和网络犯罪的一种重要手段。kali系统提供的数字取证工具很多,可分为数据备份、数据恢复、数据分析和文件取证四种类型,比如:数字备份的Dc3dd,磁盘备份工具Dcfldd,Linux硬盘数据恢复工具dd_rescue,磁盘数据恢复工具Safecopy,文件还原工具Foremost,日志文件系统块查看工具jact,磁盘镜像分析工具TSK,信息批量提取工具bulk-extractor,磁盘取证工具Guymager等
2、安全审计
安全审计是由“专业审计人员根据有关的法律法规、财产所有者的委托和管理当局的授权,对计算机网络环境下的有关活动或行为进行系统的、独立的检查认证,并作出相应评价”。安全审计涉及四个基本要素:控制目标、安全漏洞、控制措施和控制测试。kali系统提供的安全审计工具有:安全审计工具Lynis,无线安全审计工具FruityWifi,web应用程序安全审计工具箱Watobo等。
3、渗透测试
渗透测试是kali系统最主要的功能,他是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。这个过程包括对系统弱点、技术缺陷或漏洞的主动分析,是根据已知可利用的安全漏洞,去发现是否存在的安全问题,注重的是安全漏洞的严重性。渗透测试可分为黑盒测试、白盒测试和灰盒测试三种方式。其中黑盒测试实在对基础设施不知情的情况下进行测试;白盒测试是在完整了解结构的情况下进行测试;灰盒测试则介于黑盒测试和白盒测试之间,是较为隐秘地进行测试。渗透测试有两个主要的特点:首先,渗透测试是一个渐进的并且逐步深入的过程;其次,渗透测试是选择不影响业务系统正常运行的攻击方法进行的测试。渗透测试包括信息收集、漏洞扫描、漏洞利用、密码攻击、权限提升,以及针对特定应用或平台的渗透,如web渗透、无线网络渗透等。kali系统提供的渗透测试工具涵盖以上各个方面,主要有:用于信息搜集的Nmap,Dnsenum,Amap,Webscrab,Recon-NC等;用于漏洞扫描的Nessus,OpenVAS;用于漏洞利用的Metasploit,w3af;用于密码工具的Hydra,Medusa,Ettercap,Msfconsole,Samdump2,DirBuster,WebSlayer等;用于权限提升的Metperter,SET;用于web渗透的BeEF,burp,owasp,fimap,scapy,tcpreplay,sniffjoke等;用于无线网络渗透的kismet,aircrack-NG,Gerix WIFI Cracker,Wifite,Easy-Creds,Arpspoof等。
博主的学习目标聚焦在渗透测试上,重点学习渗透测试各个环节工具的使用。
三、kali的安装
kali的免费开源的,用户可以在kali的官方网站上自由下载kali系统,其下载链接如下https://www.kali.org/。
只需要在虚拟机中导入相应的镜像文件就可以使用kali系统,博主使用VMware虚拟机进行安装。其下载链接如下https://www.vmware.com/
随着计算机性能的整体提升,虚拟机的应用越来越广泛,它使得在多个不同类型的操作系统之间随意地切换成为可能。需要运行什么操作系统只需要加载相应的操作系统镜像文件即可。而虚拟机镜像文件是可以随意拷贝的。操作系统虚拟机镜像文件的制作也非常便捷,并且即使出错也可以推到重来,避免了直接安装到硬盘可能导致的系统损坏和崩溃。对于kali来说,最好为虚拟机预留20G磁盘空间,2G以上内存。具体安装不愁按照安装向导一步步执行操作即可,这里不在赘述。
四、kali设置
kali系统的登陆账号和密码是缺省的,账号为root,密码为root,用户可以自行修改。
安装并登录kali系统后,需要做一些常规的设置,开启一些服务,使得kali系统能够正常工作。基于VMware的kali虚拟机系统在使用之前需要做以下设置
1、网络设置
网络设置分为有线网络设置和无线网络设置两部分,当需要对无线网络进行渗透时,要设置无线网络。
1.1 有线网络设置
VMware虚拟机链接有线网络的模式有三种:桥接模式、NAT模式和仅主机模式。
当我们安装完VMware Workstation后,它会自动为我们生成两块虚拟网卡,分别是vmnet1和vmnet8,其中vmnet1对应于仅主机模式,vmnet8对性与NAT模式。在windows系统命令行下输入ipconfig命令,可看到以下信息
在VMware应用软件中打开“编辑”-->“虚拟网络编辑器”,可看到如图所示虚拟网卡名称及对应类型信息。
1.2 无线网络设置
无线网络的设置需要硬件的支持,首先用户的主机要有一块支持USB接口的无线网卡,这样VMware才能将这块无线网卡模拟到虚拟机中,是的虚拟机系统能够建立无线网络连接,因为博主过于贫穷,无法购买无线网卡,具体操作便不再描述。
2、服务设置
在使用kali系统进行安全渗透测试之前,还需要开启一些必要的服务和应用,主要包括VMware服务设置和kali系统基本服务设置。
2.1 VMware服务设置
在Windows系统开始菜单运行命令“services。msc”,打开“服务”管理窗口,在服务列表中找到与VMware相关的服务,启动这些服务。
VMware运行需要开启的五大服务:
1、VMware Authorization Service 服务
用于启动和访问虚拟机的授权及身份验证服务。
2、VMware DHCP Service
用于提供虚拟机的DHCP服务。
3、VMware NAT Service
用于提供虚拟机的NAT 服务。
4、VMware USB Arbitration Service
用来提供虚拟机的USB接口访问服务,开启该服务是的虚拟机可以访问通过物理机
USB接口连接的设备。
5、VMware Workstation Service
用于虚拟机注册和管理远程访问系统。
2.2 kali服务设置
kali系统运行后,首先要开启几项服务,为安全渗透测试做好准备,这些服务主要是SSH服务和web服务。
2.2.1 启动SSH服务
SSH服务与Telnet服务类似,提供计算机远程访问的功能,和telnet服务的区别是,telnet服务是不加密的,数据以明文的方式在网络上传输,而SSH服务是加密的,数据以密文的方式在网络中传输,因此SSH服务比Telnet服务更加安全。此外,SSH服务的周知端口为22。
开启SSH服务的方法如下:在kali系统中打开终端,输入命令“service ssh start”,即可开启SSH服务。
开启SSH服务后,可以用命令“netstat -tpan | grep 22”查看SSH服务开启情况。由图可以看出SSH服务已经开启,22端口处于侦听模式。如果想要关闭SSH服务,可用命令“service ssh stop”
2.2.2 启动Web服务
Web应用可以说是互联网最主要的应用了,kali系统的web服务器应用程序采用的是Apache,web服务的周知端口是80,开启apache服务的方法如下:在kali系统中打开终端,输入“service apache2 start”,即可开启Apache服务。
同样开启Apache服务后可用命令“netstat -tpan | grep 80”查看Apache服务的开启情况,从图中可以看到Apache服务已经开启,处于侦听状态。
五、靶机系统介绍
在使用kali系统进行安全渗透测试时,需要有一个攻击或渗透测试的对象或目标,这就是靶机。靶机可以是一个完整的操作系统或者一个面向特定应用的软件(如web应用),在系统和软件上有很多漏洞提供用户进行安全渗透测试的试炼。目前的主流靶机系统有Metasploitable,DVWA,OWASP WebGoat,OWASP IGoat,ExploitMe Mobile Android Labs等。
1、Metasploitable
Metasploitable是一个专为Metasploit渗透工具打造的靶机环境,是一个刻意制作出来包含漏洞的基于Ubuntu 的Linux虚拟机系统,是一个具有无数未打补丁与开放了无数高危端口的渗透演练系统。它可以用来做安全训练,测试安全工具和练习渗透测试技术。系统的默认账户为,账号:msfadmin 密码:msfadmin
其下载链接如下:https://sourceforge.net/projects/metasploitable/
2、DVWA
DVWA是一个针对web应用的web漏洞实验平台,是一个用来进行安全脆弱性鉴定的应用,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,帮助web开发更好的理解web应用安全防范的过程。
官方下载地址为:http://www.dvwa.co.uk/
用于安全渗透测试的靶场系统很多,这些靶场为安全渗透测试提供了演练的平台,帮助人们更好的进行安全方面的学习、研究,发现目标系统漏洞,找到相关的解决方法,是从事信息安全工作的利器。根据应用需求,博主主要采用Metasploitable2和DVWA两个靶场系统。
本章小结
对从事安全渗透学习、研究和工作的人们来说,要真正掌握安全知识,成为安全专家,进行安全渗透实践是必不可少的,因此构建安全渗透测试的实践环境尤为重要,而kali系统及用于安全渗透演练的靶场系统是目前从事安全实践的主要平台,是满足安全实践需求的最好选择。