vulnhub-DC-2
导语
https://www.vulnhub.com/entry/dc-2,311/
五个flag,冲!!
步骤
靶机和kali都NAT在vmware了
在kali直接进行一个arpscan
192.168.77.141即是靶机
用nmap收集信息
可以看见开启了80端口运行http服务,开启了7744端口运行ssh服务,且http服务有提示不要去重定向到dc-2。尝试访问一哈,发现并不能成功,这是因为重定向到dc-2的时候dns无法解析,因此设置hosts,让dc-2解析向192.168.77.141
即可成功访问
提示是一个WordPress网站。
且直接给了你flag1
意思是常见密码可能不对,要用cewl
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
听劝,使用cewl来生成密码字典
cewl http://dc-2 -w passwd.txt
然后用wpscan来生成用户名字典
wpscan --url http://dc-2/ -e -u
把admin、tom和jerry存到username.txt里
用wpscan暴破
wpscan --url http://dc-2/ -U username.txt -P passwd.txt
看到两组用户名密码
jerry, adipiscing
tom, parturient
wp经典后台wp-admin登录,在page里看到flag2
提示还有一种方法,用tom和jerry还有admin来连ssh
发现tom可以登录。
寻思看看权限,发现rbash里没有whoami和id的权限。
用compgen命令看看能用什么命令
compgen -c
看到还有ls和vi命令可以用
ls看到有flag3,vi打开,得到内容
提示我们去jerry,但是我们没有cd的权限,笑嘻了,这里的知识点是绕过rbash,
法1:vi绕过rbash:
在vi命令模式下输入
:set shell=/bin/bash |
即可起一个由/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 |
然后我们跳到jerry的home,就可以看到flag4了
然后可以看到作者口嫌体正直的给了我们一个hint,用git提权
顺便看看刚才没看的自己的权限
接下来的知识点是git提权
git提权的要求是能sudo,然后我们发现tom不能sudo,换成jerry,发现jerry也不能,但是有一个提示
意思是jerry可以以root来运行git
git提权
在root的文件夹下即可看到最后一个flag
芜湖,起飞~
参考: