前言
OK,Java安全更新不下去了,实在是太难啦啊,想起来提权这一块没怎么更新过,接下来都主要是更新提权这一块的文章了,Java安全的话以后有耐心再搞了。
手动提权
今天主要是讲这个手动的提权,手动提权相比于CS那种自动化提权工具有优点,也有缺点。
优点:就是能获取实时最新的EXP,无需等工具更新
缺点:操作过程可能比较繁琐,而且缺乏大量的实验和调试,提权过程中可能会遇到各种问题
补丁筛选
当我们拿到 shell 之后可以收集一些系统的信息,比如系统版本、打过的补丁、位数等信息,通过这些信息来筛选出可以用来提权的漏洞,再通过漏洞编号去找到相对应的EXP。
我们可以在网上找到一些提权辅助网站,来帮助我们筛选一些提权的漏洞。
https://tools.zjun.info/getmskb/
https://www.adminxe.com/win-exp/
执行systeminfo 获取系统信息,把系统信息粘贴到网站即可,它就会根据你的系统版本、补丁等,找到可能存在的漏洞。
不过这种提权辅助网站一般都是看看就行,参考价值不是很大,我们还可以找一些提权辅助的项目来测试一下。
https://github.com/bitsadmin/wesng
我们把系统信息保存在 1.txt 中,然后运行这个项目去检测这个1.txt,然后就会给出可能存在的漏洞。
python wes.py 1.txt --color
EXP获取
通过上面筛选出漏洞之后,我们就去找它的对应的EXP来进行利用。
KernelHub 针对常用溢出编号指定找EXP。
https://github.com/Ascotbe/Kernelhub
Poc-in-Github 针对年份及编号指定找EXP。
上面的方法虽然比较灵活,针对性强,但是弊端也非常明显。虽然计算机上存在这个漏洞,但是网上未必能找到这个漏洞利用的EXP,而且就算你能找到这个漏洞的EXP,也未必能成功提权,因为网上的EXP可能是个人编写的,也可能是企业编写的,版本很多,不同的版本编写方式又不一样。缺乏大量的实验和调试,只要你计算机系统信息有一点不同可能就失败了,简单来说就是不稳。
还有一个问题就是,大多数网上的提权EXP演示是从本地普通用户权限 ——> System权限,而我们实战中却是从Web权限 ——> System权限,也就是说这个EXP从普通用户到System可以,但是从Web到System不一定可以。
土豆家族
windows提权用这个系列漏洞最多,成功率也最大的,土豆(potato)提权通常用在我们获取WEB/数据库权限的时候,可以将低权限的服务用户提升为“NT AUTHORITY\SYSTEM”特权。
原理
土豆系列提权的核心是NTLM中继,通过欺骗运行在高权限(Administrator/SYSTEM)的账户进行ntlm认证,同时作为中间人对认证过程进行劫持和重放,最后调用本地认证接口使用高权限账号的ntml认证获取一个高权限token,只要当前进程拥有SeImpersonatePrivilege权限即可进行令牌模仿,即可取得对应权限。
利用
目前网上的土豆家族一共有12个,分别是:
GodPotato-自带exe
https://github.com/BeichenDream/GodPotato
RoguePotato-自带exe
https://github.com/antonioCoco/RoguePotato
PetitPotato-自带exe
https://github.com/wh0amitz/PetitPotato
作用范围未知
JuicyPotatoNG-自带exe
https://github.com/antonioCoco/JuicyPotatoNG
PrintNotifyPotato-自带exe
https://github.com/BeichenDream/PrintNotifyPotato
BadPotato-需要自行编译成exe
https://github.com/BeichenDream/BadPotato
EfsPotato-需要自行编译成exe
https://github.com/zcgonvh/EfsPotato
作用范围未知
CandyPotato-需要自行编译成exe
https://github.com/klezVirus/CandyPotato
RasmanPotato-需要自行编译成exe
https://github.com/crisprss/RasmanPotato
MultiPotato-需要自行编译成exe
https://github.com/S3cur3Th1sSh1t/MultiPotato
作用范围未知
SweetPotato-需要自行编译成exe
https://github.com/CCob/SweetPotato
CoercedPotato需要自行编译成exe
https://github.com/Prepouce/CoercedPotato
有一些土豆是自带exe较为方便,但是有一些需要自己编译一下,这里就不说怎么编译了。下面我们来演示一下这些土豆怎么使用,首先我这里获取了一个Web权限,受控主机是Windows 10 专业版。
按照我们上面给出的适用范围,我们上传了一个Badpotato,实战中直接把每个都试一遍即可,可以看到以Badpotato执行的命令是system。
BadPotato.exe whoami
我们用 Badpotato 来上线一个CS后门看看,可以看到上线的身份是system。
总结
一般提权的对象都是Server系列,像Windows 11这种个人电脑一般不会遇到好吧。
最后,以上仅为个人的拙见,如何有不对的地方,欢迎各位师傅指正与补充,有兴趣的师傅可以一起交流学习。