HackThe Box--Cap

news2024/11/15 8:21:00
Cap 测试过程

一 信息收集

端口扫描

nmap -sC -sV 10.129.14.251

在这里插入图片描述

80 端口测试

访问 80 端口处于认证后的页面,登录用户为 Nathon;web 应用程序中发现 4 个功能点。Dashboard、IP Config、Security Snopshot、Network Status

1.Dashboard 页面是一个仪表盘,除数据展示外没有其他利用点

在这里插入图片描述

2.Security Snopshot,页面返回数据包个数及类型,并且通过 URL 发现,在/data/number,number不同时,响应包会发生变化,并且流量包是可以 Download

在这里插入图片描述

3.IP Config页面返回 IP 地址

在这里插入图片描述

4.Network Status 类似于执行 netstat命令

在这里插入图片描述


二 IDOR

IDOR漏洞全称为Insecure Direct Object Reference(不安全的直接对象引用),是一种越权漏洞,主要发生在应用程序的访问控制逻辑中。其原理是攻击者通过篡改对象的标识符,绕过权限验证,访问到不应该被其访问的资源。

在/data/number中,number不同时,响应包会发生变化,针对 Security Snopshot 页面进行测试,在访问 /data/0 时,响应出现大量数据包,下载数据包,并访问

在这里插入图片描述

使用 wireshark 观察数据包,发现FTP 协议的请求包存在明文的用户名和密码 nathan:Buck3tH4TF0RM3!,可以进行 FTP 登录

在这里插入图片描述

在这里插入图片描述

密码复用

在成功登录 FTP 后,尝试是否可以进行 SSH 登录,如果系统存在账号密码复用的情况,那我们就可以使用 FTP 账号密码成功连接到 SSH

(base) gryphon@wsdl HTB %ssh nathan@10.129.14.251
nathan@10.129.14.251's password: 
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-80-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Sat Aug 24 09:04:33 UTC 2024
63 updates can be applied immediately.
42 of these updates are standard security updates.
To see these additional updates run: apt list --upgradable


The list of available updates is more than a week old.
To check for new updates run: sudo apt update

Last login: Thu May 27 11:21:27 2021 from 10.10.14.7
-bash: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
nathan@cap:~$ 

三 权限提升

本地开启 Httpserver 服务,上传 linpeas.sh 文件到服务器,并赋予执行权限,进行信息收集

在这里插入图片描述

chmod +x linpeas.sh
./linpeas.sh

在这里插入图片描述

响应中发现 /usr/bin/python3.8 = cap_setuid,cap_net_bind_service+eip

参数说明
• setcap: 设置文件的 Linux 能力。
• cap_setuid: 允许改变用户 ID 的能力。
• cap_net_bind_service: 允许绑定到小于1024的特权端口。
• +eip:
• e: 有效(Effective),即能力被进程有效地使用。
• i: 继承(Inherited),即该能力能被子进程继承。
• p: 允许(Permitted),即该能力可以被进程启用。
效果:
这条命令将使 /usr/bin/python3.8 具有以下能力:
1. cap_setuid: 允许 Python 进程更改其用户 ID,这意味着可以在脚本中更改进程的权限。
2. cap_net_bind_service: 允许 Python 绑定到小于1024的端口(例如,HTTP 80端口或HTTPS 443端口),通常这些端口只能由 root 用户绑定。

如果二进制文件具有 Linux CAP_SETUID功能集或者由具有该功能集的另一个二进制文件执行,则可以将其用作后门,通过操纵其自己的进程 UID 来维持特权访问。

那如果 /usr/bin/python3.8 具有 root 权限,就可以通过设置 cap_setuid=0(uid=0 为 root 权限) 获取到 root 权限

查看 python 的权限为 root 权限,那就可以直接通过以下命令设置 uid=0 获取 root 权限

在这里插入图片描述

python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2071138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

sqli-labsSQL手工注入第26-30关

第26关 一.查询数据库 http://127.0.0.1/Less-26/?id11%27%26extractvalue(1,concat(%27~%27,database(),%27~%27))%261%27 二.查表 http://127.0.0.1/Less-26/?id1%27||(updatexml(1,concat(1,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(…

再谈asyncio.exceptions.TimeoutError报错

这两天继续学习rasa的模型训练和使用,期间asyncio.exceptions.TimeoutError的报错还是经常会遇到,特别是actions.py有过一些调整之后,这个报错就一定会准时报道。这个时候就会花费很多时间去检查actions.py是否哪里有问题,然后再重…

嘉立创EDA个人学习笔记2(设计流程及绘制元件)

前言 本篇文章属于嘉立创EDA的学习笔记,来源于B站教学视频。下面是这位up主的视频链接。本文为个人学习笔记,只能做参考,细节方面建议观看视频,肯定受益匪浅。 【教程】零基础入门PCB设计-国一学长带你学立创EDA专业版 全程保姆…

在Ubuntu系统中安装R语言并使用R Markdown

官方提供的R语言安装教程:全面的 R 存档网络 (tsinghua.edu.cn) 在安装之前先使用命令更新软件列表,命令中的 - qq 参数用于减少命令执行时的输出信息。 # update indices sudo apt update -qq 安装依赖项:dirmngr(用于管理密钥…

【自动化测试】python+selenium+谷歌驱动安装记录

需求背景 客户是做偏前端开发的,日常工作需要进行web应用测试,模拟人类浏览器的行为; 需要一些基础的技术栈: Python HTML CSS JavaScript 以上是客户环境↑ 安装过记录 1.安装方式-Seleium安装: 在PyCharm终端或win…

软件工程造价师习题练习 16

1.功能点分析方法是一种从( )视角来度量软件向用户提供的功能规模的方法 A. 需求分析 B. 用户 C. 开发 D. 测试 功能点分析方法是一种软件规模估算方法,其主要目的是从用户的角度来测量软件提供的功能规模。这意味着它关注的是用户所需的…

QT:多线程与并发

Qt创建线程的三种方法 使用QThread类 QThread 是Qt中用于处理线程的类。可以通过继承 QThread 并重写其 run() 方法来创建自定义的线程。 注意: 派生于QThread的类,构造函数属于主线程,run函数属于子线程,可以通过打印线程id 判断。 mythread.h #pragma once #include <QT…

【pytorch深度学习——小样本学习策略】网格搜索和遗传算法混合优化支持向量机的小样本学习策略进行预测

最近需要根据心率血氧数据来预测疲劳度&#xff0c;但是由于心率血氧开源数据量较少&#xff0c;所以在训练模型时面临着样本数量小的问题&#xff0c;需要对疲劳程度进行多分类&#xff0c;属于小样本&#xff0c;高维度问题。在有限样本的条件之下&#xff0c;必须要需要选择…

游戏开发设计模式之责任链模式

责任链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许将请求沿着处理者链进行发送。每个处理者对象都有机会处理该请求&#xff0c;直到某个处理者决定处理该请求为止。 概念与定义 责任链模式的核心思想是将多个处理器…

vue3路由使用createWebHistory部署访问404问题 vite部署访问404问题

vue3路由使用createWebHistory部署访问404问题 vite部署访问404问题 开始createWebHistory() H5路由模式修改vite.config.js修改 router/index.js 路由模式修改Nginx配置1配置2配置3 createWebHashHistory() 哈希模式修改vite.config.js修改 router/index.js 路由模式Nginx配置…

文件IO和多路复用IO

目录 前言 一、文件 I/O 1.基本文件 I/O 操作 1.1打开文件 1.2读取文件内容 (read) 1.3写入文件 (write) 1.4关闭文件 (close) 2.文件指针 二、多路复用 I/O 1.常用的多路复用 I/O 模型 1.1select 1.2poll 1.3epoll 2.使用 select、poll 和 epoll 进行简单的 I/O…

基于vue框架的北城招聘管理平台题目7lly3(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能&#xff1a;用户,企业,企业信息,职位类型,职位信息,简历信息,职位应聘,求职意愿,面试信息,录取信息,实习信息,冻结信息,解冻信息 开题报告内容 基于Vue框架的北城招聘管理平台 开题报告 一、引言 随着互联网的飞速发展和企业对人才需求的不断增…

无人机之如何利用无人机进行地形测绘

一、无人机的选择 多旋翼无人机&#xff1a;多旋翼无人机具有较好的稳定性和悬停能力&#xff0c;适用于复杂地形和需要高精度影像测绘任务。 固定翼无人机&#xff1a;固定翼无人机飞行速度快&#xff0c;续航能力强&#xff0c;更适合大面积的地形测绘工作。 消费级无人机…

python怎么删除模块

1、用命令行删除 安装pip $ wget https://bootstrap.pypa.io/get-pip.py $ python get-pip.py 删除指定的模块或者包&#xff1a; pip uninstall xxx 2、手动删除 去Python的第三方模块或包的存放位置进行手工删除文件和文件夹&#xff0c;然后删除easy-install.pth文件中的相…

Canvas实现电子签名功能

实现代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Canvas实现手写板</t…

开发指南056-定时任务

业务场景中定时任务很常见。平台实现定时任务的原则如下&#xff1a; 1、定时任务的定义在业务库&#xff08;没必要集中到核心库&#xff0c;另外定时任务的服务要访问业务库&#xff09;。 2、定时任务的服务为独立微服务。 平台的定时任务基于&#xff1a; <dependenc…

20240824 每日AI必读资讯

谷歌搜索引擎全面揭秘&#xff01;近百份文档泄露&#xff0c;博主爆肝数周逆向工程 - 继5月的文件泄露事件后&#xff0c;谷歌的搜索引擎又被掀了个底朝天。 - DeepMind发论文解释了Vizier系统的机制&#xff0c;博客作者Mario Fischer还对近百份文档做了彻底的调研分析&…

单位信息宣传考核投稿方法不对让我尝尽了苦头

自从我担任单位的信息宣传员以来,便深刻体会到“信息宣传”四个字背后的重量。每月的信息宣传考核任务就像一座大山,压在我心头。起初,我像大多数同行一样,习惯于通过电子邮件向各大媒体投稿,但这种方式让我尝尽了苦头。 记得开始尝试通过邮箱投稿时,我满怀信心地将精心准备的文…

C语言-内存管

内存区间 全局/静态存储区 不仅仅包含全局变量&#xff0c;还包含静态变量&#xff08;包括在函数内部定义的静态局部变量&#xff09;、字符串常量以及main函数开始执行之前就被初始化的所有其他数据。这些数据的生命周期贯穿整个程序执行期间。 对于一个C语言程序而言&…

SQL-DQL-数据查询语言

数据查询语言 1、基础查询 2、条件查询 3、聚合函数 4、分组查询 5、分页查询 6、案例 7、执行顺序 select 字段列表 from 表名列表 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数1、基础查询 select 字段1[as 别…