废物的靶场日记 hackthebox-Timing

废物的靶场日记 hackthebox-Timing

今天做medium难度的Timing 靶机IP 10.10.11.135

前渗透

nmap -sV -A 10.10.11.135
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))

看一下80端口是一个登录框 看不出什么 wfuzz+dirsearch扫出来一些后台文件
排查一堆重定向之后 有两个可以联合起来看出端倪

一个是images/uploads很明显是一个上传路径
一个是image.php可以访问但是是空的 按照经验结合uploads文件夹 很明显像是文件读取 多半是可以fuzz出参数的
这里直接拿字典 对GET /image.php?§a§=/etc/passwd HTTP/1.1进行爆破
最后得到参数img 但是显示被拦截了 Hacking attempt detected!

但是昨天爷不是刚做了个文件读取的过滤吗 直接用昨晚的姿势就能成功读取
http://10.10.11.135/image.php?img=File:///etc/passwd

请添加图片描述

这一幕好像似曾相识 只看最下面的就完事了 发现用户aaron

这里还需要读什么呢 回顾一下信息收集 后台文件有很多重定向 全读了看看

但是这里有一个问题就是我们不知道网站的绝对路径 经过搜索试了一些办法但是这里又有过滤 不能确定
这里埋下了一个坑 File协议到底能不能相对路径读取文件?有爹解答一下不

这里我干脆换成了php://filter/read=convert.base64-encode/resource= 也是常见的文件包含姿势
读取到upload.php发现include(“admin_auth_check.php”); 包含读取看到

if (!isset($_SESSION[‘role’]) || $_SESSION[‘role’] != 1) {
echo “No permission to access this panel!”;
header(‘Location: ./index.php’);
die();
}

很明显我们需要一个role为1的用户
但是我们怎么登陆呢?测试发现用前面的发现的用户aaron aaron就弱口令进去了

请添加图片描述

但是进去之后访问upload.php发现我们是没有权限进行上传的
访问栏目上的Edit profile发现可以进行更新文件 此时发包的参数里并没有role但抓返回包发现有

"5": "test",
"role": "0",

那么我们能不能添加role=1越权呢 在发包的参数中添加了role=1后刷新页面发现多了一个Admin panel可以上传文件
抓包发现调用的就是我们的upload.php并且存在过滤 再回头分析upload.php
请添加图片描述
这里我们可以看到重点在于末尾有个Cj8 这说明什么 作者必然是uzi的粉丝!
这里我不禁放了一首孤泳者再继续分析

首先 文件必须是jpg后缀 同时文件名非常的恶心 一开始我觉得是由uniqid函数和time函数进行md5后再加上原来的文件名保存的 查了一下这uniqid函数是以微秒为单位的 微秒属实感觉有点抽象了

但是!很快我发现这个$file_hash外面是个单引号 也就是说这完全就是当作一个字符串来拼接的 uniqid完全是没勾八用的 而time函数是以秒为单位的

那么首先我们访问网页抓一下返回包 Date: Sat, 26 Mar 2022 13:59:27 GMT
我们的时区也改成GMT 然后把他的代码copy下来改改执行

while(1){echo md5(’$file_hash’ .time()).’_’.‘a.jpg’;echo “\n”;sleep(1);}

流程就是上传文件——抓包拦截——php代码开始动——放掉拦截——上传成功停止php 然后检索产生的文件名就行

那么有些兄弟可能会问了 那你传了个jpg有勾八用呢 他又不解析 然而我们前面找到了什么漏洞?文件包含!

我们利用http://10.10.11.135/image.php?img=images/uploads/xxx.jpg 就可以解析我们的jpg 利用链就这么产生了
直接写个命令执行再弹nc就行了

成功找到文件名后 试图开弹nc发现弹不动 应该又是有过滤了 于是就是漫长的用网页看文件
看了一圈在 /opt下看到了source-files-backup.zip 终于找到突破口了 把这个文件下下来看到里面有.git文件夹
请添加图片描述
那么肯定要试试.git泄露了 拉取文件检索后发现了

(‘mysql:host=localhost;dbname=app’, ‘root’, ‘S3cr3t_unGu3ss4bl3_p422w0Rd’);

以aaron为账户ssh连上去 拿到第一个user的flag
fc0fe9f5903498dd6a68c0ea3f927beb

后渗透

然后就是提权了 老样子上线msf peass跑一下发现啥也没
这个peass有一说一不能过于依赖 但同时他也是个很好的学习工具 很多cve的使用条件看他的源码就行了

find / -perm -u=s -type f 2>/dev/null一下也没什么特别明显的
然后sudo -l 又出货了 (ALL) NOPASSWD: /usr/bin/netutils
执行一下

sudo /usr/bin/netutils
netutils v0.1
Select one option:
[0] FTP
[1] HTTP
[2] Quit
Input >>

这不就是昨天的老一套吗 从kali上下东西发现文件确实是root权限
但是这里我不知道该咋整了 这里我google学了一个骚操作
可以直接先给/root/.ssh/authorized_keys创建软连接 然后通过二进制文件root下载和软连接名一样的本地生成的ssh公钥 然后本地直接用ssh -i 就可以连上去了 拿到最后一个flag
4dbafc7046f2f2070c6d870bebbc8ef5

请添加图片描述

这个靶场打完rank成功进阶成hacker了 但我实则又是个勾八呢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值