专栏首页企鹅号快讯渗透技巧——从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 条评论
登录 后参与评论

相关文章

  • 史上最强内网渗透知识点总结

    文章内容没谈 snmp 利用,可以去乌云等社区获取,没有后续内网持久化,日志处理等内容。

    信安之路
  • 渗透技巧——从github下载文件的多种方法

    已知exe文件:https://github.com/3gstudent/test/raw/master/putty.exe

    用户1467662
  • 内网渗透测试:初探远程桌面的安全问题

    远程桌面对了解内网渗透的人来说可能再熟悉不过了。在渗透测试中,拿下一台主机后有时候会选择开 3389 进远程桌面查看一下对方主机内有无一些有价值的东西可以利用。...

    FB客服
  • 从外网SiteServer前端漏洞getshell,到远程加载shellcode绕过杀软360全家桶杀入内网域控

    windows 2016 web:192.168.2.29 - www.moonlab.com(外网)、10.10.1.131(内网)

    渗透攻击红队
  • 红蓝对抗 | 内网渗透实战技巧

    本文章是关于内网方面渗透技巧的一个文章,用的环境是VulnStack1,VulnStack是红日安全团队出的一个内网渗透的靶机环境,感谢红日团队

    天钧
  • 【HTB系列】靶机Frolic的渗透测试详解

    Hack The Box是一个CTF挑战靶机平台,在线渗透测试平台。它能帮助你提升渗透测试技能和黑盒测试技能,它包含了一些不断更新的挑战,其中有模拟真实世界场景...

    Ms08067安全实验室
  • [干货] - 红队渗透小技巧

    有一段时间没有写文章了,也不知写什么,毕竟从攻击方换成防守方,乙方换到甲方,还有些许不适应。。。但还是决定把自己接触渗透所积累的东西也拿出分享,不管糟粕,还是大...

    drunk_kk
  • 从永恒之蓝看后渗透

    我们今天的故事,从永恒之蓝开始,讲述如何在内网中如何悄无声息的完成一次内网渗透,PTH等章节内容太多,后续跟上……

    FB客服
  • 凭据收集总结

    本来按计划应该学习横向移动,但是发现一个问题,如何横向?这就是我记录这一章的目的,提升权限之后获取凭证,利用已获取的凭证扩大战果才是正确的姿势,学习的主要资料是...

    重生信息安全
  • 常见的远程执行命令方式整理

    当我们已经获取了远程系统的凭证(明文密码或 hash)时,可以直接通过3389远程登录进去收集信息、进行下一步的渗透,但是这样做的话会在系统上留下我们的操作记录...

    信安之路
  • 渗透测试与开发技巧

    https://github.com/3gstudent/Pentest-and-Development-Tips

    天钧
  • 记一次灰常灰常艰难的利用永恒之蓝漏洞实现的内网多节点靶场渗透

    完成后在浏览器中输入192.168.100.50即可访问dedecms主页,渗透之路由此开始

    公众号爱国小白帽
  • Hack the box - Mango

    大家好,今天给大家带来的CTF挑战靶机是来自hackthebox的“Mango”,hackthebox是一个非常不错的在线实验平台,能帮助你提升渗透测试技能和黑...

    Khan安全团队
  • DC-4靶机渗透实战

    这次的靶机渗透实战是一个找寻靶机中的flag的过程,并以获得最终的flag为目标。靶机下载地址:http://www.five86.com/dc-4.html

    轩辕小子
  • 记一次异常艰难的域靶场渗透

    资源连接: 链接:https://pan.baidu.com/s/16W3APIySbxXiseJ57RPScw 提取码:xcnd

    公众号爱国小白帽
  • 通过Webshell远程导出域控ntds.dit的方法

    嗨,大家好!这次我想分享一些与“Windows Active Directory(AD)”环境相关的内容。我将使用Web shell向大家演示“如何转储Wind...

    FB客服
  • Microsoft SQL Server手注之Sa权限多种处理姿势

    注入点:http://192.168.159.135:8080/post.aspx

    渗透攻击红队
  • k0otkit: Hack K8s in a K8s Way

    2020年的倒数第二天,我们在CIS网络安全创新大会[1]上跟大家分享了一种针对Kubernetes集群的通用后渗透控制技术(简称k0otkit[2]),利用K...

    绿盟科技研究通讯
  • CobalStrike批量上线后的权限维持和信息收集~

    昨天做CS批量上线的时候发现,内网渗透的本质都是信息收集,也就是收集各种账号密码,一旦有了密码,这个系统也就不攻而破了。然后就在网上以及查阅资料中,整理了以下的...

    Ms08067安全实验室

扫码关注云+社区

领取腾讯云代金券