导语

https://www.vulnhub.com/entry/dc-2,311/

五个flag,冲!!

步骤

靶机和kali都NAT在vmware了

在kali直接进行一个arpscan

img

192.168.77.141即是靶机

用nmap收集信息

img

可以看见开启了80端口运行http服务,开启了7744端口运行ssh服务,且http服务有提示不要去重定向到dc-2。尝试访问一哈,发现并不能成功,这是因为重定向到dc-2的时候dns无法解析,因此设置hosts,让dc-2解析向192.168.77.141

img

img

即可成功访问

img

提示是一个WordPress网站。

且直接给了你flag1

img

意思是常见密码可能不对,要用cewl

Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。

听劝,使用cewl来生成密码字典

cewl http://dc-2 -w passwd.txt

img

然后用wpscan来生成用户名字典

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

img

把admin、tom和jerry存到username.txt里

用wpscan暴破

wpscan --url http://dc-2/ -U username.txt -P passwd.txt

img

看到两组用户名密码

jerry, adipiscing

tom, parturient

wp经典后台wp-admin登录,在page里看到flag2

img

提示还有一种方法,用tom和jerry还有admin来连ssh

发现tom可以登录。

img

寻思看看权限,发现rbash里没有whoami和id的权限。

img

用compgen命令看看能用什么命令

compgen -c

img

看到还有ls和vi命令可以用

img

ls看到有flag3,vi打开,得到内容

img

提示我们去jerry,但是我们没有cd的权限,笑嘻了,这里的知识点是绕过rbash,

法1:vi绕过rbash:

在vi命令模式下输入

:set shell=/bin/bash
:shell

即可起一个由/bin/bash的终端

法2:

BASH_CMDS[a]=/bin/sh;a

相当于两步,第一步吧/bin/sh赋给BASH_CMDS[a],然后a,就相当于执行了/bin/sh

BASH_CMDS是一个内部命令的哈希表可以参考这个文档这个文档,我的理解是当我们输入.的时候,他就会根据这个key去找BASH_CMDS的内容,这个内容就是当前上下文,所以我们在bash里输入.就相当于在当前位置。而我们设置了a是/bin/sh,再执行a就相当于执行了/bin/sh

反正完事以后要export那些/bin,这样就能执行那些命令了

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

然后我们跳到jerry的home,就可以看到flag4了

img

然后可以看到作者口嫌体正直的给了我们一个hint,用git提权

顺便看看刚才没看的自己的权限

img

接下来的知识点是git提权

git提权的要求是能sudo,然后我们发现tom不能sudo,换成jerry,发现jerry也不能,但是有一个提示

img

意思是jerry可以以root来运行git

git提权

https://gtfobins.github.io/

img

在root的文件夹下即可看到最后一个flag

img

芜湖,起飞~

参考:

https://blog.csdn.net/a310034188/article/details/121624538