kali的一些使用和ms08-067、ms17-010漏洞

VM虚拟机-三种网络连接方式(桥接、NAT、仅主机模式)

虚拟机网络连接

一、Bridged(桥接)

二、NAT(网络地址转换)

三、Host-Only(仅主机)

在vmware软件中,选项栏的“编辑”下的“虚拟网络编辑器”中可以看到三个虚拟网卡VMnet0、VMnet1、VMnet8,而我们的虚拟机就是通过这三个虚拟网卡,实现的三种不同的网络连接,让我们的虚拟机达到连接的目的

三个虚拟网卡分别对应三个网络连接方式以及特点 

桥接模式

简单说,就是把你的虚拟机当成一台实体电脑,接入你的本地网络。
和母机在同一个网段上。容易造成ip冲突。

NAT模式

网络地址转换模式,虚拟机将主机作为网络代理,来连接网络。是最常用的方式。
会生成一个虚拟网卡(一般安装好VMware的时候就有了),来代理所有的虚拟机。
可以和母机不在同一网段。

仅主机模式

这种配置下,虚拟机仅母机可见,不能连接internet。

在vmware workstation中如何配置网络连接方式

一、桥接

打开电脑上的网络适配器

 可以看到此电脑的无线网卡为Intel  PRO/1000 MT

 在vmware上打开“虚拟网络编辑器”,选择桥接模式,将vmnet桥接到上面

 然后选择虚拟机,打开虚拟机配置,网络适配器,选择桥接模式,重新开机即可

二、NAT

如果创建虚拟机时没有特意选择另两个模式,则虚拟机默认为nat方式联网

选择虚拟机,打开虚拟机配置,网络适配器,选择NAT模式,重新开机即可

三、仅主机

选择虚拟机,打开虚拟机配置,网络适配器,选择NAT模式,重新开机即可

nmap

Nmap 是Network Mapper,中文为“网络映射器”。
Nmap 是一款开源的网络探测和安全审核的工具,它的设计目标是快速地扫描大型网络,是网络管理员必用的软件之一,
以及用以评估网络系统保安。
Nmap 脚本引擎(NSE)是Nmap最强大,最灵活的功能之一。
它允许用户编写(和共享)简单的脚本(使用Lua编程语言) )自动化各种网络任务。
用户可以依赖分布在Nmap上的不断增长的各种脚本,或者编写自己的脚本来满足自定义需求

Nmap有四种基本功能:「端口扫描」、「主机探测」、「服务识别」和「系统识别」。

一、端口扫描

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

nmap 192.168.88.137

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

nmap 192.168.88.137 -p 80
nmap 192.168.88.137 -p 1-80
nmap 192.168.88.137 -p 80,3389,22,21
nmap 192.168.88.137 -p 1-65535
nmap 192.168.88.137 -p-		# -p- 等价于 -p 1-65535

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

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

nmap 192.168.88.137 -p 80 -sT

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

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

nmap 192.168.88.137 -p 80 -sS

-sU udp扫描端口

nmap -sU 192.168.88.137

 -sA ack扫描 这项高级的扫描方法通常用来穿过防火墙的规则集

nmap -sA 192.168.88.137

根据端口的常见性进行扫描
nmap --top-ports 10 

nmap --top-ports 10 192.168.88.137

根据端口的出现的概率(0-1)进行扫描
nmap --port-ratio 0 (ip地址)
–port-ratio 后跟概率(0-1)

nmap --port-ratio 0 192.168.88.137

隐秘扫描,只适用于Linux系统。

「隐秘扫描」向目标主机的端口发送TCP FIN包 或 Xmas tree包 或 Null包,如果收到RST响应包,就判定端口关闭,否则就判定端口开放或被屏蔽(open/filtered)

nmap 127.0.0.1 -p 80 -sF	# Fin扫描
nmap 127.0.0.1 -p 80 -sN	# Null扫描(所有flags都为0的TCP包)
nmap 127.0.0.1 -p 80 -sX	# Xmas扫描(flags的FIN、URG、PUSH都为1的包)

二、主机探测

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

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

nmap -sP 192.168.88.0/24

-Pn: 不对目标进行ping探测(不判断主机是否在线)(直接扫描端口)

nmap -Pn 192.168.88.137

三、服务识别

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

想要识别具体的「服务版本」,可以使用 -sV 参数。

扫描结果中,VERSION字段显示服务的详细版本。

nmap 192.168.88.137 -p 80 -sV

四、系统识别

想要识别「操作系统版本」,可以使用 -O 参数。

nmap 192.168.88.137 -p 80 -O

-O --osscan-guess 猜测目标操作系统版本

nmap -O --osscan-guess 192.168.88.137

五、扫描结果导出 

Nmap的扫描结果可以保存到文件中,比如文本格式、XML格式。

1)将扫描结果导出为「文本格式」,结果原样保存。

nmap 192.168.88.137 -p 80 -oN result.txt

2)将扫描结果导出为「xml格式」,结果的保存格式会发生变化。

nmap 192.168.88.137 -p 80 -oX result.xml

组合命令:

T4 指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,
在网络通讯状况较好的情况下推荐使用T4
-F 扫描常用的100个端口

-P0 无ping;-sP ping 扫描

nmap -T4 -F -P0 +IP

–sV:版本探测

-Pn:进制ping后扫描:跳过主机发现的过程进行端口扫描

-sC 表示使用nmap脚本探测

nmap -sC -sV -Pn +IP

侵略性探测 ,可获得操作系统的信息 (t4加快速度)
初始化脚本,探测端口,回车可查看进度

nmap -A -v -T4 +IP

msfconsole

msfconsole简称msf,是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种渗透文件,利用网站,手机等的漏洞将到目标靶机,操控目标靶机。

msf 控制台参数运用:

banner 这个主要是查看metasploit的版本信息,利用模块数量、payload数量等等。
use 这个是使用参数。如你要使用到某个利用模块,payload等,那么就要使用到use参数
Search 当你使用msfconsole的时候,你会用到各种漏洞模块、各种插件等等。
show 如果要显示利用模块,那么就输入show exploits。如果要显示payload,那么就输入show payloads。

ms08-067漏洞

一.漏洞描述

MS08-067漏洞全称是“Windows Server服务RPC请求缓冲区溢出漏洞”,攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC(Remote Procedure Call,远程过程调用)请求,造成栈缓冲区内存错误,从而被利用实施远程代码执行。

当用户在受影响的系统上收到RPC请求时,该漏洞会允许远程执行代码,攻击者可以在未经身份验证情况下利用此漏洞运行任意代码。同时,该漏洞可以用于蠕虫攻击。它影响了某些旧版本的Windows系统,包括:

Windows 2000
Windows XP
Windows Server 2003



二、漏洞原理

MS08-067漏洞是通过MSRPC over SMB通道调用Server程序中的NEtPathCanonicalize函数时触发的。NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathCanonicalize函数中发生了栈缓冲区内存错误(溢出),造成可被利用实施远程代码执行(Remote Code Execution)。

所谓路径规范化,就是将路径字符串中的【/】转换为【\】,同时去除相对路径【.\】和【..\】。如:
**/*/./**   =>  **\*\**
**\*\..\**  =>  **\**

在路径规范化的操作中,服务程序对路径字符串的地址空间检查存在逻辑漏洞。攻击者通过精心设计输入路径,可以在函数去除【…\】字符串时,把路径字符串中内容复制到路径串之前的地址空间中(低地址),达到覆盖函数返回地址,执行任意代码的目的。 

缓冲区溢出攻击定义:向固定长度的缓冲区写入超出预先分配长度的内容,造成数据的一处,覆盖相邻存储单元,通过精心构造填充数据,导致目标程序运行失败且系统奔溃,或执行有序指令,获得目标主机的控制权(远程任意代码执行)

三、重要的445端口

 “135、137、138、139和445端口”这些端口,它们都是与文件共享和打印机共享有关的端口,而且在这几个端口上经常爆发很严重的漏洞。比如2017年危害全球的永恒之蓝,就是利用的445端口。

本篇文章的445端口就是利用SMB(Server Message Block)Windows协议族,用于文件共享、打印共享的服务。445端口是一个毁誉参半的端口,有了它我们可以在局域网中轻松访问各种共享文件夹或共享打印机,但也正是因为有了它,黑客们才有了可乘之机,他们能通过该端口偷偷共享你的硬盘,甚至会在悄无声息中将你的硬盘格式化掉!

总之,公开服务器打开139和445端口是一件非常危险的事情。 如果有Guest帐号,而且没有设置任何密码时,就能够被人通过因特网轻松地盗看文件。如果给该帐号设置了写入权限,甚至可以轻松地篡改文件。也就是说在对外部公开的服务器中不应该打开这些端口。通过因特网使用文件服务器就等同自杀行为,因此一定要关闭139和445端口。对于利用ADSL永久性接入因特网的客户端机器可以说也是如此。

四、漏洞的复现 

  靶机                        Windows XP       IP地址:192.168.244.133
     攻击机                        Kali

       IP地址:192.168.244.138

先看自己的ip地址

 扫描看看一个网段下其他主机存活的状态,发现目标主机。一看到XP或2003系统的445端口开放,我们就能想到轰动一时的MS08-067。

终端内输入msfconsole打开metasploite命令行客户端,它有1722个攻击模块,和507个攻击载荷即恶意代码。我们使用攻击模块造成缓冲区溢出,让靶机执行恶意代码。

 使用search命令查找ms08-067的漏洞利用模块。

 使用use命令选择我们要使用的利用模块

target设置为系统默认是自动定位,如果需要精确定位,可以show targets查看所有,然后进行选择。 

Payload很多,我们使用payload windows/meterpreter/reverse_tcp这个恶意代码,它是让靶机通过tcp向本机进行shell连接,然后本机可以直接控制靶机

 设置攻击机、受害机信息

运行exploit或者run反弹shell,此时我们成功获取了Windows XP系统的Shell,我们调用“ipconfig”查看的IP地址也是目标的“192.168.88.137”。 之后就进入后渗透阶段,可以Shell进入命令行,就可以做一些事情,比如开启3389远程桌面端口,创建用户可以直接登录等等。

          

五、漏洞的防御

一方面关闭相关端口、安装杀毒软件和补丁,另一方面在防火墙中进行流量监测,主要是针对数据包中存在的形如"\ ** \ … \ … \ *"这样的恶意路径名进行检测,最为保险的方法是使用正则去匹配。

ms17-010漏洞

一、漏洞描述

操作系统漏洞,会马上想到永恒之蓝(MS17-010)漏洞,他的爆发源于WannaCry勒索病毒的诞生。

永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。

二、漏洞原理

SMB服务是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。通过 SMB 协议,客户端应用程序可以在各种网络环境下读、写服务器上的文件,以及对服务器程序提出服务请求。此外通SMB 协议,应用程序可以访问远程服务器端的文件、以及打印机、邮件槽(mailslot)、命名管道等资源。

永恒之蓝则通过TCP端口(445)和(139)端口来利用SMB v1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的windows 机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、获取最高权限、虚拟货币挖矿机等恶意序。

           

   

三、漏洞的复现

  靶机                        windows 7       IP地址:192.168.52.134
     攻击机                        Kali

       IP地址:192.168.52.129

用nmap扫描本网段下存活的主机

 发现192.168.52.134,并且端口445目前是开启状态

使用kali自带的MSF的永恒之蓝漏洞模块,先对靶机进行扫描

打开MSF:msfconsole

 搜索永恒之蓝ms17-010代码:search ms17_010

 auxiliary/scanner/smb/smb_ms17_010是永恒之蓝扫描模块  exploit/windows/smb/ms17_010_eternalblue 是永恒之蓝攻击模块

我们先对漏洞是否存在进行扫描                                                                                   

1.使用模块use exploit/windows/smb/ms17_010_eternalblue

2.设置靶机ip set rhosts 192.168.52.134

3.设置靶机端口 set rport 445(默认就是445)

4.输入show options查看配置

输入run开始操作

 

发现扫描结果信息(注:出现“+”号是存在的,“-”号是不存在,可能开启了防火墙或者已有补丁)

然后我们就可以利用漏洞,对靶机进行攻击

1.使用模块use exploit/windows/smb/ms17_010_eternalblue

2.设置靶机IP set rhosts 192.168.52.134

3.输入show options查看配置

输入run开始攻击,出现win就成功了,拿到shell接下来我们就可以进行其他操作了

 

 四、漏洞的防御

1、安装杀毒软件及系统补丁。针对“永恒之蓝”勒索病毒,微软发布了专门的修复补丁 “MS17-010”, 用以修复被 “ Eternal Blue” 攻击的系统漏洞,用户可以自行下载对应的操作系统版本的补丁进行安装,记得把补丁下载回本地,重要资料所在电脑采用断网打补丁形式;

2、关闭tcp_445端口和网络共享。以win7系统为例,关闭方法如下:

(1)运行 regedit 打开注册表

(2)进入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters“,进入 NetBT 服务注册表项。

(3)在右边空白处右击新建“QWORD(64 位)值”,然后重命名为“SMBDeviceEnabled”,再把这个子键的值改为 0。

(4) 设置service。win+R打开运行界面,输入 services.msc,进入服务管理控制台。找到 server 服务,双击进入管理控制页面。将该服务启动类型更改为“禁用”,服务状态更改为“停止”,点击应用。

参考文章:

Nmap使用方法及常用命令学习_nmap -o_YANG公子的博客-CSDN博客

vmware虚拟机的三种网络连接方式_vmware虚拟机网络连接方式_小天天666的博客-CSDN博客

渗透- 基于metasploit的内网渗透 - ms08-067漏洞利用及其原理分析_ms08067漏洞原理_)嘻嘻嘻xcs的博客-CSDN博客

MS17-010(永恒之蓝)漏洞分析与复现_ms17-010原理_普通网友的博客-CSDN博客 

浅析ms17_010(永恒之蓝)漏洞利用过程及防护措施_ms17010漏洞利用_诗诗奶爸的博客-CSDN博客 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值