Kali linux渗透测试之 一.渗透测试环境搭建
本文于2018天之前发表,文中内容可能已经过时。
一. 安装Kali
前言
工欲善其事必先利其器,在我们做渗透测试的时候也需要一个强有力的后盾的支持,Kali Linux是一个非常不错的选择,里面集合了较多的渗透测试工具,而且还对不同的工具进行了详细的分类,这对每一个渗透测试人员来说都是非常棒的“黑客系统”,下面我们就简单的介绍一下Kali linux渗透测试环境的搭建,
准备工作
(1)VMware Workstations 14
(2)Kali Linux 2018的镜像文件,可以去官方网站下载。
(3)一台笔记本(运行内存建议——至少8G)
Kali Linux的安装
(1)创建新的虚拟机:
(2)选择镜像,镜像安装
(3)Linux操作系统Debian版本
(4)选择虚拟机的存储位置以及设置虚拟机的名称:
(5)设置磁盘大小以及磁盘格式(根据自己的情况来选择)
(6)点击“完成”之后开启虚拟机进行安装,之后选择“Graphic Install”进行安装
(7)选择语言:
(8)选择区域,语言格式
(9)之后系统会自动的添加一些内容
(10)设置主机名
(10)设置用户名与密码(此处要记住,因为是你之后开机时使用的用户名与密码)
(11)进行磁盘分区,不确定就选择第一个:
将改动写入磁盘
(12)之后开始安装系统
至此Kali Linux完成安装!
二. Kali中安装Vmtools
我们已经实现对Kali Linux的安装,但是会发现在文件的拖拽不太方便,那么有什么办法吗?当然是有的,下面我们就来介绍一下在Kali Linux中Vmtools的安装以及更新源的配置!
配置更新源
Kali 推荐国内更新源:
1 | #阿里云 |
修改Kali linux中的更新源
1 | root@kali:~# sudo leafpad /etc/apt/sources.list |
添加更新源如下:
系统更新
1 | root@kali:~# apt-get clean && apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y |
命令讲解:
apt-get clean //清除缓存索引
apt-get update //更新索引文件
apt-get upgrade //更新实际的软件包文件
apt-get dist-upgrade //根据依赖关系更新
Kali 2018安装VMtools
完成以上源的更新之后,在终端查找vm-tools
1 | root@kali:~# apt search vm-tools |
之后安装vmtools
1 | root@kali:~# apt install open-vm-tools-desktop |
安装完成之后你会发现在VMware workstations的上回显示“重新安装Vmtools”这表明你已经完成了安装!
之后还是需要“reboot”一下,之后就可以正常使用“复制粘贴”操作了!
至此Vmtools安装完成!
三. Kali基本配置
将简单的介绍一些在Kali中常见的、常用到的配置。
启动默认的网络服务
- Http服务
从事渗透测试的工作人员可能会经常用到web服务器。例如,当需要测试Web程序的恶意脚本时,就需要自己搭建一个web服务器,其实kali linux已经集成了Apache,只要将其启动就可以使用了。
在kali linux中启动http服务
1 | root@kali:~# service apache2 start |
验证:
Apache工作目录:
停止Apache服务:
1 | root@kali:~# service apache2 stop |
- mysql服务
Mysql属于标准的关系数据库(RDBMS)。人们通常会使用Apache服务器执行PHP程序,并通过PHP程序调用mysql,以这种配置组合来创建动态的web应用程序。就渗透测试的工作而言,您可以把渗透测试的测试结果存储到mysql服务器中。例如,可以使用mysql数据库保存漏洞信息和网络映射的分析结果。当然这需要你首先启动这个程序:
启动mysql服务:
1 | root@kali:~# service mysql start |
测试与验证:
1 | root@kali:~# mysql -u root -p |
如需要退出mysql服务,只需要输入quit即可:
1 | MariaDB[(none)]> quit |
停止mysql服务:
1 | root@kali:~# service mysql stop |
- Secure Shell(SSH)服务
SSH的全称是Secure Shell。它是目前比较可靠地专为远程登录会话和其他网络服务提供安全性的协议。除了远程登录的服务功能之外,他还有很多其他的功能:它支持在主机间安全地传递文件、在远程主机上执行命令,以及X11(Linux的桌面)会话转发等。
启动ssh服务
1 | root@kali:~# service ssh start |
SSH的简单实用:
用法:ssh @ip-address
例如:
如果要链接的是在另外一个网络的kali,需要在路由器上做好端口映射,可以使用一下命令:
用法:ssh -l login_name -p port ip_address
实例:ssh -l startnight -p 222222 ip_address
映射规则:将外网IP地址222222端口映射到内网(192.168.x.x)的22端口,可以在路由器的转发规则中设置。
- vsFTP服务
(1)安装vsftpd
(2)为了方便vsftp的使用我们可以在home中创建vsftpd上传与下载的目录:
(3)新建用户并设置密码
(4)修改配置文件
根据具体情况可以设置具体的配置选项!
注:如果要修改则需要去除下面语句之前的注释,否则无法写入:
write_enable=YES #取消注释,使其生效,不然无法写入文件
(5)启动vsftpd服务
(6)用ftp命令传输文件
1 | ftp ip-address |
- 安装中文输入法
下载搜狗输入法linux版:http://pinyin.sogou.com/linux/?r=pinyin
选择 64 位版本
由于输入法需要用到fcitx,所以需要先安装
进入到“下载”目录中(可以使用复制粘贴),执行
如果出现报依赖问题,根据提示输入
1 | apt-get install -f |
重新执行
1 | dpkg -i sogoupinyin_2.1.0.0082_amd64.deb |
重启后,使用shift键切换中英文输入法即可。
- 停止服务
1 | service servicename stop |
其他配置
- 配置网络服务
我们常常在终端输入“ifconfig”来查看Linux主机的ip地址
这个里面有明确的说明
如果你还想要加入一个网络IP地址,你可以采用以下方法实现:
ifconf eth1 192.168.11.x/24
添加路由网关:
route add default gw 192.168.11.x
添加域名:
echo nameserver 192.168.11.x >/etc/resolve.conf
- 重置超级用户密码
passwd root
在终端输入以上命令之后会有交互式出现,之后你可以根据交互式信息配置密码
- 添加普通用户
adduser name
在终端输入以上命令之后会有交互式出现,之后根据交互式信息配置相关信息即可
- 其他
至于一些常用到的Nessus、Openvas等我们在之后使用的时候回详细的介绍其安装与使用