红队打靶:KIOPTRIX1.2打靶思路详解(vulnhub)

目录

写在开头

第一步:主机发现和端口扫描 

第二步:Web渗透与CMS漏洞利用

第三步:敏感信息搜索 

第四步:SSH登录与提权

总结与思考

写在开头

 本篇博客根据大佬红队笔记的视频进行打靶,详述了打靶的每一步思路,并非复现writeup,读者耐心看完,定会有所收获。本靶机的难度也不高,但还是有很多值得思考的地方,尤其是对php代码的理解。本文的打靶过程涉及到关于cms漏洞利用、敏感信息搜索、john破解密码哈希、sudoers文件提权等。打完这个靶机还有一个启发:信息搜集如果能更加完整,会省很多兜圈子的操作。完整打靶思路详见:
「红队笔记」靶机精讲:Kioptrix1.2 - LotusCMS公开漏洞利用,配置文件敏感信息枚举,mysql数据库信息搜集,使用john暴力破解md5哈希_哔哩哔哩_bilibili

 本文针对的靶机源于vulnhub,详情见:

Kioptrix: Level 1.2 (#3) ~ VulnHub 

  下载链接见:

 http://www.kioptrix.com/dlvm/KVM3.rar

 本靶机的目标是拿到root权限,并查看/root目录下的flag。下载成功后用vmware打开,将网络链接设置为NAT模式。靶机打开之后如下: 

第一步:主机发现和端口扫描 

 常规思路,不细讲了。有关主机发现和端口扫描的命令详见我的这篇博客中关于nmap的部分:渗透测试:主机发现和端口扫描的思路方法总结(nmap+ping命令+nc.traditional+伪设备连接)

nmap -sn 10.10.10.0/24
nmap --min-rate 10000 -p- 10.10.10.136
nmap -sT -sV -O -sC -p22,80 10.10.10.136
nmap -sU --min-rate 10000 -p- 10.10.10.136
nmap --script=vuln -p22,80 10.10.10.136

 扫出来靶机的ip是10.10.10.136,也是仅仅开放了22和80端口,入口点应该就是Web了。再使用默认脚本扫描,并探测开放服务和操作系统版本如下:

 漏洞扫描也有一些收获,貌似有一些SQL注入的漏洞,还有目录枚举,可能会有一些敏感信息。至于暴露出来的Dos、CSRF等漏洞我们相对不太关注

第二步:Web渗透与CMS漏洞利用

 打开浏览器访问靶机ip,可看到如下界面:

 注意url中有page参数,可以尝试文件包含,我试了一下发现没啥收获。这个页面大概就是说开发者搭建了一个新的名为gallery的CMS,同时对这个CMS的安全性很自信。具体信息可以看Blog模块,我们看了看Blog中的信息,其实也看不出什么对渗透有用的信息。点击最后一个Login模块,跳转花费了一些时间,最后看到了如下的登录界面:

 这个界面应该就是CMS后台的登录界面了。同时我们可以从标签的title和下部的banner中看到这个界面的cms名为LotusCMS,既然是正经的cms,我们可以先去searchspoit搜索一下这个CMS有啥漏洞:

 其中第一个18565是msf框架下的利用,我们暂时忽略,第二个16982下载下来发现主要是关于CSRF和XSS的漏洞,构造起来比较麻烦,因此我们尝试再去互联网搜索搜索LotusCMS exploit,发现在github中存在LotusCMS的漏洞利用脚本:

 其中漏洞利用的脚本是lotusRCE.sh,链接为:LotusCMS-Exploit/lotusRCE.sh at master · Hood3dRob1n/LotusCMS-Exploit · GitHub

 把这个代码下载到kali中,vim查看:

 可以看到大致的用法就是这个脚本后接lotusCMS的路径,因此我们运行:

./lotusRCE.sh http://10.10.10.136/

 提示确实存在代码注入的位置,还问我们要用哪个IP进行利用,那应该就是反弹shell的ip,我们在kali中开启nc监听1234端口,然后在这个漏洞利用脚本中输入kali的ip和端口即可:

 

 漏洞脚本又让我们选择连接模式,我们直接选择常见的NetCat -e即可,输入1,再回车

可以看到nc监听的终端已经收到了shell:

第三步:敏感信息搜索 

已经拿到了初始shell,尝试提权。先用python映射一个端口增加交互性:

python -c "import pty;pty.spawn('/bin/bash')"

 sudo -l查看当前权限,结果要求输入密码,咱不知道密码是啥。

 查看/etc/passwd试试:

 可以看到除了root之外,还有两个用户loneferret和dreg是有bash的,应该是关键的账户。尝试读取/etc/shadow发现权限不够。那我们就尝试搜索看看有啥敏感文件吧,手下看看当前目录有啥东西:

 有几个文件夹的名字会吸引我们关注。包括缓存cache,内核core,数据data,已经最初在浏览器访问靶机ip中显示开发者开发的cms名称gallery。一番查找最后发现了一个数据库的登录密码,在gallery目录下的gconfig.php:

 mysql的root账号密码为fuckeyou,这个密码还挺骂人的。那我们就尝试登录mysql吧

mysql -u root -p
fuckeyou

 登录成功,查找有什么数据库:

 显然我们最关注的是gallery这个数据库,选中它再看看里面有啥表:

 里面有两张表是我们关注的,关于账户的accounts和关于用户的users,先查看dev_accounts:

 成功搞到了两个密码的hash,由/etc/passwd可以判断者就是那两个有bash的账户,密码加密应该是md5,我们把这个密码的hash复制下来存为一个文件,文件名就叫hash好了:

 然后用john破解这俩md5,一般靶机中的md5的常用字典是rockyou.txt

john hash --format=Raw-MD5 --wordlist=/usr/share/wordlists/rockyou.txt


这里插叙一下,重复用john破解相同的密码哈希是无法显示结果的,而john会将破解结果存在john.pot中,路径如下:

 可以查看这个john.pot来查看历史破解结果,总之我们得到了dreg用户的密码是Mast3r,loneferret 用户的密码是starwars(注意md5值的对应关系),可以尝试ssh登录了。


  另外还可以查看gallarific_users这张表,也发现了一个用户和密码。经过尝试,这个密码(n0t7t1k4) 正是Login后天的admin登录密码。

  这个密码也很有用,不过鉴于此时我们已经拿到了ssh的两个登录账号,不妨先试试ssh登录。

第四步:SSH登录与提权

尝试用户dreg,密码Mast3r登录:

 提示没有匹配的host key,老问题了,添加参数-oHostKeyAlgorithms=ssh-rsa,ssh-dss即可,第一次出现这个问题是在红队打靶:LampSecurity:CTF4打靶思路详解(vulnhub)_Bossfrank的博客-CSDN博客

ssh dreg@10.10.10.136 -oHostKeyAlgorithms=ssh-rsa,ssh-dss

 登录成功了!sudo -l查看权限试试:

 这个账号没有运行sudo的权限,然后查找了一番定时任务和当前目录的信息,也没有啥收获,干脆看看另外一个账号loneferret登录:

ssh loneferret@10.10.10.136 -oHostKeyAlgorithms=ssh-rsa,ssh-dss 
starwars

也登录成功了:

 查看loneferret用户的权限,如下:

 发现我们可以免密运行两个程序,先试试su:

 很遗憾,提示我们loneferret用户不允许以root执行su,那再试试sudo运行ht吧:

sudo /usr/local/bin/ht

 再度失败了,提示是终端tmux的问题,那么我们再添加一下终端的环境变量:

export TERM=xterm-color

再次sudo运行ht试试 :

 可以发现这是个编辑器,既然我们可以sudo启动这个编辑器,那么这个编辑器应该是具有root权限的,我们可以用这个ht编辑器修改系统的配置实现提权,最简单的思路便是修改/etc/sudoers这个文件,我们先尝试打开这个文件,按F3,输入/etc/sudoers即可编辑:

 我们尝试在最后一行追加loneferret ALL=(ALL)NOPASSWD:ALL,应该就可以修改当前用户为最高权限了:

 然后按F10退出,再次运行sudo -l查看权限,可以看到已经有ALL权限了:

 那么我们sudo启动一个bash即可提权:

sudo /bin/bash

 然后我们查看/root目录,发现有一个Congrats.txt:

 至此打靶完成。

总结与思考

 靶机并不是很难,但还是有很多细节的点需要思考。思路的核心还是发现CMS的类型以及漏洞,在searchspoit搜索并未发现特别好的漏洞利用脚本的时候,不妨去github再进行搜索,关键点还是利用这个LotusCMS的漏洞获取反弹shell,然后就是一些敏感信息搜索的工作。在进行提权时,发现ht编辑器具有root权限,立刻就应该想到可以用这个编辑器编辑一些系统配置,从而实现提权,不一定非要像我这样在/etc/sudoers中追加loneferret ALL=(ALL)NOPASSWD:ALL,也可以通过直接修改/etc/passwd中root的密码等方法。最后还是总结一下打靶过程:

1.主机发现和端口扫描

2.Web渗透,发现LotusCMS,最终通过github搜索获得漏洞利用脚本,运行后获得反弹shell。

3.敏感信息搜索:发现数据库root的密码,成功登录数据库,查找到了ssh登录账号的密码hash,用john破解后获得密码。

4.ssh登录与提权:SSH登录后发现loneferret用户具有sudo /usr/local/bin/ht的权限,利用ht编辑器修改系统配置文件即可提权。

 到此这个靶机就讲解完毕了。靶机不难,总结不易,也有很多自己的思考,希望读者能够点赞关注多多支持!如果读者有什么打靶的问题也欢迎评论区留言指出,我一定知无不言!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/39688.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

pytest实现用例间参数传递的方式

pytest实现用例间参数传递的方式 一、通过conftest创建全局变量二、使用tmpdir_factory方法 我们在做接口自动化测试的时候,会经常遇到这种场景:接口A的返回结果中的某个字段,是接口B的某个字段的入参。如果是使用postman,那我们可…

Office如何通过VSTO进行PPT插件开发?

文章目录 0.引言1.工具准备2.PPT外接程序创建和生成3.外接程序生成并使用 0.引言 VSTO(Visual Studio Tools for Office )是VBA的替代,是一套用于创建自定义Office应用程序的Visual Studio工具包。VSTO可以用Visual Basic 或者Visual C#扩展O…

php裁剪图片,并给图片加上水印

本次以裁剪四个图片为例,图片如下 代码如下 public function cutImg($imgUrl){try{// 读取原始图片$src_img imagecreatefromjpeg($imgUrl);// 获取原始图片的宽度和高度$src_width imagesx($src_img);$src_height imagesy($src_img);// 计算每个部分的宽度和高…

ROS:pluginlib

目录 一、前言二、概念三、作用四实际用例4.1需求4.2流程4.3准备4.4创建基类4.5创建插件4.6注册插件4.7构建插件库4.8使插件可用于ROS工具链4.8.1配置xml4.8.2导出插件 4.9使用插件4.10执行 一、前言 pluginlib直译是插件库,所谓插件字面意思就是可插拔的组件&…

学习react,复制一个civitai-更新2

更新内容 耗时一个礼拜左右,增加了个新界面:模型图片详情界面。 看看效果图吧: 功能介绍 操作:在模型详情界面点击一个图片,就能到图片详情界面 1.点击哪个图片,就会展示哪个,同时还会更新图…

vue-element-admin解决跨域问题

更改vue.config.js publicPath: process.env.NODE_ENV production ? /tyzfadmin : /,//开发和生产环境不一样,做个判断 outputDir: dist, assetsDir: static, lintOnSave: false, runtimeCompiler: true, productionSourceMap: false, devServer: {port: port,op…

暴雪娱乐遭DDoS攻击,《暗黑破坏神》等多款游戏受影响

6月25日上午11点,有游戏玩家反应Blizzard Battle.net无法登入、连线缓慢及网站问题,暴雪也证实其电玩平台遭到DDoS攻击。 暴雪娱乐的 Battle.net在线服务遭到分布式拒绝服务(DDoS)攻击,导致玩家无法正常登录游戏或游戏…

虚幻Voxel插件

虚幻Voxel插件 Voxel Plugin Voxel Plugin brings smoothed voxel terrain to Unreal Engine 4. Generate, destroy and terraform the world! 体素插件可以在虚幻引擎中生成平滑的体素地形。创造、破环和改造世界。 Terrain generation and terraforming both in game and i…

MFC第十八天 非模式对话框、对话框颜色管理、记事本项目(查找替换、文字和背景色、Goto(转到)功能的开发)

文章目录 非模式对话框非模式对话框的特点非模式对话框与QQ聊天窗口开发非模态对话框(Modeless Dialog)和模态对话框(Modal Dialog)区别 记事本开发CFindReplaceDialog类的成员查找替换(算法分析)使用RichEdit控件 开发Goto(转到)…

Minecraft 1.20.x Forge模组开发 01.Idea开发环境配置

我们本次来进行Minecraft 1.20.x 模组开发环境配置教程的介绍。 效果演示 效果演示 效果演示 1.首先我们需要下载Java17和1.20模组开发包: Java17下载官网

ylb-项目简介

1、各模块服务功能 注&#xff1a;其部分实体类、接口、mapper文件由MyBatis逆向工程生成。 2、Maven管理&#xff08;多模块&#xff0c;继承和聚合&#xff09; 2.1 parent模块 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"…

Prometheus、Grafana使用

文章目录 系统性能监控相关命令lscputopfreehtopdstatglancesiftopiptrafnethogs 监控软件Prometheus安装、使用将promethues做成服务监控其他机器 exportergrafana配置、使用密码忘记重置 系统性能监控 相关命令 lscpu lscpu 是一个 Linux 命令&#xff0c;用于显示关于 CP…

计算机网络基础-OSI七层模型 和 TCP/IP四层模型的对比

OSI七层模型 和 TCP/IP四层模型的对比 OSI七层模型&#xff1a; 理论上的网络通信模型 记忆&#xff1a; (物、链、网、输、会、示、用) TCP/IP四层模型&#xff1a; 实际上的网络通信标准 (1) 七层网络体系结构各层的主要功能&#xff1a; 应用层&#xff1a; 最上层的&am…

Spring学习记录---回顾反射机制

目录 10.回顾反射机制 10.1 分析方法四要素 //不使用反射机制调用这些方法 使用反射机制调用方法 代码&#xff1a; 运行结果&#xff1a; 10.4 假设你知道属性名 测试代码 运行结果 10.回顾反射机制 10.1 分析方法四要素 package com.dong.reflect;public class Som…

JMETERbeanshell多种姿势获取目标值

beanshell通过vars方式取值 JMETER三种取值方法步骤_securitor的博客-CSDN博客 beanshell通过props方式取值 JMETER取值二_securitor的博客-CSDN博客 beanshell通过source方式取值 JMETER取值三_securitor的博客-CSDN博客 beanshell通过jar包方式取值 JMETER取值四_securitor的…

在UI中使用SpriteMask裁减任意shader的粒子效果

前言 由于我们需要在Mask中对粒子效果进行裁减。但是我们的的特效同事不愿意每个shader都去添加Stencil。所以使用SpriteMask方式进行裁减。 使用步骤 1. 添加SpriteMask Component 更具你需要的Mask形状设置精灵图片。又因为实际是精灵&#xff0c;并不属于UI系统&#xff…

【react + antd】antd如何自定义请求使用antd的upload组件实现图片上传且可预览可删除

文章目录 1. 效果展示2. customRequest如何使用&#xff1f;特别注意&#xff1a; 3. 控制上传时什么时候使用customRequest&#xff0c;什么时候选择beforeUpload方法&#xff1f; 1. 效果展示 官网给出的案例无法使用封装好的请求方式上传图片&#xff0c;以及无法满足上传图…

Spring Cloud Alibaba【Nacos配置动态刷新、Nacos集群架构介绍 、Nacos的数据持久化、认识分布式流量防护 】(五)

目录 分布式配置中心_Nacos配置动态刷新 分布式配置中心_Dubbo服务对接分布式配置中心 分布式配置中心_Nacos集群架构介绍 分布式配置中心_Nacos的数据持久化 分布式配置中心_Nacos集群配置 分布式流量防护_认识分布式流量防护 分布式流量防护_认识Sentinel 分布式配置…

每天一道大厂SQL题【Day27】脉脉真题实战(三)连续两天活跃用户

文章目录 每天一道大厂SQL题【Day27】脉脉真题实战(三)连续两天活跃用户每日语录第26题 中级题: 活跃时长的均值1. 需求列表思路分析 答案获取加技术群讨论附表文末SQL小技巧 后记 每天一道大厂SQL题【Day27】脉脉真题实战(三)连续两天活跃用户 大家好&#xff0c;我是Maynor。…

计组4——总线Plus IO

(CPU外部的)总线 用于连接computer3大模块(MC/GPUIO) CPU内部的片内总线判优由时序逻辑实现 composition& priority-judging 通信方式 CPU内部的片内总线用于取指、译码、执行、中断的数据通信&#xff1b; IO 总线分为控制线、数据线和地址线&#xff0c;对IO设备的…