当前位置: 首页 > article >正文

Kali学习(ms17-010、ms08-067漏洞复现)

目录

一、kali网络设置  NAT模式、桥接上网/仅主机

VMnet0、VMnet1、VMnet8

1.NAT模式 VMnet8

(1)检查服务

(2)创建虚拟网卡

(3)创建kali的网卡信息

(4)验证

2.桥接模式 VMnet0

3.仅主机模式 VMnet1

二、nmap使用

1.端口扫描

指定端口

指定扫描方式

TCP全连接扫描

SYN半链接扫描

2.主机探测

3.服务识别

4.系统识别

三、msfconsole使用

四、 ms17-010  永恒之蓝漏洞复现

五、ms08-067漏洞复现


复现参考:
永恒之蓝漏洞复现_ms17-010 漏洞检测工具
ms08-067漏洞的复现及所遇到的问题分析

一、kali网络设置  NAT模式、桥接上网/仅主机

kali_NAT模式、桥接上网/仅主机_详细

前提了解:

VMnet0、VMnet1、VMnet8

VMware中VMnet0、VMnet1、VMnet8是什么

安装VMware workstation的时候,默认会安装3块虚拟网卡,分别是VMnet0、VMnet1、VMnet8

三种网卡的区别:
①Adapter=VMnet1=eth0(host-only)
虚拟机之间、主机与虚拟机之间互访,但虚拟机无法访问外网。
②Adapter2=VMnet8=eth8(nat)
虚拟机之间、主机与虚拟机之间互访,虚拟机可以通过主机访问外网,外网无法访问虚拟机。
③Adapter3=VMnet0=eth2(Bridged)
虚拟机相当于一台实体机,可以自由访问与被访问及上网。

1.NAT模式 VMnet8

NAT模式下的kali,子网(ip)不需要与主机处于同一网段

因为虚拟机有虚拟网卡,就像在windows系统里玩kali一样,他们的物理层公用一个设备-公用主机硬件,但在应用层上他们是相对独立的-互不干扰,可以同时使用。

NAT的作用能让多台设备共用一个外网IP进行上网。

NAT是什么,为什么能共享主机的IP?

使内网的计算机以NAT(网络地址转换)协议,通过一个公共的网关访问Internet,就像家里的路由器一样,多台设备连接上网,使用的是同一个外网IP。

(1)检查服务

键盘win+r组合键,打开运行,输入services.msc。检查以下几个服务是否正常开启。

(2)创建虚拟网卡

在网络适配器查看是否配置成功

键盘win+r打开运行,输入ncpa.cpl打开网络适配器,正常情况下,与上面配置的信息一致。

这两个信息必须是一致的

(3)创建kali的网卡信息

进入root帐号

在kali的终端输入下面代码(任意一条),用来停止网络服务

systemctl stop NetworkManager
或
service NetworkManager stop

对 /etc/network/interfaces文件 进行修改

vim /etc/network/interfaces

回车之后,打开的这个文件就是,kali的网卡。

为什么是文件?因为linux系统里,万物皆是文件形式。

按下 I键 进行修改,添加如下信息:

auto eth0
iface eth0 inet dhcp

配置完以后,按Esc键,然后再按组合键;+shift,输入wq

然后回到终端界面,输入:

systemctl restart networking
#重启网卡
(4)验证

再输入ifconfig,查看kali是否成功获取到了ip地址

验证能否与外网正常连接

2.桥接模式 VMnet0

桥接就相当于,将创建的虚拟网卡,变成交换机,与主机的网卡连接,使kali可以上网。

先选择桥接的网卡

然后在虚拟机设置里选择网络适配器为桥接

这样就可以使用了,桥接获取的ip地址,与主机处于同一网段

3.仅主机模式 VMnet1

此模式是将主机与kali加入到一个独立的局域网,kali是不能上网的。

常用于封合测试,防止病毒外泄到Intent。 

先选择仅主机的网卡

然后在虚拟机设置里选择网络适配器为仅主机

可以看到主机的ip地址与kali的ip地址,处于同于网段

结果如下:可以与主机互通,不能上网

二、nmap使用

kali的命令行中可以直接使用 nmap 命令。

打开终端,输入 nmap 后回车,可以看到 nmap 的版本,证明 nmap 可用。

1.端口扫描

扫描主机的开放端口,在nmap后面直接跟主机IP(默认扫描1000个端口)

nmap 192.168.189.1

从上图可以看到:它用25.72秒扫描了1000个端口,其中999个端口关闭,结果中列出的1个端口就是开放的端口。

指定端口

扫描指定端口,使用 -p 参数,可以一次扫描单个端口、多个端口、或扫描一个范围的端口

nmap 192.168.189.1 -p 6881

指定扫描方式

通过kali中的 wireshark 抓包分析不同扫描方式的请求信息,从而判断这些方式的区别。

打开kali中的 wireshark,选择抓包的网卡(这里是 eth0 )。

过滤条件 ip.addr == 192.168.189.1 and tcp.port == 6881

意思是:过滤IP地址是 192.168.189.1 并且 端口是 TCP的6881端口。

设置完过滤条件后,再进行命令行执行扫描命令,然后查看 wireshark 中的请求包。

TCP全连接扫描

使用 -sT 参数进行TCP全连接扫描。

全连接扫描:使用完整的三次握手建立链接,能够建立链接就判定端口开放,否则判定端口关闭。

nmap 192.168.189.1 -p 6881 -sT

如果端口开放,就会进行完整的三次握手,成功建立链接,扫描结果中,STATE字段显示为 open

如果端口关闭,就只能进行一次握手,无法建立链接,扫描结果中,STATE字段显示为closed

SYN半链接扫描

使用 -sS 参数进行SYN半链接扫描。

半链接扫描:只进行两次握手,对方返回确认帧(ACK=1)就判定端口开放(STATE字段为 open),否则判定端口关闭(STATE字段为 closed)。

nmap 192.168.189.1 -p 6881 -sS

2.主机探测

扫描网段中有哪些主机在线,使用 -sP 参数,不扫描端口。

本质上是Ping扫描,能Ping通有回包,就判定主机在线

nmap -sP 192.168.189.1

它用13.08秒扫描了这个网段的1个IP,这个主机在线

3.服务识别

扫描端口时,默认显示端口对应的服务,但不会显示服务版本

可以使用 -sV 参数,VERSION字段显示服务的详细版本

nmap 192.168.189.1 -p 6881 -sV

4.系统识别

识别 操作系统版本,可以使用 -O 参数

nmap 192.168.189.1 -p 6881 -O

5.扫描结果导出

Nmap使用教程图文教程(超详细)-CSDN博客

三、msfconsole使用

msfconsole简称msf是一款常见的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马。

Msfconsole是Metasploit框架的主要控制台界面,它提供了一个命令行界面来与Metasploit框架进行交互,并允许用户执行各种渗透测试任务。

Msfconsole是Metasploit的核心组件之一,它充当了一个交互式命令行和一个脚本执行器的角色。

1.打开msfconsole工具:kali终端输入 msfconsole

2.搜索漏洞: search 漏洞名字

3.选择相关模块:use 模块号

4.显示出有效的攻击载荷:show options

5.设置目标ip:set rhosts 目标ip

6.执行攻击:run 或 exploit

7.退出到msf:back

四、 ms17-010  永恒之蓝漏洞复现

准备:

  • 攻击机:kali,ip:172.16.17.230
  • 靶机:windows7,ip:172.16.17.26
  • 工具:nmap(扫描)、msfconsole

查看IP地址,将两台虚拟机设置桥接模式

尝试相互ping通

首先在攻击机上使用nmap扫一下该网段靶机的存活情况

nmap -sP 172.16.17.26

扫描靶机端口前1000的开放情况

nmap 172.16.17.26

接着使用命令扫描该主机的操作系统类型: 为win7

nmap -O 172.16.17.26

分析了相关信息后,就可以使用 nmap自带的脚本扫描该靶机上的漏洞

nmap --script=vuln 172.16.17.26

发现存在 ms17-010(永恒之蓝漏洞),使用 msfconsole

使用search命令,搜索相关漏洞

search ms17-010

使用use命令,选择相关模块

“EternalBlue SMB Remote Windows Kernel Pool Corruption” 指的是一个利用MS17-010漏洞的攻击模块。

这个模块利用了Windows操作系统中SMB服务的漏洞,允许远程执行代码,进而导致对Windows内核池的破坏。这个漏洞使得攻击者可以远程执行恶意代码,从而获取系统权限或者对系统进行破坏。

use 0   //选择一号模块,可以远程执行代码

使用命令:show options,显示出有效的攻击载荷

此处使用 set 命令,设置一下 RHOSTS (靶机的ip地址)

“rhosts”这个词在计算机安全和网络配置中通常指“远程主机”(Remote Hosts).

set RHOSTS 172.16.17.26

设置完成之后,使用 run 或者 exploit 命令执行攻击。

运行成功会出现meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如获取屏幕、上传/下载文件、创建持久后门等。

运行成功后,就可远程命令执行。

e.g 使用ps命令,查看靶机所有进程详细信息

反弹shell

五、ms08-067漏洞复现

上面nmap扫过了win7没有这个漏洞

准备:

  • 攻击机:kali,ip:172.16.17.230
  • 靶机:win_xp_sp2,ip:172.16.17.164

使用命令扫描该主机的操作系统类型:

nmap -O 172.16.17.164

使用nmap自带的脚本扫描一下靶机上的漏洞

nmap --script=vuln 172.16.17.164

存在 ms08-067漏洞

打开 msfconsole,搜索ms08-067漏洞:search ms08-067

进入该漏洞模块的使用:use 0 或 use exploit/windows/smb/ms08_067_netapi

显示出有效的攻击载荷:show options

显示出可以被攻击的靶机的操作系统型号:show targets

选择简体中文靶机进行攻击:set  target  5(Windows XP SP2 英文版 (NX))

设置靶机ip:set RHOSTS 172.16.17.164

再次显示有效的攻击载荷:show options(确保靶机ip设置成功)

使用 run 或者 exploit 命令执行攻击

运行成功meterpreter >,可远程命令执行。 

遇到问题:

Exploit failed [unreachable]: Rex::ConnectionTimeout The connection with (172.16.17.164:445) timed out.

可以检查一下靶机防火墙是否关闭,我这里之前没关


http://www.kler.cn/a/282248.html

相关文章:

  • (长期更新)《零基础入门 ArcGIS(ArcMap) 》实验一(下)----空间数据的编辑与处理(超超超详细!!!)
  • 使用win32com将ppt(x)文件转换为pdf文件
  • HDMI之SBTM
  • CPU执行指令的过程
  • python怎么加锁
  • Spring 中的 BeanDefinitionParserDelegate 和 NamespaceHandler
  • 直线公理使初等数学一直将各异直线误为同一线 ——数集相等定义凸显初数一直将各异假R误为R
  • 《C++模板元编程:编程世界的魔法艺术》
  • Leetcode 第 408 场周赛题解
  • Nginx实验-2
  • react native框架之 保存二维码方法
  • 学习记录——day40- 类中特殊的成员函数
  • 【C++ 面试 - 内存管理】每日 3 题(八)
  • 系统中没有安装 git
  • 鸿蒙南向开发:测试框架xdevice核心组件
  • pnpm国内源设置
  • 苹果手机系统修复如何操作,几种iOS系统修复办法分享
  • Oracle(89) 什么是等待事件(Wait Event)?
  • mysql-day03
  • 行为型设计模式-观察者(observer)模式
  • 机器学习/数据分析--通俗语言带你入门随机森林,并用随机森林进行天气分类预测(Accuracy为0.92)
  • Nginx中设置服务器备用(backup)状态的策略与实践
  • 16. 结构体占内存大小是怎么计算的,有哪些原则?
  • OJ-0829
  • Python 中的 `and`, `or`, `not` 运算符:介绍与使用
  • Linux进程间的通信(二)管道通信及其实际应用(主要是实际编程应用,底层涉及不太多,想了解底层参考《UNIX环境高级编程》)