准备工作

在vulnhub官网下载DC:1靶机https://www.vulnhub.com/entry/dc-1,292/

导入到vmware

打开kali准备进行渗透(ip:192.168.200.6)

信息收集

利用nmap进行ip端口探测

nmap -sS 192.168.200.6/24

可以看到ip为192.168.200.12的主机开放了22、80、111端口,该主机为靶机DC:1。

开始渗透

开放了80端口意味着我们可以访问他的网站,先访问192.168.200.12:80看看什么情况

是一个登陆的界面,尝试了admin等弱口令后没有结果,暂时找不到其他渗透点,只能先用dirsearch扫一遍

python3 dirsearch.py -u http://192.168.200.12:80

但是没有什么有用的信息,尝试抓包后也没有注意到什么注入点,只能看看有没有框架的漏洞

利用wappalyzer插件来查看这个网站的cms

查到cms是Drupal

接着用msf查看一下有没有关于这个cms的漏洞

在终端输入msfconsole打开msf

search一下关于drupal的漏洞

search drupal

在尝试了几个攻击模块后,发现只有第四个漏洞可以利用

use 4
set RHOSTS 192.168.200.12
run

成功连接,得到meterpreter会话

拿到shell

用ls命令查看当前的文件

注意到有一个flag1.txt文件 cat flag1.txt 查看一下里面的内容

拿到flag1

flag1给了一个小提示,翻译过来就是"每一个好的CMS都需要一个配置文件-你也是。"

那就去查看一下配置文件

Drupal的配置文件是网站根目录下的/sites/defaultx下的setting.php文件。

cd到sites 再cd到defaultx 再cat settings.php

看到了flag2以及数据库的账号密码

这里flag2也给了提示,翻译过来就是

暴力和字典攻击不是最好的选择

获得访问权限的唯一方法(您将需要访问权限)。

你能用这些证书做什么

先尝试登陆一下数据库

mysql -u dbuser -pR0ck3t  

连接成功,但是却无论输入什么都没有回显,应该是权限不足,目标主机限制了访问权限

从这开始就涉及到我的知识盲区了,目前为止我还没有学习相关的提权方法,只能跟着网上的一些文章一步步来,也当是一个初次尝试提权

权限提升

使用python 通过pty.spawn()获得交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'

连接数据库

mysql -u dbuser -pR0ck3t

 

进入数据库后先查看一下数据库

show databases;

再进入drupaldb数据库查看他的表

use drupaldb;
show tables;

注意到名为user的表,查看一下

select * from user;

找到了登陆的账号密码,密码不知道是什么加密方法,

使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下

回到根目录执行 password-hash.sh 文件进行加密(这里不能在scripts目录下进行,否则会报错)

php ./scripts/password-hash.sh admin

将admin加密后得到的是$S$DJkC7CVBb0dIx0ySitpfjUZyZ8rioKgogBsDSvpAZHOvUy1p4rq1

得到了加密后的密码,就可以进入数据库修改密码啦  

update users set pass='$S$DJkC7CVBb0dIx0ySitpfjUZyZ8rioKgogBsDSvpAZHOvUy1p4rq1' where name='admin';

 

回到开始的网站上用刚刚的账户密码admin:admin 登陆进去

在后台找到了flag3文件

打开flag3文件又得到一个提示

提示找到passwd文件

passwd文件在etc中

这里找到了flag4的路径在 /home/flag4中

得到flag4

使用find命令提权,root。

find ./ aaa -exec '/bin/sh' \;

进入root根目录找到最终的flag

Well done!!!!

Hopefully you've enjoyed this and learned some new skills.

You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7

参考文章

https://www.cnblogs.com/Gh0st1nTheShell/p/14842221.html

https://www.freesion.com/article/1909443385/

vulnhub-DC:1靶机渗透记录的更多相关文章

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

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

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

    准备工作 在vulnhub官网下载DC:5靶机DC: 5 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

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

    准备工作 在vulnhub官网下载DC:6靶机DC: 6 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

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

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

  5. vulnhub-DC:4靶机渗透记录

    准备工作 在vulnhub官网下载DC:4靶机https://www.vulnhub.com/entry/dc-4,313/ 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:19 ...

  6. vulnhub-DC:7靶机渗透记录

    准备工作 在vulnhub官网下载DC:7靶机DC: 7 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 已经知道了靶 ...

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

    准备工作 在vulnhub官网下载DC:8靶机DC: 8 ~ VulnHub 导入到vmware,设置成NAT模式 打开kali准备进行渗透(ip:192.168.200.6) 信息收集 利用nmap ...

  8. vulnhub-XXE靶机渗透记录

    准备工作 在vulnhub官网下载xxe靶机 导入虚拟机 开始进行渗透测试 信息收集 首先打开kali,设置成NAT模式 查看本机ip地址 利用端口扫描工具nmap进行探测扫描 nmap -sS 19 ...

  9. DC 1-3 靶机渗透

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

随机推荐

  1. HDFS 05 - HDFS 常用的 Java API 操作

    目录 0 - 配置 Hadoop 环境(Windows系统) 1 - 导入 Maven 依赖 2 - 常用类介绍 3 - 常见 API 操作 3.1 获取文件系统(重要) 3.2 创建目录.写入文件 ...

  2. 07:mysql的unknown variable ‘xxxxx’

    简单说明一下: 可能有的找不到配置文件的,不要慌,这个时候 你可能以前安装了多个版本的mysql 就是说你以前是mysql5,现在换成了mysql8, 矮!! 你可能发现你的mysql8里面没有配置文 ...

  3. Shiro-JWT SpringBoot前后端分离权限认证的一种思路

    JWT-Shiro 整合 JWT-与Shiro整合进行授权认证的大致思路 图示 大致思路 将登录验证从shiro中分离,自己结合JWT实现 用户登陆后请求认证服务器进行密码等身份信息确认,确认成功后 ...

  4. SpringBoot实战:10分钟快速搞定环境

    什么是 springboot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. 该框架使用了特定的方式来进行配置,从而使开发人 ...

  5. Pytest学习笔记6-自定义标记mark

    前言 在pytest中,我们可以使用mark进行用例的自定义标记,通过不同的标记实现不同的运行策略 比如我们可以标记哪些用例是生产环境执行的,哪些用例是测试环境执行的,在运行代码的时候指定对应的mar ...

  6. Vue实现点击复制文本内容(原生JS实现)

    需求: 实现点击订单编号复制内容 实现步骤: 这里我是在element 的table组件里实现的步骤,仅供参考,实际上实现思路都大同小异 首先在需要点击的地方,添加点击事件 <div class ...

  7. drf-Request与Response

    一.Request 在Rest Framework 传入视图的request对象已经不再是Django默认的HTTPResponse对象了,而是Rest Framework提供的Request类的对象 ...

  8. 2.QT浏览器控件设置“透明颜色”

    使用样式表或者设置背景颜色,使用 background-color:transparent 但,使用透明的颜色是不可行的: QColor(255,0,0,0)

  9. LAMP——搭建基于Apache、wordpress、nfs、mysql、DNS的系统

    一.部署架构 二.部署过程 1.在10.0.0.8和10.0.0.18服务器上安装apache服务 [17:10:06 root@centos8 ~]#yum -y install httpd 安装p ...

  10. 前端 JavaScript 实现一个简易计算器

    前端使用 JavaScript 实现一个简易计算器,没有难度,但是里面有些小知识还是需要注意的,算是一次基础知识回顾吧. 题目 实现一个简易版的计算器,需求如下: 1.除法操作时,如果被除数为0,则结 ...