- Name: Misdirection: 1
- Date release: 24 Sep 2019
- Author: FalconSpy
- Series: Misdirection
- Download (Mirror): https://download.vulnhub.com/misdirection/Misdirection.zip
对于vulnhub中的靶机,我们都需先下载镜像,然后导入VM,并将网络连接改为NAT模式。首先我们再来看一下靶机渗透的步骤:信息收集-漏洞分析-漏洞利用-提权。基本都是这个三个步骤,接下来开始我们今天的靶机渗透吧!
信息收集
主机发现
端口扫描
开放端口22,80,3306,8080
目录扫描
使用gobuster试一下,失败。
基于8080端口再扫一下
新找到了/shell/和/debug/等敏感目录
漏洞扫描
发现:
22/TCP端口开放,表示SSH服务运行,表明该系统支持远程管理。
80/TCP端口开放,显示Web服务器已安装。HTTP漏洞检测发现有XSS和SQL注入等潜在问题。
3306/TCP端口开放 exposures 数据库,外部攻击面扩大。
8080/TCP端口是反向代理,常用于负载均衡Web流量。
其中/debug/ /development/等 - 可能暴露配置或敏感信息。
还有Nmap使用http-sql-injection脚本检测目标网站可能存在SQL注入漏洞,后期可以进行进行验证。
漏洞分析
打开首页面,页面的东西还是非常多,还有很多注册页面,甚至还有一个Source Code可以查看E-vote的源代码,在github上。
但是在前面信息收集中我们基于8080端口扫描到了一些目录,下面我们可以先从那些目录入手,如果没有什么线索再从80端口进行挖掘。
我们现在可以访问下8080端口,它是一个很常见的Apache2 Ubuntu Default Page的一个静态页面,对我们价值不大
/wordpress/ - 发现Wordpress博客网站
/wordpress/wp-login.php - 确认存在Wordpress登录页面
/css/ /js/ /images/等 - 通常存在网站资源文件
/debug/ /development/等 - 可能暴露配置或敏感信息
/manual/ - 可能包含帮助文档
/scripts/ - 可能包含脚本文件
这些都是漏洞扫描时发现的目录,先打开/debug/看看
发现是个命令执行的shell cmd页面,发现可以进行执行命令
那么我们尝试反弹shell,
漏洞利用
把这个webshell迁移到我们的kali中,首先在kali中nc监听1234端口:
上传反弹shell
、
反弹成功
提权
先使用Sudo -l检查www-data用户的sudo权限。发现有一个brexit用户,不需要密码直接利用sudo就可以拿到权限
直接无密码切换到用户brexit
在当前终端中可以·创建一个交互式的 Bash Shell。
切换到当前用户的主目录,查看一下文件,查看user.txt,找到第一个flag。
切换到root目录下,发现请求拒绝。权限还是不够。还需提升权限。
查看一下文件,发现一个文件.viminfo
这可能用于保存Vim编辑器的一些 session信息,比如搜索历史、标记列表等
打开看看,发现brexit这个用户曾经用vim编辑过/etc/passwd:
打开/etc/passwd看一下详细信息
发现文件所在组brexit有读写权限
那尝试写入/etc/passwd,创建一个拥有root权限的用户,然后再登录这个用户,就是具有root权限了
先使用openssl生成对应的hash如下:
然后我们仿照/etc/passwd的格式生成一个账号guoguo和密码123456:
接着把这条记录添加到/etc/passwd中,可以用echo追加(特别注意,echo内容的引号必须是单引号,不能是双引号):
加完成后用su切换为guoguo用户,输入密码123456即可提权,然后切换到root目录下,看到有root.txt。这样就得到了第二个flag
总结
这个靶场难度一般,主要是从8080端口下手,如果刚开始从80端口入手,肯定很难,需要花费很长时间才能走出。这里主要是在目录扫描和漏洞扫描阶段 得知了8080端口的一些目录,然后后续才从这个端口下手。然后打开/debug/发现有命令执行的shell cmd页面,然后就反弹shell。接着就进入到提权阶段,首先使用Sudo -l检查www-data用户的sudo权限,发现有一个brexit用户,不需要密码直接利用sudo就可以拿到权限,但是这个只是普通用户的权限,还需进行提权。然后又进入到家目录,发现可疑文件.viminfo,在这里面发现了brexit有读写权限,然后思路就是将用户密码写入/etc/passwd,创建一个拥有root权限的用户,然后再登录这个用户,就是具有root权限了,最后就提权成功了。这就是渗透整个靶场的思路,如有问题,还请大家帮忙指出!