漏洞挖掘之旅

最近小有产出,只不过厂商都不太友好不鸟人的,希望以后能挖点高质量的,这边顺带总结一波学习到的技术。

windows提权总结

NAMEPIPE

CVE-2020-12431

通过namepipe来影响程序一些行为从而实现LPE

Incorrect permissions in services

CVE-2019-17390

比如运行在nt system权限的服务文件夹用户可写就能替换重启服务达到提权

或者配合dll劫持等

Trusted Service Paths

主要成因是由于服务文件路径没有加引号,Windows会尝试寻找并执行以空格前单词为名字的程序,操作系统会在文件路径下查找所有可能匹配项直到找到一个匹配为止。例如如下例子,Windows会尝试定位并执行如下的程序:

1
2
3
C:\Program.exe
C:\Program Files\Some.exe
C:\Program Files\Some Folder\Service.exe

具体查询方法可以用下面语句

1
wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """

image-20201210170022069

可以看到vmware一个验证程序没有引号,安装目录是我们自定义的,可以把安装目录装在一个带空格的文件夹下这样你就会发现vmware自动加上了引号233333

但是现在这种很少被认作是洞了

Dll Hijacking

CVE-2020-12302

dll劫持

Rollback Attack

CVE-2020-15663

CVE-2019-15315

u1s1这个方法把我惊艳到了

先介绍下CVE-2019-11753,漏洞主要成因是非默认安装目录user可写//现在的软件基本都是user不可写,除了部分厂商像steam

user可写导致可以替换里面的文件,至于替换哪个就得看什么文件运行在system权限,最常见的就是更新服务,替换更新服务后检查更新即可达到提权。

一般情况下这种漏洞修复都是加个check,比如check数字签名但是没有check版本,但是该目录还是user可写,这就可以利用Rollback Attack

主要操作就是替换更新文件为以前版本的更新文件,至于是什么版本就得看哪个版本出过漏洞,然后复现一波即可。

CVE-2019-14743

CVE-2019-15315

其中CVE-2019-15315也用到了rollback attack主要是绕签名,修改服务符号链接启动时以nt system权限启动cmd

CVE-2019-14743主要是权限设置不当,查看注册表SSDL显示BU是GA,procmon观察行为发现创建子健符号链接到windows installer就能修改为BU GA

这样基本能修改整个注册表权限,但为了提权就整windows installer这个服务,改成user可写后修改符号链接到cmd,然后启动服务,然后添加用户为admin即可提权

RPC

目前无例子。。。

COM

听说可以fuzz。。。

文章目录
  1. 1. windows提权总结
    1. 1.1. NAMEPIPE
    2. 1.2. Incorrect permissions in services
    3. 1.3. Trusted Service Paths
    4. 1.4. Dll Hijacking
    5. 1.5. Rollback Attack
    6. 1.6. Symlink Attack
    7. 1.7. RPC
    8. 1.8. COM
|