vulnhub-DC2渗透测试


vulnhub-DC2


flag1:


首先先看ip:ifconfig

nmap扫描网段,找到靶机:

对靶机就行扫描:

直接访问ip发现无法访问,查了下需要添加域名解析打开/etc/hosts文件,添加192.168.201.153 dc-2:

/etc/init.d/networking restart重启服务

再次访问发现可以访问了:

并且可以直接找到flag1:

flag2:


它提示说需要用到cewl工具:

  • cewl是一个密码字典生成工具。它是一个用ruby编写的应用程序,可以抓取指定的URL,到指定的深度,然后返回单词列表。这个单词列表可以作为密码字典,用于密码破解
    cewl dc-2 -w pwds.txt将网站首页下的关键词生成密码字典,并在当前目录创建并保存pwds.txt文件
    wpscan --url dc-2 -e u可以查看网站用户,我们将得到的结果保存到user.txt
    wpscan --url http://dc-2/ -U user.txt -P pwds.txt如图爆破出账号密码:

    用disearch工具进行扫描,可以扫到它的后台登入界面:

    用Jerry账号登入:

    而后我们可以查找到flag2:

flag3:


rbash逃逸

它提醒除了爆破,我们还有另外一种方法可以用,这时联想到前面端口扫描得到的7744端口可以用ssh进行远程链接,之前没有用到tom账号,于是这次用tom去链接:

ls看一下目录内容,发现有flag3.txt文件,可是由于rbash限制了权限,不能用cat命令。
用以下命令绕过:

  • BASH_CMDS[a]=/bin/sh;a 注:把/bin/bash给a变量`
  • export PATH=$PATH:/bin/ 注:将/bin 作为PATH环境变量导出
  • export PATH=$PATH:/usr/bin 注:将/usr/bin作为PATH环境变量导出

linux的环境变量理解

意思是在使用命令时,会扩展了rbash能够运行的命令的范围,因为你现在可以在/bin/和/usr/bin目录中找到并执行更多的命令。
而Linux的PATH环境变量是一个由冒号分隔的目录列表,这些目录将被Shell用于查找可执行命令。当您在终端输入一个命令时,Shell会在这些目录中搜索可执行文件来执行该命令
至于为什么要创建环境变量,是因为当前的环境变量为/home/tom/usr/bin,所以shell被限制了,而此方法就是通过创建一个新的环境变量,然后重新添加新的变量值,即可绕过
这时在使用cat命令就可以读取flag3.txt文件

这里还可以通过vi命令读取:

flag4:


根据提示,我们要切换Jerry账户,并且可以在Jerry的文件下找到flag4文件:

thefinalflag:


git提权


  • 原理:git存在缓冲区溢出漏洞,在使用sudo git -p help时,即可提权(暂时不知道原理,只知道可能是这个漏洞,懂了在来补)

根据提示用git提权,在这之前假如没有提示,我们可以通过sudo -l来查看哪些命令具有root权限:

  • sudo -l命令用于列出当前用户可执行与无法执行的指令。这个命令将显示用户可以以root权限运行的命令列表。实际上,这个命令是查看/etc/sudoers文件中配置的,该文件记录了哪些用户可以运行哪些命令。


输入!/bin/bash回车即可发现已经提权root权限:


文章作者: 矢坕
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 矢坕 !
  目录