渗透实战 | 迂回获取目标数据

admin 2022年1月9日16:37:17安全文章评论20 views1525字阅读5分5秒阅读模式

渗透实战 | 迂回获取目标数据

0x00 前言

好久没写实战了,今天给大家分享一下很久以前做过的项目。已知a系统的url,目标是拿到系统的和运营人员的身份信息。


0x01 日志泄露

首先观察系统的url:http://www.a.com/public,一看到这种带public的,就知道多半是没按照文档要求配根目录的thinkphp框架,这种一般会有日志泄露的漏洞。

直接访问:
http://www.a.com/data/runtime/Logs/Admin/21_01_09.log
就能下载对应日期的日志了,Logs后面的Admin是模块名,需要猜一下。

在日志中找到了后台的路径:
http://www.a.com/index.php?g=admin&m=public&a=dologin
还有管理员密码的hash值,一共有三个不同的hash值。

hash值前面有三个#符号,这个我熟啊,thinkcmf框架的密码加密规则,我做的第一个项目的目标就用的这个:
渗透实战 | 记录我的第一次


0x02 跑彩虹表

thinkcmf是thinkphp二开的框架,密码的加密规则是

###md5(md5(salt.pass))

cmd5没有收录。


知道了加密规则,虽然不知道salt是多少,但是thinkcmf其实默认有一个自带的salt,而且一般的开发都不会改这里。

写了个python脚本,套上top400w的字典,用默认的salt开始跑彩虹表,最后三个hash值撞出了两个。

日志里没有泄露用户名,不过我随手拿admin一试其中一个密码,就进去了。


0x03 转移目标

在a后台尝试用thinkcmf的已知漏洞getshell失败,似乎是修复了。只能老老实实找上传点。

找到上传点发现是上传到oss上的,不过后台有相关配置可以修改成上传到服务器本地。修改之后发现上传点还有后缀白名单过滤,最终没能绕过。

getshell失败了,但是发现oss用的域名是一个新域名,对该域名进行信息收集,发现git子域名,访问是gitlab。可以注册账号进去,拖回源码。

在源码中发现他们另外的一个系统,配置文件中找到后台的路径:http://www.b.com/admin

看过了他们的所有源码,从配置文件里收集密码整理成一份密码表,然后拿去爆破b.com的后台,用户名还是admin,其中一个密码复用成功。


0x04 越权撞库

进去之后发现只是普通管理员权限,能看的东西不多,不过在修改密码功能处可以通过修改url里的id值越权到其他管理员,能看到管理员的基本信息并且修改他的密码。

于是修改了id=1的管理员密码,用这个账号登录,发现是超级管理员权限。

这个权限能看到用户列表了,列表里能看到用户的邮箱和明文密码。

猜想较为靠前的用户可能是他们的内部人员测试时留下的。于是找了最前面一页的用户,逐个尝试复用他们的密码去撞库他们的邮箱,最终成功登录了一个。

进邮箱发现果然是系统的开发人员,翻看邮件寻找有没有最初的目标a系统的相关信息,成果丰富,最终获得a系统的测试服务器的ip地址和root密码以及程序文档

虽然只是测试服务器,但登录后发现上面居然有正式服务器的数据备份

至此数据拿到了,身份的话可以用测试服务器水坑钓鱼,或者直接去正式的a后台那里挖个xss。不过后面交给客户一个邮箱也说够用了,就没继续做了。


0x05 后记

渗透实战 | 迂回获取目标数据
VX公众号:《小黑的安全笔记》
项目全流程:
thinkcmf日志泄露——跑彩虹表——发现新域名——git子域名——注册账号——发现新系统——整理密码表——爆破后台——越权修改密码——撞库邮箱——获取测试服务器权限——交付数据备份和邮箱。
END.


喵,点个赞再走吧~

原文始发于微信公众号(小黑的安全笔记):渗透实战 | 迂回获取目标数据

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月9日16:37:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  渗透实战 | 迂回获取目标数据 http://cn-sec.com/archives/729141.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: