前言
- 由于在实验室的环境下截下的图片不知为何很模糊,所以我就自己搭建环境来做实验了,对于实验室中类似于superscan、scanport等工具的使用,仅仅涉及工具的使用方面,我就简略一点,第三个实验涉及的比较多,我会更详细一点;
- 搭建的环境由上面的实验拓扑图可以知道,物理机是Win10,在VMware Workstations里面创建了三个虚拟机,分别是kali、Windows XP pro以及Metasploitable,虚拟机的网络连接方式是自定义的NAT模式(使用VMnet8),Nessus 7.2.1是安装在Windows10物理机上面的,在NAT模式中,物理机就相当于网关,在上面的实验拓扑图中我把它当成了交换机,这也许有点不准确,需要注意的一点是,可以在虚拟机里面通过浏览器访问Windows10上面的Nessus,不过首先要把Windows10的防火墙关掉才可以。
View on another blog for better experience.
实验一
- 见实验拓扑图,进入Windows XP SP3,打开命令行,输入命令
ipconfig
,查看该PC的IP配置信息:
- 进入到kali中,打开终端,
ifconfig
查看IP配置信息:
- 继续在kali上面进行主机连通性的探测:
-
Ping 本机:在kali里面ping命令默认是一直不停的扫描的,需要按下Ctrl+C来终止。
-
Ping Windows-XP-pro:
-
Ping 本机:在kali里面ping命令默认是一直不停的扫描的,需要按下Ctrl+C来终止。
-
规定扫描的次数:kali上和Windows上面不太一样,kali是用-c参数来限制扫描的次数,而Windows上面的ping命令是-n。
- 在Windows-XP上利用ping命令探测kali:
-
限制扫描次数:
-
限制包大小:
-
不停扫描: Ctrl+C结束扫描。
-
限制扫描次数:
-
为了进一步确认主机的存在性,可以使用工具进行扫描:
在Windows-XP上使用nmap的命令行探测:
-
使用Zenmap-GUI界面探测:
-
可以在Zenmap的配置页面配置相关的扫描选项:见图1-10.
-
使用Zenmap扫描目标网段里面存活的主机:扫描结果显示154个IP地址中有4个存活的主机。
-
并且可以查看网络拓扑图:见图1-12.
-
使用SuperScan扫描目标网段存活的主机:
首先设置一下:
-
扫描结果:见图1-14.结果显示Live hosts in this batch is 4,即4个存活的主机。
-
查看HTML结果:
结果显示列出了四个存活的主机,并列举了主机开放的一些端口服务。
-
使用Zenmap-GUI界面探测:
实验二
- 手动探测目标开启的服务:
-
在Windows-XP 虚拟机上面打开命令行终端,利用netstat命令查看本机开放的端口:
-
探测Metasploitable虚拟机是否开放ftp服务:结果显示开放了的。
- 继续探测Metasploitable虚拟机的其他服务,例如telnet,3389端口等;输入
telnet 192.168.17.129
: -
结果显示Metasploitable2虚拟机开启了telnet服务,telnet的默认端口是23端口。手动探测3389端口:见图2-4.
-
在Windows-XP 虚拟机上面打开命令行终端,利用netstat命令查看本机开放的端口:
- 使用工具进行扫描:
-
配置PortScan的扫描对象:
-
扫描结果:
-
使用superscan扫描的结果:见图2-7.
-
使用Zenmap扫描的结果:
各个工具扫描的结果都差不多,只不过扫描配置的方式不太一样,端口是计算机与外界通讯交流的出口,一般情况下,一个端口对应一个特定的服务。
-
实验三
-
由前面的实验,已经知道kali虚拟机和Windows-XP虚拟机是可以相互通信的了,所以直接在kali上使用nmap探测WindowsXP的操作系统版本信息:
结果显示是Microsoft Windows XP SP2 or SP3;
- 利用Nessus对目标操作系统进行漏洞分析,因为Nessus是装在Windows10物理机上面的,需要先关闭win10的防火墙,然后在kali里面打开浏览器,输入https://192.168.17.1:8834, Nessus服务的默认端口为8834,就可以在kali上面使用Nessus了;见图3-2.
-
登陆成功后点击New Scan,选择Advanced Scan,然后配置好相关的目标信息:
-
保存之后,启动scan:
-
扫描的结果如下:
-
进入漏洞详情页,查看具体的漏洞信息:
-
登陆成功后点击New Scan,选择Advanced Scan,然后配置好相关的目标信息:
-
在kali虚拟机中打开终端,输入msfconsole进入metasploit漏洞利用工具,搜索ms08_067漏洞利用模块:见图3-8及图3-9.
-
调用ms08_067漏洞利用模块,并进行相应的设置如下:
-
Exploit之前使用check命令检查一下:
-
最后exploit:
结果显示成功利用了漏洞得到了meterpreter会话;
-
输入shell,得到目标主机的控制台权限,可以执行cmd命令:见图3-15及图3-16.
-
调用ms08_067漏洞利用模块,并进行相应的设置如下:
实验四
-
Metasploitable2虚拟机是一个特别制作的Ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击;上面的实验中,我们也可以看到利用扫描工具扫出的Metasploitable2的一些端口信息;
- 由上图中可以看到Metasploitable的21端口对应的服务是vsftpd 2.3.4;而在该版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“:)”为结尾,服务器就会在6200端口监听,并且能够执行任意代码,所以我们可以利用metasploit来进行漏洞利用;
-
在kali虚拟机中打开终端,输入msfconsole,搜索vsftpd:
-
输入show options查看需要设置的参数信息:
-
由上图可知需要设置远程的主机,还有一个target默认是自动识别的,但是上一个实验中识别Windows-XP出错了,所以设置了RHOST之后我接着用nmap进行了操作系统探测:
-
由上图可知该系统在Linux 2.6.9-2.6.33之间,show targets查看一下有哪些目标:
好像有点不同,那就用默认的吧;
-
exploit之前,check一下,查看目标是否可用:结果显示这个漏洞模块不支持check命令;
-
嗯,看来不是所有的module都可以check;直接执行溢出吧:
直接得到目标的shell,uname -a查看目标操作系统的信息,为Linux Metasploitable 2.6.24-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux,whoami命令查看,得到的直接是root账户,ifconfig查看IP为192.168.17.129;
-
输入show options查看需要设置的参数信息: