zoukankan      html  css  js  c++  java
  • vulnhub靶场 之 DC -1

    靶机介绍:

    DC系列的靶机是一个专门构建的易受攻击的实验室,总共有九个!目的是获得渗透测试领域的经验。它的设计初学者是一个挑战,但是它的难易程度取决于您的技能和知识以及学习能力。要成功完成此挑战,您需要具备Linux技能,熟悉Linux命令行以及具有基本渗透测试工具的经验,例如可以在Kali Linux或Parrot Security OS上找到的工具。有多种获得根的方法,但是,我包括了一些标志,这些标志包含了初学者的线索。总共有五个Flag,但是最终目标是在root的主目录中找到并读取该标志。您甚至不需要成为root用户即可执行此操作,但是,您将需要root特权。根据您的技能水平,您可能可以跳过查找大多数这些标志并直接获得root资格。

    渗透过程:

    工具kali

    打开DC -1 靶机后需要登陆,这里我们是不知道账号密码的,要通过其他方法找flag。

    用netdicover 去探测局域网里的存活的ip

    我的dc时用vmware开的,这里就是他了。

     或者这里用namp探测

    接下来对这个ip扫一通 nmap -A 192.168.5.44

     整理一下:

    端口:

    1)22/ssh :可以尝试暴力破解

    2)80/http: 有web端

                      中间件:apache 2.2.22

                      cms:drupal(php的cms)

    3)111

    目前的思路:

    1)尝试ssh

    2)尝试查找该cms的漏洞并利用

    这里先尝试思路2,一般我都把爆破放在最后,感觉这是没有办法的选择

    用msf搜一下

    msfconsole

    searche Drupal

     尝试最新的那个进行攻击

     

     成功了!!拿到会话!

    输入shell计入session

    接着要用python模拟一个终端

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

    接下来开始提权之路:

     ls看一看目录

    找到flag1.txt 

     翻译了一下,”每个好的cms都需要配置文件“,所以我们去找一找他的配置文件,这里去百度一下

    在 /sites/default/ 里面的settings.php 拿到第二个flag

     翻译过来大概就是,

    暴力破解不是唯一的方式,你能用这个配置文件做什么?

    这个文件里得到mysql的账号和密码,拿去登陆一下

     接下来对查询表里的数据,这里想到去查查账号密码然后去网站后台登陆看一看

     看到admin和加密过后的密码,这里得密码采用了drupal独特的加密方式,我想验证的时候也是吧,这里直接尝试改密 

    可参考这篇文章 :https://www.isfirst.net/drupal/drupal-reset-password

    那么  只要我们用已知的加密后的字符串去替换然后去登陆就行了,这里就采用文章里的123456

    update drupaldb.users set pass='$S$DRIG34Wb.GK3EKVBYBYN6rO.uyMkf1re4u8f/FjDRmGBRY30x3S4' where name='admin';

     然后去登陆web端,找到flag3

     

     提示用exec,但不知道有什么用,我们回到kali,去看看passwd目录

     找到flag4,在home目录下,去康康

    提示说,在根目录下也有flag,要我们用同样的方式去查看,所以接下来要提权去看/ root 下的flag

    这里说一个知识点,当

     是 $ 时候,表名普通用户,是#表明是root用户,根用户

    这里用到find 提权  ----https://man.linuxde.net/find

     ------- find命令是在指定目录下查找文件,并返回查找到的子目录和全部文件。

                   有意思的是fand命令有一下这两个选项

                 -exec<执行指令>:假设find指令的回传值为True,就执行该指令;// 如果执行指令是由root执行,那我们补就相当于拥有了root权限

                 -ok<执行指令>:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;

                 -true:将find指令的回传值皆设为True;

    所以我们只要在目录下创建一个文件,然后再find,这样他返回就回ture再执行命令,或者直接再后面添加 -ture选项

    注意这里我们去tmp目录下创建文件,因为tmp是存放临时文件,所有用户组都有权限,

     接下来用find命令查看权限  find test -exec "whoami" ;

    这个是root权限执行,所以用root创建一个终端

    注意看,$变成了#,成功获得了root权限,接下来去拿flag

     小结:

    1)还是挺难的,虽然这是对新手,但是对我来说,提权真的是很新很新的知识,以前一直都是接触web端的漏洞,学到了很多。

    2)还有,当有时候,还是尽量谷歌,不要百度,比如今天我寻找find命令选项和参数时,百度了很久没有找到满意的答案,结果谷歌第一项就看到了我想要的东西。

    3)最近都去关注了视频学习,只有尽量要两天一更。

    4)yywan

  • 相关阅读:
    useState 的介绍和多状态声明(二)
    PHP:相对于C#,PHP中的个性化语法
    PHP:IIS下的PHP开发环境搭建
    PHP:同一件事,有太多的方式
    Javascript:再论Javascript的单线程机制 之 DOM渲染时机
    Javascript:拦截所有AJAX调用,重点处理服务器异常
    DDD:谈谈数据模型、领域模型、视图模型和命令模型
    .NET:再论异常处理,一个真实的故事
    Javascript:由 “鸭子类型” 得出来的推论
    Workflow:采用坐标变换(移动和旋转)画箭头
  • 原文地址:https://www.cnblogs.com/tlbjiayou/p/12403834.html
Copyright © 2011-2022 走看看