VulnHub仿真靶机渗透之DC-2 【DC系列】


这次渗透是DC系列(VulnHub的仿真靶机)的DC-2,包含了wordpress框架漏洞、vi绕过rbash和git提权等知识。

Vulnhub 靶机实战系列:DC-2

靶机下载地址:https://www.five86.com/dc-2.html

目标:拿到5个flag

机器:kali+ dc-2

平台:vmware workstation

网络:均使用nat

1646376069005

1646376061262

找到dc-2的ip -> 192.168.124.131

1646376834079

简单信息收集:

开放端口扫描->80【http】 7744【ssh】

简单扫描一下,查看开放端口情况

1646377312408

仔细扫描,发现了网站做了域名绑定【域名绑定,他会自动跳转到dc-2上,所以我们需要在本地做个域名映射】

nmap -A 192.168.124.131 -p 1-65535

1646396333989

测试网站:

1646376888184

1646376936388

访问网站发现有跳转,但是显示失败,需要我们进行ip和域名绑定,通过hosts绑定。

windows本机和kali的hosts都绑定了ip和对应域名,方便操作。

1646377002773

kali: /etc/hosts

1646377861559

1646377044246

发现第一个flag

1646377080306

flag1提示:cewl + log in

【要使用crew,网上搜了一下它可以通过爬行网站获取关键信息创建一个密码字典。】

思路-》做密码字典暴力破解登录

通过插件指纹识别出网站是wordpress的cms博客,默认后台登录目录是 /wp-login.php

当然也可以通过

dirb http://dc-2 

来找到后台登录地址。

1646377208472

1646377391027

1646377448322

制作用户名和密码字典,爆破wordpress后台,然后进行登录 【jerry /sadipiscing tom/parturient 】

crew可以通过爬行网站获取关键信息创建一个密码字典。

1646377514325

1646378025072

cewl 192.168.124.131 -w dc2_passwd.txt

1646377920857

wordpress的一个wpscan工具非常有名

可以枚举出用户名

wpscan --url http://dc-2/ -e u

1646379903287

把三个用户名放入names.txt当中

这样用户名字典和密码字典都有了,wpscan可以进行暴力破解了。【burp也能暴力破解的,但是emm,不知道怎么为啥没成功。。所以还是用了wpscan。】

1646380656133

1646380677565

1646380690951

wpscan --url http://dc-2 -U names.txt -P dc2_passwd.txt
# -U 接用户名字典
# -P 接密码字典

1646383703229

1646383735061

找到正确的账户密码

jerry adipiscing ->登录成功

tom parturient ->登录成功

tom的登录之后啥也没有

1646385160820

jerry登录之后找到flag2

1646384074736

得到flag2

1646384096381

flag2的暗示:不攻击网站,找到另外一种办法

停止测试网站,开始测试ssh

之前测试的时候发现还有个ssh开着的端口7744,可以看看

开始从ssh着手,利用得到了两个用户名及密码尝试登录ssh,最后tom账号成功登录,jerry失败了。

1646396837859

但是得到的不是bash shell【是rbash,rbash就是受限制的bash,一般管理员会限制很多命令,例如whoami cd cat等很多常用的命令,不过肯定会有命令可以使用,echo /home/用户名/usr/bin/ 使用该命令可查看该用户可使用的命令 】,很多命令用不了。

1646384844341

rbash很多的命令都不能用,所以要

echo $PATH  # 查看环境变量 

echo /home/tom/usr/bin/* # 然后再查看当前用户可以使用的命令 【如果用户名换了,也要换:echo /home/用户名/usr/bin/*】

1646393822592

如上图:tom账号下可以使用 less ls scp vi

然后vi查看flag3.txt

1646384937943

1646384915263

这里提示我们要用Jerry的用户登录,既然可以使用vi就可以使用vi来绕过限制,首先vi创建一个文件 vi test。【其实less、ls、scp也可以试着绕过限制】

两种方式绕过rbash

方法一 使用vi绕过rabsh

Rbash是受限制的 bash,限制了bash shell的一些功能,主要用作中转服务器,或者仅使用 ssh 来进行访问的特殊bash,起到保护的作用。

1646393645228

**Shift+:**进入命令行

在命令行输以下命令

set shell=/bin/sh

1646385980336

再输入shell

1646386028603

1646386040906

进入如上界面

再输入命令

export PATH=/usr/sbin:/usr/bin:/sbin:/bin
# 修改PATH变量,增加路径。
# 我们用“export”命令将本shell中的环境变量改回正确的路径,使得shell能根据正确的PATH寻找相关命令

修改path路径之后就可以使用全部命令了

然后su jerry【利用之前得到的密码试试是否可以切换用户】就可以登录jerry用户了

1646386110874

方法二 更改环境变量绕过rbash

1646395193486

1646386840052

最后一句提示了git-》git提权【这个时候虽然拿到了jerry的权限,但是权限太低,很多命令执行不了的时候】

git提权

git提权执行前提:执行 sudo-l 【列出目前的权限,即查看当前用户可以执行的内容】 显示不需要密码可以使用git命令

1646392748314

git提权的方法:【这两个方法都可以】
sudo git help config
!/bin/bash或者!'sh'完成提权

sudo git -p help
!/bin/bash

我们本文案例配图用的是

sudo git help config ,跳到帮助页面后输入 !/bin/bash

1646392863399

1646388540255

1646388565565

提权成功,是root

1646392399882

1646393086385

1646388645165

总结:

扫描ip开放端口与服务:发现了 80端口和自定义的ssh端口7744,访问80端口但是加载不出来【因为靶机做了域名绑定,他会自动跳转到dc-2上,所以我们需要在本地做个域名映射】,然后hosts文件设置一下ip 和域名的映射。

然后访问网站,指纹识别是wordpress,找到默认登录后台【可以dirb 找后台登录地址(wordpress默认是wp-login.php,所以其实可以不用dirb扫描)】,wpscan枚举用户名 生成用户名字典 ,crew通过爬行网站获取关键信息创建一个密码字典。通过生成的用户名和密码字典wpscan爆破找到正确的密码账户【也可以通过burp、hydra、msf爆破】,就可以登录wordpress了。

接着测试ssh,通过之前找到的账户密码试一下能否通过,结果可以进去,就不用hydra爆破了,然后ssh登录了tom账号【是个受限的bash】,vi绕过rbash【通过vi拿shell的技巧很典型,需要熟练掌握!】,然后git提权【也很简单,也需要掌握】

参考链接:

DC系列——DC-2靶机渗透测试 【wgpsec狼组安全团队】

Vulnhub 靶机实战系列:DC -2 【雷神众测】

https://cloud.tencent.com/developer/article/1472722 【VulnHub靶机渗透之DC:2】

https://www.cnblogs.com/HelloCTF/p/12803808.html 【靶机DC-2 rbash绕过+git提权】


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