从信息泄漏到Getshell-攻防演练

admin 2024年4月15日03:28:21评论19 views字数 2456阅读8分11秒阅读模式

0x01 前言

       在一次攻防演练打点过程中,前期先从备案查询、子域名收集、端口扫描等方式获取资产URL。最终通过自己整理的字典进行目录扫描找到利用点成功Getshell站点!文字写的有点多但是详细!

末尾可领取资源文件

0x02 信息泄露

首先是组里师傅扫目录扫到一个.env的信息泄漏,泄漏了框架、mysql数据库用户名密码、邮箱账号密码,这里不涉及到等。

从信息泄漏到Getshell-攻防演练

可以看到是laravel框架的,遂去漏洞库搜一波laravel的历史漏洞,搜到了很多,但是大多是反序列化,php的反序列化漏洞基本不考虑。

有了mysql数据库还是root,自然而然想去利用mysql写Webshell,但是可以看到DB_HOST是127.0.0.1,公网能连接的可能性很小,好巧不巧的是刚好还扫到了一个phpmyadmin直接可以登陆了:

从信息泄漏到Getshell-攻防演练

然而倒在了secure_file_priv上边,它不为空。。。

遂开始了漫长的数据库翻找工作,看看能不能找到一些有用的信息,很遗憾,除了找到一个各子域名与所用库名的对应关系的表之外,基本没什么重要的信息了,密码都是hash的,到这里就卡了一段时间。

0x03 柳暗花明

在之前的漏洞搜索中,还注意到其中有一个品相不错且操作简单的漏洞:

从信息泄漏到Getshell-攻防演练

但是看名字是个插件,并且是个后台洞,所以现在就要想办法拿下网站后台。

目前没什么其他的信息,只能去扫目录看看,然后就又扫到了一个信息泄漏(字典在星球)

从信息泄漏到Getshell-攻防演练

composer/installed.json 是Composer生成的一个文件,记录了在你的项目中安装的所有软件包及其版本信息。该文件是自动生成和维护的,我们不需要手动编辑它。

在使用Composer时,当你通过运行 composer install 或 composer update 命令安装或更新软件包时,Composer会读取 composer.json 文件中的依赖关系,并根据它们下载并安装相应的软件包。Composer会将所安装的每个软件包的详细信息写入 composer.lock 文件中,以便确保您的项目在任何时候都可以重现相同的依赖结构。同时,这些信息也会被写入到 composer/installed.json 文件中,以便您可以查看当前已安装的软件包列表和其版本信息。

这里就看到了目标确实使用了Voyager这个插件,且版本号较低,存在漏洞,越发体现出登陆后台的重要性,然后继续寻找后台

0x04 寻找后台

因为之前扫到的composer/installed.json存在多级目录,遂删掉一些路径后,发现存在目录遍历漏洞,然后就又是漫长的翻找工作。。

找了一会儿之后在/office/storage/framework/下看到了一个sessions目录,熟悉php的都知道PHPSESSID就是它下面的文件名,这里很可能可以拿到有效的PHPSESSID,但更重要的是,它里面居然巧合的存放了后台的登陆入口!!

从信息泄漏到Getshell-攻防演练

当看到public/admin的时候,后悔之前没有多扫几层。。。。这里多提一嘴因为目标系统用的是laravel框架,它的路由形式就是PATHINFO模式,以正斜杠分割开的/模块名/控制器名/方法名,而且public目录在PHP框架中还是很常见的,目录里面是一些入口文件或者静态文件,大家都这么设计。

直接向Cookie添加上PHPSESSID访问后台,发现没有登陆成功,试了几个一个有效的都没有,果然运气并不是一直存在。

从信息泄漏到Getshell-攻防演练

0x06 后台漏洞利用

然而前面已经有了mysql,还知道了各子域名与所用库名的对应关系,就是哪个域名用了哪个库。

直接给自己加一个管理员不就完事儿了,但是Laravel存放到数据库里的密码是hash过的,还不是普通的md5,所以还要自己用Laravel生成一个密码:

从信息泄漏到Getshell-攻防演练

这里调用Laravel自带的Hash::make方法生成密码hash(也有一点运气成分,开发者没有自己加东西,直接用的框架的Hash算法)

按照路由访问,得到123456的密码Hash:(这里域名是本地环境域名)

从信息泄漏到Getshell-攻防演练

然后向表中添加一条记录,并将password字段设置为上边的Hash,成功登入后台。

从信息泄漏到Getshell-攻防演练

最后照着洞打就行了

从信息泄漏到Getshell-攻防演练

直接echo写个Webshell,最终拿到站点。

0x07 总结

        平时字典的积累也很重要,很多时候惊喜总在不经意间发生,但这需要坚持不懈的努力和细心,生活亦如此。喜欢的师傅可以点赞转发支持一下谢谢!

0x08 内部星球VIP介绍-V1.3更新啦!

       如果你想学习更多渗透挖洞技术欢迎加入我们内部星球可获得内部工具字典和享受内部资源,包含网上一些付费工具。详情直接点击下方链接进入了解,需要加入的直接点击下方链接了解即可,觉得价格高的师傅可后台回复" 星球 "有优惠券名额有限先到先得!内部包含网上需付费的0day/1day漏洞库,后续资源会更丰富在加入还是低价!

👉点击了解-->>内部VIP知识星球福利介绍V1.3版本-星球介绍

结尾

免责声明

获取方法

回复“app" 获取  app渗透和app抓包教程

回复“渗透字典" 获取 一些字典已重新划分处理需要文章中的完整字典可加入星球获取,好字典不对外公开,持续整理中!)

回复“书籍" 获取 网络安全相关经典书籍电子版pdf

最后必看

文章中的案例或工具仅面向合法授权的企业安全建设行为,如您需要测试内容的可用性,请自行搭建靶机环境,勿用于非法行为。如用于其他用途,由使用者承担全部法律及连带责任,与作者和本公众号无关。本项目所有收录的poc均为漏洞的理论判断,不存在漏洞利用过程,不会对目标发起真实攻击和漏洞利用。文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用。如您在使用本工具或阅读文章的过程中存在任何非法行为,您需自行承担相应后果,我们将不承担任何法律及连带责任。本工具或文章或来源于网络,若有侵权请联系作者删除,请在24小时内删除,请勿用于商业行为,自行查验是否具有后门,切勿相信软件内的广告!

原文始发于微信公众号(渗透安全HackTwo):从信息泄漏到Getshell-攻防演练

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月15日03:28:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   从信息泄漏到Getshell-攻防演练http://cn-sec.com/archives/2658329.html

发表评论

匿名网友 填写信息