今天给大家分享一个小技巧:在站库分离场景下,如何在已有数据库权限时定位使用该数据库的应用系统的ip地址等信息。
站库分离场景下,有时我们会先拿到数据库的权限。在数据库中看数据虽然全面,但往往不如从后台看的直观。这时我们可以通过反查连接的方式定位后台服务器的ip地址,便于我们的后续工作。
或者另一个场景时,我们只拿到了一个系统和对应的数据库,然后发现数据库还有其他重要系统在用,这时可以通过反查连接的方式定位其他的重要系统位置,便于我们后续渗透。
数据库一般会有查看当前有哪些客户端正在连接的功能,使用这个功能即可定位客户端的位置。这里以mysql举例:
如图可见,这条命令可以查出当前有客户端在使用哪个用户(User)、访问哪个库(db)、来自哪个ip地址和端口(Host)、执行了什么命令等信息。
如果连接数过多,要根据user或db进一步筛选,建议使用完整的命令:
select * from information_schema.processlist;
这条命令和上面的是一样的效果,不过可以在后面拼接where子句做条件筛选。
1、命令只能查看当前连接情况,客户端系统在无人使用时不会和数据库保持长时间的连接,所以尽量挑人多的时候、多查几次,才能最大限度的避免遗漏。
2、注意排除我们自己连接数据库使用的ip地址,有时也会查到正在使用数据库的目标运维人员的ip地址,要注意根据经验或其他信息判断一下。
3、该命令执行时会对数据库性能有些许影响,手动查还好,如果写脚本自动查的话要注意频率,小心别被目标运维发现。
上面只举例了mysql,其他数据库也有这种查看客户端连接信息的功能,如postgresql的pg_stat_activity表,redis的client list命令等等,因为作者比较懒,这里就不搭环境给大家演示了。
实战中遇到什么数据库不知道怎么查的话,就去搜索:“xxx数据库 查询客户端连接信息”即可。
其实算是一个内网信息收集的小技巧吧,针对那种不图快只图稳的项目,可以用这种信息收集的方式定位目标,从而避免一上来就大规模扫网段导致被发现的风险。
喵,点个赞再走吧~
原文始发于微信公众号(小黑的安全笔记):数据库反查连接获取应用信息
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
点赞
https://cn-sec.com/archives/1040960.html
复制链接
复制链接
-
左青龙
- 微信扫一扫
-
-
右白虎
- 微信扫一扫
-
评论