作者名:白昼安全
主页面链接: 主页传送门
创作初心: 一切为了她
座右铭: 不要让时代的悲哀成为你的悲哀
专研方向: web安全,后渗透技术
每日emo: 不悲伤,不彷徨,有风听风,有雨看雨

一、Webshell权限转交msf

在内网阶段,假如我们通过了外部打点拿到了 webshell怎么来进行 权限提升呢。在我们普通的菜刀等webshell管理工具,是不具备提权功能的。那么我们就可以通过转交会话的方式来操作webshell权限进一步提升。

那怎样将webshell管理工具的webshell转交到msf呢?这里的webshell管理工具以哥斯拉为例,步骤如下

进入webshell管理条目右键点击进入

可以看到哥斯拉内置了msf模块,如下

将如下位置改为kali的ip和监听端口

点击load即可载入配置

而哥斯拉这款工具在这方面的优点就是载入配置后会给出msf接收会话的命令教程,就是下面这部分

在msf跟着敲就可以开启监听了

注意:这里的load载入配置有时候会卡,导致下面的设置lport的命令不变,例如上面我配置的是1111为监听端口,下面给出的命令仍然是4444,此时在msf敲命令时就要以你配置的为准,即1111

如下

成功开启监听,此时再在哥斯拉的msf插件模块位置点击go即可发送会话

效果如下

可以看到webshell管理工具上的webshell已经成功转交给msf了

二、windows权限分类

在Windows系统中,权限大概分为四中,分别是:

User:普通用户权限

Administrator:管理员权限,可以 利用Windows机制提升为System权限,所以msf的getsystem命令执行者是administrator时更容易成功

System:系统权限

TrustedInstaller:Windows中 最高权限。有些文件,连System权限也无法修改,只能TrustedInstaller权限修改。TrustedInstaller为Windows系统中众多系统内置安全主体中的一个,本身是系统重要服务,用户无法直接在此服务的上下文中运行程序或另一个服务。它是操作系统上用来对系统进行维护、更新等操作的组。在Windows XP及以前,System账户与管理员组对系统文件都有着完全访问的权限。 这意味着以管理员身份运行的程序可以任意更改系统,降低了系统安全性。TrustedInstaller则改变了这一情况,使得只有拥有TrustedInstaller令牌的系统进程才能更改 系统重要内容,而其他大部分系统服务就没有权限

我们获得了一个Windows系统的普通用户权限,由于低权限用户的很多操作将受到限制。所以,我们会想法设法地将低权限用户提权到高权限用户。

提权也就是通过漏洞来提权

三、windows权限提升

当我们不用metasploit不能进行getsystem的时候,那么我们该有哪一些思路来进行提权呢。

既然要提权,那么我们先详细了解一下权限的分类

1、windows内核溢出提权

本地溢出提权首先要有服务器的一个普通用户权限,攻击者通常会向服务器上传本地溢出程序,在服务器端执行,如果系统存在漏洞,那么将溢出Administrator权限。

那怎么判断系统是否存在漏洞呢?

[1]、systeminfo

首先就是通过系统打的补丁信息来观察,输入如下命令

systeminfo

system命令是Windows中用于显示关于计算机及其操作系统的详细配置信息,包括操作系统配置、安全信息、产品 ID 和硬件属性,如 RAM、磁盘空间和网卡和补丁信息等。

很多同学说就算拿到了补丁信息我怎么知道哪些补丁没打,存在哪些漏洞呢?这边给大家推荐一个辅助网站,链接如下

https://i.hacking8.com/tiquan

只需要将systeminfo获取的信息(或者单纯的补丁信息)复制进去,程序即可检测漏洞并返回对应的提权exp

可以看到返回的信息也很完善

[2]、local_exploit_suggester

post/multi/recon/local_exploit_suggester 是Msf自带的一个攻击模块,用来探测主机有哪一些漏洞,只需要配置session会话即可,如下

可以看到列出了很多对于session会话权限提升的办法,绿色的就是能够成功的,红色的就是不能利用的,可以看出来该模块还是很强的

注意:这些exp模块有的在使用后 并不是运行之后就能直接拿到system权限。而是运行之后会返回一个新的当前权限,此时在使用getsystem就能变成system权限

2、UAC绕过提权

UAC(User Account Control,用户账号控制) 是微软为了提高系统安全性在Windows Vista中引入的技术。UAC要求用户在执行可能影响计算机运行的操作或在进行可能影响其他用户的设置之前,拥有相应的权限或者管理员密码。UAC在操作启动前对用户身份进行验证,以避免恶意软件和间谍软件在未经许可的情况下在计算机上进行安装操作或者对计算机设置进行更改。在权限不够的情况下,访问系统磁盘的根目录、Windows目录,以及读写系统登录数据库等操作,都需要经常UAC(User Account Control,用户账号控制)的认证。

[1]、Msf模块

msf中有大量的通过uac绕过提权(bypassuac)的攻击模块,如下

在平时的是渗透中都可以进行尝试,一个一个试即可

[2]、Akagi64

这里再给同学们推荐github上的一个项目,内含七十多中uacbypass姿势,每种都有详细的介绍信息,github链接如下

https://github.com/hfiref0x/UACME

只要目标机器符合使用环境,都可以不断尝试,直到成功,成功后就会反弹一个管理员权限

命令格式如下

Akagi64.exe [bypassuac的姿势序号名]  [要打开的程序]

此时如果能成功执行,就会以管理员权限运行我们指定的程序,例如我们以普通用户执行

Akagi64.exe 61  C:\Windows\system32\cmd.exe

就会弹出一个cmd窗口,并且是管理员权限,如下

3、windows系统错误配置提权

我们在获得目标机一个普通的权限时,除了常规提权方法外,还可以通过查找目标主机错误的系统配置和漏洞来获取系统权限。本节所讲的“Trusted Service Paths(可信任服务路径)漏洞”和“系统服务的错误权限配置漏洞”绝对是你值得尝试的一个环节。

[1]、系统服务的错误权限配置漏洞

来看看下面这个页面,相信大家都很熟悉吧

这是windows的服务业,里面显示了系统的服务项、每个服务都对应了一个exe程序,如下

大部分都是系统自带的,比较安全,但有时候用户会出于各种原因来自己添加对应的服务和程序,此时的程序就不一定安全。

可以看到上面的服务对应的一个文件目录,c:\windows\system32目录,该目录是windows的系统目录,普通用户没有权限操纵里面的内容,所以这里的配置是没问题的

但如果用户新建的服务对应的程序在不安全的目录中,例如服务对应的程序路径如下

E:\ctf\misc\bpgview\BPGviewe.exe

此时我们如果能够对E:\ctf\misc\bpgview\目录下的文件进行删除,修改,添加等,我们就可以把BPGviewe.exe程序删除,上传我们自己恶意文件并重命名为BPGviewe.exe,当使用者再次打开该服务时,就会启动我们的恶意文件

[2]、Trusted Service Paths

“Trusted Service Paths”(可信任服务路径)漏洞是由系统中的“CreateProcess”函数引起的,利用了windows文件路径解析的特性,并涉及了服务路径的文件/文件夹权限,存在缺陷的服务程序利用了属于可执行文件的文件/文件夹权限。如果权限合适,我们可以上传恶意可执行文件。简单讲就是查找系统服务文件中存在非引用路径。如果一个服务调用可执行文件,没有正确处理引用的全路径名,就可以利用这个漏洞。

但是这个漏洞不太好演示,这里就介绍一下对应的Msf模块,同学们知道怎么用就可以了,模块名如下

exploit/windows/loacal/service_permissions

配置Msf端的session,运行后就可以查找目标机器是否存在这个错误配置,自动攻击,如下

4、访问令牌AccessTOken的窃取提权

假冒令牌可以假冒一个网络中的另一个用户进行各种操作。令牌包括登录会话的安全信息,如用户身份识别、用户组合用户权限。当一个用户登录Windows系统时,它被给定一个访问令牌作为它认证会话的一部分。例如,一个入侵用户可能需要域管理员的操作权限的时候,当它使用令牌便可假冒域管理员进行工作(攻击)。

[1]、令牌介绍

令牌(Token):令牌(token)是系统的临时秘钥,相当于账号和密码,用来决定是否允许这次请求和判断这次请求是属于哪一个用户的。它允许你在不提供密码或其他凭证的前提下,访问网络和系统资源,这些令牌将持续存在于系统中,除非系统重新启动。令牌最大的特点就是随机性,不可预测,黑客或软件无法猜测出令牌。

令牌分类

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

Windows的Access Token有两种类型

Delegation Token: 授权令牌,它支持交互式会话登录(例如本地用户直接登录、远程桌面登录访问)
Impresonation Token: 模拟令牌,它是非交互的会话(例如使用net use访问共享文件夹)。

[2]、利用方式

条件:必须为 Administrator 权限

这里我们还是使用Msf中对应的攻击模块来展示,该漏洞在Msf对应的攻击步骤如下

1、获取token
use incognite
list_tokens -u

可以看到成功找到一个Administrator权限的token会话

注意:这里找到的会话 必须是administrator权限才能通过此方式提升为 system权限

2、伪造令牌
impersonate_token "NT AUTHORITY\SYSTEM"

可以看到已经成功提升为system权限

5、alwaysinstallelevated提权

alwaysinstallelevated提权也可以理解为注册表提权,alwaysinstallelevated是注册表的一个键值,当它的值为1时,普通用户就能以system权限安装msi程序

漏洞检测方法:

shell下输入如下命令:reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

如果提示error,就是不存在该漏洞,如下

这个漏洞的复现比较复杂,因为环境有点难弄,所以这里就没有攻击成功的案例,如果有兴趣的同学也可以去看看下面这篇博客的复现,介绍的挺详细的

AlwaysInstallElevated提权介绍_番茄酱料的博客-CSDN博客

当然这个漏洞Msf也提供了对应的模块,我们直接用模块操作攻击也可以,模块名如下

windows/local/always_install_elevated

进入该模块设置session会话后直接运行即可,如果目标存在该漏洞,就会返回一个system权限的会话,达到提权的效果

当然这里没有攻击成功,因为我没有搭建漏洞环境

6、自带安装配置提权

原理:网络管理员在内网中给多台机器配置一个同一个环境,通常都不会一个一个配置,本地脚本批量部署环境,有的时候会将配置文件信息也部署进环境,里面甚至可能有账密之类的敏感信息

Msf中也有对应的模块,非常强大,模块名如下

post/windows/gather/enum_unattend

进入该模块后设置session即可

运行之后如果有结果就会回显出来,但是我这是虚拟机,也没搭什么东西,所以没回显信息

7、计划任务

查找windows的计划任务中的文件和程序等,如果计划任务中的文件权限较低,也就是普通用户都能修改计划任务中的文件或程序,就可以上传我们的恶意文件来顶替掉计划任务中的文件

运用其实跟上面那个系统错误配置中查找服务对应的程序并顶替差不多,这里就不多讲了

8、主策略首选项

在一般网络环境中,所有的机器脚本都是批量化的部署,为方便所有主机的管理,管理员都会使用同一个策略,此时操作系统会在共享目录生成一个 xml文件,这个文件就可能保存包括密码在内的很多敏感信息有了密码那自然就可以提权

这个方法在Msf也有对应的模块,模块名如下

post/windwos/gather/credentials/gpp

开启运行,如果能成功扫描到足以提权的敏感信息,就会返回一个提权后的会话或者任意一台域用户的权限会话

9、自动安装

unattended install是一种自动安装程序,这些自动安装程序很有可能会带着一些敏感信息,配置文件,记录着一些密码之类的,对应的Msf查找攻击模块如下

post/windows/gather/enum_unattend

但是这个的使用与上面相同,如果有回显就是有漏洞,即成功

10、webshell烂土豆

烂土豆下载地址:

windows-kernel-exploits/MS16-075 at master · SecWiki/windows-kernel-exploits · GitHub

下载好就是一个potato.exe文件

上面讲了令牌伪造时必须是administor权限才可以,但如果是webshell权限时,可以尝试搭配烂土豆进行提权,操作如下

将烂土豆上传

upload  /root/potato.exe

执行potato.exe程序

execute -cH -f ./potato.exe

查看token

use incognito
list_tokens -u

此时如果查找到了system权限的令牌,就说明没啥问题,直接跟上面一样伪造system权限令牌即可

例:impersonate_token "NT AUTHORITY\\SYSTEM"

注意:IIS网站的webshell成功概率较大

11、其他

还有各种各样其他的提权方式,比如SER-TU提权,第三方软件提权,FTP提权等各种各样的,但很多环境都比较难搭,也不太好演示,而且太多了,实在演示不过来,上面的几种都是比较常用的,同学们看了之后也可以自己再去积累一些姿势

【内网安全】——Windows提权姿势相关推荐

  1. 内网渗透常用提权方式总结

    文章目录 前言 内网提权的常用方法 一.Windows系统内核溢出漏洞提权 1.手动查找系统潜在漏洞 2.使用Windows-Exploit-Suggester 3.使用sherlock 脚本 4.还 ...

  2. 12、强大的内网域渗透提权分析工具——BloodHound

    导语:简介和背景 在今年二月,我发布了一个名为" PowerPath " 的POC脚本,它整合了Will Schroeder的PowerView和Justin Warner的本地管 ...

  3. 网安-windows提权-3389.bat

  4. Windows提权的几种姿势

    想象这种画面:你拿到了一台机器上Meterpreter会话了,然后你准备运行 getsystem 命令进行提权,但如果提权没有成功,你就准备认输了吗?只有懦夫才会认输.但是你不是,对吗?你是一个勇者! ...

  5. 【内网安全】——数据库提权姿势

    作者名:白昼安全 主页面链接: 主页传送门 创作初心: 一切为了她 座右铭: 不要让时代的悲哀成为你的悲哀 专研方向: web安全,后渗透技术 每日emo: 在哪能找到解救我的办法 模拟环境我们拿到了 ...

  6. Windows系统提权姿势

    windows系统提权 权限提升简介 权限提升概述 什么是提权 提权分类 提权条件 Windows提权思路 Windows系统提权 Windows提权信息收集 WMIC信息收集 自动信息收集 提权工具 ...

  7. Windows提权基本原理,各位表哥了解下!

    Windows提权基本原理 没有多少人谈论在Windows下提权,是一件让人遗憾的事!我想,没有人这么做的理由有以下几点: 在渗透测试项目中,客户需要的验证就是一个低权限shell. 在演示环境,你经 ...

  8. 使用MSF进行提权(windows提权、linux提权、wesng使用)

    文章目录 MSF Windows提权 反弹shell 提权 END推荐阅读 MSF Linux提权 反弹shell 补充wesng用法 Metasploit 是一个渗透框架,kali 内安装了,安装位 ...

  9. 系统提权之:Windows 提权

    郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共同维护网络文明和谐. Wi ...

最新文章

  1. 树莓派中找不到/dev/video0的解决方案及RaspberryCam的使用
  2. u-boot命令解释
  3. 构建之法阅读心得(二)
  4. java类似sizeof_如何用Java编写类似C的Sizeof函数
  5. Qt工作笔记-右键删除视图中的Item【坐标映射】
  6. mysql连接查询(内联)_MySQL之连接查询
  7. 用博文中的方法-r -d \t试了下conlleval测试crf++的输出
  8. 清晰架构的 Go 微服务: 程序容器
  9. sql server2008用ip远程连接,解决默认连不上的问题
  10. 如何做好产品需求设计和开发
  11. NS3 Tracing System详解
  12. 源1.0预训练语言模型使用示例
  13. mysql 参照完整性规则_mysql数据的完整性约束(完整)
  14. mac快捷键:轻松提升mac使用效率
  15. 编辑网页document.body.contentEditable=‘true‘;
  16. 建设规划合理、高效便捷的现代物流中心——浙江嘉兴市局(公司)卷烟物流配送中心建设纪实...
  17. 如何安装最新版本的office(preview预览版)、更新
  18. #Ant Design# 设计规范 设计原则
  19. Windows下4K屏mobaxterm远程桌面设置
  20. 1.3 常规信息系统集成技术

热门文章

  1. Windows 11新版本安装时需要联网及登录微软账号
  2. 通过JAVA编写DOMINO服务器端插件程序
  3. Domino多瑙河EAP3以及Nomad Web 1.0.5
  4. UniApp文件上传
  5. 一个中关村IT男的房奴心路(转载)
  6. 翻译图片中文字的网站
  7. 运维工程师应该具备的技能(转载)
  8. .NET新手系列(九)
  9. 基于C语言的8深度灰度BMP文件读写
  10. [错误分析][Error]no match for ‘operator<<‘无匹配的左移运算符