准备:

攻击机:虚拟机kali、本机win10。

靶机:hacksudo: Thor,下载地址:https://download.vulnhub.com/hacksudo/hacksudo---Thor.zip,下载后直接vbox打开即可。

知识点:service提权、Shellshock漏洞利用。

信息收集:

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.110.6,显示开放了22、80端口,开启了ssh、http服务。

目录扫描:

使用dirmap进行目录扫描,发现admin_login.php、home.php、README.md、news.php等文件。

访问README.md文件,发现关于账户的信息:admin/password123。

使用获得账户名和密码信息:admin/password123进行登录,在http://192.168.110.6/home.php登录失败,但是在http://192.168.110.6/admin_login.php界面成功登录。

Shellshock-破壳漏洞:

然后在admin账户中创建了新的账户,在http://192.168.110.6/home.php进行登录,但是在两个登陆后的界面中均未发现可以获取shell的功能。然后在news.php中发现了cgi-bin,猜测这里存在破壳漏洞。

使用dirsearch对http://192.168.110.6/cgi-bin/进行扫描,发现shell.sh文件,但是访问该文件无法访问。

使用msf进行验证是否存在破壳漏洞,依次执行如下命令,经过验证发现存在shellshock漏洞。

search Shellshock
use 2
show options
set rhost 192.168.110.6
set TARGETURI /cgi-bin/shell.sh
run

获取shell:

使用msf依次执行以下命令,成功获得shell权限。

search Shellshock
use 1
show options
set rhost 192.168.110.6
set TARGETURI /cgi-bin/shell.sh
run
shell
python3 -c 'import pty;pty.spawn("/bin/bash")'

提权至thor:

查看下当前账户是否存在可以使用的特权命令或文件:sudo -l,发现/home/thor/./hammer.sh文件。

使用thor的用户权限执行脚本该脚本,发现会让我们输入一个key(疑是我们的身份)一个secret(会被执行),在输入bash时形成了一个新的shell窗口,权限是thor。

获得thor权限后,在/home/thor目录下发现user.txt文件并读取该文件信息,成功获得flag值。

提权至root:

查看下当前账户是否存在可以使用的特权命令或文件:sudo -l,发现cat和service命令。

查找下service命令的提权方式,得到其提权命令:sudo service ../../bin/sh,成功提权到root权限并在/root目录下发现root.txt文件并读取到flag值。

补充:

如果我们可以正常使用目标服务器时,也可以通过以下命令:env x='() { :;}; echo vulnerable' bash -c "echo this is a test ",来进行测试是否存在Shellshock漏洞,下面是存在此漏洞和不存在此漏洞的对比图,左侧无此漏洞,右侧存在此漏洞。

vulnhub靶场之HACKSUDO: THOR的更多相关文章

  1. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  2. VulnHub靶场学习_HA: ARMOUR

    HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...

  3. VulnHub靶场学习_HA: InfinityStones

    HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...

  4. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  5. VulnHub靶场学习_HA: Chanakya

    HA-Chanakya Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/ 背景: 摧毁王国的策划者又回来了,这次他创造了一个难 ...

  6. VulnHub靶场学习_HA: Pandavas

    HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...

  7. VulnHub靶场学习_HA: Natraj

    HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...

  8. VulnHub靶场学习_HA: Chakravyuh

    HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...

  9. VulnHub靶场学习_HA:Forensics

    HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...

  10. Vulnhub靶场——DC-1

    记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...

随机推荐

  1. Python数据科学手册-机器学习: 主成分分析

    PCA principal component analysis 主成分分析是一个快速灵活的数据降维无监督方法, 可视化一个包含200个数据点的二维数据集 x 和 y有线性关系,无监督学习希望探索x值 ...

  2. Python数据科学手册-机器学习之特征工程

    特征工程常见示例: 分类数据.文本.图像. 还有提高模型复杂度的 衍生特征 和 处理 缺失数据的填充 方法.这个过程被叫做向量化.把任意格式的数据 转换成具有良好特性的向量形式. 分类特征 比如房屋数 ...

  3. 工程课Linux第一节笔记

    上课笔记 文件系统结构 /根目录 /bin/ 存放系统命令,普通用户与root都可以执行 /etc/ 配置文件保存位置 /lib/ 系统调用的函数库保存位置 /var/ 目录用于存储动态数据,例如缓存 ...

  4. 第五章:Admin管理后台 - 2:自定义Admin actions

    通常情况下,admin的工作模式是"选中目标,然后修改目标",但在同时修改大量目标的时候,这种模式就变得重复.繁琐. 为此,admin提供了自定义功能函数actions的手段,可以 ...

  5. Node.js(五)学生管理CRUD

    npm init -y(初始化项目) npm install express(引入express) npx express-generator -e(自动生成模板.添加对 ejs 模板引擎的支持) n ...

  6. python之流程控制上-if、while

    流程控制 编写程序,是将自己的逻辑思想记录下来,使得计算机能够执行的过程. 而流程控制,则是逻辑结构中十分重要的一环. 在程序中,基础的流程结构分为顺序结构.分支结构.顺序结构 顺序结构自不必多说,上 ...

  7. P6189 [NOI Online #1 入门组] 跑步 (DP/根号分治)

    (才了解到根号分治这样的妙方法......) 将每个数当成一种物品,最终要凑成n,这就是一个完全背包问题,复杂度O(n2),可以得80分(在考场上貌似足够了......) 1 #include < ...

  8. P4588 [TJOI2018]数学计算 (线段树)

    用线段树维护操作序列,叶子结点存要乘的数,非叶子结点存区间乘积,每次输出tr[1] 就是答案. 1 #include<bits/stdc++.h> 2 #define ll long lo ...

  9. P7961 [NOIP2021] 数列 (DP 刷表法)

    (n<=30,是个多维的DP) v数组就是用来计算权值的,一共有m+1个.将S看做一个二进制数,按照题目S的定义,相当于在S的每一位可以随便+1(满足限制情况下),一共可以加n次. 我们来建立D ...

  10. Effective java 总结

    用静态工厂方法代替构造器的最主要好处 1.不必每次都创建新的对象 Boolean.valueOf Long.valueOf 2.直接返回接口的子类型,对于外界来说并不需要关心实现细节,主要知道这个接口 ...