Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

admin 2022年5月11日11:05:24评论171 views字数 2061阅读6分52秒阅读模式

0x00:靶机介绍

这次的靶机是Alfred,一个Windows靶机。总的来说就是Jenkins后台弱密码登录,然后命令执行,MSF提权。房间链接: https://tryhackme.com/room/alfred

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

0x01:信息收集

还是像往常一样需要先用nmap进行波端口探测,先忽略掉3389,主要开了80和8080端口。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


80端口只有一个简单的图片然后就没了。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


而8080端口是一个Jenkins平台,然而我双admin就进去了。果然不会太为难我们。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


0x02:Jenkins getshell

Try hack me提醒我们Jenkins存在可getshell点,那么去找找,登录进去以后先点点默认存在的project

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


点开Configure这个设置点看看

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


这里发现有个执行Windows batch命令的地方,那么大个whoami,真怕我们不知道这里就是漏洞利用点。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


此时点击console output这里可以看到whoami的执行结果是一个正常的用户。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


那么我们可以考虑再configure那里上传一个反弹文件然后执行,Try hack me建议我们用nishang这位大佬的powershell脚本。这里附上链接https://github.com/samratashok/nishang

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


具体用到的脚本是/root/gongju/nishang-master/Shells/Invoke-PowerShellTcp.ps1 这个反弹脚本,这里回来configure这里的Execute Windows batch command 这个功能点这里,用powershell把我们kali上的反弹脚本下载过来然后执行。(注:这里需要在kali提前开启python共享模式和开启nc 接收反弹shell)点击Apply.

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


点完Apply以后回到project这里一定一定要点Build Now否则是执行不了的。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


最后nc成功接收。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


0x03:制作升级shell

这里我们要借用MSF提权,所以我们需要换个shell,让MSF可以介入,重新用msfvenom生成一个shell(这里解释一下为什么不是windows/x64/shell_reverse 而且还多了一些奇怪的参数,主要是用了波加密,这样有助于让杀毒软件分不清谁是真货谁是假货)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


制作完以后我们顺便启动MSF,启用 multi/handler模块同时填入重要参数 开始监听

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


在nc这边继续用powershell把文件传过来

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


最后使用Start-Process "shengji1.exe"启动我们的反弹文件,MSF成功接收

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


0x04:提权

这次的提权虽然用到MSF但还是需要了解一些前置知识。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


在Windows系统里面,它会用令牌(tokens)确保电脑上每一个账户具有不一样的特权。当用户成功登录或通过身份验证或通过魔法攻击进入后会分到一块令牌。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


这个令牌会包含三个东西,一个是用户的SID(安全标志),一个是组SID,最后一个是特权/权限。


当然令牌也分两种:

1.主要访问令牌:与登陆时生成的用户相关的令牌

2.模拟令牌:允许特定进程使用另外一个进程的令牌去访问资源

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


这次的重点是模拟令牌,而模拟令牌也有不同的级别:

SecurityAnonymous:当前用户不能冒充另外一个用户

SecurityIdentification:当前用户可以获得客户端的身份和权限但无法冒充

SecurityImpersonation:当前用户可以在本地模拟客户端的相关安全信息

SecurityDelegation:当前用户可以在远程系统上模拟客户端的相关安全信息

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


账户的权限有很多,其中以下是最常用被用来提权的:

SeImpersonatePrivilege

SeAssignPrimaryPrivilege

SeTcbPrivilege

SeBackupPrivilege

SeRestorePrivilege

SeCreateTokenPrivilege

SeLoadDriverPrivilege

SeTakeOwnershipPrivilege

SeDebugPrivilege

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


在旧的nc shell上先执行whoami /priv可以看到SeDebugPrivilege, SeImpersonatePrivilege是Enabled状态,有权限配置失误。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


回到MSF的meterpreter这里,加载最重要的incognito来窃取我们的令牌,然后可以用list_tokens查看参数(忽略我总是忘了s),主要有-g 和-u

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


使用list_tokens -g 发现目前我们有机会窃取到管理员的令牌。(-u也可)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


最后来个impersonate_token "BUILTINAdministrators" 绝杀 提权成功。

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)


然而此时还有个问题,由于我们是用模拟令牌提权成功的,Windows权限这里还会考虑检查主要访问令牌。所以我们需要线程注入,溜到其它地方才行

Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

原文始发于微信公众号(神隐攻防实验室):Try Hack Me:Alfred(Jenkins命令执行+MSF提权)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月11日11:05:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Try Hack Me:Alfred(Jenkins命令执行+MSF提权)http://cn-sec.com/archives/787533.html

发表评论

匿名网友 填写信息