zoukankan      html  css  js  c++  java
  • 萌新教程丨VulnHubDC系列之DC1靶机渗透测试

    Vulnhub是一个提供各种漏洞的靶机网站,特别适合萌新进行渗透测试演练。接下来笔者将通过图文结合的方式对于Vulnhub的DC系列九个靶机做出详解,不仅要完成靶机作者所布置的任务,还会发散思路用不同的方法寻求突破!

     

    注:今天的文章是 i 春秋论坛作者小鲜略略略表哥发布的文章,公众号旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。

    靶机配置及说明

    靶机下载地址:

    https://www.vulnhub.com/entry/dc-1,292/

    靶机:DC1 (VirtualBox) IP:192.168.1.13

    攻击机:Kali(VMware ) IP:192.168.1.10

    特别说明:每个靶机作者都对靶机做了详细的描述以及攻击目标,比如DC1就需要找到5个flag,最终目标是在root的主目录中找到并读取该标志!

    通过每个flag所获得知识点

    1、msf的熟练使用以及搜索可利用漏洞(Drupal);

    2、留意目标网站的配置文件(慢慢查看别错过重要信息);

    3、数据库管理员提权(更新管理员密码或者添加一个新用户);

    4、suid提权的命令(nmap、vim、find、bash、more、less、nano、cp)。

    进入正文

    开始之前让我们先来看看靶机与攻击机的配置,两者均是桥接模式(建议靶机和kali都保存快照,以便不时之需)。

    靶机配置

     

     靶机正常运行

     

     kali配置

    下面我们一步一步来,首先查看Kali的ip得到192.168.1.10。

     

    nmap探路,查看靶机IP得到192.168.1.13。

     

    继续nmap嗅探其他相关靶机其余信息,发现开放22/80。

     

    那我们就先访问80端口Web界面,通过插件看到CMS是Drupal 7。

     

    那我们继续查看robots.txt,看看是否有利用的信息:

     

    我们并没有得到有用的信息,只是找到了几个没啥用的页面,那我们继续扫描一下目录。

     

    扫描依旧也没有什么结果,那我们换个思路,利用msf寻找一下是否有可用的漏洞。

     

    这里我们可以依次利用一下,看看哪个模块可以成功来利用,我使用第四个Drupalgeddon2漏洞(CVE-2018-7600)。

    Drupal系统没有对表单API接口的AJAX请求输入进行充分的检查,这就使得攻击者能够向内部表单结构中注入一个恶意的载荷,将导致Drupal系统在未进行用户认证的情况下执行这个载荷。通过利用这个漏洞,一个攻击者能够接管任何Drupal系统用户的整个站点。

     

    这里我们只需要设置靶机的IP就可以执行exploit。

     

    我们可以看到打开session连接到靶机,接下来我们继续反弹一个交互的shell。

     

    我们可以看到自己当前的权限以及所在路径,那我们ls查看一下其他文件。

     

    我们顺利拿到第一个flag,同时也拿到了提示信息(寻找配置信息百度即可知道默认配置信息位置),这里最好用more查看不至于落掉重要信息。

     

    我们顺利拿到了数据库的一些关键信息(数据库名、登录名、密码),那我们顺着线索继续登录数据库。

     

    继续查看数据库信息,寻找关键线索flag3

     

     

    到此,我们看到了flag3到底在哪里了(uid为1的用户是不受Drupal权限管制的,具有最高权限。)现在我们有两个思路:

    • 我们重置管理员的密码

    使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下,使用加密脚本加密新密码666666,生成加密密文,然后登录系统查看flag3。

     

    得到666666的hash值,接下来我们需要重置管理员的密码为666666,还是得进入数据库直接更新密码。

     

    那我们用admin 666666尝试登录查看flag3:

     

    我们在content查找到flag3。

     

    • 添加一个管理员权限的用户

    这里需要我们查看一下靶机的版本,然后看一下有没有适用的脚本去添加用户,首先我们查看一下靶机版本:

     

    得到版本号为7.24,继续搜索Druapl可利用的脚本。

     

    我们发现只要小于7.31即可利用:

     

    那我们使用user user 尝试登录:

     

    成功登录,同样查看flag3信息。

     

    到此,我们成功利用两种不同思路得到了flag3的信息,得到几个关键线索。

    (FIND the passwd、need to -exec that command、in the shadow),那我们就按照线索提示寻找这个密码。

     

    很明显flag4在/home/flag4目录下:

     

    顺利得到flag4,同时根据提示(你可以用相同的方法在root目录下)找到最终flag。

    思路1:根据提示,想到suid提权。

    那么我们查找一下具有root权限的其他命令,以下几条均可查询:

    find / -user root -perm -4000 -print 2>/dev/null

    find / -perm -u=s -type f 2>/dev/null

    find / -user root -perm -4000 -exec ls -ldb { }

     

    发现find命令本身就是root权限,那我们查看一下:

     

    那我们利用find提权。

     

    思路2:既然所有通过find执行的命令都是root权限,那我们利用netcat,可以将它提权为root 权限,首先我们创建一个文件。

     

    继续利用find将netcat提权为root权限。

     

    同样的也获得最终flag!

  • 相关阅读:
    在家工作,10招助你效率、生活两不误
    SQL Server智能感知如何更新
    博客园文章《我记录,故我在》读后感
    Python 协程
    Python 用多线程上传和下载文件
    Python 变量交换
    Python 将文件重新命名
    Python ftplib模块
    Python ftplib模块
    Python 函数作为返回值
  • 原文地址:https://www.cnblogs.com/ichunqiu/p/12752722.html
Copyright © 2011-2022 走看看