当前位置:网站首页>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
总结

边栏推荐
猜你喜欢

【Unity,C#】哨兵射线触发器模板代码

pynlpir更新license Error: unable to fetch newest license解决方案

MUI 做手机返回操作栏

Spark: Cluster Computing with Working Sets
MySQL INTERVAL 关键字指南

Arduino无线下载 Arduino USB接口无线自动下载程序

“查找附近的商铺”|Geohash+MySQL实现地理位置筛选

MySQL【数据处理的增删改】

Meeting OA project (6) --- (to-be-opened meeting, historical meeting, all meetings)

Break the limit of file locks and use storage power to help enterprises grow new momentum
随机推荐
shell 基础之函数编写
Why should model.eval() be added to the pytorch test?
MySQL可以做多台vps的双向同步吗?
行程排序(暑假每日一题 12)
MUI as a mobile phone to return to the action bar
Ranking of itineraries (summer vacation daily question 12)
MUI 做手机返回操作栏
高薪程序员&面试题精讲系列131之Eureka如何实现高可用?自我保护机制是怎么回事?
如何有效地开发 Jmix 扩展组件
软件测试谈薪技巧:同为测试人员,为什么有人5K,有人 20K?
面试必问的HashCode技术内幕
TiFlash 存储层概览
MySQL INTERVAL 关键字指南
【Unity,C#】哨兵射线触发器模板代码
Ant discloses the open source layout of core basic software technology for the first time
七夕专属博文-使用QGraphics画“红心“或“黑心“(含数学模型讲解)
【paper】Cam2BEV论文浅析
OpenCV-resize函数「建议收藏」
PHP security flaws: session hijacking, cross-site scripting, SQL injection and how to fix them
hzero-resource秒退