No.108-HackTheBox-Linux-Charon-Walkthrough渗透学习

  • Post author:
  • Post category:linux


**



HackTheBox-Linux-Charon-Walkthrough

**

靶机地址:https://www.hackthebox.eu/home/machines/profile/42

靶机难度:中级(3.5/10)

靶机发布日期:2017年10月7日

靶机描述:

Charon is definitely one of the more challenging machines on HackTheBox. It does not require any advanced techniques, however there are many subtle tricks needed at almost every step of exploitation.

作者:

大余


时间:2020-05-21

请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用Kali Linux作为解决该HTB的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。



一、信息收集

在这里插入图片描述

可以看到靶机的IP是10.10.10.31…

在这里插入图片描述

nmap发现开放了OpenSSH和Apache服务…

在这里插入图片描述

查看主页面没发现有用的信息…

在这里插入图片描述

在这里插入图片描述

通过gobuster爆破发现了有利的cmsdata目录信息…

在这里插入图片描述

通过访问,这是个登录页面还是SuperCMS架构…又要注入了…开始

在这里插入图片描述

通过点击Forgot password跳转到了email页面…

使用burpsuite捕获页面的请求,并将其发送给转发器…

在这里插入图片描述

通过简单的测试后…

知道该站点容易受到SQL注入的攻击,首先我找到列数,使用ORDER BY命令查找表中的列数,找到列数后,我使用UNION SELECT命令为输出列名称提供相应的编号,由于UNION和union已列入黑名单,因此我将UNion用于SQL注入…

在这里插入图片描述

for i in $(seq 0 100); do
        payload="email=a@b.com' UNIoN SELECT 1,2,3,CONCAT(TABLE_SCHEMA, ':', TABLE_NAME, ':', COLUMN_NAME, '@b.com') FROM INFORMATIoN_SCHEMA.COLUMNS WHERE TABLE_SCHEMA != 'InformatiOn_Schema' LIMIT 1 OFFSET $i-- -"
        curl -s -d "$payload" http://10.10.10.31/cmsdata/forgot.php | grep -o '[^ ]*b.com'
        done

经过大量的测试,我创建了简单的脚本,方便查找用户的user邮件名称信息…

在这里插入图片描述

通过执行自动化脚本,获得了

__username_@b.com



__password_@b.com

两个有用的信息…这里利用这两个邮箱信息继续编辑获取密匙…

在这里插入图片描述

for i in $(seq 0 300); do
        payload="email=a@b.com' UNIoN SELECT 1,2,3,CONCAT(__username_, ':', __password_, '@b.com') FROM supercms.operators LIMIT 1 OFFSET $i-- -"
        curl -s -d "$payload" http://10.10.10.31/cmsdata/forgot.php | grep -o '[^ ]*@b.com'
        done

继续简单修改了自动化脚本,测试时100输出都是重复的hash值…我改成了300后,出现了有用的信息…

在这里插入图片描述

看到,在201后,获得了super…的用户邮箱和密匙hash,这应该是有用的,试试…

在这里插入图片描述

成功破解获得了密码…

在这里插入图片描述

通过账号密码成功登陆了页面…

在这里插入图片描述

发现页面存在文件上传功能,通过上传文件简单测试只允许jpg、gif、png格式文件上传…

在这里插入图片描述

在这里插入图片描述

修改文件名,上传后发现报错了,仅仅能上传图像文件…

在这里插入图片描述

并在前段源码中发现了base64值…

在这里插入图片描述

在这里插入图片描述

解码后得到testfile1,所以很明显,这是一个测试上传的工具模块…

在这里插入图片描述

在这里插入图片描述

尝试上传shell,命名文件名,并将一个反向PHP shell插入其中,以绕过图像限制…成功上传了…

在这里插入图片描述

简单成功测试输出…whoami

在这里插入图片描述

利用简单shell,获得了反向外壳,获得了www低权却无法读取user_flag信息…

需要继续提权…

在这里插入图片描述

在home/decoder目录下发现两个rsa密匙文件…下载到本地进行爆破看看…

在这里插入图片描述

在这里插入图片描述

google对该两文件进行搜索,需要利用

RSA

工具进行解密…下载即可

执行查看help,利用–publickey和–uncipherfile命令顺利破解,获得了密码…

在这里插入图片描述

namp前面就扫到开放了SSH,利用用户密码成功登录…并获得user_flag信息…

在这里插入图片描述

上传LinEnum工具枚举所有可利用信息…在SUID发现了supershell二进制程序…进行下载到本地进行分析…

在这里插入图片描述

利用IDA对二进制程序进行了分析,可发现改程序仅在运行/bin/ls…

在这里插入图片描述

经过一些测试后,利用运行/bin/ls会输出完整文件内容…因此输出了root_flag信息…但是还是想要获得root权限…

通过另外的测试,创建了文件夹dayu,尽然可以因此执行root权限读取文件信息,利用执行/bin/ls也可以将文件提权到root权限…

在这里插入图片描述

为了获得root权限,我简单编写了二进制编码,并利用GCC编译,如果由root用户运行(或设置了SUID位),则将uid和gid设置为0…

在这里插入图片描述

将二进制上传后,利用/bin/ls提权dayu.me二进制位root权限执行…

在这里插入图片描述

通过设置为root权限的dayu.me,直接执行获得了root外壳…

爆破+注入+破解密匙+解码编译+分析二进制程序到制作shell提权的过程…

又学到了新的东西和巩固了以往的知识…

由于我们已经成功得到root权限查看user和root.txt,因此完成这台中级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

在这里插入图片描述



版权声明:本文为qq_34801745原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。