如果你有电脑的普通用户的登录权限,比如公司发的笔记本,但是没有管理员用户密码和密码,想要得到管理员权限,怎么办?
1. 首先检查你的系统服务,看看有没有哪个服务,存在路径漏洞。例如笔记本常见的Cypress触摸板驱动,下面就是存在漏洞的:
因为可执行文件路径C:\Program Files\Cypress\TrackPad\CyTpService.exe没有用引号括起来,并且该驱动是 LocalSystem 账户运行的,所以我们可以通过依次在C:\放置我们的提权程序:
C:\program.exe
C:\program files.exe
即每碰到空格就会先读取一次。下面指令查找本机所有自动启动服务并输出可执行文件路径名找到带空格且没有引号的服务就可以利用了:
wmic service get name,displayname,pathname,startmode | findstr /i "Auto"
提权程序自己写了,在提权程序里面调用 net localgroup "Administrators" "目标用户名" /add 就可以得到管理员权限了!
本方法已经失效,Windows已经禁止在C:盘根目录建立文件!
下面查找非标服务:
wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:\Windows\\" | findstr /i /v """
上述指令,查找系统中,非标服务,找到后,我们可以去对应目录下,查看权限:
icacls 目标目录
如果显示 BUILTIN\Users:(I)(OI)(CI)(F)
则表示普通用户,具有目标目录的完全控制权限,能够修改和替换服务对应的文件,此时就成功了!更新替换对应服务文件为提权程序即可,然后等服务重启或者目标机器重启。
2. 普通用户打开 cmd,运行 cmdkey /list,看看是否管理员疏忽,保存了管理员的凭据,如果管理员不小心保存了管理员账户的凭据,恭喜你不废吹灰之力,用 runas /savecred /user:管理员账户 提权程序.exe 就可以提权了。
3. 查看系统是否存在非标的服务,即服务不是安装在C:\Program Files,C:\Program Files(x86)目录下的服务,如果有,就去查对应程序所在目录的权限,是否普通用户有权限修改,如果有权限修改很简单,用提权程序覆盖原服务exe,提完权后再恢复原程序即可。
正常情况下,普通用户对上述两个目录无写入修改权限,不行。
5. 如果安装了 MySQL Server,看看是否有 sys_exec(正常情况下安装的 MySQL Server没开sys_exec),如果有就直接提权了。如果没有,就考虑先用 select into outfile ,修改 my.cnf 文件,开启 sys_exec。当然你必须要有MySQL Server的Root用户权限。如果报错Error Code: 1290. The MySQL server is running with the –secure-file-priv option so it cannot execute this statement,可以先用 SET GLOBAL secure_file_priv = '目标目录';设置,之后就可以操作目标目录下的文件了。 可以用 SHOW VARIABLES LIKE "secure_file_priv";查看对应目录。
SET GLOBAL secure_file_priv会报错:Variable 'secure_file_priv' is a read only variable,此路不通
7. 如果不是Secure BIOS,可以用PE U盘启动,对硬盘上的东西为所欲为,但是如果开了BitLocker就没办法了。
如果得到了 Administrator 权限账户,就等于已经完全控制了这台机器,可以通过 Administrator 权限账户,再提权到 SYSTEM,这是非常简单的事情,用 psexec、 nsudo、计划任务等方式可以非常轻松毫无难度完成。