靶机"/>
BlueMoon靶机
蓝月靶机测试
先把kali和靶机网卡调到nat模式,便于位于同一网段进行通信
存活主机扫描
kali中看到自己的ip
开始扫描同网段存活主机
工具采用nmap nmap 192.168.95.0/24
居然一直扫不到,同ip段没有目标主机,想来是哪儿有问题。
遂找到资料
一顿操作后配置修改成功
再次扫描,这波直接出结果。
可以看到是目标开放了ftp ssh 和 http三个端口
再扫描一下端口获取详细的banner
nmap -A -sV 192,168.95.134
21 端口运行着 vsftp,版本号是 3.0.3,无漏洞,且禁止了匿名登录。
22 端口运行了 openssh,版本号是 7.9p1,无漏洞。
80 端口运行了 apache,版本号是 2.4.38
那么从Web方面入手
Web 目录爆破
发现没什么东西,那么接下来看看目录爆破
使用dirb进行目录爆破
dirb http://192.168.95.134
看到有一个hidden_text比较可疑,浏览器打开看看
发现有个链接,点开是个二维码
大胆用微信扫一下
信息如下:
发现了用户名和密码,这是ftp信息,遂用FTP登录
看到两个文件
获取两个文件
information.txt 文件内容如下
p_lists.txt文件内容如下
得到账户名和一个密码字典
ssh 用户名密码爆破
上九头蛇
hydra -l robin -P ./p_lists.txt 192.168.95.134 ssh
拿到密码:k4rv3ndh4nh4ck3r
接下来就是ssh登录
ls 看到有文件
cat一下文件拿到一个flag
第二个是个脚本文件
#!/bin/bashclear
echo -e "Script For FeedBack\n"read -p "Enter Your Name : " name
echo ""
read -p "Enter Your FeedBack About This Target Machine : " feedback
echo ""
$feedback 2>/dev/nullecho -e "\nThanks For Your FeedBack...!\n"
发现在第二次输入时,会将我们输入的内容赋值给 feedback
,然后执行一条命令
$feedback 2>/dev/null
参考
这条命令的意思是忽略掉错误提示信息
也就是说 feedback
这个变量是我们可控的,如果feedback
赋值/bin/bash
将得到一个类似shell窗口
显然我们的robin是不够用的,需要提权找到另一个用户
docker 提权
sudo -l
看看执行权限(有关sudo的用法)
发现可以不使用密码以 jerry
用户运行 /home/robin/project/feedback.sh
脚本
当我们以 jerry
身份运行时这个脚本时,会以 jerry
用户身份运行 feedback
这个变量。我们可以将 /bin/bash
赋值给 feedback
这个变量,这样我们就能得到 jerry
的 shell 了
于是切换用户执行脚本
sudo -u jerry ./feedback.sh
再输入id
发现此时已经是以jerry身份运行脚本,可以看到它存在docker组中
top命令查看一下当前进程
发现以 root
用户运行了 docker。而 jerry
在 docker 组中,这样我们就可以借用 docker,将靶机上的目录挂载到容器中,这样我们就能访问受限目录了。
查看一下docker的镜像
docker ps -a
发现有个一镜像 alpine
。我们就借助这个镜像来挂载 /root
目录。
尝试docker提权,常用提权命令
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
或者
docker run –v /root:/mnt –it alpine
这样我们就将靶机的 /root
目录挂载到窗口中的 /mnt/123
中了。
然后进入root目录拿到最后的flag
至此,结束。
更多推荐
BlueMoon靶机
发布评论