目录

  • 介绍
  • 信息收集
    • 主机发现
    • 主机信息探测
  • 网站探测
    • 目录扫描
    • joomscan 扫描
    • 发现SSRF漏洞
    • 关于SSRF漏扫的补充
    • 利用SSRF漏洞
      • 1. 验证Gopher协议
      • 2. 确认数据库
      • 3. 利用工具
  • 反弹shell
    • 寻找上传点
    • 拿到shell-Flag1
    • 敏感文件-SSH登录
    • 敏感文件-SSH偷梁换柱
    • flag2
    • 提权-firefox密码泄露
  • 总结

介绍

系列:HarryPotter(此系列共3台)
发布日期:2021年04月29日
难度: 中→高(打点较难)
目标: 取得 root 权限 + 3 Flag
攻击方法:

  • 主机发现
  • 端口扫描
  • WEB信息收集
  • HTTP3协议
  • 域名绑定
  • SSRF漏洞(Gopher + Mysql)
  • Joomla漏洞
  • SSH公钥登录
  • 浏览器密码还原

靶机地址:https://www.vulnhub.com/entry/harrypotter-fawkes,686/

信息收集

主机发现

netdiscover主机发现

sudo netdiscover -i eth0 -r 192.168.56.0/24

主机信息探测

网站探测

开局就是一张图,没什么有价值的信息

目录扫描

这里提供2个加强版文件扫描:

  1. 从字典上来说,前者有字典87664行,后者有字典220560行
  2. 从速度上来说,gobuster远胜于dirsearch。因为gobuster扫完了220560行的字典时,dirsearch才扫描87664行字典的一半。
常规目录扫描
dirsearch -u http://192.168.56.115/加强版文件扫描
dirsearch -u http://192.168.56.115/ -f -e html,php,txt -w /usr/share/SecLists-2022.2/Discovery/Web-Content/directory-list-2.3-small.txt
gobuster dir -r -u http://192.168.56.110/site/ -x txt,html,php -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -t 100

从下图中可以看出,普通扫描发现了“joomla”站点,加强版文件扫描发现了一个文件“note.txt”,阅读后得知靶机还存在一个域名,绑定host即可查看(浏览器必须支持HTTP3),这里就有了一个很尴尬的问题,我怎么去访问http3呢?网上的教程尝试之后失败了,不清楚原因。我这里查看靶机攻略后得知,http3访问了此域名后会看到一个提示信息,靶机上存在一个敏感页面internalResourceFeTcher.php

joomscan 扫描

既然是joomla站点,先来joomscan 扫描看看

  1. 直接扫描:joomscan -u "http://192.168.56.115",只发现了joomla后台
  2. 指定路扫描:joomscan -u "http://192.168.56.115/joomla"

发现了一个备份的配置文件

下载备份文件,发现在靶机存在一个名为“joomla”的mysql数据库。

发现SSRF漏洞

打开敏感页面internalResourceFeTcher.php后,有个框框,直接填写个内容。观察到浏览器url栏中,赫然写着url=123,而网页上写着“欢迎来到内部网络资源获取页面 ”,能通过web方式访问到内网资源的,就是SSRF啊。

检查一下,确认存在SSRF漏洞

关于SSRF漏扫的补充

我花了点时间研究了下能检测SSRF的工具,结果是很失望。

  1. burpsuite插件ssrf-king

这是一个被动检测SSRF的插件,在我已经明确验证SSRF的前提下,插件没有发现SSRF漏洞

  1. burpsuite插件Burp Bounty Pro

手工指定“Burp Bounty Pro”插件以GET方法扫描指定页面有无SSRF,发现了SSRF漏洞

  1. burpsuite插件J2EE

J2EEScan是一款可以用来被动扫描基于java开发的web程序,这里很意外,让BurpSuite直接扫描此页面,J2EEScan竟然发现了疑似SSRF漏洞,SSRF-King继续保持了沉默

  1. SSRFmapp

这是一个在github上有着1.9K小星星的项目,一个用来实现自动SSRF模糊利用工具。
项目地址:https://github.com/swisskyrepo/SSRFmap
实际体验感觉不大好,下图中,我按照项目地址介绍的方法进行端口扫描,看似能扫出一个端口,然而只能扫出这一个端口,看一眼抓到的数据包你就会明白为什么啥都没扫出来。

此外,发现这个工具与下文介绍的“Gopherus”有重合,都能生成Gopher有效载荷,但是ssrfmap没有后者操作简单,而且还容易出现警告、错误信息。

综上,放弃ssrfmap工具。

利用SSRF漏洞

漏洞利用:这里着重介绍Gopher协议

Gopher在HTTP协议前是非常有名的信息查找系统,但是随着web技术的发展,很少服务会用到Gopher了,但是!在SSRF漏洞中,它大方光彩,让SSRF漏洞利用更加广泛,理论上只要后端应用是基于TCP协议的,前端存在SSRF漏洞,并且我们可以使用Gopher访问后端的端口,那么我们就可以使用Gopher访问几乎所有基于TCP的应用(对ftp,memchahe,mysql,telnet,redis,等服务进行攻击),可以构造发送GET,POST请求包。

说白了就是:通过SSRF漏洞,让服务器发送自己精心构造的GET或者POST请求包
格式:

gopher://<host>:<post>/<gopher-path>_后面接TCP数据流

利用要点(未验证):

  1. PHP版本大于等于5.3
  2. PHP.ini开启了php_curl
  3. gopher没有默认端口,需要指定:gopher://127.0.0.1:80
  4. 在传送GET或POST数据时需要经过二次URl编码
  5. url编码时回车换行需要使用%0d%0a替换%0a
  6. POST中的&也需要url编码。

利用方式:

  1. 利用SSRF进行内网渗透
  2. gopher协议反弹shell
  3. 超级经典的redis写入webshell

1. 验证Gopher协议

访问80端口没反应,仔细看的话,会注意到浏览器一直在加载,测试效果不明显,但是换成22端口立马出现结果了。这都证明了可以利用Gopher协议

2. 确认数据库

上面通过joomscan扫描发现了敏感文件,得知靶场有mysql数据库,确认一下,发现网站又开始加载了,说明数据库端口没问题。如果输入正确的连接数据库的命令,理论上我们是可以看到连接结果的。手工构造命令是不可能的,直接上工具。

3. 利用工具

  1. 安装与介绍

工具的使用相当简单,只需要输入一个参数即可。

  1. 查询表中所有列

经过数十次的尝试,终于查询出结果了。【需要多次尝试】

通过搜索,定位出符合期待的一个表

  1. 查询表中所有数据

依然是经过多次尝试后成功查询出数据,根据对比,能找到 site_admin 用户的密码,但是破解很难,不如更新用户密码来得简单。

  1. 更新用户密码
设置密码123
echo -n "123" | md5sum执行更新密码
use joomla; update joomla_users SET password='202cb962ac59075b964b07152d234b70' WHERE username='site_admin';

经过多次输入过,页面出现了如下反应,然后就可以登录网站了。

反弹shell

寻找上传点

找到“error.php”页面,粘贴反弹shell的内容

拿到shell-Flag1

网上随便搜一下 error.php 的页面位置,在http://cn-sec.com/archives/286076.html 中看到了/templates/beez3/error.php,于是拼接得到路径:http://192.168.56.115/joomla/templates/beez3/error.php

敏感文件-SSH登录

发现了敏感文件:/home/snape/.creds.txt,base64解码后发现是Love@lilly,然后就SSH登录了。

敏感文件-SSH偷梁换柱

经过一番简单搜索,发现 hermoine 用户的家目录里面存在一个具有suid权限的文件:su_cp,那么思路就来了,在kali下生成SSH公钥密码对,然后把公钥拷贝到 hermoine 用户的 ssh 目录下,那么我就可以在kali上用私钥以 hermoine 的身份SSH连接到靶机了

  1. 在kali下生成SSH公钥密码对,并投递到靶机上

  1. 把公钥丢到 hermoine 用户的 ssh 目录下
chmod 640 id_rsa.pub
mv id_rsa.pub authorized_keys
/home/hermoine/bin/su_cp -p /home/snape/authorized_keys /home/hermoine/.ssh/

注意:

  • 需要设置ssh公钥权限为640(关于权限参见:)
  • 需要修改文件名:mv id_rsa.pub authorized_keys,否则ssh连接时需要密码

相关阅读:https://blog.csdn.net/qq_26400953/article/details/105145103
https://mp.weixin.qq.com/s/azDzb1AA8iwk4JLjMecwag

  1. ssh免密连接

flag2

提权-firefox密码泄露

在 hermoine 用户家里发现了隐藏目录mozilla,一般来说,这个目录里面包含有火狐浏览器的扩展、用户信息,以及保存到账号密码。我计划把这些内容全部复制到kali上,然后在kali上面安装工具,来提取浏览器中保存的账号信息。

  1. 下载信息
scp -rp hermoine@192.168.56.115:/home/hermoine/.mozilla /root/test

  1. 下载提取信息的工具

Firefox Decrypt是一个从Mozilla(Firefox,Waterfox™™,Thunderbird®,SeaMonkey)配置文件中提取密码的工具。项目地址:https://github.com/unode/firefox_decrypt

总结

Vulnhub靶机:HARRYPOTTER_ NAGINI相关推荐

  1. 【Vulnhub】之Nagini

    一. 部署方法 在官网上下载靶机ova环境:https://download.vulnhub.com/harrypotter/Nagini.ova 使用VMware搭建靶机环境 攻击机使用VMware ...

  2. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  3. Vulnhub靶机系列:SecTalks: BNE0x03 - Simple

    这次的靶机是vulnhub靶机:SecTalks: BNE0x03 - Simple 文章目录 靶机地址及相关描述 靶机地址 靶机描述 Simple CTF Location Hints 靶机设置 利 ...

  4. 全网最详细的渗透测试靶机实操步骤——vulnhub靶机实战(七)IMF【包含了sql注入,文件上传,gif图片木马制作,缓冲区溢出漏洞sploit等诸多知识点的靶机,超多干货】

    靶机地址:https://www.vulnhub.com/entry/imf-1,162/ 靶机难度:中级(CTF) 靶机发布日期:2016年10月30日 靶机描述:欢迎使用" IMF&qu ...

  5. [网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.前文分享了APT攻击检测溯源与常见APT组织的攻击案例,并介绍防御措施.这篇文章将讲 ...

  6. Vulnhub靶机DC系列-DC-8

    Vulnhub靶机DC系列-DC-8 靶场名称:DC-8 靶场地址:https://www.vulnhub.com/entry/dc-8,367/ 下载地址: DC-8.zip (Size: 379 ...

  7. Vulnhub靶机:EVILBOX_ ONE(很详细)

    目录 介绍 信息收集 主机发现 主机信息探测 网站探测 目录扫描 目录扫描字典 爆破页面参数 Burpsuite爆破参数 ffuf 补充:区分文件包含与文件读取 文件包含漏洞 文件包含.任意文件读取的 ...

  8. Vulnhub靶机渗透学习——DC-9

    本文仅个人学习所做笔记,仅供参考,有不足之处请指出! vulnhub靶机 vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机进行下载,本地VM打开即可,像做游戏一样去完成渗透测试.提权. ...

  9. Vulnhub靶机Wakanda渗透测试攻略

    前言 Wakanda是一个新的交易市场网站,很快会上线了.你的目标是通过黑客技术找到"振金"的确切位置. 页首配图 本vulnhub靶机环境由xMagass开发,并托管于Vulnh ...

  10. VMware检测不到vulnhub靶机IP地址解决办法

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 vulnhub靶机检测不到IP地址解决办法 原因一:查看网络适配器是否为NAT模式 原因二:虚拟网络编辑器配置出错 原因三:靶机网卡配 ...

最新文章

  1. socket read阻塞_go tcp中的ioutil.ReadAll阻塞的问题
  2. segformer 使用笔记
  3. C#操作mysql中临时表不自动删除
  4. Oracle 数据库-服务器端字符集查看方法
  5. JS调用后台带参数的方法
  6. 虚拟机中访问连接在物理机上的摄像机(使用桥接)
  7. 佳能MP258的5200错误和P08代码解决方法及清零方法
  8. 对某产品政策性文件的解读
  9. 【中医学】9 方剂-4
  10. 戴尔t620服务器怎么进bios设置u盘启动(戴尔进入u盘启动设置)
  11. 双非上岸北大计算机,双非二战考研上岸北大汇丰经验贴
  12. 在你可以执行与打印机有关的任务(例如页面设置或打印一个文档)之前,你必须已经安装打印机。你想现在安装打印机吗?
  13. 数据的逻辑结构包括那些?
  14. SCI 论文过去时和现在时 时态的使用
  15. 手机wifi延迟测试软件,测网速延迟(如何测试wifi延迟)
  16. iOS 根据银行卡号判断银行名称
  17. 大数据以及Hadoop相关概念介绍
  18. 登录界面——渗你千千万万遍
  19. 学习UI设计需要学习哪些软件?
  20. 英国诺丁汉大学的AIMS与虚拟现实技术

热门文章

  1. Android面试专题系列(四):Activity之间如何进行通信→LiveDataBus
  2. MCU-51:单片机蜂鸣器播放孤勇者
  3. 网易2019笔试牛牛找工作Java解法
  4. EVE-NG简单入门介绍
  5. ThinkPHP的发展历程及特性
  6. Elasticsearch Indexes管理手册
  7. node.js+uni计算机毕设项目微信签到小程序(程序+小程序+LW)
  8. 首次公开,阿里技术团队编写的“大厂面试参考指南”v1.0版本
  9. 重生异界我用java打造商业帝国
  10. Eoe客户端源码分析---SlidingMenu的使用