CH4INRULZ-v1靶机练习实践报告

2024-04-27 14:12

本文主要是介绍CH4INRULZ-v1靶机练习实践报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CH4INRULZ-v1靶机练习实践报告

1 安装靶机

靶机是.ova文件,需要用VirtualBox打开,但我习惯于使用VMWare,因此修改靶机文件,使其适用于VMWare打开。

解压ova文件,得到.ovf文件和.vmdk文件。直接用VMWare打开.ovf文件即可。

2 夺旗步骤

第一步:IP扫描,端口扫描

img

img

端口扫描发现靶机上注册了ftp服务、ssh服务、Apache服务,且端口80和端口8011上都部署了Apache服务。尝试爆破SSH服务的登陆口令,失败;尝试爆破FTP服务的口令,失败。

浏览器中打开80端口,8011端口,查看网页内容、网页源码,未发现任何关键提示信息。

img

img

针对web服务做目录遍历和web安全扫描。使用msf中dir_scanner模块对80端口的web服务做目录遍历,暴露3个可访问的路径,”http://192.168.67.129:80/js/”路径下未发现有价值信息;”http://192.168.67.129:80/img/”路径下发现”profile.jpg”,下载图片未发现可疑信息;”http://192.168.67.129:80/development/”是一个需要登陆口令的网页,但我们不知道口令,先去8011端口的web服务上探寻一番。

img

img

img

img

使用msf中dir_scanner模块对8011端口的web服务做目录遍历,暴漏出一个可访问路径。

img

访问”http://192.168.67.129:8011/api/”,页面提示开发中的4个PHP文件,逐个打开,只有”*files_api.php”可访问。

img

img

根据提示,构造”http://192.168.67.129:8011/api/files_api.php?file=…/…/etc/passwd”,竟然做了安全检测,换POST方法试试,成功。

img

img

可以读取/etc/passwd的内容,没法先用户口令信息,试试/etc/shadow,读取失败。

img

为什么尝试读取这两个文件?因为/etc/passwd是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息, /etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件,影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,但后者只对超级用户root可读,读取不到/etc/shadow内容,此路不通。

我们将files_api.php的源码下载下来分析一下,暂未发现关键信息。

img

img

继续对WEB服务做安全扫描,

img

查看”http://192.168.67.129:80/index.html.bak”,终于看到提示信息了。htpasswd命令 是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。

img

用john破解该提示,得到口令”frank:frank!!!”。用该口令尝试登陆ssh,失败;用该口令登陆”http://192.168.67.129:80/development/”,得到有个安全功能未开发完成的文件上传的功能。

img

img

打开文件上传页面,直接上传kali自带的php木马php-reverse-shell.php,提示只支持图片格式,修改后缀为php-reverse-shell.jpg,被识破了,难道是文件格式解析?

img

img

php-reverse-shell.jpg

img

gif伪装尝试,在php头文件添加git标识GIF98,然后将文件名改为php-reverse-shell.gif,上传成功。

img

文件上传成功,但文件存在哪里?如何触发执行?将upload.php源码下载下来,查看文件存放路径,发现存放在”FRANKuploads”目录。

img

img

打开”http://192.168.67.129:80/development/uploader/FRANKuploads”,发现我们上传的shell.gif和php-reverse-shell.git,php-reverse-shell.git文件中忘记修改ip地址了,因此shell.gif才是真正的木马文件。

img

我们在8011端口的web服务上有一个可以查看文件内容的入口,因此在该入口访问木马文件就可以触发执行。

img

Bravo,拿到系统控制权。逐个查看可能是flag的文件,无果,但有几个目录只有root权限才可以访问,接下来提权。靶机的系统版本是2.6.35,在kali自带的exploit-db中搜索可用的提权exp,发现适用于2.6.35版本的不可用,于是所示2.6.35,发现可用exp文件”15285.c”,在本机上编译成可执行文件”priv”,并开启一个httpserver。

img

img

我们已经拿到靶机的shell了,在/tmp目录下请求kali机器的priv文件,然后设置priv的可执行权限,执行即可获取root权限。为什么要在/tmp目录下?因为在其他目录下,有权限问题。获取root权限后,查看/root/root.txt,拿到flag。

img

3 总结

  1. 熟练使用工具metasploit(scanner/http/dir_scanner)、searchsploit、nitko、john
  2. 看到网站的全貌和功能后要想到可能存在的漏洞,可以利用的方法。
  3. 熟悉任意文件读漏洞、文件上传漏洞、各种图片文件格式等。

这篇关于CH4INRULZ-v1靶机练习实践报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/940718

相关文章

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

MySQL分库分表的实践示例

《MySQL分库分表的实践示例》MySQL分库分表适用于数据量大或并发压力高的场景,核心技术包括水平/垂直分片和分库,需应对分布式事务、跨库查询等挑战,通过中间件和解决方案实现,最佳实践为合理策略、备... 目录一、分库分表的触发条件1.1 数据量阈值1.2 并发压力二、分库分表的核心技术模块2.1 水平分

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

MySQL数据类型与表操作全指南( 从基础到高级实践)

《MySQL数据类型与表操作全指南(从基础到高级实践)》本文详解MySQL数据类型分类(数值、日期/时间、字符串)及表操作(创建、修改、维护),涵盖优化技巧如数据类型选择、备份、分区,强调规范设计与... 目录mysql数据类型详解数值类型日期时间类型字符串类型表操作全解析创建表修改表结构添加列修改列删除列

Python自定义异常的全面指南(入门到实践)

《Python自定义异常的全面指南(入门到实践)》想象你正在开发一个银行系统,用户转账时余额不足,如果直接抛出ValueError,调用方很难区分是金额格式错误还是余额不足,这正是Python自定义异... 目录引言:为什么需要自定义异常一、异常基础:先搞懂python的异常体系1.1 异常是什么?1.2

深入解析Java NIO在高并发场景下的性能优化实践指南

《深入解析JavaNIO在高并发场景下的性能优化实践指南》随着互联网业务不断演进,对高并发、低延时网络服务的需求日益增长,本文将深入解析JavaNIO在高并发场景下的性能优化方法,希望对大家有所帮助... 目录简介一、技术背景与应用场景二、核心原理深入分析2.1 Selector多路复用2.2 Buffer

SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南

《SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南》本文将基于开源项目springboot-easyexcel-batch进行解析与扩展,手把手教大家如何在SpringBo... 目录项目结构概览核心依赖百万级导出实战场景核心代码效果百万级导入实战场景监听器和Service(核心