介绍
这篇文章是让你开始Windows权限提升的一个尝试。虽然它不是一个全面的指南,但会尽量涵盖所有的主要技术,给一个你可以建立的基础。
在这篇文章的底部有一个非常好的资源列表。
操作系统
让我们从一个受限的用户账号开始权限提升的过程。在这一点上,我们掌握很少(或者没有)关于系统功能的信息,比如谁会使用它,什么时候系统处于空闲状态,或者它连接到那台主机等。
确定操作系统的名字以及版本:
检查系统的体系结构:
注意:如果系统是32位,上面的命令将返回“x86”,如果是64位系统,它将返回“AMD64”。
查看所有环境变量:
查看计算机上所有用户的列表:
或查看某个用户的详细信息:
网络
查看系统的网络设置—基本网络、路由、防火墙等。
查看可用的网络接口:
查看路由表:
查看ARP缓存:
查看防火墙规则:
应用程序和服务
查看系统运行的服务以及应用程序,补丁版本,查看系统上的调度任务:
查看服务的进程:
查看已安装的驱动程序列表:
很多有价值的信息可以从WMIC或者Windows Management Instrumentation命令行获取。这些信息都非常有用,可以让你执行从获取数据到卸载程序等一系列的操作。
查看已安装程序的版本(更多的漏洞,非常重要):
同样,查看系统的服务、进程或启动程序:
查看非特权用户可不可以执行微软的可执行文件(.msi):
注:如果提示:“系统找不到指定的注册表项或值”,通常意味着该选项没有设置。
检查是否有设置setuid或setgid。
检查安装的更新和安装日期:
或者搜索可以提升权限的漏洞:
如果您从上面的命令任何输出,意味着补丁没有安装。
敏感的数据和目录
检查加密的密码,或包含敏感信息的文件:
除此之外,还可以检查未被注意的安装日志文件,这些文件通常包含base64编码的密码。在大型企业中更可能找到这些文件,在个别系统的手动安装是不切实际的。这些文件的共同位置是:
文件系统
看看我们有什么样的访问权限,哪些目录是可访问的,文件上设置了哪些权限。
使用预先安装的语言来突破限制。
或者启动一个FTP会话,并在它上面执行命令?
或者使用VBS脚本:
检查那些文件夹可写:
有用的系统漏洞利用脚本
有了上面这些信息,我们可以开始实际提升特权的过程了,下面是一个允许我们上传文件的VBScript:
此脚本是非常有用的,他可以在任何的Windows系统中,运行脚本:
如果目标的操作系统是Win7及以上,只需使用bitsadmin功能:
搜索漏洞和shellcode
- http://www.exploit-db.com
- http://1337day.com
- http://0day.today
- http://www.securityfocus.com
- http://seclists.org/fulldisclosure/
- http://www.exploitsearch.net
- http://www.securiteam.com
- http://metasploit.com/modules/
- http://securityreason.com
- https://cxsecurity.com/exploit/
- http://securitytracker.com/
其他优秀的资源、脚本、工具和指南
- rmusser01’s GitHub document to Post Exploitation on Windows
- Tim Arneaud on Windows Privilege Escalation
- An article on WMIC
- Luke Jennings on Group Policy Hijacking Attacks
- Toying with the Windows API
- enaqx – Excellent curated collection of content
- PowerShellMafia’s PowerSploit
- The SysInternals suite
- Windows Credential Editor
- Mimikatz – Credential Extraction
- GDSSecurity’s Windows Exploit Suggester
- SpiderLab’s Responder – A LLMNR, NBT-NS and MDNS poisoner
- PowerShellEmpire’s Empire – Pure PowerShell post-exploitation agent
- rabbitstack’s fibratus – A tool for exploration and tracing of the Windows kernel