专栏首页企鹅号快讯渗透技巧——从Admin权限切换到System权限

渗透技巧——从Admin权限切换到System权限

0x00 前言

在渗透测试中,某些情况下需要用到system权限,例如操作注册表HKEY_LOCAL_MACHINE\SAM\SAM

恰巧最近看到了一篇文章介绍了几种获得system权限的方法,于是决定结合自己的经验对这方面的技巧做系统整理

当然,前提是已经获得系统的管理员权限

学习链接:

https://blog.xpnsec.com/becoming-system/

0x01 简介

本文将要介绍以下内容:

·通过创建服务获得System权限的方法

·利用MSIExec获得System权限的方法

·利用token复制获得System权限的方法

0x02 通过创建服务获得System权限

1、通过sc命令实现

sc Create TestService1 binPath= "cmd /c start" type= own type= interact

sc start TestService1

该方法在XP系统可以使用

Win7下使用时控制台提示:

警告: 服务 TestService1 被配置为交互式服务,其支持正受到抨击。该服务可能无法正常起作用。

Win8下控制台提示错误,无法使用该方法

2、通过计划任务

使用at命令:

at 7:50 notepad.exe

默认以system权限启动,适用于Win7

从Win8开始不再支持at命令

使用schtasks命令:

创建服务,以system权限启动:

schtasks /Create /TN TestService2 /SC DAILY /ST 00:36 /TR notepad.exe /RU SYSTEM

查看服务状态:

schtasks /Query /TN TestService2

删除服务:

schtasks /Delete /TN TestService2 /F

注:

使用schtasks创建服务后记得手动删除

schtasks命令支持Win7-Win10

3、利用psexec

使用psexec会创建PSEXESVC服务,产生日志Event 4697、Event 7045、Event 4624和Event 4652

以system权限启动:

psexec.exe -accepteula -s -d notepad.exe

默认情况下,system权限的进程不会在用户桌面显示,如果需要显示进程界面,可以加/i参数,命令如下:

psexec.exe -accepteula -s -i -d notepad.exe

如下图

4、Meterpreter

参考Meterpreter的方法:

·创建system权限的服务,提供一个命名管道

·创建进程,连接到该命名管道

可供参考的代码:

https://github.com/xpn/getsystem-offline

需要getsystem-offline.exe和getsystem_service.exe

测试如下图

注:

vs2012直接编译存在bug,可将函数snprintf替换为_snprintf

0x03 利用MSIExec获得System权限

我曾在之前的文章《渗透测试中的msiexec》介绍过利用Advanced Installer制作msi文件的方法,这里不再赘述

本节对XPN提到的方法做复现,使用wix3制作msi文件

wix3下载地址:

https://github.com/wixtoolset/wix3

msigen.wix的代码可参考如下地址:

https://gist.github.com/xpn/d1ef20dfd266053227d3e992ae84c64e

编译命令如下:

我对XPN的代码做了修改,将payload替换为执行calc.exe,细节上做了部分修改,代码如下:

Name" Version="0.0.1" Manufacturer="@_xpn_" Language="1033">

calc.exe

ExeCommand='[cmdline]' Return="ignore" Impersonate="no"/>

invalid vbs to fail install

经过我的测试,使用torch.exe将msigen.wixobj编译成msigen.msi文件会报错,如下图

使用light.exe能够成功生成msigen.msi,如下图

虽然报错,但不影响文件的生成和功能的执行

也就是说,完整编译命令如下:

直接双击执行msigen.msi会弹框,启动的calc.exe为system权限

命令行下执行:

msiexec /q /i msigen.msi

启动的calc.exe为high权限

0x04 利用token复制获得System权限

可参考之前的文章:《渗透技巧——Token窃取与利用》

通过复制system权限的token,使进程获得system权限,常用工具如下:

1、incognito

incognito.exe execute -c "NT AUTHORITY\SYSTEM" cmd.exe

下载地址:

https://labs.mwrinfosecurity.com/assets/BlogFiles/incognito2.zip

2、Invoke-TokenManipulation.ps1

Invoke-TokenManipulation -CreateProcess "cmd.exe" -Username "nt authority\system"

下载地址:

https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-TokenManipulation.ps1

3、SelectMyParent

SelectMyParent.exe cmd.exe 504

参考地址:

https://github.com/3gstudent/From-System-authority-to-Medium-authority/blob/master/SelectMyParent.cpp

Author: Didier Stevens

注:

SelectMyParent的原理同xpn开源的代码(PROC_THREAD_ATTRIBUTE_PARENT_PROCESS method)相同,地址如下:

https://gist.github.com/xpn/a057a26ec81e736518ee50848b9c2cd6

0x05 小结

本文对常用的System权限获取方法做了整理,最后感谢xpn的博客和他的开源代码。

本文来自企鹅号 - 嘶吼专业版媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 从图像到知识:深度神经网络实现图像理解的原理解析

    摘要:本文将详细解析深度神经网络识别图形图像的基本原理。 - 针对卷积神经网络,本文将详细探讨网络中每一层在图像识别中的原理和作用,例如卷积层(convolut...

    企鹅号小编
  • 靠不靠谱,政府出手区块链产业,苏州10亿元打造“链谷”

    海豚区块链 媒体 | 咨询 |培训 23日,在“链谷成果、政策、场景规划”发布会上,苏州高铁新城向社会开放首批15个区块链应用场景,并发布9条扶持政策,吸引区块...

    企鹅号小编
  • 黑客花无涯:Linux 入侵常用命令

    请点击此处输入图片描述 写个php一句话后门上去: [jobcruit@wa64-054 rankup_log]$ echo -e "" >rankuplog_...

    企鹅号小编
  • 拿起Python,防御特朗普的Twitter!

    接下来我们就应用技术手段,基于Python,建立一个工具,可以阅读和分析川普的Twitter。然后判断每条特定的Twitter是否具有川普本人的性格。

    量化投资与机器学习微信公众号
  • PHP实现简单汉字验证码

    经过粗略的搞吧搞吧,中文验证码也就显示出来了,当然一般网站使用的时候会有一个汉字库种子,从里面随机取出特定个数的汉字显示,最后就是记录到session进行验证了...

    梦_之_旅
  • ATL源码学习4---TearOff接口支持

        http://download.csdn.net/source/1687116

    雪影
  • 一个让人遗忘的角落—Exception(二)

    在上一篇中"一个被人遗忘的角落--Exception(一)"中,跟大家简单介绍了一下Exception,也使大家充分的了解了Exception管理在一个项目中的...

    脑洞的蜂蜜
  • Java HashMap 源码解析

    继上一篇文章Java集合框架综述后,今天正式开始分析具体集合类的代码,首先以既熟悉又陌生的HashMap开始。

    Java团长
  • GNS3关联SecureCRT

             GNS3刚安装后,默认是使用自带putty,但putty在打开多个session时,操作起来就不是很方便。下面介绍GNS3和SecureCRT...

    py3study
  • 微信小程序wepy框架入门教程-底部导航栏效果(五)

    wepy是腾讯自己开发的框架,作用主要是提高开发者的开发效率,采用了类似使用了vue的代码书写风格,开发者可以熟练的上手小程序开发。

    王小婷

扫码关注云+社区

领取腾讯云代金券