渗透测试的流程通常包括以下几个步骤,但在实战中有些步骤可能会省略或合并到其他步骤当中:
收集信息:利用各种工具,尽可能得收集目标系统的各种信息,包括但不限于目标网络信息,网站内容,目录结构,可能的用户名,端口号,服务信息,域名及子域名等。
漏洞扫描:使用扫描工具对目标系统进行完整的扫描,目前有很多现成的自动化的扫描工具,也可以使用手动工具更有针对性的进行漏洞扫描,验证目标系统特定服务的漏洞信息。
渗透漏洞:利用相应的工具,对可以被利用的漏洞进行攻击,包括但不限于使用远程命令执行,注入,破解等等方法,目标是获得目标系统更高的权限访问敏感信息。
创建后门:在目标系统上创建可以维持持续访问的入口,并隐藏自己攻击的痕迹,避免被发现同时也方便未来继续访问。
收集信息:利用各种工具,尽可能得收集目标系统的各种信息,包括但不限于目标网络信息,网站内容,目录结构,可能的用户名,端口号,服务信息,域名及子域名等。
漏洞扫描:使用扫描工具对目标系统进行完整的扫描,目前有很多现成的自动化的扫描工具,也可以使用手动工具更有针对性的进行漏洞扫描,验证目标系统特定服务的漏洞信息。
渗透漏洞:利用相应的工具,对可以被利用的漏洞进行攻击,包括但不限于使用远程命令执行,注入,破解等等方法,目标是获得目标系统更高的权限访问敏感信息。
创建后门:在目标系统上创建可以维持持续访问的入口,并隐藏自己攻击的痕迹,避免被发现同时也方便未来继续访问。
实验环境包含两台虚拟机,分别是攻击机和靶机:
攻击机:Kali Linux 2.0 虚拟机,主机名是 kali,IP 地址为 192.168.122.101,默认用户名密码为 root/toor
靶机:Metasploitable2 虚拟机,主机名是 target,IP 地址为 192.168.122.102,默认用户密码为 msfadmin/msfadmin
查看并启动实验环境,双击 Xfce 终端,打开终端,后续所有的操作命令都在这个终端中输入。
首先使用 virsh list 命令查看当前环境中虚拟机的列表和状态,注意需要使用 sudo,另外需要加上参数 --all 才会显示所有关机状态的虚拟机
然后我们使用 virsh start 命令启动虚拟机,再次查看状态虚拟机已经进入 running 状态
注意由于虚拟机启动需要时间,大概要等四分钟左右我们就可以使用 SSH 访问两台虚拟机了。如果 ssh 不能连接,说明虚拟机还没有完全启动起来,需要再等待一下。
攻击机:Kali Linux 2.0 虚拟机,主机名是 kali,IP 地址为 192.168.122.101,默认用户名密码为 root/toor
靶机:Metasploitable2 虚拟机,主机名是 target,IP 地址为 192.168.122.102,默认用户密码为 msfadmin/msfadmin
查看并启动实验环境,双击 Xfce 终端,打开终端,后续所有的操作命令都在这个终端中输入。
首先使用 virsh list 命令查看当前环境中虚拟机的列表和状态,注意需要使用 sudo,另外需要加上参数 --all 才会显示所有关机状态的虚拟机
然后我们使用 virsh start 命令启动虚拟机,再次查看状态虚拟机已经进入 running 状态
注意由于虚拟机启动需要时间,大概要等四分钟左右我们就可以使用 SSH 访问两台虚拟机了。如果 ssh 不能连接,说明虚拟机还没有完全启动起来,需要再等待一下。
首先使用 SSH 连接到 Kali,我们大部分的攻击操作都需要在 Kali 虚拟机中进行,注意用户名root,密码 toor 是不显示的,使用命令 ssh root@kali 即可,因为当前实验环境中已经把 IP 地址和主机名的对应写入到了 /etc/hosts 文件中,避免输入不好记的 IP 地址。
然后打开一个新的终端标签页,SSH 连接到 Metasploitable2 中,用户名 msfadmin,密码 msfadmin。
在 Kali 虚拟机中 ping target 测试两台虚拟机都可以通过内部的虚拟网络进行连接,使用 Ctrl-C 退出 ping。
现在两台实验环境都已经启动了,我们可以开始渗透。
然后打开一个新的终端标签页,SSH 连接到 Metasploitable2 中,用户名 msfadmin,密码 msfadmin。
在 Kali 虚拟机中 ping target 测试两台虚拟机都可以通过内部的虚拟网络进行连接,使用 Ctrl-C 退出 ping。
现在两台实验环境都已经启动了,我们可以开始渗透。