JBoss的引起的内网渗透-2

2018-03-15 19:51:12 32 8475

说明: 本文中有个错误的概念验证,在判断域管理员的时候不能这么判断的,是不合理的。主要原因是在实操的时候,刚好能够使用Administrator用户密码登陆域,所以文章中就这么下结论了。这只是一个小概率事件,不成定律。

切入点

Jboss的反序列化漏洞,接下来看站点信息

正常来说这个admin-console及web-console/都是能正常访问的,就算不能正常访问也不会是404状态 ,所以为了搞清楚原因,去翻了其目录,进行对比。发现

server\default\deploy  #默认部署war目录
server\web\deploy  # 部署war相对应的编译生成目录

两个目录中,在\web\deploy\中缺少了admin-console和web-console,所以原因是:管理员在安装了JBoss后,为了安全起见,就在server\web\deploy删除了admin-console.war和web-console.war,所以在部署目录下是存在war包,但是编译目录下是不存在的。 所以接下来就进行常规的war部署,发现war已经上传上去了,但是访问出现404,所以跑去server\web\deploy查看,发现是没有生成相对应的文件夹,原因暂时未知。 所以就直接将jsp脚本上传到了jmx-console.war当中,成功获取WebShell

server\default\deploy\jmx-console.war\  # 上传访问失败
server\web\deploy\jmx-console.war\  # 上传访问成功

信息收集

接下来又是常规的信息收集

发现在菜刀里面执行命令,多数都是超时状态,所以还是回到之前的工具进行执行或是上传个命令执行马或是用web访问马。

进程里面是存在avguard.exe,所以需要做免杀。系统是windows xp-x86

在查看环境变量的时候发现是存在powershell的,但是没起作用。

net user #查看本机用户
-------------------------------------------------------------------------------
Administrator            Guest                    HelpAssistant            
postgres                 saverio                  SUPPORT_388945a0   
net group "domain admins" /domain  #查看域管理员
-------------------------------------------------------------------------------
Administrator            bckagent                 dbagent                  
faxmaker                 idsmessina               lattuca                  
SpaceGuardSvcAccnt       trovato                  VMwareVDPBackupUser   

net group "domain controllers" /domain  #查看域控制器
-------------------------------------------------------------------------------
DOMAIN1$                 DOMAIN2$    
域用户就不列举了,实在有些多

信息收集到这里,就有些蹊跷,因为本机用户里面,除了Administrator存在于域用户中,其余的账户均不见,所以这里能直接判断Administrator就是域管理员

综合以上信息:

DOMAIN2 - 192.168.20.10 # 域控制器
PROTRIBUTCT -Administrator # 域管理员
avguard.exe # 小红伞杀软
powershell # 不可用

小小免杀

续上次的shellter免杀,是过不了小红伞的,所以,这种时候,该储备的东西就起作用了。

生成一个Metasploit的马,去Virustotal做免杀测试,是过了AVG的,所以尝试一波。但是,生成的exe在windows 7下面是能正常执行的,但是到了xp上面就不行了。

用Veil生成个吧,安装Veil也是个大坑,图就不放了。

横向内网

接下来思路就很明确了。将PROTRIBUTCT的密码dump下来,幸运的话整个域就能拿下来了。

至此,这个域已经拿下,比上篇难度相对来说要小一些。

还有一个点,就是在查看域控的时候发现是有两台的,也是一样的登陆方式进行登陆即可。但是在这两台域控执行net view /domain:xxxxx结果都是不一样的,这也许就是两台域控的缘故吧。但是DOMAIN1所在的段只能通过DOMAIN2出来,其他机器做跳板均没数据,或许这是玄学了吧。

至此,整个测试流程就结束了。整个过程有点顺利,不是我发blog的初衷。

首发于个人博客自评TCV:2

关于作者

RcoIl15篇文章404篇回复

评论32次

要评论?请先  登录  或  注册
  • TOP1
    2018-4-7 14:49

    也是可以这么理解成两个子域,但是感觉又不是,因为找不到他们的根域。

  • 12楼
    2018-3-16 12:10
    无奈

    判断域管理那里说一句,其一,net group "domain admins" /domain 本来就是列出域管理员,列出来的都是域管理! 而你只说administrator是域管理员, 其二,你可以搭建个域来测试,如果你shell那台服务器加入了域,那么iis继承的权限也可以列相关域信息,不过我也遇到过某些生产环境做了设置导致要域用户权限才能列相关信息,具体看环境设置。

    1

    感谢老铁之处。

  • 11楼
    2018-3-16 12:10
    末日

    哈哈 这个判断也整得我有点晕,administrator用户存在不是很正常么 另外 net localgroup administrators来查看本机管理员啊而且 本地的administrator账号跟域的administrator基本没什么关联啊当然 确实有很多情况下密码是通用的但是 本地的管理员不等于域管理员 不同概念啊

    1

    对对对,咨询过后,发现是我的问题,不能这么判断的,虽然这里很幸运的是:Administrator是一致的。感谢老铁。

  • 10楼
    2018-3-16 11:30
    xxoo

    没看懂 删除了 怎么上传到jmx-console.war 用的啥漏洞?

    1

    正常部署war是部署在server\default\deploy\路径,但是由于上传了,它没有进行编译,所以我是直接将jsp脚本文件上传到server\web\deploy\路径下的jmx-console.war里面。

  • 9楼
    2018-3-16 09:53

    哈哈 这个判断也整得我有点晕,administrator用户存在不是很正常么 另外 net localgroup administrators来查看本机管理员啊 而且 本地的administrator账号跟域的administrator基本没什么关联啊 当然 确实有很多情况下密码是通用的 但是 本地的管理员不等于域管理员 不同概念啊

  • 8楼
    2018-3-16 09:38

    楼主用的JBOSS的哪个CVE?

  • 7楼
    2018-3-16 09:34

    判断域管理那里说一句,其一,net group "domain admins" /domain 本来就是列出域管理员,列出来的都是域管理! 而你只说administrator是域管理员, 其二,你可以搭建个域来测试,如果你shell那台服务器加入了域,那么iis继承的权限也可以列相关域信息,不过我也遇到过某些生产环境做了设置导致要域用户权限才能列相关信息,具体看环境设置。

  • 6楼
    2018-3-16 09:24

    没看懂 删除了 怎么上传到jmx-console.war 用的啥漏洞?

  • 5楼
    2018-3-15 23:06
    jimlin

    去Virustotal做免杀测试</font>,是过了AVG的,所以尝试一波。但是,生成的exe在windows 7下面是能正常执行的,但是到了xp上面就不行了。//这个生成的免杀有试过在win10xi统上能用吗?

    1

    没有试过。根据实际需求做的测试。

  • 4楼
    2018-3-15 22:58

    去Virustotal做免杀测试</font>,是过了AVG的,所以尝试一波。但是,生成的exe在windows 7下面是能正常执行的,但是到了xp上面就不行了。 //这个生成的免杀有试过在win10xi统上能用吗?

  • 3楼
    2018-3-15 20:46
    milkdevil

    因为本机用户里面,除了Administrator存在于域用户中,其余的账户均不见,所以这里能直接判断Administrator就是域管理员这个判断我有点晕。。。大兄弟

    1

    net user #查看本机用户 ------------------------------------------------------------------------------- Administrator            Guest                    HelpAssistant             postgres                 saverio                  SUPPORT_388945a0 
    因为,本机用户里面肯定是存在有域用户的(一个或者多个)。在执行net user /domain的结果里,本机用户里面的Administrator账户能在其结果中找到,而其余账户并没有出现在域用户集群中。而且`net group "domain admins" /domain`的查询结果是存在`Administrator`的。so !!!!

  • 2楼
    2018-3-15 20:35

    因为本机用户里面,除了Administrator存在于域用户中,其余的账户均不见,所以这里能直接判断Administrator就是域管理员 这个判断我有点晕。。。大兄弟

  • 1楼
    2018-3-15 20:07

    免杀做得好啊