开学一次无聊的渗透测试实验

前言

  • 由于在实验室的环境下截下的图片不知为何很模糊,所以我就自己搭建环境来做实验了,对于实验室中类似于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.

实验一

  1. 见实验拓扑图,进入Windows XP SP3,打开命令行,输入命令ipconfig,查看该PC的IP配置信息:
    开学一次无聊的渗透测试实验_第1张图片
    实验拓扑图

    开学一次无聊的渗透测试实验_第2张图片
    图 1-1 Windows-IP
  2. 进入到kali中,打开终端,ifconfig查看IP配置信息:
    开学一次无聊的渗透测试实验_第3张图片
    图 1-2 Kali-IP
  3. 继续在kali上面进行主机连通性的探测:
    • Ping 本机:在kali里面ping命令默认是一直不停的扫描的,需要按下Ctrl+C来终止。
      开学一次无聊的渗透测试实验_第4张图片
      图 1-3 ping 192.168.17.128
    • Ping Windows-XP-pro:
      开学一次无聊的渗透测试实验_第5张图片
      图 1-3 ping 192.168.17.131
  4. 规定扫描的次数:kali上和Windows上面不太一样,kali是用-c参数来限制扫描的次数,而Windows上面的ping命令是-n。


    开学一次无聊的渗透测试实验_第6张图片
    图 1-4 限制扫描的次数
  5. 在Windows-XP上利用ping命令探测kali:
    • 限制扫描次数:
      开学一次无聊的渗透测试实验_第7张图片
      图 1-5 Windows上限制扫描的次数
    • 限制包大小:
      开学一次无聊的渗透测试实验_第8张图片
      图 1-6 限制包的大小扫描
    • 不停扫描: Ctrl+C结束扫描。
      开学一次无聊的渗透测试实验_第9张图片
      图 1-7 Windows上不停扫描
  6. 为了进一步确认主机的存在性,可以使用工具进行扫描:

    在Windows-XP上使用nmap的命令行探测:
    开学一次无聊的渗透测试实验_第10张图片
    图 1-8 nmap命令行探测
    • 使用Zenmap-GUI界面探测:
      开学一次无聊的渗透测试实验_第11张图片
      图 1-9 Zenmap图形化界面扫描
    • 可以在Zenmap的配置页面配置相关的扫描选项:见图1-10.
      开学一次无聊的渗透测试实验_第12张图片
      图 1-10 Zenmap配置
    • 使用Zenmap扫描目标网段里面存活的主机:扫描结果显示154个IP地址中有4个存活的主机。
      开学一次无聊的渗透测试实验_第13张图片
      图 1-11 Zenmap扫描目标网段
    • 并且可以查看网络拓扑图:见图1-12.
      开学一次无聊的渗透测试实验_第14张图片
      图 1-12 目标网段网络拓扑
    • 使用SuperScan扫描目标网段存活的主机:

      首先设置一下:
      开学一次无聊的渗透测试实验_第15张图片
      图 1-13 SuperScan配置
    • 扫描结果:见图1-14.结果显示Live hosts in this batch is 4,即4个存活的主机。


      开学一次无聊的渗透测试实验_第16张图片
      图 1-14 SuperScan扫描结果
    • 查看HTML结果:
      开学一次无聊的渗透测试实验_第17张图片
      图 1-15 SuperScan结果

      结果显示列出了四个存活的主机,并列举了主机开放的一些端口服务。

实验二

  1. 手动探测目标开启的服务:
    • 在Windows-XP 虚拟机上面打开命令行终端,利用netstat命令查看本机开放的端口:
      开学一次无聊的渗透测试实验_第18张图片
      图 2-1 netstat命令
    • 探测Metasploitable虚拟机是否开放ftp服务:结果显示开放了的。
      开学一次无聊的渗透测试实验_第19张图片
      图 2-2 手动探测ftp服务
    • 继续探测Metasploitable虚拟机的其他服务,例如telnet,3389端口等;输入telnet 192.168.17.129
      开学一次无聊的渗透测试实验_第20张图片
      图 2-3 手动探测telnet服务
    • 结果显示Metasploitable2虚拟机开启了telnet服务,telnet的默认端口是23端口。手动探测3389端口:见图2-4.
      图 2-4 手动探测3389端口
  2. 使用工具进行扫描:
    • 配置PortScan的扫描对象:


      开学一次无聊的渗透测试实验_第21张图片
      图 2-5 配置PortScan
    • 扫描结果:


      开学一次无聊的渗透测试实验_第22张图片
      图 2-6 扫描结果
    • 使用superscan扫描的结果:见图2-7.


      开学一次无聊的渗透测试实验_第23张图片
      图 2-7 SuperScan结果
    • 使用Zenmap扫描的结果:
      开学一次无聊的渗透测试实验_第24张图片
      图 2-8 Zenmap扫描的结果-端口服务
      开学一次无聊的渗透测试实验_第25张图片
      图 2-9 物理机的开放端口服务

      各个工具扫描的结果都差不多,只不过扫描配置的方式不太一样,端口是计算机与外界通讯交流的出口,一般情况下,一个端口对应一个特定的服务。

实验三

  1. 由前面的实验,已经知道kali虚拟机和Windows-XP虚拟机是可以相互通信的了,所以直接在kali上使用nmap探测WindowsXP的操作系统版本信息:
    开学一次无聊的渗透测试实验_第26张图片
    图 3-1 nmap探测操作系统

    结果显示是Microsoft Windows XP SP2 or SP3;

  2. 利用Nessus对目标操作系统进行漏洞分析,因为Nessus是装在Windows10物理机上面的,需要先关闭win10的防火墙,然后在kali里面打开浏览器,输入https://192.168.17.1:8834, Nessus服务的默认端口为8834,就可以在kali上面使用Nessus了;见图3-2.
    开学一次无聊的渗透测试实验_第27张图片
    图 3-2 登录Nessus
    • 登陆成功后点击New Scan,选择Advanced Scan,然后配置好相关的目标信息:
      开学一次无聊的渗透测试实验_第28张图片
      图 3-3 配置扫描信息
    • 保存之后,启动scan:
      图 3-4 启动scan
    • 扫描的结果如下:
      图 3-5 漏洞数量
      开学一次无聊的渗透测试实验_第29张图片
      图 3-6 漏洞严重程度
    • 进入漏洞详情页,查看具体的漏洞信息:
      开学一次无聊的渗透测试实验_第30张图片
      图 3-7 存在MS08_067漏洞
  3. 在kali虚拟机中打开终端,输入msfconsole进入metasploit漏洞利用工具,搜索ms08_067漏洞利用模块:见图3-8及图3-9.
    开学一次无聊的渗透测试实验_第31张图片
    图 3-8 打开msfconsole
    开学一次无聊的渗透测试实验_第32张图片
    图 3-9 搜索ms08_067
    • 调用ms08_067漏洞利用模块,并进行相应的设置如下:
      开学一次无聊的渗透测试实验_第33张图片
      图 3-10 设置相关参数
      开学一次无聊的渗透测试实验_第34张图片
      图 3-11 查看相关参数设置情况
      开学一次无聊的渗透测试实验_第35张图片
      图 3-12 target参数
    • Exploit之前使用check命令检查一下:
      图 3-13 check命令
    • 最后exploit:
      开学一次无聊的渗透测试实验_第36张图片
      图 3-14 执行溢出

      结果显示成功利用了漏洞得到了meterpreter会话;

    • 输入shell,得到目标主机的控制台权限,可以执行cmd命令:见图3-15及图3-16.


      开学一次无聊的渗透测试实验_第37张图片
      图 3-15 得到shell
      开学一次无聊的渗透测试实验_第38张图片
      图 3-16 利用得到的shell查看目标机的IP配置信息

实验四

  1. Metasploitable2虚拟机是一个特别制作的Ubuntu操作系统,本身设计作为安全工具测试和演示常见漏洞攻击;上面的实验中,我们也可以看到利用扫描工具扫出的Metasploitable2的一些端口信息;
    图 4-1 Metasploitable2开放的端口服务
  2. 由上图中可以看到Metasploitable的21端口对应的服务是vsftpd 2.3.4;而在该版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“:)”为结尾,服务器就会在6200端口监听,并且能够执行任意代码,所以我们可以利用metasploit来进行漏洞利用;
  3. 在kali虚拟机中打开终端,输入msfconsole,搜索vsftpd:
    开学一次无聊的渗透测试实验_第39张图片
    图 4-2 在msfconsole中搜索vsftpd
    • 输入show options查看需要设置的参数信息:
      开学一次无聊的渗透测试实验_第40张图片
      图 4-3 查看参数信息
    • 由上图可知需要设置远程的主机,还有一个target默认是自动识别的,但是上一个实验中识别Windows-XP出错了,所以设置了RHOST之后我接着用nmap进行了操作系统探测:
      开学一次无聊的渗透测试实验_第41张图片
      图 4-4 设置RHOST,探测操作系统
      开学一次无聊的渗透测试实验_第42张图片
      图 4-5 靶机操作系统版本
    • 由上图可知该系统在Linux 2.6.9-2.6.33之间,show targets查看一下有哪些目标:
      开学一次无聊的渗透测试实验_第43张图片
      图 4-6 查看target参数

      好像有点不同,那就用默认的吧;

    • exploit之前,check一下,查看目标是否可用:结果显示这个漏洞模块不支持check命令;
      图 4-7 check命令
    • 嗯,看来不是所有的module都可以check;直接执行溢出吧:
      开学一次无聊的渗透测试实验_第44张图片
      图 4-8 exploit执行溢出

      直接得到目标的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;

你可能感兴趣的:(开学一次无聊的渗透测试实验)