根据DM老师的课程所整理
内容
- Windows单机提权
- Bypass UAC
- Bypass AppLocker
Windows单机提权
- EXP提权
- systeminfo
- wmic qfe get Caption,Description,HotFixID,InstalledOn
- post/windows/gather/enum_patches
- Windows-Exploit-Suggester
- https://github.com/SecWiki/Windows-kernel-exploits
- https://www.exploit-db.com/local/
- https://pentestlab.blog/2017/04/24/windows-kernel-exploits/
- 常用提权EXP:MS10-015、MS10-092、MS13-053、MS13-081、MS14-058、MS15-051、MS15-078、MS16-032、CVE-2017-7199
- Unquoted Service Path提权
- 检查
wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "c:\windows\\" | findstr /i /v """
- 不安全的服务权限
- 查找用户可以修改的服务:accesschk.exe -uwcqv "user" *
- 查询服务:sc qc "Service"
- 改服务的BINPATH:sc config "Vulnerable" binpath="c:\malicious.exe"
- sc stop "Vulnerable"
- sc start "Vulnerable"
- MS12-020
- accesschk.exe -uwcqv "Everyone" *
- accesschk.exe -uwcqv "Authenticated Users" *
- accesschk.exe -uwcqv "Users" *
- AlwaysInstallElevated(用到的比较少)
- MSI
- 非授权用户以SYSTEM权限运行安装文件(MSI)
- 查询
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated ret query HKLM\SOFTWARE\Pllicies\Microsoft\Windows\Installer /v AlwaysInstallElevated
-
执行
msiexec /quiet /qn /i c:\msi.msi
- 通过利用弱文件夹权限来提升特权
- 确定写入权限:
icacls "c:\Program Files" icacls "c:\Program Files (x86)\*" 2>nul | findstr "(M)" | findstr "Everyone" icacls "c:\Program Files (x86)\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users" icacls "c:\Program Files\*" 2>nul | findstr "(M)" | findstr "BUILTIN\Users" accesschk.exe -qwsu "Everyone" * accesschk.exe -qwsu "Authenticated Users" * accesschk.exe -qwsu "Users" *
- 无人值守安装
//搜索一下文件
c:\sysprep.inf
c:\sysprep\sysprep.xml
c:\Windows\system32\sysprep.inf
C:\Windows\system32\sysprep\sysprep.xml
C:\Windows\Panther\Unattend\Unattended.xml
C:\Windows\Panther\Unattend\Unattend.xml
C:\Windows\System32\Sysprep\unattend.xml
C:\Windows\System32\Sysprep\Panther\unattend.xml
dir /s *sysprep.inf *sysprep.xml *unattended.xml *unattend.xml *unattend.txt 2>nul
- 任务计划程序的特权升级
- schtasks /query /fo LIST /v
- DLL劫持
- 在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件。当我们执行某一个程序时,相应的DLL文件就会被调用,一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用
- DLL劫持步骤
1、使用Process Explorer等类似软件查看该应用程序启动后加载的动态链接度 2、启动程序 3、从该应用程序已加载的DLL列表中,查找在KnowsDLLs注册表项不存在的DLL 4、编写上一步获取到的DLL的劫持DLL 5、将编写好的劫持DLL放到该应用程序目录下,重新启动该应用程序,检查是否劫持成功
-
DLL劫持原理
1、在进程尝试加载一个DLL,Windows会尝试去按照顺序搜索这些特定目录下查找这个DLL,将恶意的DLL放在优先于正常DLL所在的目录,就能欺骗系统优先加载恶意DLL,来实现“劫持” 2、DLL加载顺序: (1)加载应用程序的目录 (2)系统目录(C:\windows\system32) (3)16位系统目录(c:\windows\system) (4)Windows目录(c:\windows) (5)当前工作目录(CWD) (6)PATH环境变量中的目录(系统路径,然后是用户路径) 3、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\KnownDLLs (这个位置的注册表中的DLL不会按照DLL加载顺序来加载,而是直接去system32的位置去加载) 4、rattler自动dll劫持
- JuicyPotato
- 本地支持RPC或远程服务器支持RPC并能成功登陆
- 用户支持Selmpersonate或SeAssignPrimaryToken权限
- 开启DCOM
- 可用的COM对象
- https://ohpe.it/juicy-potato/CLSID/
- PowerUp
- PowerUpSQL
systeminfo 打印系统信息
whoami 获取当前用户名
whoami /priv 当前账户权限
net user 列出用户
net user UserName 关于用户的信息
net localgroup 列出所有组
tasklist /svc 列出服务任务
net start 列出启动的服务
sc query 列出所有服务
sc qc ServiceName 找到指定服务的路径
UAC
- 用户账户控制(User Account Control),Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序。
- UAC触发条件
- 配置Windows Update
- 增加和删除用户账户
- 改变用户的账户类型
- 改变UAC设置
- 安装ActiveX
- 安装和移除程序
- 安装设备驱动程序
- 设置家长控制
- 将文件移动或复制到Program Files或Windows目录
- 查看其它用户文件夹
- Bypass UAC
- 白名单提权机制:如,Wusa.exe Bypass UAC、infDefault.exe Bypass UAC、PkgMgr.exe Bypass UAC等
- DLL劫持
- Windows自身漏洞提权
- 远程注入
- COM接口技术
- UACME
AppLocker(应用锁)
- 可配置文件类型
- 可执行文件
- 脚本
- 系统安装文件
- 程序集
- 应用安装文件
Bypass Applocker List
- 查找可利用的文件路径
- HTA(HTML Applications)
- PowerShell
- Office 宏
- 内存
- 提权
- 进程注入
- 签名白文件
- LOLBAS、GTFOBins(ghub项目)
NTLM Relay
工具
- Responder.py
- RunFinger.py
- MultiRelay.py
- Impacket:smbrelayx.py、ntlmrelayx.py