freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

VnlnHub Nagini
xiaopanghacker 2022-10-13 19:14:19 122317
所属地 北京

靶场搭建

靶场下载地址:https://download.vulnhub.com/harrypotter/Nagini.ova

下载下来是zip压缩文件,解压后是.ova虚拟机压缩文件直接用Vmvare导出就行

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

打开后靶机没有自动获取ip,解决办法看我这篇文章:https://www.freebuf.com/articles/network/343723.html

重启虚拟机

1665658808_6347efb8f05c74f34f164.png!small?1665658810972

靶场搭建完毕

渗透测试

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

1665658826_6347efcaa7b4f4d35eb53.png!small?1665658828780

128为kali攻击机的ip,所以146为靶机的ip

扫描靶机端口服务开放情况

1665658840_6347efd80b6da208622d5.png!small?1665658842934

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

开放了80端口,存在http服务,且中间件为Apache2.4.38

先访问一下WEB

只有一张哈利波特的图片

搜索一下铭感目录

1665658904_6347f0183118872d5072a.png!small?1665658906441

发现了一个CMS页面,使用了Joomla这个CMS

1665658914_6347f022b84e29797201e.png!small?1665658916976

1665658921_6347f0291c5a9abc3f90b.png!small?1665658923242

尝试了弱口令admin/admin123等,发现不存在弱口令

没有发现其它敏感目录了,换更大的字典看是否存在其它敏感目录或者文件

1665658933_6347f0355478fec130911.png!small?1665658935504

发现note.txt文件

1665658946_6347f0420d9e3876e43a6.png!small?1665658948358

文件说将会用HTTP3对于文件中给出的域名做进一步交流

这个给出的域名应该就是对应靶机的IP

所以我们将其加入到/etc/hosts文件中

1665658956_6347f04c8c09354c2271b.png!small?1665658958601

然后访问相应的域名,发现没办法访问

1665658966_6347f056e0d98b8e6fc08.png!small?1665658969063

使用http访问,发现和原来的网站是一样的

1665658980_6347f064c83c6442eb0c8.png!small?1665658984648

文件里面说要使用HTTP3来访问,我们现在所用的火狐浏览器是不支持HTTP3的

所以需要去安装一个支持HTTP3的应用

1665659005_6347f07d5a492eeb86dca.png!small?1665659007376

上网搜索说谷歌在Canary版本中、火狐在Nightly支持了HTTP3

但是这两个浏览器都是仅有Windows版本,没有linux版本

也使用quiche这个HTTP3官方提供的应用

安装步骤

git clone https://github.com/cloudflare/quiche
cd quiche
apt install cargo
cargo build --examples(执行这条命令可能会报错,如果报错的话执行后三条命令后在重新执行这条命令,成功执行的话后两条命令不需要执行)
apt purge rustc
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh(执行这条命令会让选择选项,选择1)
source $HOME/.cargo/env
cargo test(测试安装是否成功)

我这里安装quiche失败了,不知道什么原因,所以我只能用Windows上的支持HTTP3的火狐Nightly了

1665659036_6347f09cf10d16b1d99ca.png!small?1665659039039

下载地址:https://www.mozilla.org/en-US/firefox/107.0a1/releasenotes/

安装好后要修改Windows的hosts文件

文件位于C:\Windows\System32\drivers\etc

修改hosts文件需要修改用户权限

win+r按钮打开管理员运行输入C:\Windows\System32\drivers\etc

点开hosts属性中的安全

1665659048_6347f0a854a373a1a8d49.png!small?1665659050462

修改Users的权限加上写入和修改权限

1665659058_6347f0b23e26cbda15581.png!small?1665659060246

然后使用记事本打开文件添加新的解析记录

1665659069_6347f0bddf3d8a5898967.png!small?1665659071923

修改后测试

1665659080_6347f0c852f5aa29762ef.png!small?1665659082413

发现也不能访问

1665659091_6347f0d38edbab8ab2cb6.png!small?1665659093684

这让我不知所措了,只能去网上看其他人查看到的网页结果

1665659102_6347f0dea1e72aa56e861.png!small?1665659104895

上面说存在/internalResourceFeTcher.php这个文件

尝试去访问,发现确实存在这个文件

文件提示欢迎使用内部网络资源获取页面

1665659156_6347f114b1bb785962d14.png!small?1665659158740

尝试利用file协议访问文件

file:///etc/passwd

发现成功访问文件

1665659168_6347f120c55c2ed2a3b2a.png!small?1665659171176

再尝试利用http协议访问靶机上的web,发现也能成功访问

1665659181_6347f12d59a589d47ab4f.png!small?1665659185214

所以可以确定这里存在SSRF(服务器请求伪造)漏洞

可以利用一下协议


  • file协议: 在有回显的情况下,利用 file 协议可以读取任意文件的内容
  • dict协议:泄露安装软件版本信息,查看端口,操作内网redis服务等
  • gopher协议:gopher支持发出GET、POST请求。可以先截获get请求包和post请求包,再构造成符合gopher协议的请求。gopher协议是ssrf利用中一个最强大的协议(俗称万能协议)。可用于反弹shell
  • http/s协议:探测内网主机存活
  • tftp
  • sftp

第二个提示提示我们配置文件可以被任何人访问,所以我们去搜索一下配置文件

kali上自带专门用于这个cms探测的工具joomscan

1665659198_6347f13e5ab5e269051ac.png!small?1665659200760

1665659204_6347f1445fdeb4d4b453d.png!small?1665659206596

1665659210_6347f14a1304472b66bfb.png!small?1665659212195

探测到版本为Joomla 3.9.25,不存在漏洞,配置文件备份文件地址为/joomla/configuration.php.bak

访问下载下来

在文件中找出所有有效信息

数据库连接信息

1665659219_6347f153d962113f18c17.png!small?1665659221948

web路径

1665659228_6347f15cf3579b8215f5b.png!small?1665659231027

所以我们可以利用SSRF漏洞,使用gopher请求去构造特殊的数据包向mysql发起请求查出登录后台的账号密码

找到一款gopher协议利用工具

利用工具生成利用的exp

1665659241_6347f169b89cee512c521.png!small?1665659243924

输入exp执行(这里需要很多次尝试,才会成功)

1665659255_6347f177a7354ac309ecb.png!small?1665659257901

经过查看这些表搜索user关键字,找到一个名称为joomla_users的表

1665659265_6347f1812cda93b6455cb.png!small?1665659267339

尝试查询这个表的数据

1665659287_6347f19747bac31a4f596.png!small?1665659289536

从中找到账号和密码

1665659309_6347f1ad7bea22338e0dc.png!small?1665659311876

1665659315_6347f1b38fb8593eb3878.png!small?1665659317746

这个密码破解起来有些麻烦,所以我们直接通过执行sql语句换成自己的密码

使用MD5生成一段自己的密码

1665659327_6347f1bf4a827eeff6d8e.png!small?1665659329761

然后修改密码

修改成功后登录成功

1665659339_6347f1cb408f40317a5b3.png!small?1665659341731

进入后台后,我们找到正在使用的模板

1665659350_6347f1d6ce1c17e91d277.png!small?1665659352926

编辑模板

1665659363_6347f1e37cf4edb5e1c0a.png!small?1665659365692

上传反弹shell的马

这里我们使用kali中自带的,位于usr/share/webshells/php/php-reverse-shell.php

编辑,修改ip和端口

1665659375_6347f1ef88bb30a5d6e92.png!small?1665659377576

然后将其复制粘贴到模板文件中保存

1665659384_6347f1f84b9f3809646c3.png!small?1665659386528

开启监听,访问shell

1665659394_6347f202c3e63f9661811.png!small?1665659396852

成功反弹shell

1665659404_6347f20cd59228b30caf3.png!small?1665659406949

发现为普通网站权限,且没有python也没有nc

1665659416_6347f218e6255d1e4ddf4.png!small?1665659418995

进入家目录看有什么线索1665659426_6347f2222ccdbae202f85.png!small?1665659428191

1665659430_6347f226b8d66b7076d5f.png!small?1665659432815

再snape用户家目录下发现一个.creds.txt文件

文件中有一段base64编码

1665659443_6347f233a371d0d265c45.png!small?1665659445827

进行解码

1665659455_6347f23f7d4cfc0c55bd3.png!small?1665659457544

猜测是ssh登录的密码

尝试ssh登录,成功登录

1665659466_6347f24a6c7ceac490285.png!small?1665659468607

再进入到hermoine的家目录下,发现有一个有执行权限的文件

1665659475_6347f253ede898185e2df.png!small?1665659478211

发现开启了suid权限,所以我们可以通过这个文件来提权

1665659485_6347f25dea2b283995fb3.png!small?1665659488026

尝试执行文件,发现文件是用来复制文件的

1665659495_6347f267a70b6f77f6bad.png!small?1665659498502

所以我们可以生成一个公钥,将公钥复制到hermoine这个用户目录下,从而让我们可以ssh登录这个账号

1665659507_6347f2738105b9c86602c.png!small?1665659510072

通过scp上传ssh公钥

1665659517_6347f27d2c4e7d84a0711.png!small?1665659519233

然后将公钥上传到hermoine的家目录下的.ssh目录下

1665659526_6347f286d4efc597ebeec.png!small?1665659529159

尝试登录,登录成功

1665659536_6347f2905b061492cc097.png!small?1665659538602

在此家目录下还发现了一个.mozilla文件,这是使用火狐浏览器会出现的文件

1665659546_6347f29a9cf227598d84d.png!small?1665659548853

文件中有一个firefox文件夹,使用火狐浏览器的所有账号密码都会保存在这个文件夹下

1665659555_6347f2a36b7f11cc9c238.png!small?1665659557714

但是得出这里面的账号密码比较复杂,所以我们将这个文件先上传到kali主机上

1665659566_6347f2aeedf60324da230.png!small?1665659569210

然后利用一个从firefox浏览器中提取账号密码的工具

下载地址https://github.com/unode/firefox_decrypt

解压后进入程序目录

1665659578_6347f2bad7818f06d0c66.png!small?1665659580986

然后运行程序读取文件

1665659588_6347f2c446cecd3ca84f0.png!small?1665659590475

读取到用户名为root的账号密码,猜测是root账号ssh登录密码

尝试登录,登录成功

1665659598_6347f2ce52c5b6b3319ed.png!small?1665659600594

1665659603_6347f2d39ea3eb883a99a.png!small?1665659606124


# 渗透测试 # 网络安全 # web安全 # 系统安全 # 网络安全技术
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 xiaopanghacker 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
xiaopanghacker LV.6
这家伙太懒了,还未填写个人描述!
  • 36 文章数
  • 46 关注者
ATT&CK红队评估(红日靶场一)
2022-10-28
VnlnHub GeminiInc-Pentest-v2
2022-10-26
VnlnHub GeminiInc-Pentest
2022-10-22
文章目录