• Vulnhub_DC2 记录


    Vulnhub_DC2 记录

    image-20200308112453736

    经验 & 总结

    1. 字典是要不断扩充,即使针对目标做了个性化字典,也要考虑之前已经拥有的字典。
    2. 要敢于尝试,说不定哪一步就会有收获。(瞎猫碰到死耗子,这个靶机需要多次尝试切换用户,但是感觉我这回都是盲目的切换用户,并没有搜集用户信息。)
    3. 这个靶机是晚上赶时间做的,很多地方都没有过脑子,只是跟着提示一步一步向前走,并没有深入思考。

    步骤流水

    主机探测:

    image-20200307212111815

    我也不知道哪来这么多主机,一个一个试试看,因为是一个系列的,所以知道可以http访问80端口。

    用浏览器访问109,发现地址栏变成了http://dc-2,浏览器提示正在查找名叫dc-2的主机,因此需要手动修改hosts文件,将靶机地址和主机名关联起来。

    image-20200307212425060

    修改hosts文件之后就可以看到网页了(网页正文看不懂,应该是Lorem Ipsum)

    image-20200307212555461

    上边有一个明晃晃的Flag字样,点开可以看到第一个提示

    image-20200307212643925

    大概意思是:常用的字典列表不好使了,需要使用cewl一下;密码越多越好,但是你不可能得到所有的密码;登录来看看下一个提示。

    cewl没接触过,搜了一下是一个字典生成工具,能爬取指定页面生成密码字典。

    先把这个web页面放在一边,扫描一下端口看看有么有什么信息

    快速扫描之后发现只有80端口开放

    image-20200307213040627

    有些不甘心,但是也就多出来一个ssh端口

    image-20200307213154227

    很明显只能从Web页面下手

    浏览一下页面,正文是填充的文字,最后提示网站架构是WordPress,使用WordPress扫描器扫描仪一下,看看有什么信息(后来发现我这个wpscan是有问题的)

    wpscan --url http://dc-2

    扫描结果很长,但是没有特别劲爆的信息

    image-20200307214135962

    探测到版本是4.7.10,使用的是twentyseventeen 1.2主题,没有扫描到存在漏洞的插件。

    网页源码也没有什么有价值的信息。

    dirb使用默认字典进行目录扫描,得到登录页面(默认的登录页面)

    那么根据提示走,需要登录,而目前不知道用户名和密码,但是提示使用cewl制作字典

    cewl -w ./wordlist.txt http://dc-2

    image-20200307220529129

    利用msf中的auxiliary/scanner/http/wordpress_login_enum,探测存在的用户,两个绿字之后一路飙红

    image-20200307220807762

    把这个字典作为密码文件添加,可以同时探测是否可以用来登录,至此得到一个可以登录的用户

    image-20200307221439319

    这个地方是出现问题了,这里探测到的用户名不全,导致后面做不下去。

    dc2-8

    可以看到网上别人的walkthrough中能探测到两个可用账户,但是我这边msf只探测到一个,而且还是莫名其妙探测到这个账户,因为我生成的wordlist.txt中根本就没有jerry这个单词。

    image-20200307231219404

    但是密码确实是出现在wordlist中,也就是说还是要扩充自己的字典,而不是直接使用生成的。

    image-20200307231841757

    另外我的wpscan没有办法测试用户名和密码,具体原因没排查。

    使用jerry用户登录后在Pages页面中找到第二个提示。

    image-20200307221712244

    大概意思是:如果你没有办法从wordpress突入,那么需要找到另外一个入口点

    既然提到了另一个入口,有可能就是改了端口的ssh,使用tom的帐号和密码可以成功登录

    image-20200308010520758

    执行id命令报错,前面有一个-rbash的提示,尝试更换bash,同样报错

    image-20200308010630396

    应该是使用了定制的shell,试试看ls(盲目尝试,没想到竟然能用)

    image-20200308010729341

    usr目录下给出了几个二进制程序

    image-20200308010816824

    使用vi查看flag3.txt文件

    image-20200308010914279

    看看其他的文件:

    .bash_login
      export PATH=/home/tom/usr/bin
    .bash_history
      ls
      cd ../..
      exit
      ls
      cd usr
      ls
      cd usr
      ls -l usr
      ls -l usr/bin
      exit
    .bash_logout
      export PATH=/home/tom/usr/bin
    .bash_profile
      export PATH=/home/tom/usr/bin
    .bashrc
      export PATH=/home/tom/usr/bin
    .profile
      export PATH=/home/tom/usr/bin
    

    既然可以使用vi,那么尝试从vi切换到bash

    :set shell=/bin/bash:shell

    image-20200308011902651

    切换到jerry目录,看到flag4.txt

    image-20200308011958614

    大概意思是,你已经很努力了,但是这个不是最终的flag,继续使用git从这出去

    既然提到了git,那么在GTFOBins里搜搜看

    image-20200308012324422

    但是git并没有

    image-20200308012441307

    目前已经拿到了一个看起来比之前正常一些的shell了,尝试翻翻常用目录,看看有没有收获

    /usr/bin路径下找到git和sudo

    image-20200308013132313

    image-20200308013149378

    尝试使用sudo+git突破未果

    image-20200308013316891

    尝试切换到jerry用户,竟然可以(这个地方纯属歪打正着,但是这种挑战不就是要尝试嘛

    image-20200308014753198

    而且jerry用户的环境变量是正确的,可以执行sudo命令

    image-20200308014824327

    通过GTFOBins的方法,得到root权限shell

    image-20200308014926515

    按照一般的剧本,最终的flag因该在root目录下

    image-20200308015016823

    image-20200308015049574

  • 相关阅读:
    人间故事馆话题:聊聊那些被骗经历,让其他人不再被骗
    路过的风景
    路过的风景
    上海最适合拍照的旅游地点
    Java EE (11)
    五、服务器端的局域网
    P1294 高手去散步 洛谷
    堆排序【模板】
    P3383 【模板】线性筛素数 洛谷
    P1516 青蛙的约会 洛谷
  • 原文地址:https://www.cnblogs.com/ph1sh/p/12441527.html
Copyright © 2020-2023  润新知