当前位置:网站首页>Vulnhub靶机:HARRYPOTTER_ NAGINI
Vulnhub靶机:HARRYPOTTER_ NAGINI
2022-08-01 16:20:00 【lainwith】
目录
介绍
系列: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个加强版文件扫描:
- 从字典上来说,前者有字典87664行,后者有字典220560行
- 从速度上来说,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 扫描看看
- 直接扫描:
joomscan -u "http://192.168.56.115",只发现了joomla后台 - 指定路扫描:
joomscan -u "http://192.168.56.115/joomla"
发现了一个备份的配置文件
下载备份文件,发现在靶机存在一个名为“joomla”的mysql数据库。
发现SSRF漏洞
打开敏感页面internalResourceFeTcher.php后,有个框框,直接填写个内容。观察到浏览器url栏中,赫然写着url=123,而网页上写着“欢迎来到内部网络资源获取页面 ”,能通过web方式访问到内网资源的,就是SSRF啊。
检查一下,确认存在SSRF漏洞
关于SSRF漏扫的补充
我花了点时间研究了下能检测SSRF的工具,结果是很失望。
- burpsuite插件ssrf-king
这是一个被动检测SSRF的插件,在我已经明确验证SSRF的前提下,插件没有发现SSRF漏洞
- burpsuite插件Burp Bounty Pro
手工指定“Burp Bounty Pro”插件以GET方法扫描指定页面有无SSRF,发现了SSRF漏洞
- burpsuite插件J2EE
J2EEScan是一款可以用来被动扫描基于java开发的web程序,这里很意外,让BurpSuite直接扫描此页面,J2EEScan竟然发现了疑似SSRF漏洞,SSRF-King继续保持了沉默
- 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数据流
利用要点(未验证):
- PHP版本大于等于5.3
- PHP.ini开启了php_curl
- gopher没有默认端口,需要指定:gopher://127.0.0.1:80
- 在传送GET或POST数据时需要经过二次URl编码
- url编码时回车换行需要使用%0d%0a替换%0a
- POST中的&也需要url编码。
利用方式:
- 利用SSRF进行内网渗透
- gopher协议反弹shell
- 超级经典的redis写入webshell
1. 验证Gopher协议
访问80端口没反应,仔细看的话,会注意到浏览器一直在加载,测试效果不明显,但是换成22端口立马出现结果了。这都证明了可以利用Gopher协议

2. 确认数据库
上面通过joomscan扫描发现了敏感文件,得知靶场有mysql数据库,确认一下,发现网站又开始加载了,说明数据库端口没问题。如果输入正确的连接数据库的命令,理论上我们是可以看到连接结果的。手工构造命令是不可能的,直接上工具。
3. 利用工具
- 安装与介绍
工具的使用相当简单,只需要输入一个参数即可。
- 查询表中所有列

经过数十次的尝试,终于查询出结果了。【需要多次尝试】
通过搜索,定位出符合期待的一个表
- 查询表中所有数据

依然是经过多次尝试后成功查询出数据,根据对比,能找到 site_admin 用户的密码,但是破解很难,不如更新用户密码来得简单。
- 更新用户密码
设置密码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解码后发现是[email protected],然后就SSH登录了。
敏感文件-SSH偷梁换柱
经过一番简单搜索,发现 hermoine 用户的家目录里面存在一个具有suid权限的文件:su_cp,那么思路就来了,在kali下生成SSH公钥密码对,然后把公钥拷贝到 hermoine 用户的 ssh 目录下,那么我就可以在kali上用私钥以 hermoine 的身份SSH连接到靶机了
- 在kali下生成SSH公钥密码对,并投递到靶机上

- 把公钥丢到 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

- ssh免密连接

flag2

提权-firefox密码泄露
在 hermoine 用户家里发现了隐藏目录mozilla,一般来说,这个目录里面包含有火狐浏览器的扩展、用户信息,以及保存到账号密码。我计划把这些内容全部复制到kali上,然后在kali上面安装工具,来提取浏览器中保存的账号信息。
- 下载信息
scp -rp [email protected]:/home/hermoine/.mozilla /root/test

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

边栏推荐
- mysql源码分析——聚簇索引
- 商业智能BI业务分析思维:供应链分析 - 什么是牛鞭效应(一)
- 【paper】Cam2BEV论文浅析
- 未来小间距竞争的着力点在哪里
- mysql 面试题
- 【Unity,C#】哨兵点位循迹模板代码
- 实习日报-2022-7-29
- Zhaoqi Science and Technology Innovation Platform attracts talents and attracts talents, and attracts high-level talents at home and abroad
- 五分钟带你上手ShardingJDBC实现MySQL分库分表
- flink -redis sink 可以sink 到集群吗?
猜你喜欢

5年测试,只会功能要求17K,功能测试都敢要求这么高薪资了?

2.8K 120Hz触控双屏加持 灵耀X 双屏Pro 2022让办公无惧想象

27英寸横置大屏+实体按键,全新探险者才是安全而合理的做法

未来小间距竞争的着力点在哪里

gconf/dconf实战编程(2)利用gconf库读写配置实战以及诸多配套工具演示

暑气渐敛,8月让我们开源一夏!

2.8K 120Hz touch dual-screen blessing Lingyao X dual-screen Pro 2022 makes the office without fear of imagination

"Find nearby shops" | Geohash+MySQL realizes geographic location filtering

MUI 做手机返回操作栏

uwsgi配置文件启动
随机推荐
MySQL查询上的问题
Spark: Cluster Computing with Working Sets
如何防止重复下单?
ECCV 2022 | Poseur:你以为我是姿态估计,其实是目标检测哒
js邯郸市地图网页源码下载
kubelet节点压力驱逐
向mysql 传数据 这个字符串长度有限制么
27英寸横置大屏+实体按键,全新探险者才是安全而合理的做法!
Arduino无线下载 Arduino USB接口无线自动下载程序
兆骑科创科创赛事平台,创业赛事活动路演,线上直播路演
七夕到了——属于程序员的浪漫
测试技术|白盒测试以及代码覆盖率实践
【Unity,C#】哨兵点位循迹模板代码
Kubernetes 进阶训练营 控制器
计算机系统与网络安全技术——第一章——信息安全概述——1.1-网络安全定义——什么是信息?
MySQL data processing of authorization 】 【
高薪程序员&面试题精讲系列131之Eureka如何实现高可用?自我保护机制是怎么回事?
聊下自己转型测试开发的历程
全网最全音视频媒体流
PHP 安全漏洞:会话劫持、跨站点脚本、SQL 注入以及如何修复它们